@colijnit/transaction 12.1.31 → 12.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/bundles/colijnit-transaction.umd.js +3551 -2207
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +246 -238
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +247 -239
  6. package/esm2015/lib/assets/dictionary/text.properties.js +13 -1
  7. package/esm2015/lib/cache/cache-field.js +75 -0
  8. package/esm2015/lib/cache/parameter-cache-field.js +54 -0
  9. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +150 -0
  10. package/esm2015/lib/cache/service/select-multiple-cache.service.js +38 -0
  11. package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +47 -0
  12. package/esm2015/lib/cache/service/select-single-cache.service.js +30 -0
  13. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +2 -2
  14. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +3 -3
  15. package/esm2015/lib/component/core/base/transaction-header-base.component.js +58 -0
  16. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +35 -0
  17. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.js +28 -0
  18. package/esm2015/lib/component/payment/payment.component.js +2 -2
  19. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +2 -2
  20. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +2 -2
  21. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.module.js +4 -2
  22. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +17 -5
  23. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +17 -8
  24. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +7 -1
  25. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +3 -3
  26. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +30 -16
  27. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +3 -3
  28. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-date.component.js +3 -3
  29. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +3 -3
  30. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options.component.js +3 -3
  31. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.js +3 -3
  32. package/esm2015/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.js +3 -3
  33. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +19 -10
  34. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +3 -3
  35. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +3 -3
  36. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +3 -3
  37. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +3 -3
  38. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +3 -3
  39. package/esm2015/lib/component/transaction-line/transaction-line.component.js +29 -11
  40. package/esm2015/lib/component/transaction-line/transaction-line.module.js +4 -2
  41. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +35 -12
  42. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.module.js +4 -3
  43. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +4 -1
  44. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +4 -3
  45. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +14 -1
  46. package/esm2015/lib/enum/icon.enum.js +6 -2
  47. package/esm2015/lib/model/icon-svg.js +6 -2
  48. package/esm2015/lib/service/article-connector.service.js +24 -29
  49. package/esm2015/lib/service/article.service.js +8 -4
  50. package/esm2015/lib/service/error.service.js +33 -0
  51. package/esm2015/lib/service/payment.service.js +20 -13
  52. package/esm2015/lib/service/pending-reason.service.js +3 -2
  53. package/esm2015/lib/service/transaction-connector-adapter.service.js +1388 -0
  54. package/esm2015/lib/service/transaction-connector.service.js +163 -1067
  55. package/esm2015/lib/service/transaction-mapping.service.js +2 -2
  56. package/esm2015/lib/service/transaction.service.js +8 -4
  57. package/fesm2015/colijnit-transaction.js +2188 -1152
  58. package/fesm2015/colijnit-transaction.js.map +1 -1
  59. package/lib/cache/cache-field.d.ts +25 -0
  60. package/lib/cache/parameter-cache-field.d.ts +11 -0
  61. package/lib/cache/service/business-object-cache-manager.service.d.ts +57 -0
  62. package/lib/cache/service/select-multiple-cache.service.d.ts +15 -0
  63. package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +19 -0
  64. package/lib/cache/service/select-single-cache.service.d.ts +11 -0
  65. package/lib/component/core/base/transaction-header-base.component.d.ts +28 -0
  66. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.d.ts +4 -0
  67. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.module.d.ts +2 -0
  68. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +19 -0
  69. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_material-definition.scss +0 -0
  70. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_theme.scss +4 -0
  71. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/material.scss +5 -0
  72. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +19 -0
  73. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_material-definition.scss +0 -0
  74. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_theme.scss +4 -0
  75. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/material.scss +5 -0
  76. package/lib/component/relation/relation-contact-details/style/_layout.scss +11 -0
  77. package/lib/component/relation/relation-contact-details/style/_material-definition.scss +2 -0
  78. package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +3 -2
  79. package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +4 -2
  80. package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +3 -1
  81. package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +3 -0
  82. package/lib/component/transaction-header/transaction-header-relation/style/material.scss +1 -0
  83. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +2 -2
  84. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +4 -9
  85. package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +2 -2
  86. package/lib/component/transaction-header-fields/transaction-header-delivery-date.component.d.ts +2 -2
  87. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +2 -2
  88. package/lib/component/transaction-header-fields/transaction-header-delivery-options.component.d.ts +2 -2
  89. package/lib/component/transaction-header-fields/transaction-header-downpayment-amount.component.d.ts +2 -2
  90. package/lib/component/transaction-header-fields/transaction-header-downpayment-percentage.component.d.ts +2 -2
  91. package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +2 -8
  92. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +2 -2
  93. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +2 -2
  94. package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +2 -2
  95. package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +2 -2
  96. package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +2 -2
  97. package/lib/component/transaction-line/style/_layout.scss +20 -5
  98. package/lib/component/transaction-line/style/_material-definition.scss +8 -0
  99. package/lib/component/transaction-line/style/_theme.scss +2 -1
  100. package/lib/component/transaction-line/style/material.scss +1 -0
  101. package/lib/component/transaction-line/transaction-line.component.d.ts +2 -0
  102. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +6 -2
  103. package/lib/component/transaction-lines/style/_layout.scss +16 -3
  104. package/lib/enum/icon.enum.d.ts +5 -1
  105. package/lib/service/article-connector.service.d.ts +1 -3
  106. package/lib/service/article.service.d.ts +3 -1
  107. package/lib/service/error.service.d.ts +8 -0
  108. package/lib/service/payment.service.d.ts +5 -3
  109. package/lib/service/pending-reason.service.d.ts +2 -1
  110. package/lib/service/transaction-connector-adapter.service.d.ts +152 -0
  111. package/lib/service/transaction-connector.service.d.ts +13 -13
  112. package/lib/style/_variables.scss +3 -1
  113. package/lib/style/transaction-globals.scss +6 -0
  114. package/package.json +1 -1
  115. package/esm2015/lib/component/transaction-header-fields/transaction-header-fields-base.component.js +0 -27
  116. package/esm2015/lib/service/collection-cache.service.js +0 -40
  117. package/lib/component/transaction-header-fields/transaction-header-fields-base.component.d.ts +0 -8
  118. package/lib/service/collection-cache.service.d.ts +0 -6
