@senior-agronegocio/angular-components 0.0.76 → 0.0.78

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 (60) hide show
  1. package/bundles/senior-agronegocio-angular-components.umd.js +145 -139
  2. package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-agronegocio-angular-components.umd.min.js +1 -1
  4. package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
  5. package/components/cancel-event-dialog/index.d.ts +3 -3
  6. package/components/event-control-board/event-control-board.component.d.ts +4 -2
  7. package/components/event-control-board/index.d.ts +24 -24
  8. package/components/event-control-board/service/event-control-item/event-control-item.d.ts +4 -4
  9. package/components/event-steps/index.d.ts +2 -2
  10. package/components/index.d.ts +3 -3
  11. package/enums/index.d.ts +6 -6
  12. package/esm2015/common/agro-string-utils.class.js +13 -34
  13. package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
  14. package/esm2015/components/cancel-event-dialog/index.js +3 -3
  15. package/esm2015/components/event-control-board/common/control-status.js +1 -1
  16. package/esm2015/components/event-control-board/common/event-control-constants.js +55 -14
  17. package/esm2015/components/event-control-board/event-control-board.component.js +70 -65
  18. package/esm2015/components/event-control-board/index.js +24 -24
  19. package/esm2015/components/event-control-board/service/event-control/event-control.module.js +7 -9
  20. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
  21. package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
  22. package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
  23. package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
  24. package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
  25. package/esm2015/components/event-control-board/shared.module.js +9 -9
  26. package/esm2015/components/event-steps/index.js +3 -3
  27. package/esm2015/components/index.js +4 -4
  28. package/esm2015/enums/agro-string-masks.enum.js +1 -1
  29. package/esm2015/enums/date-comparison-type.enum.js +1 -1
  30. package/esm2015/enums/index.js +7 -7
  31. package/esm2015/enums/number-comparison-type.enum.js +1 -1
  32. package/esm2015/services/i18n/pt-BR.js +2 -2
  33. package/esm2015/services/websocket/websocket.service.js +1 -2
  34. package/esm5/common/agro-string-utils.class.js +13 -34
  35. package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +2 -10
  36. package/esm5/components/cancel-event-dialog/index.js +3 -3
  37. package/esm5/components/event-control-board/common/control-status.js +1 -1
  38. package/esm5/components/event-control-board/common/event-control-constants.js +55 -14
  39. package/esm5/components/event-control-board/event-control-board.component.js +65 -62
  40. package/esm5/components/event-control-board/index.js +24 -24
  41. package/esm5/components/event-control-board/service/event-control/event-control.module.js +7 -9
  42. package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +15 -15
  43. package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +7 -9
  44. package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +7 -9
  45. package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +6 -6
  46. package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +7 -9
  47. package/esm5/components/event-control-board/shared.module.js +9 -9
  48. package/esm5/components/event-steps/index.js +3 -3
  49. package/esm5/components/index.js +4 -4
  50. package/esm5/enums/agro-string-masks.enum.js +1 -1
  51. package/esm5/enums/date-comparison-type.enum.js +1 -1
  52. package/esm5/enums/index.js +7 -7
  53. package/esm5/enums/number-comparison-type.enum.js +1 -1
  54. package/esm5/services/i18n/pt-BR.js +2 -2
  55. package/esm5/services/websocket/websocket.service.js +2 -3
  56. package/fesm2015/senior-agronegocio-angular-components.js +150 -142
  57. package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
  58. package/fesm5/senior-agronegocio-angular-components.js +145 -139
  59. package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
  60. package/package.json +1 -1