@@ -50,6 +50,7 @@ export class Dictionary {
50
50
  "CHECKOUT_FINISH": "Bestelling afronden",
51
51
  "CITY": "Stad",
52
52
  "CLIENT_DATA": "Klantgegevens",
53
+ "CLIENT_INFORMATION": "Klantinformatie",
53
54
  "COMPANY": "Bedrijf",
54
55
  "COMPANY_NAME": "Bedrijfsnaam",
55
56
  "COMMISSION_CODE": "Commisiecode",
@@ -89,6 +90,7 @@ export class Dictionary {
89
90
  "DELIVERY_DATE_DEFINITIVE": "Leverdatum definitief",
90
91
  "DELIVERY_DATE_FINAL": "Definitieve leverdatum",
91
92
  "DELIVERY_DIRECT": "Direct leverbaar",
93
+ "DELIVERY_INFORMATION": "Leverinformatie",
92
94
  "DELIVERY_LOCATION": "Bezorgingslocatie",
93
95
  "DELIVERY_NOTE": "Afleverbon",
94
96
  "DELIVERY_OPTIONS": "Leveropties",
@@ -199,6 +201,7 @@ export class Dictionary {
199
201
  "ORDER_TYPE": "Type bestelling",
200
202
  "ORDERED": "Besteld",
201
203
  "OTHER": "Overig",
204
+ "OVERVIEW": "Overzicht",
202
205
  "OVERVIEW_AND_PAYMENT": "Overzicht en betaling",
203
206
  "OWN_REFERENCE": "Eigen referentie",
204
207
  "PACKING_SLIP": "Pakbon",
@@ -215,6 +218,7 @@ export class Dictionary {
215
218
  "PASSWORD": "Wachtwoord",
216
219
  "PAY": "Betalen",
217
220
  "PAYMENT": "Betaling",
221
+ "PAYMENT_INFORMATION": "Betaalinformatie",
218
222
  "PAYMENT_METHOD": "Betaalmethode",
219
223
  "PERSONAL_DATA": "Basisgegevens",
220
224
  "PICKED": "Gepickt",
@@ -264,6 +268,7 @@ export class Dictionary {
264
268
  "SEARCH_DELIVERY_METHOD": "Zoek levermethode",
265
269
  "SEARCH_IN_COLLECTION": "Zoek binnen collectie...",
266
270
  "SEARCH_NUMBER_CUSTOMER_OR_DATE": "Zoeken op nummer, klant of datum",
271
+ "SEARCH_VAT": "Zoek btw",
267
272
  "SEARCH_WAREHOUSE": "Zoek magazijn",
268
273
  "SELECT": "Selecteren",
269
274
  "SELECT_A": "Selecteer een",
@@ -315,6 +320,7 @@ export class Dictionary {
315
320
  "UNKNOWN_ADDRESS_CHECK_IT": "Onbekend adres",
316
321
  "USER": "Gebruiker",
317
322
  "VAT": "Btw",
323
+ "VAT2": "BTW",
318
324
  "VAT_AMOUNT": "BTW-bedrag",
319
325
  "VALUE": "Waarde",
320
326
  "WHERE_ARE_YOU_LOOKING_FOR": "Waar ben je naar op zoek?",
@@ -373,6 +379,7 @@ export class Dictionary {
373
379
  "CHECKOUT_FINISH": "Finish checkout",
374
380
  "CITY": "City",
375
381
  "CLIENT_DATA": "Client data",
382
+ "CLIENT_INFORMATION": "Client information",
376
383
  "COMPANY": "Company",
377
384
  "COMPANY_NAME": "Company name",
378
385
  "COMMISSION_CODE": "Commission code",
@@ -411,6 +418,7 @@ export class Dictionary {
411
418
  "DELIVERY_DATE_DEFINITIVE": "Delivery date definitive",
412
419
  "DELIVERY_DATE_FINAL": "Final delivery date",
413
420
  "DELIVERY_DIRECT": "Direct delivery",
421
+ "DELIVERY_INFORMATION": "Direct information",
414
422
  "DELIVERY_LOCATION": "Delivery location",
415
423
  "DELIVERY_NOTE": "Delivery note",
416
424
  "DELIVERY_OPTIONS": "Delivery options",
@@ -520,6 +528,7 @@ export class Dictionary {
520
528
  "ORDER_TYPE": "Order type",
521
529
  "ORDERED": "Ordered",
522
530
  "OTHER": "Other",
531
+ "OVERVIEW": "Overview",
523
532
  "OVERVIEW_AND_PAYMENT": "Overview and payment",
524
533
  "OWN_REFERENCE": "Own reference",
525
534
  "PACKING_SLIP": "Packing slip",
@@ -536,6 +545,7 @@ export class Dictionary {
536
545
  "PASSWORD": "Password",
537
546
  "PAY": "Pay",
538
547
  "PAYMENT": "Payment",
548
+ "PAYMENT_INFORMATION": "Payment information",
539
549
  "PAYMENT_METHOD": "Payment method",
540
550
  "PERSONAL_DATA": "Personal data",
541
551
  "PHONE_NO": "Telephone number",
@@ -576,6 +586,7 @@ export class Dictionary {
576
586
  "SEARCH_DELIVERY_METHOD": "Search deliverymethod",
577
587
  "SEARCH_IN_COLLECTION": "Search in collection...",
578
588
  "SEARCH_NUMBER_CUSTOMER_OR_DATE": "Search for number, customer or date",
589
+ "SEARCH_VAT": "Search vat",
579
590
  "SEARCH_WAREHOUSE": "Search warehouse",
580
591
  "SELECT": "Select",
581
592
  "SELECT_A": "Select a",
@@ -627,6 +638,7 @@ export class Dictionary {
627
638
  "USER": "User",
628
639
  "VALUE": "Value",
629
640
  "VAT": "VAT",
641
+ "VAT2": "VAT",
630
642
  "VAT_AMOUNT": "VAT amount",
631
643
  "WAREHOUSE": "Warehouse",
632
644
  "WHERE_ARE_YOU_LOOKING_FOR": "Where are you looking for?",
@@ -639,4 +651,4 @@ export class Dictionary {
639
651
  };
640
652
  }
641
653
  }
642
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9hc3NldHMvZGljdGlvbmFyeS90ZXh0LnByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxZQUFPLEdBQU87WUFDbkIsSUFBSSxFQUFFO2dCQUNKLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUsa0ZBQWtGO29CQUN2RywwRkFBMEY7Z0JBQzVGLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSw4QkFBOEI7Z0JBQ3JELHVCQUF1QixFQUFFLDhCQUE4QjtnQkFDdkQsMEJBQTBCLEVBQUUsNEJBQTRCO2dCQUN4RCw0QkFBNEIsRUFBRSw0QkFBNEI7Z0JBQzFELHFCQUFxQixFQUFFLHlCQUF5QjtnQkFDaEQsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMsZUFBZSxFQUFFLHFCQUFxQjtnQkFDdEMsWUFBWSxFQUFFLHdCQUF3QjtnQkFDdEMsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHdCQUF3QixFQUFFLGtDQUFrQztnQkFDNUQsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLDZCQUE2QixFQUFFLHNDQUFzQztnQkFDckUsY0FBYyxFQUFFLGVBQWU7Z0JBQy9CLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxvQkFBb0I7Z0JBQ3JDLDJCQUEyQixFQUFFLGdFQUFnRTtnQkFDN0YsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLHFCQUFxQixFQUFFLHVCQUF1QjtnQkFDOUMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsY0FBYztnQkFDL0IsZUFBZSxFQUFFLGFBQWE7Z0JBQzlCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixpQkFBaUIsRUFBRSxZQUFZO2dCQUMvQixNQUFNLEVBQUUsT0FBTztnQkFDZixxQkFBcUIsRUFBRSwyQkFBMkI7Z0JBQ2xELFNBQVMsRUFBRSxPQUFPO2dCQUNsQixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyx3QkFBd0IsRUFBRSx1QkFBdUI7Z0JBQ2pELFFBQVEsRUFBRSxXQUFXO2dCQUNyQixpQ0FBaUMsRUFBRSxtREFBbUQ7Z0JBQ3RGLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyx5QkFBeUIsRUFBRSxjQUFjO2dCQUN6QyxvQ0FBb0MsRUFBRSx1Q0FBdUM7Z0JBQzdFLGlCQUFpQixFQUFFLHFCQUFxQjtnQkFDeEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsYUFBYSxFQUFFLGVBQWU7Z0JBQzlCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixjQUFjLEVBQUUsY0FBYztnQkFDOUIsaUJBQWlCLEVBQUUsY0FBYztnQkFDakMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGNBQWMsRUFBRSxhQUFhO2dCQUM3QixnQkFBZ0IsRUFBRSxrQkFBa0I7Z0JBQ3BDLHlCQUF5QixFQUFFLHVCQUF1QjtnQkFDbEQsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixxREFBcUQsRUFBRSwwR0FBMEc7Z0JBQ2pLLDBCQUEwQixFQUFFLHdCQUF3QjtnQkFDcEQsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixnQkFBZ0IsRUFBRSxzQkFBc0I7Z0JBQ3hDLHlCQUF5QixFQUFFLHdDQUF3QztnQkFDbkUsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLGdCQUFnQixFQUFFLFlBQVk7Z0JBQzlCLGVBQWUsRUFBRSxXQUFXO2dCQUM1QixNQUFNLEVBQUUsT0FBTztnQkFDZixlQUFlLEVBQUUsZUFBZTtnQkFDaEMsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix5QkFBeUIsRUFBRSxhQUFhO2dCQUN4Qyw4QkFBOEIsRUFBRSw2QkFBNkI7Z0JBQzdELGdDQUFnQyxFQUFFLG1EQUFtRDtnQkFDckYsa0NBQWtDLEVBQUUsaURBQWlEO2dCQUNyRixXQUFXLEVBQUUsVUFBVTtnQkFDdkIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLGtCQUFrQixFQUFFLGNBQWM7Z0JBQ2xDLHNCQUFzQixFQUFFLHVCQUF1QjtnQkFDL0MseUJBQXlCLEVBQUUsc0JBQXNCO2dCQUNqRCxnQkFBZ0IsRUFBRSxZQUFZO2dCQUM5QixnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsZUFBZSxFQUFFLFlBQVk7Z0JBQzdCLDBCQUEwQixFQUFFLHVCQUF1QjtnQkFDbkQscUJBQXFCLEVBQUUsd0JBQXdCO2dCQUMvQyxpQkFBaUIsRUFBRSxrQkFBa0I7Z0JBQ3JDLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsZUFBZSxFQUFFLFlBQVk7Z0JBQzdCLGtCQUFrQixFQUFFLGFBQWE7Z0JBQ2pDLGlCQUFpQixFQUFFLGNBQWM7Z0JBQ2pDLGlCQUFpQixFQUFFLGFBQWE7Z0JBQ2hDLDRCQUE0QixFQUFFLGNBQWM7Z0JBQzVDLHNCQUFzQixFQUFFLFdBQVc7Z0JBQ25DLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixpQkFBaUIsRUFBRSxnQkFBZ0I7Z0JBQ25DLHFCQUFxQixFQUFFLFlBQVk7Z0JBQ25DLGFBQWEsRUFBRSxhQUFhO2dCQUM1Qix3QkFBd0IsRUFBRSxrQkFBa0I7Z0JBQzVDLG9CQUFvQixFQUFFLHVCQUF1QjtnQkFDN0MsbUJBQW1CLEVBQUUsa0JBQWtCO2dCQUN2Qyx5QkFBeUIsRUFBRSxVQUFVO2dCQUNyQyxjQUFjLEVBQUUsY0FBYztnQkFDOUIsa0JBQWtCLEVBQUUsbUJBQW1CO2dCQUN2QyxXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxlQUFlLEVBQUUsYUFBYTtnQkFDOUIsaUJBQWlCLEVBQUUsYUFBYTtnQkFDaEMsb0JBQW9CLEVBQUUsbUJBQW1CO2dCQUN6Qyx3QkFBd0IsRUFBRSx3QkFBd0I7Z0JBQ2xELHdCQUF3QixFQUFFLHVCQUF1QjtnQkFDakQsa0JBQWtCLEVBQUUsZ0JBQWdCO2dCQUNwQyw2QkFBNkIsRUFBRSw0QkFBNEI7Z0JBQzNELFFBQVEsRUFBRSxPQUFPO2dCQUNqQixZQUFZLEVBQUUsVUFBVTtnQkFDeEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGlCQUFpQixFQUFFLHFCQUFxQjtnQkFDeEMsaUJBQWlCLEVBQUUsb0JBQW9CO2dCQUN2QyxpQkFBaUIsRUFBRSxtQkFBbUI7Z0JBQ3RDLDBCQUEwQixFQUFFLGtDQUFrQztnQkFDOUQsZ0JBQWdCLEVBQUUsdUJBQXVCO2dCQUN6QyxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixrQkFBa0IsRUFBRSxxQkFBcUI7Z0JBQ3pDLFlBQVksRUFBRSxVQUFVO2dCQUN4QixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsbUJBQW1CLEVBQUUsdUJBQXVCO2dCQUM1QyxJQUFJLEVBQUUsSUFBSTtnQkFDVix1QkFBdUIsRUFBRSx1QkFBdUI7Z0JBQ2hELG1CQUFtQixFQUFFLG9CQUFvQjtnQkFDekMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxVQUFVLEVBQUUsZUFBZTtnQkFDM0IsbUJBQW1CLEVBQUUsa0JBQWtCO2dCQUN2QyxtQkFBbUIsRUFBRSx5QkFBeUI7Z0JBQzlDLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixTQUFTLEVBQUUsWUFBWTtnQkFDdkIsaUJBQWlCLEVBQUUsY0FBYztnQkFDakMscUJBQXFCLEVBQUUsd0JBQXdCO2dCQUMvQyx3QkFBd0IsRUFBRSx1QkFBdUI7Z0JBQ2pELGVBQWUsRUFBRSxpQkFBaUI7Z0JBQ2xDLGtCQUFrQixFQUFFLHlCQUF5QjtnQkFDN0Msa0JBQWtCLEVBQUUsNkJBQTZCO2dCQUNqRCxXQUFXLEVBQUUsWUFBWTtnQkFDekIsNEJBQTRCLEVBQUUscURBQXFEO2dCQUNuRixVQUFVLEVBQUUsU0FBUztnQkFDckIsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsd0JBQXdCLEVBQUUsc0JBQXNCO2dCQUNoRCxjQUFjLEVBQUUsZUFBZTtnQkFDL0IsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFFLGVBQWU7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLG1CQUFtQixFQUFFLGdCQUFnQjtnQkFDckMsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGdCQUFnQixFQUFFLGFBQWE7Z0JBQy9CLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsY0FBYyxFQUFFLGdCQUFnQjtnQkFDaEMsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLFVBQVUsRUFBRSxpQkFBaUI7Z0JBQzdCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLFdBQVcsRUFBRSxnQkFBZ0I7Z0JBQzdCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLG1CQUFtQixFQUFFLGtCQUFrQjtnQkFDdkMsbUJBQW1CLEVBQUUsaUJBQWlCO2dCQUN0QyxtQkFBbUIsRUFBRSxnQkFBZ0I7Z0JBQ3JDLDRCQUE0QixFQUFFLCtCQUErQjtnQkFDN0Qsa0JBQWtCLEVBQUUsb0JBQW9CO2dCQUN4QyxzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLGdCQUFnQixFQUFFLGVBQWU7Z0JBQ2pDLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixTQUFTLEVBQUUsVUFBVTtnQkFDckIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLG9CQUFvQixFQUFFLGtCQUFrQjtnQkFDeEMscUJBQXFCLEVBQUUsZUFBZTtnQkFDdEMsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLGFBQWEsRUFBRSxtQkFBbUI7Z0JBQ2xDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxjQUFjLEVBQUUsYUFBYTtnQkFDN0Isa0JBQWtCLEVBQUUsaUJBQWlCO2dCQUNyQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixZQUFZLEVBQUUsaUJBQWlCO2dCQUMvQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLHNCQUFzQixFQUFFLHVCQUF1QjtnQkFDL0MsZUFBZSxFQUFFLGtCQUFrQjtnQkFDbkMsY0FBYyxFQUFFLFFBQVE7Z0JBQ3hCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixlQUFlLEVBQUUsY0FBYztnQkFDL0IsaUJBQWlCLEVBQUUsZ0JBQWdCO2dCQUNuQyxrQkFBa0IsRUFBRSx5QkFBeUI7Z0JBQzdDLGtCQUFrQixFQUFFLHdCQUF3QjtnQkFDNUMsa0JBQWtCLEVBQUUsdUJBQXVCO2dCQUMzQywyQkFBMkIsRUFBRSxzQ0FBc0M7Z0JBQ25FLGlCQUFpQixFQUFFLDJCQUEyQjtnQkFDOUMscUJBQXFCLEVBQUUsd0JBQXdCO2dCQUMvQyxlQUFlLEVBQUUsc0JBQXNCO2dCQUN2QyxVQUFVLEVBQUUsWUFBWTtnQkFDeEIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFVBQVUsRUFBRSxnQkFBZ0I7Z0JBQzVCLGdCQUFnQixFQUFFLGtCQUFrQjtnQkFDcEMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGFBQWEsRUFBRSxVQUFVO2dCQUN6QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixTQUFTLEVBQUUsU0FBUztnQkFDcEIscUJBQXFCLEVBQUUsbUJBQW1CO2dCQUMxQyxnQkFBZ0IsRUFBRSxhQUFhO2dCQUMvQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxpQkFBaUIsRUFBRSxTQUFTO2dCQUM1QixrQ0FBa0MsRUFBRSw2QkFBNkI7Z0JBQ2pFLHdDQUF3QyxFQUFFLHNEQUFzRDtnQkFDaEcsd0NBQXdDLEVBQUUsc0RBQXNEO2dCQUNoRyx1Q0FBdUMsRUFBRSxzREFBc0Q7Z0JBQy9GLHVDQUF1QyxFQUFFLHNEQUFzRDtnQkFDL0Ysd0NBQXdDLEVBQUUseURBQXlEO2dCQUNuRyx3Q0FBd0MsRUFBRSx5REFBeUQ7Z0JBQ25HLHVDQUF1QyxFQUFFLHVEQUF1RDtnQkFDaEcsdUNBQXVDLEVBQUUsc0RBQXNEO2dCQUMvRixrQkFBa0IsRUFBRSxnQkFBZ0I7Z0JBQ3BDLGlCQUFpQixFQUFFLG1CQUFtQjtnQkFDdEMsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLG9CQUFvQixFQUFFLHlCQUF5QjtnQkFDL0MsZUFBZSxFQUFFLGlCQUFpQjtnQkFDbEMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLG9CQUFvQixFQUFFLGNBQWM7Z0JBQ3BDLGlCQUFpQixFQUFFLGVBQWU7Z0JBQ2xDLFNBQVMsRUFBRSxhQUFhO2dCQUN4QixvQkFBb0IsRUFBRSxzQkFBc0I7Z0JBQzVDLFlBQVksRUFBRSxRQUFRO2dCQUN0QixhQUFhLEVBQUUsZUFBZTtnQkFDOUIsa0JBQWtCLEVBQUUsMkJBQTJCO2dCQUMvQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLG9CQUFvQixFQUFFLDZCQUE2QjtnQkFDbkQsd0JBQXdCLEVBQUUsbUJBQW1CO2dCQUM3QyxzQkFBc0IsRUFBRSwwQkFBMEI7Z0JBQ2xELGdDQUFnQyxFQUFFLGtDQUFrQztnQkFDcEUsa0JBQWtCLEVBQUUsZUFBZTtnQkFDbkMsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFVBQVUsRUFBRSxlQUFlO2dCQUMzQixzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLGFBQWEsRUFBRSxtQ0FBbUM7Z0JBQ2xELGVBQWUsRUFBRSxhQUFhO2dCQUM5QixnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxzQkFBc0IsRUFBRSxnQkFBZ0I7Z0JBQ3hDLGVBQWUsRUFBRSxnQkFBZ0I7Z0JBQ2pDLGVBQWUsRUFBRSxhQUFhO2dCQUM5Qix3QkFBd0IsRUFBRSxXQUFXO2dCQUNyQyx3QkFBd0IsRUFBRSw2QkFBNkI7Z0JBQ3ZELHNCQUFzQixFQUFFLGlCQUFpQjtnQkFDekMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLGtCQUFrQixFQUFFLGVBQWU7Z0JBQ25DLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixvQkFBb0IsRUFBRSxpQkFBaUI7Z0JBQ3ZDLG9EQUFvRCxFQUFFLGlFQUFpRTtnQkFDdkgsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLGFBQWEsRUFBRSxZQUFZO2dCQUMzQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsa0JBQWtCLEVBQUUsU0FBUztnQkFDN0IsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixNQUFNLEVBQUUsTUFBTTtnQkFDZCxvQkFBb0IsRUFBRSxxQkFBcUI7Z0JBQzNDLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGNBQWMsRUFBRSxXQUFXO2dCQUMzQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixxQkFBcUIsRUFBRSxvQkFBb0I7Z0JBQzNDLGFBQWEsRUFBRSxjQUFjO2dCQUM3QixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGtCQUFrQixFQUFFLFlBQVk7Z0JBQ2hDLHNCQUFzQixFQUFFLDJCQUEyQjtnQkFDbkQsMkJBQTJCLEVBQUUsa0JBQWtCO2dCQUMvQywrQkFBK0IsRUFBRSx1QkFBdUI7Z0JBQ3hELG1CQUFtQixFQUFFLHVCQUF1QjtnQkFDNUMsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4QyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsZ0JBQWdCLEVBQUUsaUJBQWlCO2dCQUNuQywyQkFBMkIsRUFBRSw2QkFBNkI7Z0JBQzFELGdCQUFnQixFQUFFLFlBQVk7Z0JBQzlCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLFNBQVMsRUFBRSxVQUFVO2dCQUNyQiwwQkFBMEIsRUFBRSxnQkFBZ0I7Z0JBQzVDLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixLQUFLLEVBQUUsS0FBSztnQkFDWixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLDJCQUEyQixFQUFFLDJCQUEyQjtnQkFDeEQsV0FBVyxFQUFFLFVBQVU7Z0JBQ3ZCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixnQkFBZ0IsRUFBQyxrQkFBa0I7Z0JBQ25DLG9CQUFvQixFQUFFLHVCQUF1QjtnQkFDN0MsZUFBZSxFQUFFLHlCQUF5QjtnQkFDMUMscUJBQXFCLEVBQUUsdUJBQXVCO2FBQy9DO1lBQ0QsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLElBQUksRUFBRTtnQkFDSixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLHFCQUFxQixFQUFFLG1JQUFtSTtnQkFDMUosUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsdUJBQXVCLEVBQUUsdUJBQXVCO2dCQUNoRCwwQkFBMEIsRUFBRSxrQkFBa0I7Z0JBQzlDLDRCQUE0QixFQUFFLG9CQUFvQjtnQkFDbEQscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxlQUFlLEVBQUUsY0FBYztnQkFDL0IsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHdCQUF3QixFQUFFLHdCQUF3QjtnQkFDbEQsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLDZCQUE2QixFQUFFLG9DQUFvQztnQkFDbkUsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQywyQkFBMkIsRUFBRSxxREFBcUQ7Z0JBQ2xGLFlBQVksRUFBRSxnQkFBZ0I7Z0JBQzlCLHFCQUFxQixFQUFFLG9CQUFvQjtnQkFDM0MsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyx3QkFBd0IsRUFBRSx3QkFBd0I7Z0JBQ2xELFFBQVEsRUFBRSxRQUFRO2dCQUNsQixpQ0FBaUMsRUFBRSxzQ0FBc0M7Z0JBQ3pFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGFBQWEsRUFBRSxhQUFhO2dCQUM1Qix5QkFBeUIsRUFBRSx5QkFBeUI7Z0JBQ3BELG9DQUFvQyxFQUFFLG9DQUFvQztnQkFDMUUsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxhQUFhLEVBQUUsYUFBYTtnQkFDNUIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHlCQUF5QixFQUFFLHlCQUF5QjtnQkFDcEQsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxpQkFBaUIsRUFBRSxnQkFBZ0I7Z0JBQ25DLFVBQVUsRUFBRSxNQUFNO2dCQUNsQixXQUFXLEVBQUUsV0FBVztnQkFDeEIscURBQXFELEVBQUUsMkZBQTJGO2dCQUNsSiwwQkFBMEIsRUFBRSw2QkFBNkI7Z0JBQ3pELE9BQU8sRUFBRSxPQUFPO2dCQUNoQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsZ0JBQWdCLEVBQUUsbUJBQW1CO2dCQUNyQyx5QkFBeUIsRUFBRSxpQ0FBaUM7Z0JBQzVELFVBQVUsRUFBRSxVQUFVO2dCQUN0QixnQkFBZ0IsRUFBRSxlQUFlO2dCQUNqQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIseUJBQXlCLEVBQUUsc0NBQXNDO2dCQUNqRSw4QkFBOEIsRUFBRSx5QkFBeUI7Z0JBQ3pELGdDQUFnQyxFQUFFLHlDQUF5QztnQkFDM0UsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLHNCQUFzQixFQUFFLHNCQUFzQjtnQkFDOUMseUJBQXlCLEVBQUUseUJBQXlCO2dCQUNwRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsZUFBZSxFQUFFLGNBQWM7Z0JBQy9CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQywwQkFBMEIsRUFBRSwwQkFBMEI7Z0JBQ3RELHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyw0QkFBNEIsRUFBRSxrQkFBa0I7Z0JBQ2hELHNCQUFzQixFQUFFLHNCQUFzQjtnQkFDOUMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUsWUFBWTtnQkFDbkMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLHdCQUF3QixFQUFFLHVCQUF1QjtnQkFDakQsb0JBQW9CLEVBQUUsbUJBQW1CO2dCQUN6QyxtQkFBbUIsRUFBRSxrQkFBa0I7Z0JBQ3ZDLHlCQUF5QixFQUFFLGFBQWE7Z0JBQ3hDLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixXQUFXLEVBQUUsV0FBVztnQkFDeEIsZUFBZSxFQUFFLGFBQWE7Z0JBQzlCLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyx3QkFBd0IsRUFBRSwwQkFBMEI7Z0JBQ3BELHdCQUF3QixFQUFFLDBCQUEwQjtnQkFDcEQsa0JBQWtCLEVBQUUsaUJBQWlCO2dCQUNyQyw2QkFBNkIsRUFBRSwyQkFBMkI7Z0JBQzFELFFBQVEsRUFBRSxRQUFRO2dCQUNsQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsMEJBQTBCLEVBQUUsNEJBQTRCO2dCQUN4RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLGtCQUFrQixFQUFFLHFCQUFxQjtnQkFDekMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsbUJBQW1CLEVBQUUsc0JBQXNCO2dCQUMzQyxJQUFJLEVBQUUsSUFBSTtnQkFDVix1QkFBdUIsRUFBRSx1QkFBdUI7Z0JBQ2hELG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4QyxtQkFBbUIsRUFBRSxnQkFBZ0I7Z0JBQ3JDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLHdCQUF3QixFQUFFLHdCQUF3QjtnQkFDbEQsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLGtCQUFrQixFQUFFLG9CQUFvQjtnQkFDeEMsa0JBQWtCLEVBQUUsb0JBQW9CO2dCQUN4QyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsNEJBQTRCLEVBQUUsOEJBQThCO2dCQUM1RCxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsd0JBQXdCLEVBQUUsc0JBQXNCO2dCQUNoRCxjQUFjLEVBQUUsY0FBYztnQkFDOUIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFFLGVBQWU7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGdCQUFnQixFQUFFLFdBQVc7Z0JBQzdCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixRQUFRLEVBQUUsU0FBUztnQkFDbkIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxvQkFBb0I7Z0JBQ2hDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixXQUFXLEVBQUUsV0FBVztnQkFDeEIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsbUJBQW1CLEVBQUUsbUJBQW1CO2dCQUN4QyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLDRCQUE0QixFQUFFLDhCQUE4QjtnQkFDNUQsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixTQUFTLEVBQUUsU0FBUztnQkFDcEIsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLFlBQVksRUFBRSxZQUFZO2dCQUMxQixZQUFZLEVBQUUsV0FBVztnQkFDekIsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxhQUFhLEVBQUUsb0JBQW9CO2dCQUNuQyxhQUFhLEVBQUUsWUFBWTtnQkFDM0IsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLGVBQWUsRUFBRSxjQUFjO2dCQUMvQixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsc0JBQXNCLEVBQUUsc0JBQXNCO2dCQUM5QyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixlQUFlLEVBQUUsa0JBQWtCO2dCQUNuQyxpQkFBaUIsRUFBRSxvQkFBb0I7Z0JBQ3ZDLGtCQUFrQixFQUFFLGtCQUFrQjtnQkFDdEMsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLDJCQUEyQixFQUFFLDZCQUE2QjtnQkFDMUQsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsZUFBZSxFQUFFLGVBQWU7Z0JBQ2hDLFVBQVUsRUFBRSxrQkFBa0I7Z0JBQzlCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixPQUFPLEVBQUUsT0FBTztnQkFDaEIsWUFBWSxFQUFFLFdBQVc7Z0JBQ3pCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGdCQUFnQixFQUFFLFNBQVM7Z0JBQzNCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixjQUFjLEVBQUUsY0FBYztnQkFDOUIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGdCQUFnQixFQUFFLGlCQUFpQjtnQkFDbkMsZ0JBQWdCLEVBQUUsaUJBQWlCO2dCQUNuQyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGtDQUFrQyxFQUFFLGtDQUFrQztnQkFDdEUsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixlQUFlLEVBQUUsZUFBZTtnQkFDaEMsb0JBQW9CLEVBQUUsc0JBQXNCO2dCQUM1QyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsb0JBQW9CLEVBQUUsZUFBZTtnQkFDckMsaUJBQWlCLEVBQUUsaUJBQWlCO2dCQUNwQyxTQUFTLEVBQUUsU0FBUztnQkFDcEIsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxhQUFhLEVBQUUsY0FBYztnQkFDN0IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLGtCQUFrQixFQUFFLDBCQUEwQjtnQkFDOUMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLG9CQUFvQixFQUFFLHdCQUF3QjtnQkFDOUMsd0JBQXdCLEVBQUUsdUJBQXVCO2dCQUNqRCxzQkFBc0IsRUFBRSx5QkFBeUI7Z0JBQ2pELGdDQUFnQyxFQUFFLHFDQUFxQztnQkFDdkUsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLHNCQUFzQixFQUFFLHNCQUFzQjtnQkFDOUMsbUJBQW1CLEVBQUUscUJBQXFCO2dCQUMxQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dCQUNsQyxzQkFBc0IsRUFBRSxzQkFBc0I7Z0JBQzlDLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsd0JBQXdCLEVBQUUsVUFBVTtnQkFDcEMsd0JBQXdCLEVBQUUsZ0JBQWdCO2dCQUMxQyxzQkFBc0IsRUFBRSxpQkFBaUI7Z0JBQ3pDLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixXQUFXLEVBQUUsV0FBVztnQkFDeEIsa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxrQkFBa0IsRUFBRSxrQkFBa0I7Z0JBQ3RDLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLG9EQUFvRCxFQUFFLDJEQUEyRDtnQkFDakgsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsa0JBQWtCLEVBQUUsV0FBVztnQkFDL0IsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixNQUFNLEVBQUUsTUFBTTtnQkFDZCxjQUFjLEVBQUUsY0FBYztnQkFDOUIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLHFCQUFxQixFQUFFLHFCQUFxQjtnQkFDNUMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLHFCQUFxQixFQUFFLG9CQUFvQjtnQkFDM0Msa0JBQWtCLEVBQUUsa0JBQWtCO2dCQUN0QyxzQkFBc0IsRUFBRSw0QkFBNEI7Z0JBQ3BELDJCQUEyQixFQUFFLG1CQUFtQjtnQkFDaEQsK0JBQStCLEVBQUUsK0JBQStCO2dCQUNoRSxtQkFBbUIsRUFBRSxxQkFBcUI7Z0JBQzFDLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQjtnQkFDbEMsMkJBQTJCLEVBQUUsMEJBQTBCO2dCQUN2RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFNBQVMsRUFBRSxTQUFTO2dCQUNwQiwwQkFBMEIsRUFBRSxpQkFBaUI7Z0JBQzdDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixLQUFLLEVBQUUsS0FBSztnQkFDWixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLDJCQUEyQixFQUFFLDRCQUE0QjtnQkFDekQsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLGdCQUFnQixFQUFDLGdCQUFnQjtnQkFDakMsb0JBQW9CLEVBQUUsb0JBQW9CO2dCQUMxQyxlQUFlLEVBQUUsbUJBQW1CO2dCQUNwQyxxQkFBcUIsRUFBRSxxQkFBcUI7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERpY3Rpb25hcnkge1xyXG4gIHB1YmxpYyBzdHJpbmdzOiB7fSA9IHtcclxuICAgIFwibmxcIjoge1xyXG4gICAgICBcIkFDQ09VTlRfREVUQUlMU1wiOiBcIkFjY291bnRnZWdldmVuc1wiLFxyXG4gICAgICBcIkFDQ09VTlRfRVhQTEFOQVRJT05cIjogXCJIZXQgZS1tYWlsYWRyZXMgZW4gd2FjaHR3b29yZCB6aWpuIG5vZGlnIG9tIHRvZWdhbmcgdGUga3JpamdlbiB0b3QgZGUgZ2VnZXZlbnMuIFwiICtcclxuICAgICAgICBcIk9vayB6dWxsZW4gd2UgamUgdmlhIGRpdCBlLW1haWxhZHJlcyBvcCBkZSBob29ndGUgaG91ZGVuIHZhbiBkZSBzdGF0dXMgdmFuIGJlc3RlbGxpbmdlbi5cIixcclxuICAgICAgXCJBQ1RJVkVcIjogXCJBY3RpZWZcIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9MSU5FX1VQXCI6IFwiQXJ0aWtlbHJlZ2VsIGJvdmVuIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfRE9XTlwiOiBcIkFydGlrZWxyZWdlbCBvbmRlciB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfVVBcIjogXCJUZWtzdHJlZ2VsIGJvdmVuIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9ET1dOXCI6IFwiVGVrc3RyZWdlbCBvbmRlciB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfREVMSVZFUllfT1BUSU9OXCI6IFwiVm9lZyBlZW4gbGV2ZXJvcHRpZSB0b2VcIixcclxuICAgICAgXCJBRERfRElTQ09VTlRTXCI6IFwiS29ydGluZyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfUkVGRVJFTkNFXCI6IFwiVm9lZyByZWZlcmVudGllIHRvZVwiLFxyXG4gICAgICBcIkFERF9SRU1BUktcIjogXCJWb2VnIGVlbiBvcG1lcmtpbmcgdG9lXCIsXHJcbiAgICAgIFwiQUREUkVTU1wiOiBcIkFkcmVzXCIsXHJcbiAgICAgIFwiQUREUkVTU0VTXCI6IFwiQWRyZXNzZW5cIixcclxuICAgICAgXCJBRERSRVNTX0FERFwiOiBcIkFkcmVzIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkFERFJFU1NfQ0hBTkdFXCI6IFwiQWRyZXMgd2lqemlnZW5cIixcclxuICAgICAgXCJBRE1JTklTVFJBVElWRV9NQU5BR0VSXCI6IFwiQWRtaW5pc3RyYXRpZWYgdmVyYW50d29vcmRlbGlqa2VcIixcclxuICAgICAgXCJBTExPQ0FURURcIjogXCJUb2VnZXdlemVuXCIsXHJcbiAgICAgIFwiQUxXQVlTX1NIT1dfTE9HSVNUSUNTX1BPUFVQXCI6IFwiQ29udHJvbGVlciBtYWdhemlqbiBlbiBjb21taXNzaWVjb2RlXCIsXHJcbiAgICAgIFwiQVJSSVZBTF9EQVRFXCI6IFwiQWFua29tc3RkYXR1bVwiLFxyXG4gICAgICBcIkFSVElDTEVcIjogXCJBcnRpa2VsXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9ERVNDUklQVElPTlwiOiBcIkFydGlrZWxvbXNjaHJpanZpbmdcIixcclxuICAgICAgXCJBUlRJQ0xFX0lNQUdFXCI6IFwiQXJ0aWtlbCBhZmJlZWxkaW5nXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTl9PVVRfQ09MTEVDVElPTlwiOiBcIlN0YXR1cyB2YW4gYXJ0aWtlbCBpcyAnfH4nLiBXZWV0IHUgemVrZXIgZGF0IHUgZG9vciB3aWx0IGdhYW4/XCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUlwiOiBcIkFydGlrZWxudW1tZXJcIixcclxuICAgICAgXCJBUlRJQ0xFX05SX1NVUFBMSUVSXCI6IFwiQXJ0aWtlbG5yIGxldmVyYW5jaWVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9VTktOT1dOXCI6IFwiT25iZWtlbmQgYXJ0aWtlbFwiLFxyXG4gICAgICBcIkFTU0VNQkxZX0NPU1RTXCI6IFwiTW9udGFnZWtvc3RlblwiLFxyXG4gICAgICBcIkFTU0VNQkxZX0RBVEVcIjogXCJNb250YWdlZGF0dW1cIixcclxuICAgICAgXCJBU1NFTUJMWV9USU1FXCI6IFwiTW9udGFnZXRpamRcIixcclxuICAgICAgXCJBTU9VTlRcIjogXCJBYW50YWxcIixcclxuICAgICAgXCJBVkFJTEFCTEVfU1RPQ0tcIjogXCJCZWNoaWtiYWFyXCIsXHJcbiAgICAgIFwiQkFDS1wiOiBcIlRlcnVnXCIsXHJcbiAgICAgIFwiQkFDS19UT19TVE9DS19MSU5FU1wiOiBcIlRlcnVnIG5hYXIgdm9vcnJhYWRyZWdlbHNcIixcclxuICAgICAgXCJCQUxBTkNFXCI6IFwiU2FsZG9cIixcclxuICAgICAgXCJCQVRDSF9OVU1CRVJcIjogXCJCYXRjaG51bW1lclwiLFxyXG4gICAgICBcIkJSQU5DSFwiOiBcIkZpbGlhYWxcIixcclxuICAgICAgXCJCUkFOQ0hfTlVNQkVSXCI6IFwiRmlsaWFhbG51bW1lclwiLFxyXG4gICAgICBcIkJVU0lORVNTX1JVTEVfRElTQ09VTlRcIjogXCJCdXNpbmVzcyBydWxlIGtvcnRpbmdcIixcclxuICAgICAgXCJDQU5DRUxcIjogXCJBbm51bGVyZW5cIixcclxuICAgICAgXCJDQU5OT1RfQ0hBTkdFX05FR0FUSVZFX1FVQU5USVRZXCI6IFwiRWVuIG5lZ2F0aWV2ZSB2b29ycmFhZCBrYW4gbmlldCBnZXdpanppZ2Qgd29yZGVuLlwiLFxyXG4gICAgICBcIkNBUlRcIjogXCJXaW5rZWx3YWdlblwiLFxyXG4gICAgICBcIkNIQU5HRV9EQVRBXCI6IFwiV2lqemlnIGdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiQ0hBUkFDVEVSSVNUSUNfUVVFU1RJT05cIjogXCJLZW5tZXJrdnJhYWdcIixcclxuICAgICAgXCJDSEVDS19XQVJFSE9VU0VfQU5EX0NPTU1JU1NJT05DT0RFXCI6IFwiQ29udHJvbGVlciBtYWdhemlqbiBlbiBjb21taXNzaWVjb2RlLlwiLFxyXG4gICAgICBcIkNIRUNLT1VUX0ZJTklTSFwiOiBcIkJlc3RlbGxpbmcgYWZyb25kZW5cIixcclxuICAgICAgXCJDSVRZXCI6IFwiU3RhZFwiLFxyXG4gICAgICBcIkNMSUVOVF9EQVRBXCI6IFwiS2xhbnRnZWdldmVuc1wiLFxyXG4gICAgICBcIkNPTVBBTllcIjogXCJCZWRyaWpmXCIsXHJcbiAgICAgIFwiQ09NUEFOWV9OQU1FXCI6IFwiQmVkcmlqZnNuYWFtXCIsXHJcbiAgICAgIFwiQ09NTUlTU0lPTl9DT0RFXCI6IFwiQ29tbWlzaWVjb2RlXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEXCI6IFwiQmV2ZXN0aWdkXCIsXHJcbiAgICAgIFwiQ09ORklSTUFUSU9OXCI6IFwiQmV2ZXN0aWdpbmdcIixcclxuICAgICAgXCJDT05GSVJNRURfREFURVwiOiBcIkJldmVzdGlnZGUgZGF0dW1cIixcclxuICAgICAgXCJDT05GSVJNRURfREVMSVZFUllfREFURVwiOiBcIkJldmVzdGlnZGUgbGV2ZXJkYXR1bVwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9QUklDRVwiOiBcIkJldmVzdGlnZGUgcHJpanNcIixcclxuICAgICAgXCJDT05UQUNUX0RFVEFJTFNcIjogXCJDb250YWN0Z2VnZXZlbnNcIixcclxuICAgICAgXCJDT05USU5VRVwiOiBcIlZvbGdlbmRlXCIsXHJcbiAgICAgIFwiQ09OVElOVUVfT1JERVJfV0hJTEVfU1RPQ0tfQVZBSUxBQkxFX1BMRUFTRV9DT05GSVJNXCI6IFwiVSBoZWVmdCBnZWtvemVuIHZvb3IgaGV0IGJlc3RlbGxlbiB2YW4gYXJ0aWtlbGVuIHRlcndpamwgZXIgbm9nIHZvb3JyYWFkIGFhbndlemlnIGlzLiBXaWx0IHUgdmVyZGVyZ2Fhbj9cIixcclxuICAgICAgXCJDT05USU5VRV9XSVRIT1VUX0FDQ09VTlRcIjogXCJHYSBkb29yIHpvbmRlciBhY2NvdW50XCIsXHJcbiAgICAgIFwiQ09TVFNcIjogXCJLb3N0ZW5cIixcclxuICAgICAgXCJDT1VOVFJZXCI6IFwiTGFuZFwiLFxyXG4gICAgICBcIkNSRUFURV9BQ0NPVU5UXCI6IFwiTWFhayBlZW4gYWNjb3VudCBhYW5cIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVF9JTl8yX01JTlwiOiBcIk1hYWsgYmlubmVuIDIgbWludXRlbiBlZW4gYWNjb3VudCBhYW4uXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJcIjogXCJLbGFudFwiLFxyXG4gICAgICBcIkNVU1RPTUVSX0dST1VQXCI6IFwiS2xhbnRncm9lcFwiLFxyXG4gICAgICBcIkNVU1RPTUVSX05BTUVcIjogXCJLbGFudG5hYW1cIixcclxuICAgICAgXCJEQVRFXCI6IFwiRGF0dW1cIixcclxuICAgICAgXCJEQVRFX09GX0JJUlRIXCI6IFwiR2Vib29ydGVkYXR1bVwiLFxyXG4gICAgICBcIkRFRklOSVRJVkVcIjogXCJEZWZpbml0aWVmXCIsXHJcbiAgICAgIFwiREVMRVRFXCI6IFwiVmVyd2lqZGVyZW5cIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORVwiOiBcInZlcndpamRlcmVuXCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVfSElOVFwiOiBcIlZlcndpamRlcmVuIHRyYW5zYWN0aWVyZWdlbFwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0ZBSUxFRFwiOiBcIkhldCB2ZXJ3aWpkZXJlbiB2YW4gZGUgdHJhbnNhY3RpZXJlZ2VsIGlzIG1pc2x1a3RcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9RVUVTVElPTlwiOiBcIldlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHJlZ2VsIHdpbHQgdmVyd2lqZGVyZW4/XCIsXHJcbiAgICAgIFwiREVMSVZFUkVEXCI6IFwiR2VsZXZlcmRcIixcclxuICAgICAgXCJERUxJVkVSWVwiOiBcIkJlem9yZ2luZ1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NcIjogXCJBZmxldmVyYWRyZXNcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0FERFwiOiBcIkJlem9yZ2FkcmVzIHRvZXZvZWdlblwiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NfQ0hBTkdFXCI6IFwiQmV6b3JnYWRyZXMgd2lqemlnZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9CQVRDSFwiOiBcIkxldmVyYmF0Y2hcIixcclxuICAgICAgXCJERUxJVkVSWV9DT1NUU1wiOiBcIkJlem9yZ2tvc3RlblwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEFcIjogXCJMZXZlcmdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURVwiOiBcIkxldmVyZGF0dW1cIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0RFRklOSVRJVkVcIjogXCJMZXZlcmRhdHVtIGRlZmluaXRpZWZcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0ZJTkFMXCI6IFwiRGVmaW5pdGlldmUgbGV2ZXJkYXR1bVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RJUkVDVFwiOiBcIkRpcmVjdCBsZXZlcmJhYXJcIixcclxuICAgICAgXCJERUxJVkVSWV9MT0NBVElPTlwiOiBcIkJlem9yZ2luZ3Nsb2NhdGllXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTk9URVwiOiBcIkFmbGV2ZXJib25cIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRJT05TXCI6IFwiTGV2ZXJvcHRpZXNcIixcclxuICAgICAgXCJERUxJVkVSWV9NRVRIT0RcIjogXCJMZXZlcm1ldGhvZGVcIixcclxuICAgICAgXCJERUxJVkVSWV9NT01FTlRcIjogXCJMZXZlcm1vbWVudFwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVEFSVElDTEVfTlJJT05TXCI6IFwiQmV6b3Jnb3B0aWVzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfVElNRV9QRVJJT0RcIjogXCJMZXZlcnRpamRcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIk9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkRFVEFJTFNcIjogXCJEZXRhaWxzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRcIjogXCJLb3J0aW5nXCIsXHJcbiAgICAgIFwiRElTQ09VTlRTXCI6IFwiS29ydGluZ2VuXCIsXHJcbiAgICAgIFwiRElTQ09VTlRfQU1PVU5UXCI6IFwiS29ydGluZ3NiZWRyYWdcIixcclxuICAgICAgXCJESVNDT1VOVF9QRVJDRU5UQUdFXCI6IFwiS29ydGluZ3MgJVwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UXCI6IFwiQWFuYmV0YWxpbmdcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9QRVJDRU5UQUdFXCI6IFwiQWFuIHRlIGJldGFsZW4gJVwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0FNT1VOVFwiOiBcIkFhbiB0ZSBiZXRhbGVuIGJlZHJhZ1wiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0JZX0JSXCI6IFwiQmVyZWtlbmQgZG9vciBCUlwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX09OX0RFTElWRVJZXCI6IFwiUmVtYm91cnNcIixcclxuICAgICAgXCJEUk9QU0hJUE1FTlRcIjogXCJEcm9wc2hpcG1lbnRcIixcclxuICAgICAgXCJFQ09OT01JQ0FMX1NUT0NLXCI6IFwiTGF0ZXIgYmVzY2hpa2JhYXJcIixcclxuICAgICAgXCJFRElUX0NBUlRcIjogXCJXaWp6aWcgd2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJFTUFJTF9BRERSRVNTXCI6IFwiRS1tYWlsYWRyZXNcIixcclxuICAgICAgXCJFWENFRURFTkNFX0NPREVcIjogXCJVaXRsb29wY29kZVwiLFxyXG4gICAgICBcIkVYSVNUSU5HX0NVU1RPTUVSU1wiOiBcIkJlc3RhYW5kZSBrbGFudGVuXCIsXHJcbiAgICAgIFwiRVhQRUNURURfREVMSVZFUllfREFURVwiOiBcIihWZXJ3YWNodGUpIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9XRUVLXCI6IFwiKFZlcndhY2h0ZSkgbGV2ZXJ3ZWVrXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVFwiOiBcIkZhYnJpY2FnZXByaWpzXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVF9MSU5FX1RPVEFMXCI6IFwiRmFicmljYWdlcHJpanMgcmVnZWx0b3RhYWxcIixcclxuICAgICAgXCJGRU1BTEVcIjogXCJWcm91d1wiLFxyXG4gICAgICBcIkZJUlNUX05BTUVcIjogXCJWb29ybmFhbVwiLFxyXG4gICAgICBcIkZSRUVcIjogXCJHcmF0aXNcIixcclxuICAgICAgXCJGVUxMWV9BTExPQ0FURURcIjogXCJWb2xsZWRpZyB0b2VnZXdlemVuXCIsXHJcbiAgICAgIFwiRlVMTFlfQ09ORklSTUVEXCI6IFwiVm9sbGVkaWcgYmV2ZXN0aWdkXCIsXHJcbiAgICAgIFwiRlVMTFlfREVMSVZFUkVEXCI6IFwiVm9sbGVkaWcgZ2VsZXZlcmRcIixcclxuICAgICAgXCJGVUxMWV9SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJWb2xsZWRpZyBiaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIkZVTExZX0lOVk9JQ0VEXCI6IFwiVm9sbGVkaWcgZ2VmYWN0dXJlZXJkXCIsXHJcbiAgICAgIFwiRlVMTFlfVE9fQkVfUElDS0VEXCI6IFwiVm9sbGVkaWcgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiRlVMTFlfUElDS0VEXCI6IFwiVm9sbGVkaWcgZ2VwaWNrdFwiLFxyXG4gICAgICBcIkdST1NTX1BSSUNFXCI6IFwiQnJ1dG8gcHJpanNcIixcclxuICAgICAgXCJHT09EX0RFU0NSSVBUSU9OXCI6IFwiQXJ0aWtlbG9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkhBTkRMRURfQllcIjogXCJWZXJrb3BlclwiLFxyXG4gICAgICBcIkhPVVNFX05PXCI6IFwiSHVpc251bW1lclwiLFxyXG4gICAgICBcIkhPVVNFX05PX0FERElUSU9OXCI6IFwiSHVpc251bW1lciB0b2V2b2VnaW5nXCIsXHJcbiAgICAgIFwiSU5cIjogXCJJblwiLFxyXG4gICAgICBcIklOQUNUSVZFX1RSQU5TQUNUSU9OU1wiOiBcIkluYWN0aWV2ZSB0cmFuc2FjdGllc1wiLFxyXG4gICAgICBcIklOQ0xVRElOR19SRVRVUk5TXCI6IFwiSW5jbHVzaWVmIHJldG91cmVuXCIsXHJcbiAgICAgIFwiSU5fU0VBUkNIT1JERVJTXCI6IFwiSW4gdmVya29vcG9yZGVyc1wiLFxyXG4gICAgICBcIklOX09SREVSXCI6IFwiSW4gYmVzdGVsbGluZ1wiLFxyXG4gICAgICBcIklOX09VVF9DT0xMRUNUSU9OXCI6IFwiSW4tdWl0LWNvbGxlY3RpZVwiLFxyXG4gICAgICBcIklOVklURV9UT19BQ0NPVU5UXCI6IFwiVWl0bm9kaWdlbiB2b29yIGFjY291bnRcIixcclxuICAgICAgXCJJTlZPSUNFRFwiOiBcIkdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIklOVk9JQ0VcIjogXCJGYWN0dXJlcmVuXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTXCI6IFwiRmFjdHV1cmFkcmVzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0FERFwiOiBcIkZhY3R1dXJhZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQ0hBTkdFXCI6IFwiRmFjdHV1cmFkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9DSEVDS1wiOiBcIkZhY3R1dXJjb250cm9sZVwiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX0RBVEVcIjogXCJEYXR1bSBsYWF0c3RlIHdpanppZ2luZ1wiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX1VTRVJcIjogXCJHZWJydWlrZXIgbGFhdHN0ZSB3aWp6aWdpbmdcIixcclxuICAgICAgXCJMQVNUX05BTUVcIjogXCJBY2h0ZXJuYWFtXCIsXHJcbiAgICAgIFwiTElORV9ORUVEU19DT01NSVNTSU9OX0NPREVcIjogXCJEZSBjb21taXNpZWNvZGUgb250YnJlZWt0LiBWdWwgZGUgY29tbWlzc2llY29kZSBpbi5cIixcclxuICAgICAgXCJMT0NBVElPTlwiOiBcIkxvY2F0aWVcIixcclxuICAgICAgXCJMT0dJTlwiOiBcIklubG9nZ2VuXCIsXHJcbiAgICAgIFwiTE9HSU5fREVUQUlMU1wiOiBcIklubG9nZ2VnZXZlbnNcIixcclxuICAgICAgXCJMT0dJU1RJQ1NcIjogXCJMb2dpc3RpZWtcIixcclxuICAgICAgXCJMT0dJU1RJQ1NfQU5EX1BMQU5OSU5HXCI6IFwiTG9naXN0aWVrICYgcGxhbm5pbmdcIixcclxuICAgICAgXCJNQUlOX0FSVElDTEVcIjogXCJIb29mZCBhcnRpa2VsXCIsXHJcbiAgICAgIFwiTUFMRVwiOiBcIk1hblwiLFxyXG4gICAgICBcIk1BUktFVElOR1wiOiBcIk1hcmtldGluZ1wiLFxyXG4gICAgICBcIk1BUktFVElOR19DT0RFXCI6IFwiTWFya2V0aW5nY29kZVwiLFxyXG4gICAgICBcIk1FTlVcIjogXCJNZW51XCIsXHJcbiAgICAgIFwiTU9ESUZJQ0FUSU9OX1RJTUVcIjogXCJCZXdlcmtpbmdzdGlqZFwiLFxyXG4gICAgICBcIk1PUkVfRklMVEVSU1wiOiBcIk1lZXIgZmlsdGVyc1wiLFxyXG4gICAgICBcIk5BTUVcIjogXCJOYWFtXCIsXHJcbiAgICAgIFwiTkVUX0xJTkVfVE9UQUxcIjogXCJSZWdlbHRvdGFhbFwiLFxyXG4gICAgICBcIk5FVFRcIjogXCJOZXR0b1wiLFxyXG4gICAgICBcIk5FVFRPX1BSSUNFXCI6IFwiTmV0dG8gcHJpanNcIixcclxuICAgICAgXCJORVdfQVRcIjogXCJOaWV1dyBiaWogXCIsXHJcbiAgICAgIFwiTkVXX0xPQ0FUSU9OXCI6IFwiTmlldXdlIGxvY2F0aWVcIixcclxuICAgICAgXCJORVhUXCI6IFwiVm9sZ2VuZGVcIixcclxuICAgICAgXCJOT19JTUFHRVwiOiBcIkdlZW4gYWZiZWVsZGluZ1wiLFxyXG4gICAgICBcIk5PX1JFU1VMVFNcIjogXCJHZWVuIHJlc3VsdGF0ZW5cIixcclxuICAgICAgXCJOT1RfQUZURVJcIjogXCJOaWV0IGxhdGVyIGRhblwiLFxyXG4gICAgICBcIk5PVF9CRUZPUkVcIjogXCJOaWV0IGVlcmRlciBkYW5cIixcclxuICAgICAgXCJOT1RISU5HX0FMTE9DQVRFRFwiOiBcIk5pZXRzIHRvZWdld2V6ZW5cIixcclxuICAgICAgXCJOT1RISU5HX0NPTkZJUk1FRFwiOiBcIk5pZXRzIGJldmVzdGlnZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfREVMSVZFUkVEXCI6IFwiTmlldHMgZ2VsZXZlcmRcIixcclxuICAgICAgXCJOT1RISU5HX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIk5pZXRzIGJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiTk9USElOR19JTlZPSUNFRFwiOiBcIk5pZXRzIGdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfVE9fQkVfUElDS0VEXCI6IFwiTmlldHMgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiTk9USElOR19QSUNLRURcIjogXCJOaWV0cyBnZXBpY2t0XCIsXHJcbiAgICAgIFwiTlJcIjogXCJOdW1tZXJcIixcclxuICAgICAgXCJOVU1CRVJcIjogXCJBYW50YWxcIixcclxuICAgICAgXCJPTl9EQVRFXCI6IFwiT3AgZGF0dW1cIixcclxuICAgICAgXCJPTl9IT0xEXCI6IFwiR2VwYXV6ZWVyZFwiLFxyXG4gICAgICBcIk9QRU5fU0hPUFBJTkdfQ0FSVFwiOiBcIk9wZW4gd2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJPUkRFUl9DT05GSVJNQVRJT05TXCI6IFwiQmV2ZXN0aWdpbmdlblwiLFxyXG4gICAgICBcIk9SREVSX0RBVEVcIjogXCJPcmRlcmRhdHVtXCIsXHJcbiAgICAgIFwiT1JERVJfREFUQVwiOiBcIk9yZGVyZ2VnZXZlbnNcIixcclxuICAgICAgXCJPUkRFUl9ERUZJTklUSVZFXCI6IFwiT3JkZXIgZGVmaW5pdGllZlwiLFxyXG4gICAgICBcIk9SREVSX0dST1NTXCI6IFwiT3JkZXJ0b3RhYWwgYnJ1dG9cIixcclxuICAgICAgXCJPUkRFUl9MSU5FU1wiOiBcIk9yZGVycmVnZWxzXCIsXHJcbiAgICAgIFwiT1JERVJfTkVUXCI6IFwiT3JkZXJ0b3RhYWwgbmV0dG9cIixcclxuICAgICAgXCJPUkRFUl9OVU1CRVJcIjogXCJPcmRlcm51bW1lclwiLFxyXG4gICAgICBcIk9SREVSX1BBUkFNRVRFUlNcIjogXCJPcmRlcnBhcmFtZXRlcnNcIixcclxuICAgICAgXCJPUkRFUl9SVUxFXCI6IFwiT3JkZXJyZWdlbFwiLFxyXG4gICAgICBcIk9SREVSX1JVTEVTRVRcIjogXCJPcmRlcnJlZ2Vsc2V0XCIsXHJcbiAgICAgIFwiT1JERVJfVE9UQUxcIjogXCJPcmRlcnRvdGFhbFwiLFxyXG4gICAgICBcIk9SREVSX1RZUEVcIjogXCJUeXBlIGJlc3RlbGxpbmdcIixcclxuICAgICAgXCJPUkRFUkVEXCI6IFwiQmVzdGVsZFwiLFxyXG4gICAgICBcIk9USEVSXCI6IFwiT3ZlcmlnXCIsXHJcbiAgICAgIFwiT1ZFUlZJRVdfQU5EX1BBWU1FTlRcIjogXCJPdmVyemljaHQgZW4gYmV0YWxpbmdcIixcclxuICAgICAgXCJPV05fUkVGRVJFTkNFXCI6IFwiRWlnZW4gcmVmZXJlbnRpZVwiLFxyXG4gICAgICBcIlBBQ0tJTkdfU0xJUFwiOiBcIlBha2JvblwiLFxyXG4gICAgICBcIlBBSURfRE9XTjJcIjogXCJBYW5iZXRhYWxkXCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSWVwiOiBcIkRlZWxsZXZlcmluZ1wiLFxyXG4gICAgICBcIlBBUlRfREVMSVZFUklFU1wiOiBcIkRlZWxsZXZlcmluZ2VuXCIsXHJcbiAgICAgIFwiUEFSVExZX0FMTE9DQVRFRFwiOiBcIkdlZGVlbHRlbGlqayB0b2VnZXdlemVuXCIsXHJcbiAgICAgIFwiUEFSVExZX0NPTkZJUk1FRFwiOiBcIkdlZGVlbHRlbGlqayBiZXZlc3RpZ2RcIixcclxuICAgICAgXCJQQVJUTFlfREVMSVZFUkVEXCI6IFwiR2VkZWVsdGVsaWprIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiUEFSVExZX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIkdlZGVlbHRlbGlqayBiaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIlBBUlRMWV9JTlZPSUNFRFwiOiBcIkdlZGVlbHRlbGlqayBnZWZhY3R1cmVlcmRcIixcclxuICAgICAgXCJQQVJUTFlfVE9fQkVfUElDS0VEXCI6IFwiR2VkZWVsdGVsaWprIHRlIHBpY2tlblwiLFxyXG4gICAgICBcIlBBUlRMWV9QSUNLRURcIjogXCJHZWRlZWx0ZWxpamsgZ2VwaWNrdFwiLFxyXG4gICAgICBcIlBBU1NXT1JEXCI6IFwiV2FjaHR3b29yZFwiLFxyXG4gICAgICBcIlBBWVwiOiBcIkJldGFsZW5cIixcclxuICAgICAgXCJQQVlNRU5UXCI6IFwiQmV0YWxpbmdcIixcclxuICAgICAgXCJQQVlNRU5UX01FVEhPRFwiOiBcIkJldGFhbG1ldGhvZGVcIixcclxuICAgICAgXCJQRVJTT05BTF9EQVRBXCI6IFwiQmFzaXNnZWdldmVuc1wiLFxyXG4gICAgICBcIlBJQ0tFRFwiOiBcIkdlcGlja3RcIixcclxuICAgICAgXCJQSE9ORV9OT1wiOiBcIlRlbGVmb29ubnVtbWVyXCIsXHJcbiAgICAgIFwiUEhZU0lDQUxfU1RPQ0tcIjogXCJGeXNpZWtlIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUExBTk5JTkdcIjogXCJQbGFubmluZ1wiLFxyXG4gICAgICBcIlBPU1RBTF9DT0RFXCI6IFwiUG9zdGNvZGVcIixcclxuICAgICAgXCJQUkVGRVJSRURfREFURVwiOiBcIlZvb3JrZXVyc2RhdHVtXCIsXHJcbiAgICAgIFwiUFJFRklYXCI6IFwiVHVzc2Vudm9lZ3NlbFwiLFxyXG4gICAgICBcIlBSRVZJT1VTXCI6IFwiVm9yaWdlXCIsXHJcbiAgICAgIFwiUFJJQ0VcIjogXCJQcmlqc1wiLFxyXG4gICAgICBcIlBSSUNFX0xJU1RcIjogXCJQcmlqc2xpanN0XCIsXHJcbiAgICAgIFwiUFJJQ0lOR1wiOiBcIlByaWp6ZW5cIixcclxuICAgICAgXCJQUklWQUNZX1BSRUZFUkVOQ0VTXCI6IFwiUHJpdmFjeXZvb3JrZXVyZW5cIixcclxuICAgICAgXCJQUklWQVRFX1BFUlNPTlwiOiBcIlBhcnRpY3VsaWVyXCIsXHJcbiAgICAgIFwiUFJPRFVDVFwiOiBcIlByb2R1Y3RcIixcclxuICAgICAgXCJQUk9EVUNUX1RZUEVcIjogXCJQcm9kdWN0c29vcnRcIixcclxuICAgICAgXCJQVVJDSEFTRVwiOiBcIklua29vcFwiLFxyXG4gICAgICBcIlBVUkNIQVNFTlVNQkVSXCI6IFwiSW5rb29wbnVtbWVyXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VPUkRFUlNcIjogXCJJbmtvb3BvcmRlcnNcIixcclxuICAgICAgXCJQVVJDSEFTRV9QRVJTT05cIjogXCJJbmtvcGVyXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX1pFUk9fT1JfRU1QVFlcIjogXCJIZXQgYWFudGFsIG1hZyBnZWVuIDAgemlqbi5cIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX0RFTElWRVJFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gaGV0IGdlbGV2ZXJkZSBhYW50YWxcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX0RFTElWRVJFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gaGV0IGdlbGV2ZXJkZSBhYW50YWxcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTEVTU19USEFOX0lOVk9JQ0VEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBkZSBiZXN0ZWxkZSB2b29ycmFhZFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9NT1JFX1RIQU5fSU5WT0lDRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGRlIGJlc3RlbGRlIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX0xFU1NfVEhBTl9BTExPQ0FURURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGRkZSB0b2VnZXdlemVuIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX01PUkVfVEhBTl9BTExPQ0FURURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGRkZSB0b2VnZXdlemVuIHZvb3JyYWFkXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX0xFU1NfVEhBTl9SRUNFSVZFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gaGV0IGFhbnRhbCBvbnR2YW5nZW4uXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX01PUkVfVEhBTl9SRUNFSVZFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gaGV0IGFhbnRhbCBvbnR2YW5nZW5cIixcclxuICAgICAgXCJRVUFOVFVNX0RJU0NPVU5UXCI6IFwiS3dhbnR1bWtvcnRpbmdcIixcclxuICAgICAgXCJSRUNFSVBUX0RFVEFJTFNcIjogXCJPbnR2YW5nc3QgZGV0YWlsc1wiLFxyXG4gICAgICBcIlJFQ0VJVkVEXCI6IFwiT250dmFuZ3N0XCIsXHJcbiAgICAgIFwiUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiQmlubmVuZ2VtZWxkIC8gZ2VsZXZlcmRcIixcclxuICAgICAgXCJSRUNFSVZFRF9EQVRFXCI6IFwiT250dmFuZ3N0IGRhdHVtXCIsXHJcbiAgICAgIFwiUkVGRVJFTkNFXCI6IFwiUmVmZXJlbnRpZVwiLFxyXG4gICAgICBcIlJFRkVSRU5DRV9SRUxBVElPTlwiOiBcIlJlZi4gcmVsYXRpZVwiLFxyXG4gICAgICBcIlJFTEFUSU9OX05VTUJFUlwiOiBcIlJlbGF0aWVudW1tZXJcIixcclxuICAgICAgXCJSRU1BUktTXCI6IFwiT3BtZXJraW5nZW5cIixcclxuICAgICAgXCJSRVFVRVNURURfREVMSVZFUllcIjogXCJHZXZyYWFnZGUgbGV2ZXJkYXR1bVwiLFxyXG4gICAgICBcIlNBTFVUQVRJT05cIjogXCJBYW5oZWZcIixcclxuICAgICAgXCJTQUxFU09SREVSU1wiOiBcIlZlcmtvb3BvcmRlcnNcIixcclxuICAgICAgXCJTQU1FX0FTX0RFTElWRVJZXCI6IFwiSGV0emVsZmRlIGFscyBiZXpvcmdhZHJlc1wiLFxyXG4gICAgICBcIlNBVkVcIjogXCJPcHNsYWFuXCIsXHJcbiAgICAgIFwiU0VBUkNIXCI6IFwiWm9la2VuXCIsXHJcbiAgICAgIFwiU0VBUkNIX0FERF9BUlRJQ0xFXCI6IFwiWm9la2VuIGVuIHRvZXZvZWdlbiBhcnRpa2VsXCIsXHJcbiAgICAgIFwiU0VBUkNIX0RFTElWRVJZX01FVEhPRFwiOiBcIlpvZWsgbGV2ZXJtZXRob2RlXCIsXHJcbiAgICAgIFwiU0VBUkNIX0lOX0NPTExFQ1RJT05cIjogXCJab2VrIGJpbm5lbiBjb2xsZWN0aWUuLi5cIixcclxuICAgICAgXCJTRUFSQ0hfTlVNQkVSX0NVU1RPTUVSX09SX0RBVEVcIjogXCJab2VrZW4gb3AgbnVtbWVyLCBrbGFudCBvZiBkYXR1bVwiLFxyXG4gICAgICBcIlNFQVJDSF9XQVJFSE9VU0VcIjogXCJab2VrIG1hZ2F6aWpuXCIsXHJcbiAgICAgIFwiU0VMRUNUXCI6IFwiU2VsZWN0ZXJlblwiLFxyXG4gICAgICBcIlNFTEVDVF9BXCI6IFwiU2VsZWN0ZWVyIGVlblwiLFxyXG4gICAgICBcIlNFTEVDVF9DQVNIX1JFR0lTVEVSXCI6IFwiU2VsZWN0ZWVyIGthc3NhXCIsXHJcbiAgICAgIFwiU0VMRUNUX0RBVEVcIjogXCJTZWxlY3RlZXIgZWVuIHN0YXJ0LSBlbiBlaW5kZGF0dW1cIixcclxuICAgICAgXCJTRVJJQUxfTlVNQkVSXCI6IFwiU2VyaWVudW1tZXJcIixcclxuICAgICAgXCJTRVJWSUNFX05VTUJFUlwiOiBcIlNlcnZpY2VudW1tZXJcIixcclxuICAgICAgXCJTRVJWSUNFX1JFUVVFU1RfREFURVwiOiBcIkRhdHVtIGFhbnZyYWFnXCIsXHJcbiAgICAgIFwiU0VSVklDRV9TVEFURVwiOiBcIlNlcnZpY2Ugc3RhdHVzXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVFwiOiBcIldpbmtlbHdhZ2VuXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9DSEVDS09VVFwiOiBcIkJlc3RlbGxlblwiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRfT1ZFUlZJRVdcIjogXCJPdmVyemljaHQgdmFuIHV3IGJlc3RlbGxpbmdcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX1JFU1VNRVwiOiBcIlZlcmRlciB3aW5rZWxlblwiLFxyXG4gICAgICBcIlNIT1dfTU9SRVwiOiBcIlRvb24gbWVlclwiLFxyXG4gICAgICBcIlNIT1dfTEVTU1wiOiBcIlRvb24gbWluZGVyXCIsXHJcbiAgICAgIFwiU1BFQ0lBTF9ESVNDT1VOVFwiOiBcIlNwZWNpYWxlIGtvcnRpbmdcIixcclxuICAgICAgXCJTT1VSQ0VfV0FSRUhPVVNFXCI6IFwiQnJvbiBtYWdhemlqblwiLFxyXG4gICAgICBcIlNUT0NLXCI6IFwiVm9vcnJhYWRcIixcclxuICAgICAgXCJTVE9DS19OT1RJRklDQVRJT05cIjogXCJWb29ycmFhZG1lbGRpbmdcIixcclxuICAgICAgXCJTVE9DS19BVkFJTEFCTEVfQ0hBTkdFX1dBUkVIT1VTRV9PUl9DT01NSVNTSU9OQ09ERVwiOiBcIkVyIGlzIHZvbGRvZW5kZSB2b29ycmFhZC4gVmVyYW5kZXIgbWFnYXppam4gZW4vb2YgY29tbWlzc2llY29kZVwiLFxyXG4gICAgICBcIlNVQlRPVEFMXCI6IFwiU3VidG90YWFsXCIsXHJcbiAgICAgIFwiU1VHR0VTVElPTlNcIjogXCJTdWdnZXN0aWVzXCIsXHJcbiAgICAgIFwiU1VQUExJRVJcIjogXCJMZXZlcmFuY2llclwiLFxyXG4gICAgICBcIlNVUkNIQVJHRV9BTU9VTlRcIjogXCJUb2VzbGFnXCIsXHJcbiAgICAgIFwiU1RBVEVcIjogXCJTdGF0dXNcIixcclxuICAgICAgXCJTVFJFRVRcIjogXCJTdHJhYXRuYWFtXCIsXHJcbiAgICAgIFwiVEFHU1wiOiBcIlRhZ3NcIixcclxuICAgICAgXCJURVhUX0FSVElDTEVfQk9VTkRcIjogXCJUZXh0IGJpaiBhcnRpa2VsIHx+XCIsXHJcbiAgICAgIFwiVE9fUkVQT1JUX0lOXCI6ICdCaW5uZW4gdGUgbWVsZGVuJyxcclxuICAgICAgXCJUT19CRV9QSUNLRURcIjogXCJUZSBwaWNrZW5cIixcclxuICAgICAgXCJUT19ERUxJVkVSXCI6IFwiVGUgbGV2ZXJlblwiLFxyXG4gICAgICBcIlRPX1BBWVwiOiBcIlRlIGJldGFsZW5cIixcclxuICAgICAgXCJUT1RBTF9BTU9VTlRcIjogXCJUb3RhYWxiZWRyYWdcIixcclxuICAgICAgXCJUT1RBTF9BU1NFTUJMWV9USU1FXCI6IFwiVG90YWxlIG1vbnRhZ2V0aWpkXCIsXHJcbiAgICAgIFwiVE9UQUxfR1JPU1NcIjogXCJUb3RhYWwgYnJ1dG9cIixcclxuICAgICAgXCJUT1RBTF9MSU5FX0RJU0NPVU5UXCI6IFwiVG90YWxlIHJlZ2Vsa29ydGluZ1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RBVEVcIjogXCJPcmRlcmRhdHVtXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRcIjogXCJUb3RhbGUgdHJhbnNhY3RpZSBrb3J0aW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQ1wiOiBcIiUgVHJhbnMuIGtvcnRpbmdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9QUklDRV9ERUNMQVJBVElPTlwiOiBcIk9yZGVyIHByaWpzdmVya2xhcmluZ1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1NVTV9JXCI6IFwiT3JkZXJ0b3RhYWwgaW5jbC4gQlRXXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fVE9UQUxcIjogXCJUcmFuc2FjdGllIHRvdGFhbFwiLFxyXG4gICAgICBcIlRSQU5TUE9SVFwiOiBcIlRyYW5zcG9ydFwiLFxyXG4gICAgICBcIlRSQU5TUE9SVF9DT1NUXCI6IFwiVHJhbnNwb3J0a29zdGVuXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RfTElORV9UT1RBTFwiOiBcIlRyYW5zcG9ydGtvc3RlbiByZWdlbHRvdGFhbFwiLFxyXG4gICAgICBcIlRVUk5PVkVSX0dST1VQXCI6IFwiT216ZXRncm9lcFwiLFxyXG4gICAgICBcIlRZUEVcIjogXCJTb29ydFwiLFxyXG4gICAgICBcIlVOS05PV05cIjogXCJPbmJla2VuZFwiLFxyXG4gICAgICBcIlVOS05PV05fQUREUkVTU19DSEVDS19JVFwiOiBcIk9uYmVrZW5kIGFkcmVzXCIsXHJcbiAgICAgIFwiVVNFUlwiOiBcIkdlYnJ1aWtlclwiLFxyXG4gICAgICBcIlZBVFwiOiBcIkJ0d1wiLFxyXG4gICAgICBcIlZBVF9BTU9VTlRcIjogXCJCVFctYmVkcmFnXCIsXHJcbiAgICAgIFwiVkFMVUVcIjogXCJXYWFyZGVcIixcclxuICAgICAgXCJXSEVSRV9BUkVfWU9VX0xPT0tJTkdfRk9SXCI6IFwiV2FhciBiZW4gamUgbmFhciBvcCB6b2VrP1wiLFxyXG4gICAgICBcIldBUkVIT1VTRVwiOiBcIk1hZ2F6aWpuXCIsXHJcbiAgICAgIFwiWU9VUl9EQVRBXCI6IFwiR2VnZXZlbnNcIixcclxuICAgICAgXCJTVEFOREFSRF9URVhUU1wiOlwiU3RhbmRhYXJkdGVrc3RlblwiLFxyXG4gICAgICBcIkFSVElDTEVfQk9VTkRfVEVYVFwiOiBcIkFydGlrZWxnZWJvbmRlbiB0ZWtzdFwiLFxyXG4gICAgICBcIkZPUl9ET0NVTUVOVFNcIjogXCJCZXN0ZW1kIHZvb3IgZG9jdW1lbnRlblwiLFxyXG4gICAgICBcIkNIQU5HRV9BUlRJQ0xFX1RFWFRcIjogXCJXaWp6aWdlbiBhcnRpa2VsdGVrc3RcIixcclxuICAgIH0sXHJcbiAgICBcImRlXCI6IHt9LFxyXG4gICAgXCJmclwiOiB7fSxcclxuICAgIFwiZW5cIjoge1xyXG4gICAgICBcIkFDQ09VTlRfREVUQUlMU1wiOiBcIkFjY291bnQgZGV0YWlsc1wiLFxyXG4gICAgICBcIkFDQ09VTlRfRVhQTEFOQVRJT05cIjogXCJFLW1haWxhZGRyZXNzIGFuZCBwYXNzd29yZCBhcmUgbmVlZGVkIHRvIGdhaW4gYWNjZXNzIHRvIHRoZSBkYXRhLiBXZSBhbHNvIG5vdGlmeSB5b3Ugb24gdGhpcyBlLW1haWxhZGRyZXNzIGFib3V0IHRoZSBvcmRlciBzdGF0dXNcIixcclxuICAgICAgXCJBQ1RJVkVcIjogXCJBY3RpdmVcIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9MSU5FX1VQXCI6IFwiQWRkIGFydGljbGUgbGluZSB1cFwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfRE9XTlwiOiBcIkFkZCBhcnRpY2xlIGxpbmUgZG93blwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9VUFwiOiBcIkFkZCB0ZXh0IGxpbmUgdXBcIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfRE9XTlwiOiBcIkFkZCB0ZXh0IGxpbmUgZG93blwiLFxyXG4gICAgICBcIkFERF9ERUxJVkVSWV9PUFRJT05cIjogXCJBZGQgZGVsaXZlcnkgb3B0aW9uXCIsXHJcbiAgICAgIFwiQUREX0RJU0NPVU5UU1wiOiBcIkFkZCBkaXNjb3VudFwiLFxyXG4gICAgICBcIkFERF9SRUZFUkVOQ0VcIjogXCJBZGQgcmVmZXJlbmNlXCIsXHJcbiAgICAgIFwiQUREX1JFTUFSS1wiOiBcIkFkZCByZW1hcmtcIixcclxuICAgICAgXCJBRERSRVNTXCI6IFwiQWRkcmVzc1wiLFxyXG4gICAgICBcIkFERFJFU1NFU1wiOiBcIkFkZHJlc3Nlc1wiLFxyXG4gICAgICBcIkFERFJFU1NfQUREXCI6IFwiQWRkIGFkZHJlc3NcIixcclxuICAgICAgXCJBRERSRVNTX0NIQU5HRVwiOiBcIkNoYW5nZSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiQURNSU5JU1RSQVRJVkVfTUFOQUdFUlwiOiBcIkFkbWluaXN0cmF0aXZlIG1hbmFnZXJcIixcclxuICAgICAgXCJBTExPQ0FURURcIjogXCJBbGxvY2F0ZWRcIixcclxuICAgICAgXCJBTFdBWVNfU0hPV19MT0dJU1RJQ1NfUE9QVVBcIjogXCJDaGVjayB3YXJlaG91c2UgYW5kIGNvbW1pc3Npb25jb2RlXCIsXHJcbiAgICAgIFwiQVJSSVZBTF9EQVRFXCI6IFwiQXJyaXZhbCBkYXRlXCIsXHJcbiAgICAgIFwiQVJUSUNMRVwiOiBcIkFydGljbGVcIixcclxuICAgICAgXCJBUlRJQ0xFX0RFU0NSSVBUSU9OXCI6IFwiQXJ0aWNsZSBkZXNjcmlwdGlvblwiLFxyXG4gICAgICBcIkFSVElDTEVfSU1BR0VcIjogXCJBcnRpY2xlIGltYWdlXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTl9PVVRfQ09MTEVDVElPTlwiOiBcIlN0YXR1cyBvZiBhcnRpY2xlIGlzICd8ficuIEFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkP1wiLFxyXG4gICAgICBcIkFSVElDTEVfTlJcIjogXCJBcnRpY2xlIG51bWJlclwiLFxyXG4gICAgICBcIkFSVElDTEVfTlJfU1VQUExJRVJcIjogXCJBcnRpa2VsbnIgc3VwcGxpZXJcIixcclxuICAgICAgXCJBUlRJQ0xFX1VOS05PV05cIjogXCJBcnRpY2xlIHVua25vd25cIixcclxuICAgICAgXCJBU1NFTUJMWV9DT1NUU1wiOiBcIkFzc2VtYmx5IGNvc3RzXCIsXHJcbiAgICAgIFwiQVNTRU1CTFlfREFURVwiOiBcIkFzc2VtYmx5IGRhdGVcIixcclxuICAgICAgXCJBU1NFTUJMWV9USU1FXCI6IFwiQXNzZW1ibHkgdGltZVwiLFxyXG4gICAgICBcIkFNT1VOVFwiOiBcIkFtb3VudFwiLFxyXG4gICAgICBcIkJBQ0tcIjogXCJCYWNrXCIsXHJcbiAgICAgIFwiQkFMQU5DRVwiOiBcIkJhbGFuY2VcIixcclxuICAgICAgXCJCQVRDSF9OVU1CRVJcIjogXCJCYXRjaG51bWJlclwiLFxyXG4gICAgICBcIkJSQU5DSFwiOiBcIkJyYW5jaFwiLFxyXG4gICAgICBcIkJSQU5DSF9OVU1CRVJcIjogXCJCcmFuY2ggbnVtYmVyXCIsXHJcbiAgICAgIFwiQlVTSU5FU1NfUlVMRV9ESVNDT1VOVFwiOiBcIkJ1c2luZXNzIHJ1bGUgZGlzY291bnRcIixcclxuICAgICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgICAgXCJDQU5OT1RfQ0hBTkdFX05FR0FUSVZFX1FVQU5USVRZXCI6IFwiQSBuZWdhdGl2ZSBzdXBwbHkgY2Fubm90IGJlIGNoYW5nZWQuXCIsXHJcbiAgICAgIFwiQ0FSVFwiOiBcIkNhcnRcIixcclxuICAgICAgXCJDSEFOR0VfREFUQVwiOiBcIkNoYW5nZSBkYXRhXCIsXHJcbiAgICAgIFwiQ0hBUkFDVEVSSVNUSUNfUVVFU1RJT05cIjogXCJDaGFyYWN0ZXJpc3RpYyBxdWVzdGlvblwiLFxyXG4gICAgICBcIkNIRUNLX1dBUkVIT1VTRV9BTkRfQ09NTUlTU0lPTkNPREVcIjogXCJDaGVjayB3YXJlaG91c2UgYW5kIGNvbW1pc3Npb25jb2RlXCIsXHJcbiAgICAgIFwiQ0hFQ0tPVVRfRklOSVNIXCI6IFwiRmluaXNoIGNoZWNrb3V0XCIsXHJcbiAgICAgIFwiQ0lUWVwiOiBcIkNpdHlcIixcclxuICAgICAgXCJDTElFTlRfREFUQVwiOiBcIkNsaWVudCBkYXRhXCIsXHJcbiAgICAgIFwiQ09NUEFOWVwiOiBcIkNvbXBhbnlcIixcclxuICAgICAgXCJDT01QQU5ZX05BTUVcIjogXCJDb21wYW55IG5hbWVcIixcclxuICAgICAgXCJDT01NSVNTSU9OX0NPREVcIjogXCJDb21taXNzaW9uIGNvZGVcIixcclxuICAgICAgXCJDT05GSVJNQVRJT05cIjogXCJDb25maXJtYXRpb25cIixcclxuICAgICAgXCJDT05GSVJNRURfREFURVwiOiBcIkNvbmZpcm1lZCBkYXRlXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX0RFTElWRVJZX0RBVEVcIjogXCJDb25maXJtZWQgZGVsaXZlcnkgZGF0ZVwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9QUklDRVwiOiBcIkNvbmZpcm1lZCBwcmljZVwiLFxyXG4gICAgICBcIkNPTlRBQ1RfREVUQUlMU1wiOiBcIkNvbnRhY3RkZXRhaWxzXCIsXHJcbiAgICAgIFwiQ09OVElOVUVcIjogXCJOZXh0XCIsXHJcbiAgICAgIFwiQ09ORklSTUVEXCI6IFwiQ29uZmlybWVkXCIsXHJcbiAgICAgIFwiQ09OVElOVUVfT1JERVJfV0hJTEVfU1RPQ0tfQVZBSUxBQkxFX1BMRUFTRV9DT05GSVJNXCI6IFwiWW91IGhhdmUgY2hvc2VuIHRvIG9yZGVyIGFydGljbGVzIHdoaWxlIHN0b2NrIGlzIHN0aWxsIGF2YWlsYWJsZS4gRG8geW91IHdpc2ggdG8gcHJvY2VlZD9cIixcclxuICAgICAgXCJDT05USU5VRV9XSVRIT1VUX0FDQ09VTlRcIjogXCJDb250aW51ZSB3aXRob3V0IGFuIGFjY291bnRcIixcclxuICAgICAgXCJDT1NUU1wiOiBcIkNvc3RzXCIsXHJcbiAgICAgIFwiQ09VTlRSWVwiOiBcIkNvdW50cnlcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVFwiOiBcIkNyZWF0ZSBhbiBhY2NvdW50XCIsXHJcbiAgICAgIFwiQ1JFQVRFX0FDQ09VTlRfSU5fMl9NSU5cIjogXCJDcmVhdGUgYW4gYWNjb3VudCBpbiAyIG1pbnV0ZXMuXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJcIjogXCJDdXN0b21lclwiLFxyXG4gICAgICBcIkNVU1RPTUVSX0dST1VQXCI6IFwiQ3VzdG9tZXJncm91cFwiLFxyXG4gICAgICBcIkNVU1RPTUVSX05BTUVcIjogXCJDdXN0b21lciBuYW1lXCIsXHJcbiAgICAgIFwiREFURVwiOiBcIkRhdGVcIixcclxuICAgICAgXCJEQVRFX09GX0JJUlRIXCI6IFwiRGF0ZSBvZiBiaXJ0aFwiLFxyXG4gICAgICBcIkRFRklOSVRJVkVcIjogXCJEZWZpbml0aXZlXCIsXHJcbiAgICAgIFwiREVMRVRFXCI6IFwiRGVsZXRlXCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVcIjogXCJEZWxldGUgdHJhbnNhY3Rpb24gbGluZSB2ZXJ3aWpkZXJlbj9cIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9ISU5UXCI6IFwiRGVsZXRlIHRyYW5zYWN0aW9uIGxpbmVcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9GQUlMRURcIjogXCJEZWxldGlvbiBvZiB0cmFuc2FjdGlvbiBsaW5lIGhhcyBmYWlsZWRcIixcclxuICAgICAgXCJERUxJVkVSRURcIjogXCJEZWxpdmVyZWRcIixcclxuICAgICAgXCJERUxJVkVSWVwiOiBcIkRlbGl2ZXJ5XCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU1wiOiBcIkRlbGl2ZXJ5IGFkZHJlc3NcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0FERFwiOiBcIkFkZCBkZWxpdmVyeSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU19DSEFOR0VcIjogXCJDaGFuZ2UgZGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0JBVENIXCI6IFwiRGVsaXZlcnkgYmF0Y2hcIixcclxuICAgICAgXCJERUxJVkVSWV9DT1NUU1wiOiBcIkRlbGl2ZXJ5IGNvc3RzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFUQVwiOiBcIkRlbGl2ZXJ5ZGF0YVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEVcIjogXCJEZWxpdmVyeSBkYXRlXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9ERUZJTklUSVZFXCI6IFwiRGVsaXZlcnkgZGF0ZSBkZWZpbml0aXZlXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9GSU5BTFwiOiBcIkZpbmFsIGRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJERUxJVkVSWV9ESVJFQ1RcIjogXCJEaXJlY3QgZGVsaXZlcnlcIixcclxuICAgICAgXCJERUxJVkVSWV9MT0NBVElPTlwiOiBcIkRlbGl2ZXJ5IGxvY2F0aW9uXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTk9URVwiOiBcIkRlbGl2ZXJ5IG5vdGVcIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRJT05TXCI6IFwiRGVsaXZlcnkgb3B0aW9uc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX01FVEhPRFwiOiBcIkRlbGl2ZXJ5IG1ldGhvZFwiLFxyXG4gICAgICBcIkRFTElWRVJZX01PTUVOVFwiOiBcIkRlbGl2ZXJ5IG1vbWVudFwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVEFSVElDTEVfTlJJT05TXCI6IFwiRGVsaXZlcnkgb3B0aW9uc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX1RJTUVfUEVSSU9EXCI6IFwiRGVsaXZlcnkgdGltZSBwZXJpb2RcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIkRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIFwiREVUQUlMU1wiOiBcIkRldGFpbHNcIixcclxuICAgICAgXCJESVNDT1VOVFwiOiBcIkRpc2NvdW50XCIsXHJcbiAgICAgIFwiRElTQ09VTlRTXCI6IFwiRGlzY291bnRzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRfQU1PVU5UXCI6IFwiRGlzY291bnQgYW1vdW50XCIsXHJcbiAgICAgIFwiRElTQ09VTlRfUEVSQ0VOVEFHRVwiOiBcIkRpc2NvdW50ICVcIixcclxuICAgICAgXCJET1dOUEFZTUVOVFwiOiBcIkRvd25wYXltZW50XCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfUEVSQ0VOVEFHRVwiOiBcIlBlcmNlbnRhZ2UgdG8gYmUgcGFpZFwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0FNT1VOVFwiOiBcIkFtb3VudCB0byBiZSBwYWlkXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfQllfQlJcIjogXCJDYWxjdWxhdGVkIGJ5IEJSXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRfT05fREVMSVZFUllcIjogXCJPbiBkZWxpdmVyeVwiLFxyXG4gICAgICBcIkRST1BTSElQTUVOVFwiOiBcIkRyb3BzaGlwbWVudFwiLFxyXG4gICAgICBcIkVESVRfQ0FSVFwiOiBcIkVkaXQgY2FydFwiLFxyXG4gICAgICBcIkVNQUlMX0FERFJFU1NcIjogXCJFLW1haWxhZHJlc1wiLFxyXG4gICAgICBcIkVYQ0VFREVOQ0VfQ09ERVwiOiBcIkV4Y2VlZGVuY2UgY29kZVwiLFxyXG4gICAgICBcIkVYSVNUSU5HX0NVU1RPTUVSU1wiOiBcIkV4aXN0aW5nIGN1c3RvbWVyc1wiLFxyXG4gICAgICBcIkVYUEVDVEVEX0RFTElWRVJZX0RBVEVcIjogXCIoRXhwZWN0ZWQpIGRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9XRUVLXCI6IFwiKEV4cGVjdGVkKSBkZWxpdmVyeSB3ZWVrXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVFwiOiBcIkZhYnJpY2F0aW9uY29zdFwiLFxyXG4gICAgICBcIkZBQlJJQ0FUSU9OX0NPU1RfTElORV9UT1RBTFwiOiBcIkZhYnJpY2F0aW9uY29zdCBsaW5ldG90YWxcIixcclxuICAgICAgXCJGRU1BTEVcIjogXCJGZW1hbGVcIixcclxuICAgICAgXCJGSVJTVF9OQU1FXCI6IFwiRmlyc3QgbmFtZVwiLFxyXG4gICAgICBcIkZSRUVcIjogXCJGcmVlXCIsXHJcbiAgICAgIFwiRlVMTFlfQUxMT0NBVEVEXCI6IFwiRnVsbHkgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiRlVMTFlfQ09ORklSTUVEXCI6IFwiRnVsbHkgY29uZmlybWVkXCIsXHJcbiAgICAgIFwiRlVMTFlfREVMSVZFUkVEXCI6IFwiRnVsbHkgZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiRlVMTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiRnVsbHkgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJGVUxMWV9JTlZPSUNFRFwiOiBcIkZ1bGx5IGludm9pY2VkXCIsXHJcbiAgICAgIFwiRlVMTFlfVE9fQkVfUElDS0VEXCI6IFwiRnVsbHkgdG8gYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiRlVMTFlfUElDS0VEXCI6IFwiRnVsbHkgcGlja2VkXCIsXHJcbiAgICAgIFwiR09PRF9ERVNDUklQVElPTlwiOiBcIkFydGljbGUgZGVzY3JpcHRpb25cIixcclxuICAgICAgXCJHUk9TU19QUklDRVwiOiBcIkdyb3NzIHByaWNlXCIsXHJcbiAgICAgIFwiSEFORExFRF9CWVwiOiBcIkhhbmRsZWQgYnlcIixcclxuICAgICAgXCJIT1VTRV9OT1wiOiBcIkhvdXNlbnVtYmVyXCIsXHJcbiAgICAgIFwiSE9VU0VfTk9fQURESVRJT05cIjogXCJIb3VzZW51bWJlciBhZGRpdGlvblwiLFxyXG4gICAgICBcIklOXCI6IFwiSW5cIixcclxuICAgICAgXCJJTkFDVElWRV9UUkFOU0FDVElPTlNcIjogXCJJbmFjdGlldmUgdHJhbnNhY3RpZXNcIixcclxuICAgICAgXCJJTkNMVURJTkdfUkVUVVJOU1wiOiBcIkluY2x1ZGluZyByZXR1cm5zXCIsXHJcbiAgICAgIFwiSU5fU0VBUkNIT1JERVJTXCI6IFwiSW4gc2FsZXMgb3JkZXJzXCIsXHJcbiAgICAgIFwiSU5fT1JERVJcIjogXCJJbiBvcmRlclwiLFxyXG4gICAgICBcIklOX09VVF9DT0xMRUNUSU9OXCI6IFwiSW4tb3V0LWNvbGxlY3Rpb25cIixcclxuICAgICAgXCJJTlZJVEVfVE9fQUNDT1VOVFwiOiBcIkludml0ZSBhY2NvdW50XCIsXHJcbiAgICAgIFwiSU5WT0lDRURcIjogXCJJbnZvaWNlZFwiLFxyXG4gICAgICBcIklOVk9JQ0VcIjogXCJJbnZvaWNlXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTXCI6IFwiSW52b2ljZSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0FERFwiOiBcIkFkZCBpbnZvaWNlIGFkZHJlc3NcIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQ0hBTkdFXCI6IFwiQ2hhbmdlIGludm9pY2UgYWRkcmVzc1wiLFxyXG4gICAgICBcIklOVk9JQ0VfQ0hFQ0tcIjogXCJJbnZvaWNlIGNoZWNrXCIsXHJcbiAgICAgIFwiTEFTVF9FRElURURfREFURVwiOiBcIkRhdGUgbGFzdCBtdXRhdGlvblwiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX1VTRVJcIjogXCJVc2VyIGxhc3QgbXV0YXRpb25cIixcclxuICAgICAgXCJMQVNUX05BTUVcIjogXCJMYXN0IG5hbWVcIixcclxuICAgICAgXCJMSU5FX05FRURTX0NPTU1JU1NJT05fQ09ERVwiOiBcIkxpbmUgbmVlZHMgYSBjb21taXNzaW9uIGNvZGVcIixcclxuICAgICAgXCJMT0NBVElPTlwiOiBcIkxvY2F0aW9uXCIsXHJcbiAgICAgIFwiTE9HSU5cIjogXCJMb2dpblwiLFxyXG4gICAgICBcIkxPR0lOX0RFVEFJTFNcIjogXCJMb2dpbiBkZXRhaWxzXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTXCI6IFwiTG9naXN0aWNzXCIsXHJcbiAgICAgIFwiTE9HSVNUSUNTX0FORF9QTEFOTklOR1wiOiBcIkxvZ2lzdGljcyAmIHBsYW5uaW5nXCIsXHJcbiAgICAgIFwiTUFJTl9BUlRJQ0xFXCI6IFwiTWFpbiBhcnRpY2xlXCIsXHJcbiAgICAgIFwiTUFMRVwiOiBcIk1hbGVcIixcclxuICAgICAgXCJNQVJLRVRJTkdcIjogXCJNYXJrZXRpbmdcIixcclxuICAgICAgXCJNQVJLRVRJTkdfQ09ERVwiOiBcIk1hcmtldGluZ2NvZGVcIixcclxuICAgICAgXCJNRU5VXCI6IFwiTWVudVwiLFxyXG4gICAgICBcIk1PRElGSUNBVElPTl9USU1FXCI6IFwiTW9kaWZpY2F0aW9uIHRpbWVcIixcclxuICAgICAgXCJNT1JFX0ZJTFRFUlNcIjogXCJNb3JlIGZpbHRlcnNcIixcclxuICAgICAgXCJOQU1FXCI6IFwiTmFtZVwiLFxyXG4gICAgICBcIk5FVF9MSU5FX1RPVEFMXCI6IFwiTGluZXRvdGFsXCIsXHJcbiAgICAgIFwiTkVUVFwiOiBcIk5ldFwiLFxyXG4gICAgICBcIk5FVFRPX1BSSUNFXCI6IFwiTmV0dG8gcHJpY2VcIixcclxuICAgICAgXCJORVdfQVRcIjogXCJOZXcgYXQgXCIsXHJcbiAgICAgIFwiTkVXX0xPQ0FUSU9OXCI6IFwiTmV3IGxvY2F0aW9uXCIsXHJcbiAgICAgIFwiTkVYVFwiOiBcIk5leHRcIixcclxuICAgICAgXCJOT19JTUFHRVwiOiBcIk5vIGltYWdlIGF2YWlsYWJsZVwiLFxyXG4gICAgICBcIk5PX1JFU1VMVFNcIjogXCJObyByZXN1bHRzXCIsXHJcbiAgICAgIFwiTk9UX0FGVEVSXCI6IFwiTm90IGFmdGVyXCIsXHJcbiAgICAgIFwiTk9UX0JFRk9SRVwiOiBcIk5vdCBiZWZvcmVcIixcclxuICAgICAgXCJOT1RISU5HX0FMTE9DQVRFRFwiOiBcIk5vdGhpbmcgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiTk9USElOR19DT05GSVJNRURcIjogXCJOb3RoaW5nIGNvbmZpcm1lZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfREVMSVZFUkVEXCI6IFwiTm90aGluZyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJOT1RISU5HX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIk5vdGhpbmcgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJOT1RISU5HX0lOVk9JQ0VEXCI6IFwiTm90aGluZyBpbnZvaWNlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfVE9fQkVfUElDS0VEXCI6IFwiTm90aGluZyB0byBiZSBwaWNrZWRcIixcclxuICAgICAgXCJOT1RISU5HX1BJQ0tFRFwiOiBcIk5vdGhpbmcgcGlja2VkXCIsXHJcbiAgICAgIFwiTlJcIjogXCJOdW1iZXJcIixcclxuICAgICAgXCJOVU1CRVJcIjogXCJBbW91bnRcIixcclxuICAgICAgXCJPTl9EQVRFXCI6IFwiT24gZGF0ZVwiLFxyXG4gICAgICBcIk9OX0hPTERcIjogXCJPbiBob2xkXCIsXHJcbiAgICAgIFwiT1BFTl9TSE9QUElOR19DQVJUXCI6IFwiT3BlbiBzaG9wcGluZyBjYXJ0XCIsXHJcbiAgICAgIFwiT1JERVJfQ09ORklSTUFUSU9OU1wiOiBcIk9yZGVyIGNvbmZpcm1hdGlvbnNcIixcclxuICAgICAgXCJPUkRFUl9EQVRFXCI6IFwiT3JkZXIgZGF0ZVwiLFxyXG4gICAgICBcIk9SREVSX0RBVEFcIjogXCJPcmRlcmRhdGFcIixcclxuICAgICAgXCJPUkRFUl9ERUZJTklUSVZFXCI6IFwiT3JkZXIgZGVmaW5pdGl2ZVwiLFxyXG4gICAgICBcIk9SREVSX0dST1NTXCI6IFwiVG90YWwgZ3Jvc3MgYW1vdW50XCIsXHJcbiAgICAgIFwiT1JERVJfTElORVNcIjogXCJPcmRlcmxpbmVzXCIsXHJcbiAgICAgIFwiT1JERVJfTkVUXCI6IFwiVG90YWwgbmV0IGFtb3VudFwiLFxyXG4gICAgICBcIk9SREVSX05VTUJFUlwiOiBcIk9yZGVyIG51bWJlclwiLFxyXG4gICAgICBcIk9SREVSX1BBUkFNRVRFUlNcIjogXCJPcmRlciBwYXJhbWV0ZXJzXCIsXHJcbiAgICAgIFwiT1JERVJfUlVMRVwiOiBcIk9yZGVyIHJ1bGVcIixcclxuICAgICAgXCJPUkRFUl9SVUxFU0VUXCI6IFwiT3JkZXJydWxlc2V0XCIsXHJcbiAgICAgIFwiT1JERVJfVE9UQUFMXCI6IFwiT3JkZXIgdG90YWxcIixcclxuICAgICAgXCJPUkRFUl9UWVBFXCI6IFwiT3JkZXIgdHlwZVwiLFxyXG4gICAgICBcIk9SREVSRURcIjogXCJPcmRlcmVkXCIsXHJcbiAgICAgIFwiT1RIRVJcIjogXCJPdGhlclwiLFxyXG4gICAgICBcIk9WRVJWSUVXX0FORF9QQVlNRU5UXCI6IFwiT3ZlcnZpZXcgYW5kIHBheW1lbnRcIixcclxuICAgICAgXCJPV05fUkVGRVJFTkNFXCI6IFwiT3duIHJlZmVyZW5jZVwiLFxyXG4gICAgICBcIlBBQ0tJTkdfU0xJUFwiOiBcIlBhY2tpbmcgc2xpcFwiLFxyXG4gICAgICBcIlBBSURfRE9XTjJcIjogXCJQcmVwYWlkXCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSWVwiOiBcIlBhcnRpYWwgZGVsaXZlcnlcIixcclxuICAgICAgXCJQQVJUX0RFTElWRVJJRVNcIjogXCJQYXJ0aWFsIGRlbGl2ZXJpZXNcIixcclxuICAgICAgXCJQQVJUTFlfQUxMT0NBVEVEXCI6IFwiUGFydGx5IGFsbG9jYXRlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9DT05GSVJNRURcIjogXCJQYXJ0bHkgY29uZmlybWVkXCIsXHJcbiAgICAgIFwiUEFSVExZX0RFTElWRVJFRFwiOiBcIlBhcnRseSBkZWxpdmVyZWRcIixcclxuICAgICAgXCJQQVJUTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiUGFydGx5IHJlY2VpdmVkIC8gZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiUEFSVExZX0lOVk9JQ0VEXCI6IFwiUGFydGx5IGludm9pY2VkXCIsXHJcbiAgICAgIFwiUEFSVExZX1RPX0JFX1BJQ0tFRFwiOiBcIlBhcnRseSB0byBiZSBwaWNrZWRcIixcclxuICAgICAgXCJQQVJUTFlfUElDS0VEXCI6IFwiUGFydGx5IHBpY2tlZFwiLFxyXG4gICAgICBcIlBBU1NXT1JEXCI6IFwiUGFzc3dvcmRcIixcclxuICAgICAgXCJQQVlcIjogXCJQYXlcIixcclxuICAgICAgXCJQQVlNRU5UXCI6IFwiUGF5bWVudFwiLFxyXG4gICAgICBcIlBBWU1FTlRfTUVUSE9EXCI6IFwiUGF5bWVudCBtZXRob2RcIixcclxuICAgICAgXCJQRVJTT05BTF9EQVRBXCI6IFwiUGVyc29uYWwgZGF0YVwiLFxyXG4gICAgICBcIlBIT05FX05PXCI6IFwiVGVsZXBob25lIG51bWJlclwiLFxyXG4gICAgICBcIlBMQU5OSU5HXCI6IFwiUGxhbm5pbmdcIixcclxuICAgICAgXCJQSUNLRURcIjogXCJQaWNrZWRcIixcclxuICAgICAgXCJQT1NUQUxfQ09ERVwiOiBcInBvc3RhbCBjb2RlXCIsXHJcbiAgICAgIFwiUFJFRkVSUkVEX0RBVEVcIjogXCJQcmVmZXJyZWQgZGF0ZVwiLFxyXG4gICAgICBcIlBSRUZJWFwiOiBcIlByZWZpeFwiLFxyXG4gICAgICBcIlBSRVZJT1VTXCI6IFwiUHJldmlvdXNcIixcclxuICAgICAgXCJQUklDRVwiOiBcIlByaWNlXCIsXHJcbiAgICAgIFwiUFJJQ0VfTElTVFwiOiBcIlByaWNlbGlzdFwiLFxyXG4gICAgICBcIlBSSUNJTkdcIjogXCJQcmljaW5nXCIsXHJcbiAgICAgIFwiUFJJVkFDWV9QUkVGRVJFTkNFU1wiOiBcIlByaXZhY3kgcHJlZmVyZW5jZXNcIixcclxuICAgICAgXCJQUklWQVRFX1BFUlNPTlwiOiBcIlByaXZhdGVcIixcclxuICAgICAgXCJQUk9EVUNUXCI6IFwiUHJvZHVjdFwiLFxyXG4gICAgICBcIlBST0RVQ1RfVFlQRVwiOiBcIlByb2R1Y3QgdHlwZVwiLFxyXG4gICAgICBcIlBVUkNIQVNFXCI6IFwiUHVyY2hhc2VcIixcclxuICAgICAgXCJQVVJDSEFTRU5VTUJFUlwiOiBcIlB1cmNoYXNlIG51bWJlclwiLFxyXG4gICAgICBcIlBVUkNIQVNFT1JERVJTXCI6IFwiUHVyY2hhc2Ugb3JkZXJzXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VfUEVSU09OXCI6IFwiUHVyY2hhc2UgcGVyc29uXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX1pFUk9fT1JfRU1QVFlcIjogXCJRdWFudGl0eSBjYW5ub3QgYmUgemVybyBvciBlbXB0eVwiLFxyXG4gICAgICBcIlFVQU5UVU1fRElTQ09VTlRcIjogXCJRdWFudHVtIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiUkVDRUlQVF9ERVRBSUxTXCI6IFwiUmVjZWlwdCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiUkVDRUlWRURcIjogXCJSZWNlaXZlZFwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RBVEVcIjogXCJSZWNlaXZlZCBkYXRlXCIsXHJcbiAgICAgIFwiUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiUmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJSRUZFUkVOQ0VcIjogXCJSZWZlcmVuY2VcIixcclxuICAgICAgXCJSRUZFUkVOQ0VfUkVMQVRJT05cIjogXCJSZWYuIHJlbGF0aW9uXCIsXHJcbiAgICAgIFwiUkVMQVRJT05fTlVNQkVSXCI6IFwiUmVsYXRpb24gbnVtYmVyXCIsXHJcbiAgICAgIFwiUkVNQVJLU1wiOiBcIlJlbWFya3NcIixcclxuICAgICAgXCJSRVFVRVNURURfREVMSVZFUllcIjogXCJSZXF1ZXN0ZWQgZGVsaXZlcnlcIixcclxuICAgICAgXCJTQUxFU09SREVSU1wiOiBcIlNhbGVzIG9yZGVyc1wiLFxyXG4gICAgICBcIlNBTFVUQVRJT05cIjogXCJTYWx1dGF0aW9uXCIsXHJcbiAgICAgIFwiU0FNRV9BU19ERUxJVkVSWVwiOiBcIlNhbWUgYXMgZGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIlNBVkVcIjogXCJTYXZlXCIsXHJcbiAgICAgIFwiU0VBUkNIXCI6IFwiU2VhcmNoXCIsXHJcbiAgICAgIFwiU0VBUkNIX0FERF9BUlRJQ0xFXCI6IFwiU2VhcmNoIGFuZCBhZGQgYXJ0aWNsZVwiLFxyXG4gICAgICBcIlNFQVJDSF9ERUxJVkVSWV9NRVRIT0RcIjogXCJTZWFyY2ggZGVsaXZlcnltZXRob2RcIixcclxuICAgICAgXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiOiBcIlNlYXJjaCBpbiBjb2xsZWN0aW9uLi4uXCIsXHJcbiAgICAgIFwiU0VBUkNIX05VTUJFUl9DVVNUT01FUl9PUl9EQVRFXCI6IFwiU2VhcmNoIGZvciBudW1iZXIsIGN1c3RvbWVyIG9yIGRhdGVcIixcclxuICAgICAgXCJTRUFSQ0hfV0FSRUhPVVNFXCI6IFwiU2VhcmNoIHdhcmVob3VzZVwiLFxyXG4gICAgICBcIlNFTEVDVFwiOiBcIlNlbGVjdFwiLFxyXG4gICAgICBcIlNFTEVDVF9BXCI6IFwiU2VsZWN0IGFcIixcclxuICAgICAgXCJTRUxFQ1RfQ0FTSF9SRUdJU1RFUlwiOiBcIlNlbGVjdCBjYXNoIHJlZ2lzdGVyXCIsXHJcbiAgICAgIFwiU0VMRUNUX0RBVEVfUkFOR0VcIjogXCJTZWxlY3QgYSBkYXRlIHJhbmdlXCIsXHJcbiAgICAgIFwiU0VSSUFMX05VTUJFUlwiOiBcIlNlcmlhbCBudW1iZXJcIixcclxuICAgICAgXCJTRVJWSUNFX05VTUJFUlwiOiBcIlNlcnZpY2UgbnVtYmVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9SRVFVRVNUX0RBVEVcIjogXCJTZXJ2aWNlIHJlcXVlc3QgZGF0YVwiLFxyXG4gICAgICBcIlNFUlZJQ0VfU1RBVEVcIjogXCJTZXJ2aWNlIHN0YXRlXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVFwiOiBcIlNob3BwaW5nIGNhcnRcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX0NIRUNLT1VUXCI6IFwiQ2hlY2tvdXRcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX09WRVJWSUVXXCI6IFwiT3JkZXIgb3ZlcnZpZXdcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX1JFU1VNRVwiOiBcIlJlc3VtZSBzaG9wcGluZ1wiLFxyXG4gICAgICBcIlNIT1dfTU9SRVwiOiBcIlNob3cgbW9yZVwiLFxyXG4gICAgICBcIlNIT1dfTEVTU1wiOiBcIlNob3cgbGVzc1wiLFxyXG4gICAgICBcIlNQRUNJQUxfRElTQ09VTlRcIjogXCJTcGVjaWFsIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiU09VUkNFX1dBUkVIT1VTRVwiOiBcIlNvdXJjZSB3YXJlaG91c2VcIixcclxuICAgICAgXCJTVE9DS1wiOiBcIlN0b2NrXCIsXHJcbiAgICAgIFwiU1RPQ0tfTk9USUZJQ0FUSU9OXCI6IFwiU3RvY2sgbm90aWZpY2F0aW9uXCIsXHJcbiAgICAgIFwiU1RPQ0tfQVZBSUxBQkxFX0NIQU5HRV9XQVJFSE9VU0VfT1JfQ09NTUlTU0lPTkNPREVcIjogXCJOb3QgZW5vdWdoIHN1cHBseS4gQ2hhbmdlIHdhcmVob3VzZSBhbmQvb3IgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJTVUJUT1RBTFwiOiBcIlN1YnRvdGFsXCIsXHJcbiAgICAgIFwiU1VHR0VTVElPTlNcIjogXCJTdWdnZXN0aW9uc1wiLFxyXG4gICAgICBcIlNVUFBMSUVSXCI6IFwiU3VwcGxpZXJcIixcclxuICAgICAgXCJTVVJDSEFSR0VfQU1PVU5UXCI6IFwiU3VyY2hhcmdlXCIsXHJcbiAgICAgIFwiU1RBVEVcIjogXCJTVEFUVVNcIixcclxuICAgICAgXCJTVFJFRVRcIjogXCJTdHJlZXRuYW1lXCIsXHJcbiAgICAgIFwiVEFHU1wiOiBcIlRhZ3NcIixcclxuICAgICAgXCJUT19SRVBPUlRfSU5cIjogJ1RvIHJlcG9ydCBpbicsXHJcbiAgICAgIFwiVE9fQkVfUElDS0VEXCI6IFwiVGUgYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiVE9fREVMSVZFUlwiOiBcIlRvIGRlbGl2ZXJcIixcclxuICAgICAgXCJUT19QQVlcIjogXCJUbyBwYXlcIixcclxuICAgICAgXCJUT1RBTF9BTU9VTlRcIjogXCJUb3RhbCBhbW91bnRcIixcclxuICAgICAgXCJUT1RBTF9BU1NFTUJMWV9USU1FXCI6IFwiVG90YWwgYXNzZW1ibHkgdGltZVwiLFxyXG4gICAgICBcIlRPVEFMX0dST1NTXCI6IFwiR3Jvc3MgdG90YWxcIixcclxuICAgICAgXCJUT1RBTF9MSU5FX0RJU0NPVU5UXCI6IFwiVG90YWwgbGluZWRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fREFURVwiOiBcIlRyYW5zYWN0aW9uIGRhdGVcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9ESVNDT1VOVFwiOiBcIlRvdGFsIHRyYW5zYWN0aW9uIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQ1wiOiBcIiUgVHJhbnMuIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fUFJJQ0VfREVDTEFSQVRJT05cIjogXCJUcmFuc2FjdGlvbiBwcmljZSBkZWNsYXJhdGlvblwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1NVTV9JXCI6IFwiT3JkZXJ0b3RhbCBpbmNsIFZBVFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1RPVEFMXCI6IFwiVHJhbnNhY3Rpb24gdG90YWxcIixcclxuICAgICAgXCJUUkFOU1BPUlRcIjogXCJUcmFuc3BvcnRcIixcclxuICAgICAgXCJUUkFOU1BPUlRfQ09TVFwiOiBcIlRyYW5zcG9ydGNvc3RzXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RfTElORV9UT1RBTFwiOiBcIlRyYW5zcG9ydGNvc3RzIGxpbmV0b3RhbFwiLFxyXG4gICAgICBcIlRVUk5PVkVSX0dST1VQXCI6IFwiVHVybm92ZXIgZ3JvdXBcIixcclxuICAgICAgXCJUWVBFXCI6IFwiVHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05cIjogXCJ1bmtub3duXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCI6IFwiVW5rbm93biBhZGRyZXNzXCIsXHJcbiAgICAgIFwiVVNFUlwiOiBcIlVzZXJcIixcclxuICAgICAgXCJWQUxVRVwiOiBcIlZhbHVlXCIsXHJcbiAgICAgIFwiVkFUXCI6IFwiVkFUXCIsXHJcbiAgICAgIFwiVkFUX0FNT1VOVFwiOiBcIlZBVCBhbW91bnRcIixcclxuICAgICAgXCJXQVJFSE9VU0VcIjogXCJXYXJlaG91c2VcIixcclxuICAgICAgXCJXSEVSRV9BUkVfWU9VX0xPT0tJTkdfRk9SXCI6IFwiV2hlcmUgYXJlIHlvdSBsb29raW5nIGZvcj9cIixcclxuICAgICAgXCJZT1VSX0RBVEFcIjogXCJZb3VyIGRhdGFcIixcclxuICAgICAgXCJTVEFOREFSRF9URVhUU1wiOlwiU3RhbmRhcmQgdGV4dHNcIixcclxuICAgICAgXCJBUlRJQ0xFX0JPVU5EX1RFWFRcIjogXCJBcnRpY2xlIGJvdW5kIHRleHRcIixcclxuICAgICAgXCJGT1JfRE9DVU1FTlRTXCI6IFwiVXNlZCBhdCBkb2N1bWVudHNcIixcclxuICAgICAgXCJDSEFOR0VfQVJUSUNMRV9URVhUXCI6IFwiQ2hhbmdlIGFydGljbGUgdGV4dFwiLFxyXG4gICAgfSxcclxuICB9O1xyXG59XHJcbiJdfQ==
654
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9hc3NldHMvZGljdGlvbmFyeS90ZXh0LnByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFDUyxZQUFPLEdBQU87WUFDbkIsSUFBSSxFQUFFO2dCQUNKLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMscUJBQXFCLEVBQUUsa0ZBQWtGO29CQUN2RywwRkFBMEY7Z0JBQzVGLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixxQkFBcUIsRUFBRSw4QkFBOEI7Z0JBQ3JELHVCQUF1QixFQUFFLDhCQUE4QjtnQkFDdkQsMEJBQTBCLEVBQUUsNEJBQTRCO2dCQUN4RCw0QkFBNEIsRUFBRSw0QkFBNEI7Z0JBQzFELHFCQUFxQixFQUFFLHlCQUF5QjtnQkFDaEQsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMsZUFBZSxFQUFFLHFCQUFxQjtnQkFDdEMsWUFBWSxFQUFFLHdCQUF3QjtnQkFDdEMsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0JBQ2xDLHdCQUF3QixFQUFFLGtDQUFrQztnQkFDNUQsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLDZCQUE2QixFQUFFLHNDQUFzQztnQkFDckUsY0FBYyxFQUFFLGVBQWU7Z0JBQy9CLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixxQkFBcUIsRUFBRSxxQkFBcUI7Z0JBQzVDLGVBQWUsRUFBRSxvQkFBb0I7Z0JBQ3JDLDJCQUEyQixFQUFFLGdFQUFnRTtnQkFDN0YsWUFBWSxFQUFFLGVBQWU7Z0JBQzdCLHFCQUFxQixFQUFFLHVCQUF1QjtnQkFDOUMsaUJBQWlCLEVBQUUsa0JBQWtCO2dCQUNyQyxnQkFBZ0Is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MEJBQTBCLEVBQUUsaUJBQWlCO2dCQUM3QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QiwyQkFBMkIsRUFBRSw0QkFBNEI7Z0JBQ3pELFdBQVcsRUFBRSxXQUFXO2dCQUN4QixnQkFBZ0IsRUFBQyxnQkFBZ0I7Z0JBQ2pDLG9CQUFvQixFQUFFLG9CQUFvQjtnQkFDMUMsZUFBZSxFQUFFLG1CQUFtQjtnQkFDcEMscUJBQXFCLEVBQUUscUJBQXFCO2FBQzdDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5IHtcclxuICBwdWJsaWMgc3RyaW5nczoge30gPSB7XHJcbiAgICBcIm5sXCI6IHtcclxuICAgICAgXCJBQ0NPVU5UX0RFVEFJTFNcIjogXCJBY2NvdW50Z2VnZXZlbnNcIixcclxuICAgICAgXCJBQ0NPVU5UX0VYUExBTkFUSU9OXCI6IFwiSGV0IGUtbWFpbGFkcmVzIGVuIHdhY2h0d29vcmQgemlqbiBub2RpZyBvbSB0b2VnYW5nIHRlIGtyaWpnZW4gdG90IGRlIGdlZ2V2ZW5zLiBcIiArXHJcbiAgICAgICAgXCJPb2sgenVsbGVuIHdlIGplIHZpYSBkaXQgZS1tYWlsYWRyZXMgb3AgZGUgaG9vZ3RlIGhvdWRlbiB2YW4gZGUgc3RhdHVzIHZhbiBiZXN0ZWxsaW5nZW4uXCIsXHJcbiAgICAgIFwiQUNUSVZFXCI6IFwiQWN0aWVmXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9VUFwiOiBcIkFydGlrZWxyZWdlbCBib3ZlbiB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9MSU5FX0RPV05cIjogXCJBcnRpa2VscmVnZWwgb25kZXIgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX1VQXCI6IFwiVGVrc3RyZWdlbCBib3ZlbiB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfRE9XTlwiOiBcIlRla3N0cmVnZWwgb25kZXIgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX0RFTElWRVJZX09QVElPTlwiOiBcIlZvZWcgZWVuIGxldmVyb3B0aWUgdG9lXCIsXHJcbiAgICAgIFwiQUREX0RJU0NPVU5UU1wiOiBcIktvcnRpbmcgdG9ldm9lZ2VuXCIsXHJcbiAgICAgIFwiQUREX1JFRkVSRU5DRVwiOiBcIlZvZWcgcmVmZXJlbnRpZSB0b2VcIixcclxuICAgICAgXCJBRERfUkVNQVJLXCI6IFwiVm9lZyBlZW4gb3BtZXJraW5nIHRvZVwiLFxyXG4gICAgICBcIkFERFJFU1NcIjogXCJBZHJlc1wiLFxyXG4gICAgICBcIkFERFJFU1NFU1wiOiBcIkFkcmVzc2VuXCIsXHJcbiAgICAgIFwiQUREUkVTU19BRERcIjogXCJBZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJBRERSRVNTX0NIQU5HRVwiOiBcIkFkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiQURNSU5JU1RSQVRJVkVfTUFOQUdFUlwiOiBcIkFkbWluaXN0cmF0aWVmIHZlcmFudHdvb3JkZWxpamtlXCIsXHJcbiAgICAgIFwiQUxMT0NBVEVEXCI6IFwiVG9lZ2V3ZXplblwiLFxyXG4gICAgICBcIkFMV0FZU19TSE9XX0xPR0lTVElDU19QT1BVUFwiOiBcIkNvbnRyb2xlZXIgbWFnYXppam4gZW4gY29tbWlzc2llY29kZVwiLFxyXG4gICAgICBcIkFSUklWQUxfREFURVwiOiBcIkFhbmtvbXN0ZGF0dW1cIixcclxuICAgICAgXCJBUlRJQ0xFXCI6IFwiQXJ0aWtlbFwiLFxyXG4gICAgICBcIkFSVElDTEVfREVTQ1JJUFRJT05cIjogXCJBcnRpa2Vsb21zY2hyaWp2aW5nXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTUFHRVwiOiBcIkFydGlrZWwgYWZiZWVsZGluZ1wiLFxyXG4gICAgICBcIkFSVElDTEVfSU5fT1VUX0NPTExFQ1RJT05cIjogXCJTdGF0dXMgdmFuIGFydGlrZWwgaXMgJ3x+Jy4gV2VldCB1IHpla2VyIGRhdCB1IGRvb3Igd2lsdCBnYWFuP1wiLFxyXG4gICAgICBcIkFSVElDTEVfTlJcIjogXCJBcnRpa2VsbnVtbWVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUl9TVVBQTElFUlwiOiBcIkFydGlrZWxuciBsZXZlcmFuY2llclwiLFxyXG4gICAgICBcIkFSVElDTEVfVU5LTk9XTlwiOiBcIk9uYmVrZW5kIGFydGlrZWxcIixcclxuICAgICAgXCJBU1NFTUJMWV9DT1NUU1wiOiBcIk1vbnRhZ2Vrb3N0ZW5cIixcclxuICAgICAgXCJBU1NFTUJMWV9EQVRFXCI6IFwiTW9udGFnZWRhdHVtXCIsXHJcbiAgICAgIFwiQVNTRU1CTFlfVElNRVwiOiBcIk1vbnRhZ2V0aWpkXCIsXHJcbiAgICAgIFwiQU1PVU5UXCI6IFwiQWFudGFsXCIsXHJcbiAgICAgIFwiQVZBSUxBQkxFX1NUT0NLXCI6IFwiQmVjaGlrYmFhclwiLFxyXG4gICAgICBcIkJBQ0tcIjogXCJUZXJ1Z1wiLFxyXG4gICAgICBcIkJBQ0tfVE9fU1RPQ0tfTElORVNcIjogXCJUZXJ1ZyBuYWFyIHZvb3JyYWFkcmVnZWxzXCIsXHJcbiAgICAgIFwiQkFMQU5DRVwiOiBcIlNhbGRvXCIsXHJcbiAgICAgIFwiQkFUQ0hfTlVNQkVSXCI6IFwiQmF0Y2hudW1tZXJcIixcclxuICAgICAgXCJCUkFOQ0hcIjogXCJGaWxpYWFsXCIsXHJcbiAgICAgIFwiQlJBTkNIX05VTUJFUlwiOiBcIkZpbGlhYWxudW1tZXJcIixcclxuICAgICAgXCJCVVNJTkVTU19SVUxFX0RJU0NPVU5UXCI6IFwiQnVzaW5lc3MgcnVsZSBrb3J0aW5nXCIsXHJcbiAgICAgIFwiQ0FOQ0VMXCI6IFwiQW5udWxlcmVuXCIsXHJcbiAgICAgIFwiQ0FOTk9UX0NIQU5HRV9ORUdBVElWRV9RVUFOVElUWVwiOiBcIkVlbiBuZWdhdGlldmUgdm9vcnJhYWQga2FuIG5pZXQgZ2V3aWp6aWdkIHdvcmRlbi5cIixcclxuICAgICAgXCJDQVJUXCI6IFwiV2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJDSEFOR0VfREFUQVwiOiBcIldpanppZyBnZWdldmVuc1wiLFxyXG4gICAgICBcIkNIQVJBQ1RFUklTVElDX1FVRVNUSU9OXCI6IFwiS2VubWVya3ZyYWFnXCIsXHJcbiAgICAgIFwiQ0hFQ0tfV0FSRUhPVVNFX0FORF9DT01NSVNTSU9OQ09ERVwiOiBcIkNvbnRyb2xlZXIgbWFnYXppam4gZW4gY29tbWlzc2llY29kZS5cIixcclxuICAgICAgXCJDSEVDS09VVF9GSU5JU0hcIjogXCJCZXN0ZWxsaW5nIGFmcm9uZGVuXCIsXHJcbiAgICAgIFwiQ0lUWVwiOiBcIlN0YWRcIixcclxuICAgICAgXCJDTElFTlRfREFUQVwiOiBcIktsYW50Z2VnZXZlbnNcIixcclxuICAgICAgXCJDTElFTlRfSU5GT1JNQVRJT05cIjogXCJLbGFudGluZm9ybWF0aWVcIixcclxuICAgICAgXCJDT01QQU5ZXCI6IFwiQmVkcmlqZlwiLFxyXG4gICAgICBcIkNPTVBBTllfTkFNRVwiOiBcIkJlZHJpamZzbmFhbVwiLFxyXG4gICAgICBcIkNPTU1JU1NJT05fQ09ERVwiOiBcIkNvbW1pc2llY29kZVwiLFxyXG4gICAgICBcIkNPTkZJUk1FRFwiOiBcIkJldmVzdGlnZFwiLFxyXG4gICAgICBcIkNPTkZJUk1BVElPTlwiOiBcIkJldmVzdGlnaW5nXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX0RBVEVcIjogXCJCZXZlc3RpZ2RlIGRhdHVtXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX0RFTElWRVJZX0RBVEVcIjogXCJCZXZlc3RpZ2RlIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJDT05GSVJNRURfUFJJQ0VcIjogXCJCZXZlc3RpZ2RlIHByaWpzXCIsXHJcbiAgICAgIFwiQ09OVEFDVF9ERVRBSUxTXCI6IFwiQ29udGFjdGdlZ2V2ZW5zXCIsXHJcbiAgICAgIFwiQ09OVElOVUVcIjogXCJWb2xnZW5kZVwiLFxyXG4gICAgICBcIkNPTlRJTlVFX09SREVSX1dISUxFX1NUT0NLX0FWQUlMQUJMRV9QTEVBU0VfQ09ORklSTVwiOiBcIlUgaGVlZnQgZ2Vrb3plbiB2b29yIGhldCBiZXN0ZWxsZW4gdmFuIGFydGlrZWxlbiB0ZXJ3aWpsIGVyIG5vZyB2b29ycmFhZCBhYW53ZXppZyBpcy4gV2lsdCB1IHZlcmRlcmdhYW4/XCIsXHJcbiAgICAgIFwiQ09OVElOVUVfV0lUSE9VVF9BQ0NPVU5UXCI6IFwiR2EgZG9vciB6b25kZXIgYWNjb3VudFwiLFxyXG4gICAgICBcIkNPU1RTXCI6IFwiS29zdGVuXCIsXHJcbiAgICAgIFwiQ09VTlRSWVwiOiBcIkxhbmRcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVFwiOiBcIk1hYWsgZWVuIGFjY291bnQgYWFuXCIsXHJcbiAgICAgIFwiQ1JFQVRFX0FDQ09VTlRfSU5fMl9NSU5cIjogXCJNYWFrIGJpbm5lbiAyIG1pbnV0ZW4gZWVuIGFjY291bnQgYWFuLlwiLFxyXG4gICAgICBcIkNVU1RPTUVSXCI6IFwiS2xhbnRcIixcclxuICAgICAgXCJDVVNUT01FUl9HUk9VUFwiOiBcIktsYW50Z3JvZXBcIixcclxuICAgICAgXCJDVVNUT01FUl9OQU1FXCI6IFwiS2xhbnRuYWFtXCIsXHJcbiAgICAgIFwiREFURVwiOiBcIkRhdHVtXCIsXHJcbiAgICAgIFwiREFURV9PRl9CSVJUSFwiOiBcIkdlYm9vcnRlZGF0dW1cIixcclxuICAgICAgXCJERUZJTklUSVZFXCI6IFwiRGVmaW5pdGllZlwiLFxyXG4gICAgICBcIkRFTEVURVwiOiBcIlZlcndpamRlcmVuXCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVcIjogXCJ2ZXJ3aWpkZXJlblwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0hJTlRcIjogXCJWZXJ3aWpkZXJlbiB0cmFuc2FjdGllcmVnZWxcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORV9GQUlMRURcIjogXCJIZXQgdmVyd2lqZGVyZW4gdmFuIGRlIHRyYW5zYWN0aWVyZWdlbCBpcyBtaXNsdWt0XCIsXHJcbiAgICAgIFwiREVMRVRFX1RSQU5TQUNUSU9OX0xJTkVfUVVFU1RJT05cIjogXCJXZWV0IHUgemVrZXIgZGF0IHUgZGV6ZSByZWdlbCB3aWx0IHZlcndpamRlcmVuP1wiLFxyXG4gICAgICBcIkRFTElWRVJFRFwiOiBcIkdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiREVMSVZFUllcIjogXCJCZXpvcmdpbmdcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTXCI6IFwiQWZsZXZlcmFkcmVzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQUREUkVTU19BRERcIjogXCJCZXpvcmdhZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0NIQU5HRVwiOiBcIkJlem9yZ2FkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQkFUQ0hcIjogXCJMZXZlcmJhdGNoXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQ09TVFNcIjogXCJCZXpvcmdrb3N0ZW5cIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRBXCI6IFwiTGV2ZXJnZWdldmVuc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0RBVEVcIjogXCJMZXZlcmRhdHVtXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9ERUZJTklUSVZFXCI6IFwiTGV2ZXJkYXR1bSBkZWZpbml0aWVmXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURV9GSU5BTFwiOiBcIkRlZmluaXRpZXZlIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJERUxJVkVSWV9ESVJFQ1RcIjogXCJEaXJlY3QgbGV2ZXJiYWFyXCIsXHJcbiAgICAgIFwiREVMSVZFUllfSU5GT1JNQVRJT05cIjogXCJMZXZlcmluZm9ybWF0aWVcIixcclxuICAgICAgXCJERUxJVkVSWV9MT0NBVElPTlwiOiBcIkJlem9yZ2luZ3Nsb2NhdGllXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTk9URVwiOiBcIkFmbGV2ZXJib25cIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRJT05TXCI6IFwiTGV2ZXJvcHRpZXNcIixcclxuICAgICAgXCJERUxJVkVSWV9NRVRIT0RcIjogXCJMZXZlcm1ldGhvZGVcIixcclxuICAgICAgXCJERUxJVkVSWV9NT01FTlRcIjogXCJMZXZlcm1vbWVudFwiLFxyXG4gICAgICBcIkRFTElWRVJZX09QVEFSVElDTEVfTlJJT05TXCI6IFwiQmV6b3Jnb3B0aWVzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfVElNRV9QRVJJT0RcIjogXCJMZXZlcnRpamRcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIk9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkRFVEFJTFNcIjogXCJEZXRhaWxzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRcIjogXCJLb3J0aW5nXCIsXHJcbiAgICAgIFwiRElTQ09VTlRTXCI6IFwiS29ydGluZ2VuXCIsXHJcbiAgICAgIFwiRElTQ09VTlRfQU1PVU5UXCI6IFwiS29ydGluZ3NiZWRyYWdcIixcclxuICAgICAgXCJESVNDT1VOVF9QRVJDRU5UQUdFXCI6IFwiS29ydGluZ3MgJVwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UXCI6IFwiQWFuYmV0YWxpbmdcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9QRVJDRU5UQUdFXCI6IFwiQWFuIHRlIGJldGFsZW4gJVwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0FNT1VOVFwiOiBcIkFhbiB0ZSBiZXRhbGVuIGJlZHJhZ1wiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0JZX0JSXCI6IFwiQmVyZWtlbmQgZG9vciBCUlwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX09OX0RFTElWRVJZXCI6IFwiUmVtYm91cnNcIixcclxuICAgICAgXCJEUk9QU0hJUE1FTlRcIjogXCJEcm9wc2hpcG1lbnRcIixcclxuICAgICAgXCJFQ09OT01JQ0FMX1NUT0NLXCI6IFwiTGF0ZXIgYmVzY2hpa2JhYXJcIixcclxuICAgICAgXCJFRElUX0NBUlRcIjogXCJXaWp6aWcgd2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJFTUFJTF9BRERSRVNTXCI6IFwiRS1tYWlsYWRyZXNcIixcclxuICAgICAgXCJFWENFRURFTkNFX0NPREVcIjogXCJVaXRsb29wY29kZVwiLFxyXG4gICAgICBcIkVYSVNUSU5HX0NVU1RPTUVSU1wiOiBcIkJlc3RhYW5kZSBrbGFudGVuXCIsXHJcbiAgICAgIFwiRVhQRUNURURfREVMSVZFUllfREFURVwiOiBcIihWZXJ3YWNodGUpIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9XRUVLXCI6IFwiKFZlcndhY2h0ZSkgbGV2ZXJ3ZWVrXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVFwiOiBcIkZhYnJpY2FnZXByaWpzXCIsXHJcbiAgICAgIFwiRkFCUklDQVRJT05fQ09TVF9MSU5FX1RPVEFMXCI6IFwiRmFicmljYWdlcHJpanMgcmVnZWx0b3RhYWxcIixcclxuICAgICAgXCJGRU1BTEVcIjogXCJWcm91d1wiLFxyXG4gICAgICBcIkZJUlNUX05BTUVcIjogXCJWb29ybmFhbVwiLFxyXG4gICAgICBcIkZSRUVcIjogXCJHcmF0aXNcIixcclxuICAgICAgXCJGVUxMWV9BTExPQ0FURURcIjogXCJWb2xsZWRpZyB0b2VnZXdlemVuXCIsXHJcbiAgICAgIFwiRlVMTFlfQ09ORklSTUVEXCI6IFwiVm9sbGVkaWcgYmV2ZXN0aWdkXCIsXHJcbiAgICAgIFwiRlVMTFlfREVMSVZFUkVEXCI6IFwiVm9sbGVkaWcgZ2VsZXZlcmRcIixcclxuICAgICAgXCJGVUxMWV9SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJWb2xsZWRpZyBiaW5uZW5nZW1lbGQgLyBnZWxldmVyZFwiLFxyXG4gICAgICBcIkZVTExZX0lOVk9JQ0VEXCI6IFwiVm9sbGVkaWcgZ2VmYWN0dXJlZXJkXCIsXHJcbiAgICAgIFwiRlVMTFlfVE9fQkVfUElDS0VEXCI6IFwiVm9sbGVkaWcgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiRlVMTFlfUElDS0VEXCI6IFwiVm9sbGVkaWcgZ2VwaWNrdFwiLFxyXG4gICAgICBcIkdST1NTX1BSSUNFXCI6IFwiQnJ1dG8gcHJpanNcIixcclxuICAgICAgXCJHT09EX0RFU0NSSVBUSU9OXCI6IFwiQXJ0aWtlbG9tc2NocmlqdmluZ1wiLFxyXG4gICAgICBcIkhBTkRMRURfQllcIjogXCJWZXJrb3BlclwiLFxyXG4gICAgICBcIkhPVVNFX05PXCI6IFwiSHVpc251bW1lclwiLFxyXG4gICAgICBcIkhPVVNFX05PX0FERElUSU9OXCI6IFwiSHVpc251bW1lciB0b2V2b2VnaW5nXCIsXHJcbiAgICAgIFwiSU5cIjogXCJJblwiLFxyXG4gICAgICBcIklOQUNUSVZFX1RSQU5TQUNUSU9OU1wiOiBcIkluYWN0aWV2ZSB0cmFuc2FjdGllc1wiLFxyXG4gICAgICBcIklOQ0xVRElOR19SRVRVUk5TXCI6IFwiSW5jbHVzaWVmIHJldG91cmVuXCIsXHJcbiAgICAgIFwiSU5fU0VBUkNIT1JERVJTXCI6IFwiSW4gdmVya29vcG9yZGVyc1wiLFxyXG4gICAgICBcIklOX09SREVSXCI6IFwiSW4gYmVzdGVsbGluZ1wiLFxyXG4gICAgICBcIklOX09VVF9DT0xMRUNUSU9OXCI6IFwiSW4tdWl0LWNvbGxlY3RpZVwiLFxyXG4gICAgICBcIklOVklURV9UT19BQ0NPVU5UXCI6IFwiVWl0bm9kaWdlbiB2b29yIGFjY291bnRcIixcclxuICAgICAgXCJJTlZPSUNFRFwiOiBcIkdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIklOVk9JQ0VcIjogXCJGYWN0dXJlcmVuXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTXCI6IFwiRmFjdHV1cmFkcmVzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0FERFwiOiBcIkZhY3R1dXJhZHJlcyB0b2V2b2VnZW5cIixcclxuICAgICAgXCJJTlZPSUNFX0FERFJFU1NfQ0hBTkdFXCI6IFwiRmFjdHV1cmFkcmVzIHdpanppZ2VuXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9DSEVDS1wiOiBcIkZhY3R1dXJjb250cm9sZVwiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX0RBVEVcIjogXCJEYXR1bSBsYWF0c3RlIHdpanppZ2luZ1wiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX1VTRVJcIjogXCJHZWJydWlrZXIgbGFhdHN0ZSB3aWp6aWdpbmdcIixcclxuICAgICAgXCJMQVNUX05BTUVcIjogXCJBY2h0ZXJuYWFtXCIsXHJcbiAgICAgIFwiTElORV9ORUVEU19DT01NSVNTSU9OX0NPREVcIjogXCJEZSBjb21taXNpZWNvZGUgb250YnJlZWt0LiBWdWwgZGUgY29tbWlzc2llY29kZSBpbi5cIixcclxuICAgICAgXCJMT0NBVElPTlwiOiBcIkxvY2F0aWVcIixcclxuICAgICAgXCJMT0dJTlwiOiBcIklubG9nZ2VuXCIsXHJcbiAgICAgIFwiTE9HSU5fREVUQUlMU1wiOiBcIklubG9nZ2VnZXZlbnNcIixcclxuICAgICAgXCJMT0dJU1RJQ1NcIjogXCJMb2dpc3RpZWtcIixcclxuICAgICAgXCJMT0dJU1RJQ1NfQU5EX1BMQU5OSU5HXCI6IFwiTG9naXN0aWVrICYgcGxhbm5pbmdcIixcclxuICAgICAgXCJNQUlOX0FSVElDTEVcIjogXCJIb29mZCBhcnRpa2VsXCIsXHJcbiAgICAgIFwiTUFMRVwiOiBcIk1hblwiLFxyXG4gICAgICBcIk1BUktFVElOR1wiOiBcIk1hcmtldGluZ1wiLFxyXG4gICAgICBcIk1BUktFVElOR19DT0RFXCI6IFwiTWFya2V0aW5nY29kZVwiLFxyXG4gICAgICBcIk1FTlVcIjogXCJNZW51XCIsXHJcbiAgICAgIFwiTU9ESUZJQ0FUSU9OX1RJTUVcIjogXCJCZXdlcmtpbmdzdGlqZFwiLFxyXG4gICAgICBcIk1PUkVfRklMVEVSU1wiOiBcIk1lZXIgZmlsdGVyc1wiLFxyXG4gICAgICBcIk5BTUVcIjogXCJOYWFtXCIsXHJcbiAgICAgIFwiTkVUX0xJTkVfVE9UQUxcIjogXCJSZWdlbHRvdGFhbFwiLFxyXG4gICAgICBcIk5FVFRcIjogXCJOZXR0b1wiLFxyXG4gICAgICBcIk5FVFRPX1BSSUNFXCI6IFwiTmV0dG8gcHJpanNcIixcclxuICAgICAgXCJORVdfQVRcIjogXCJOaWV1dyBiaWogXCIsXHJcbiAgICAgIFwiTkVXX0xPQ0FUSU9OXCI6IFwiTmlldXdlIGxvY2F0aWVcIixcclxuICAgICAgXCJORVhUXCI6IFwiVm9sZ2VuZGVcIixcclxuICAgICAgXCJOT19JTUFHRVwiOiBcIkdlZW4gYWZiZWVsZGluZ1wiLFxyXG4gICAgICBcIk5PX1JFU1VMVFNcIjogXCJHZWVuIHJlc3VsdGF0ZW5cIixcclxuICAgICAgXCJOT1RfQUZURVJcIjogXCJOaWV0IGxhdGVyIGRhblwiLFxyXG4gICAgICBcIk5PVF9CRUZPUkVcIjogXCJOaWV0IGVlcmRlciBkYW5cIixcclxuICAgICAgXCJOT1RISU5HX0FMTE9DQVRFRFwiOiBcIk5pZXRzIHRvZWdld2V6ZW5cIixcclxuICAgICAgXCJOT1RISU5HX0NPTkZJUk1FRFwiOiBcIk5pZXRzIGJldmVzdGlnZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfREVMSVZFUkVEXCI6IFwiTmlldHMgZ2VsZXZlcmRcIixcclxuICAgICAgXCJOT1RISU5HX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIk5pZXRzIGJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiTk9USElOR19JTlZPSUNFRFwiOiBcIk5pZXRzIGdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfVE9fQkVfUElDS0VEXCI6IFwiTmlldHMgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiTk9USElOR19QSUNLRURcIjogXCJOaWV0cyBnZXBpY2t0XCIsXHJcbiAgICAgIFwiTlJcIjogXCJOdW1tZXJcIixcclxuICAgICAgXCJOVU1CRVJcIjogXCJBYW50YWxcIixcclxuICAgICAgXCJPTl9EQVRFXCI6IFwiT3AgZGF0dW1cIixcclxuICAgICAgXCJPTl9IT0xEXCI6IFwiR2VwYXV6ZWVyZFwiLFxyXG4gICAgICBcIk9QRU5fU0hPUFBJTkdfQ0FSVFwiOiBcIk9wZW4gd2lua2Vsd2FnZW5cIixcclxuICAgICAgXCJPUkRFUl9DT05GSVJNQVRJT05TXCI6IFwiQmV2ZXN0aWdpbmdlblwiLFxyXG4gICAgICBcIk9SREVSX0RBVEVcIjogXCJPcmRlcmRhdHVtXCIsXHJcbiAgICAgIFwiT1JERVJfREFUQVwiOiBcIk9yZGVyZ2VnZXZlbnNcIixcclxuICAgICAgXCJPUkRFUl9ERUZJTklUSVZFXCI6IFwiT3JkZXIgZGVmaW5pdGllZlwiLFxyXG4gICAgICBcIk9SREVSX0dST1NTXCI6IFwiT3JkZXJ0b3RhYWwgYnJ1dG9cIixcclxuICAgICAgXCJPUkRFUl9MSU5FU1wiOiBcIk9yZGVycmVnZWxzXCIsXHJcbiAgICAgIFwiT1JERVJfTkVUXCI6IFwiT3JkZXJ0b3RhYWwgbmV0dG9cIixcclxuICAgICAgXCJPUkRFUl9OVU1CRVJcIjogXCJPcmRlcm51bW1lclwiLFxyXG4gICAgICBcIk9SREVSX1BBUkFNRVRFUlNcIjogXCJPcmRlcnBhcmFtZXRlcnNcIixcclxuICAgICAgXCJPUkRFUl9SVUxFXCI6IFwiT3JkZXJyZWdlbFwiLFxyXG4gICAgICBcIk9SREVSX1JVTEVTRVRcIjogXCJPcmRlcnJlZ2Vsc2V0XCIsXHJcbiAgICAgIFwiT1JERVJfVE9UQUxcIjogXCJPcmRlcnRvdGFhbFwiLFxyXG4gICAgICBcIk9SREVSX1RZUEVcIjogXCJUeXBlIGJlc3RlbGxpbmdcIixcclxuICAgICAgXCJPUkRFUkVEXCI6IFwiQmVzdGVsZFwiLFxyXG4gICAgICBcIk9USEVSXCI6IFwiT3ZlcmlnXCIsXHJcbiAgICAgIFwiT1ZFUlZJRVdcIjogXCJPdmVyemljaHRcIixcclxuICAgICAgXCJPVkVSVklFV19BTkRfUEFZTUVOVFwiOiBcIk92ZXJ6aWNodCBlbiBiZXRhbGluZ1wiLFxyXG4gICAgICBcIk9XTl9SRUZFUkVOQ0VcIjogXCJFaWdlbiByZWZlcmVudGllXCIsXHJcbiAgICAgIFwiUEFDS0lOR19TTElQXCI6IFwiUGFrYm9uXCIsXHJcbiAgICAgIFwiUEFJRF9ET1dOMlwiOiBcIkFhbmJldGFhbGRcIixcclxuICAgICAgXCJQQVJUX0RFTElWRVJZXCI6IFwiRGVlbGxldmVyaW5nXCIsXHJcbiAgICAgIFwiUEFSVF9ERUxJVkVSSUVTXCI6IFwiRGVlbGxldmVyaW5nZW5cIixcclxuICAgICAgXCJQQVJUTFlfQUxMT0NBVEVEXCI6IFwiR2VkZWVsdGVsaWprIHRvZWdld2V6ZW5cIixcclxuICAgICAgXCJQQVJUTFlfQ09ORklSTUVEXCI6IFwiR2VkZWVsdGVsaWprIGJldmVzdGlnZFwiLFxyXG4gICAgICBcIlBBUlRMWV9ERUxJVkVSRURcIjogXCJHZWRlZWx0ZWxpamsgZ2VsZXZlcmRcIixcclxuICAgICAgXCJQQVJUTFlfUkVDRUlWRURfREVMSVZFUkVEXCI6IFwiR2VkZWVsdGVsaWprIGJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiUEFSVExZX0lOVk9JQ0VEXCI6IFwiR2VkZWVsdGVsaWprIGdlZmFjdHVyZWVyZFwiLFxyXG4gICAgICBcIlBBUlRMWV9UT19CRV9QSUNLRURcIjogXCJHZWRlZWx0ZWxpamsgdGUgcGlja2VuXCIsXHJcbiAgICAgIFwiUEFSVExZX1BJQ0tFRFwiOiBcIkdlZGVlbHRlbGlqayBnZXBpY2t0XCIsXHJcbiAgICAgIFwiUEFTU1dPUkRcIjogXCJXYWNodHdvb3JkXCIsXHJcbiAgICAgIFwiUEFZXCI6IFwiQmV0YWxlblwiLFxyXG4gICAgICBcIlBBWU1FTlRcIjogXCJCZXRhbGluZ1wiLFxyXG4gICAgICBcIlBBWU1FTlRfSU5GT1JNQVRJT05cIjogXCJCZXRhYWxpbmZvcm1hdGllXCIsXHJcbiAgICAgIFwiUEFZTUVOVF9NRVRIT0RcIjogXCJCZXRhYWxtZXRob2RlXCIsXHJcbiAgICAgIFwiUEVSU09OQUxfREFUQVwiOiBcIkJhc2lzZ2VnZXZlbnNcIixcclxuICAgICAgXCJQSUNLRURcIjogXCJHZXBpY2t0XCIsXHJcbiAgICAgIFwiUEhPTkVfTk9cIjogXCJUZWxlZm9vbm51bW1lclwiLFxyXG4gICAgICBcIlBIWVNJQ0FMX1NUT0NLXCI6IFwiRnlzaWVrZSB2b29ycmFhZFwiLFxyXG4gICAgICBcIlBMQU5OSU5HXCI6IFwiUGxhbm5pbmdcIixcclxuICAgICAgXCJQT1NUQUxfQ09ERVwiOiBcIlBvc3Rjb2RlXCIsXHJcbiAgICAgIFwiUFJFRkVSUkVEX0RBVEVcIjogXCJWb29ya2V1cnNkYXR1bVwiLFxyXG4gICAgICBcIlBSRUZJWFwiOiBcIlR1c3NlbnZvZWdzZWxcIixcclxuICAgICAgXCJQUkVWSU9VU1wiOiBcIlZvcmlnZVwiLFxyXG4gICAgICBcIlBSSUNFXCI6IFwiUHJpanNcIixcclxuICAgICAgXCJQUklDRV9MSVNUXCI6IFwiUHJpanNsaWpzdFwiLFxyXG4gICAgICBcIlBSSUNJTkdcIjogXCJQcmlqemVuXCIsXHJcbiAgICAgIFwiUFJJVkFDWV9QUkVGRVJFTkNFU1wiOiBcIlByaXZhY3l2b29ya2V1cmVuXCIsXHJcbiAgICAgIFwiUFJJVkFURV9QRVJTT05cIjogXCJQYXJ0aWN1bGllclwiLFxyXG4gICAgICBcIlBST0RVQ1RcIjogXCJQcm9kdWN0XCIsXHJcbiAgICAgIFwiUFJPRFVDVF9UWVBFXCI6IFwiUHJvZHVjdHNvb3J0XCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VcIjogXCJJbmtvb3BcIixcclxuICAgICAgXCJQVVJDSEFTRU5VTUJFUlwiOiBcIklua29vcG51bW1lclwiLFxyXG4gICAgICBcIlBVUkNIQVNFT1JERVJTXCI6IFwiSW5rb29wb3JkZXJzXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VfUEVSU09OXCI6IFwiSW5rb3BlclwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9aRVJPX09SX0VNUFRZXCI6IFwiSGV0IGFhbnRhbCBtYWcgZ2VlbiAwIHppam4uXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX0xFU1NfVEhBTl9ERUxJVkVSRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGhldCBnZWxldmVyZGUgYWFudGFsXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX01PUkVfVEhBTl9ERUxJVkVSRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGhldCBnZWxldmVyZGUgYWFudGFsXCIsXHJcbiAgICAgIFwiUVVBTlRJVFlfQ0FOTk9UX0JFX0xFU1NfVEhBTl9JTlZPSUNFRFwiOiBcIkhldCBhYW50YWwgbW9ldCBnZWxpamsgemlqbiBhYW4gZGUgYmVzdGVsZGUgdm9vcnJhYWRcIixcclxuICAgICAgXCJRVUFOVElUWV9DQU5OT1RfQkVfTU9SRV9USEFOX0lOVk9JQ0VEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBkZSBiZXN0ZWxkZSB2b29ycmFhZFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fQUxMT0NBVEVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBkZGUgdG9lZ2V3ZXplbiB2b29ycmFhZFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9NT1JFX1RIQU5fQUxMT0NBVEVEXCI6IFwiSGV0IGFhbnRhbCBtb2V0IGdlbGlqayB6aWpuIGFhbiBkZGUgdG9lZ2V3ZXplbiB2b29ycmFhZFwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9MRVNTX1RIQU5fUkVDRUlWRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGhldCBhYW50YWwgb250dmFuZ2VuLlwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9NT1JFX1RIQU5fUkVDRUlWRURcIjogXCJIZXQgYWFudGFsIG1vZXQgZ2VsaWprIHppam4gYWFuIGhldCBhYW50YWwgb250dmFuZ2VuXCIsXHJcbiAgICAgIFwiUVVBTlRVTV9ESVNDT1VOVFwiOiBcIkt3YW50dW1rb3J0aW5nXCIsXHJcbiAgICAgIFwiUkVDRUlQVF9ERVRBSUxTXCI6IFwiT250dmFuZ3N0IGRldGFpbHNcIixcclxuICAgICAgXCJSRUNFSVZFRFwiOiBcIk9udHZhbmdzdFwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIkJpbm5lbmdlbWVsZCAvIGdlbGV2ZXJkXCIsXHJcbiAgICAgIFwiUkVDRUlWRURfREFURVwiOiBcIk9udHZhbmdzdCBkYXR1bVwiLFxyXG4gICAgICBcIlJFRkVSRU5DRVwiOiBcIlJlZmVyZW50aWVcIixcclxuICAgICAgXCJSRUZFUkVOQ0VfUkVMQVRJT05cIjogXCJSZWYuIHJlbGF0aWVcIixcclxuICAgICAgXCJSRUxBVElPTl9OVU1CRVJcIjogXCJSZWxhdGllbnVtbWVyXCIsXHJcbiAgICAgIFwiUkVNQVJLU1wiOiBcIk9wbWVya2luZ2VuXCIsXHJcbiAgICAgIFwiUkVRVUVTVEVEX0RFTElWRVJZXCI6IFwiR2V2cmFhZ2RlIGxldmVyZGF0dW1cIixcclxuICAgICAgXCJTQUxVVEFUSU9OXCI6IFwiQWFuaGVmXCIsXHJcbiAgICAgIFwiU0FMRVNPUkRFUlNcIjogXCJWZXJrb29wb3JkZXJzXCIsXHJcbiAgICAgIFwiU0FNRV9BU19ERUxJVkVSWVwiOiBcIkhldHplbGZkZSBhbHMgYmV6b3JnYWRyZXNcIixcclxuICAgICAgXCJTQVZFXCI6IFwiT3BzbGFhblwiLFxyXG4gICAgICBcIlNFQVJDSFwiOiBcIlpvZWtlblwiLFxyXG4gICAgICBcIlNFQVJDSF9BRERfQVJUSUNMRVwiOiBcIlpvZWtlbiBlbiB0b2V2b2VnZW4gYXJ0aWtlbFwiLFxyXG4gICAgICBcIlNFQVJDSF9ERUxJVkVSWV9NRVRIT0RcIjogXCJab2VrIGxldmVybWV0aG9kZVwiLFxyXG4gICAgICBcIlNFQVJDSF9JTl9DT0xMRUNUSU9OXCI6IFwiWm9layBiaW5uZW4gY29sbGVjdGllLi4uXCIsXHJcbiAgICAgIFwiU0VBUkNIX05VTUJFUl9DVVNUT01FUl9PUl9EQVRFXCI6IFwiWm9la2VuIG9wIG51bW1lciwga2xhbnQgb2YgZGF0dW1cIixcclxuICAgICAgXCJTRUFSQ0hfVkFUXCI6IFwiWm9layBidHdcIixcclxuICAgICAgXCJTRUFSQ0hfV0FSRUhPVVNFXCI6IFwiWm9layBtYWdhemlqblwiLFxyXG4gICAgICBcIlNFTEVDVFwiOiBcIlNlbGVjdGVyZW5cIixcclxuICAgICAgXCJTRUxFQ1RfQVwiOiBcIlNlbGVjdGVlciBlZW5cIixcclxuICAgICAgXCJTRUxFQ1RfQ0FTSF9SRUdJU1RFUlwiOiBcIlNlbGVjdGVlciBrYXNzYVwiLFxyXG4gICAgICBcIlNFTEVDVF9EQVRFXCI6IFwiU2VsZWN0ZWVyIGVlbiBzdGFydC0gZW4gZWluZGRhdHVtXCIsXHJcbiAgICAgIFwiU0VSSUFMX05VTUJFUlwiOiBcIlNlcmllbnVtbWVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9OVU1CRVJcIjogXCJTZXJ2aWNlbnVtbWVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9SRVFVRVNUX0RBVEVcIjogXCJEYXR1bSBhYW52cmFhZ1wiLFxyXG4gICAgICBcIlNFUlZJQ0VfU1RBVEVcIjogXCJTZXJ2aWNlIHN0YXR1c1wiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRcIjogXCJXaW5rZWx3YWdlblwiLFxyXG4gICAgICBcIlNIT1BQSU5HX0NBUlRfQ0hFQ0tPVVRcIjogXCJCZXN0ZWxsZW5cIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX09WRVJWSUVXXCI6IFwiT3ZlcnppY2h0IHZhbiB1dyBiZXN0ZWxsaW5nXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVF9SRVNVTUVcIjogXCJWZXJkZXIgd2lua2VsZW5cIixcclxuICAgICAgXCJTSE9XX01PUkVcIjogXCJUb29uIG1lZXJcIixcclxuICAgICAgXCJTSE9XX0xFU1NcIjogXCJUb29uIG1pbmRlclwiLFxyXG4gICAgICBcIlNQRUNJQUxfRElTQ09VTlRcIjogXCJTcGVjaWFsZSBrb3J0aW5nXCIsXHJcbiAgICAgIFwiU09VUkNFX1dBUkVIT1VTRVwiOiBcIkJyb24gbWFnYXppam5cIixcclxuICAgICAgXCJTVE9DS1wiOiBcIlZvb3JyYWFkXCIsXHJcbiAgICAgIFwiU1RPQ0tfTk9USUZJQ0FUSU9OXCI6IFwiVm9vcnJhYWRtZWxkaW5nXCIsXHJcbiAgICAgIFwiU1RPQ0tfQVZBSUxBQkxFX0NIQU5HRV9XQVJFSE9VU0VfT1JfQ09NTUlTU0lPTkNPREVcIjogXCJFciBpcyB2b2xkb2VuZGUgdm9vcnJhYWQuIFZlcmFuZGVyIG1hZ2F6aWpuIGVuL29mIGNvbW1pc3NpZWNvZGVcIixcclxuICAgICAgXCJTVUJUT1RBTFwiOiBcIlN1YnRvdGFhbFwiLFxyXG4gICAgICBcIlNVR0dFU1RJT05TXCI6IFwiU3VnZ2VzdGllc1wiLFxyXG4gICAgICBcIlNVUFBMSUVSXCI6IFwiTGV2ZXJhbmNpZXJcIixcclxuICAgICAgXCJTVVJDSEFSR0VfQU1PVU5UXCI6IFwiVG9lc2xhZ1wiLFxyXG4gICAgICBcIlNUQVRFXCI6IFwiU3RhdHVzXCIsXHJcbiAgICAgIFwiU1RSRUVUXCI6IFwiU3RyYWF0bmFhbVwiLFxyXG4gICAgICBcIlRBR1NcIjogXCJUYWdzXCIsXHJcbiAgICAgIFwiVEVYVF9BUlRJQ0xFX0JPVU5EXCI6IFwiVGV4dCBiaWogYXJ0aWtlbCB8flwiLFxyXG4gICAgICBcIlRPX1JFUE9SVF9JTlwiOiAnQmlubmVuIHRlIG1lbGRlbicsXHJcbiAgICAgIFwiVE9fQkVfUElDS0VEXCI6IFwiVGUgcGlja2VuXCIsXHJcbiAgICAgIFwiVE9fREVMSVZFUlwiOiBcIlRlIGxldmVyZW5cIixcclxuICAgICAgXCJUT19QQVlcIjogXCJUZSBiZXRhbGVuXCIsXHJcbiAgICAgIFwiVE9UQUxfQU1PVU5UXCI6IFwiVG90YWFsYmVkcmFnXCIsXHJcbiAgICAgIFwiVE9UQUxfQVNTRU1CTFlfVElNRVwiOiBcIlRvdGFsZSBtb250YWdldGlqZFwiLFxyXG4gICAgICBcIlRPVEFMX0dST1NTXCI6IFwiVG90YWFsIGJydXRvXCIsXHJcbiAgICAgIFwiVE9UQUxfTElORV9ESVNDT1VOVFwiOiBcIlRvdGFsZSByZWdlbGtvcnRpbmdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9EQVRFXCI6IFwiT3JkZXJkYXR1bVwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RJU0NPVU5UXCI6IFwiVG90YWxlIHRyYW5zYWN0aWUga29ydGluZ1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkNcIjogXCIlIFRyYW5zLiBrb3J0aW5nXCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fUFJJQ0VfREVDTEFSQVRJT05cIjogXCJPcmRlciBwcmlqc3ZlcmtsYXJpbmdcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9TVU1fSVwiOiBcIk9yZGVydG90YWFsIGluY2wuIEJUV1wiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1RPVEFMXCI6IFwiVHJhbnNhY3RpZSB0b3RhYWxcIixcclxuICAgICAgXCJUUkFOU1BPUlRcIjogXCJUcmFuc3BvcnRcIixcclxuICAgICAgXCJUUkFOU1BPUlRfQ09TVFwiOiBcIlRyYW5zcG9ydGtvc3RlblwiLFxyXG4gICAgICBcIlRSQU5TUE9SVF9DT1NUX0xJTkVfVE9UQUxcIjogXCJUcmFuc3BvcnRrb3N0ZW4gcmVnZWx0b3RhYWxcIixcclxuICAgICAgXCJUVVJOT1ZFUl9HUk9VUFwiOiBcIk9temV0Z3JvZXBcIixcclxuICAgICAgXCJUWVBFXCI6IFwiU29vcnRcIixcclxuICAgICAgXCJVTktOT1dOXCI6IFwiT25iZWtlbmRcIixcclxuICAgICAgXCJVTktOT1dOX0FERFJFU1NfQ0hFQ0tfSVRcIjogXCJPbmJla2VuZCBhZHJlc1wiLFxyXG4gICAgICBcIlVTRVJcIjogXCJHZWJydWlrZXJcIixcclxuICAgICAgXCJWQVRcIjogXCJCdHdcIixcclxuICAgICAgXCJWQVQyXCI6IFwiQlRXXCIsXHJcbiAgICAgIFwiVkFUX0FNT1VOVFwiOiBcIkJUVy1iZWRyYWdcIixcclxuICAgICAgXCJWQUxVRVwiOiBcIldhYXJkZVwiLFxyXG4gICAgICBcIldIRVJFX0FSRV9ZT1VfTE9PS0lOR19GT1JcIjogXCJXYWFyIGJlbiBqZSBuYWFyIG9wIHpvZWs/XCIsXHJcbiAgICAgIFwiV0FSRUhPVVNFXCI6IFwiTWFnYXppam5cIixcclxuICAgICAgXCJZT1VSX0RBVEFcIjogXCJHZWdldmVuc1wiLFxyXG4gICAgICBcIlNUQU5EQVJEX1RFWFRTXCI6XCJTdGFuZGFhcmR0ZWtzdGVuXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9CT1VORF9URVhUXCI6IFwiQXJ0aWtlbGdlYm9uZGVuIHRla3N0XCIsXHJcbiAgICAgIFwiRk9SX0RPQ1VNRU5UU1wiOiBcIkJlc3RlbWQgdm9vciBkb2N1bWVudGVuXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0FSVElDTEVfVEVYVFwiOiBcIldpanppZ2VuIGFydGlrZWx0ZWtzdFwiLFxyXG4gICAgfSxcclxuICAgIFwiZGVcIjoge30sXHJcbiAgICBcImZyXCI6IHt9LFxyXG4gICAgXCJlblwiOiB7XHJcbiAgICAgIFwiQUNDT1VOVF9ERVRBSUxTXCI6IFwiQWNjb3VudCBkZXRhaWxzXCIsXHJcbiAgICAgIFwiQUNDT1VOVF9FWFBMQU5BVElPTlwiOiBcIkUtbWFpbGFkZHJlc3MgYW5kIHBhc3N3b3JkIGFyZSBuZWVkZWQgdG8gZ2FpbiBhY2Nlc3MgdG8gdGhlIGRhdGEuIFdlIGFsc28gbm90aWZ5IHlvdSBvbiB0aGlzIGUtbWFpbGFkZHJlc3MgYWJvdXQgdGhlIG9yZGVyIHN0YXR1c1wiLFxyXG4gICAgICBcIkFDVElWRVwiOiBcIkFjdGl2ZVwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX0xJTkVfVVBcIjogXCJBZGQgYXJ0aWNsZSBsaW5lIHVwXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfTElORV9ET1dOXCI6IFwiQWRkIGFydGljbGUgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0FSVElDTEVfVEVYVF9MSU5FX1VQXCI6IFwiQWRkIHRleHQgbGluZSB1cFwiLFxyXG4gICAgICBcIkFERF9BUlRJQ0xFX1RFWFRfTElORV9ET1dOXCI6IFwiQWRkIHRleHQgbGluZSBkb3duXCIsXHJcbiAgICAgIFwiQUREX0RFTElWRVJZX09QVElPTlwiOiBcIkFkZCBkZWxpdmVyeSBvcHRpb25cIixcclxuICAgICAgXCJBRERfRElTQ09VTlRTXCI6IFwiQWRkIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiQUREX1JFRkVSRU5DRVwiOiBcIkFkZCByZWZlcmVuY2VcIixcclxuICAgICAgXCJBRERfUkVNQVJLXCI6IFwiQWRkIHJlbWFya1wiLFxyXG4gICAgICBcIkFERFJFU1NcIjogXCJBZGRyZXNzXCIsXHJcbiAgICAgIFwiQUREUkVTU0VTXCI6IFwiQWRkcmVzc2VzXCIsXHJcbiAgICAgIFwiQUREUkVTU19BRERcIjogXCJBZGQgYWRkcmVzc1wiLFxyXG4gICAgICBcIkFERFJFU1NfQ0hBTkdFXCI6IFwiQ2hhbmdlIGFkZHJlc3NcIixcclxuICAgICAgXCJBRE1JTklTVFJBVElWRV9NQU5BR0VSXCI6IFwiQWRtaW5pc3RyYXRpdmUgbWFuYWdlclwiLFxyXG4gICAgICBcIkFMTE9DQVRFRFwiOiBcIkFsbG9jYXRlZFwiLFxyXG4gICAgICBcIkFMV0FZU19TSE9XX0xPR0lTVElDU19QT1BVUFwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJBUlJJVkFMX0RBVEVcIjogXCJBcnJpdmFsIGRhdGVcIixcclxuICAgICAgXCJBUlRJQ0xFXCI6IFwiQXJ0aWNsZVwiLFxyXG4gICAgICBcIkFSVElDTEVfREVTQ1JJUFRJT05cIjogXCJBcnRpY2xlIGRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9JTUFHRVwiOiBcIkFydGljbGUgaW1hZ2VcIixcclxuICAgICAgXCJBUlRJQ0xFX0lOX09VVF9DT0xMRUNUSU9OXCI6IFwiU3RhdHVzIG9mIGFydGljbGUgaXMgJ3x+Jy4gQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQ/XCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUlwiOiBcIkFydGljbGUgbnVtYmVyXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9OUl9TVVBQTElFUlwiOiBcIkFydGlrZWxuciBzdXBwbGllclwiLFxyXG4gICAgICBcIkFSVElDTEVfVU5LTk9XTlwiOiBcIkFydGljbGUgdW5rbm93blwiLFxyXG4gICAgICBcIkFTU0VNQkxZX0NPU1RTXCI6IFwiQXNzZW1ibHkgY29zdHNcIixcclxuICAgICAgXCJBU1NFTUJMWV9EQVRFXCI6IFwiQXNzZW1ibHkgZGF0ZVwiLFxyXG4gICAgICBcIkFTU0VNQkxZX1RJTUVcIjogXCJBc3NlbWJseSB0aW1lXCIsXHJcbiAgICAgIFwiQU1PVU5UXCI6IFwiQW1vdW50XCIsXHJcbiAgICAgIFwiQkFDS1wiOiBcIkJhY2tcIixcclxuICAgICAgXCJCQUxBTkNFXCI6IFwiQmFsYW5jZVwiLFxyXG4gICAgICBcIkJBVENIX05VTUJFUlwiOiBcIkJhdGNobnVtYmVyXCIsXHJcbiAgICAgIFwiQlJBTkNIXCI6IFwiQnJhbmNoXCIsXHJcbiAgICAgIFwiQlJBTkNIX05VTUJFUlwiOiBcIkJyYW5jaCBudW1iZXJcIixcclxuICAgICAgXCJCVVNJTkVTU19SVUxFX0RJU0NPVU5UXCI6IFwiQnVzaW5lc3MgcnVsZSBkaXNjb3VudFwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNBTk5PVF9DSEFOR0VfTkVHQVRJVkVfUVVBTlRJVFlcIjogXCJBIG5lZ2F0aXZlIHN1cHBseSBjYW5ub3QgYmUgY2hhbmdlZC5cIixcclxuICAgICAgXCJDQVJUXCI6IFwiQ2FydFwiLFxyXG4gICAgICBcIkNIQU5HRV9EQVRBXCI6IFwiQ2hhbmdlIGRhdGFcIixcclxuICAgICAgXCJDSEFSQUNURVJJU1RJQ19RVUVTVElPTlwiOiBcIkNoYXJhY3RlcmlzdGljIHF1ZXN0aW9uXCIsXHJcbiAgICAgIFwiQ0hFQ0tfV0FSRUhPVVNFX0FORF9DT01NSVNTSU9OQ09ERVwiOiBcIkNoZWNrIHdhcmVob3VzZSBhbmQgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJDSEVDS09VVF9GSU5JU0hcIjogXCJGaW5pc2ggY2hlY2tvdXRcIixcclxuICAgICAgXCJDSVRZXCI6IFwiQ2l0eVwiLFxyXG4gICAgICBcIkNMSUVOVF9EQVRBXCI6IFwiQ2xpZW50IGRhdGFcIixcclxuICAgICAgXCJDTElFTlRfSU5GT1JNQVRJT05cIjogXCJDbGllbnQgaW5mb3JtYXRpb25cIixcclxuICAgICAgXCJDT01QQU5ZXCI6IFwiQ29tcGFueVwiLFxyXG4gICAgICBcIkNPTVBBTllfTkFNRVwiOiBcIkNvbXBhbnkgbmFtZVwiLFxyXG4gICAgICBcIkNPTU1JU1NJT05fQ09ERVwiOiBcIkNvbW1pc3Npb24gY29kZVwiLFxyXG4gICAgICBcIkNPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hdGlvblwiLFxyXG4gICAgICBcIkNPTkZJUk1FRF9EQVRFXCI6IFwiQ29uZmlybWVkIGRhdGVcIixcclxuICAgICAgXCJDT05GSVJNRURfREVMSVZFUllfREFURVwiOiBcIkNvbmZpcm1lZCBkZWxpdmVyeSBkYXRlXCIsXHJcbiAgICAgIFwiQ09ORklSTUVEX1BSSUNFXCI6IFwiQ29uZmlybWVkIHByaWNlXCIsXHJcbiAgICAgIFwiQ09OVEFDVF9ERVRBSUxTXCI6IFwiQ29udGFjdGRldGFpbHNcIixcclxuICAgICAgXCJDT05USU5VRVwiOiBcIk5leHRcIixcclxuICAgICAgXCJDT05GSVJNRURcIjogXCJDb25maXJtZWRcIixcclxuICAgICAgXCJDT05USU5VRV9PUkRFUl9XSElMRV9TVE9DS19BVkFJTEFCTEVfUExFQVNFX0NPTkZJUk1cIjogXCJZb3UgaGF2ZSBjaG9zZW4gdG8gb3JkZXIgYXJ0aWNsZXMgd2hpbGUgc3RvY2sgaXMgc3RpbGwgYXZhaWxhYmxlLiBEbyB5b3Ugd2lzaCB0byBwcm9jZWVkP1wiLFxyXG4gICAgICBcIkNPTlRJTlVFX1dJVEhPVVRfQUNDT1VOVFwiOiBcIkNvbnRpbnVlIHdpdGhvdXQgYW4gYWNjb3VudFwiLFxyXG4gICAgICBcIkNPU1RTXCI6IFwiQ29zdHNcIixcclxuICAgICAgXCJDT1VOVFJZXCI6IFwiQ291bnRyeVwiLFxyXG4gICAgICBcIkNSRUFURV9BQ0NPVU5UXCI6IFwiQ3JlYXRlIGFuIGFjY291bnRcIixcclxuICAgICAgXCJDUkVBVEVfQUNDT1VOVF9JTl8yX01JTlwiOiBcIkNyZWF0ZSBhbiBhY2NvdW50IGluIDIgbWludXRlcy5cIixcclxuICAgICAgXCJDVVNUT01FUlwiOiBcIkN1c3RvbWVyXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfR1JPVVBcIjogXCJDdXN0b21lcmdyb3VwXCIsXHJcbiAgICAgIFwiQ1VTVE9NRVJfTkFNRVwiOiBcIkN1c3RvbWVyIG5hbWVcIixcclxuICAgICAgXCJEQVRFXCI6IFwiRGF0ZVwiLFxyXG4gICAgICBcIkRBVEVfT0ZfQklSVEhcIjogXCJEYXRlIG9mIGJpcnRoXCIsXHJcbiAgICAgIFwiREVGSU5JVElWRVwiOiBcIkRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxFVEVcIjogXCJEZWxldGVcIixcclxuICAgICAgXCJERUxFVEVfVFJBTlNBQ1RJT05fTElORVwiOiBcIkRlbGV0ZSB0cmFuc2FjdGlvbiBsaW5lIHZlcndpamRlcmVuP1wiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0hJTlRcIjogXCJEZWxldGUgdHJhbnNhY3Rpb24gbGluZVwiLFxyXG4gICAgICBcIkRFTEVURV9UUkFOU0FDVElPTl9MSU5FX0ZBSUxFRFwiOiBcIkRlbGV0aW9uIG9mIHRyYW5zYWN0aW9uIGxpbmUgaGFzIGZhaWxlZFwiLFxyXG4gICAgICBcIkRFTElWRVJFRFwiOiBcIkRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIkRFTElWRVJZXCI6IFwiRGVsaXZlcnlcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTXCI6IFwiRGVsaXZlcnkgYWRkcmVzc1wiLFxyXG4gICAgICBcIkRFTElWRVJZX0FERFJFU1NfQUREXCI6IFwiQWRkIGRlbGl2ZXJ5IGFkZHJlc3NcIixcclxuICAgICAgXCJERUxJVkVSWV9BRERSRVNTX0NIQU5HRVwiOiBcIkNoYW5nZSBkZWxpdmVyeSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiREVMSVZFUllfQkFUQ0hcIjogXCJEZWxpdmVyeSBiYXRjaFwiLFxyXG4gICAgICBcIkRFTElWRVJZX0NPU1RTXCI6IFwiRGVsaXZlcnkgY29zdHNcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRBXCI6IFwiRGVsaXZlcnlkYXRhXCIsXHJcbiAgICAgIFwiREVMSVZFUllfREFURVwiOiBcIkRlbGl2ZXJ5IGRhdGVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0RFRklOSVRJVkVcIjogXCJEZWxpdmVyeSBkYXRlIGRlZmluaXRpdmVcIixcclxuICAgICAgXCJERUxJVkVSWV9EQVRFX0ZJTkFMXCI6IFwiRmluYWwgZGVsaXZlcnkgZGF0ZVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0RJUkVDVFwiOiBcIkRpcmVjdCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIkRFTElWRVJZX0lORk9STUFUSU9OXCI6IFwiRGlyZWN0IGluZm9ybWF0aW9uXCIsXHJcbiAgICAgIFwiREVMSVZFUllfTE9DQVRJT05cIjogXCJEZWxpdmVyeSBsb2NhdGlvblwiLFxyXG4gICAgICBcIkRFTElWRVJZX05PVEVcIjogXCJEZWxpdmVyeSBub3RlXCIsXHJcbiAgICAgIFwiREVMSVZFUllfT1BUSU9OU1wiOiBcIkRlbGl2ZXJ5IG9wdGlvbnNcIixcclxuICAgICAgXCJERUxJVkVSWV9NRVRIT0RcIjogXCJEZWxpdmVyeSBtZXRob2RcIixcclxuICAgICAgXCJERUxJVkVSWV9NT01FTlRcIjogXCJEZWxpdmVyeSBtb21lbnRcIixcclxuICAgICAgXCJERUxJVkVSWV9PUFRBUlRJQ0xFX05SSU9OU1wiOiBcIkRlbGl2ZXJ5IG9wdGlvbnNcIixcclxuICAgICAgXCJERUxJVkVSWV9USU1FX1BFUklPRFwiOiBcIkRlbGl2ZXJ5IHRpbWUgcGVyaW9kXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJEZXNjcmlwdGlvblwiLFxyXG4gICAgICBcIkRFVEFJTFNcIjogXCJEZXRhaWxzXCIsXHJcbiAgICAgIFwiRElTQ09VTlRcIjogXCJEaXNjb3VudFwiLFxyXG4gICAgICBcIkRJU0NPVU5UU1wiOiBcIkRpc2NvdW50c1wiLFxyXG4gICAgICBcIkRJU0NPVU5UX0FNT1VOVFwiOiBcIkRpc2NvdW50IGFtb3VudFwiLFxyXG4gICAgICBcIkRJU0NPVU5UX1BFUkNFTlRBR0VcIjogXCJEaXNjb3VudCAlXCIsXHJcbiAgICAgIFwiRE9XTlBBWU1FTlRcIjogXCJEb3ducGF5bWVudFwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX1BFUkNFTlRBR0VcIjogXCJQZXJjZW50YWdlIHRvIGJlIHBhaWRcIixcclxuICAgICAgXCJET1dOUEFZTUVOVF9BTU9VTlRcIjogXCJBbW91bnQgdG8gYmUgcGFpZFwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX0JZX0JSXCI6IFwiQ2FsY3VsYXRlZCBieSBCUlwiLFxyXG4gICAgICBcIkRPV05QQVlNRU5UX09OX0RFTElWRVJZXCI6IFwiT24gZGVsaXZlcnlcIixcclxuICAgICAgXCJEUk9QU0hJUE1FTlRcIjogXCJEcm9wc2hpcG1lbnRcIixcclxuICAgICAgXCJFRElUX0NBUlRcIjogXCJFZGl0IGNhcnRcIixcclxuICAgICAgXCJFTUFJTF9BRERSRVNTXCI6IFwiRS1tYWlsYWRyZXNcIixcclxuICAgICAgXCJFWENFRURFTkNFX0NPREVcIjogXCJFeGNlZWRlbmNlIGNvZGVcIixcclxuICAgICAgXCJFWElTVElOR19DVVNUT01FUlNcIjogXCJFeGlzdGluZyBjdXN0b21lcnNcIixcclxuICAgICAgXCJFWFBFQ1RFRF9ERUxJVkVSWV9EQVRFXCI6IFwiKEV4cGVjdGVkKSBkZWxpdmVyeSBkYXRlXCIsXHJcbiAgICAgIFwiRVhQRUNURURfREVMSVZFUllfV0VFS1wiOiBcIihFeHBlY3RlZCkgZGVsaXZlcnkgd2Vla1wiLFxyXG4gICAgICBcIkZBQlJJQ0FUSU9OX0NPU1RcIjogXCJGYWJyaWNhdGlvbmNvc3RcIixcclxuICAgICAgXCJGQUJSSUNBVElPTl9DT1NUX0xJTkVfVE9UQUxcIjogXCJGYWJyaWNhdGlvbmNvc3QgbGluZXRvdGFsXCIsXHJcbiAgICAgIFwiRkVNQUxFXCI6IFwiRmVtYWxlXCIsXHJcbiAgICAgIFwiRklSU1RfTkFNRVwiOiBcIkZpcnN0IG5hbWVcIixcclxuICAgICAgXCJGUkVFXCI6IFwiRnJlZVwiLFxyXG4gICAgICBcIkZVTExZX0FMTE9DQVRFRFwiOiBcIkZ1bGx5IGFsbG9jYXRlZFwiLFxyXG4gICAgICBcIkZVTExZX0NPTkZJUk1FRFwiOiBcIkZ1bGx5IGNvbmZpcm1lZFwiLFxyXG4gICAgICBcIkZVTExZX0RFTElWRVJFRFwiOiBcIkZ1bGx5IGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIkZVTExZX1JFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIkZ1bGx5IHJlY2VpdmVkIC8gZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiRlVMTFlfSU5WT0lDRURcIjogXCJGdWxseSBpbnZvaWNlZFwiLFxyXG4gICAgICBcIkZVTExZX1RPX0JFX1BJQ0tFRFwiOiBcIkZ1bGx5IHRvIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIkZVTExZX1BJQ0tFRFwiOiBcIkZ1bGx5IHBpY2tlZFwiLFxyXG4gICAgICBcIkdPT0RfREVTQ1JJUFRJT05cIjogXCJBcnRpY2xlIGRlc2NyaXB0aW9uXCIsXHJcbiAgICAgIFwiR1JPU1NfUFJJQ0VcIjogXCJHcm9zcyBwcmljZVwiLFxyXG4gICAgICBcIkhBTkRMRURfQllcIjogXCJIYW5kbGVkIGJ5XCIsXHJcbiAgICAgIFwiSE9VU0VfTk9cIjogXCJIb3VzZW51bWJlclwiLFxyXG4gICAgICBcIkhPVVNFX05PX0FERElUSU9OXCI6IFwiSG91c2VudW1iZXIgYWRkaXRpb25cIixcclxuICAgICAgXCJJTlwiOiBcIkluXCIsXHJcbiAgICAgIFwiSU5BQ1RJVkVfVFJBTlNBQ1RJT05TXCI6IFwiSW5hY3RpZXZlIHRyYW5zYWN0aWVzXCIsXHJcbiAgICAgIFwiSU5DTFVESU5HX1JFVFVSTlNcIjogXCJJbmNsdWRpbmcgcmV0dXJuc1wiLFxyXG4gICAgICBcIklOX1NFQVJDSE9SREVSU1wiOiBcIkluIHNhbGVzIG9yZGVyc1wiLFxyXG4gICAgICBcIklOX09SREVSXCI6IFwiSW4gb3JkZXJcIixcclxuICAgICAgXCJJTl9PVVRfQ09MTEVDVElPTlwiOiBcIkluLW91dC1jb2xsZWN0aW9uXCIsXHJcbiAgICAgIFwiSU5WSVRFX1RPX0FDQ09VTlRcIjogXCJJbnZpdGUgYWNjb3VudFwiLFxyXG4gICAgICBcIklOVk9JQ0VEXCI6IFwiSW52b2ljZWRcIixcclxuICAgICAgXCJJTlZPSUNFXCI6IFwiSW52b2ljZVwiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU1wiOiBcIkludm9pY2UgYWRkcmVzc1wiLFxyXG4gICAgICBcIklOVk9JQ0VfQUREUkVTU19BRERcIjogXCJBZGQgaW52b2ljZSBhZGRyZXNzXCIsXHJcbiAgICAgIFwiSU5WT0lDRV9BRERSRVNTX0NIQU5HRVwiOiBcIkNoYW5nZSBpbnZvaWNlIGFkZHJlc3NcIixcclxuICAgICAgXCJJTlZPSUNFX0NIRUNLXCI6IFwiSW52b2ljZSBjaGVja1wiLFxyXG4gICAgICBcIkxBU1RfRURJVEVEX0RBVEVcIjogXCJEYXRlIGxhc3QgbXV0YXRpb25cIixcclxuICAgICAgXCJMQVNUX0VESVRFRF9VU0VSXCI6IFwiVXNlciBsYXN0IG11dGF0aW9uXCIsXHJcbiAgICAgIFwiTEFTVF9OQU1FXCI6IFwiTGFzdCBuYW1lXCIsXHJcbiAgICAgIFwiTElORV9ORUVEU19DT01NSVNTSU9OX0NPREVcIjogXCJMaW5lIG5lZWRzIGEgY29tbWlzc2lvbiBjb2RlXCIsXHJcbiAgICAgIFwiTE9DQVRJT05cIjogXCJMb2NhdGlvblwiLFxyXG4gICAgICBcIkxPR0lOXCI6IFwiTG9naW5cIixcclxuICAgICAgXCJMT0dJTl9ERVRBSUxTXCI6IFwiTG9naW4gZGV0YWlsc1wiLFxyXG4gICAgICBcIkxPR0lTVElDU1wiOiBcIkxvZ2lzdGljc1wiLFxyXG4gICAgICBcIkxPR0lTVElDU19BTkRfUExBTk5JTkdcIjogXCJMb2dpc3RpY3MgJiBwbGFubmluZ1wiLFxyXG4gICAgICBcIk1BSU5fQVJUSUNMRVwiOiBcIk1haW4gYXJ0aWNsZVwiLFxyXG4gICAgICBcIk1BTEVcIjogXCJNYWxlXCIsXHJcbiAgICAgIFwiTUFSS0VUSU5HXCI6IFwiTWFya2V0aW5nXCIsXHJcbiAgICAgIFwiTUFSS0VUSU5HX0NPREVcIjogXCJNYXJrZXRpbmdjb2RlXCIsXHJcbiAgICAgIFwiTUVOVVwiOiBcIk1lbnVcIixcclxuICAgICAgXCJNT0RJRklDQVRJT05fVElNRVwiOiBcIk1vZGlmaWNhdGlvbiB0aW1lXCIsXHJcbiAgICAgIFwiTU9SRV9GSUxURVJTXCI6IFwiTW9yZSBmaWx0ZXJzXCIsXHJcbiAgICAgIFwiTkFNRVwiOiBcIk5hbWVcIixcclxuICAgICAgXCJORVRfTElORV9UT1RBTFwiOiBcIkxpbmV0b3RhbFwiLFxyXG4gICAgICBcIk5FVFRcIjogXCJOZXRcIixcclxuICAgICAgXCJORVRUT19QUklDRVwiOiBcIk5ldHRvIHByaWNlXCIsXHJcbiAgICAgIFwiTkVXX0FUXCI6IFwiTmV3IGF0IFwiLFxyXG4gICAgICBcIk5FV19MT0NBVElPTlwiOiBcIk5ldyBsb2NhdGlvblwiLFxyXG4gICAgICBcIk5FWFRcIjogXCJOZXh0XCIsXHJcbiAgICAgIFwiTk9fSU1BR0VcIjogXCJObyBpbWFnZSBhdmFpbGFibGVcIixcclxuICAgICAgXCJOT19SRVNVTFRTXCI6IFwiTm8gcmVzdWx0c1wiLFxyXG4gICAgICBcIk5PVF9BRlRFUlwiOiBcIk5vdCBhZnRlclwiLFxyXG4gICAgICBcIk5PVF9CRUZPUkVcIjogXCJOb3QgYmVmb3JlXCIsXHJcbiAgICAgIFwiTk9USElOR19BTExPQ0FURURcIjogXCJOb3RoaW5nIGFsbG9jYXRlZFwiLFxyXG4gICAgICBcIk5PVEhJTkdfQ09ORklSTUVEXCI6IFwiTm90aGluZyBjb25maXJtZWRcIixcclxuICAgICAgXCJOT1RISU5HX0RFTElWRVJFRFwiOiBcIk5vdGhpbmcgZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiTk9USElOR19SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJOb3RoaW5nIHJlY2VpdmVkIC8gZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiTk9USElOR19JTlZPSUNFRFwiOiBcIk5vdGhpbmcgaW52b2ljZWRcIixcclxuICAgICAgXCJOT1RISU5HX1RPX0JFX1BJQ0tFRFwiOiBcIk5vdGhpbmcgdG8gYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiTk9USElOR19QSUNLRURcIjogXCJOb3RoaW5nIHBpY2tlZFwiLFxyXG4gICAgICBcIk5SXCI6IFwiTnVtYmVyXCIsXHJcbiAgICAgIFwiTlVNQkVSXCI6IFwiQW1vdW50XCIsXHJcbiAgICAgIFwiT05fREFURVwiOiBcIk9uIGRhdGVcIixcclxuICAgICAgXCJPTl9IT0xEXCI6IFwiT24gaG9sZFwiLFxyXG4gICAgICBcIk9QRU5fU0hPUFBJTkdfQ0FSVFwiOiBcIk9wZW4gc2hvcHBpbmcgY2FydFwiLFxyXG4gICAgICBcIk9SREVSX0NPTkZJUk1BVElPTlNcIjogXCJPcmRlciBjb25maXJtYXRpb25zXCIsXHJcbiAgICAgIFwiT1JERVJfREFURVwiOiBcIk9yZGVyIGRhdGVcIixcclxuICAgICAgXCJPUkRFUl9EQVRBXCI6IFwiT3JkZXJkYXRhXCIsXHJcbiAgICAgIFwiT1JERVJfREVGSU5JVElWRVwiOiBcIk9yZGVyIGRlZmluaXRpdmVcIixcclxuICAgICAgXCJPUkRFUl9HUk9TU1wiOiBcIlRvdGFsIGdyb3NzIGFtb3VudFwiLFxyXG4gICAgICBcIk9SREVSX0xJTkVTXCI6IFwiT3JkZXJsaW5lc1wiLFxyXG4gICAgICBcIk9SREVSX05FVFwiOiBcIlRvdGFsIG5ldCBhbW91bnRcIixcclxuICAgICAgXCJPUkRFUl9OVU1CRVJcIjogXCJPcmRlciBudW1iZXJcIixcclxuICAgICAgXCJPUkRFUl9QQVJBTUVURVJTXCI6IFwiT3JkZXIgcGFyYW1ldGVyc1wiLFxyXG4gICAgICBcIk9SREVSX1JVTEVcIjogXCJPcmRlciBydWxlXCIsXHJcbiAgICAgIFwiT1JERVJfUlVMRVNFVFwiOiBcIk9yZGVycnVsZXNldFwiLFxyXG4gICAgICBcIk9SREVSX1RPVEFBTFwiOiBcIk9yZGVyIHRvdGFsXCIsXHJcbiAgICAgIFwiT1JERVJfVFlQRVwiOiBcIk9yZGVyIHR5cGVcIixcclxuICAgICAgXCJPUkRFUkVEXCI6IFwiT3JkZXJlZFwiLFxyXG4gICAgICBcIk9USEVSXCI6IFwiT3RoZXJcIixcclxuICAgICAgXCJPVkVSVklFV1wiOiBcIk92ZXJ2aWV3XCIsXHJcbiAgICAgIFwiT1ZFUlZJRVdfQU5EX1BBWU1FTlRcIjogXCJPdmVydmlldyBhbmQgcGF5bWVudFwiLFxyXG4gICAgICBcIk9XTl9SRUZFUkVOQ0VcIjogXCJPd24gcmVmZXJlbmNlXCIsXHJcbiAgICAgIFwiUEFDS0lOR19TTElQXCI6IFwiUGFja2luZyBzbGlwXCIsXHJcbiAgICAgIFwiUEFJRF9ET1dOMlwiOiBcIlByZXBhaWRcIixcclxuICAgICAgXCJQQVJUX0RFTElWRVJZXCI6IFwiUGFydGlhbCBkZWxpdmVyeVwiLFxyXG4gICAgICBcIlBBUlRfREVMSVZFUklFU1wiOiBcIlBhcnRpYWwgZGVsaXZlcmllc1wiLFxyXG4gICAgICBcIlBBUlRMWV9BTExPQ0FURURcIjogXCJQYXJ0bHkgYWxsb2NhdGVkXCIsXHJcbiAgICAgIFwiUEFSVExZX0NPTkZJUk1FRFwiOiBcIlBhcnRseSBjb25maXJtZWRcIixcclxuICAgICAgXCJQQVJUTFlfREVMSVZFUkVEXCI6IFwiUGFydGx5IGRlbGl2ZXJlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9SRUNFSVZFRF9ERUxJVkVSRURcIjogXCJQYXJ0bHkgcmVjZWl2ZWQgLyBkZWxpdmVyZWRcIixcclxuICAgICAgXCJQQVJUTFlfSU5WT0lDRURcIjogXCJQYXJ0bHkgaW52b2ljZWRcIixcclxuICAgICAgXCJQQVJUTFlfVE9fQkVfUElDS0VEXCI6IFwiUGFydGx5IHRvIGJlIHBpY2tlZFwiLFxyXG4gICAgICBcIlBBUlRMWV9QSUNLRURcIjogXCJQYXJ0bHkgcGlja2VkXCIsXHJcbiAgICAgIFwiUEFTU1dPUkRcIjogXCJQYXNzd29yZFwiLFxyXG4gICAgICBcIlBBWVwiOiBcIlBheVwiLFxyXG4gICAgICBcIlBBWU1FTlRcIjogXCJQYXltZW50XCIsXHJcbiAgICAgIFwiUEFZTUVOVF9JTkZPUk1BVElPTlwiOiBcIlBheW1lbnQgaW5mb3JtYXRpb25cIixcclxuICAgICAgXCJQQVlNRU5UX01FVEhPRFwiOiBcIlBheW1lbnQgbWV0aG9kXCIsXHJcbiAgICAgIFwiUEVSU09OQUxfREFUQVwiOiBcIlBlcnNvbmFsIGRhdGFcIixcclxuICAgICAgXCJQSE9ORV9OT1wiOiBcIlRlbGVwaG9uZSBudW1iZXJcIixcclxuICAgICAgXCJQTEFOTklOR1wiOiBcIlBsYW5uaW5nXCIsXHJcbiAgICAgIFwiUElDS0VEXCI6IFwiUGlja2VkXCIsXHJcbiAgICAgIFwiUE9TVEFMX0NPREVcIjogXCJwb3N0YWwgY29kZVwiLFxyXG4gICAgICBcIlBSRUZFUlJFRF9EQVRFXCI6IFwiUHJlZmVycmVkIGRhdGVcIixcclxuICAgICAgXCJQUkVGSVhcIjogXCJQcmVmaXhcIixcclxuICAgICAgXCJQUkVWSU9VU1wiOiBcIlByZXZpb3VzXCIsXHJcbiAgICAgIFwiUFJJQ0VcIjogXCJQcmljZVwiLFxyXG4gICAgICBcIlBSSUNFX0xJU1RcIjogXCJQcmljZWxpc3RcIixcclxuICAgICAgXCJQUklDSU5HXCI6IFwiUHJpY2luZ1wiLFxyXG4gICAgICBcIlBSSVZBQ1lfUFJFRkVSRU5DRVNcIjogXCJQcml2YWN5IHByZWZlcmVuY2VzXCIsXHJcbiAgICAgIFwiUFJJVkFURV9QRVJTT05cIjogXCJQcml2YXRlXCIsXHJcbiAgICAgIFwiUFJPRFVDVFwiOiBcIlByb2R1Y3RcIixcclxuICAgICAgXCJQUk9EVUNUX1RZUEVcIjogXCJQcm9kdWN0IHR5cGVcIixcclxuICAgICAgXCJQVVJDSEFTRVwiOiBcIlB1cmNoYXNlXCIsXHJcbiAgICAgIFwiUFVSQ0hBU0VOVU1CRVJcIjogXCJQdXJjaGFzZSBudW1iZXJcIixcclxuICAgICAgXCJQVVJDSEFTRU9SREVSU1wiOiBcIlB1cmNoYXNlIG9yZGVyc1wiLFxyXG4gICAgICBcIlBVUkNIQVNFX1BFUlNPTlwiOiBcIlB1cmNoYXNlIHBlcnNvblwiLFxyXG4gICAgICBcIlFVQU5USVRZX0NBTk5PVF9CRV9aRVJPX09SX0VNUFRZXCI6IFwiUXVhbnRpdHkgY2Fubm90IGJlIHplcm8gb3IgZW1wdHlcIixcclxuICAgICAgXCJRVUFOVFVNX0RJU0NPVU5UXCI6IFwiUXVhbnR1bSBkaXNjb3VudFwiLFxyXG4gICAgICBcIlJFQ0VJUFRfREVUQUlMU1wiOiBcIlJlY2VpcHQgZGV0YWlsc1wiLFxyXG4gICAgICBcIlJFQ0VJVkVEXCI6IFwiUmVjZWl2ZWRcIixcclxuICAgICAgXCJSRUNFSVZFRF9EQVRFXCI6IFwiUmVjZWl2ZWQgZGF0ZVwiLFxyXG4gICAgICBcIlJFQ0VJVkVEX0RFTElWRVJFRFwiOiBcIlJlY2VpdmVkIC8gZGVsaXZlcmVkXCIsXHJcbiAgICAgIFwiUkVGRVJFTkNFXCI6IFwiUmVmZXJlbmNlXCIsXHJcbiAgICAgIFwiUkVGRVJFTkNFX1JFTEFUSU9OXCI6IFwiUmVmLiByZWxhdGlvblwiLFxyXG4gICAgICBcIlJFTEFUSU9OX05VTUJFUlwiOiBcIlJlbGF0aW9uIG51bWJlclwiLFxyXG4gICAgICBcIlJFTUFSS1NcIjogXCJSZW1hcmtzXCIsXHJcbiAgICAgIFwiUkVRVUVTVEVEX0RFTElWRVJZXCI6IFwiUmVxdWVzdGVkIGRlbGl2ZXJ5XCIsXHJcbiAgICAgIFwiU0FMRVNPUkRFUlNcIjogXCJTYWxlcyBvcmRlcnNcIixcclxuICAgICAgXCJTQUxVVEFUSU9OXCI6IFwiU2FsdXRhdGlvblwiLFxyXG4gICAgICBcIlNBTUVfQVNfREVMSVZFUllcIjogXCJTYW1lIGFzIGRlbGl2ZXJ5IGFkZHJlc3NcIixcclxuICAgICAgXCJTQVZFXCI6IFwiU2F2ZVwiLFxyXG4gICAgICBcIlNFQVJDSFwiOiBcIlNlYXJjaFwiLFxyXG4gICAgICBcIlNFQVJDSF9BRERfQVJUSUNMRVwiOiBcIlNlYXJjaCBhbmQgYWRkIGFydGljbGVcIixcclxuICAgICAgXCJTRUFSQ0hfREVMSVZFUllfTUVUSE9EXCI6IFwiU2VhcmNoIGRlbGl2ZXJ5bWV0aG9kXCIsXHJcbiAgICAgIFwiU0VBUkNIX0lOX0NPTExFQ1RJT05cIjogXCJTZWFyY2ggaW4gY29sbGVjdGlvbi4uLlwiLFxyXG4gICAgICBcIlNFQVJDSF9OVU1CRVJfQ1VTVE9NRVJfT1JfREFURVwiOiBcIlNlYXJjaCBmb3IgbnVtYmVyLCBjdXN0b21lciBvciBkYXRlXCIsXHJcbiAgICAgIFwiU0VBUkNIX1ZBVFwiOiBcIlNlYXJjaCB2YXRcIixcclxuICAgICAgXCJTRUFSQ0hfV0FSRUhPVVNFXCI6IFwiU2VhcmNoIHdhcmVob3VzZVwiLFxyXG4gICAgICBcIlNFTEVDVFwiOiBcIlNlbGVjdFwiLFxyXG4gICAgICBcIlNFTEVDVF9BXCI6IFwiU2VsZWN0IGFcIixcclxuICAgICAgXCJTRUxFQ1RfQ0FTSF9SRUdJU1RFUlwiOiBcIlNlbGVjdCBjYXNoIHJlZ2lzdGVyXCIsXHJcbiAgICAgIFwiU0VMRUNUX0RBVEVfUkFOR0VcIjogXCJTZWxlY3QgYSBkYXRlIHJhbmdlXCIsXHJcbiAgICAgIFwiU0VSSUFMX05VTUJFUlwiOiBcIlNlcmlhbCBudW1iZXJcIixcclxuICAgICAgXCJTRVJWSUNFX05VTUJFUlwiOiBcIlNlcnZpY2UgbnVtYmVyXCIsXHJcbiAgICAgIFwiU0VSVklDRV9SRVFVRVNUX0RBVEVcIjogXCJTZXJ2aWNlIHJlcXVlc3QgZGF0YVwiLFxyXG4gICAgICBcIlNFUlZJQ0VfU1RBVEVcIjogXCJTZXJ2aWNlIHN0YXRlXCIsXHJcbiAgICAgIFwiU0hPUFBJTkdfQ0FSVFwiOiBcIlNob3BwaW5nIGNhcnRcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX0NIRUNLT1VUXCI6IFwiQ2hlY2tvdXRcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX09WRVJWSUVXXCI6IFwiT3JkZXIgb3ZlcnZpZXdcIixcclxuICAgICAgXCJTSE9QUElOR19DQVJUX1JFU1VNRVwiOiBcIlJlc3VtZSBzaG9wcGluZ1wiLFxyXG4gICAgICBcIlNIT1dfTU9SRVwiOiBcIlNob3cgbW9yZVwiLFxyXG4gICAgICBcIlNIT1dfTEVTU1wiOiBcIlNob3cgbGVzc1wiLFxyXG4gICAgICBcIlNQRUNJQUxfRElTQ09VTlRcIjogXCJTcGVjaWFsIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiU09VUkNFX1dBUkVIT1VTRVwiOiBcIlNvdXJjZSB3YXJlaG91c2VcIixcclxuICAgICAgXCJTVE9DS1wiOiBcIlN0b2NrXCIsXHJcbiAgICAgIFwiU1RPQ0tfTk9USUZJQ0FUSU9OXCI6IFwiU3RvY2sgbm90aWZpY2F0aW9uXCIsXHJcbiAgICAgIFwiU1RPQ0tfQVZBSUxBQkxFX0NIQU5HRV9XQVJFSE9VU0VfT1JfQ09NTUlTU0lPTkNPREVcIjogXCJOb3QgZW5vdWdoIHN1cHBseS4gQ2hhbmdlIHdhcmVob3VzZSBhbmQvb3IgY29tbWlzc2lvbmNvZGVcIixcclxuICAgICAgXCJTVUJUT1RBTFwiOiBcIlN1YnRvdGFsXCIsXHJcbiAgICAgIFwiU1VHR0VTVElPTlNcIjogXCJTdWdnZXN0aW9uc1wiLFxyXG4gICAgICBcIlNVUFBMSUVSXCI6IFwiU3VwcGxpZXJcIixcclxuICAgICAgXCJTVVJDSEFSR0VfQU1PVU5UXCI6IFwiU3VyY2hhcmdlXCIsXHJcbiAgICAgIFwiU1RBVEVcIjogXCJTVEFUVVNcIixcclxuICAgICAgXCJTVFJFRVRcIjogXCJTdHJlZXRuYW1lXCIsXHJcbiAgICAgIFwiVEFHU1wiOiBcIlRhZ3NcIixcclxuICAgICAgXCJUT19SRVBPUlRfSU5cIjogJ1RvIHJlcG9ydCBpbicsXHJcbiAgICAgIFwiVE9fQkVfUElDS0VEXCI6IFwiVGUgYmUgcGlja2VkXCIsXHJcbiAgICAgIFwiVE9fREVMSVZFUlwiOiBcIlRvIGRlbGl2ZXJcIixcclxuICAgICAgXCJUT19QQVlcIjogXCJUbyBwYXlcIixcclxuICAgICAgXCJUT1RBTF9BTU9VTlRcIjogXCJUb3RhbCBhbW91bnRcIixcclxuICAgICAgXCJUT1RBTF9BU1NFTUJMWV9USU1FXCI6IFwiVG90YWwgYXNzZW1ibHkgdGltZVwiLFxyXG4gICAgICBcIlRPVEFMX0dST1NTXCI6IFwiR3Jvc3MgdG90YWxcIixcclxuICAgICAgXCJUT1RBTF9MSU5FX0RJU0NPVU5UXCI6IFwiVG90YWwgbGluZWRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fREFURVwiOiBcIlRyYW5zYWN0aW9uIGRhdGVcIixcclxuICAgICAgXCJUUkFOU0FDVElPTl9ESVNDT1VOVFwiOiBcIlRvdGFsIHRyYW5zYWN0aW9uIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQ1wiOiBcIiUgVHJhbnMuIGRpc2NvdW50XCIsXHJcbiAgICAgIFwiVFJBTlNBQ1RJT05fUFJJQ0VfREVDTEFSQVRJT05cIjogXCJUcmFuc2FjdGlvbiBwcmljZSBkZWNsYXJhdGlvblwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1NVTV9JXCI6IFwiT3JkZXJ0b3RhbCBpbmNsIFZBVFwiLFxyXG4gICAgICBcIlRSQU5TQUNUSU9OX1RPVEFMXCI6IFwiVHJhbnNhY3Rpb24gdG90YWxcIixcclxuICAgICAgXCJUUkFOU1BPUlRcIjogXCJUcmFuc3BvcnRcIixcclxuICAgICAgXCJUUkFOU1BPUlRfQ09TVFwiOiBcIlRyYW5zcG9ydGNvc3RzXCIsXHJcbiAgICAgIFwiVFJBTlNQT1JUX0NPU1RfTElORV9UT1RBTFwiOiBcIlRyYW5zcG9ydGNvc3RzIGxpbmV0b3RhbFwiLFxyXG4gICAgICBcIlRVUk5PVkVSX0dST1VQXCI6IFwiVHVybm92ZXIgZ3JvdXBcIixcclxuICAgICAgXCJUWVBFXCI6IFwiVHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05cIjogXCJ1bmtub3duXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9BRERSRVNTX0NIRUNLX0lUXCI6IFwiVW5rbm93biBhZGRyZXNzXCIsXHJcbiAgICAgIFwiVVNFUlwiOiBcIlVzZXJcIixcclxuICAgICAgXCJWQUxVRVwiOiBcIlZhbHVlXCIsXHJcbiAgICAgIFwiVkFUXCI6IFwiVkFUXCIsXHJcbiAgICAgIFwiVkFUMlwiOiBcIlZBVFwiLFxyXG4gICAgICBcIlZBVF9BTU9VTlRcIjogXCJWQVQgYW1vdW50XCIsXHJcbiAgICAgIFwiV0FSRUhPVVNFXCI6IFwiV2FyZWhvdXNlXCIsXHJcbiAgICAgIFwiV0hFUkVfQVJFX1lPVV9MT09LSU5HX0ZPUlwiOiBcIldoZXJlIGFyZSB5b3UgbG9va2luZyBmb3I/XCIsXHJcbiAgICAgIFwiWU9VUl9EQVRBXCI6IFwiWW91ciBkYXRhXCIsXHJcbiAgICAgIFwiU1RBTkRBUkRfVEVYVFNcIjpcIlN0YW5kYXJkIHRleHRzXCIsXHJcbiAgICAgIFwiQVJUSUNMRV9CT1VORF9URVhUXCI6IFwiQXJ0aWNsZSBib3VuZCB0ZXh0XCIsXHJcbiAgICAgIFwiRk9SX0RPQ1VNRU5UU1wiOiBcIlVzZWQgYXQgZG9jdW1lbnRzXCIsXHJcbiAgICAgIFwiQ0hBTkdFX0FSVElDTEVfVEVYVFwiOiBcIkNoYW5nZSBhcnRpY2xlIHRleHRcIixcclxuICAgIH0sXHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { EventEmitter } from "@angular/core";
2
+ // Class represents a value that is to be loaded only once, lazily, by its .loadFunction, despite how many times or how fast its getValue() is called.
3
+ export class CacheField {
4
+ constructor() {
5
+ this.onLoad = new EventEmitter();
6
+ this._isLoaded = false;
7
+ }
8
+ // The value of this cache field. Warning: might not have been loaded yet. Call ensureLoaded() or getvalue() for true value.
9
+ get value() {
10
+ return this._value;
11
+ }
12
+ set value(value) {
13
+ this._value = value;
14
+ this._promiseValue = Promise.resolve(value);
15
+ this._isLoaded = true;
16
+ }
17
+ // Whether the value has been loaded or not.
18
+ get isLoaded() {
19
+ return this._isLoaded;
20
+ }
21
+ // Whether the value is currently loading or not.
22
+ get isLoading() {
23
+ return !this._isLoaded && (this._promiseValue !== null && this._promiseValue !== undefined);
24
+ }
25
+ get loadNeverCalled() {
26
+ return !this.isLoading && !this.isLoaded;
27
+ }
28
+ // Loads and returns the value. Only loads from db if it wasn't loaded before (or forceReload was given true)
29
+ getValue(forceReload) {
30
+ return this.ensureLoaded(forceReload);
31
+ }
32
+ setValue(value) {
33
+ this.value = value;
34
+ }
35
+ /**
36
+ * POSTCONDITION: The .value of this cache field contains the loaded value as fetched by the resolve data of its .loadFunction.
37
+ * Will load only once, consecutive calls will resolve immediately or wait until the first original database fetch was finished.
38
+ * @returns {Promise<any>} Postcondition holds after resolve
39
+ */
40
+ ensureLoaded(forceReload) {
41
+ if (!forceReload && this._promiseValue) {
42
+ return this._promiseValue;
43
+ }
44
+ else {
45
+ return this._load();
46
+ }
47
+ }
48
+ // POSTCONDITION: The .value of this cache field contains a freshly loaded value as fetched by the resolve data of its loadFunction.
49
+ reload() {
50
+ return this.ensureLoaded(true);
51
+ }
52
+ // Resets / invaldates this cache field. Makes sure that the next load() will really perform its load function body again (e.g. visit the DB,
53
+ // if that's ur function)
54
+ reset() {
55
+ this._value = undefined;
56
+ this._promiseValue = undefined;
57
+ this._isLoaded = false;
58
+ }
59
+ _load() {
60
+ if (this.loadFunction) {
61
+ this._promiseValue = this.loadFunction.call(this);
62
+ this._promiseValue.then((value) => {
63
+ this._value = value;
64
+ this._isLoaded = true;
65
+ this.onLoad.emit();
66
+ return value;
67
+ });
68
+ return this._promiseValue;
69
+ }
70
+ else {
71
+ return Promise.resolve(undefined);
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NhY2hlL2NhY2hlLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0Msc0pBQXNKO0FBQ3RKLE1BQU0sT0FBTyxVQUFVO0lBbUNyQjtRQWxDZ0IsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBZ0M1RCxjQUFTLEdBQVksS0FBSyxDQUFDO0lBR25DLENBQUM7SUFqQ0QsNEhBQTRIO0lBQzVILElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBUTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0lBWUQsNkdBQTZHO0lBQ3RHLFFBQVEsQ0FBQyxXQUFxQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLFdBQXFCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDM0I7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELG9JQUFvSTtJQUM3SCxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCw2SUFBNkk7SUFDN0kseUJBQXlCO0lBQ2xCLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRU8sS0FBSztRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDbGFzcyByZXByZXNlbnRzIGEgdmFsdWUgdGhhdCBpcyB0byBiZSBsb2FkZWQgb25seSBvbmNlLCBsYXppbHksIGJ5IGl0cyAubG9hZEZ1bmN0aW9uLCBkZXNwaXRlIGhvdyBtYW55IHRpbWVzIG9yIGhvdyBmYXN0IGl0cyBnZXRWYWx1ZSgpIGlzIGNhbGxlZC5cclxuZXhwb3J0IGNsYXNzIENhY2hlRmllbGQ8VD4ge1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8vIFRoZSB2YWx1ZSBvZiB0aGlzIGNhY2hlIGZpZWxkLiBXYXJuaW5nOiBtaWdodCBub3QgaGF2ZSBiZWVuIGxvYWRlZCB5ZXQuIENhbGwgZW5zdXJlTG9hZGVkKCkgb3IgZ2V0dmFsdWUoKSBmb3IgdHJ1ZSB2YWx1ZS5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3Byb21pc2VWYWx1ZSA9IFByb21pc2UucmVzb2x2ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBXaGV0aGVyIHRoZSB2YWx1ZSBoYXMgYmVlbiBsb2FkZWQgb3Igbm90LlxyXG4gIHB1YmxpYyBnZXQgaXNMb2FkZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBjdXJyZW50bHkgbG9hZGluZyBvciBub3QuXHJcbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuX2lzTG9hZGVkICYmICh0aGlzLl9wcm9taXNlVmFsdWUgIT09IG51bGwgJiYgdGhpcy5fcHJvbWlzZVZhbHVlICE9PSB1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBsb2FkTmV2ZXJDYWxsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuaXNMb2FkaW5nICYmICF0aGlzLmlzTG9hZGVkO1xyXG4gIH1cclxuXHJcbiAgLy8gQXNzaWduIHRoZSBsb2FkIGZ1bmN0aW9uIHRvIHRoaXMgZmllbGQuIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHZhbHVlIGFzIGRhdGEuXHJcbiAgcHVibGljIGxvYWRGdW5jdGlvbjogKHBhcmFtcz86IGFueSkgPT4gUHJvbWlzZTxUPjtcclxuXHJcbiAgcHJpdmF0ZSBfcHJvbWlzZVZhbHVlOiBQcm9taXNlPFQ+O1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBUO1xyXG4gIHByaXZhdGUgX2lzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgLy8gTG9hZHMgYW5kIHJldHVybnMgdGhlIHZhbHVlLiBPbmx5IGxvYWRzIGZyb20gZGIgaWYgaXQgd2Fzbid0IGxvYWRlZCBiZWZvcmUgKG9yIGZvcmNlUmVsb2FkIHdhcyBnaXZlbiB0cnVlKVxyXG4gIHB1YmxpYyBnZXRWYWx1ZShmb3JjZVJlbG9hZD86IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLmVuc3VyZUxvYWRlZChmb3JjZVJlbG9hZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQgeyAvL05PU09OQVJcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBPU1RDT05ESVRJT046IFRoZSAudmFsdWUgb2YgdGhpcyBjYWNoZSBmaWVsZCBjb250YWlucyB0aGUgbG9hZGVkIHZhbHVlIGFzIGZldGNoZWQgYnkgdGhlIHJlc29sdmUgZGF0YSBvZiBpdHMgLmxvYWRGdW5jdGlvbi5cclxuICAgKiBXaWxsIGxvYWQgb25seSBvbmNlLCBjb25zZWN1dGl2ZSBjYWxscyB3aWxsIHJlc29sdmUgaW1tZWRpYXRlbHkgb3Igd2FpdCB1bnRpbCB0aGUgZmlyc3Qgb3JpZ2luYWwgZGF0YWJhc2UgZmV0Y2ggd2FzIGZpbmlzaGVkLlxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFBvc3Rjb25kaXRpb24gaG9sZHMgYWZ0ZXIgcmVzb2x2ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbnN1cmVMb2FkZWQoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxUPiB7XHJcbiAgICBpZiAoIWZvcmNlUmVsb2FkICYmIHRoaXMuX3Byb21pc2VWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fcHJvbWlzZVZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2xvYWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBPU1RDT05ESVRJT046IFRoZSAudmFsdWUgb2YgdGhpcyBjYWNoZSBmaWVsZCBjb250YWlucyBhIGZyZXNobHkgbG9hZGVkIHZhbHVlIGFzIGZldGNoZWQgYnkgdGhlIHJlc29sdmUgZGF0YSBvZiBpdHMgbG9hZEZ1bmN0aW9uLlxyXG4gIHB1YmxpYyByZWxvYWQoKTogUHJvbWlzZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnN1cmVMb2FkZWQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldHMgLyBpbnZhbGRhdGVzIHRoaXMgY2FjaGUgZmllbGQuIE1ha2VzIHN1cmUgdGhhdCB0aGUgbmV4dCBsb2FkKCkgd2lsbCByZWFsbHkgcGVyZm9ybSBpdHMgbG9hZCBmdW5jdGlvbiBib2R5IGFnYWluIChlLmcuIHZpc2l0IHRoZSBEQixcclxuICAvLyBpZiB0aGF0J3MgdXIgZnVuY3Rpb24pXHJcbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9wcm9taXNlVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9pc0xvYWRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZCgpOiBQcm9taXNlPFQ+IHtcclxuICAgIGlmICh0aGlzLmxvYWRGdW5jdGlvbikge1xyXG4gICAgICB0aGlzLl9wcm9taXNlVmFsdWUgPSB0aGlzLmxvYWRGdW5jdGlvbi5jYWxsKHRoaXMpO1xyXG4gICAgICB0aGlzLl9wcm9taXNlVmFsdWUudGhlbigodmFsdWU6IFQpID0+IHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm9uTG9hZC5lbWl0KCk7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRoaXMuX3Byb21pc2VWYWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,54 @@
1
+ import { CacheField } from "./cache-field";
2
+ import { ObjectUtils } from "@colijnit/transactionapi/build/utils/object-utils";
3
+ // Class represents cached values retrieved by a load function that is to be called only once per unique input parameter combination.
4
+ export class ParameterCacheField {
5
+ constructor() {
6
+ // A map from cache params (keys: the loadFunction arguments) to their cache fields
7
+ this._paramsToCacheItems = new Map();
8
+ }
9
+ // Returns the value for given loadfunction parameters. Loads if not yet loaded.
10
+ getValue(...params) {
11
+ return this._getCacheField(params).getValue();
12
+ }
13
+ setValue(value, ...params) {
14
+ return this._getCacheField(params).setValue(value);
15
+ }
16
+ // Returns the freshly reloaded value for given loadfunction parameters.
17
+ reload(...params) {
18
+ return this._getCacheField(params).reload();
19
+ }
20
+ // Resets one or all cache items. If no params given, resets ALL cache items.
21
+ reset(...params) {
22
+ if (params && params.length > 0) {
23
+ this._getCacheField(params).reset();
24
+ }
25
+ else {
26
+ this._paramsToCacheItems.forEach(cacheItem => cacheItem.reset());
27
+ this._paramsToCacheItems.clear();
28
+ this._paramsToCacheItems = new Map(); // not sure if clear() is enough for garbage collector?
29
+ }
30
+ }
31
+ // Makes a new cache field if none existed for these params. Returns the cache field that matches given params.
32
+ _getCacheField(params) {
33
+ let existingCacheField = undefined;
34
+ this._paramsToCacheItems.forEach((value, key) => {
35
+ if (!existingCacheField && ObjectUtils.DeepEquals(params, key)) {
36
+ existingCacheField = value;
37
+ }
38
+ });
39
+ if (existingCacheField) {
40
+ return existingCacheField;
41
+ }
42
+ else {
43
+ return this._makeNewCacheField(params);
44
+ }
45
+ }
46
+ // Creates and returns a new loadField for given params
47
+ _makeNewCacheField(params) {
48
+ const cacheField = new CacheField();
49
+ cacheField.loadFunction = this.loadFunction.bind(cacheField, ...params);
50
+ this._paramsToCacheItems.set(params, cacheField);
51
+ return cacheField;
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWNhY2hlLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jYWNoZS9wYXJhbWV0ZXItY2FjaGUtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFOUUscUlBQXFJO0FBQ3JJLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUI7UUFIQSxtRkFBbUY7UUFDM0Usd0JBQW1CLEdBQThCLElBQUksR0FBRyxFQUF3QixDQUFDO0lBR3pGLENBQUM7SUFFRCxnRkFBZ0Y7SUFDekUsUUFBUSxDQUFDLEdBQUcsTUFBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFVLEVBQUUsR0FBRyxNQUFhO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdFQUF3RTtJQUNqRSxNQUFNLENBQUMsR0FBRyxNQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsNkVBQTZFO0lBQ3RFLEtBQUssQ0FBQyxHQUFHLE1BQWE7UUFDM0IsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUMsQ0FBQyx1REFBdUQ7U0FDbEg7SUFDSCxDQUFDO0lBRUQsK0dBQStHO0lBQ3ZHLGNBQWMsQ0FBQyxNQUFhO1FBQ2xDLElBQUksa0JBQWtCLEdBQWtCLFNBQVMsQ0FBQztRQUVsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxHQUFVLEVBQUUsRUFBRTtZQUNwRSxJQUFJLENBQUMsa0JBQWtCLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzlELGtCQUFrQixHQUFHLEtBQUssQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixPQUFPLGtCQUFrQixDQUFDO1NBQzNCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCx1REFBdUQ7SUFDL0Msa0JBQWtCLENBQUMsTUFBYTtRQUN0QyxNQUFNLFVBQVUsR0FBa0IsSUFBSSxVQUFVLEVBQUssQ0FBQztRQUN0RCxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FjaGVGaWVsZH0gZnJvbSBcIi4vY2FjaGUtZmllbGRcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9vYmplY3QtdXRpbHNcIjtcclxuXHJcbi8vIENsYXNzIHJlcHJlc2VudHMgY2FjaGVkIHZhbHVlcyByZXRyaWV2ZWQgYnkgYSBsb2FkIGZ1bmN0aW9uIHRoYXQgaXMgdG8gYmUgY2FsbGVkIG9ubHkgb25jZSBwZXIgdW5pcXVlIGlucHV0IHBhcmFtZXRlciBjb21iaW5hdGlvbi5cclxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlckNhY2hlRmllbGQ8VD4ge1xyXG4gIHB1YmxpYyBsb2FkRnVuY3Rpb246ICguLi5wYXJhbXM6IGFueVtdKSA9PiBQcm9taXNlPFQ+O1xyXG5cclxuICAvLyBBIG1hcCBmcm9tIGNhY2hlIHBhcmFtcyAoa2V5czogdGhlIGxvYWRGdW5jdGlvbiBhcmd1bWVudHMpIHRvIHRoZWlyIGNhY2hlIGZpZWxkc1xyXG4gIHByaXZhdGUgX3BhcmFtc1RvQ2FjaGVJdGVtczogTWFwPGFueVtdLCBDYWNoZUZpZWxkPFQ+PiA9IG5ldyBNYXA8YW55W10sIENhY2hlRmllbGQ8VD4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyB0aGUgdmFsdWUgZm9yIGdpdmVuIGxvYWRmdW5jdGlvbiBwYXJhbWV0ZXJzLiBMb2FkcyBpZiBub3QgeWV0IGxvYWRlZC5cclxuICBwdWJsaWMgZ2V0VmFsdWUoLi4ucGFyYW1zOiBhbnlbXSk6IFByb21pc2U8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldENhY2hlRmllbGQocGFyYW1zKS5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBhbnksIC4uLnBhcmFtczogYW55W10pOiB2b2lkIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRDYWNoZUZpZWxkKHBhcmFtcykuc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyB0aGUgZnJlc2hseSByZWxvYWRlZCB2YWx1ZSBmb3IgZ2l2ZW4gbG9hZGZ1bmN0aW9uIHBhcmFtZXRlcnMuXHJcbiAgcHVibGljIHJlbG9hZCguLi5wYXJhbXM6IGFueVtdKTogUHJvbWlzZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2FjaGVGaWVsZChwYXJhbXMpLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXRzIG9uZSBvciBhbGwgY2FjaGUgaXRlbXMuIElmIG5vIHBhcmFtcyBnaXZlbiwgcmVzZXRzIEFMTCBjYWNoZSBpdGVtcy5cclxuICBwdWJsaWMgcmVzZXQoLi4ucGFyYW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKHBhcmFtcyAmJiBwYXJhbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLl9nZXRDYWNoZUZpZWxkKHBhcmFtcykucmVzZXQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5mb3JFYWNoKGNhY2hlSXRlbSA9PiBjYWNoZUl0ZW0ucmVzZXQoKSk7XHJcbiAgICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9wYXJhbXNUb0NhY2hlSXRlbXMgPSBuZXcgTWFwPGFueSwgQ2FjaGVGaWVsZDxUPj4oKTsgLy8gbm90IHN1cmUgaWYgY2xlYXIoKSBpcyBlbm91Z2ggZm9yIGdhcmJhZ2UgY29sbGVjdG9yP1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWFrZXMgYSBuZXcgY2FjaGUgZmllbGQgaWYgbm9uZSBleGlzdGVkIGZvciB0aGVzZSBwYXJhbXMuIFJldHVybnMgdGhlIGNhY2hlIGZpZWxkIHRoYXQgbWF0Y2hlcyBnaXZlbiBwYXJhbXMuXHJcbiAgcHJpdmF0ZSBfZ2V0Q2FjaGVGaWVsZChwYXJhbXM6IGFueVtdKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBsZXQgZXhpc3RpbmdDYWNoZUZpZWxkOiBDYWNoZUZpZWxkPFQ+ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIHRoaXMuX3BhcmFtc1RvQ2FjaGVJdGVtcy5mb3JFYWNoKCh2YWx1ZTogQ2FjaGVGaWVsZDxUPiwga2V5OiBhbnlbXSkgPT4ge1xyXG4gICAgICBpZiAoIWV4aXN0aW5nQ2FjaGVGaWVsZCAmJiBPYmplY3RVdGlscy5EZWVwRXF1YWxzKHBhcmFtcywga2V5KSkge1xyXG4gICAgICAgIGV4aXN0aW5nQ2FjaGVGaWVsZCA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdDYWNoZUZpZWxkKSB7XHJcbiAgICAgIHJldHVybiBleGlzdGluZ0NhY2hlRmllbGQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbWFrZU5ld0NhY2hlRmllbGQocGFyYW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgbG9hZEZpZWxkIGZvciBnaXZlbiBwYXJhbXNcclxuICBwcml2YXRlIF9tYWtlTmV3Q2FjaGVGaWVsZChwYXJhbXM6IGFueVtdKTogQ2FjaGVGaWVsZDxUPiB7XHJcbiAgICBjb25zdCBjYWNoZUZpZWxkOiBDYWNoZUZpZWxkPFQ+ID0gbmV3IENhY2hlRmllbGQ8VD4oKTtcclxuICAgIGNhY2hlRmllbGQubG9hZEZ1bmN0aW9uID0gdGhpcy5sb2FkRnVuY3Rpb24uYmluZChjYWNoZUZpZWxkLCAuLi5wYXJhbXMpO1xyXG4gICAgdGhpcy5fcGFyYW1zVG9DYWNoZUl0ZW1zLnNldChwYXJhbXMsIGNhY2hlRmllbGQpO1xyXG4gICAgcmV0dXJuIGNhY2hlRmllbGQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==