@@ -32,7 +32,7 @@ var ptBR = {
32
32
  "agro.angular_components.ticket": "Ticket",
33
33
  "agro.angular_components.company": "Empresa",
34
34
  "agro.angular_components.label_branch": "Filial",
35
- "agro.angular_components.event_sidebar_title": "Evento - {event}",
35
+ "agro.angular_components.event_sidebar_title": "Evento {eventNumber}",
36
36
  "agro.angular_components.reprocessing_event_message_title": "Reprocessando Evento",
37
37
  "agro.angular_components.reprocessing_event_message_description": "O evento selecionado está sendo reprocessado.",
38
38
  "agro.angular_components.error_reprocessing_event_message_title": "Erro ao reprocessar evento",
@@ -244,4 +244,4 @@ var ptBR = {
244
244
  "agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE": "Saldo provisório"
245
245
  };
246
246
  export default ptBR;
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtQlIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2kxOG4vcHQtQlIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxJQUFJLEdBQUc7SUFDVCxpREFBaUQsRUFBRSwrREFBK0Q7SUFDbEgsdUNBQXVDLEVBQUUsNEJBQTRCO0lBQ3JFLG1EQUFtRCxFQUFFLFNBQVM7SUFDOUQsaUNBQWlDLEVBQUUsV0FBVztJQUM5Qyw4Q0FBOEMsRUFBRSxpQ0FBaUM7SUFDakYsNEJBQTRCLEVBQUUsS0FBSztJQUNuQyw2QkFBNkIsRUFBRSxLQUFLO0lBQ3BDLDJDQUEyQyxFQUFFLDRCQUE0QjtJQUN6RSxxQ0FBcUMsRUFBRSw4QkFBOEI7SUFDckUseUNBQXlDLEVBQUUsb0JBQW9CO0lBQy9ELHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsNkNBQTZDLEVBQUUsa0JBQWtCO0lBQ2pFLDBDQUEwQyxFQUFFLG9CQUFvQjtJQUNoRSw0Q0FBNEMsRUFBRSxvQkFBb0I7SUFDbEUsaUNBQWlDLEVBQUUsVUFBVTtJQUM3QyxvQ0FBb0MsRUFBRSxhQUFhO0lBQ25ELDZEQUE2RCxFQUFFLE9BQU87SUFDdEUsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxzQ0FBc0MsRUFBRSxjQUFjO0lBQ3RELHNEQUFzRCxFQUFFLHdCQUF3QjtJQUNoRixtREFBbUQsRUFBRSxzQkFBc0I7SUFDM0UsZ0RBQWdELEVBQUUsZUFBZTtJQUNqRSxxREFBcUQsRUFBRSx1QkFBdUI7SUFDOUUsNENBQTRDLEVBQUUsa0JBQWtCO0lBQ2hFLDhDQUE4QyxFQUFFLG9CQUFvQjtJQUNwRSx5Q0FBeUMsRUFBRSxtQ0FBbUM7SUFDOUUsOENBQThDLEVBQUUsc0JBQXNCO0lBQ3RFLHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsbUVBQW1FLEVBQUUsU0FBUztJQUM5RSxrQ0FBa0MsRUFBRSxZQUFZO0lBQ2hELGdD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ekYsbUVBQW1FLEVBQUUsa0VBQWtFO0lBQ3ZJLHVEQUF1RCxFQUFFLHlCQUF5QjtJQUNsRiw2REFBNkQsRUFBRSxpRUFBaUU7SUFDaEksNERBQTRELEVBQUUseUJBQXlCO0lBQ3ZGLGtFQUFrRSxFQUFFLHdEQUF3RDtJQUM1SCw0RUFBNEUsRUFBRSxvRUFBb0U7SUFDbEosK0NBQStDLEVBQUUseUJBQXlCO0lBQzFFLCtDQUErQyxFQUFFLFNBQVM7SUFDMUQsaURBQWlELEVBQUUsY0FBYztJQUNqRSxpREFBaUQsRUFBRSxRQUFRO0lBQzNELCtDQUErQyxFQUFFLE9BQU87SUFDeEQsNkNBQTZDLEVBQUUsV0FBVztJQUMxRCw4Q0FBOEMsRUFBRSxTQUFTO0lBQ3pELHNEQUFzRCxFQUFFLHFCQUFxQjtJQUM3RSx1Q0FBdUMsRUFBRSx3QkFBd0I7SUFDakUsMERBQTBELEVBQUUsK0JBQStCO0lBQzNGLDBEQUEwRCxFQUFFLDhCQUE4QjtJQUMxRiwyREFBMkQsRUFBRSxrQ0FBa0M7SUFDL0Ysa0RBQWtELEVBQUUsMkJBQTJCO0lBQy9FLHFEQUFxRCxFQUFFLCtCQUErQjtJQUN0RixpREFBaUQsRUFBRSxlQUFlO0lBQ2xFLGlEQUFpRCxFQUFFLG9CQUFvQjtJQUN2RSxvREFBb0QsRUFBRSxlQUFlO0lBQ3JFLDhEQUE4RCxFQUFFLDBCQUEwQjtJQUMxRiwyRUFBMkUsRUFBRSw4QkFBOEI7SUFDM0csZ0RBQWdELEVBQUUsa0JBQWtCO0lBQ3BFLG1FQUFtRSxFQUFFLHFCQUFxQjtJQUMxRixnRUFBZ0UsRUFBRSxrQkFBa0I7Q0FDdkYsQ0FBQztBQUNGLGVBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcHRCUiA9IHtcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGFibGVfZW1wdHlfZGVzY3JpcHRpb25cIjogXCJBbHRlcmUgb3MgZmlsdHJvcyBhY2ltYSBwYXJhIGdlcmFyIG91dHJvcyByZXN1bHRhZG9zIGRlIGJ1c2NhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm5vdGhpbmdfZm91bmRcIjogXCJOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZXZlbnRzXCI6IFwiRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZWZyZXNoXCI6IFwiQXR1YWxpemFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaGVhZGVyXCI6IFwiQ29uc3VsdGEgZGUgZXZlbnRvcy9pbnRlZ3Jhw6fDtWVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm5vXCI6IFwiTsOjb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy55ZXNcIjogXCJTaW1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfbW9kYWxfdGl0bGVcIjogXCJSZXByb2Nlc3NhbWVudG8gZGUgRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9tb2RhbFwiOiBcIkRlc2VqYSByZXByb2Nlc3NhciBvIGV2ZW50bz9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzX2V2ZW50XCI6IFwiUmVwcm9jZXNzYXIgZXZlbnRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50c19jbG9zZVwiOiBcIkZlY2hhclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9lcnJvcl9tZXNzYWdlXCI6IFwiTWVuc2FnZW0gZGUgZXJyb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYXN0X3VwZGF0ZV9kYXRlXCI6IFwiw5psdGltYSBhdHVhbGl6YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNob3dfZXZlbnRfZGV0YWlsc1wiOiBcIkRldGFsaGVzIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wZW5kaW5nXCI6IFwiUGVuZGVudGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NhbmRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnBhbmVsX3RpdGxlX2V2ZW50c19lbmRlZF93aXRoX2Vycm9yXCI6IFwiRmFsaGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0c1wiOiBcIlRpY2tldHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucnVyYWxfZXN0YXRlXCI6IFwiSW3Ds3ZlbCBSdXJhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCI6IFwiQWx0ZXJhw6fDo28gZGUgXFxuUGVzYWdlbVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfbWFpbnRlbmFuY2VfaGVhZGVyXCI6IFwiTWFudXRlbsOnw6NvIGRlIHRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NyZWF0aW5nX2V2ZW50XCI6IFwiRW1pc3PDo28gZGUgTkZcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYmFsYW5jZV9lbnRyeV9jb250cm9sX2V2ZW50XCI6IFwiRW50cmFkYS9zYcOtZGEgYmFsYW7Dp2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2xhYmVsXCI6IFwiT3JpZ2VtIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9kZXRhaWxzX2hlYWRlclwiOiBcIkRldGFsaGVzIGRvIEV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZWdpc3RlcnNfZm91bmRcIjogXCJ7dG90YWx9IHJlZ2lzdHJvKHMpIGVuY29udHJhZG8ocylcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRcIjogXCJBbHRlcmHDp8OjbyBkZSBQZXNhZ2VtXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnN0YXR1c19sYWJlbFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiOiBcIlN1Y2Vzc29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc3VwcGxpZXJcIjogXCJGb3JuZWNlZG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldFwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb21wYW55XCI6IFwiRW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9icmFuY2hcIjogXCJGaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc2lkZWJhcl90aXRsZVwiOiBcIkV2ZW50byAtIHtldmVudH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfdGl0bGVcIjogXCJSZXByb2Nlc3NhbmRvIEV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIk8gZXZlbnRvIHNlbGVjaW9uYWRvIGVzdMOhIHNlbmRvIHJlcHJvY2Vzc2Fkby5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfdGl0bGVcIjogXCJFcnJvIGFvIHJlcHJvY2Vzc2FyIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXByb2Nlc3NpbmdfZXZlbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIkhvdXZlIHVtIGVycm8gYW8gcmVwcm9jZXNzYXIgbyBldmVudG8uIFRlbnRlIG5vdmFtZW50ZSBtYWlzIHRhcmRlLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5hY3Rpb25zXCI6IFwiQcOnw7Vlc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5hZGRcIjogXCJBZGljaW9uYXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYXRfZGF0ZVwiOiBcIk5hIGRhdGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYXRfdGltZVwiOiBcIk5hIGhvcmFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsXCI6IFwiQ2FuY2VsYXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2xlYXJcIjogXCJMaW1wYXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY3JlYXRlZF9ieVwiOiBcIkNyaWFkbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlXCI6IFwiRXhjbHVpclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIjogXCJUZW0gY2VydGV6YSBxdWUgZGVzZWphIGV4Y2x1aXIgZXN0ZSBpdGVtP1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVfY29uZmlybWF0aW9uX3RpdGxlXCI6IFwiQ29uZmlybWHDp8OjbyBkZSBleGNsdXPDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlZF9tZXNzYWdlX2NvbnRlbnRcIjogXCJJdGVtIGV4Y2x1w61kbyBjb20gc3VjZXNzb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kZWxldGVkX21lc3NhZ2VfdGl0bGVcIjogXCJFeGNsdXPDo28gcmVhbGl6YWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9jb2RfZW1wXCI6IFwiQ8OzZGlnbyBkYSBlbXByZXNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9jcmVhdGVkX2J5XCI6IFwiQ3JpYWRvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfY3JlYXRlZF9kYXRlXCI6IFwiRGF0YSBkZSBjcmlhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2lkXCI6IFwiSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2xhc3RfbW9kaWZpZWRfYnlcIjogXCLDmmx0aW1hIG1vZGlmaWNhw6fDo28gcG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9sYXN0X21vZGlmaWVkX2RhdGVcIjogXCJEYXRhIGRhIMO6bHRpbWEgbW9kaWZpY2HDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfbm9tX2VtcFwiOiBcIk5vbWUgZGEgZW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfc2lnX2VtcFwiOiBcIk5vbWUgZmFudGFzaWEgLyBTaWdsYSBkYSBlbXByZXNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jaWRfZmlsXCI6IFwiQ2lkYWRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jb2RfZmlsXCI6IFwiQ8OzZGlnbyBkYSBmaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2NyZWF0ZWRfYnlcIjogXCJDcmlhZG8gcG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jcmVhdGVkX2RhdGVcIjogXCJEYXRhIGRlIGNyaWHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfaWRcIjogXCJJZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbGFzdF9tb2RpZmllZF9ieVwiOiBcIsOabHRpbWEgbW9kaWZpY2HDp8OjbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2xhc3RfbW9kaWZpZWRfZGF0ZVwiOiBcIkRhdGEgZGEgw7psdGltYSBtb2RpZmljYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9ub21fZmlsXCI6IFwiTm9tZSBkYSBmaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX251bV9jZ2NcIjogXCJDTlBKXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9udW1fZm9uXCI6IFwiTnVtZXJvIFRlbGVmb25lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9zaWdfZmlsXCI6IFwiTm9tZSBmYW50YXNpYSBkYSBmaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWRpdFwiOiBcIkVkaXRhclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9mb3JiaWRkZW5fZGVzY3JpcHRpb25cIjogXCJWb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgYWNlc3NhciBlc3RlIHJlY3Vyc29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfZm9yYmlkZGVuX3RpdGxlXCI6IFwiQWNlc3NvIG5lZ2Fkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9pbnZhbGlkXCI6IFwiVmFsb3IgaW52w6FsaWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX21heF9sZW5ndGhcIjogXCJPIHZhbG9yIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcyDDqSB7MH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWF4X3ZhbHVlXCI6IFwiTyB2YWxvciBtw6F4aW1vIMOpIHswfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9taW5fbGVuZ3RoXCI6IFwiTyB2YWxvciBtw61uaW1vIGRlIGNhcmFjdGVyZXMgw6kge3ZhbG9yfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9taW5fdmFsdWVcIjogXCJPIHZhbG9yIG3DrW5pbW8gw6kgezB9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX25vdF9mb3VuZF9kZXNjcmlwdGlvblwiOiBcIk8gcmVjdXJzbyBzb2xpY2l0YWRvIG7Do28gZm9pIGVuY29udHJhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3Jfbm90X2ZvdW5kX3RpdGxlXCI6IFwiTsOjbyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcXVpcmVkXCI6IFwiQ2FtcG8gb2JyaWdhdMOzcmlvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3NlcnZlcl9kZXNjcmlwdGlvblwiOiBcIk9jb3JyZXUgdW0gZXJybyBhbyBwcm9jZXNzYXIgc3VhIHNvbGljaXRhw6fDo28uIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3NlcnZlcl90aXRsZVwiOiBcIkVycm8gbm8gc2Vydmlkb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3Jfc2VydmVyX3RyeV9hZ2FpblwiOiBcIlRlbnRlIG5vdmFtZW50ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl91bmF1dGhvcml6ZWRfZGVzY3JpcHRpb25cIjogXCJWb2PDqiBuw6NvIGVzdMOhIGF1dG9yaXphZG8gYSBhY2Vzc2FyIGVzdGUgcmVjdXJzb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl91bmF1dGhvcml6ZWRfdGl0bGVcIjogXCJOw6NvIGF1dG9yaXphZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbFwiOiBcIkNvbnRyb2xlIGRlIGV2ZW50b3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9jcmVhdGVkX2J5XCI6IFwiQ3JpYWRvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2NyZWF0ZWRfZGF0ZVwiOiBcIkRhdGEgZGUgY3JpYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZW1wXCI6IFwiRW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2VtcF9zZWFyY2hfdGl0bGVcIjogXCJTZWxlY2lvbmUgYSBlbXByZXNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZmlsXCI6IFwiRmlsaWFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZV8wNzBfZmlsX3NlYXJjaF90aXRsZVwiOiBcIlNlbGVjaW9uZSBhIGZpbGlhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VtcHR5X3N0YXRlX2Rlc2NyaXB0aW9uXCI6IFwiTmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lbXB0eV9zdGF0ZV90aXRsZVwiOiBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZXZlbnRfb3JpZ2luXCI6IFwiT3JpZ2VtIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2V2ZW50X29yaWdpbl9wbGFjZWhvbGRlclwiOiBcIlNlbGVjaW9uZSBhIG9yaWdlbSBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9leHRlcm5hbF9pZFwiOiBcIklkIGV4dGVybm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9mb3JtX2dlbmVyYWxfdGl0bGVcIjogXCJHZXJhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2Zvcm1fdGl0bGVcIjogXCJDb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaWRcIjogXCJJZCBkYSBlbnRpZGFkZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1cIjogXCJJdGVucyBkbyBjb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9jcmVhdGVkX2J5XCI6IFwiQ3JpYWRvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fY3JlYXRlZF9kYXRlXCI6IFwiRGF0YSBkZSBjcmlhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2VtcHR5X3N0YXRlX2Rlc2NyaXB0aW9uXCI6IFwiTmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2VtcHR5X3N0YXRlX3RpdGxlXCI6IFwiTmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X2NvbnRyb2xcIjogXCJldmVudENvbnRyb2xJZFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfY29udHJvbF9zZWFyY2hfdGl0bGVcIjogXCJTZWxlY2lvbmUgbyBjb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9ncm91cFwiOiBcIkdydXBvIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfb3BlcmF0aW9uXCI6IFwiVGlwbyBkYSBvcGVyYcOnw6NvIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfb3BlcmF0aW9uX3BsYWNlaG9sZGVyXCI6IFwiU2VsZWNpb25lIG8gdGlwbyBkYSBvcGVyYcOnw6NvIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZm9ybV9nZW5lcmFsX3RpdGxlXCI6IFwiR2VyYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2Zvcm1fdGl0bGVcIjogXCJJdGVucyBkbyBjb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9pZFwiOiBcIklkIGRhIGVudGlkYWRlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9sYXN0X21vZGlmaWVkX2J5XCI6IFwiw5psdGltYSBtb2RpZmljYcOnw6NvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiRGF0YSBkYSDDumx0aW1hIG1vZGlmaWNhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2xpc3RfZ3JpZF90aXRsZVwiOiBcIkl0ZW5zIGRvIGNvbnRyb2xlIGRlIGV2ZW50b3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2xpc3RfdGl0bGVcIjogXCJJdGVucyBkbyBjb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9tZXNzYWdlXCI6IFwiTWVuc2FnZW0gZGUgZXZlbnRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9wYXJhbVwiOiBcIlBhcsOibWV0cm9zIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fcmVxdWVzdFwiOiBcIlNvbGljaXRhw6fDo28gcmVjZWJpZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3Jlc3BvbnNlXCI6IFwiUmVzcG9zdGEgZW52aWFkYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc2VxdWVuY2VcIjogXCJTZXF1w6puY2lhIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc3RhdHVzXCI6IFwiU3RhdHVzIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fc3RhdHVzX3BsYWNlaG9sZGVyXCI6IFwiU2VsZWNpb25lIG8gc3RhdHVzIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xhc3RfbW9kaWZpZWRfYnlcIjogXCLDmmx0aW1hIG1vZGlmaWNhw6fDo28gcG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiRGF0YSBkYSDDumx0aW1hIG1vZGlmaWNhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9saXN0X2dyaWRfdGl0bGVcIjogXCJDb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfbGlzdF90aXRsZVwiOiBcIkNvbnRyb2xlIGRlIGV2ZW50b3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2NoYW5nZV9yZXF1ZXN0XCI6IFwiU29saWNpdGHDp8OjbyBkZSBhbHRlcmHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fY2hhbmdlX3Jlc3BvbnNlXCI6IFwiUmVzcG9zdGEgZGUgYWx0ZXJhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2VmZmVjdGl2ZVwiOiBcIkVmZXRpdm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2VmZmVjdGl2ZV9jb25maXJtYXRpb25cIjogXCJDb25maXJtYcOnw6NvIGRlIGVmZXRpdmHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25faW52b2ljZV9jbG9zaW5nXCI6IFwiRmVjaGFtZW50byBkZSBub3RhIGZpc2NhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25faW52b2ljZV9jcmVhdGluZ1wiOiBcIkNyaWHDp8OjbyBkZSBub3RhIGZpc2NhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25faW52b2ljZV9pbnN0YWxsbWVudHNcIjogXCJQYXJjZWxhbWVudG8gZGUgbm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX3Byb3Zlc2lvbmFsXCI6IFwiU2FsZG8gUHJvdmlzw7NyaW9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX3JlbW92ZV9wcm92aXNpb25hbFwiOiBcIlJlbW/Dp8OjbyBkZSBTYWxkbyBwcm92aXPDs3Jpb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcGVyYXRpb25fdGlja2V0XCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl9iYWxhbmNlX2VudHJ5X2NvbnRyb2xcIjogXCJDb250cm9sZSBkZSBsYW7Dp2FtZW50byBkZSBzYWxkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fY2hhbmdlX3JlcXVlc3RcIjogXCJTb2xpY2l0YcOnw6NvIGRlIGFsdGVyYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29yaWdpbl9pbnZvaWNlXCI6IFwiSW52b2ljZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fdGlja2V0XCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X3N0YXR1c19jYW5jZWxlZFwiOiBcIkNhbmNlbGFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfZmFpbGVkXCI6IFwiRmFsaGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX3BlbmRpbmdcIjogXCJQZW5kZW50ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfcHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX3N1Y2Nlc3NcIjogXCJTdWNlc3NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpbHRlclwiOiBcIkZpbHRyYXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZmlsdGVyc1wiOiBcIkZpbHRyb3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGlzdF9ncmlkX2VtcHR5X2ZpZWxkXCI6IFwiTmVuaHVtIHJlZ2lzdHJvIGVuY29udHJhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvZHVjdF9oZWFkZXJfdGl0bGVcIjogXCJFdmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNhdmVcIjogXCJTYWx2YXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc2VsZWN0XCI6IFwiU2VsZWNpb25lXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnVwZGF0ZWRfYnlcIjogXCJBdHVhbGl6YWRvIHBvclwiLFxyXG4gICAgXCJlcnJvcl9pbnZhbGlkXCI6IFwiVmFsb3IgaW52w6FsaWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNob29zZV9sYWJlbFwiOiBcIkVzY29saGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX2xhYmVsXCI6IFwiUmVtb3ZlclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfbGFiZWxcIjogXCJDYW5jZWxhclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5zdWNjZXNzX3Rvb2x0aXBcIjogXCJTdWNlc3NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm1lbnVfYWdyb19ldmVudHNcIjogXCJFdmVudG9zIGRvIEFncm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZVwiOiBcIkRhdGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9icmFuY2hcIjogXCJDw7NkaWdvIGRhIGZpbGlhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9jb2RlX2NvbXBhbnlcIjogXCJDw7NkaWdvIGRhIGVtcHJlc2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9kZXBvc2l0XCI6IFwiQ8OzZGlnbyBkbyBkZXDDs3NpdG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZVwiOiBcIkPDs2RpZ29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29tcGFueVwiOiBcIkVtcHJlc2FcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX2VudHJ5X2NvbnRyb2xcIjogXCJDb250cm9sZSBlbnRyYWRhL3Nhw61kYSB2aWEgYmFsYW7Dp2FcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX2VudHJ5X2V4aXRfcXVlcnlcIjogXCJDb25zdWx0YSBlbnRyYWRhL3Nhw61kYVwiLFxyXG4gICAgXCJwbGF0Zm9ybS5iYWNrZW5kLmFncm9fb3JpZ2luYXRpb25fbGlua3NcIjogXCJMaWdhw6fDtWVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZhbnRhc3lfbmFtZVwiOiBcIk5vbWUgZmFudGFzaWFcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX29wZXJhdGlvbl92ZXJzdXNfdHJhbnNhY3Rpb25fbGlua1wiOiBcIkxpZ2HDp8OjbyBvcGVyYcOnw6NvIHggdHJhbnNhw6fDo29cIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5tZW51X2V2ZW50X2NvbnRyb2xcIjogXCJDb25zdWx0YSBkZSBldmVudG9zL2ludGVncmHDp8O1ZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueV9zZWFyY2hfbGFiZWxcIjogXCJDb25zdWx0YXIgRW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb21wYW55X3Rvb2x0aXBcIjogXCJTZWxlY2lvbmUgdW1hIGVtcHJlc2EgcGFyYSBwcm9zc2VndWlyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJyYW5jaF9zZWFyY2hfbGFiZWxcIjogXCJDb25zdWx0YXIgRmlsaWFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmJyYW5jaF90b29sdGlwXCI6IFwiRW5jb250cmUgYXMgZmlsaWFpcyBkYSBlbXByZXNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRhc2hcIjogXCItXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF90b29sdGlwXCI6IFwiQWRpY2lvbmUgbyBuw7ptZXJvIGRvIHRpY2tldCBwYXJhIGVzcGVjaWZpY2FyIG5hIGJ1c2NhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldF9zZWFyY2hfbGFiZWxcIjogXCJDb25zdWx0YXIgVGlja2V0XCIsXHJcbiAgICBcImFncm8uZ3JhaW5fY2xhc3NpZmljYXRpb24udGlja2V0X3NlYXJjaF9sYWJlbFwiOiBcIkNvbnN1bHRhciBUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMua2lsb2dyYW1fdW5pdF9sYWJlbFwiOiBcIktHXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2xpc3RfaGVhZGVyXCI6IFwiTGlzdGEgZGUgRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfZXZlbnRcIjogXCJFbWlzc8OjbyBkbyBUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvdmlzaW9uYWxfZXZlbnRcIjogXCJTYWxkbyBwcm92aXPDs3Jpb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfZXZlbnRcIjogXCJTYWxkbyBlZmV0aXZvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVmZmVjdGl2ZV9jb25maXJtYXRpb25fZXZlbnRcIjogXCJDb25maXJtYcOnw6NvIHNhbGRvIGVmZXRpdm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlX3Byb3Zpc2lvbmFsX2V2ZW50XCI6IFwiUmVtb3ZlciBTYWxkbyBQcm92aXPDs3Jpb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxlZFwiOiBcIkNhbmNlbGFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9udW1iZXJcIjogXCJUaWNrZXRcIixcclxuICAgIFwiYWdyby5ncmFpbl9jbGFzc2lmaWNhdGlvbi5sYWJlbF9udW1iZXJcIjogXCJUaWNrZXRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY25walwiOiBcIkNOUEpcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY2l0eVwiOiBcIkNpZGFkZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tZW51X2V2ZW50X2NvbnRyb2xcIjogXCJDb25zdWx0YSBkZSBldmVudG9zL2ludGVncmHDp8O1ZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudHJhbnNmZXJfb3JpZ2luX2V2ZW50XCI6IFwiVHJhbnNmZXLDqm5jaWEgZW50cmUgUHJvZHV0b3Jlc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5nZW5lcmF0aW9uX29mX2ludm9pY2VfaW5zdGFsbG1lbnRzXCI6IFwiR2VyYcOnw6NvIGRhcyBwYXJjZWxhcyBkYSBub3RhIGZpc2NhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NhbmNlbGVkXCI6IFwiRmVjaGFtZW50byBkYSBub3RhIGZpc2NhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DQU5DRUxfSU5WT0lDRVwiOiBcIkNhbmNlbGFtZW50byBkZSBub3RhIGZpc2NhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5FRkZFQ1RJVkVfQ09ORklSTUFUSU9OXCI6IFwiQ29uZmlybWHDp8OjbyBlZmV0aXZhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNIQU5HRV9SRVFVRVNUXCI6IFwiU29saWNpdGHDp8OjbyBkZSBhbHRlcmHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DSEFOR0VfUkVTUE9OU0VcIjogXCJSZXNwb3N0YSBkYSBzb2xpY2l0YcOnw6NvIGRlIGFsdGVyYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlBST0NFU1NfRklYQVRJT05cIjogXCJQcm9jZXNzYSBhIGZpeGHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DUkVBVEVfSU5DT01JTkdfSU5WT0lDRVwiOiBcIkVtaXNzw6NvIE5GIGRlIGVudHJhZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ1JFQVRFX09VVEdPSU5HX0lOVk9JQ0VcIjogXCJFbWlzc8OjbyBORiBkZSBzYcOtZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfUFJPRFVDRVJfQkFMQU5DRVwiOiBcIlRyYW5zZmVyw6puY2lhIGRlIHNhbGRvIGVudHJlIHByb2R1dG9yZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29udHJvbF9jb2RlXCI6IFwiSWRlbnRpZmljYWRvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maXhhdGlvbl9ldmVudFwiOiBcIkZpeGHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5GSU5JU0hfRklOQU5DSUFMX0ZJWEFUSU9OXCI6IFwiRW1pc3PDo28vQmFpeGEgZGUgdMOtdHVsb3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuRklOSVNIX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTlwiOiBcIkF0dWFsaXphw6fDo28gZGUgc2FsZG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNPTkNMVURFX0ZJWEFUSU9OXCI6IFwiQ29uY2x1c8OjbyBkYSBmaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0ZJTkFOQ0lBTF9GSVhBVElPTlwiOiBcIkNhbmNlbGEgZW1pc3PDo28gZGUgdMOtdHVsb3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX1BST0RVQ0VSX05FVF9WQUxVRV9GSVhBVElPTlwiOiBcIlJldmVydGUgYXR1YWxpemHDp8OjbyBkZSBzYWxkb3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0ZJWEFUSU9OXCI6IFwiQ2FuY2VsYSBmaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX3RpdGxlXCI6IFwiQ2FuY2VsYXIgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl9kZXNjcmlwdGlvblwiOiBcIlRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgY2FuY2VsYXIgYSBmaXhhw6fDo28/XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX3RpdGxlXCI6IFwiRXJybyBhbyBjYW5jZWxhciBmaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJIb3V2ZSB1bSBlcnJvIGFvIGNhbmNlbGFyIGEgZml4YcOnw6NvLiBUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfdGl0bGVcIjogXCJDYW5jZWxhbWVudG8gZGUgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiTyBwcm9jZXNzbyBkZSBjYW5jZWxhbWVudG8gZGEgZml4YcOnw6NvIGZvaSBpbmljaWFkbyBjb20gc3VjZXNzby5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMud2Fybl9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV90aXRsZVwiOiBcIkNhbmNlbGFtZW50byBkZSBmaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMud2Fybl9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIk7Do28gw6kgcGVybWl0aWRvIGNhbmNlbGFyIGEgZml4YcOnw6NvIGRlIGNvbXByYSBpbWVkaWF0YS5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMud2Fybl9pbW1lZGlhdGVfY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJOw6NvIMOpIHBvc3PDrXZlbCBjYW5jZWxhciB1bWEgZml4YcOnw6NvIHJlYWxpemFkYSB2aWEgY29tcHJhIGltZWRpYXRhLlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fZXZlbnRcIjogXCJDYW5jZWxhbWVudG8gZGUgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9JTkNPTUlOR1wiOiBcIkVudHJhZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX0NPTVBMRU1FTlRcIjogXCJDb21wbGVtZW50YXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX0FESlVTVE1FTlRcIjogXCJBanVzdGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX09VVEdPSU5HXCI6IFwiU2HDrWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9SRVRVUk5cIjogXCJEZXZvbHXDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfU0VSVklDRVwiOiBcIlNlcnZpw6dvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9TWU1CT0xJQ19SRVRVUk5cIjogXCJEZXZvbHXDp8OjbyBzaW1iw7NsaWNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9yZWFzb25cIjogXCJNb3Rpdm8gZG8gY2FuY2VsYW1lbnRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NBTkNFTF9JTkNPTUlOR19JTlZPSUNFXCI6IFwiQ2FuY2VsYW1lbnRvIGRlIE5GIGRlIGVudHJhZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ0FOQ0VMX09VVEdPSU5HX0lOVk9JQ0VcIjogXCJDYW5jZWxhbWVudG8gZGUgTkYgZGUgc2HDrWRhIFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9SRVZFUlNFX1BST0RVQ0VSX0JBTEFOQ0VcIjogXCJFc3Rvcm5vIGRvcyBzYWxkb3MgZGUgcHJvZHV0b3Jlc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DT05DTFVERV9DQU5DRUxcIjogXCJDb25jbHVzw6NvIGRvIGNhbmNlbGFtZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50cmFuc2Zlcl9jYW5jZWxsYXRpb25fZXZlbnRcIjogXCJDYW5jZWxhbWVudG8gZGUgdHJhbnNmZXLDqm5jaWFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ1JFQVRFX0lOVk9JQ0VfRklYQVRJT05cIjogXCJFbWlzc8OjbyBkZSBORlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DQU5DRUxfSU5WT0lDRV9GSVhBVElPTlwiOiBcIkNhbmNlbGFtZW50byBkZSBORlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfSU5WT0lDRVwiOiBcIkVtaXNzw6NvIGRlIE5GXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLk9SSUdJTkFUSU9OX0NSRUFURV9FRkZFQ1RJVkVfQkFMQU5DRVwiOiBcIkVtaXNzw6NvIGRlIHNhbGRvIGVmZXRpdm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuUFJPRFVDRVJfTkVUX1ZBTFVFX0VGRkVDVElWRV9CQUxBTkNFX0NPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hw6fDo28gZGUgc2FsZG8gZWZldGl2b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DTE9TRV9JTlZPSUNFX0ZJWEFUSU9OXCI6IFwiRmVjaGFtZW50byBkZSBORlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfRUZGRUNUSVZFX0NPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hw6fDo28gZWZldGl2YVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfUFJPVklTSU9OQUxfQkFMQU5DRVwiOiBcIlNhbGRvIHByb3Zpc8OzcmlvXCJcclxufTtcclxuZXhwb3J0IGRlZmF1bHQgcHRCUjsiXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtQlIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2kxOG4vcHQtQlIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxJQUFJLEdBQUc7SUFDVCxpREFBaUQsRUFBRSwrREFBK0Q7SUFDbEgsdUNBQXVDLEVBQUUsNEJBQTRCO0lBQ3JFLG1EQUFtRCxFQUFFLFNBQVM7SUFDOUQsaUNBQWlDLEVBQUUsV0FBVztJQUM5Qyw4Q0FBOEMsRUFBRSxpQ0FBaUM7SUFDakYsNEJBQTRCLEVBQUUsS0FBSztJQUNuQyw2QkFBNkIsRUFBRSxLQUFLO0lBQ3BDLDJDQUEyQyxFQUFFLDRCQUE0QjtJQUN6RSxxQ0FBcUMsRUFBRSw4QkFBOEI7SUFDckUseUNBQXlDLEVBQUUsb0JBQW9CO0lBQy9ELHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsNkNBQTZDLEVBQUUsa0JBQWtCO0lBQ2pFLDBDQUEwQyxFQUFFLG9CQUFvQjtJQUNoRSw0Q0FBNEMsRUFBRSxvQkFBb0I7SUFDbEUsaUNBQWlDLEVBQUUsVUFBVTtJQUM3QyxvQ0FBb0MsRUFBRSxhQUFhO0lBQ25ELDZEQUE2RCxFQUFFLE9BQU87SUFDdEUsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxzQ0FBc0MsRUFBRSxjQUFjO0lBQ3RELHNEQUFzRCxFQUFFLHdCQUF3QjtJQUNoRixtREFBbUQsRUFBRSxzQkFBc0I7SUFDM0UsZ0RBQWdELEVBQUUsZUFBZTtJQUNqRSxxREFBcUQsRUFBRSx1QkFBdUI7SUFDOUUsNENBQTRDLEVBQUUsa0JBQWtCO0lBQ2hFLDhDQUE4QyxFQUFFLG9CQUFvQjtJQUNwRSx5Q0FBeUMsRUFBRSxtQ0FBbUM7SUFDOUUsOENBQThDLEVBQUUsc0JBQXNCO0lBQ3RFLHNDQUFzQyxFQUFFLFFBQVE7SUFDaEQsbUVBQW1FLEVBQUUsU0FBUztJQUM5RSxrQ0FBa0MsRUFBRSxZQUFZO0lBQ2hELGdDQUFnQyxFQUFFLFFBQVE7SUFDMUMsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxzQ0FBc0MsRUFBRSxRQUFRO0lBQ2hELDZDQUE2QyxFQUFFLHNCQUFzQjtJQUNyRSwwREFBMEQsRUFBRSxzQkFBc0I7SUFDbEYsZ0VBQWdFLEVBQUUsK0NBQStDO0lBQ2pILGdFQUFnRSxFQUFFLDRCQUE0QjtJQUM5RixzRUFBc0UsRUFBRSxvRUFBb0U7SUFDNUksaUNBQWlDLEVBQUUsT0FBTztJQUMxQyw2QkFBNkIsRUFBRSxXQUFXO0lBQzFDLGlDQUFpQyxFQUFFLFNBQVM7SUFDNUMsaUNBQWlDLEVBQUUsU0FBUztJQUM1QyxnQ0FBZ0MsRUFBRSxVQUFVO0lBQzVDLCtCQUErQixFQUFFLFFBQVE7SUFDekMsb0NBQW9DLEVBQUUsWUFBWTtJQUNsRCxnQ0FBZ0MsRUFBRSxTQUFTO0lBQzNDLHFEQUFxRCxFQUFFLDJDQUEyQztJQUNsRyxtREFBbUQsRUFBRSx5QkFBeUI7SUFDOUUsaURBQWlELEVBQUUsMkJBQTJCO0lBQzlFLCtDQUErQyxFQUFFLG9CQUFvQjtJQUNyRSwyQ0FBMkMsRUFBRSxtQkFBbUI7SUFDaEUsOENBQThDLEVBQUUsWUFBWTtJQUM1RCxnREFBZ0QsRUFBRSxpQkFBaUI7SUFDbkUsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxvREFBb0QsRUFBRSx3QkFBd0I7SUFDOUUsc0RBQXNELEVBQUUsNEJBQTRCO0lBQ3BGLDJDQUEyQyxFQUFFLGlCQUFpQjtJQUM5RCwyQ0FBMkMsRUFBRSxrQ0FBa0M7SUFDL0UsMkNBQTJDLEVBQUUsUUFBUTtJQUNyRCwyQ0FBMkMsRUFBRSxrQkFBa0I7SUFDL0QsOENBQThDLEVBQUUsWUFBWTtJQUM1RCxnREFBZ0QsRUFBRSxpQkFBaUI7SUFDbkUsc0NBQXNDLEVBQUUsSUFBSTtJQUM1QyxvREFBb0QsRUFBRSx3QkFBd0I7SUFDOUUsc0RBQXNELEVBQUUsNEJBQTRCO0lBQ3BGLDJDQUEyQyxFQUFFLGdCQUFnQjtJQUM3RCwyQ0FBMkMsRUFBRSxNQUFNO0lBQ25ELDJDQUEyQyxFQUFFLGlCQUFpQjtJQUM5RCwyQ0FBMkMsRUFBRSx5QkFBeUI7SUFDdEUsOEJBQThCLEVBQUUsUUFBUTtJQUN4QyxxREFBcUQsRUFBRSxrREFBa0Q7SUFDekcsK0NBQStDLEVBQUUsZUFBZTtJQUNoRSx1Q0FBdUMsRUFBRSxnQkFBZ0I7SUFDekQsMENBQTBDLEVBQUUsb0NBQW9DO0lBQ2hGLHlDQUF5QyxFQUFFLHNCQUFzQjtJQUNqRSwwQ0FBMEMsRUFBRSx3Q0FBd0M7SUFDcEYseUNBQXlDLEVBQUUsc0JBQXNCO0lBQ2pFLHFEQUFxRCxFQUFFLHlDQUF5QztJQUNoRywrQ0FBK0MsRUFBRSxnQkFBZ0I7SUFDakUsd0NBQXdDLEVBQUUsbUJBQW1CO0lBQzdELGtEQUFrRCxFQUFFLDBFQUEwRTtJQUM5SCw0Q0FBNEMsRUFBRSxrQkFBa0I7SUFDaEUsZ0RBQWdELEVBQUUsaUJBQWlCO0lBQ25FLHdEQUF3RCxFQUFFLGlEQUFpRDtJQUMzRyxrREFBa0QsRUFBRSxnQkFBZ0I7SUFDcEUsdUNBQXVDLEVBQUUscUJBQXFCO0lBQzlELGtEQUFrRCxFQUFFLFlBQVk7SUFDaEUsb0RBQW9ELEVBQUUsaUJBQWlCO0lBQ3ZFLGlEQUFpRCxFQUFFLFNBQVM7SUFDNUQsOERBQThELEVBQUUscUJBQXFCO0lBQ3JGLGlEQUFpRCxFQUFFLFFBQVE7SUFDM0QsOERBQThELEVBQUUsb0JBQW9CO0lBQ3BGLCtEQUErRCxFQUFFLDRCQUE0QjtJQUM3Rix5REFBeUQsRUFBRSw0QkFBNEI7SUFDdkYsb0RBQW9ELEVBQUUsa0JBQWtCO0lBQ3hFLGdFQUFnRSxFQUFFLDhCQUE4QjtJQUNoRyxtREFBbUQsRUFBRSxZQUFZO0lBQ2pFLDBEQUEwRCxFQUFFLE9BQU87SUFDbkUsa0RBQWtELEVBQUUscUJBQXFCO0lBQ3pFLDBDQUEwQyxFQUFFLGdCQUFnQjtJQUM1RCw0Q0FBNEMsRUFBRSw4QkFBOEI7SUFDNUUsdURBQXVELEVBQUUsWUFBWTtJQUNyRSx5REFBeUQsRUFBRSxpQkFBaUI7SUFDNUUsb0VBQW9FLEVBQUUsNEJBQTRCO0lBQ2xHLDhEQUE4RCxFQUFFLDRCQUE0QjtJQUM1RiwwREFBMEQsRUFBRSxnQkFBZ0I7SUFDNUUsdUVBQXVFLEVBQUUsaUNBQWlDO0lBQzFHLHdEQUF3RCxFQUFFLGlCQUFpQjtJQUMzRSw0REFBNEQsRUFBRSw0QkFBNEI7SUFDMUYsd0VBQXdFLEVBQUUsd0NBQXdDO0lBQ2xILCtEQUErRCxFQUFFLE9BQU87SUFDeEUsdURBQXVELEVBQUUsOEJBQThCO0lBQ3ZGLCtDQUErQyxFQUFFLGdCQUFnQjtJQUNqRSw2REFBNkQsRUFBRSx3QkFBd0I7SUFDdkYsK0RBQStELEVBQUUsNEJBQTRCO0lBQzdGLDREQUE0RCxFQUFFLDhCQUE4QjtJQUM1Rix1REFBdUQsRUFBRSw4QkFBOEI7SUFDdkYsb0RBQW9ELEVBQUUsb0JBQW9CO0lBQzFFLGtEQUFrRCxFQUFFLHNCQUFzQjtJQUMxRSxvREFBb0QsRUFBRSxzQkFBc0I7SUFDNUUscURBQXFELEVBQUUsa0JBQWtCO0lBQ3pFLHFEQUFxRCxFQUFFLHFCQUFxQjtJQUM1RSxtREFBbUQsRUFBRSxrQkFBa0I7SUFDdkUsK0RBQStELEVBQUUsOEJBQThCO0lBQy9GLHdEQUF3RCxFQUFFLHdCQUF3QjtJQUNsRiwwREFBMEQsRUFBRSw0QkFBNEI7SUFDeEYsdURBQXVELEVBQUUscUJBQXFCO0lBQzlFLGtEQUFrRCxFQUFFLHFCQUFxQjtJQUN6RSx3REFBd0QsRUFBRSwwQkFBMEI7SUFDcEYseURBQXlELEVBQUUsdUJBQXVCO0lBQ2xGLG1EQUFtRCxFQUFFLFNBQVM7SUFDOUQsZ0VBQWdFLEVBQUUsMkJBQTJCO0lBQzdGLHlEQUF5RCxFQUFFLDJCQUEyQjtJQUN0RiwwREFBMEQsRUFBRSx3QkFBd0I7SUFDcEYsOERBQThELEVBQUUsb0JBQW9CO0lBQ3BGLHFEQUFxRCxFQUFFLGtCQUFrQjtJQUN6RSw0REFBNEQsRUFBRSw2QkFBNkI7SUFDM0YsZ0RBQWdELEVBQUUsUUFBUTtJQUMxRCw0REFBNEQsRUFBRSxpQ0FBaUM7SUFDL0YscURBQXFELEVBQUUsMEJBQTBCO0lBQ2pGLDhDQUE4QyxFQUFFLFNBQVM7SUFDekQsNkNBQTZDLEVBQUUsUUFBUTtJQUN2RCwrQ0FBK0MsRUFBRSxXQUFXO0lBQzVELDZDQUE2QyxFQUFFLE9BQU87SUFDdEQsOENBQThDLEVBQUUsVUFBVTtJQUMxRCxpREFBaUQsRUFBRSxZQUFZO0lBQy9ELDhDQUE4QyxFQUFFLFNBQVM7SUFDekQsZ0NBQWdDLEVBQUUsU0FBUztJQUMzQyxpQ0FBaUMsRUFBRSxTQUFTO0lBQzVDLCtDQUErQyxFQUFFLDRCQUE0QjtJQUM3RSw4Q0FBOEMsRUFBRSxTQUFTO0lBQ3pELDhCQUE4QixFQUFFLFFBQVE7SUFDeEMsZ0NBQWdDLEVBQUUsV0FBVztJQUM3QyxvQ0FBb0MsRUFBRSxnQkFBZ0I7SUFDdEQsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxzQ0FBc0MsRUFBRSxTQUFTO0lBQ2pELHNDQUFzQyxFQUFFLFNBQVM7SUFDakQsc0NBQXNDLEVBQUUsVUFBVTtJQUNsRCx5Q0FBeUMsRUFBRSxTQUFTO0lBQ3BELDBDQUEwQyxFQUFFLGlCQUFpQjtJQUM3RCw4QkFBOEIsRUFBRSxNQUFNO0lBQ3RDLDJDQUEyQyxFQUFFLGtCQUFrQjtJQUMvRCw0Q0FBNEMsRUFBRSxtQkFBbUI7SUFDakUsNENBQTRDLEVBQUUsb0JBQW9CO0lBQ2xFLG9DQUFvQyxFQUFFLFFBQVE7SUFDOUMsdUNBQXVDLEVBQUUsU0FBUztJQUNsRCxpREFBaUQsRUFBRSxvQ0FBb0M7SUFDdkYsb0RBQW9ELEVBQUUsd0JBQXdCO0lBQzlFLHlDQUF5QyxFQUFFLFVBQVU7SUFDckQsc0NBQXNDLEVBQUUsZUFBZTtJQUN2RCxxRUFBcUUsRUFBRSw4QkFBOEI7SUFDckcscUNBQXFDLEVBQUUsaUNBQWlDO0lBQ3hFLDhDQUE4QyxFQUFFLG1CQUFtQjtJQUNuRSx5Q0FBeUMsRUFBRSx1Q0FBdUM7SUFDbEYsNkNBQTZDLEVBQUUsa0JBQWtCO0lBQ2pFLHdDQUF3QyxFQUFFLGdDQUFnQztJQUMxRSw4QkFBOEIsRUFBRSxHQUFHO0lBQ25DLHdDQUF3QyxFQUFFLHVEQUF1RDtJQUNqRyw2Q0FBNkMsRUFBRSxrQkFBa0I7SUFDakUsK0NBQStDLEVBQUUsa0JBQWtCO0lBQ25FLDZDQUE2QyxFQUFFLElBQUk7SUFDbkQsMkNBQTJDLEVBQUUsa0JBQWtCO0lBQy9ELHNDQUFzQyxFQUFFLG1CQUFtQjtJQUMzRCwyQ0FBMkMsRUFBRSxrQkFBa0I7SUFDL0QseUNBQXlDLEVBQUUsZUFBZTtJQUMxRCxzREFBc0QsRUFBRSwyQkFBMkI7SUFDbkYsa0RBQWtELEVBQUUsMEJBQTBCO0lBQzlFLGtDQUFrQyxFQUFFLFdBQVc7SUFDL0Msc0NBQXNDLEVBQUUsUUFBUTtJQUNoRCx3Q0FBd0MsRUFBRSxRQUFRO0lBQ2xELDhCQUE4QixFQUFFLE1BQU07SUFDdEMsb0NBQW9DLEVBQUUsUUFBUTtJQUM5Qyw0Q0FBNEMsRUFBRSxpQ0FBaUM7SUFDL0UsK0NBQStDLEVBQUUsZ0NBQWdDO0lBQ2pGLDREQUE0RCxFQUFFLHFDQUFxQztJQUNuRywwQ0FBMEMsRUFBRSwyQkFBMkI7SUFDdkUsd0NBQXdDLEVBQUUsNkJBQTZCO0lBQ3ZFLGdEQUFnRCxFQUFFLHFCQUFxQjtJQUN2RSx3Q0FBd0MsRUFBRSwwQkFBMEI7SUFDcEUseUNBQXlDLEVBQUUsc0NBQXNDO0lBQ2pGLDBDQUEwQyxFQUFFLG9CQUFvQjtJQUNoRSwwREFBMEQsRUFBRSx1QkFBdUI7SUFDbkYsMERBQTBELEVBQUUscUJBQXFCO0lBQ2pGLG1EQUFtRCxFQUFFLHlDQUF5QztJQUM5RixzQ0FBc0MsRUFBRSxlQUFlO0lBQ3ZELHdDQUF3QyxFQUFFLFNBQVM7SUFDbkQsbURBQW1ELEVBQUUsMEJBQTBCO0lBQy9FLDREQUE0RCxFQUFFLHVCQUF1QjtJQUNyRiwyQ0FBMkMsRUFBRSxzQkFBc0I7SUFDbkUsbURBQW1ELEVBQUUsNEJBQTRCO0lBQ2pGLDREQUE0RCxFQUFFLCtCQUErQjtJQUM3Rix5Q0FBeUMsRUFBRSxpQkFBaUI7SUFDNUQsK0NBQStDLEVBQUUsa0JBQWtCO0lBQ25FLHFEQUFxRCxFQUFFLDRDQUE0QztJQUNuRyw2REFBNkQsRUFBRSwwQkFBMEI7SUFDekYsbUVBQW1FLEVBQUUsa0VBQWtFO0lBQ3ZJLHVEQUF1RCxFQUFFLHlCQUF5QjtJQUNsRiw2REFBNkQsRUFBRSxpRUFBaUU7SUFDaEksNERBQTRELEVBQUUseUJBQXlCO0lBQ3ZGLGtFQUFrRSxFQUFFLHdEQUF3RDtJQUM1SCw0RUFBNEUsRUFBRSxvRUFBb0U7SUFDbEosK0NBQStDLEVBQUUseUJBQXlCO0lBQzFFLCtDQUErQyxFQUFFLFNBQVM7SUFDMUQsaURBQWlELEVBQUUsY0FBYztJQUNqRSxpREFBaUQsRUFBRSxRQUFRO0lBQzNELCtDQUErQyxFQUFFLE9BQU87SUFDeEQsNkNBQTZDLEVBQUUsV0FBVztJQUMxRCw4Q0FBOEMsRUFBRSxTQUFTO0lBQ3pELHNEQUFzRCxFQUFFLHFCQUFxQjtJQUM3RSx1Q0FBdUMsRUFBRSx3QkFBd0I7SUFDakUsMERBQTBELEVBQUUsK0JBQStCO0lBQzNGLDBEQUEwRCxFQUFFLDhCQUE4QjtJQUMxRiwyREFBMkQsRUFBRSxrQ0FBa0M7SUFDL0Ysa0RBQWtELEVBQUUsMkJBQTJCO0lBQy9FLHFEQUFxRCxFQUFFLCtCQUErQjtJQUN0RixpREFBaUQsRUFBRSxlQUFlO0lBQ2xFLGlEQUFpRCxFQUFFLG9CQUFvQjtJQUN2RSxvREFBb0QsRUFBRSxlQUFlO0lBQ3JFLDhEQUE4RCxFQUFFLDBCQUEwQjtJQUMxRiwyRUFBMkUsRUFBRSw4QkFBOEI7SUFDM0csZ0RBQWdELEVBQUUsa0JBQWtCO0lBQ3BFLG1FQUFtRSxFQUFFLHFCQUFxQjtJQUMxRixnRUFBZ0UsRUFBRSxrQkFBa0I7Q0FDdkYsQ0FBQztBQUNGLGVBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcHRCUiA9IHtcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGFibGVfZW1wdHlfZGVzY3JpcHRpb25cIjogXCJBbHRlcmUgb3MgZmlsdHJvcyBhY2ltYSBwYXJhIGdlcmFyIG91dHJvcyByZXN1bHRhZG9zIGRlIGJ1c2NhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm5vdGhpbmdfZm91bmRcIjogXCJOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfZXZlbnRzXCI6IFwiRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZWZyZXNoXCI6IFwiQXR1YWxpemFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaGVhZGVyXCI6IFwiQ29uc3VsdGEgZGUgZXZlbnRvcy9pbnRlZ3Jhw6fDtWVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm5vXCI6IFwiTsOjb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy55ZXNcIjogXCJTaW1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfbW9kYWxfdGl0bGVcIjogXCJSZXByb2Nlc3NhbWVudG8gZGUgRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9tb2RhbFwiOiBcIkRlc2VqYSByZXByb2Nlc3NhciBvIGV2ZW50bz9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzX2V2ZW50XCI6IFwiUmVwcm9jZXNzYXIgZXZlbnRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50c19jbG9zZVwiOiBcIkZlY2hhclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9lcnJvcl9tZXNzYWdlXCI6IFwiTWVuc2FnZW0gZGUgZXJyb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYXN0X3VwZGF0ZV9kYXRlXCI6IFwiw5psdGltYSBhdHVhbGl6YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNob3dfZXZlbnRfZGV0YWlsc1wiOiBcIkRldGFsaGVzIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wZW5kaW5nXCI6IFwiUGVuZGVudGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NhbmRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnBhbmVsX3RpdGxlX2V2ZW50c19lbmRlZF93aXRoX2Vycm9yXCI6IFwiRmFsaGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0c1wiOiBcIlRpY2tldHNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucnVyYWxfZXN0YXRlXCI6IFwiSW3Ds3ZlbCBSdXJhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaGFuZ2VfcmVxdWVzdF9ldmVudF9zdW1tYXJ5XCI6IFwiQWx0ZXJhw6fDo28gZGUgXFxuUGVzYWdlbVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfbWFpbnRlbmFuY2VfaGVhZGVyXCI6IFwiTWFudXRlbsOnw6NvIGRlIHRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX2NyZWF0aW5nX2V2ZW50XCI6IFwiRW1pc3PDo28gZGUgTkZcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYmFsYW5jZV9lbnRyeV9jb250cm9sX2V2ZW50XCI6IFwiRW50cmFkYS9zYcOtZGEgYmFsYW7Dp2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2xhYmVsXCI6IFwiT3JpZ2VtIGRvIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9kZXRhaWxzX2hlYWRlclwiOiBcIkRldGFsaGVzIGRvIEV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5yZWdpc3RlcnNfZm91bmRcIjogXCJ7dG90YWx9IHJlZ2lzdHJvKHMpIGVuY29udHJhZG8ocylcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2hhbmdlX3JlcXVlc3RfZXZlbnRcIjogXCJBbHRlcmHDp8OjbyBkZSBQZXNhZ2VtXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnN0YXR1c19sYWJlbFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5wYW5lbF90aXRsZV9ldmVudHNfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiOiBcIlN1Y2Vzc29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc3VwcGxpZXJcIjogXCJGb3JuZWNlZG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRpY2tldFwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jb21wYW55XCI6IFwiRW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sYWJlbF9icmFuY2hcIjogXCJGaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc2lkZWJhcl90aXRsZVwiOiBcIkV2ZW50byB7ZXZlbnROdW1iZXJ9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCI6IFwiUmVwcm9jZXNzYW5kbyBFdmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMucmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJPIGV2ZW50byBzZWxlY2lvbmFkbyBlc3TDoSBzZW5kbyByZXByb2Nlc3NhZG8uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3JlcHJvY2Vzc2luZ19ldmVudF9tZXNzYWdlX3RpdGxlXCI6IFwiRXJybyBhbyByZXByb2Nlc3NhciBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfcmVwcm9jZXNzaW5nX2V2ZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJIb3V2ZSB1bSBlcnJvIGFvIHJlcHJvY2Vzc2FyIG8gZXZlbnRvLiBUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYWN0aW9uc1wiOiBcIkHDp8O1ZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuYWRkXCI6IFwiQWRpY2lvbmFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmF0X2RhdGVcIjogXCJOYSBkYXRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmF0X3RpbWVcIjogXCJOYSBob3JhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbFwiOiBcIkNhbmNlbGFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNsZWFyXCI6IFwiTGltcGFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNyZWF0ZWRfYnlcIjogXCJDcmlhZG8gcG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZVwiOiBcIkV4Y2x1aXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCI6IFwiVGVtIGNlcnRlemEgcXVlIGRlc2VqYSBleGNsdWlyIGVzdGUgaXRlbT9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlX2NvbmZpcm1hdGlvbl90aXRsZVwiOiBcIkNvbmZpcm1hw6fDo28gZGUgZXhjbHVzw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCI6IFwiSXRlbSBleGNsdcOtZG8gY29tIHN1Y2Vzc29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZGVsZXRlZF9tZXNzYWdlX3RpdGxlXCI6IFwiRXhjbHVzw6NvIHJlYWxpemFkYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfY29kX2VtcFwiOiBcIkPDs2RpZ28gZGEgZW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfY3JlYXRlZF9ieVwiOiBcIkNyaWFkbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX2NyZWF0ZWRfZGF0ZVwiOiBcIkRhdGEgZGUgY3JpYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9pZFwiOiBcIklkXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2VtcF9sYXN0X21vZGlmaWVkX2J5XCI6IFwiw5psdGltYSBtb2RpZmljYcOnw6NvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9lbXBfbGFzdF9tb2RpZmllZF9kYXRlXCI6IFwiRGF0YSBkYSDDumx0aW1hIG1vZGlmaWNhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX25vbV9lbXBcIjogXCJOb21lIGRhIGVtcHJlc2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZW1wX3NpZ19lbXBcIjogXCJOb21lIGZhbnRhc2lhIC8gU2lnbGEgZGEgZW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfY2lkX2ZpbFwiOiBcIkNpZGFkZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfY29kX2ZpbFwiOiBcIkPDs2RpZ28gZGEgZmlsaWFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9jcmVhdGVkX2J5XCI6IFwiQ3JpYWRvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfY3JlYXRlZF9kYXRlXCI6IFwiRGF0YSBkZSBjcmlhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2lkXCI6IFwiSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZV8wNzBfZmlsX2xhc3RfbW9kaWZpZWRfYnlcIjogXCLDmmx0aW1hIG1vZGlmaWNhw6fDo28gcG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9sYXN0X21vZGlmaWVkX2RhdGVcIjogXCJEYXRhIGRhIMO6bHRpbWEgbW9kaWZpY2HDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbm9tX2ZpbFwiOiBcIk5vbWUgZGEgZmlsaWFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVfMDcwX2ZpbF9udW1fY2djXCI6IFwiQ05QSlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfbnVtX2ZvblwiOiBcIk51bWVybyBUZWxlZm9uZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lXzA3MF9maWxfc2lnX2ZpbFwiOiBcIk5vbWUgZmFudGFzaWEgZGEgZmlsaWFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVkaXRcIjogXCJFZGl0YXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfZm9yYmlkZGVuX2Rlc2NyaXB0aW9uXCI6IFwiVm9jw6ogbsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhIGFjZXNzYXIgZXN0ZSByZWN1cnNvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2ZvcmJpZGRlbl90aXRsZVwiOiBcIkFjZXNzbyBuZWdhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfaW52YWxpZFwiOiBcIlZhbG9yIGludsOhbGlkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9tYXhfbGVuZ3RoXCI6IFwiTyB2YWxvciBtw6F4aW1vIGRlIGNhcmFjdGVyZXMgw6kgezB9XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX21heF92YWx1ZVwiOiBcIk8gdmFsb3IgbcOheGltbyDDqSB7MH1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWluX2xlbmd0aFwiOiBcIk8gdmFsb3IgbcOtbmltbyBkZSBjYXJhY3RlcmVzIMOpIHt2YWxvcn1cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfbWluX3ZhbHVlXCI6IFwiTyB2YWxvciBtw61uaW1vIMOpIHswfVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9ub3RfZm91bmRfZGVzY3JpcHRpb25cIjogXCJPIHJlY3Vyc28gc29saWNpdGFkbyBuw6NvIGZvaSBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX25vdF9mb3VuZF90aXRsZVwiOiBcIk7Do28gZW5jb250cmFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9yZXF1aXJlZFwiOiBcIkNhbXBvIG9icmlnYXTDs3Jpb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9zZXJ2ZXJfZGVzY3JpcHRpb25cIjogXCJPY29ycmV1IHVtIGVycm8gYW8gcHJvY2Vzc2FyIHN1YSBzb2xpY2l0YcOnw6NvLiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9zZXJ2ZXJfdGl0bGVcIjogXCJFcnJvIG5vIHNlcnZpZG9yXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX3NlcnZlcl90cnlfYWdhaW5cIjogXCJUZW50ZSBub3ZhbWVudGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfdW5hdXRob3JpemVkX2Rlc2NyaXB0aW9uXCI6IFwiVm9jw6ogbsOjbyBlc3TDoSBhdXRvcml6YWRvIGEgYWNlc3NhciBlc3RlIHJlY3Vyc29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfdW5hdXRob3JpemVkX3RpdGxlXCI6IFwiTsOjbyBhdXRvcml6YWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xcIjogXCJDb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfY3JlYXRlZF9ieVwiOiBcIkNyaWFkbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9jcmVhdGVkX2RhdGVcIjogXCJEYXRhIGRlIGNyaWHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2VtcFwiOiBcIkVtcHJlc2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lXzA3MF9lbXBfc2VhcmNoX3RpdGxlXCI6IFwiU2VsZWNpb25lIGEgZW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2ZpbFwiOiBcIkZpbGlhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2VfMDcwX2ZpbF9zZWFyY2hfdGl0bGVcIjogXCJTZWxlY2lvbmUgYSBmaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvblwiOiBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZW1wdHlfc3RhdGVfdGl0bGVcIjogXCJOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2V2ZW50X29yaWdpblwiOiBcIk9yaWdlbSBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9ldmVudF9vcmlnaW5fcGxhY2Vob2xkZXJcIjogXCJTZWxlY2lvbmUgYSBvcmlnZW0gZG8gZXZlbnRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZXh0ZXJuYWxfaWRcIjogXCJJZCBleHRlcm5vXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfZm9ybV9nZW5lcmFsX3RpdGxlXCI6IFwiR2VyYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9mb3JtX3RpdGxlXCI6IFwiQ29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2lkXCI6IFwiSWQgZGEgZW50aWRhZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtXCI6IFwiSXRlbnMgZG8gY29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fY3JlYXRlZF9ieVwiOiBcIkNyaWFkbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2NyZWF0ZWRfZGF0ZVwiOiBcIkRhdGEgZGUgY3JpYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9lbXB0eV9zdGF0ZV9kZXNjcmlwdGlvblwiOiBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9lbXB0eV9zdGF0ZV90aXRsZVwiOiBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9ldmVudF9jb250cm9sXCI6IFwiZXZlbnRDb250cm9sSWRcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X2NvbnRyb2xfc2VhcmNoX3RpdGxlXCI6IFwiU2VsZWNpb25lIG8gY29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fZXZlbnRfZ3JvdXBcIjogXCJHcnVwbyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X29wZXJhdGlvblwiOiBcIlRpcG8gZGEgb3BlcmHDp8OjbyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2V2ZW50X29wZXJhdGlvbl9wbGFjZWhvbGRlclwiOiBcIlNlbGVjaW9uZSBvIHRpcG8gZGEgb3BlcmHDp8OjbyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2Zvcm1fZ2VuZXJhbF90aXRsZVwiOiBcIkdlcmFsXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9mb3JtX3RpdGxlXCI6IFwiSXRlbnMgZG8gY29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1faWRcIjogXCJJZCBkYSBlbnRpZGFkZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbGFzdF9tb2RpZmllZF9ieVwiOiBcIsOabHRpbWEgbW9kaWZpY2HDp8OjbyBwb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX2xhc3RfbW9kaWZpZWRfZGF0ZVwiOiBcIkRhdGEgZGEgw7psdGltYSBtb2RpZmljYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9saXN0X2dyaWRfdGl0bGVcIjogXCJJdGVucyBkbyBjb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9saXN0X3RpdGxlXCI6IFwiSXRlbnMgZG8gY29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fbWVzc2FnZVwiOiBcIk1lbnNhZ2VtIGRlIGV2ZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2l0ZW1fcGFyYW1cIjogXCJQYXLDom1ldHJvcyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3JlcXVlc3RcIjogXCJTb2xpY2l0YcOnw6NvIHJlY2ViaWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfaXRlbV9yZXNwb25zZVwiOiBcIlJlc3Bvc3RhIGVudmlhZGFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3NlcXVlbmNlXCI6IFwiU2VxdcOqbmNpYSBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3N0YXR1c1wiOiBcIlN0YXR1cyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9pdGVtX3N0YXR1c19wbGFjZWhvbGRlclwiOiBcIlNlbGVjaW9uZSBvIHN0YXR1cyBkbyBldmVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfY29udHJvbF9sYXN0X21vZGlmaWVkX2J5XCI6IFwiw5psdGltYSBtb2RpZmljYcOnw6NvIHBvclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xhc3RfbW9kaWZpZWRfZGF0ZVwiOiBcIkRhdGEgZGEgw7psdGltYSBtb2RpZmljYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X2NvbnRyb2xfbGlzdF9ncmlkX3RpdGxlXCI6IFwiQ29udHJvbGUgZGUgZXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9jb250cm9sX2xpc3RfdGl0bGVcIjogXCJDb250cm9sZSBkZSBldmVudG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9jaGFuZ2VfcmVxdWVzdFwiOiBcIlNvbGljaXRhw6fDo28gZGUgYWx0ZXJhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2NoYW5nZV9yZXNwb25zZVwiOiBcIlJlc3Bvc3RhIGRlIGFsdGVyYcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9lZmZlY3RpdmVcIjogXCJFZmV0aXZvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9lZmZlY3RpdmVfY29uZmlybWF0aW9uXCI6IFwiQ29uZmlybWHDp8OjbyBkZSBlZmV0aXZhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2ludm9pY2VfY2xvc2luZ1wiOiBcIkZlY2hhbWVudG8gZGUgbm90YSBmaXNjYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2ludm9pY2VfY3JlYXRpbmdcIjogXCJDcmlhw6fDo28gZGUgbm90YSBmaXNjYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX2ludm9pY2VfaW5zdGFsbG1lbnRzXCI6IFwiUGFyY2VsYW1lbnRvIGRlIG5vXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9wcm92ZXNpb25hbFwiOiBcIlNhbGRvIFByb3Zpc8OzcmlvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X29wZXJhdGlvbl9yZW1vdmVfcHJvdmlzaW9uYWxcIjogXCJSZW1vw6fDo28gZGUgU2FsZG8gcHJvdmlzw7NyaW9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3BlcmF0aW9uX3RpY2tldFwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5fYmFsYW5jZV9lbnRyeV9jb250cm9sXCI6IFwiQ29udHJvbGUgZGUgbGFuw6dhbWVudG8gZGUgc2FsZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX2NoYW5nZV9yZXF1ZXN0XCI6IFwiU29saWNpdGHDp8OjbyBkZSBhbHRlcmHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9vcmlnaW5faW52b2ljZVwiOiBcIkludm9pY2VcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfb3JpZ2luX3RpY2tldFwiOiBcIlRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9zdGF0dXNfY2FuY2VsZWRcIjogXCJDYW5jZWxhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX2ZhaWxlZFwiOiBcIkZhbGhhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X3N0YXR1c19wZW5kaW5nXCI6IFwiUGVuZGVudGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXZlbnRfc3RhdHVzX3Byb2Nlc3NpbmdcIjogXCJQcm9jZXNzYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmV2ZW50X3N0YXR1c19zdWNjZXNzXCI6IFwiU3VjZXNzb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5maWx0ZXJcIjogXCJGaWx0cmFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmZpbHRlcnNcIjogXCJGaWx0cm9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxpc3RfZ3JpZF9lbXB0eV9maWVsZFwiOiBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb2R1Y3RfaGVhZGVyX3RpdGxlXCI6IFwiRXZlbnRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5zYXZlXCI6IFwiU2FsdmFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNlbGVjdFwiOiBcIlNlbGVjaW9uZVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy51cGRhdGVkX2J5XCI6IFwiQXR1YWxpemFkbyBwb3JcIixcclxuICAgIFwiZXJyb3JfaW52YWxpZFwiOiBcIlZhbG9yIGludsOhbGlkb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jaG9vc2VfbGFiZWxcIjogXCJFc2NvbGhhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9sYWJlbFwiOiBcIlJlbW92ZXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2xhYmVsXCI6IFwiQ2FuY2VsYXJcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuc3VjY2Vzc190b29sdGlwXCI6IFwiU3VjZXNzb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5tZW51X2Fncm9fZXZlbnRzXCI6IFwiRXZlbnRvcyBkbyBBZ3JvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmRhdGVcIjogXCJEYXRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVfYnJhbmNoXCI6IFwiQ8OzZGlnbyBkYSBmaWxpYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfY29kZV9jb21wYW55XCI6IFwiQ8OzZGlnbyBkYSBlbXByZXNhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVfZGVwb3NpdFwiOiBcIkPDs2RpZ28gZG8gZGVww7NzaXRvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvZGVcIjogXCJDw7NkaWdvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NvbXBhbnlcIjogXCJFbXByZXNhXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9lbnRyeV9jb250cm9sXCI6IFwiQ29udHJvbGUgZW50cmFkYS9zYcOtZGEgdmlhIGJhbGFuw6dhXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9lbnRyeV9leGl0X3F1ZXJ5XCI6IFwiQ29uc3VsdGEgZW50cmFkYS9zYcOtZGFcIixcclxuICAgIFwicGxhdGZvcm0uYmFja2VuZC5hZ3JvX29yaWdpbmF0aW9uX2xpbmtzXCI6IFwiTGlnYcOnw7Vlc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5mYW50YXN5X25hbWVcIjogXCJOb21lIGZhbnRhc2lhXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQuYWdyb19vcmlnaW5hdGlvbl9vcGVyYXRpb25fdmVyc3VzX3RyYW5zYWN0aW9uX2xpbmtcIjogXCJMaWdhw6fDo28gb3BlcmHDp8OjbyB4IHRyYW5zYcOnw6NvXCIsXHJcbiAgICBcInBsYXRmb3JtLmJhY2tlbmQubWVudV9ldmVudF9jb250cm9sXCI6IFwiQ29uc3VsdGEgZGUgZXZlbnRvcy9pbnRlZ3Jhw6fDtWVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbXBhbnlfc2VhcmNoX2xhYmVsXCI6IFwiQ29uc3VsdGFyIEVtcHJlc2FcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY29tcGFueV90b29sdGlwXCI6IFwiU2VsZWNpb25lIHVtYSBlbXByZXNhIHBhcmEgcHJvc3NlZ3VpclwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5icmFuY2hfc2VhcmNoX2xhYmVsXCI6IFwiQ29uc3VsdGFyIEZpbGlhbFwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5icmFuY2hfdG9vbHRpcFwiOiBcIkVuY29udHJlIGFzIGZpbGlhaXMgZGEgZW1wcmVzYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5kYXNoXCI6IFwiLVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfdG9vbHRpcFwiOiBcIkFkaWNpb25lIG8gbsO6bWVybyBkbyB0aWNrZXQgcGFyYSBlc3BlY2lmaWNhciBuYSBidXNjYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy50aWNrZXRfc2VhcmNoX2xhYmVsXCI6IFwiQ29uc3VsdGFyIFRpY2tldFwiLFxyXG4gICAgXCJhZ3JvLmdyYWluX2NsYXNzaWZpY2F0aW9uLnRpY2tldF9zZWFyY2hfbGFiZWxcIjogXCJDb25zdWx0YXIgVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmtpbG9ncmFtX3VuaXRfbGFiZWxcIjogXCJLR1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5ldmVudF9saXN0X2hlYWRlclwiOiBcIkxpc3RhIGRlIEV2ZW50b3NcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudGlja2V0X2V2ZW50XCI6IFwiRW1pc3PDo28gZG8gVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnByb3Zpc2lvbmFsX2V2ZW50XCI6IFwiU2FsZG8gcHJvdmlzw7NyaW9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZWZmZWN0aXZlX2V2ZW50XCI6IFwiU2FsZG8gZWZldGl2b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lZmZlY3RpdmVfY29uZmlybWF0aW9uX2V2ZW50XCI6IFwiQ29uZmlybWHDp8OjbyBzYWxkbyBlZmV0aXZvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9wcm92aXNpb25hbF9ldmVudFwiOiBcIlJlbW92ZXIgU2FsZG8gUHJvdmlzw7NyaW9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsZWRcIjogXCJDYW5jZWxhZG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubGFiZWxfbnVtYmVyXCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uZ3JhaW5fY2xhc3NpZmljYXRpb24ubGFiZWxfbnVtYmVyXCI6IFwiVGlja2V0XCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNucGpcIjogXCJDTlBKXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmxhYmVsX2NpdHlcIjogXCJDaWRhZGVcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMubWVudV9ldmVudF9jb250cm9sXCI6IFwiQ29uc3VsdGEgZGUgZXZlbnRvcy9pbnRlZ3Jhw6fDtWVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnRyYW5zZmVyX29yaWdpbl9ldmVudFwiOiBcIlRyYW5zZmVyw6puY2lhIGVudHJlIFByb2R1dG9yZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZ2VuZXJhdGlvbl9vZl9pbnZvaWNlX2luc3RhbGxtZW50c1wiOiBcIkdlcmHDp8OjbyBkYXMgcGFyY2VsYXMgZGEgbm90YSBmaXNjYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV9jYW5jZWxlZFwiOiBcIkZlY2hhbWVudG8gZGEgbm90YSBmaXNjYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0lOVk9JQ0VcIjogXCJDYW5jZWxhbWVudG8gZGUgbm90YSBmaXNjYWxcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuRUZGRUNUSVZFX0NPTkZJUk1BVElPTlwiOiBcIkNvbmZpcm1hw6fDo28gZWZldGl2YVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DSEFOR0VfUkVRVUVTVFwiOiBcIlNvbGljaXRhw6fDo28gZGUgYWx0ZXJhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0hBTkdFX1JFU1BPTlNFXCI6IFwiUmVzcG9zdGEgZGEgc29saWNpdGHDp8OjbyBkZSBhbHRlcmHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5QUk9DRVNTX0ZJWEFUSU9OXCI6IFwiUHJvY2Vzc2EgYSBmaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ1JFQVRFX0lOQ09NSU5HX0lOVk9JQ0VcIjogXCJFbWlzc8OjbyBORiBkZSBlbnRyYWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NSRUFURV9PVVRHT0lOR19JTlZPSUNFXCI6IFwiRW1pc3PDo28gTkYgZGUgc2HDrWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX1BST0RVQ0VSX0JBTEFOQ0VcIjogXCJUcmFuc2ZlcsOqbmNpYSBkZSBzYWxkbyBlbnRyZSBwcm9kdXRvcmVzXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNvbnRyb2xfY29kZVwiOiBcIklkZW50aWZpY2Fkb3JcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZml4YXRpb25fZXZlbnRcIjogXCJGaXhhw6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuRklOSVNIX0ZJTkFOQ0lBTF9GSVhBVElPTlwiOiBcIkVtaXNzw6NvL0JhaXhhIGRlIHTDrXR1bG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkZJTklTSF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT05cIjogXCJBdHVhbGl6YcOnw6NvIGRlIHNhbGRvc1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5DT05DTFVERV9GSVhBVElPTlwiOiBcIkNvbmNsdXPDo28gZGEgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9GSU5BTkNJQUxfRklYQVRJT05cIjogXCJDYW5jZWxhIGVtaXNzw6NvIGRlIHTDrXR1bG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9QUk9EVUNFUl9ORVRfVkFMVUVfRklYQVRJT05cIjogXCJSZXZlcnRlIGF0dWFsaXphw6fDo28gZGUgc2FsZG9zXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNBTkNFTF9GSVhBVElPTlwiOiBcIkNhbmNlbGEgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl90aXRsZVwiOiBcIkNhbmNlbGFyIGZpeGHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fZGVzY3JpcHRpb25cIjogXCJUZW0gY2VydGV6YSBxdWUgZGVzZWphIGNhbmNlbGFyIGEgZml4YcOnw6NvP1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl9jYW5jZWxfZml4YXRpb25fbWVzc2FnZV90aXRsZVwiOiBcIkVycm8gYW8gY2FuY2VsYXIgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmVycm9yX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiSG91dmUgdW0gZXJybyBhbyBjYW5jZWxhciBhIGZpeGHDp8Ojby4gVGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGUuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmNhbmNlbF9maXhhdGlvbl9tZXNzYWdlX3RpdGxlXCI6IFwiQ2FuY2VsYW1lbnRvIGRlIGZpeGHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfZml4YXRpb25fbWVzc2FnZV9kZXNjcmlwdGlvblwiOiBcIk8gcHJvY2Vzc28gZGUgY2FuY2VsYW1lbnRvIGRhIGZpeGHDp8OjbyBmb2kgaW5pY2lhZG8gY29tIHN1Y2Vzc28uXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLndhcm5fY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfdGl0bGVcIjogXCJDYW5jZWxhbWVudG8gZGUgZml4YcOnw6NvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLndhcm5fY2FuY2VsX2ZpeGF0aW9uX21lc3NhZ2VfZGVzY3JpcHRpb25cIjogXCJOw6NvIMOpIHBlcm1pdGlkbyBjYW5jZWxhciBhIGZpeGHDp8OjbyBkZSBjb21wcmEgaW1lZGlhdGEuXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLndhcm5faW1tZWRpYXRlX2NhbmNlbF9maXhhdGlvbl9tZXNzYWdlX2Rlc2NyaXB0aW9uXCI6IFwiTsOjbyDDqSBwb3Nzw612ZWwgY2FuY2VsYXIgdW1hIGZpeGHDp8OjbyByZWFsaXphZGEgdmlhIGNvbXByYSBpbWVkaWF0YS5cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsX2ZpeGF0aW9uX2V2ZW50XCI6IFwiQ2FuY2VsYW1lbnRvIGRlIGZpeGHDp8Ojb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfSU5DT01JTkdcIjogXCJFbnRyYWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9DT01QTEVNRU5UXCI6IFwiQ29tcGxlbWVudGFyXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9BREpVU1RNRU5UXCI6IFwiQWp1c3RlXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmludm9pY2VfdHlwZV9PVVRHT0lOR1wiOiBcIlNhw61kYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfUkVUVVJOXCI6IFwiRGV2b2x1w6fDo29cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuaW52b2ljZV90eXBlX1NFUlZJQ0VcIjogXCJTZXJ2acOnb1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5pbnZvaWNlX3R5cGVfU1lNQk9MSUNfUkVUVVJOXCI6IFwiRGV2b2x1w6fDo28gc2ltYsOzbGljYVwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxfcmVhc29uXCI6IFwiTW90aXZvIGRvIGNhbmNlbGFtZW50b1wiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5UUkFOU0ZFUl9DQU5DRUxfSU5DT01JTkdfSU5WT0lDRVwiOiBcIkNhbmNlbGFtZW50byBkZSBORiBkZSBlbnRyYWRhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlRSQU5TRkVSX0NBTkNFTF9PVVRHT0lOR19JTlZPSUNFXCI6IFwiQ2FuY2VsYW1lbnRvIGRlIE5GIGRlIHNhw61kYSBcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfUkVWRVJTRV9QUk9EVUNFUl9CQUxBTkNFXCI6IFwiRXN0b3JubyBkb3Mgc2FsZG9zIGRlIHByb2R1dG9yZXNcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuVFJBTlNGRVJfQ09OQ0xVREVfQ0FOQ0VMXCI6IFwiQ29uY2x1c8OjbyBkbyBjYW5jZWxhbWVudG9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMudHJhbnNmZXJfY2FuY2VsbGF0aW9uX2V2ZW50XCI6IFwiQ2FuY2VsYW1lbnRvIGRlIHRyYW5zZmVyw6puY2lhXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLkNSRUFURV9JTlZPSUNFX0ZJWEFUSU9OXCI6IFwiRW1pc3PDo28gZGUgTkZcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0FOQ0VMX0lOVk9JQ0VfRklYQVRJT05cIjogXCJDYW5jZWxhbWVudG8gZGUgTkZcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuT1JJR0lOQVRJT05fQ1JFQVRFX0lOVk9JQ0VcIjogXCJFbWlzc8OjbyBkZSBORlwiLFxyXG4gICAgXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5PUklHSU5BVElPTl9DUkVBVEVfRUZGRUNUSVZFX0JBTEFOQ0VcIjogXCJFbWlzc8OjbyBkZSBzYWxkbyBlZmV0aXZvXCIsXHJcbiAgICBcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLlBST0RVQ0VSX05FVF9WQUxVRV9FRkZFQ1RJVkVfQkFMQU5DRV9DT05GSVJNQVRJT05cIjogXCJDb25maXJtYcOnw6NvIGRlIHNhbGRvIGVmZXRpdm9cIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuQ0xPU0VfSU5WT0lDRV9GSVhBVElPTlwiOiBcIkZlY2hhbWVudG8gZGUgTkZcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuT1JJR0lOQVRJT05fQ1JFQVRFX0VGRkVDVElWRV9DT05GSVJNQVRJT05cIjogXCJDb25maXJtYcOnw6NvIGVmZXRpdmFcIixcclxuICAgIFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuT1JJR0lOQVRJT05fQ1JFQVRFX1BST1ZJU0lPTkFMX0JBTEFOQ0VcIjogXCJTYWxkbyBwcm92aXPDs3Jpb1wiXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IHB0QlI7Il19
@@ -1,4 +1,4 @@
1
- import { __awaiter, __decorate, __generator, __read, __spread, __values } from "tslib";
1
+ import { __awaiter, __decorate, __generator, __values } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { filter, finalize, map, switchMap, take } from 'rxjs/operators';
4
4
  import { Client, FrameImpl } from '@stomp/stompjs';
@@ -236,7 +236,6 @@ var WebsocketService = /** @class */ (function () {
236
236
  if (!this.debugEnable) {
237
237
  return;
238
238
  }
239
- console.log.apply(console, __spread(['WS debug: ' + message], optionalParams));
240
239
  };
241
240
  WebsocketService.prototype.info = function (message) {
242
241
  console.info('WS info: ' + message);
@@ -408,4 +407,4 @@ var WebsocketService = /** @class */ (function () {
408
407
  return WebsocketService;
409
408
  }());
410
409
  export { WebsocketService };
411
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3dlYnNvY2tldC93ZWJzb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFDNUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzVDLElBQU0sK0JBQStCLEdBQUcsSUFBSSxDQUFDO0FBQzdDLElBQU0sK0JBQStCLEdBQUcsSUFBSSxDQUFDO0FBSzdDO0lBY0ksMEJBQTZCLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBYjFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENB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LENBQUM7SUFFTyxtREFBd0IsR0FBaEMsVUFBb0MsZ0JBQXFDO1FBQ3JFLElBQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUMvRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQ3ZCLGdCQUFnQixDQUFDLE9BQU8sRUFDeEIsZ0JBQWdCLENBQUMsU0FBUyxDQUM3QixDQUFDO1FBQ0YsSUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQ25FLGdCQUFnQixDQUFDLE1BQU0sRUFDdkIsZ0JBQWdCLENBQUMsT0FBTyxFQUN4QixnQkFBZ0IsQ0FBQyxTQUFTLENBQzdCLENBQUM7UUFFRixJQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLElBQU0sNkJBQTZCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEgsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sNkNBQWtCLEdBQTFCO1FBQ0ksT0FBVSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLGtCQUFlLENBQUM7SUFDM0UsQ0FBQzs7Z0JBeFhvRCxzQkFBc0I7OztJQWRsRSxnQkFBZ0I7UUFINUIsVUFBVSxDQUFDO1lBQ1IsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQztPQUNXLGdCQUFnQixDQXVZNUI7MkJBdlpEO0NBdVpDLEFBdllELElBdVlDO1NBdllZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENsaWVudCwgRnJhbWVJbXBsLCBTdG9tcENvbmZpZywgU3RvbXBTdWJzY3JpcHRpb24gfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5jb25zdCBTb2NrSlMgPSByZXF1aXJlKCdzb2NranMtY2xpZW50Jyk7XHJcbmltcG9ydCB7IEFzeW5jTG9jayB9IGZyb20gJy4vYXN5bmMtbG9jayc7XHJcbmltcG9ydCB7IFVzZXJJbmZvcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuL3VzZXItaW5mb3JtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFByaW1pdGl2ZU1hbmFnZXIgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IE9uRXZlbnRPcHRpb25zLCBQcmltaXRpdmVFdmVudCB9IGZyb20gJy4vcHJvdG9jb2xzJztcclxuXHJcbmNvbnN0IFJFQ09OTkVDVF9JTlRFUlZBTF9NSUxMSVNFQ09ORFMgPSAzMDAwO1xyXG5jb25zdCBDT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTRUNPTkRTID0gNTAwMDtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0U2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzY29ubmVjdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlY29ubmVjdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yJCA9IG5ldyBTdWJqZWN0PEZyYW1lSW1wbD4oKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaWJlZCQgPSBuZXcgU3ViamVjdDxQcmltaXRpdmVNYW5hZ2VyPGFueT4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVNYW5hZ2VyczogTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcjxhbnk+PiA9IG5ldyBNYXA8c3RyaW5nLCBQcmltaXRpdmVNYW5hZ2VyPGFueT4+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3Rpb25Mb2NrID0gbmV3IEFzeW5jTG9jaygpO1xyXG5cclxuICAgIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudDtcclxuICAgIHByaXZhdGUgZGVidWdFbmFibGUgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgbG9zdENvbm5lY3Rpb24gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHVzZXJJbmZvcm1hdGlvblNlcnZpY2U6IFVzZXJJbmZvcm1hdGlvblNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZXMgc3RvbXBqcyBkZWJ1ZyBsb2dzIGFuZCBhZGRpdGlvbmFsIGluZm9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGVuYWJsZURlYnVnTG9ncygpIHtcclxuICAgICAgICB0aGlzLmRlYnVnRW5hYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1hbnVhbGx5IHN0YXJ0cyB0aGUgY29ubmVjdGlvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgY29ubmVjdCgpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Mb2NrLmFjcXVpcmUoKTtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQoKSB8fCB0aGlzLmlzQ29ubmVjdGluZygpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3RvbXBDb25maWc6IFN0b21wQ29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU29ja0pTKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvblVybCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0OiBDT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTRUNPTkRTXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHJlY29ubmVjdERlbGF5OiBSRUNPTk5FQ1RfSU5URVJWQUxfTUlMTElTRUNPTkRTLFxyXG4gICAgICAgICAgICAgICAgZGVidWc6IHRoaXMuZGVidWcuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9uQ29ubmVjdDogdGhpcy5oYW5kbGVPbkNvbm5lY3RlZC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgb25EaXNjb25uZWN0OiB0aGlzLmhhbmRsZU9uRGlzY29ubmVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgb25XZWJTb2NrZXRDbG9zZTogdGhpcy5oYW5kbGVPbldlYlNvY2tldENsb3NlLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvblN0b21wRXJyb3I6IHRoaXMuaGFuZGxlT25TdG9tcEVycm9yLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvbldlYlNvY2tldEVycm9yOiB0aGlzLmhhbmRsZU9uV2ViU29ja2V0RXJyb3IuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kZWJ1ZygnQ29ubmVjdGluZyB0aGUgV2Vic2Nva2V0Jyk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnN0b21wQ2xpZW50ID0gbmV3IENsaWVudChzdG9tcENvbmZpZyk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvbXBDbGllbnQuYWN0aXZhdGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Mb2NrLnJlbGVhc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYW51YWxseSBkaXNjb25uZWN0IHRoZSB3ZWJzb2NrZXQuIFRoZSByZWNvbm5lY3QgbG9vcCB3aWxsIGJlIHN0b3BwZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbkxvY2suYWNxdWlyZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJpbWl0aXZlTWFuYWdlciBvZiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWQkLm5leHQoZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RvbXBDbGllbnQpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RvbXBDbGllbnQuZGVhY3RpdmF0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uTG9jay5yZWxlYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgaWYgdGhlIHdlYnNvY2tldCBpcyBjb25uZWN0ZWRcclxuICAgICAqIEByZXR1cm4gYGJvb2xlYW5gIHJlcHJlc2VudGluZyBpZiB0aGUgd2Vic29ja2V0IGlzIGNvbm5lY3RlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0b21wQ2xpZW50LmNvbm5lY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSB3ZWJzb2NrZXQgaXMgdHJpbmcgdG8gY29ubmVjdFxyXG4gICAgICogQHJldHVybiBgYm9vbGVhbmAgcmVwcmVzZW50aW5nIGlmIHRoZSB3ZWJzb2NrZXQgc3RhdHVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0Nvbm5lY3RpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAhdGhpcy5zdG9tcENsaWVudC5jb25uZWN0ZWQgJiYgdGhpcy5zdG9tcENsaWVudC5hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuXHJcbiAgICAgKiBEbyBub3QgZm9yZ2V0IHRvIHVuc3Vic2NyaWJlIHRoZSBvYnNlcnZhYmxlIHdoZW4geW91IGRvbid0IG5lZWQgaXQgYW55bW9yZS5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8Ym9vbGVhbj5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNvbm5lY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkJC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIocCA9PiBwID09PSB0cnVlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPHZvaWQ+YFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25EaXNjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2Nvbm5lY3RlZCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgcmVlc3RhYmxpc2hlZC5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHJldHVybiBgT2JzZXJ2YWJsZTx2b2lkPmBcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uUmVjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlY29ubmVjdGVkJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHJlc3BvbnNhYmxlIHRvIGVtaXQgYW4gZXZlbnQgd2hlbiBhbiBlcnJvciBvY3VycmVkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPEZyYW1lSW1wbD5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkVycm9yKCk6IE9ic2VydmFibGU8RnJhbWVJbXBsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgcmVzcG9uc2libGUgdG8gZW1pdCBhbiBldmVudCB3aGVuIGEgcHJpbWl0aXZlIGlzIGNhbGxlZC5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHR5cGVQYXJhbSBgPFQ+YCBPYmplY3QgdHlwZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgb2JzZXJ2YWJsZSBmb3IgdGhlIGBkYXRhYCBwcm9wZXJ0eS5cclxuICAgICAqIEBwYXJhbSB7T25FdmVudE9wdGlvbnN9IG9wdGlvbnMgQ29uZmlndXJhdGlvbnMgZm9yIHRoZSBldmVudC5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8UHJpbWl0aXZlRXZlbnQ8VD4+YCBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc2VydmljZSBjYWxscyB0aGUgcHJpbWl0aXZlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25FdmVudDxUPihvcHRpb25zOiBPbkV2ZW50T3B0aW9ucyk6IE9ic2VydmFibGU8UHJpbWl0aXZlRXZlbnQ8VD4+IHtcclxuICAgICAgICBjb25zdCB7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZ2V0KGtleSkuZ2V0RXZlbnRPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwcmltaXRpdmVNYW5hZ2VyID0gbmV3IFByaW1pdGl2ZU1hbmFnZXI8VD4oZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUpO1xyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuc2V0KGtleSwgcHJpbWl0aXZlTWFuYWdlcik7XHJcblxyXG4gICAgICAgIHRoaXMuY29ubmVjdCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnMocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHByaW1pdGl2ZU1hbmFnZXJcclxuICAgICAgICAgICAgLmdldEV2ZW50T2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMudW5zdWJzY3JpYmVQcmltaXRpdmVPbkZpbmFsaXplKHByaW1pdGl2ZU1hbmFnZXIpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zaWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gYSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZCBmb3IgdGhlIHByaW1pdGl2ZS5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHBhcmFtIHtPbkV2ZW50T3B0aW9uc30gb3B0aW9ucyBDb25maWd1cmF0aW9ucyBmb3IgdGhlIGV2ZW50LlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBhcMOzcyBvIHN1YnNjcmliZSBkbyBldmVudG8gcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPGJvb2xlYW4+YCBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc2VydmljZSBjYWxscyB0aGUgcHJpbWl0aXZlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdWJzY3JpYmUob3B0aW9uczogT25FdmVudE9wdGlvbnMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCB7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25Db25uZWN0KCkucGlwZShcclxuICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldChrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTdWJzY3JpcHRpb25PYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlZCQuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHByaW1pdGl2ZU1hbmFnZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5kb21haW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApID09PSBrZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRlYnVnRW5hYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1dTIGRlYnVnOiAnICsgbWVzc2FnZSwgLi4ub3B0aW9uYWxQYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5mbyhtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zb2xlLmluZm8oJ1dTIGluZm86ICcgKyBtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uQ29ubmVjdGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5mbygnV2Vic2Nva2V0IGNvbm5lY3RlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dCh0cnVlKTtcclxuICAgICAgICBpZiAodGhpcy5sb3N0Q29ubmVjdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmluZm8oJ1dlYnNjb2tldCByZWNvbm5lY3RlZCwgcmVjcmlhdGluZyBzdWJzY3JpcHRpb25zJyk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVjb25uZWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25EaXNjb25uZWN0KCkge1xyXG4gICAgICAgIHRoaXMuaW5mbygnV2Vic2Nva2V0IGRpc2Nvbm5lY3RlZCcpO1xyXG5cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZCQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0ZWQkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uV2ViU29ja2V0Q2xvc2UoZGF0YTogQ2xvc2VFdmVudCkge1xyXG4gICAgICAgIGlmIChkYXRhPy5yZWFzb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImdvIGF3YXlcIikgIT09IC0xKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9zdENvbm5lY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdBdXRoZW50aWNhdGlvbkVycm9yJywgbmV3IEZyYW1lSW1wbChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBkYXRhLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkYXRhLnJlYXNvblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChkYXRhPy5yZWFzb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImNhbm5vdCBjb25uZWN0IHRvIHNlcnZlclwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ0Nvbm5lY3Rpb25FcnJvcicsIG5ldyBGcmFtZUltcGwoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogZGF0YS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGF0YS5yZWFzb25cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGF0YS53YXNDbGVhbikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvc3RDb25uZWN0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU9uU3RvbXBFcnJvcihkYXRhOiBGcmFtZUltcGwpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdTdG9tcEVycm9yJywgZGF0YSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzQXV0aGVudGljYXRpb25FcnJvcihkYXRhKSkge1xyXG4gICAgICAgICAgICB0aGlzLmluZm8oJ0F1dGhlbnRpY2F0aW9uIGVycm9yLCByZWNyaWF0aW5nIHN1YnNjcmlwdGlvbnMnKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZWNvbm5lY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc0F1dGhlbnRpY2F0aW9uRXJyb3IoZGF0YTogRnJhbWVJbXBsKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZGF0YT8uaGVhZGVycz8ubWVzc2FnZTtcclxuICAgICAgICBpZiAoIWVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZm9yYmlkZGVuZXhjZXB0aW9uJykgIT09IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25XZWJTb2NrZXRFcnJvcihkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdXZWJTb2NrZXRFcnJvcicsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3Iob3JpZ2luOiBzdHJpbmcsIGRhdGE6IEZyYW1lSW1wbCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3Iob3JpZ2luLCBkYXRhKTtcclxuICAgICAgICB0aGlzLmVycm9yJC5uZXh0KGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVjb25uZWN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMubG9zdENvbm5lY3Rpb24gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlY29ubmVjdFByaW1pdGl2ZXMoKTtcclxuICAgICAgICB0aGlzLnJlY29ubmVjdGVkJC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWNvbm5lY3RQcmltaXRpdmVzKCk6IHZvaWQge1xyXG4gICAgICAgIGZvciAoY29uc3QgcHJpbWl0aXZlTWFuYWdlciBvZiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zKHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGJ1aWxkU3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuKGRvbWFpbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHByaW1pdGl2ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBhdXRoVG9rZW4gPSB0aGlzLnVzZXJJbmZvcm1hdGlvblNlcnZpY2UuZ2V0QXV0aFRva2VuKCk7XHJcbiAgICAgICAgY29uc3QgdGVuYW50ID0gdGhpcy51c2VySW5mb3JtYXRpb25TZXJ2aWNlLmdldFRlbmFudERvbWFpbigpO1xyXG4gICAgICAgIHJldHVybiBgL3RvcGljLyR7dGVuYW50fS8ke2F1dGhUb2tlbn0vJHtkb21haW59LyR7c2VydmljZX0vJHtwcmltaXRpdmV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFN1YnNjcmlwdGlvblVybFdpdGhvdXRUb2tlbihkb21haW46IHN0cmluZywgc2VydmljZTogc3RyaW5nLCBwcmltaXRpdmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdGVuYW50ID0gdGhpcy51c2VySW5mb3JtYXRpb25TZXJ2aWNlLmdldFRlbmFudERvbWFpbigpO1xyXG4gICAgICAgIHJldHVybiBgL3RvcGljLyR7dGVuYW50fS8ke2RvbWFpbn0vJHtzZXJ2aWNlfS8ke3ByaW1pdGl2ZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHByaW1pdGl2ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyB1bnN1YnNjcmliZVByaW1pdGl2ZU9uRmluYWxpemUocHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlcjxhbnk+KSB7XHJcbiAgICAgICAgaWYgKHByaW1pdGl2ZU1hbmFnZXIuaGFzT2JzZXJ2ZXJzKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcHJpbWl0aXZlTWFuYWdlci51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkUHJpbWl0aXZlTWFuYWdlcktleShwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbiwgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLCBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZSk7XHJcbiAgICAgICAgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5kZWxldGUoa2V5KTtcclxuXHJcbiAgICAgICAgYXdhaXQgdGhpcy5kaXNjb25uZWN0SWZOb01vcmVPYnNlcnZhYmxlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgZGlzY29ubmVjdElmTm9Nb3JlT2JzZXJ2YWJsZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0T2JzZXJ2ZXJzQ291bnQoKSA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRlYnVnKCdNYW51YWxseSBkaXNjb25uZWN0aW5nIGJlY2F1c2UgdGhlcmUgYXJlIG5vIG1vcmUgb2JzZXJ2ZXJzJyk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE9ic2VydmVyc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICAgICAgbGV0IG9ic2VydmVyc0NvdW50ID0gMDtcclxuXHJcbiAgICAgICAgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5mb3JFYWNoKHByaW1pdGl2ZU1hbmFnZXIgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlcnNDb3VudCArPSBwcmltaXRpdmVNYW5hZ2VyLmdldE9ic2VydmVyc0NvdW50KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBvYnNlcnZlcnNDb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uPFQ+KGRlc3RpbmF0aW9uOiBzdHJpbmcsIHByaW1pdGl2ZU1hbmFnZXI6IFByaW1pdGl2ZU1hbmFnZXI8VD4pOiBTdG9tcFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvbXBDbGllbnQuc3Vic2NyaWJlKGRlc3RpbmF0aW9uLCAobWVzc2FnZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gSlNPTi5wYXJzZShtZXNzYWdlLmJvZHkgfHwgJ3t9Jyk7XHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZmlyZUV2ZW50KGV2ZW50KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uczxUPihwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyPFQ+KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuID0gdGhpcy5idWlsZFN1YnNjcmlwdGlvblVybFdpdGhUb2tlbihcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5kb21haW4sXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuc2VydmljZSxcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5wcmltaXRpdmVcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblVybFdpdGhvdXRUb2tlbiA9IHRoaXMuZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuKFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uV2l0aFRva2VuID0gdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25VcmxXaXRoVG9rZW4sIHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgIGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uV2l0aG91dFRva2VuID0gdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25VcmxXaXRob3V0VG9rZW4sIHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuc3Vic2NyaWJlKHN0b21wU3Vic2NyaXB0aW9uV2l0aFRva2VuLCBzdG9tcFN1YnNjcmlwdGlvbldpdGhvdXRUb2tlbik7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVkJC5uZXh0KHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uVXJsKCkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLnVzZXJJbmZvcm1hdGlvblNlcnZpY2UuZ2V0V2ViU29ja2V0VXJsKCl9L3N1YnNjcmlwdGlvbmA7XHJcbiAgICB9XHJcbn1cclxuIl19
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3dlYnNvY2tldC93ZWJzb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFDNUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzVDLElBQU0sK0JBQStCLEdBQUcsSUFBSSxDQUFDO0FBQzdDLElBQU0sK0JBQStCLEdBQUcsSUFBSSxDQUFDO0FBSzdDO0lBY0ksMEJBQTZCLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBYjFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXlCLENB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QUFDLDZCQUE2QixDQUMvRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQ3ZCLGdCQUFnQixDQUFDLE9BQU8sRUFDeEIsZ0JBQWdCLENBQUMsU0FBUyxDQUM3QixDQUFDO1FBQ0YsSUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQ25FLGdCQUFnQixDQUFDLE1BQU0sRUFDdkIsZ0JBQWdCLENBQUMsT0FBTyxFQUN4QixnQkFBZ0IsQ0FBQyxTQUFTLENBQzdCLENBQUM7UUFFRixJQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLElBQU0sNkJBQTZCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbEgsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sNkNBQWtCLEdBQTFCO1FBQ0ksT0FBVSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLGtCQUFlLENBQUM7SUFDM0UsQ0FBQzs7Z0JBdlhvRCxzQkFBc0I7OztJQWRsRSxnQkFBZ0I7UUFINUIsVUFBVSxDQUFDO1lBQ1IsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQztPQUNXLGdCQUFnQixDQXNZNUI7MkJBdFpEO0NBc1pDLEFBdFlELElBc1lDO1NBdFlZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENsaWVudCwgRnJhbWVJbXBsLCBTdG9tcENvbmZpZywgU3RvbXBTdWJzY3JpcHRpb24gfSBmcm9tICdAc3RvbXAvc3RvbXBqcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5jb25zdCBTb2NrSlMgPSByZXF1aXJlKCdzb2NranMtY2xpZW50Jyk7XHJcbmltcG9ydCB7IEFzeW5jTG9jayB9IGZyb20gJy4vYXN5bmMtbG9jayc7XHJcbmltcG9ydCB7IFVzZXJJbmZvcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuL3VzZXItaW5mb3JtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFByaW1pdGl2ZU1hbmFnZXIgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IE9uRXZlbnRPcHRpb25zLCBQcmltaXRpdmVFdmVudCB9IGZyb20gJy4vcHJvdG9jb2xzJztcclxuXHJcbmNvbnN0IFJFQ09OTkVDVF9JTlRFUlZBTF9NSUxMSVNFQ09ORFMgPSAzMDAwO1xyXG5jb25zdCBDT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTRUNPTkRTID0gNTAwMDtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0U2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzY29ubmVjdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlY29ubmVjdGVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9yJCA9IG5ldyBTdWJqZWN0PEZyYW1lSW1wbD4oKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaWJlZCQgPSBuZXcgU3ViamVjdDxQcmltaXRpdmVNYW5hZ2VyPGFueT4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVNYW5hZ2VyczogTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcjxhbnk+PiA9IG5ldyBNYXA8c3RyaW5nLCBQcmltaXRpdmVNYW5hZ2VyPGFueT4+KCk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3Rpb25Mb2NrID0gbmV3IEFzeW5jTG9jaygpO1xyXG5cclxuICAgIHByaXZhdGUgc3RvbXBDbGllbnQ6IENsaWVudDtcclxuICAgIHByaXZhdGUgZGVidWdFbmFibGUgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgbG9zdENvbm5lY3Rpb24gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHVzZXJJbmZvcm1hdGlvblNlcnZpY2U6IFVzZXJJbmZvcm1hdGlvblNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZXMgc3RvbXBqcyBkZWJ1ZyBsb2dzIGFuZCBhZGRpdGlvbmFsIGluZm9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGVuYWJsZURlYnVnTG9ncygpIHtcclxuICAgICAgICB0aGlzLmRlYnVnRW5hYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1hbnVhbGx5IHN0YXJ0cyB0aGUgY29ubmVjdGlvblxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgY29ubmVjdCgpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Mb2NrLmFjcXVpcmUoKTtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNDb25uZWN0ZWQoKSB8fCB0aGlzLmlzQ29ubmVjdGluZygpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3RvbXBDb25maWc6IFN0b21wQ29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgd2ViU29ja2V0RmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU29ja0pTKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1YnNjcmlwdGlvblVybCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0OiBDT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTRUNPTkRTXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHJlY29ubmVjdERlbGF5OiBSRUNPTk5FQ1RfSU5URVJWQUxfTUlMTElTRUNPTkRTLFxyXG4gICAgICAgICAgICAgICAgZGVidWc6IHRoaXMuZGVidWcuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9uQ29ubmVjdDogdGhpcy5oYW5kbGVPbkNvbm5lY3RlZC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgb25EaXNjb25uZWN0OiB0aGlzLmhhbmRsZU9uRGlzY29ubmVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgb25XZWJTb2NrZXRDbG9zZTogdGhpcy5oYW5kbGVPbldlYlNvY2tldENsb3NlLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvblN0b21wRXJyb3I6IHRoaXMuaGFuZGxlT25TdG9tcEVycm9yLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBvbldlYlNvY2tldEVycm9yOiB0aGlzLmhhbmRsZU9uV2ViU29ja2V0RXJyb3IuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kZWJ1ZygnQ29ubmVjdGluZyB0aGUgV2Vic2Nva2V0Jyk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnN0b21wQ2xpZW50ID0gbmV3IENsaWVudChzdG9tcENvbmZpZyk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvbXBDbGllbnQuYWN0aXZhdGUoKTtcclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbm5lY3Rpb25Mb2NrLnJlbGVhc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYW51YWxseSBkaXNjb25uZWN0IHRoZSB3ZWJzb2NrZXQuIFRoZSByZWNvbm5lY3QgbG9vcCB3aWxsIGJlIHN0b3BwZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdGlvbkxvY2suYWNxdWlyZSgpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJpbWl0aXZlTWFuYWdlciBvZiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWQkLm5leHQoZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RvbXBDbGllbnQpIHtcclxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RvbXBDbGllbnQuZGVhY3RpdmF0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0aW9uTG9jay5yZWxlYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgaWYgdGhlIHdlYnNvY2tldCBpcyBjb25uZWN0ZWRcclxuICAgICAqIEByZXR1cm4gYGJvb2xlYW5gIHJlcHJlc2VudGluZyBpZiB0aGUgd2Vic29ja2V0IGlzIGNvbm5lY3RlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0b21wQ2xpZW50LmNvbm5lY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSB3ZWJzb2NrZXQgaXMgdHJpbmcgdG8gY29ubmVjdFxyXG4gICAgICogQHJldHVybiBgYm9vbGVhbmAgcmVwcmVzZW50aW5nIGlmIHRoZSB3ZWJzb2NrZXQgc3RhdHVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc0Nvbm5lY3RpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAhdGhpcy5zdG9tcENsaWVudC5jb25uZWN0ZWQgJiYgdGhpcy5zdG9tcENsaWVudC5hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuXHJcbiAgICAgKiBEbyBub3QgZm9yZ2V0IHRvIHVuc3Vic2NyaWJlIHRoZSBvYnNlcnZhYmxlIHdoZW4geW91IGRvbid0IG5lZWQgaXQgYW55bW9yZS5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8Ym9vbGVhbj5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkNvbm5lY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkJC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIocCA9PiBwID09PSB0cnVlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPHZvaWQ+YFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25EaXNjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2Nvbm5lY3RlZCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zYWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgcmVlc3RhYmxpc2hlZC5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHJldHVybiBgT2JzZXJ2YWJsZTx2b2lkPmBcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uUmVjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlY29ubmVjdGVkJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IHJlc3BvbnNhYmxlIHRvIGVtaXQgYW4gZXZlbnQgd2hlbiBhbiBlcnJvciBvY3VycmVkLlxyXG4gICAgICogRG8gbm90IGZvcmdldCB0byB1bnN1YnNjcmliZSB0aGUgb2JzZXJ2YWJsZSB3aGVuIHlvdSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPEZyYW1lSW1wbD5gXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkVycm9yKCk6IE9ic2VydmFibGU8RnJhbWVJbXBsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3IkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnQgcmVzcG9uc2libGUgdG8gZW1pdCBhbiBldmVudCB3aGVuIGEgcHJpbWl0aXZlIGlzIGNhbGxlZC5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHR5cGVQYXJhbSBgPFQ+YCBPYmplY3QgdHlwZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgb2JzZXJ2YWJsZSBmb3IgdGhlIGBkYXRhYCBwcm9wZXJ0eS5cclxuICAgICAqIEBwYXJhbSB7T25FdmVudE9wdGlvbnN9IG9wdGlvbnMgQ29uZmlndXJhdGlvbnMgZm9yIHRoZSBldmVudC5cclxuICAgICAqIEByZXR1cm4gYE9ic2VydmFibGU8UHJpbWl0aXZlRXZlbnQ8VD4+YCBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc2VydmljZSBjYWxscyB0aGUgcHJpbWl0aXZlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25FdmVudDxUPihvcHRpb25zOiBPbkV2ZW50T3B0aW9ucyk6IE9ic2VydmFibGU8UHJpbWl0aXZlRXZlbnQ8VD4+IHtcclxuICAgICAgICBjb25zdCB7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZ2V0KGtleSkuZ2V0RXZlbnRPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwcmltaXRpdmVNYW5hZ2VyID0gbmV3IFByaW1pdGl2ZU1hbmFnZXI8VD4oZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUpO1xyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuc2V0KGtleSwgcHJpbWl0aXZlTWFuYWdlcik7XHJcblxyXG4gICAgICAgIHRoaXMuY29ubmVjdCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uQ29ubmVjdCgpXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnMocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHByaW1pdGl2ZU1hbmFnZXJcclxuICAgICAgICAgICAgLmdldEV2ZW50T2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMudW5zdWJzY3JpYmVQcmltaXRpdmVPbkZpbmFsaXplKHByaW1pdGl2ZU1hbmFnZXIpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCByZXNwb25zaWJsZSB0byBlbWl0IGFuIGV2ZW50IHdoZW4gYSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZCBmb3IgdGhlIHByaW1pdGl2ZS5cclxuICAgICAqIERvIG5vdCBmb3JnZXQgdG8gdW5zdWJzY3JpYmUgdGhlIG9ic2VydmFibGUgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlLlxyXG4gICAgICogQHBhcmFtIHtPbkV2ZW50T3B0aW9uc30gb3B0aW9ucyBDb25maWd1cmF0aW9ucyBmb3IgdGhlIGV2ZW50LlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBhcMOzcyBvIHN1YnNjcmliZSBkbyBldmVudG8gcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKiBAcmV0dXJuIGBPYnNlcnZhYmxlPGJvb2xlYW4+YCBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgc2VydmljZSBjYWxscyB0aGUgcHJpbWl0aXZlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdWJzY3JpYmUob3B0aW9uczogT25FdmVudE9wdGlvbnMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCB7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25Db25uZWN0KCkucGlwZShcclxuICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldChrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTdWJzY3JpcHRpb25PYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlZCQuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHByaW1pdGl2ZU1hbmFnZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5kb21haW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApID09PSBrZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRlYnVnRW5hYmxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbmZvKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnNvbGUuaW5mbygnV1MgaW5mbzogJyArIG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25Db25uZWN0ZWQoKSB7XHJcbiAgICAgICAgdGhpcy5pbmZvKCdXZWJzY29rZXQgY29ubmVjdGVkJyk7XHJcblxyXG4gICAgICAgIHRoaXMuY29ubmVjdGVkJC5uZXh0KHRydWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmxvc3RDb25uZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5mbygnV2Vic2Nva2V0IHJlY29ubmVjdGVkLCByZWNyaWF0aW5nIHN1YnNjcmlwdGlvbnMnKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZWNvbm5lY3Rpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVPbkRpc2Nvbm5lY3QoKSB7XHJcbiAgICAgICAgdGhpcy5pbmZvKCdXZWJzY29rZXQgZGlzY29ubmVjdGVkJyk7XHJcblxyXG4gICAgICAgIHRoaXMuY29ubmVjdGVkJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RlZCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25XZWJTb2NrZXRDbG9zZShkYXRhOiBDbG9zZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGRhdGE/LnJlYXNvbj8udG9Mb3dlckNhc2UoKS5pbmRleE9mKFwiZ28gYXdheVwiKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ0F1dGhlbnRpY2F0aW9uRXJyb3InLCBuZXcgRnJhbWVJbXBsKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IGRhdGEudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGRhdGEucmVhc29uXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGE/LnJlYXNvbj8udG9Mb3dlckNhc2UoKS5pbmRleE9mKFwiY2Fubm90IGNvbm5lY3QgdG8gc2VydmVyXCIpICE9PSAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLmxvc3RDb25uZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcignQ29ubmVjdGlvbkVycm9yJywgbmV3IEZyYW1lSW1wbChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBkYXRhLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkYXRhLnJlYXNvblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChkYXRhLndhc0NsZWFuKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubG9zdENvbm5lY3Rpb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlT25TdG9tcEVycm9yKGRhdGE6IEZyYW1lSW1wbCkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ1N0b21wRXJyb3InLCBkYXRhKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNBdXRoZW50aWNhdGlvbkVycm9yKGRhdGEpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5mbygnQXV0aGVudGljYXRpb24gZXJyb3IsIHJlY3JpYXRpbmcgc3Vic2NyaXB0aW9ucycpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlY29ubmVjdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQXV0aGVudGljYXRpb25FcnJvcihkYXRhOiBGcmFtZUltcGwpIHtcclxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBkYXRhPy5oZWFkZXJzPy5tZXNzYWdlO1xyXG4gICAgICAgIGlmICghZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdmb3JiaWRkZW5leGNlcHRpb24nKSAhPT0gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVPbldlYlNvY2tldEVycm9yKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ1dlYlNvY2tldEVycm9yJywgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihvcmlnaW46IHN0cmluZywgZGF0YTogRnJhbWVJbXBsKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihvcmlnaW4sIGRhdGEpO1xyXG4gICAgICAgIHRoaXMuZXJyb3IkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVSZWNvbm5lY3Rpb24oKSB7XHJcbiAgICAgICAgdGhpcy5sb3N0Q29ubmVjdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVjb25uZWN0UHJpbWl0aXZlcygpO1xyXG4gICAgICAgIHRoaXMucmVjb25uZWN0ZWQkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlY29ubmVjdFByaW1pdGl2ZXMoKTogdm9pZCB7XHJcbiAgICAgICAgZm9yIChjb25zdCBwcmltaXRpdmVNYW5hZ2VyIG9mIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMudmFsdWVzKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnMocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYnVpbGRTdWJzY3JpcHRpb25VcmxXaXRoVG9rZW4oZG9tYWluOiBzdHJpbmcsIHNlcnZpY2U6IHN0cmluZywgcHJpbWl0aXZlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IGF1dGhUb2tlbiA9IHRoaXMudXNlckluZm9ybWF0aW9uU2VydmljZS5nZXRBdXRoVG9rZW4oKTtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSB0aGlzLnVzZXJJbmZvcm1hdGlvblNlcnZpY2UuZ2V0VGVuYW50RG9tYWluKCk7XHJcbiAgICAgICAgcmV0dXJuIGAvdG9waWMvJHt0ZW5hbnR9LyR7YXV0aFRva2VufS8ke2RvbWFpbn0vJHtzZXJ2aWNlfS8ke3ByaW1pdGl2ZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuKGRvbWFpbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHByaW1pdGl2ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSB0aGlzLnVzZXJJbmZvcm1hdGlvblNlcnZpY2UuZ2V0VGVuYW50RG9tYWluKCk7XHJcbiAgICAgICAgcmV0dXJuIGAvdG9waWMvJHt0ZW5hbnR9LyR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBidWlsZFByaW1pdGl2ZU1hbmFnZXJLZXkoZG9tYWluOiBzdHJpbmcsIHNlcnZpY2U6IHN0cmluZywgcHJpbWl0aXZlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBgJHtkb21haW59LyR7c2VydmljZX0vJHtwcmltaXRpdmV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHVuc3Vic2NyaWJlUHJpbWl0aXZlT25GaW5hbGl6ZShwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyPGFueT4pIHtcclxuICAgICAgICBpZiAocHJpbWl0aXZlTWFuYWdlci5oYXNPYnNlcnZlcnMoKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRQcmltaXRpdmVNYW5hZ2VyS2V5KHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLCBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlKTtcclxuICAgICAgICB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmRlbGV0ZShrZXkpO1xyXG5cclxuICAgICAgICBhd2FpdCB0aGlzLmRpc2Nvbm5lY3RJZk5vTW9yZU9ic2VydmFibGVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBkaXNjb25uZWN0SWZOb01vcmVPYnNlcnZhYmxlcygpIHtcclxuICAgICAgICBpZiAodGhpcy5nZXRPYnNlcnZlcnNDb3VudCgpID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVidWcoJ01hbnVhbGx5IGRpc2Nvbm5lY3RpbmcgYmVjYXVzZSB0aGVyZSBhcmUgbm8gbW9yZSBvYnNlcnZlcnMnKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0T2JzZXJ2ZXJzQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgb2JzZXJ2ZXJzQ291bnQgPSAwO1xyXG5cclxuICAgICAgICB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmZvckVhY2gocHJpbWl0aXZlTWFuYWdlciA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmVyc0NvdW50ICs9IHByaW1pdGl2ZU1hbmFnZXIuZ2V0T2JzZXJ2ZXJzQ291bnQoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG9ic2VydmVyc0NvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlU3RvbXBTdWJzY3JpcHRpb248VD4oZGVzdGluYXRpb246IHN0cmluZywgcHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlcjxUPik6IFN0b21wU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdG9tcENsaWVudC5zdWJzY3JpYmUoZGVzdGluYXRpb24sIChtZXNzYWdlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBKU09OLnBhcnNlKG1lc3NhZ2UuYm9keSB8fCAne30nKTtcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5maXJlRXZlbnQoZXZlbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zPFQ+KHByaW1pdGl2ZU1hbmFnZXI6IFByaW1pdGl2ZU1hbmFnZXI8VD4pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25VcmxXaXRoVG9rZW4gPSB0aGlzLmJ1aWxkU3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuKFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuID0gdGhpcy5nZXRTdWJzY3JpcHRpb25VcmxXaXRob3V0VG9rZW4oXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3RvbXBTdWJzY3JpcHRpb25XaXRoVG9rZW4gPSB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvblVybFdpdGhUb2tlbiwgcHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgY29uc3Qgc3RvbXBTdWJzY3JpcHRpb25XaXRob3V0VG9rZW4gPSB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKHN1YnNjcmlwdGlvblVybFdpdGhvdXRUb2tlbiwgcHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zdWJzY3JpYmUoc3RvbXBTdWJzY3JpcHRpb25XaXRoVG9rZW4sIHN0b21wU3Vic2NyaXB0aW9uV2l0aG91dFRva2VuKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZWQkLm5leHQocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTdWJzY3JpcHRpb25VcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMudXNlckluZm9ybWF0aW9uU2VydmljZS5nZXRXZWJTb2NrZXRVcmwoKX0vc3Vic2NyaXB0aW9uYDtcclxuICAgIH1cclxufVxyXG4iXX0=