@gnwebsoft/ui 3.0.8 → 4.0.0

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 (44) hide show
  1. package/dist/chunk-3OPVOWQK.js +140 -0
  2. package/dist/chunk-AEOF2TUF.cjs +2273 -0
  3. package/dist/chunk-ALHC7RLK.js +575 -0
  4. package/dist/chunk-BRRLB22L.js +72 -0
  5. package/dist/chunk-CHZU4PZB.js +2273 -0
  6. package/dist/chunk-EBRUE2WR.cjs +1 -1
  7. package/dist/chunk-HEHPKM4B.cjs +140 -0
  8. package/dist/chunk-K2EJ4YKO.cjs +72 -0
  9. package/dist/chunk-MVPLBJRK.cjs +1 -1
  10. package/dist/chunk-XY4U6A77.cjs +575 -0
  11. package/dist/components/index.cjs +1 -1
  12. package/dist/{enhanced-z-I7EHVS.d.cts → enhanced-CDTkKUlj.d.ts} +5 -5
  13. package/dist/{enhanced-z-I7EHVS.d.ts → enhanced-ZQoS03Cd.d.cts} +5 -5
  14. package/dist/events-BcHVCLBz.d.cts +77 -0
  15. package/dist/events-BcHVCLBz.d.ts +77 -0
  16. package/dist/hooks/index.cjs +3 -3
  17. package/dist/hooks/index.d.cts +3 -2
  18. package/dist/hooks/index.d.ts +3 -2
  19. package/dist/hooks/index.js +1 -1
  20. package/dist/index.cjs +67 -6
  21. package/dist/index.d.cts +4 -3
  22. package/dist/index.d.ts +4 -3
  23. package/dist/index.js +65 -4
  24. package/dist/types/index.cjs +31 -2
  25. package/dist/types/index.d.cts +588 -1
  26. package/dist/types/index.d.ts +588 -1
  27. package/dist/types/index.js +30 -1
  28. package/dist/utils/index.cjs +37 -3
  29. package/dist/utils/index.d.cts +329 -13
  30. package/dist/utils/index.d.ts +329 -13
  31. package/dist/utils/index.js +35 -1
  32. package/dist/wrappers/index.cjs +4 -4
  33. package/dist/wrappers/index.d.cts +11 -9
  34. package/dist/wrappers/index.d.ts +11 -9
  35. package/dist/wrappers/index.js +2 -2
  36. package/package.json +2 -2
  37. package/dist/chunk-4H3AFH7A.js +0 -505
  38. package/dist/chunk-DE62KYFK.js +0 -122
  39. package/dist/chunk-DEPJRTVT.js +0 -1
  40. package/dist/chunk-FD57PCAC.cjs +0 -1
  41. package/dist/chunk-JCXHX2PZ.js +0 -2265
  42. package/dist/chunk-MW2UCDTI.cjs +0 -2265
  43. package/dist/chunk-R2YK4LTT.cjs +0 -122
  44. package/dist/chunk-ZC7FGYL2.cjs +0 -505
@@ -490,4 +490,4 @@ var CancelButton_default = CancelButton;
490
490
 
491
491
 
492
492
  exports.ClearButton_default = ClearButton_default; exports.FilterButton_default = FilterButton_default; exports.FilterWrapper_default = FilterWrapper_default; exports.FormWrapper_default = FormWrapper_default; exports.LabelText_default = LabelText_default; exports.ListWrapper_default = ListWrapper_default; exports.SimpleToolbar_default = SimpleToolbar_default; exports.SimpleButton_default = SimpleButton_default; exports.AuthorizedView_default = AuthorizedView_default; exports.CancelButton_default = CancelButton_default;
493
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstRUJSVUUyV1IuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EseUNBQXNDO0FBQ3RDLCtDQUF1QztBQUN2QyxJQUFJLFlBQVksRUFBRSxDQUFDO0FBQ25CLEVBQUUsWUFBWTtBQUNkLEVBQUUsV0FBVztBQUNiLEVBQUUsRUFBRTtBQUNKLEVBQUU7QUFDRixDQUFDLEVBQUUsR0FBRztBQUNOLEVBQUUsTUFBTSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUc7QUFDeEIsSUFBSSxXQUFXLENBQUMsQ0FBQztBQUNqQixJQUFJLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFO0FBQzFCLE1BQU0sWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDdkMsSUFBSTtBQUNKLEVBQUUsQ0FBQztBQUNILEVBQUUsdUJBQXVCLDZCQUFHO0FBQzVCLElBQUksZ0JBQU07QUFDVixJQUFJO0FBQ0osTUFBTSxPQUFPLEVBQUUsVUFBVTtBQUN6QixNQUFNLE9BQU87QUFDYixNQUFNLFFBQVEsRUFBRSxZQUFZO0FBQzVCLE1BQU0sRUFBRTtBQUNSLE1BQU0sUUFBUSxFQUFFO0FBQ2hCLElBQUk7QUFDSixFQUFFLENBQUM7QUFDSCxDQUFDO0FBQ0QsSUFBSSxvQkFBb0IsRUFBRSxXQUFXO0FBQ3JDO0FBQ0E7QUFDQSxnSEFBeUQ7QUFDekQsK0JBQXdDO0FBQ3hDO0FBQ0E7QUFDQSxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQ3BCLEVBQUUsWUFBWTtBQUNkLEVBQUUsSUFBSTtBQUNOLEVBQUUsS0FBSztBQUNQLEVBQUUsSUFBSTtBQUNOLEVBQUUsRUFBRTtBQUNKLEVBQUU7QUFDRixDQUFDLEVBQUUsR0FBRztBQUNOLEVBQUUsdUJBQXVCLDZCQUFJO0FBQzdCLElBQUksa0JBQWE7QUFDakIsSUFBSTtBQUNKLE1BQU0sSUFBSSxFQUFFLFFBQVE7QUFDcEIs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UUFBUTtBQUNaLElBQUksR0FBRztBQUNQLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHO0FBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJO0FBQzFCLElBQUksdUJBQXVCLDZCQUFJLG9CQUFVLEVBQUUsRUFBRSxRQUFRLGtCQUFrQiw2QkFBSTtBQUMzRSxNQUFNLGdCQUFPO0FBQ2IsTUFBTTtBQUNOLFFBQVEsR0FBRztBQUNYLFFBQVEsUUFBUSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUTtBQUMxQyxRQUFRLFNBQVMsRUFBRSxRQUFRLGtCQUFrQiw2QkFBSSwwQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTO0FBQ2xHLFFBQVEsR0FBRyxJQUFJO0FBQ2YsUUFBUSxRQUFRLEVBQUUsUUFBUSxHQUFHLFlBQVksRUFBRSxZQUFZLEVBQUU7QUFDekQsTUFBTTtBQUNOLElBQUksRUFBRSxDQUFDLENBQUM7QUFDUixFQUFFO0FBQ0YsQ0FBQyxDQUFDO0FBQ0YsWUFBWSxDQUFDLFlBQVksRUFBRSxjQUFjO0FBQ3pDLElBQUkscUJBQXFCLEVBQUUsWUFBWTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxJQUFJLGVBQWUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUc7QUFDN0MsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLDZCQUFJLG9CQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkQsRUFBRSx1QkFBdUIsNkJBQUksb0JBQVUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFDRCxJQUFJLHVCQUF1QixFQUFFLGNBQWM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQ3BCLEVBQUUsWUFBWTtBQUNkLEVBQUUsWUFBWTtBQUNkLEVBQUU7QUFDRixDQUFDLEVBQUUsR0FBRztBQUNOLEVBQUUsdUJBQXVCLDZCQUFLO0FBQzlCLElBQUksZ0JBQU87QUFDWCxJQUFJO0FBQ0osTUFBTSxPQUFPLEVBQUUsVUFBVTtBQUN6QixNQUFNLE9BQU8sRUFBRSxZQUFZO0FBQzNCLE1BQU0sUUFBUSxFQUFFLFlBQVk7QUFDNUIsTUFBTSxFQUFFO0FBQ1IsTUFBTSxRQUFRLEVBQUU7QUFDaEIsSUFBSTtBQUNKLEVBQUUsQ0FBQztBQUNILENBQUM7QUFDRCxJQUFJLHFCQUFxQixFQUFFLFlBQVk7QUFDdkM7QUFDQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0YsNmdCQUFDIiwiZmlsZSI6IkQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstRUJSVUUyV1IuY2pzIiwic291cmNlc0NvbnRlbnQiOltudWxsXX0=
493
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1FQlJVRTJXUi5janMiLCIuLi9zcmMvY29tcG9uZW50cy9DbGVhckJ1dHRvbi9DbGVhckJ1dHRvbi50c3giLCIuLi9zcmMvY29tcG9uZW50cy9GaWx0ZXJCdXR0b24vRmlsdGVyQnV0dG9uLnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL0ZpbHRlcldyYXBwZXIvRmlsdGVyV3JhcHBlci50c3giLCIuLi9zcmMvY29tcG9uZW50cy9Gb3JtV3JhcHBlci9Gb3JtV3JhcHBlci50c3giLCIuLi9zcmMvY29tcG9uZW50cy9MYWJlbFRleHQvTGFiZWxUZXh0LnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL0xpc3RXcmFwcGVyL0xpc3RXcmFwcGVyLnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL1NpbXBsZVRvb2xiYXIvU2ltcGxlVG9vbGJhci50c3giLCIuLi9zcmMvY29tcG9uZW50cy9TaW1wbGVCdXR0b24vU2ltcGxlQnV0dG9uLnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL0F1dGhvcml6ZWRWaWV3L0F1dGhvcml6ZWRWaWV3LnRzeCIsIi4uL3NyYy9jb21wb25lbnRzL0NhbmNlbEJ1dHRvbi9DYW5jZWxCdXR0b24udHN4Il0sIm5hbWVzIjpbImpzeCIsInVzZVRoZW1lIiwianN4cyIsIkNhcmQiLCJDYXJkSGVhZGVyIiwiQm94IiwiVHlwb2dyYXBoeSIsIkRpdmlkZXIiLCJDYXJkQ29udGVudCIsIkdyaWQiLCJGcmFnbWVudCIsIk1hbmFnZVNlYXJjaEljb24iLCJCdXR0b24iXSwibWFwcGluZ3MiOiJBQUFBO0FDQ0EseUNBQXVCO0FBNEVuQiwrQ0FBQTtBQWRKLElBQU0sWUFBQSxFQUFjLENBQUM7QUFBQSxFQUNuQixZQUFBO0FBQUEsRUFDQSxXQUFBO0FBQUEsRUFDQSxFQUFBO0FBQUEsRUFDQTtBQUNGLENBQUEsRUFBQSxHQUF3QjtBQUN0QixFQUFBLE1BQU0sUUFBQSxFQUFVLENBQUEsRUFBQSxHQUFNO0FBQ3BCLElBQUEsV0FBQSxDQUFZLENBQUE7QUFDWixJQUFBLEdBQUEsQ0FBSSxTQUFBLEdBQVksSUFBQSxFQUFNO0FBQ3BCLE1BQUEsWUFBQSxDQUFhLFVBQUEsQ0FBVyxRQUFRLENBQUE7QUFBQSxJQUNsQztBQUFBLEVBQ0YsQ0FBQTtBQUVBLEVBQUEsdUJBQ0UsNkJBQUE7QUFBQSxJQUFDLGdCQUFBO0FBQUEsSUFBQTtBQUFBLE1BQ0MsT0FBQSxFQUFRLFVBQUE7QUFBQSxNQUNSLE9BQUE7QUFBQSxNQUNBLFFBQUEsRUFBVSxZQUFBO0FBQUEsTUFDVixFQUFBO0FBQUEsTUFDRCxRQUFBLEVBQUE7QUFBQSxJQUFBO0FBQUEsRUFFRCxDQUFBO0FBRUosQ0FBQTtBQUVBLElBQU8sb0JBQUEsRUFBUSxXQUFBO0FEN0RmO0FBQ0E7QUU1QkEsZ0hBQTBCO0FBQzFCLCtCQUE4QjtBQUU5QjtBQTRHeUI7QUF2QnpCLElBQU0sYUFBQSxFQUFlLENBQUM7QUFBQSxFQUNwQixZQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFDQSxLQUFBO0FBQUEsRUFDQSxJQUFBO0FBQUEsRUFDQSxFQUFBO0FBQUEsRUFDQTtBQUNGLENBQUEsRUFBQSxHQUF5QjtBQUN2QixFQUFBLHVCQUNFQSw2QkFBQUE7QUFBQSxJQUFDLGtCQUFBO0FBQUEsSUFBQTtBQUFBLE1BQ0MsSUFBQSxFQUFLLFFBQUE7QUFBQSxNQUNMLE9BQUEsRUFBUSxXQUFBO0FBQUEsTUFDUixPQUFBLEVBQVMsWUFBQTtBQUFBLE1BQ1QsUUFBQSxFQUFVLENBQUMsSUFBQTtBQUFBLE1BQ1gsYUFBQSxFQUFhLElBQUE7QUFBQSxNQUNiLEtBQUEsRUFBTSxTQUFBO0FBQUEsTUFDTixFQUFBLEVBQUk7QUFBQSxRQUNGLE9BQUEsRUFBUyxNQUFBO0FBQUEsUUFDVCxVQUFBLEVBQVksUUFBQTtBQUFBLFFBQ1osR0FBRztBQUFBLE1BQ0wsQ0FBQTtBQUFBLE1BQ0EsU0FBQSxrQkFDRUEsNkJBQUFBLGVBQUMsRUFBQSxFQUFNLEtBQUEsRUFBTSxPQUFBLEVBQVEsT0FBQSxFQUFRLFVBQUEsRUFDMUIsUUFBQSxFQUFBLEtBQUEsRUFBTyxLQUFBLGtCQUFPQSw2QkFBQUEsbUJBQUMsRUFBQSxFQUFjLEtBQUEsRUFBTSxJQUFBLEVBQUssTUFBQSxFQUFPLElBQUEsRUFBSyxFQUFBLEVBQUksT0FBQSxDQUFRLEVBQUEsQ0FDbkUsQ0FBQTtBQUFBLE1BR0QsUUFBQSxrQkFBQSxLQUFBLDJCQUFPLElBQUEsbUJBQUssSUFBQSxJQUFNLEdBQUEsR0FBTSxDQUFDLE1BQUEsRUFBUSxTQUFBLEVBQVc7QUFBQSxJQUFBO0FBQUEsRUFDL0MsQ0FBQTtBQUVKLENBQUE7QUFFQSxJQUFPLHFCQUFBLEVBQVEsWUFBQTtBRjNEZjtBQUNBO0FHOURBLDRIQUE2QjtBQUk3QjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQXdJWTtBQXJDZCxJQUFNLGNBQUEsRUFBZ0IsQ0FBQztBQUFBLEVBQ3JCLFFBQUE7QUFBQSxFQUNBLEtBQUE7QUFBQSxFQUNBLFdBQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBLElBQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBO0FBQ0YsQ0FBQSxFQUFBLEdBQTBCO0FBQ3hCLEVBQUEsTUFBTSxNQUFBLEVBQVFDLGdDQUFBQSxDQUFTO0FBRXZCLEVBQUEsdUJBQ0UsOEJBQUE7QUFBQSxJQUFDLGNBQUE7QUFBQSxJQUFBO0FBQUEsTUFDQyxFQUFBLEVBQUk7QUFBQSxRQUNGLFFBQUEsRUFBVSxVQUFBO0FBQUEsUUFDVixZQUFBLEVBQWMsS0FBQTtBQUFBLFFBQ2QsRUFBQSxFQUFJLENBQUE7QUFBQSxRQUNKLEdBQUc7QUFBQSxNQUNMLENBQUE7QUFBQSxNQUVBLFFBQUEsRUFBQTtBQUFBLHdCQUFBRCw2QkFBQUE7QUFBQSxVQUFDLG9CQUFBO0FBQUEsVUFBQTtBQUFBLFlBQ0MsRUFBQSxFQUFJO0FBQUEsY0FDRixPQUFBLEVBQVMsTUFBQTtBQUFBLGNBQ1QsUUFBQSxFQUFVLE1BQUE7QUFBQSxjQUNWLENBQUEsRUFBRyxNQUFBO0FBQUEsY0FDSCx1QkFBQSxFQUF5QjtBQUFBLGdCQUN2QixNQUFBLEVBQVEsQ0FBQTtBQUFBLGdCQUNSLFNBQUEsRUFBVztBQUFBLGNBQ2IsQ0FBQTtBQUFBLGNBQ0EsVUFBQSxFQUFZO0FBQUEsWUFDZCxDQUFBO0FBQUEsWUFDQSxLQUFBLGtCQUNFLDhCQUFBLGFBQUMsRUFBQSxFQUFJLEVBQUEsRUFBSSxFQUFFLE9BQUEsRUFBUyxNQUFBLEVBQVEsVUFBQSxFQUFZLFFBQUEsRUFBVSxHQUFBLEVBQUssSUFBSSxDQUFBLEVBQ3hELFFBQUEsRUFBQTtBQUFBLGNBQUEsS0FBQSxFQUNDLEtBQUEsa0JBRUFBLDZCQUFBQTtBQUFBLGdCQUFDLHNCQUFBO0FBQUEsZ0JBQUE7QUFBQSxrQkFDQyxFQUFBLEVBQUk7QUFBQSxvQkFDRixNQUFBLEVBQVEsUUFBQTtBQUFBLG9CQUNSLEtBQUEsRUFBTyxLQUFBLENBQU0sT0FBQSxDQUFRLE9BQUEsQ0FBUSxJQUFBO0FBQUEsb0JBQzdCLEdBQUc7QUFBQSxrQkFDTDtBQUFBLGdCQUFBO0FBQUEsY0FDRixDQUFBO0FBQUEsOEJBRUYsOEJBQUE7QUFBQSxnQkFBQyxvQkFBQTtBQUFBLGdCQUFBO0FBQUEsa0JBQ0MsT0FBQSxFQUFRLElBQUE7QUFBQSxrQkFDUixFQUFBLEVBQUk7QUFBQSxvQkFDRixVQUFBLEVBQVksTUFBQTtBQUFBLG9CQUNaLEtBQUEsRUFBTyxLQUFBLENBQU0sT0FBQSxDQUFRLE9BQUEsQ0FBUSxJQUFBO0FBQUEsb0JBQzdCLEdBQUc7QUFBQSxrQkFDTCxDQUFBO0FBQUEsa0JBRUMsUUFBQSxFQUFBO0FBQUEsb0JBQUEsTUFBQSxFQUFRLE1BQUEsRUFBUSxRQUFBO0FBQUEsb0JBQVUsR0FBQTtBQUFBLG9CQUMxQixVQUFBLEVBQVksQ0FBQSxDQUFBLEVBQUksWUFBQSxFQUFjLFlBQUEsRUFBYyxDQUFDLENBQUEsQ0FBQSxFQUFBLGtCQUFNQSw2QkFBQUEsb0JBQUEsRUFBQSxDQUFBLENBQUU7QUFBQSxrQkFBQTtBQUFBLGdCQUFBO0FBQUEsY0FDeEQ7QUFBQSxZQUFBLEVBQUEsQ0FDRjtBQUFBLFVBQUE7QUFBQSxRQUVILENBQUE7QUFBQSx3QkFDREEsNkJBQUFBLGlCQUFDLEVBQUEsQ0FBQSxDQUFRLENBQUE7QUFBQSx3QkFDVEEsNkJBQUFBLHFCQUFDLEVBQUEsRUFBWSxFQUFBLEVBQUksRUFBRSxFQUFBLEVBQUksRUFBRSxDQUFBLEVBQ3ZCLFFBQUEsa0JBQUFBLDZCQUFBQSxjQUFDLEVBQUEsRUFBSyxTQUFBLEVBQVMsSUFBQSxFQUFDLE9BQUEsRUFBUyxDQUFBLEVBQ3RCLFNBQUEsQ0FDSCxFQUFBLENBQ0Y7QUFBQSxNQUFBO0FBQUEsSUFBQTtBQUFBLEVBQ0YsQ0FBQTtBQUVKLENBQUE7QUFFQSxJQUFPLHNCQUFBLEVBQVEsYUFBQTtBSGxDZjtBQUNBO0FJaEpBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQXNIVTtBQW5DWixJQUFNLFlBQUEsRUFBYyxDQUFDO0FBQUEsRUFDbkIsUUFBQTtBQUFBLEVBQ0EsS0FBQTtBQUFBLEVBQ0EsUUFBQTtBQUFBLEVBQ0EsTUFBQTtBQUFBLEVBQ0EsTUFBQTtBQUFBLEVBQ0EsSUFBQTtBQUFBLEVBQ0E7QUFDRixDQUFBLEVBQUEsR0FBbUI7QUFDakIsRUFBQSx1QkFDRUUsOEJBQUFBO0FBQUEsSUFBQ0MsY0FBQUE7QUFBQSxJQUFBO0FBQUEsTUFDQyxFQUFBLEVBQUk7QUFBQSxRQUNGLFFBQUEsRUFBVSxVQUFBO0FBQUEsUUFDVixZQUFBLEVBQWMsS0FBQTtBQUFBLFFBQ2QsR0FBRztBQUFBLE1BQ0wsQ0FBQTtBQUFBLE1BRUEsUUFBQSxFQUFBO0FBQUEsd0JBQUFILDZCQUFBQTtBQUFBLFVBQUNJLG9CQUFBQTtBQUFBLFVBQUE7QUFBQSxZQUNDLEVBQUEsRUFBSTtBQUFBLGNBQ0YsT0FBQSxFQUFTLE1BQUE7QUFBQSxjQUNULFFBQUEsRUFBVSxNQUFBO0FBQUEsY0FDVixDQUFBLEVBQUcsTUFBQTtBQUFBLGNBQ0gsdUJBQUEsRUFBeUI7QUFBQSxnQkFDdkIsTUFBQSxFQUFRLENBQUE7QUFBQSxnQkFDUixTQUFBLEVBQVc7QUFBQSxjQUNiO0FBQUEsWUFDRixDQUFBO0FBQUEsWUFDQSxLQUFBLGtCQUNFRiw4QkFBQUE7QUFBQSxjQUFDRyxhQUFBQTtBQUFBLGNBQUE7QUFBQSxnQkFDQyxFQUFBLEVBQUk7QUFBQSxrQkFDRixPQUFBLEVBQVMsTUFBQTtBQUFBLGtCQUNULFVBQUEsRUFBWSxRQUFBO0FBQUEsa0JBQ1osY0FBQSxFQUFnQjtBQUFBLGdCQUNsQixDQUFBO0FBQUEsZ0JBRUEsUUFBQSxFQUFBO0FBQUEsa0NBQUFILDhCQUFBQSxhQUFDRyxFQUFBLEVBQUksRUFBQSxFQUFJLEVBQUUsT0FBQSxFQUFTLE1BQUEsRUFBUSxVQUFBLEVBQVksUUFBQSxFQUFVLEdBQUEsRUFBSyxJQUFJLENBQUEsRUFDeEQsUUFBQSxFQUFBO0FBQUEscUNBQUEsSUFBQSxVQUFRLE1BQUE7QUFBQSxvQ0FDVEwsNkJBQUFBLG9CQUFDTSxFQUFBLEVBQVcsS0FBQSxFQUFNLFNBQUEsRUFBVSxFQUFBLEVBQUksTUFBQSxFQUM3QixRQUFBLEVBQUEsTUFBQSxDQUNIO0FBQUEsa0JBQUEsRUFBQSxDQUNGLENBQUE7QUFBQSxrQkFDQztBQUFBLGdCQUFBO0FBQUEsY0FBQTtBQUFBLFlBQ0g7QUFBQSxVQUFBO0FBQUEsUUFFSCxDQUFBO0FBQUEsd0JBQ0ROLDZCQUFBQSxpQkFBQ08sRUFBQSxFQUFRLEVBQUEsRUFBSSxFQUFFLEVBQUEsRUFBSSxFQUFFLEVBQUEsQ0FBRyxDQUFBO0FBQUEsd0JBQ3hCUCw2QkFBQUEscUJBQUNRLEVBQUEsRUFDQyxRQUFBLGtCQUFBUiw2QkFBQUEsY0FBQ1MsRUFBQSxFQUFLLFNBQUEsRUFBUyxJQUFBLEVBQUMsT0FBQSxFQUFTLENBQUEsRUFDdEIsU0FBQSxDQUNILEVBQUEsQ0FDRjtBQUFBLE1BQUE7QUFBQSxJQUFBO0FBQUEsRUFDRixDQUFBO0FBRUosQ0FBQTtBQUVBLElBQU8sb0JBQUEsRUFBUSxXQUFBO0FKa0VmO0FBQ0E7QUt0TkE7QUFtSE07QUF6Qk4sSUFBTSxVQUFBLEVBQVksQ0FBQztBQUFBLEVBQ2pCLEtBQUE7QUFBQSxFQUNBLEtBQUE7QUFBQSxFQUNBLFFBQUE7QUFBQSxFQUNBLGFBQUE7QUFBQSxFQUNBLE9BQUE7QUFBQSxFQUNBO0FBQ0YsQ0FBQSxFQUFBLEdBQXNCO0FBQ3BCLEVBQUEsTUFBTSxnQkFBQSxFQUFrQjtBQUFBLElBQ3RCLFNBQUEsRUFBVyxFQUFFLEVBQUEsRUFBSSxDQUFBLEVBQUcsRUFBQSxFQUFJLENBQUEsRUFBRyxFQUFBLEVBQUksRUFBRSxDQUFBO0FBQUEsSUFDakMsU0FBQSxFQUFXLEVBQUUsRUFBQSxFQUFJLEVBQUEsRUFBSSxFQUFBLEVBQUksQ0FBQSxFQUFHLEVBQUEsRUFBSSxFQUFFO0FBQUEsRUFDcEMsQ0FBQTtBQUNBLEVBQUEsTUFBTSxxQkFBQSxFQUF1QixFQUFFLEVBQUEsRUFBSSxFQUFBLEVBQUksRUFBQSxFQUFJLENBQUEsRUFBRyxFQUFBLEVBQUksRUFBRSxDQUFBO0FBQ3BELEVBQUEsTUFBTSxLQUFBLEVBQU8sU0FBQSxHQUFZLGVBQUE7QUFDekIsRUFBQSxNQUFNLFVBQUEsRUFBWSxjQUFBLEdBQWlCLG9CQUFBO0FBRW5DLEVBQUEsdUJBQ0VQLDhCQUFBQTtBQUFBLElBQUNPLGNBQUFBO0FBQUEsSUFBQTtBQUFBLE1BQ0MsSUFBQSxFQUFNLFNBQUE7QUFBQSxNQUNOLEVBQUEsRUFBSTtBQUFBLFFBQ0YsT0FBQSxFQUFTLE1BQUE7QUFBQSxRQUNULGFBQUEsRUFBZSxFQUFFLEVBQUEsRUFBSSxRQUFBLEVBQVUsRUFBQSxFQUFJLEtBQUEsRUFBTyxFQUFBLEVBQUksTUFBTSxDQUFBO0FBQUEsUUFDcEQsU0FBQSxFQUFXLEVBQUUsT0FBQSxFQUFTLFNBQUEsRUFBVyxRQUFBLEVBQVUsU0FBUztBQUFBLE1BQ3RELENBQUE7QUFBQSxNQUVBLFFBQUEsRUFBQTtBQUFBLHdCQUFBUCw4QkFBQUE7QUFBQSxVQUFDTyxjQUFBQTtBQUFBLFVBQUE7QUFBQSxZQUNDLElBQUEsRUFBTSxJQUFBLENBQUssU0FBQTtBQUFBLFlBQ1gsRUFBQSxFQUFJO0FBQUEsY0FDRixPQUFBLEVBQVMsS0FBQTtBQUFBLGNBQ1QsUUFBQSxFQUFVLE1BQUE7QUFBQSxjQUNWLFNBQUEsRUFBVyxFQUFFLEVBQUEsRUFBSSxNQUFBLEVBQVEsRUFBQSxFQUFJLE9BQUEsRUFBUyxFQUFBLEVBQUksUUFBUSxDQUFBO0FBQUEsY0FDbEQsR0FBRztBQUFBLFlBQ0wsQ0FBQTtBQUFBLFlBRUMsUUFBQSxFQUFBO0FBQUEsY0FBQSxLQUFBO0FBQUEsY0FBTTtBQUFBLFlBQUE7QUFBQSxVQUFBO0FBQUEsUUFDVCxDQUFBO0FBQUEsd0JBQ0FULDZCQUFBQTtBQUFBLFVBQUNTLGNBQUFBO0FBQUEsVUFBQTtBQUFBLFlBQ0MsSUFBQSxFQUFNLElBQUEsQ0FBSyxTQUFBO0FBQUEsWUFDWCxFQUFBLEVBQUksRUFBRSxPQUFBLEVBQVMsS0FBQSxFQUFPLE9BQUEsRUFBUyxNQUFBLEVBQVEsUUFBQSxFQUFVLE9BQU8sQ0FBQTtBQUFBLFlBRXhELFFBQUEsa0JBQUFULDZCQUFBQSxpQkFBQyxFQUFBLEVBQVEsS0FBQSxFQUFPLEtBQUEsRUFBTyxLQUFBLEVBQUssSUFBQSxFQUMxQixRQUFBLGtCQUFBQSw2QkFBQUE7QUFBQSxjQUFDTSxvQkFBQUE7QUFBQSxjQUFBO0FBQUEsZ0JBQ0MsRUFBQSxFQUFJO0FBQUEsa0JBQ0YsUUFBQSxFQUFVLE1BQUE7QUFBQSxrQkFDVixTQUFBLEVBQVcsWUFBQTtBQUFBLGtCQUNYLFFBQUEsRUFBVSxRQUFBO0FBQUEsa0JBQ1YsT0FBQSxFQUFTLGFBQUE7QUFBQSxrQkFDVCxZQUFBLEVBQWMsVUFBQTtBQUFBLGtCQUNkLGVBQUEsRUFBaUIsQ0FBQTtBQUFBLGtCQUNqQixlQUFBLEVBQWlCLFVBQUE7QUFBQSxrQkFDakIsR0FBRyxPQUFBO0FBQUEsa0JBQ0gsS0FBQSxFQUFPO0FBQUEsZ0JBQ1QsQ0FBQTtBQUFBLGdCQUVDLFFBQUEsRUFBQSxNQUFBLEVBQVEsTUFBQSxFQUFRO0FBQUEsY0FBQTtBQUFBLFlBQ25CLEVBQUEsQ0FDRjtBQUFBLFVBQUE7QUFBQSxRQUNGO0FBQUEsTUFBQTtBQUFBLElBQUE7QUFBQSxFQUNGLENBQUE7QUFFSixDQUFBO0FBRUEsSUFBTyxrQkFBQSxFQUFRLFNBQUE7QUx1SWY7QUFDQTtBTWpTQTtBQUlBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBOEhrQjtBQWRwQixJQUFNLFlBQUEsRUFBYyxDQUFDO0FBQUEsRUFDbkIsUUFBQTtBQUFBLEVBQ0EsS0FBQTtBQUFBLEVBQ0EsS0FBQTtBQUFBLEVBQ0EsS0FBQSxFQUFPLElBQUE7QUFBQSxFQUNQLFlBQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBLElBQUE7QUFBQSxFQUNBLE1BQUE7QUFBQSxFQUNBLFVBQUEsRUFBWTtBQUNkLENBQUEsRUFBQSxHQUF3QjtBQUN0QixFQUFBLE1BQU0sTUFBQSxFQUFRTCxnQ0FBQUEsQ0FBUztBQUV2QixFQUFBLEdBQUEsQ0FBSSxDQUFDLElBQUEsRUFBTSx1QkFBT0QsNkJBQUFBLG9CQUFBVSxFQUFBLENBQUEsQ0FBRSxDQUFBO0FBRXBCLEVBQUEsdUJBQ0VSLDhCQUFBQTtBQUFBLElBQUNDLGNBQUFBO0FBQUEsSUFBQTtBQUFBLE1BQ0MsRUFBQSxFQUFJO0FBQUEsUUFDRixRQUFBLEVBQVUsVUFBQTtBQUFBLFFBQ1YsWUFBQSxFQUFjLEtBQUE7QUFBQSxRQUNkLEdBQUc7QUFBQSxNQUNMLENBQUE7QUFBQSxNQUVBLFFBQUEsRUFBQTtBQUFBLHdCQUFBSCw2QkFBQUE7QUFBQSxVQUFDSSxvQkFBQUE7QUFBQSxVQUFBO0FBQUEsWUFDQyxFQUFBLEVBQUk7QUFBQSxjQUNGLE9BQUEsRUFBUyxNQUFBO0FBQUEsY0FDVCxRQUFBLEVBQVUsTUFBQTtBQUFBLGNBQ1YsQ0FBQSxFQUFHLE1BQUE7QUFBQSxjQUNILHVCQUFBLEVBQXlCO0FBQUEsZ0JBQ3ZCLE1BQUEsRUFBUSxDQUFBO0FBQUEsZ0JBQ1IsU0FBQSxFQUFXO0FBQUEsY0FDYixDQUFBO0FBQUEsY0FDQSxVQUFBLEVBQVk7QUFBQSxZQUNkLENBQUE7QUFBQSxZQUNBLEtBQUEsa0JBQ0VGLDhCQUFBQTtBQUFBLGNBQUNHLGFBQUFBO0FBQUEsY0FBQTtBQUFBLGdCQUNDLEVBQUEsRUFBSTtBQUFBLGtCQUNGLE9BQUEsRUFBUyxNQUFBO0FBQUEsa0JBQ1QsVUFBQSxFQUFZLFFBQUE7QUFBQSxrQkFDWixjQUFBLEVBQWdCO0FBQUEsZ0JBQ2xCLENBQUE7QUFBQSxnQkFFQSxRQUFBLEVBQUE7QUFBQSxrQ0FBQUgsOEJBQUFBLGFBQUNHLEVBQUEsRUFBSSxFQUFBLEVBQUksRUFBRSxPQUFBLEVBQVMsTUFBQSxFQUFRLFVBQUEsRUFBWSxRQUFBLEVBQVUsR0FBQSxFQUFLLElBQUksQ0FBQSxFQUN4RCxRQUFBLEVBQUE7QUFBQSxvQkFBQSxLQUFBLEVBQ0MsS0FBQSxrQkFFQUwsNkJBQUFBO0FBQUEsc0JBQUNXLHNCQUFBQTtBQUFBLHNCQUFBO0FBQUEsd0JBQ0MsRUFBQSxFQUFJO0FBQUEsMEJBQ0YsTUFBQSxFQUFRLFFBQUE7QUFBQSwwQkFDUixLQUFBLEVBQU8sS0FBQSxDQUFNLE9BQUEsQ0FBUSxPQUFBLENBQVEsSUFBQTtBQUFBLDBCQUM3QixHQUFHO0FBQUEsd0JBQ0w7QUFBQSxzQkFBQTtBQUFBLG9CQUNGLENBQUE7QUFBQSxvQ0FFRlQsOEJBQUFBO0FBQUEsc0JBQUNJLG9CQUFBQTtBQUFBLHNCQUFBO0FBQUEsd0JBQ0MsT0FBQSxFQUFRLElBQUE7QUFBQSx3QkFDUixFQUFBLEVBQUk7QUFBQSwwQkFDRixVQUFBLEVBQVksTUFBQTtBQUFBLDBCQUNaLEtBQUEsRUFBTyxLQUFBLENBQU0sT0FBQSxDQUFRLE9BQUEsQ0FBUSxJQUFBO0FBQUEsMEJBQzdCLEdBQUc7QUFBQSx3QkFDTCxDQUFBO0FBQUEsd0JBRUMsUUFBQSxFQUFBO0FBQUEsMEJBQUEsTUFBQSxFQUFRLE1BQUEsRUFBUSxNQUFBO0FBQUEsMEJBQ2hCLFVBQUEsRUFBWSxDQUFBLENBQUEsRUFBSSxNQUFBLEVBQVEsTUFBQSxFQUFRLENBQUMsQ0FBQSxDQUFBLEVBQUEsa0JBQU1OLDZCQUFBQSxvQkFBQVUsRUFBQSxDQUFBLENBQUU7QUFBQSx3QkFBQTtBQUFBLHNCQUFBO0FBQUEsb0JBQzVDO0FBQUEsa0JBQUEsRUFBQSxDQUNGLENBQUE7QUFBQSxrQkFDQztBQUFBLGdCQUFBO0FBQUEsY0FBQTtBQUFBLFlBQ0g7QUFBQSxVQUFBO0FBQUEsUUFFSCxDQUFBO0FBQUEsd0JBQ0RWLDZCQUFBQSxpQkFBQ08sRUFBQSxDQUFBLENBQVEsQ0FBQTtBQUFBLHdCQUNUUCw2QkFBQUEscUJBQUNRLEVBQUEsRUFBWSxFQUFBLEVBQUksRUFBRSxFQUFBLEVBQUksRUFBRSxDQUFBLEVBQ3ZCLFFBQUEsa0JBQUFSLDZCQUFBQSxjQUFDUyxFQUFBLEVBQUssU0FBQSxFQUFTLElBQUEsRUFBQyxPQUFBLEVBQVMsQ0FBQSxFQUN0QixTQUFBLENBQ0gsRUFBQSxDQUNGO0FBQUEsTUFBQTtBQUFBLElBQUE7QUFBQSxFQUNGLENBQUE7QUFFSixDQUFBO0FBRUEsSUFBTyxvQkFBQSxFQUFRLFdBQUE7QU5zTGY7QUFDQTtBT3BZQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLDZDQUNLO0FBOENMO0FBREYsSUFBTSxjQUFBLEVBQWdCLENBQUEsRUFBQSxtQkFDcEJQLDhCQUFBQSwrQkFBQyxFQUFBLEVBQ0MsUUFBQSxFQUFBO0FBQUEsa0JBQUFGLDZCQUFBQTtBQUFBLElBQUNLLGFBQUFBO0FBQUEsSUFBQTtBQUFBLE1BQ0MsRUFBQSxFQUFJO0FBQUEsUUFDRixzQkFBQSxFQUF3QjtBQUFBLFVBQ3RCLFlBQUEsRUFBYyxLQUFBO0FBQUEsVUFDZCxPQUFBLEVBQVM7QUFBQSxRQUNYLENBQUE7QUFBQSxRQUNBLFNBQUEsRUFBVztBQUFBLFVBQ1QsUUFBQSxFQUFVLE1BQUE7QUFBQSxVQUNWLEtBQUEsRUFBTztBQUFBLFFBQ1QsQ0FBQTtBQUFBLFFBQ0EsWUFBQSxFQUFjO0FBQUEsTUFDaEIsQ0FBQTtBQUFBLE1BRUEsUUFBQSxrQkFBQUwsNkJBQUFBLGlDQUFDLEVBQUEsQ0FBQSxDQUF1QjtBQUFBLElBQUE7QUFBQSxFQUMxQixDQUFBO0FBQUEsa0JBQ0FBLDZCQUFBQSxhQUFDSyxFQUFBLEVBQUksRUFBQSxFQUFJLEVBQUUsUUFBQSxFQUFVLEVBQUUsRUFBQSxDQUFHLENBQUE7QUFBQSxrQkFDMUJMLDZCQUFBQSxtQ0FBQyxFQUFBLENBQUEsQ0FBeUIsQ0FBQTtBQUFBLGtCQUMxQkEsNkJBQUFBLGtDQUFDLEVBQUEsQ0FBQSxDQUF3QixDQUFBO0FBQUEsa0JBQ3pCQSw2QkFBQUEsNEJBQUMsRUFBQSxDQUFBLENBQWtCO0FBQUEsRUFBQSxDQUNyQixDQUFBO0FBR0YsSUFBTyxzQkFBQSxFQUFRLGFBQUE7QVAwVmY7QUFDQTtBUXRhQTtBQUNBLDhCQUF3QztBQXVGbEM7QUFYTixJQUFNLGFBQUEsRUFBZSx5QkFBQSwrQkFBSztBQUFBLEVBQ3hCLENBQUM7QUFBQSxJQUNDLEtBQUEsRUFBTyxJQUFBO0FBQUEsSUFDUCxRQUFBLEVBQVUsS0FBQTtBQUFBLElBQ1YsV0FBQTtBQUFBLElBQ0EsUUFBQTtBQUFBLElBQ0EsR0FBRztBQUFBLEVBQ0wsQ0FBQSxFQUFHLEdBQUEsRUFBQSxHQUFRO0FBQ1QsSUFBQSxHQUFBLENBQUksQ0FBQyxJQUFBLEVBQU0sT0FBTyxJQUFBO0FBRWxCLElBQUEsdUJBQ0VBLDZCQUFBQSxvQkFBQVUsRUFBQSxFQUNFLFFBQUEsa0JBQUFWLDZCQUFBQTtBQUFBLE1BQUNZLGdCQUFBQTtBQUFBLE1BQUE7QUFBQSxRQUNDLEdBQUE7QUFBQSxRQUNBLFFBQUEsRUFBVSxRQUFBLEdBQVcsSUFBQSxDQUFLLFFBQUE7QUFBQSxRQUMxQixTQUFBLEVBQVcsUUFBQSxrQkFBVVosNkJBQUFBLDBCQUFDLEVBQUEsRUFBaUIsSUFBQSxFQUFNLEdBQUEsQ0FBSSxFQUFBLEVBQUssSUFBQSxDQUFLLFNBQUE7QUFBQSxRQUMxRCxHQUFHLElBQUE7QUFBQSxRQUVILFFBQUEsRUFBQSxRQUFBLEdBQVcsWUFBQSxFQUFjLFlBQUEsRUFBYztBQUFBLE1BQUE7QUFBQSxJQUMxQyxFQUFBLENBQ0YsQ0FBQTtBQUFBLEVBRUo7QUFDRixDQUFDLENBQUE7QUFFRCxZQUFBLENBQWEsWUFBQSxFQUFjLGNBQUE7QUFFM0IsSUFBTyxxQkFBQSxFQUFRLFlBQUE7QVJ5VmY7QUFDQTtBU3hab0I7QUFEcEIsSUFBTSxlQUFBLEVBQWlCLENBQUMsRUFBRSxRQUFBLEVBQVUsS0FBSyxDQUFBLEVBQUEsR0FBMkI7QUFDbEUsRUFBQSxHQUFBLENBQUksQ0FBQyxJQUFBLEVBQU0sdUJBQU9BLDZCQUFBQSxvQkFBQVUsRUFBQSxDQUFBLENBQUUsQ0FBQTtBQUVwQixFQUFBLHVCQUFPViw2QkFBQUEsb0JBQUFVLEVBQUEsRUFBRyxTQUFBLENBQVMsQ0FBQTtBQUNyQixDQUFBO0FBRUEsSUFBTyx1QkFBQSxFQUFRLGNBQUE7QVQwWmY7QUFDQTtBVTFjQTtBQThESTtBQU5KLElBQU0sYUFBQSxFQUFlLENBQUM7QUFBQSxFQUNwQixZQUFBO0FBQUEsRUFDQSxZQUFBO0FBQUEsRUFDQTtBQUNGLENBQUEsRUFBQSxHQUF5QjtBQUN2QixFQUFBLHVCQUNFViw2QkFBQUE7QUFBQSxJQUFDWSxnQkFBQUE7QUFBQSxJQUFBO0FBQUEsTUFDQyxPQUFBLEVBQVEsVUFBQTtBQUFBLE1BQ1IsT0FBQSxFQUFTLFlBQUE7QUFBQSxNQUNULFFBQUEsRUFBVSxZQUFBO0FBQUEsTUFDVixFQUFBO0FBQUEsTUFDRCxRQUFBLEVBQUE7QUFBQSxJQUFBO0FBQUEsRUFFRCxDQUFBO0FBRUosQ0FBQTtBQUVBLElBQU8scUJBQUEsRUFBUSxZQUFBO0FWcVpmO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNGLDZnQkFBQyIsImZpbGUiOiIvYnVpbGRzL2xpYnMvR05XZWJTb2Z0LlVJL3BhY2thZ2VzL3VpL2Rpc3QvY2h1bmstRUJSVUUyV1IuY2pzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgdHlwZSB7IFN4UHJvcHMgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIENsZWFyQnV0dG9uIGNvbXBvbmVudC5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmludGVyZmFjZSBDbGVhckJ1dHRvblByb3BzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIGZvcm0gb3Igb3BlcmF0aW9uIGlzIGN1cnJlbnRseSBiZWluZyBzdWJtaXR0ZWQuXG4gICAqIFdoZW4gdHJ1ZSwgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZCB0byBwcmV2ZW50IG11bHRpcGxlIGNsZWFyIGFjdGlvbnMuXG4gICAqL1xuICBpc1N1Ym1pdHRpbmc6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBmdW5jdGlvbiBleGVjdXRlZCB3aGVuIHRoZSBjbGVhciBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogU2hvdWxkIGhhbmRsZSB0aGUgY2xlYXJpbmcgbG9naWMgKGUuZy4sIGZvcm0gcmVzZXQsIGRhdGEgY2xlYXJpbmcpLlxuICAgKi9cbiAgaGFuZGxlQ2xlYXI6ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlIHsgbXQ6IDIsIGNvbG9yOiAnd2FybmluZy5tYWluJyB9XG4gICAqL1xuICBzeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBsb2NhbFN0b3JhZ2Uga2V5IHRvIHJlbW92ZSB3aGVuIGNsZWFyaW5nLlxuICAgKiBJZiBwcm92aWRlZCwgdGhlIGNvcnJlc3BvbmRpbmcgbG9jYWxTdG9yYWdlIGl0ZW0gd2lsbCBiZSByZW1vdmVkIG9uIGNsaWNrLlxuICAgKiBAZXhhbXBsZSBcInVzZXItcHJlZmVyZW5jZXNcIiBvciBcImZvcm0tZGF0YVwiXG4gICAqL1xuICBzdG9yZUtleT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTdGFuZGFyZGl6ZWQgY2xlYXIgYnV0dG9uIGNvbXBvbmVudCB3aXRoIGxvY2FsU3RvcmFnZSBpbnRlZ3JhdGlvbi5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyBhIGNvbnNpc3RlbnQgY2xlYXIgYnV0dG9uIGltcGxlbWVudGF0aW9uIHRoYXQgaGFuZGxlc1xuICogYm90aCBjYWxsYmFjayBleGVjdXRpb24gYW5kIG9wdGlvbmFsIGxvY2FsU3RvcmFnZSBjbGVhbnVwLiBJdCBhdXRvbWF0aWNhbGx5XG4gKiBkaXNhYmxlcyBkdXJpbmcgZm9ybSBzdWJtaXNzaW9ucyBhbmQgY2FuIGNsZWFyIHN0b3JlZCBkYXRhIHdoZW4gbmVlZGVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZTpcbiAqIGBgYHRzeFxuICogPENsZWFyQnV0dG9uXG4gKiAgIGlzU3VibWl0dGluZz17aXNMb2FkaW5nfVxuICogICBoYW5kbGVDbGVhcj17KCkgPT4gZm9ybS5yZXNldCgpfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGxvY2FsU3RvcmFnZSBjbGVhbnVwOlxuICogYGBgdHN4XG4gKiA8Q2xlYXJCdXR0b25cbiAqICAgaXNTdWJtaXR0aW5nPXtmb3JtLmZvcm1TdGF0ZS5pc1N1Ym1pdHRpbmd9XG4gKiAgIGhhbmRsZUNsZWFyPXsoKSA9PiBzZXRGaWx0ZXJzKHt9KX1cbiAqICAgc3RvcmVLZXk9XCJ1c2VyLWZpbHRlcnNcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwcm9wcyAtIENvbXBvbmVudCBwcm9wcyBmb3IgY2xlYXIgYnV0dG9uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIE1VSSBCdXR0b24gY29tcG9uZW50IGNvbmZpZ3VyZWQgYXMgYSBjbGVhciBidXR0b25cbiAqXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IENsZWFyQnV0dG9uID0gKHtcbiAgaXNTdWJtaXR0aW5nLFxuICBoYW5kbGVDbGVhcixcbiAgc3gsXG4gIHN0b3JlS2V5LFxufTogQ2xlYXJCdXR0b25Qcm9wcykgPT4ge1xuICBjb25zdCBvbkNsaWNrID0gKCkgPT4ge1xuICAgIGhhbmRsZUNsZWFyKCk7XG4gICAgaWYgKHN0b3JlS2V5ICE9IG51bGwpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JlS2V5KTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uXG4gICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGRpc2FibGVkPXtpc1N1Ym1pdHRpbmd9XG4gICAgICBzeD17c3h9XG4gICAgPlxuICAgICAgQ2xlYXJcbiAgICA8L0J1dHRvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENsZWFyQnV0dG9uO1xuIiwiaW1wb3J0IEZpbHRlckFsdEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvRmlsdGVyQWx0XCI7XG5pbXBvcnQgeyBMb2FkaW5nQnV0dG9uIH0gZnJvbSBcIkBtdWkvbGFiXCI7XG5pbXBvcnQgdHlwZSB7IFN4UHJvcHMgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgQmFkZ2UsIHVzZVRoZW1lIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIEZpbHRlckJ1dHRvbiBjb21wb25lbnQuXG4gKlxuICogQHB1YmxpY1xuICovXG5pbnRlcmZhY2UgRmlsdGVyQnV0dG9uUHJvcHMge1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgZmlsdGVyIG9wZXJhdGlvbiBpcyBjdXJyZW50bHkgYmVpbmcgcHJvY2Vzc2VkLlxuICAgKiBXaGVuIHRydWUsIHNob3dzIGxvYWRpbmcgc3Bpbm5lciBhbmQgZGlzYWJsZXMgdGhlIGJ1dHRvbi5cbiAgICovXG4gIGlzU3VibWl0dGluZzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbnRyb2xzIGJ1dHRvbiB2aXNpYmlsaXR5IGFuZCBlbmFibGVkIHN0YXRlLlxuICAgKiBXaGVuIGZhbHNlLCB0aGUgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIHNob3c/OiBib29sZWFuO1xuICAvKipcbiAgICogQ3VzdG9tIHRleHQgdG8gZGlzcGxheSBvbiB0aGUgYnV0dG9uLlxuICAgKiBAZGVmYXVsdFZhbHVlIFwiRmlsdGVyXCJcbiAgICogQGV4YW1wbGUgXCJBcHBseSBGaWx0ZXJzXCIgb3IgXCJTZWFyY2hcIlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gaWNvbiB0byBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZmlsdGVyIGljb24uXG4gICAqIEBleGFtcGxlIDxTZWFyY2hJY29uIC8+XG4gICAqL1xuICBpY29uPzogUmVhY3QuUmVhY3ROb2RlO1xuICAvKipcbiAgICogT3B0aW9uYWwgTVVJIHN4IHByb3AgZm9yIGN1c3RvbSBidXR0b24gc3R5bGluZy5cbiAgICogQGV4YW1wbGUgeyBtdDogMiwgbWluV2lkdGg6IDEyMCB9XG4gICAqL1xuICBzeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIGljb24gc3R5bGluZy5cbiAgICogQGV4YW1wbGUgeyBjb2xvcjogJ3ByaW1hcnkubWFpbicsIGZvbnRTaXplOiAxOCB9XG4gICAqL1xuICBpY29uU3g/OiBTeFByb3BzO1xufVxuXG4vKipcbiAqIEZpbHRlciBidXR0b24gY29tcG9uZW50IHdpdGggbG9hZGluZyBzdGF0ZXMgYW5kIGN1c3RvbWl6YWJsZSBhcHBlYXJhbmNlLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IHByb3ZpZGVzIGEgc3RhbmRhcmRpemVkIGZpbHRlci9zdWJtaXQgYnV0dG9uIHdpdGggaW50ZWdyYXRlZCBsb2FkaW5nXG4gKiBzdGF0ZXMsIGljb24gc3VwcG9ydCwgYW5kIGJhZGdlIHN0eWxpbmcuIEl0J3MgZGVzaWduZWQgZm9yIHVzZSBpbiBmaWx0ZXIgZm9ybXNcbiAqIGFuZCBzZWFyY2ggaW50ZXJmYWNlcyB3aGVyZSB1c2VycyBuZWVkIHRvIGFwcGx5IGZpbHRlcmluZyBjcml0ZXJpYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogQmFzaWMgdXNhZ2U6XG4gKiBgYGB0c3hcbiAqIDxGaWx0ZXJCdXR0b25cbiAqICAgaXNTdWJtaXR0aW5nPXtpc0xvYWRpbmd9XG4gKiAgIHNob3c9e2hhc0ZpbHRlcnN9XG4gKiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIEN1c3RvbSB0aXRsZSBhbmQgaWNvbjpcbiAqIGBgYHRzeFxuICogPEZpbHRlckJ1dHRvblxuICogICBpc1N1Ym1pdHRpbmc9e2Zvcm0uZm9ybVN0YXRlLmlzU3VibWl0dGluZ31cbiAqICAgdGl0bGU9XCJBcHBseSBTZWFyY2hcIlxuICogICBpY29uPXs8U2VhcmNoSWNvbiAvPn1cbiAqICAgc2hvdz17dHJ1ZX1cbiAqIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogV2l0aCBjdXN0b20gc3R5bGluZzpcbiAqIGBgYHRzeFxuICogPEZpbHRlckJ1dHRvblxuICogICBpc1N1Ym1pdHRpbmc9e2lzUHJvY2Vzc2luZ31cbiAqICAgdGl0bGU9XCJGaWx0ZXIgUmVzdWx0c1wiXG4gKiAgIHN4PXt7IG1pbldpZHRoOiAxNTAsIG10OiAyIH19XG4gKiAgIGljb25TeD17eyBmb250U2l6ZTogMjAgfX1cbiAqIC8+XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcHJvcHMgLSBDb21wb25lbnQgcHJvcHMgZm9yIGZpbHRlciBidXR0b24gY29uZmlndXJhdGlvblxuICogQHJldHVybnMgTVVJIExvYWRpbmdCdXR0b24gY29tcG9uZW50IGNvbmZpZ3VyZWQgYXMgYSBmaWx0ZXIgYnV0dG9uXG4gKlxuICogQHB1YmxpY1xuICovXG5jb25zdCBGaWx0ZXJCdXR0b24gPSAoe1xuICBpc1N1Ym1pdHRpbmcsXG4gIHNob3csXG4gIHRpdGxlLFxuICBpY29uLFxuICBzeCxcbiAgaWNvblN4LFxufTogRmlsdGVyQnV0dG9uUHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8TG9hZGluZ0J1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICB2YXJpYW50PVwiY29udGFpbmVkXCJcbiAgICAgIGxvYWRpbmc9e2lzU3VibWl0dGluZ31cbiAgICAgIGRpc2FibGVkPXshc2hvd31cbiAgICAgIGRpc2FibGVSaXBwbGVcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBzeD17e1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgLi4uc3gsXG4gICAgICB9fVxuICAgICAgc3RhcnRJY29uPXtcbiAgICAgICAgPEJhZGdlIGNvbG9yPVwiZXJyb3JcIiB2YXJpYW50PVwic3RhbmRhcmRcIj5cbiAgICAgICAgICB7aWNvbiA/IGljb24gOiA8RmlsdGVyQWx0SWNvbiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBzeD17aWNvblN4fSAvPn1cbiAgICAgICAgPC9CYWRnZT5cbiAgICAgIH1cbiAgICA+XG4gICAgICB7dGl0bGU/LnRyaW0oKSA9PT0gXCJcIiB8fCAhdGl0bGUgPyBcIkZpbHRlclwiIDogdGl0bGV9XG4gICAgPC9Mb2FkaW5nQnV0dG9uPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyQnV0dG9uO1xuIiwiaW1wb3J0IE1hbmFnZVNlYXJjaEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTWFuYWdlU2VhcmNoXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFN4UHJvcHNcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7XG4gIEJveCxcbiAgQ2FyZCxcbiAgQ2FyZENvbnRlbnQsXG4gIENhcmRIZWFkZXIsXG4gIERpdmlkZXIsXG4gIEdyaWQsXG4gIFR5cG9ncmFwaHksXG4gIHVzZVRoZW1lLFxufSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wc1dpdGhDaGlsZHJlbiwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogUHJvcHMgZm9yIHRoZSBGaWx0ZXJXcmFwcGVyIGNvbXBvbmVudC5cbiAqXG4gKiBAcHVibGljXG4gKi9cbnR5cGUgRmlsdGVyV3JhcHBlclByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICAvKipcbiAgICogVGl0bGUgdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGNhcmQgaGVhZGVyLlxuICAgKiBAZGVmYXVsdFZhbHVlIFwiRmlsdGVyXCJcbiAgICogQGV4YW1wbGUgXCJTZWFyY2ggQ3JpdGVyaWFcIiBvciBcIkFkdmFuY2VkIEZpbHRlcnNcIlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgYWN0aXZlIGZpbHRlcnMgdG8gZGlzcGxheSBpbiB0aGUgaGVhZGVyLlxuICAgKiBPbmx5IHNob3duIHdoZW4gc2hvd0NvdW50IGlzIHRydWUuXG4gICAqIEBleGFtcGxlIDMgZm9yIFwiRmlsdGVyICgzKVwiXG4gICAqL1xuICBmaWx0ZXJDb3VudD86IG51bWJlcjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE1VSSBzeCBwcm9wIGZvciBjdXN0b20gY2FyZCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZSB7IG10OiAyLCBib3hTaGFkb3c6IDIgfVxuICAgKi9cbiAgY2FyZFN4PzogU3hQcm9wcztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE1VSSBzeCBwcm9wIGZvciBjdXN0b20gdGl0bGUgdGV4dCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZSB7IGZvbnRTaXplOiAxOCwgZm9udFdlaWdodDogJ2JvbGQnIH1cbiAgICovXG4gIHRleHRTeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBDdXN0b20gaWNvbiB0byBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgc2VhcmNoIGljb24uXG4gICAqIEBleGFtcGxlIDxGaWx0ZXJMaXN0SWNvbiAvPlxuICAgKi9cbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE1VSSBzeCBwcm9wIGZvciBjdXN0b20gaWNvbiBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZSB7IGNvbG9yOiAnc2Vjb25kYXJ5Lm1haW4nLCBmb250U2l6ZTogMjQgfVxuICAgKi9cbiAgaWNvblN4PzogU3hQcm9wcztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgZmlsdGVyIGNvdW50IGluIHRoZSBoZWFkZXIuXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHNob3dDb3VudD86IGJvb2xlYW47XG59PjtcblxuLyoqXG4gKiBDYXJkLWJhc2VkIHdyYXBwZXIgY29tcG9uZW50IGZvciBvcmdhbml6aW5nIGZpbHRlciBjb250cm9scyBhbmQgZm9ybSBlbGVtZW50cy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyBhIGNvbnNpc3RlbnQgbGF5b3V0IGZvciBmaWx0ZXIgaW50ZXJmYWNlcyB3aXRoIGEgaGVhZGVyLFxuICogb3B0aW9uYWwgZmlsdGVyIGNvdW50IGRpc3BsYXksIGFuZCBhIGdyaWQtYmFzZWQgY29udGVudCBhcmVhLiBJdCdzIGRlc2lnbmVkIHRvXG4gKiBjb250YWluIGZvcm0gY29udHJvbHMgYW5kIGZpbHRlciBlbGVtZW50cyBpbiBhIHZpc3VhbGx5IG9yZ2FuaXplZCBtYW5uZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIEJhc2ljIHVzYWdlOlxuICogYGBgdHN4XG4gKiA8RmlsdGVyV3JhcHBlcj5cbiAqICAgPEdyaWQgaXRlbSB4cz17MTJ9IG1kPXs2fT5cbiAqICAgICA8VGV4dEZpZWxkIGxhYmVsPVwiU2VhcmNoXCIgLz5cbiAqICAgPC9HcmlkPlxuICogICA8R3JpZCBpdGVtIHhzPXsxMn0gbWQ9ezZ9PlxuICogICAgIDxTZWxlY3QgbGFiZWw9XCJDYXRlZ29yeVwiIC8+XG4gKiAgIDwvR3JpZD5cbiAqIDwvRmlsdGVyV3JhcHBlcj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGN1c3RvbSB0aXRsZSBhbmQgY291bnQ6XG4gKiBgYGB0c3hcbiAqIDxGaWx0ZXJXcmFwcGVyXG4gKiAgIHRpdGxlPVwiQWR2YW5jZWQgU2VhcmNoXCJcbiAqICAgZmlsdGVyQ291bnQ9e2FjdGl2ZUZpbHRlcnMubGVuZ3RofVxuICogICBzaG93Q291bnQ9e3RydWV9XG4gKiA+XG4gKiAgIHtmaWx0ZXJDb250cm9sc31cbiAqIDwvRmlsdGVyV3JhcHBlcj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGN1c3RvbSBzdHlsaW5nOlxuICogYGBgdHN4XG4gKiA8RmlsdGVyV3JhcHBlclxuICogICB0aXRsZT1cIlByb2R1Y3QgRmlsdGVyc1wiXG4gKiAgIGljb249ezxGaWx0ZXJMaXN0SWNvbiAvPn1cbiAqICAgY2FyZFN4PXt7IG10OiAzLCBib3JkZXJSYWRpdXM6IDIgfX1cbiAqICAgdGV4dFN4PXt7IGNvbG9yOiAnc2Vjb25kYXJ5Lm1haW4nIH19XG4gKiA+XG4gKiAgIHtjaGlsZHJlbn1cbiAqIDwvRmlsdGVyV3JhcHBlcj5cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwcm9wcyAtIENvbXBvbmVudCBwcm9wcyBpbmNsdWRpbmcgY2hpbGRyZW4gYW5kIHN0eWxpbmcgb3B0aW9uc1xuICogQHJldHVybnMgTVVJIENhcmQgY29tcG9uZW50IHdpdGggc3RydWN0dXJlZCBmaWx0ZXIgbGF5b3V0XG4gKlxuICogQHB1YmxpY1xuICovXG5jb25zdCBGaWx0ZXJXcmFwcGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICBmaWx0ZXJDb3VudCxcbiAgY2FyZFN4LFxuICB0ZXh0U3gsXG4gIGljb24sXG4gIGljb25TeCxcbiAgc2hvd0NvdW50LFxufTogRmlsdGVyV3JhcHBlclByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICByZXR1cm4gKFxuICAgIDxDYXJkXG4gICAgICBzeD17e1xuICAgICAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwiMHB4XCIsXG4gICAgICAgIG1iOiAyLFxuICAgICAgICAuLi5jYXJkU3gsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxDYXJkSGVhZGVyXG4gICAgICAgIHN4PXt7XG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgZmxleFdyYXA6IFwid3JhcFwiLFxuICAgICAgICAgIHA6IFwiMXJlbVwiLFxuICAgICAgICAgIFwiLk11aUNhcmRIZWFkZXItYWN0aW9uXCI6IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgIGFsaWduU2VsZjogXCJjZW50ZXJcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIH19XG4gICAgICAgIHRpdGxlPXtcbiAgICAgICAgICA8Qm94IHN4PXt7IGRpc3BsYXk6IFwiZmxleFwiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBnYXA6IDAuNSB9fT5cbiAgICAgICAgICAgIHtpY29uID8gKFxuICAgICAgICAgICAgICBpY29uXG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8TWFuYWdlU2VhcmNoSWNvblxuICAgICAgICAgICAgICAgIHN4PXt7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMi41cmVtXCIsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gICAgICAgICAgICAgICAgICAuLi5pY29uU3gsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8VHlwb2dyYXBoeVxuICAgICAgICAgICAgICB2YXJpYW50PVwiaDVcIlxuICAgICAgICAgICAgICBzeD17e1xuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICAgICAgICAgICAgICAuLi50ZXh0U3gsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0aXRsZSA/IHRpdGxlIDogXCJGaWx0ZXJcIn17XCIgXCJ9XG4gICAgICAgICAgICAgIHtzaG93Q291bnQgPyBgKCR7ZmlsdGVyQ291bnQgPyBmaWx0ZXJDb3VudCA6IDB9KWAgOiA8PjwvPn1cbiAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgfVxuICAgICAgPjwvQ2FyZEhlYWRlcj5cbiAgICAgIDxEaXZpZGVyIC8+XG4gICAgICA8Q2FyZENvbnRlbnQgc3g9e3sgcHk6IDIgfX0+XG4gICAgICAgIDxHcmlkIGNvbnRhaW5lciBzcGFjaW5nPXsyfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvR3JpZD5cbiAgICAgIDwvQ2FyZENvbnRlbnQ+XG4gICAgPC9DYXJkPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyV3JhcHBlcjtcbiIsImltcG9ydCB0eXBlIHtcbiAgU3hQcm9wc1xufSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHtcbiAgQm94LFxuICBDYXJkLFxuICBDYXJkQ29udGVudCxcbiAgQ2FyZEhlYWRlcixcbiAgRGl2aWRlcixcbiAgR3JpZCxcbiAgVHlwb2dyYXBoeSxcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB0eXBlIHsgUHJvcHNXaXRoQ2hpbGRyZW4sIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgRm9ybVdyYXBwZXIgY29tcG9uZW50LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xudHlwZSBGb3JtV3JhcHBlciA9IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgLyoqXG4gICAqIFRpdGxlIHRleHQgZGlzcGxheWVkIGluIHRoZSBmb3JtIGhlYWRlci5cbiAgICogQGV4YW1wbGUgXCJDcmVhdGUgVXNlclwiIG9yIFwiRWRpdCBQcm9maWxlXCJcbiAgICovXG4gIHRpdGxlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZvcm0gaXMgaW4gZWRpdCBtb2RlIChjdXJyZW50bHkgdW51c2VkIGluIGltcGxlbWVudGF0aW9uKS5cbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wIGlzIGRlZmluZWQgYnV0IG5vdCB1c2VkIGluIHRoZSBjb21wb25lbnQgbG9naWNcbiAgICovXG4gIGVkaXRNb2RlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEN1c3RvbSBpY29uIHRvIGRpc3BsYXkgaW4gdGhlIGhlYWRlciBuZXh0IHRvIHRoZSB0aXRsZS5cbiAgICogQGV4YW1wbGUgPFBlcnNvbkljb24gLz4gb3IgPEVkaXRJY29uIC8+XG4gICAqL1xuICBpY29uPzogUmVhY3ROb2RlO1xuICAvKipcbiAgICogT3B0aW9uYWwgTVVJIHN4IHByb3AgZm9yIGN1c3RvbSBjYXJkIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlIHsgbXQ6IDIsIG1heFdpZHRoOiA2MDAgfVxuICAgKi9cbiAgY2FyZFN4PzogU3hQcm9wcztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE1VSSBzeCBwcm9wIGZvciBjdXN0b20gdGl0bGUgdGV4dCBzdHlsaW5nLlxuICAgKiBAZXhhbXBsZSB7IGZvbnRTaXplOiAyMCwgZm9udFdlaWdodDogJ2JvbGQnIH1cbiAgICovXG4gIHRleHRTeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBBY3Rpb24gYnV0dG9uIG9yIGVsZW1lbnQgdG8gZGlzcGxheSBpbiB0aGUgaGVhZGVyIChlLmcuLCBzYXZlLCBjbG9zZSkuXG4gICAqIEBleGFtcGxlIDxCdXR0b24+U2F2ZTwvQnV0dG9uPiBvciA8SWNvbkJ1dHRvbj48Q2xvc2VJY29uIC8+PC9JY29uQnV0dG9uPlxuICAgKi9cbiAgYWN0aW9uQnV0dG9uPzogUmVhY3ROb2RlO1xufT47XG5cbi8qKlxuICogQ2FyZC1iYXNlZCB3cmFwcGVyIGNvbXBvbmVudCBmb3Igb3JnYW5pemluZyBmb3JtIGVsZW1lbnRzIHdpdGggaGVhZGVyIGFuZCBhY3Rpb25zLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IHByb3ZpZGVzIGEgc3RydWN0dXJlZCBsYXlvdXQgZm9yIGZvcm1zIHdpdGggYSB0aXRsZSBoZWFkZXIsXG4gKiBvcHRpb25hbCBpY29uLCBhY3Rpb24gYnV0dG9ucywgYW5kIGEgZ3JpZC1iYXNlZCBjb250ZW50IGFyZWEuIEl0IGNyZWF0ZXNcbiAqIGEgY29uc2lzdGVudCB2aXN1YWwgc3RydWN0dXJlIGZvciBmb3JtIGludGVyZmFjZXMgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIEJhc2ljIGZvcm0gd3JhcHBlcjpcbiAqIGBgYHRzeFxuICogPEZvcm1XcmFwcGVyIHRpdGxlPVwiVXNlciBJbmZvcm1hdGlvblwiPlxuICogICA8R3JpZCBpdGVtIHhzPXsxMn0gbWQ9ezZ9PlxuICogICAgIDxUZXh0RmllbGQgbGFiZWw9XCJGaXJzdCBOYW1lXCIgLz5cbiAqICAgPC9HcmlkPlxuICogICA8R3JpZCBpdGVtIHhzPXsxMn0gbWQ9ezZ9PlxuICogICAgIDxUZXh0RmllbGQgbGFiZWw9XCJMYXN0IE5hbWVcIiAvPlxuICogICA8L0dyaWQ+XG4gKiA8L0Zvcm1XcmFwcGVyPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIFdpdGggaWNvbiBhbmQgYWN0aW9uIGJ1dHRvbjpcbiAqIGBgYHRzeFxuICogPEZvcm1XcmFwcGVyXG4gKiAgIHRpdGxlPVwiRWRpdCBQcm9maWxlXCJcbiAqICAgaWNvbj17PFBlcnNvbkljb24gLz59XG4gKiAgIGFjdGlvbkJ1dHRvbj17XG4gKiAgICAgPEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgdHlwZT1cInN1Ym1pdFwiPlxuICogICAgICAgU2F2ZSBDaGFuZ2VzXG4gKiAgICAgPC9CdXR0b24+XG4gKiAgIH1cbiAqID5cbiAqICAge2Zvcm1GaWVsZHN9XG4gKiA8L0Zvcm1XcmFwcGVyPlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGluY2x1ZGluZyBjaGlsZHJlbiBhbmQgbGF5b3V0IG9wdGlvbnNcbiAqIEByZXR1cm5zIE1VSSBDYXJkIGNvbXBvbmVudCB3aXRoIHN0cnVjdHVyZWQgZm9ybSBsYXlvdXRcbiAqXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IEZvcm1XcmFwcGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICBlZGl0TW9kZSxcbiAgY2FyZFN4LFxuICB0ZXh0U3gsXG4gIGljb24sXG4gIGFjdGlvbkJ1dHRvbixcbn06IEZvcm1XcmFwcGVyKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPENhcmRcbiAgICAgIHN4PXt7XG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCIwcHhcIixcbiAgICAgICAgLi4uY2FyZFN4LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8Q2FyZEhlYWRlclxuICAgICAgICBzeD17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGZsZXhXcmFwOiBcIndyYXBcIixcbiAgICAgICAgICBwOiBcIjFyZW1cIixcbiAgICAgICAgICBcIi5NdWlDYXJkSGVhZGVyLWFjdGlvblwiOiB7XG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBhbGlnblNlbGY6IFwiY2VudGVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfX1cbiAgICAgICAgdGl0bGU9e1xuICAgICAgICAgIDxCb3hcbiAgICAgICAgICAgIHN4PXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxCb3ggc3g9e3sgZGlzcGxheTogXCJmbGV4XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIGdhcDogMC41IH19PlxuICAgICAgICAgICAgICB7aWNvbiA/PyBpY29ufVxuICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBjb2xvcj1cInByaW1hcnlcIiBzeD17dGV4dFN4fT5cbiAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAge2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgfVxuICAgICAgPjwvQ2FyZEhlYWRlcj5cbiAgICAgIDxEaXZpZGVyIHN4PXt7IG10OiAwIH19IC8+XG4gICAgICA8Q2FyZENvbnRlbnQ+XG4gICAgICAgIDxHcmlkIGNvbnRhaW5lciBzcGFjaW5nPXsyfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvR3JpZD5cbiAgICAgIDwvQ2FyZENvbnRlbnQ+XG4gICAgPC9DYXJkPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRm9ybVdyYXBwZXI7XG4iLCJpbXBvcnQgdHlwZSB7IFN4UHJvcHMgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgR3JpZCwgVG9vbHRpcCwgVHlwb2dyYXBoeSB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5cbi8qKlxuICogUHJvcHMgZm9yIHRoZSBMYWJlbFRleHQgY29tcG9uZW50LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuaW50ZXJmYWNlIExhYmVsVGV4dFByb3BzIHtcbiAgLyoqXG4gICAqIExhYmVsIHRleHQgdG8gZGlzcGxheSBvbiB0aGUgbGVmdCBzaWRlLlxuICAgKiBAZXhhbXBsZSBcIk5hbWVcIiBvciBcIkVtYWlsIEFkZHJlc3NcIlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIGNvbnRlbnQgdG8gZGlzcGxheSBvbiB0aGUgcmlnaHQgc2lkZS5cbiAgICogQ2FuIGJlIHRleHQsIG51bWJlcnMsIG9yIFJlYWN0IGVsZW1lbnRzLlxuICAgKiBAZXhhbXBsZSBcIkpvaG4gRG9lXCIgb3IgPExpbms+VmlldyBEZXRhaWxzPC9MaW5rPlxuICAgKi9cbiAgdmFsdWU6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIEN1c3RvbSBncmlkIHNpemluZyBmb3IgbGFiZWwgYW5kIHZhbHVlIHNlY3Rpb25zLlxuICAgKiBAZGVmYXVsdFZhbHVlIHsgbGFiZWxTaXplOiB7IHhzOiA2LCBzbTogNiwgbWQ6IDYgfSwgdmFsdWVTaXplOiB7IHhzOiAxMiwgc206IDYsIG1kOiA2IH0gfVxuICAgKi9cbiAgZ3JpZFNpemU/OiB7XG4gICAgLyoqIEdyaWQgc2l6ZSBjb25maWd1cmF0aW9uIGZvciB0aGUgbGFiZWwgc2VjdGlvbiAqL1xuICAgIGxhYmVsU2l6ZTogeyB4czogbnVtYmVyOyBzbTogbnVtYmVyOyBtZDogbnVtYmVyIH07XG4gICAgLyoqIEdyaWQgc2l6ZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdmFsdWUgc2VjdGlvbiAqL1xuICAgIHZhbHVlU2l6ZTogeyB4czogbnVtYmVyOyBzbTogbnVtYmVyOyBtZDogbnVtYmVyIH07XG4gIH07XG4gIC8qKlxuICAgKiBHcmlkIHNpemUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGVudGlyZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0VmFsdWUgeyB4czogMTIsIHNtOiA2LCBtZDogNiB9XG4gICAqL1xuICBjb250YWluZXJTaXplPzogeyB4czogbnVtYmVyOyBzbTogbnVtYmVyOyBtZDogbnVtYmVyIH07XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIGxhYmVsIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlIHsgZm9udFdlaWdodDogJ2JvbGQnLCBjb2xvcjogJ3ByaW1hcnkubWFpbicgfVxuICAgKi9cbiAgbGFiZWxTeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIHZhbHVlIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlIHsgY29sb3I6ICd0ZXh0LnNlY29uZGFyeScsIGZvbnRTdHlsZTogJ2l0YWxpYycgfVxuICAgKi9cbiAgdmFsdWVTeD86IFN4UHJvcHM7XG59XG5cbi8qKlxuICogUmVzcG9uc2l2ZSBsYWJlbC12YWx1ZSBkaXNwbGF5IGNvbXBvbmVudCB3aXRoIGhvdmVyIGVmZmVjdHMgYW5kIHRleHQgdHJ1bmNhdGlvbi5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGEgY29uc2lzdGVudCBsYWJlbC12YWx1ZSBwYWlyIGxheW91dCB0aGF0IGFkYXB0cyB0byBkaWZmZXJlbnRcbiAqIHNjcmVlbiBzaXplcy4gSXQgaW5jbHVkZXMgaG92ZXIgZWZmZWN0cywgdGV4dCB0cnVuY2F0aW9uIHdpdGggdG9vbHRpcHMsIGFuZFxuICogY3VzdG9taXphYmxlIGdyaWQgc2l6aW5nIGZvciBmbGV4aWJsZSBsYXlvdXRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZTpcbiAqIGBgYHRzeFxuICogPExhYmVsVGV4dFxuICogICBsYWJlbD1cIkZ1bGwgTmFtZVwiXG4gKiAgIHZhbHVlPVwiSm9obiBEb2VcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIFJlYWN0IGVsZW1lbnQgdmFsdWU6XG4gKiBgYGB0c3hcbiAqIDxMYWJlbFRleHRcbiAqICAgbGFiZWw9XCJQcm9maWxlXCJcbiAqICAgdmFsdWU9ezxMaW5rIGhyZWY9XCIvcHJvZmlsZVwiPlZpZXcgUHJvZmlsZTwvTGluaz59XG4gKiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIEN1c3RvbSBncmlkIHNpemluZzpcbiAqIGBgYHRzeFxuICogPExhYmVsVGV4dFxuICogICBsYWJlbD1cIkRlc2NyaXB0aW9uXCJcbiAqICAgdmFsdWU9e2xvbmdEZXNjcmlwdGlvbn1cbiAqICAgZ3JpZFNpemU9e3tcbiAqICAgICBsYWJlbFNpemU6IHsgeHM6IDEyLCBzbTogMywgbWQ6IDIgfSxcbiAqICAgICB2YWx1ZVNpemU6IHsgeHM6IDEyLCBzbTogOSwgbWQ6IDEwIH1cbiAqICAgfX1cbiAqICAgY29udGFpbmVyU2l6ZT17eyB4czogMTIsIHNtOiAxMiwgbWQ6IDEyIH19XG4gKiAvPlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGZvciBsYWJlbC12YWx1ZSBjb25maWd1cmF0aW9uXG4gKiBAcmV0dXJucyBHcmlkLWJhc2VkIGxheW91dCB3aXRoIGxhYmVsIGFuZCB2YWx1ZSBzZWN0aW9uc1xuICpcbiAqIEBwdWJsaWNcbiAqL1xuY29uc3QgTGFiZWxUZXh0ID0gKHtcbiAgbGFiZWwsXG4gIHZhbHVlLFxuICBncmlkU2l6ZSxcbiAgY29udGFpbmVyU2l6ZSxcbiAgbGFiZWxTeCxcbiAgdmFsdWVTeCxcbn06IExhYmVsVGV4dFByb3BzKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRHcmlkU2l6ZSA9IHtcbiAgICBsYWJlbFNpemU6IHsgeHM6IDYsIHNtOiA2LCBtZDogNiB9LFxuICAgIHZhbHVlU2l6ZTogeyB4czogMTIsIHNtOiA2LCBtZDogNiB9LFxuICB9O1xuICBjb25zdCBkZWZhdWx0Q29udGFpbmVyU2l6ZSA9IHsgeHM6IDEyLCBzbTogNiwgbWQ6IDYgfTtcbiAgY29uc3Qgc2l6ZSA9IGdyaWRTaXplIHx8IGRlZmF1bHRHcmlkU2l6ZTtcbiAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyU2l6ZSB8fCBkZWZhdWx0Q29udGFpbmVyU2l6ZTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkXG4gICAgICBzaXplPXtjb250YWluZXJ9XG4gICAgICBzeD17e1xuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogeyB4czogXCJjb2x1bW5cIiwgc206IFwicm93XCIsIG1kOiBcInJvd1wiIH0sXG4gICAgICAgIFwiJjpob3ZlclwiOiB7IGJnY29sb3I6IFwiI2VmZWZlZlwiLCBvdmVyZmxvdzogXCJoaWRkZW5cIiB9LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8R3JpZFxuICAgICAgICBzaXplPXtzaXplLmxhYmVsU2l6ZX1cbiAgICAgICAgc3g9e3tcbiAgICAgICAgICBwYWRkaW5nOiBcIjVweFwiLFxuICAgICAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgICAgICAgICB0ZXh0QWxpZ246IHsgeHM6IFwibGVmdFwiLCBzbTogXCJyaWdodFwiLCBtZDogXCJyaWdodFwiIH0sXG4gICAgICAgICAgLi4ubGFiZWxTeCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2xhYmVsfSA6XG4gICAgICA8L0dyaWQ+XG4gICAgICA8R3JpZFxuICAgICAgICBzaXplPXtzaXplLnZhbHVlU2l6ZX1cbiAgICAgICAgc3g9e3sgcGFkZGluZzogXCI1cHhcIiwgZGlzcGxheTogXCJmbGV4XCIsIGZsZXhXcmFwOiBcIndyYXBcIiB9fVxuICAgICAgPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17dmFsdWV9IGFycm93PlxuICAgICAgICAgIDxUeXBvZ3JhcGh5XG4gICAgICAgICAgICBzeD17e1xuICAgICAgICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXG4gICAgICAgICAgICAgIHdvcmRCcmVhazogXCJicmVhay13b3JkXCIsXG4gICAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBcIi13ZWJraXQtYm94XCIsXG4gICAgICAgICAgICAgIHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuICAgICAgICAgICAgICBXZWJraXRMaW5lQ2xhbXA6IDIsXG4gICAgICAgICAgICAgIFdlYmtpdEJveE9yaWVudDogXCJ2ZXJ0aWNhbFwiLFxuICAgICAgICAgICAgICAuLi52YWx1ZVN4LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjMDc4ZGVlXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt2YWx1ZSA/IHZhbHVlIDogXCItXCJ9XG4gICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICA8L0dyaWQ+XG4gICAgPC9HcmlkPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFiZWxUZXh0O1xuIiwiaW1wb3J0IE1hbmFnZVNlYXJjaEljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTWFuYWdlU2VhcmNoXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFN4UHJvcHNcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7XG4gIEJveCxcbiAgQ2FyZCxcbiAgQ2FyZENvbnRlbnQsXG4gIENhcmRIZWFkZXIsXG4gIERpdmlkZXIsXG4gIEdyaWQsXG4gIFR5cG9ncmFwaHksXG4gIHVzZVRoZW1lLFxufSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wc1dpdGhDaGlsZHJlbiwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogUHJvcHMgZm9yIHRoZSBMaXN0V3JhcHBlciBjb21wb25lbnQuXG4gKlxuICogQHB1YmxpY1xuICovXG50eXBlIExpc3RXcmFwcGVyUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIC8qKlxuICAgKiBUaXRsZSB0ZXh0IGRpc3BsYXllZCBpbiB0aGUgY2FyZCBoZWFkZXIuXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJMaXN0XCJcbiAgICogQGV4YW1wbGUgXCJVc2VyIExpc3RcIiBvciBcIlByb2R1Y3QgQ2F0YWxvZ1wiXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGluIHRoZSBoZWFkZXIgY291bnQuXG4gICAqIE9ubHkgc2hvd24gd2hlbiBzaG93Q291bnQgaXMgdHJ1ZS5cbiAgICogQGV4YW1wbGUgMjUgZm9yIFwiTGlzdCAoMjUpXCJcbiAgICovXG4gIGNvdW50PzogbnVtYmVyO1xuICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciB0aGUgZW50aXJlIGNvbXBvbmVudCBpcyByZW5kZXJlZC5cbiAgICogV2hlbiBmYWxzZSwgcmV0dXJucyBhbiBlbXB0eSBmcmFnbWVudC5cbiAgICogQGRlZmF1bHRWYWx1ZSB0cnVlXG4gICAqL1xuICBzaG93PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFjdGlvbiBidXR0b24gb3IgZWxlbWVudCB0byBkaXNwbGF5IGluIHRoZSBoZWFkZXIgKGUuZy4sIGFkZCwgZXhwb3J0KS5cbiAgICogQGV4YW1wbGUgPEJ1dHRvbj5BZGQgTmV3PC9CdXR0b24+IG9yIDxJY29uQnV0dG9uPjxNb3JlVmVydEljb24gLz48L0ljb25CdXR0b24+XG4gICAqL1xuICBhY3Rpb25CdXR0b24/OiBSZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIGNhcmQgc3R5bGluZy5cbiAgICogQGV4YW1wbGUgeyBtdDogMiwgYm94U2hhZG93OiAzIH1cbiAgICovXG4gIGNhcmRTeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBNVUkgc3ggcHJvcCBmb3IgY3VzdG9tIHRpdGxlIHRleHQgc3R5bGluZy5cbiAgICogQGV4YW1wbGUgeyBmb250U2l6ZTogMTgsIGNvbG9yOiAnc2Vjb25kYXJ5Lm1haW4nIH1cbiAgICovXG4gIHRleHRTeD86IFN4UHJvcHM7XG4gIC8qKlxuICAgKiBDdXN0b20gaWNvbiB0byBkaXNwbGF5IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgc2VhcmNoIGljb24uXG4gICAqIEBleGFtcGxlIDxMaXN0SWNvbiAvPiBvciA8VGFibGVSb3dzSWNvbiAvPlxuICAgKi9cbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY291bnQgaW4gdGhlIGhlYWRlci5cbiAgICogQGRlZmF1bHRWYWx1ZSB0cnVlXG4gICAqL1xuICBzaG93Q291bnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgTVVJIHN4IHByb3AgZm9yIGN1c3RvbSBpY29uIHN0eWxpbmcuXG4gICAqIEBleGFtcGxlIHsgY29sb3I6ICdwcmltYXJ5Lm1haW4nLCBmb250U2l6ZTogMjggfVxuICAgKi9cbiAgaWNvblN4PzogU3hQcm9wcztcbn0+O1xuXG4vKipcbiAqIENhcmQtYmFzZWQgd3JhcHBlciBjb21wb25lbnQgZm9yIG9yZ2FuaXppbmcgbGlzdCBjb250ZW50IHdpdGggaGVhZGVyIGFuZCBhY3Rpb25zLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IHByb3ZpZGVzIGEgc3RydWN0dXJlZCBsYXlvdXQgZm9yIGRpc3BsYXlpbmcgbGlzdHMgb2YgZGF0YSB3aXRoXG4gKiBhIHRpdGxlIGhlYWRlciwgb3B0aW9uYWwgaXRlbSBjb3VudCwgYWN0aW9uIGJ1dHRvbnMsIGFuZCBhIGdyaWQtYmFzZWQgY29udGVudCBhcmVhLlxuICogSXQgaW5jbHVkZXMgY29uZGl0aW9uYWwgcmVuZGVyaW5nIGFuZCBjb25zaXN0ZW50IHN0eWxpbmcgYWNyb3NzIGxpc3QgaW50ZXJmYWNlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogQmFzaWMgbGlzdCB3cmFwcGVyOlxuICogYGBgdHN4XG4gKiA8TGlzdFdyYXBwZXIgdGl0bGU9XCJVc2Vyc1wiIGNvdW50PXt1c2Vycy5sZW5ndGh9PlxuICogICA8R3JpZCBpdGVtIHhzPXsxMn0+XG4gKiAgICAgPERhdGFHcmlkIHJvd3M9e3VzZXJzfSBjb2x1bW5zPXtjb2x1bW5zfSAvPlxuICogICA8L0dyaWQ+XG4gKiA8L0xpc3RXcmFwcGVyPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIFdpdGggYWN0aW9uIGJ1dHRvbiBhbmQgY3VzdG9tIGljb246XG4gKiBgYGB0c3hcbiAqIDxMaXN0V3JhcHBlclxuICogICB0aXRsZT1cIlByb2R1Y3RzXCJcbiAqICAgY291bnQ9e3Byb2R1Y3RzLmxlbmd0aH1cbiAqICAgaWNvbj17PEludmVudG9yeUljb24gLz59XG4gKiAgIGFjdGlvbkJ1dHRvbj17XG4gKiAgICAgPEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgb25DbGljaz17YWRkUHJvZHVjdH0+XG4gKiAgICAgICBBZGQgUHJvZHVjdFxuICogICAgIDwvQnV0dG9uPlxuICogICB9XG4gKiA+XG4gKiAgIHtwcm9kdWN0TGlzdH1cbiAqIDwvTGlzdFdyYXBwZXI+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogQ29uZGl0aW9uYWwgcmVuZGVyaW5nOlxuICogYGBgdHN4XG4gKiA8TGlzdFdyYXBwZXJcbiAqICAgdGl0bGU9XCJTZWFyY2ggUmVzdWx0c1wiXG4gKiAgIGNvdW50PXtzZWFyY2hSZXN1bHRzLmxlbmd0aH1cbiAqICAgc2hvdz17aGFzU2VhcmNoZWR9XG4gKiAgIHNob3dDb3VudD17c2VhcmNoUmVzdWx0cy5sZW5ndGggPiAwfVxuICogPlxuICogICB7c2VhcmNoUmVzdWx0SXRlbXN9XG4gKiA8L0xpc3RXcmFwcGVyPlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGluY2x1ZGluZyBjaGlsZHJlbiBhbmQgbGF5b3V0IG9wdGlvbnNcbiAqIEByZXR1cm5zIE1VSSBDYXJkIGNvbXBvbmVudCB3aXRoIHN0cnVjdHVyZWQgbGlzdCBsYXlvdXQsIG9yIGVtcHR5IGZyYWdtZW50IGlmIHNob3cgaXMgZmFsc2VcbiAqXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IExpc3RXcmFwcGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICBjb3VudCxcbiAgc2hvdyA9IHRydWUsXG4gIGFjdGlvbkJ1dHRvbixcbiAgY2FyZFN4LFxuICB0ZXh0U3gsXG4gIGljb24sXG4gIGljb25TeCxcbiAgc2hvd0NvdW50ID0gdHJ1ZSxcbn06IExpc3RXcmFwcGVyUHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIGlmICghc2hvdykgcmV0dXJuIDw+PC8+O1xuXG4gIHJldHVybiAoXG4gICAgPENhcmRcbiAgICAgIHN4PXt7XG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCIwcHhcIixcbiAgICAgICAgLi4uY2FyZFN4LFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8Q2FyZEhlYWRlclxuICAgICAgICBzeD17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICAgIGZsZXhXcmFwOiBcIndyYXBcIixcbiAgICAgICAgICBwOiBcIjFyZW1cIixcbiAgICAgICAgICBcIi5NdWlDYXJkSGVhZGVyLWFjdGlvblwiOiB7XG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBhbGlnblNlbGY6IFwiY2VudGVyXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICB9fVxuICAgICAgICB0aXRsZT17XG4gICAgICAgICAgPEJveFxuICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEJveCBzeD17eyBkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiwgZ2FwOiAwLjUgfX0+XG4gICAgICAgICAgICAgIHtpY29uID8gKFxuICAgICAgICAgICAgICAgIGljb25cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8TWFuYWdlU2VhcmNoSWNvblxuICAgICAgICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjIuNXJlbVwiLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gICAgICAgICAgICAgICAgICAgIC4uLmljb25TeCxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFR5cG9ncmFwaHlcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiaDVcIlxuICAgICAgICAgICAgICAgIHN4PXt7XG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcImJvbGRcIixcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICAgICAgICAgICAgICAgIC4uLnRleHRTeCxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RpdGxlID8gdGl0bGUgOiBcIkxpc3RcIn1cbiAgICAgICAgICAgICAgICB7c2hvd0NvdW50ID8gYCgke2NvdW50ID8gY291bnQgOiAwfSlgIDogPD48Lz59XG4gICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAge2FjdGlvbkJ1dHRvbn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgfVxuICAgICAgPjwvQ2FyZEhlYWRlcj5cbiAgICAgIDxEaXZpZGVyIC8+XG4gICAgICA8Q2FyZENvbnRlbnQgc3g9e3sgcHQ6IDAgfX0+XG4gICAgICAgIDxHcmlkIGNvbnRhaW5lciBzcGFjaW5nPXsyfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvR3JpZD5cbiAgICAgIDwvQ2FyZENvbnRlbnQ+XG4gICAgPC9DYXJkPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGlzdFdyYXBwZXI7XG4iLCJpbXBvcnQgeyBCb3ggfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHtcbiAgR3JpZFRvb2xiYXJDb250YWluZXIsXG4gIEdyaWRUb29sYmFyQ29sdW1uc0J1dHRvbixcbiAgR3JpZFRvb2xiYXJFeHBvcnQsXG4gIEdyaWRUb29sYmFyRmlsdGVyQnV0dG9uLFxuICBHcmlkVG9vbGJhclF1aWNrRmlsdGVyLFxufSBmcm9tIFwiQG11aS94LWRhdGEtZ3JpZFwiO1xuXG4vKipcbiAqIFByZS1jb25maWd1cmVkIHRvb2xiYXIgY29tcG9uZW50IGZvciBNVUkgRGF0YUdyaWQgd2l0aCBlc3NlbnRpYWwgdG9vbHMuXG4gKlxuICogVGhpcyBjb21wb25lbnQgcHJvdmlkZXMgYSByZWFkeS10by11c2UgdG9vbGJhciBmb3IgTVVJIERhdGFHcmlkIGNvbXBvbmVudHNcbiAqIHRoYXQgaW5jbHVkZXMgcXVpY2sgZmlsdGVyaW5nLCBjb2x1bW4gbWFuYWdlbWVudCwgYWR2YW5jZWQgZmlsdGVyaW5nLCBhbmRcbiAqIGRhdGEgZXhwb3J0IGNhcGFiaWxpdGllcy4gVGhlIHF1aWNrIGZpbHRlciBpbnB1dCBpcyBzdHlsZWQgd2l0aCBjdXN0b21cbiAqIGJvcmRlciByYWRpdXMgYW5kIHBhZGRpbmcgZm9yIGEgcG9saXNoZWQgYXBwZWFyYW5jZS5cbiAqXG4gKiBGZWF0dXJlcyBpbmNsdWRlZDpcbiAqIC0gUXVpY2sgZmlsdGVyIHNlYXJjaCBpbnB1dCAobGVmdC1hbGlnbmVkKVxuICogLSBDb2x1bW4gdmlzaWJpbGl0eSB0b2dnbGUgYnV0dG9uXG4gKiAtIEFkdmFuY2VkIGZpbHRlciBidXR0b25cbiAqIC0gRGF0YSBleHBvcnQgYnV0dG9uIChDU1YsIEV4Y2VsLCBldGMuKVxuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZSB3aXRoIERhdGFHcmlkOlxuICogYGBgdHN4XG4gKiA8RGF0YUdyaWRcbiAqICAgcm93cz17ZGF0YX1cbiAqICAgY29sdW1ucz17Y29sdW1uc31cbiAqICAgc2xvdHM9e3tcbiAqICAgICB0b29sYmFyOiBTaW1wbGVUb29sYmFyXG4gKiAgIH19XG4gKiAvPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIEluIGEgY3VzdG9tIGdyaWQgc2V0dXA6XG4gKiBgYGB0c3hcbiAqIDxCb3g+XG4gKiAgIDxTaW1wbGVUb29sYmFyIC8+XG4gKiAgIDxEYXRhR3JpZFxuICogICAgIHJvd3M9e2ZpbHRlcmVkRGF0YX1cbiAqICAgICBjb2x1bW5zPXt2aXNpYmxlQ29sdW1uc31cbiAqICAgICBoaWRlRm9vdGVyXG4gKiAgIC8+XG4gKiA8L0JveD5cbiAqIGBgYFxuICpcbiAqIEByZXR1cm5zIEdyaWRUb29sYmFyQ29udGFpbmVyIHdpdGggcHJlLWNvbmZpZ3VyZWQgdG9vbGJhciBlbGVtZW50c1xuICpcbiAqIEBwdWJsaWNcbiAqL1xuY29uc3QgU2ltcGxlVG9vbGJhciA9ICgpID0+IChcbiAgPEdyaWRUb29sYmFyQ29udGFpbmVyPlxuICAgIDxCb3hcbiAgICAgIHN4PXt7XG4gICAgICAgIFwiJiAuTXVpSW5wdXRCYXNlLXJvb3RcIjoge1xuICAgICAgICAgIGJvcmRlclJhZGl1czogXCI4cHhcIixcbiAgICAgICAgICBwYWRkaW5nOiBcIjZweCAxMHB4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIFwiJiBpbnB1dFwiOiB7XG4gICAgICAgICAgZm9udFNpemU6IFwiMTRweFwiLFxuICAgICAgICAgIGNvbG9yOiBcIiMzMzNcIixcbiAgICAgICAgfSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjhweFwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8R3JpZFRvb2xiYXJRdWlja0ZpbHRlciAvPlxuICAgIDwvQm94PlxuICAgIDxCb3ggc3g9e3sgZmxleEdyb3c6IDEgfX0gLz5cbiAgICA8R3JpZFRvb2xiYXJDb2x1bW5zQnV0dG9uIC8+XG4gICAgPEdyaWRUb29sYmFyRmlsdGVyQnV0dG9uIC8+XG4gICAgPEdyaWRUb29sYmFyRXhwb3J0IC8+XG4gIDwvR3JpZFRvb2xiYXJDb250YWluZXI+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBTaW1wbGVUb29sYmFyO1xuIiwiaW1wb3J0IHR5cGUgeyBCdXR0b25Qcm9wcyB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBCdXR0b24sIENpcmN1bGFyUHJvZ3Jlc3MgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIFNpbXBsZUJ1dHRvbiBjb21wb25lbnQuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZUJ1dHRvblByb3BzIGV4dGVuZHMgQnV0dG9uUHJvcHMge1xuICAvKipcbiAgICogQ29udHJvbHMgYnV0dG9uIHZpc2liaWxpdHkuIFdoZW4gZmFsc2UsIHRoZSBjb21wb25lbnQgcmV0dXJucyBudWxsLlxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIHNob3c/OiBib29sZWFuO1xuICAvKipcbiAgICogTG9hZGluZyBzdGF0ZSB3aXRoIHNwaW5uZXIuIFdoZW4gdHJ1ZSwgc2hvd3MgYSBsb2FkaW5nIHNwaW5uZXIgYW5kIGRpc2FibGVzIHRoZSBidXR0b24uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogVGVzdCBpZGVudGlmaWVyIGZvciB0ZXN0aW5nIGZyYW1ld29ya3MuXG4gICAqIEBleGFtcGxlIFwic3VibWl0LWJ1dHRvblwiXG4gICAqL1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIHRleHQgdG8gZGlzcGxheSB3aGVuIGxvYWRpbmcgaXMgdHJ1ZS4gSWYgbm90IHByb3ZpZGVkLCBvcmlnaW5hbCBjaGlsZHJlbiBhcmUgc2hvd24uXG4gICAqIEBleGFtcGxlIFwiU2F2aW5nLi4uXCJcbiAgICovXG4gIGxvYWRpbmdUZXh0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVuaGFuY2VkIE1VSSBCdXR0b24gY29tcG9uZW50IHdpdGggbG9hZGluZyBzdGF0ZXMgYW5kIGNvbmRpdGlvbmFsIHJlbmRlcmluZy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBleHRlbmRzIHRoZSBzdGFuZGFyZCBNVUkgQnV0dG9uIHdpdGggYWRkaXRpb25hbCBmZWF0dXJlczpcbiAqIC0gTG9hZGluZyBzdGF0ZSB3aXRoIHNwaW5uZXJcbiAqIC0gQ29uZGl0aW9uYWwgcmVuZGVyaW5nIGJhc2VkIG9uIHNob3cgcHJvcFxuICogLSBBdXRvbWF0aWMgZGlzYWJsaW5nIGR1cmluZyBsb2FkaW5nXG4gKiAtIEN1c3RvbSBsb2FkaW5nIHRleHQgc3VwcG9ydFxuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZTpcbiAqIGBgYHRzeFxuICogPFNpbXBsZUJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gKiAgIENsaWNrIE1lXG4gKiA8L1NpbXBsZUJ1dHRvbj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGxvYWRpbmcgc3RhdGU6XG4gKiBgYGB0c3hcbiAqIDxTaW1wbGVCdXR0b25cbiAqICAgbG9hZGluZz17aXNTdWJtaXR0aW5nfVxuICogICBsb2FkaW5nVGV4dD1cIlNhdmluZy4uLlwiXG4gKiAgIHZhcmlhbnQ9XCJjb250YWluZWRcIlxuICogPlxuICogICBTYXZlIENoYW5nZXNcbiAqIDwvU2ltcGxlQnV0dG9uPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIENvbmRpdGlvbmFsIHJlbmRlcmluZzpcbiAqIGBgYHRzeFxuICogPFNpbXBsZUJ1dHRvblxuICogICBzaG93PXtoYXNQZXJtaXNzaW9ufVxuICogICB2YXJpYW50PVwib3V0bGluZWRcIlxuICogPlxuICogICBBZG1pbiBBY3Rpb25cbiAqIDwvU2ltcGxlQnV0dG9uPlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGV4dGVuZGluZyBNVUkgQnV0dG9uUHJvcHNcbiAqIEBwYXJhbSByZWYgLSBGb3J3YXJkZWQgcmVmIHRvIHRoZSB1bmRlcmx5aW5nIGJ1dHRvbiBlbGVtZW50XG4gKiBAcmV0dXJucyBKU1ggZWxlbWVudCBvciBudWxsIGlmIHNob3cgaXMgZmFsc2VcbiAqXG4gKiBAcHVibGljXG4gKi9cbmNvbnN0IFNpbXBsZUJ1dHRvbiA9IG1lbW8oZm9yd2FyZFJlZjxIVE1MQnV0dG9uRWxlbWVudCwgU2ltcGxlQnV0dG9uUHJvcHM+KFxuICAoe1xuICAgIHNob3cgPSB0cnVlLFxuICAgIGxvYWRpbmcgPSBmYWxzZSxcbiAgICBsb2FkaW5nVGV4dCxcbiAgICBjaGlsZHJlbixcbiAgICAuLi5yZXN0XG4gIH0sIHJlZikgPT4ge1xuICAgIGlmICghc2hvdykgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgIGRpc2FibGVkPXtsb2FkaW5nIHx8IHJlc3QuZGlzYWJsZWR9XG4gICAgICAgICAgc3RhcnRJY29uPXtsb2FkaW5nID8gPENpcmN1bGFyUHJvZ3Jlc3Mgc2l6ZT17MTZ9IC8+IDogcmVzdC5zdGFydEljb259XG4gICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgID5cbiAgICAgICAgICB7bG9hZGluZyAmJiBsb2FkaW5nVGV4dCA/IGxvYWRpbmdUZXh0IDogY2hpbGRyZW59XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKSk7XG5cblNpbXBsZUJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiU2ltcGxlQnV0dG9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IFNpbXBsZUJ1dHRvbjtcbiIsImltcG9ydCB0eXBlIHsgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBQcm9wcyBmb3IgdGhlIEF1dGhvcml6ZWRWaWV3IGNvbXBvbmVudC5cbiAqXG4gKiBAcHVibGljXG4gKi9cbnR5cGUgQXV0aG9yaXplZFZpZXdQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuICYge1xuICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciB0aGUgY2hpbGRyZW4gc2hvdWxkIGJlIHJlbmRlcmVkLiBXaGVuIGZhbHNlLCBub3RoaW5nIGlzIHJlbmRlcmVkLlxuICAgKiBAZXhhbXBsZSB0cnVlIC0gU2hvdyBjb250ZW50LCBmYWxzZSAtIEhpZGUgY29udGVudFxuICAgKi9cbiAgc2hvdzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQ29uZGl0aW9uYWwgcmVuZGVyaW5nIGNvbXBvbmVudCB0aGF0IHNob3dzIG9yIGhpZGVzIGNvbnRlbnQgYmFzZWQgb24gYXV0aG9yaXphdGlvbiBzdGF0ZS5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gY29uZGl0aW9uYWxseSByZW5kZXIgY2hpbGQgY29tcG9uZW50c1xuICogYmFzZWQgb24gYSBib29sZWFuIGZsYWcsIHR5cGljYWxseSB1c2VkIGZvciBhdXRob3JpemF0aW9uIG9yIHBlcm1pc3Npb24tYmFzZWQgcmVuZGVyaW5nLlxuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZTpcbiAqIGBgYHRzeFxuICogPEF1dGhvcml6ZWRWaWV3IHNob3c9e2hhc1Blcm1pc3Npb259PlxuICogICA8QWRtaW5QYW5lbCAvPlxuICogPC9BdXRob3JpemVkVmlldz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIHVzZXIgcm9sZXM6XG4gKiBgYGB0c3hcbiAqIDxBdXRob3JpemVkVmlldyBzaG93PXt1c2VyLnJvbGUgPT09ICdhZG1pbid9PlxuICogICA8RGVsZXRlQnV0dG9uIC8+XG4gKiA8L0F1dGhvcml6ZWRWaWV3PlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGluY2x1ZGluZyBjaGlsZHJlbiBhbmQgc2hvdyBmbGFnXG4gKiBAcmV0dXJucyBKU1ggY2hpbGRyZW4gaWYgc2hvdyBpcyB0cnVlLCBlbXB0eSBmcmFnbWVudCBpZiBmYWxzZVxuICpcbiAqIEBwdWJsaWNcbiAqL1xuY29uc3QgQXV0aG9yaXplZFZpZXcgPSAoeyBjaGlsZHJlbiwgc2hvdyB9OiBBdXRob3JpemVkVmlld1Byb3BzKSA9PiB7XG4gIGlmICghc2hvdykgcmV0dXJuIDw+PC8+O1xuXG4gIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBdXRob3JpemVkVmlldztcbiIsImltcG9ydCB0eXBlIHsgU3hQcm9wcyB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuXG4vKipcbiAqIFByb3BzIGZvciB0aGUgQ2FuY2VsQnV0dG9uIGNvbXBvbmVudC5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmludGVyZmFjZSBDYW5jZWxCdXR0b25Qcm9wcyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgYSBmb3JtIG9yIG9wZXJhdGlvbiBpcyBjdXJyZW50bHkgYmVpbmcgc3VibWl0dGVkLlxuICAgKiBXaGVuIHRydWUsIHRoZSBidXR0b24gaXMgZGlzYWJsZWQgdG8gcHJldmVudCBtdWx0aXBsZSBjYW5jZWwgYWN0aW9ucy5cbiAgICovXG4gIGlzU3VibWl0dGluZzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIGV4ZWN1dGVkIHdoZW4gdGhlIGNhbmNlbCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogU2hvdWxkIGhhbmRsZSB0aGUgY2FuY2VsbGF0aW9uIGxvZ2ljIChlLmcuLCBmb3JtIHJlc2V0LCBuYXZpZ2F0aW9uLCBldGMuKS5cbiAgICovXG4gIGhhbmRsZUNhbmNlbDogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE1VSSBzeCBwcm9wIGZvciBjdXN0b20gc3R5bGluZy5cbiAgICogQGV4YW1wbGUgeyBtdDogMiwgYmdjb2xvcjogJ2Vycm9yLm1haW4nIH1cbiAgICovXG4gIHN4PzogU3hQcm9wcztcbn1cblxuLyoqXG4gKiBTdGFuZGFyZGl6ZWQgY2FuY2VsIGJ1dHRvbiBjb21wb25lbnQgd2l0aCBzdWJtaXNzaW9uIHN0YXRlIGhhbmRsaW5nLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IHByb3ZpZGVzIGEgY29uc2lzdGVudCBjYW5jZWwgYnV0dG9uIGltcGxlbWVudGF0aW9uIHRoYXQgYXV0b21hdGljYWxseVxuICogaGFuZGxlcyBkaXNhYmxlZCBzdGF0ZXMgZHVyaW5nIGZvcm0gc3VibWlzc2lvbnMuIEl0J3MgZGVzaWduZWQgdG8gYmUgdXNlZCBpbiBmb3Jtc1xuICogYW5kIGRpYWxvZ3Mgd2hlcmUgdXNlcnMgbmVlZCB0byBjYW5jZWwgb3BlcmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZVxuICogQmFzaWMgdXNhZ2UgaW4gYSBmb3JtOlxuICogYGBgdHN4XG4gKiA8Q2FuY2VsQnV0dG9uXG4gKiAgIGlzU3VibWl0dGluZz17aXNMb2FkaW5nfVxuICogICBoYW5kbGVDYW5jZWw9eygpID0+IG5hdmlnYXRlKCcvcHJldmlvdXMtcGFnZScpfVxuICogLz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGN1c3RvbSBzdHlsaW5nOlxuICogYGBgdHN4XG4gKiA8Q2FuY2VsQnV0dG9uXG4gKiAgIGlzU3VibWl0dGluZz17Zm9ybS5mb3JtU3RhdGUuaXNTdWJtaXR0aW5nfVxuICogICBoYW5kbGVDYW5jZWw9e2Zvcm0ucmVzZXR9XG4gKiAgIHN4PXt7IG10OiAyLCBjb2xvcjogJ2Vycm9yLm1haW4nIH19XG4gKiAvPlxuICogYGBgXG4gKlxuICogQHBhcmFtIHByb3BzIC0gQ29tcG9uZW50IHByb3BzIGZvciBjYW5jZWwgYnV0dG9uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIE1VSSBCdXR0b24gY29tcG9uZW50IGNvbmZpZ3VyZWQgYXMgYSBjYW5jZWwgYnV0dG9uXG4gKlxuICogQHB1YmxpY1xuICovXG5jb25zdCBDYW5jZWxCdXR0b24gPSAoe1xuICBpc1N1Ym1pdHRpbmcsXG4gIGhhbmRsZUNhbmNlbCxcbiAgc3gsXG59OiBDYW5jZWxCdXR0b25Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICBvbkNsaWNrPXtoYW5kbGVDYW5jZWx9XG4gICAgICBkaXNhYmxlZD17aXNTdWJtaXR0aW5nfVxuICAgICAgc3g9e3N4fVxuICAgID5cbiAgICAgIENhbmNlbFxuICAgIDwvQnV0dG9uPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ2FuY2VsQnV0dG9uO1xuIl19
@@ -0,0 +1,140 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/hooks/useTransform/index.ts
2
+ function useTransform(options) {
3
+ const value = typeof _optionalChain([options, 'access', _ => _.transform, 'optionalAccess', _2 => _2.input]) === "function" ? options.transform.input(options.value) : options.value;
4
+ const onChange = (eventOrValue, value2) => {
5
+ if (typeof _optionalChain([options, 'access', _3 => _3.transform, 'optionalAccess', _4 => _4.output]) === "function") {
6
+ options.onChange(options.transform.output(eventOrValue, value2));
7
+ } else {
8
+ options.onChange(eventOrValue);
9
+ }
10
+ };
11
+ return {
12
+ value,
13
+ onChange
14
+ };
15
+ }
16
+
17
+ // src/hooks/useTransform/enhanced.ts
18
+ var _react = require('react');
19
+ var transformFactories = {
20
+ number: () => ({
21
+ input: (value) => {
22
+ if (value == null) return "";
23
+ return String(value);
24
+ },
25
+ output: (eventOrValue, _value) => {
26
+ let rawValue;
27
+ if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
28
+ rawValue = String(eventOrValue.target.value);
29
+ } else {
30
+ rawValue = String(eventOrValue);
31
+ }
32
+ if (rawValue === "") return null;
33
+ const numValue = Number(rawValue);
34
+ return isNaN(numValue) ? null : numValue;
35
+ }
36
+ }),
37
+ text: () => ({
38
+ input: (value) => {
39
+ return _nullishCoalesce(value, () => ( ""));
40
+ },
41
+ output: (eventOrValue, _value) => {
42
+ if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
43
+ return eventOrValue.target.value;
44
+ }
45
+ return eventOrValue;
46
+ }
47
+ }),
48
+ select: () => ({
49
+ input: (value) => {
50
+ return _nullishCoalesce(value, () => ( ""));
51
+ },
52
+ output: (eventOrValue, value) => {
53
+ if (value !== void 0) {
54
+ return value;
55
+ }
56
+ if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
57
+ return eventOrValue.target.value;
58
+ }
59
+ return eventOrValue;
60
+ }
61
+ })
62
+ };
63
+ function getBuiltInTransform(fieldType) {
64
+ switch (fieldType) {
65
+ case "number":
66
+ return transformFactories.number();
67
+ case "text":
68
+ return transformFactories.text();
69
+ case "select":
70
+ case "radio":
71
+ return transformFactories.select();
72
+ default:
73
+ return void 0;
74
+ }
75
+ }
76
+ function useEnhancedTransform(options) {
77
+ const {
78
+ value: fieldValue,
79
+ onChange: fieldOnChange,
80
+ transform,
81
+ fieldType,
82
+ defaultValue,
83
+ enableWarnings
84
+ } = options;
85
+ const builtInTransform = _react.useMemo.call(void 0,
86
+ () => fieldType ? getBuiltInTransform(fieldType) : void 0,
87
+ [fieldType]
88
+ );
89
+ if (enableWarnings && process.env.NODE_ENV === "development") {
90
+ if (transform && fieldType) {
91
+ console.warn(
92
+ "useEnhancedTransform: Both custom transform and fieldType provided. Custom transform will take precedence."
93
+ );
94
+ }
95
+ }
96
+ const transformedValue = _react.useMemo.call(void 0, () => {
97
+ const inputTransform = _optionalChain([transform, 'optionalAccess', _5 => _5.input]) || _optionalChain([builtInTransform, 'optionalAccess', _6 => _6.input]);
98
+ if (typeof inputTransform === "function") {
99
+ return inputTransform(fieldValue);
100
+ }
101
+ if (fieldValue == null && defaultValue !== void 0) {
102
+ return defaultValue;
103
+ }
104
+ return fieldValue;
105
+ }, [fieldValue, _optionalChain([transform, 'optionalAccess', _7 => _7.input]), _optionalChain([builtInTransform, 'optionalAccess', _8 => _8.input]), defaultValue]);
106
+ const enhancedOnChange = _react.useCallback.call(void 0,
107
+ (eventOrValue, value) => {
108
+ const outputTransform = _optionalChain([transform, 'optionalAccess', _9 => _9.output]) || _optionalChain([builtInTransform, 'optionalAccess', _10 => _10.output]);
109
+ if (typeof outputTransform === "function") {
110
+ try {
111
+ const transformedValue2 = outputTransform(eventOrValue, value);
112
+ fieldOnChange(transformedValue2);
113
+ } catch (error) {
114
+ if (enableWarnings && process.env.NODE_ENV === "development") {
115
+ console.error("useEnhancedTransform: Error in output transformation:", error);
116
+ }
117
+ fieldOnChange(
118
+ value !== void 0 ? value : eventOrValue
119
+ );
120
+ }
121
+ } else {
122
+ fieldOnChange(
123
+ value !== void 0 ? value : eventOrValue
124
+ );
125
+ }
126
+ },
127
+ [fieldOnChange, _optionalChain([transform, 'optionalAccess', _11 => _11.output]), _optionalChain([builtInTransform, 'optionalAccess', _12 => _12.output]), enableWarnings]
128
+ );
129
+ return {
130
+ value: transformedValue,
131
+ onChange: enhancedOnChange
132
+ };
133
+ }
134
+
135
+
136
+
137
+
138
+
139
+ exports.useTransform = useTransform; exports.transformFactories = transformFactories; exports.useEnhancedTransform = useEnhancedTransform;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1IRUhQS000Qi5janMiLCIuLi9zcmMvaG9va3MvdXNlVHJhbnNmb3JtL2luZGV4LnRzIiwiLi4vc3JjL2hvb2tzL3VzZVRyYW5zZm9ybS9lbmhhbmNlZC50cyJdLCJuYW1lcyI6WyJ2YWx1ZSIsInRyYW5zZm9ybWVkVmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBO0FDNkdPLFNBQVMsWUFBQSxDQUtkLE9BQUEsRUFDaUQ7QUFDakQsRUFBQSxNQUFNLE1BQUEsRUFDSix1QkFBTyxPQUFBLG1CQUFRLFNBQUEsNkJBQVcsUUFBQSxJQUFVLFdBQUEsRUFDaEMsT0FBQSxDQUFRLFNBQUEsQ0FBVSxLQUFBLENBQU0sT0FBQSxDQUFRLEtBQUssRUFBQSxFQUNyQyxPQUFBLENBQVEsS0FBQTtBQUVkLEVBQUEsTUFBTSxTQUFBLEVBQVcsQ0FDZixZQUFBLEVBQ0FBLE1BQUFBLEVBQUFBLEdBQ1M7QUFDVCxJQUFBLEdBQUEsQ0FBSSx1QkFBTyxPQUFBLHFCQUFRLFNBQUEsNkJBQVcsU0FBQSxJQUFXLFVBQUEsRUFBWTtBQUNuRCxNQUFBLE9BQUEsQ0FBUSxRQUFBLENBQVMsT0FBQSxDQUFRLFNBQUEsQ0FBVSxNQUFBLENBQU8sWUFBQSxFQUFjQSxNQUFLLENBQUMsQ0FBQTtBQUFBLElBQ2hFLEVBQUEsS0FBTztBQUVMLE1BQUEsT0FBQSxDQUFRLFFBQUEsQ0FBUyxZQUE4QyxDQUFBO0FBQUEsSUFDakU7QUFBQSxFQUNGLENBQUE7QUFFQSxFQUFBLE9BQU87QUFBQSxJQUNMLEtBQUE7QUFBQSxJQUNBO0FBQUEsRUFDRixDQUFBO0FBQ0Y7QUQxSEE7QUFDQTtBRWhCQSw4QkFBcUM7QUFtRjlCLElBQU0sbUJBQUEsRUFBcUI7QUFBQSxFQUNoQyxNQUFBLEVBQVEsQ0FBQSxFQUFBLEdBQUEsQ0FBZ0Y7QUFBQSxJQUN0RixLQUFBLEVBQU8sQ0FBQyxLQUFBLEVBQUEsR0FBMEM7QUFDaEQsTUFB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QUEsTUFDRjtBQUFBLElBQ0YsQ0FBQTtBQUFBLElBQ0EsQ0FBQyxhQUFBLGtCQUFlLFNBQUEsK0JBQVcsUUFBQSxrQkFBUSxnQkFBQSwrQkFBa0IsUUFBQSxFQUFRLGNBQWM7QUFBQSxFQUM3RSxDQUFBO0FBRUEsRUFBQSxPQUFPO0FBQUEsSUFDTCxLQUFBLEVBQU8sZ0JBQUE7QUFBQSxJQUNQLFFBQUEsRUFBVTtBQUFBLEVBQ1osQ0FBQTtBQUNGO0FGM01BO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDRiwwSUFBQyIsImZpbGUiOiIvYnVpbGRzL2xpYnMvR05XZWJTb2Z0LlVJL3BhY2thZ2VzL3VpL2Rpc3QvY2h1bmstSEVIUEtNNEIuY2pzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgdHlwZSB7XG4gIEZpZWxkUGF0aCxcbiAgRmllbGRWYWx1ZXMsXG4gIFBhdGhWYWx1ZSxcbiAgVXNlQ29udHJvbGxlclJldHVybixcbn0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudE9yVmFsdWUgfSBmcm9tIFwiLi4vLi4vdHlwZXMvZXZlbnRzXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHVzZVRyYW5zZm9ybSBob29rLlxuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZVxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIG5hbWUgdHlwZVxuICogQHRlbXBsYXRlIFRWYWx1ZSAtIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0eXBlXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZVRyYW5zZm9ybU9wdGlvbnM8XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzID0gRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPixcbiAgVFZhbHVlID0gdW5rbm93bixcbj4ge1xuICAvKiogVGhlIGN1cnJlbnQgZmllbGQgdmFsdWUgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgdmFsdWU6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcInZhbHVlXCJdO1xuICAvKiogVGhlIG9uQ2hhbmdlIGhhbmRsZXIgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xuICAvKiogT3B0aW9uYWwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25zICovXG4gIHRyYW5zZm9ybT86IHtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gdGhlIGZpZWxkIHZhbHVlIGZvciBkaXNwbGF5IGluIHRoZSBpbnB1dFxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjdXJyZW50IGZpZWxkIHZhbHVlXG4gICAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBpbnB1dD86ICh2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiBUVmFsdWU7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtIHRoZSBpbnB1dCBldmVudCBiYWNrIHRvIHRoZSBmaWVsZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBpbnB1dCBldmVudCBwYXJhbWV0ZXJzXG4gICAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHRvIHN0b3JlIGluIHRoZSBmb3JtXG4gICAgICovXG4gICAgb3V0cHV0PzogKFxuICAgICAgZXZlbnRPclZhbHVlOiBFdmVudE9yVmFsdWU8UGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+PixcbiAgICAgIHZhbHVlPzogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+XG4gICAgKSA9PiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT47XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJuIHR5cGUgZm9yIHRoZSB1c2VUcmFuc2Zvcm0gaG9vay5cbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIGZvcm0gdmFsdWVzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUTmFtZSAtIFRoZSBmaWVsZCBuYW1lIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUVmFsdWUgLSBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdHlwZVxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VUcmFuc2Zvcm1SZXR1cm48XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzID0gRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPixcbiAgVFZhbHVlID0gdW5rbm93bixcbj4ge1xuICAvKiogVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHRvIGRpc3BsYXkgaW4gdGhlIGlucHV0ICovXG4gIHZhbHVlOiBUVmFsdWU7XG4gIC8qKiBUaGUgZW5oYW5jZWQgb25DaGFuZ2UgaGFuZGxlciB3aXRoIHRyYW5zZm9ybWF0aW9uIGFwcGxpZWQgKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xufVxuXG4vKipcbiAqIEEgaG9vayBmb3IgdHJhbnNmb3JtaW5nIGZvcm0gZmllbGQgdmFsdWVzIGJldHdlZW4gZGlzcGxheSBhbmQgc3RvcmFnZSBmb3JtYXRzLlxuICpcbiAqIFRoaXMgaG9vayBwcm92aWRlcyBhIHdheSB0byB0cmFuc2Zvcm0gdmFsdWVzIGFzIHRoZXkgZmxvdyBiZXR3ZWVuIHRoZSBmb3JtIGZpZWxkXG4gKiBhbmQgdGhlIGRpc3BsYXkgY29tcG9uZW50LiBJdCdzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGZvcm1hdHRpbmcgZGF0YSBmb3IgZGlzcGxheVxuICogKGxpa2UgZGF0ZXMsIG51bWJlcnMsIG9yIGNvbXBsZXggb2JqZWN0cykgd2hpbGUgbWFpbnRhaW5pbmcgYSBkaWZmZXJlbnQgaW50ZXJuYWxcbiAqIHJlcHJlc2VudGF0aW9uIGluIHRoZSBmb3JtIHN0YXRlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBUcmFuc2Zvcm0gYSBkYXRlIGZvciBkaXNwbGF5OlxuICogYGBgdHN4XG4gKiBjb25zdCB7IHZhbHVlLCBvbkNoYW5nZSB9ID0gdXNlVHJhbnNmb3JtKHtcbiAqICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICogICBvbkNoYW5nZTogZmllbGQub25DaGFuZ2UsXG4gKiAgIHRyYW5zZm9ybToge1xuICogICAgIGlucHV0OiAoZGF0ZSkgPT4gZGF0ZSA/IGZvcm1hdChkYXRlLCAneXl5eS1NTS1kZCcpIDogJycsXG4gKiAgICAgb3V0cHV0OiAoZXZlbnQpID0+IG5ldyBEYXRlKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogVHJhbnNmb3JtIG51bWJlcnMgd2l0aCBmb3JtYXR0aW5nOlxuICogYGBgdHN4XG4gKiBjb25zdCB7IHZhbHVlLCBvbkNoYW5nZSB9ID0gdXNlVHJhbnNmb3JtKHtcbiAqICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICogICBvbkNoYW5nZTogZmllbGQub25DaGFuZ2UsXG4gKiAgIHRyYW5zZm9ybToge1xuICogICAgIGlucHV0OiAobnVtKSA9PiBudW0gPyBudW0udG9Mb2NhbGVTdHJpbmcoKSA6ICcnLFxuICogICAgIG91dHB1dDogKGV2ZW50KSA9PiBwYXJzZUZsb2F0KGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlKC8sL2csICcnKSlcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIGZvcm0gdmFsdWVzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUTmFtZSAtIFRoZSBmaWVsZCBuYW1lIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUVmFsdWUgLSBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGluY2x1ZGluZyB2YWx1ZSwgb25DaGFuZ2UsIGFuZCB0cmFuc2Zvcm0gZnVuY3Rpb25zXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0cmFuc2Zvcm1lZCB2YWx1ZSBhbmQgZW5oYW5jZWQgb25DaGFuZ2UgaGFuZGxlclxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRyYW5zZm9ybTxcbiAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcbiAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LFxuICBUVmFsdWUgPSB1bmtub3duLFxuPihcbiAgb3B0aW9uczogVXNlVHJhbnNmb3JtT3B0aW9uczxURmllbGRWYWx1ZXMsIFROYW1lLCBUVmFsdWU+XG4pOiBVc2VUcmFuc2Zvcm1SZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZSwgVFZhbHVlPiB7XG4gIGNvbnN0IHZhbHVlID1cbiAgICB0eXBlb2Ygb3B0aW9ucy50cmFuc2Zvcm0/LmlucHV0ID09PSBcImZ1bmN0aW9uXCJcbiAgICAgID8gb3B0aW9ucy50cmFuc2Zvcm0uaW5wdXQob3B0aW9ucy52YWx1ZSlcbiAgICAgIDogb3B0aW9ucy52YWx1ZTtcblxuICBjb25zdCBvbkNoYW5nZSA9IChcbiAgICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4+LFxuICAgIHZhbHVlPzogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+XG4gICk6IHZvaWQgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy50cmFuc2Zvcm0/Lm91dHB1dCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBvcHRpb25zLm9uQ2hhbmdlKG9wdGlvbnMudHJhbnNmb3JtLm91dHB1dChldmVudE9yVmFsdWUsIHZhbHVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFBhc3MgdGhyb3VnaCB0aGUgZXZlbnQgb3IgdmFsdWUgZGlyZWN0bHlcbiAgICAgIG9wdGlvbnMub25DaGFuZ2UoZXZlbnRPclZhbHVlIGFzIFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPik7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdmFsdWUsXG4gICAgb25DaGFuZ2UsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVRyYW5zZm9ybTtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IENoYW5nZUV2ZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEZpZWxkUGF0aCxcbiAgRmllbGRWYWx1ZXMsXG4gIFBhdGhWYWx1ZSxcbiAgVXNlQ29udHJvbGxlclJldHVybixcbn0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudE9yVmFsdWUsIElucHV0RWxlbWVudCB9IGZyb20gXCIuLi8uLi90eXBlcy9ldmVudHNcIjtcblxuLyoqXG4gKiBGaWVsZCB0eXBlcyBmb3IgYnVpbHQtaW4gdHJhbnNmb3JtYXRpb24gcGF0dGVybnNcbiAqL1xuZXhwb3J0IHR5cGUgRmllbGRUeXBlID0gJ3RleHQnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAndGltZScgfCAnc2VsZWN0JyB8ICdyYWRpbyc7XG5cbi8qKlxuICogRW5oYW5jZWQgb3B0aW9ucyBmb3IgdGhlIHVzZVRyYW5zZm9ybSBob29rIHdpdGggcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uc1xuICogYW5kIGJ1aWx0LWluIGZpZWxkIHR5cGUgaGFuZGxpbmcuXG4gKlxuICogQHRlbXBsYXRlIFRGaWVsZFZhbHVlcyAtIFRoZSBmb3JtIHZhbHVlcyB0eXBlXG4gKiBAdGVtcGxhdGUgVE5hbWUgLSBUaGUgZmllbGQgbmFtZSB0eXBlXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHR5cGVcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5oYW5jZWRVc2VUcmFuc2Zvcm1PcHRpb25zPFxuICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxuICBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+ID0gRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sXG4gIFRWYWx1ZSA9IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPixcbj4ge1xuICAvKiogVGhlIGN1cnJlbnQgZmllbGQgdmFsdWUgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgdmFsdWU6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcInZhbHVlXCJdO1xuICAvKiogVGhlIG9uQ2hhbmdlIGhhbmRsZXIgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xuICAvKiogT3B0aW9uYWwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25zICovXG4gIHRyYW5zZm9ybT86IHtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gdGhlIGZpZWxkIHZhbHVlIGZvciBkaXNwbGF5IGluIHRoZSBpbnB1dFxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjdXJyZW50IGZpZWxkIHZhbHVlXG4gICAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBpbnB1dD86ICh2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiBUVmFsdWU7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtIHRoZSBpbnB1dCBldmVudCBiYWNrIHRvIHRoZSBmaWVsZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBpbnB1dCBldmVudCBvciB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0byBzdG9yZSBpbiB0aGUgZm9ybVxuICAgICAqL1xuICAgIG91dHB1dD86IChcbiAgICAgIGV2ZW50T3JWYWx1ZTogRXZlbnRPclZhbHVlPFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPj4sXG4gICAgICB2YWx1ZT86IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPlxuICAgICkgPT4gUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+O1xuICB9O1xuICAvKiogQnVpbHQtaW4gZmllbGQgdHlwZSBmb3IgYXV0b21hdGljIHRyYW5zZm9ybWF0aW9uICovXG4gIGZpZWxkVHlwZT86IEZpZWxkVHlwZTtcbiAgLyoqIERlZmF1bHQgdmFsdWUgdG8gdXNlIHdoZW4gZmllbGQgdmFsdWUgaXMgbnVsbC91bmRlZmluZWQgKi9cbiAgZGVmYXVsdFZhbHVlPzogVFZhbHVlO1xuICAvKiogRW5hYmxlIGRldmVsb3BtZW50IHdhcm5pbmdzIGZvciBkZWJ1Z2dpbmcgKi9cbiAgZW5hYmxlV2FybmluZ3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVuaGFuY2VkIHJldHVybiB0eXBlIGZvciB0aGUgdXNlVHJhbnNmb3JtIGhvb2sgd2l0aCBzdGFibGUgcmVmZXJlbmNlc1xuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZVxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIG5hbWUgdHlwZSAgXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHR5cGVcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5oYW5jZWRVc2VUcmFuc2Zvcm1SZXR1cm48XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzID0gRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPixcbiAgVFZhbHVlID0gUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+LFxuPiB7XG4gIC8qKiBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgaW5wdXQgKG1lbW9pemVkKSAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKiogVGhlIGVuaGFuY2VkIG9uQ2hhbmdlIGhhbmRsZXIgd2l0aCB0cmFuc2Zvcm1hdGlvbiBhcHBsaWVkIChtZW1vaXplZCkgKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybSBmYWN0b3JpZXMgZm9yIGNvbW1vbiBmaWVsZCB0eXBlc1xuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtRmFjdG9yaWVzID0ge1xuICBudW1iZXI6IDxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcywgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPj4oKSA9PiAoe1xuICAgIGlucHV0OiAodmFsdWU6IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPikgPT4ge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiBcIlwiIGFzIHN0cmluZztcblxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfSxcbiAgICBvdXRwdXQ6IChcbiAgICAgIGV2ZW50T3JWYWx1ZTogRXZlbnRPclZhbHVlPFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPj4sXG4gICAgICBfdmFsdWU/OiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT5cbiAgICApID0+IHtcbiAgICAgIGxldCByYXdWYWx1ZTogc3RyaW5nO1xuICAgICAgXG4gICAgICAvLyBFeHRyYWN0IHN0cmluZyB2YWx1ZSBmcm9tIGV2ZW50IG9yIGRpcmVjdCB2YWx1ZVxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgZXZlbnRPclZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBldmVudE9yVmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgJ3RhcmdldCcgaW4gZXZlbnRPclZhbHVlICYmXG4gICAgICAgIHR5cGVvZiBldmVudE9yVmFsdWUudGFyZ2V0ID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBldmVudE9yVmFsdWUudGFyZ2V0ICE9PSBudWxsICYmXG4gICAgICAgICd2YWx1ZScgaW4gZXZlbnRPclZhbHVlLnRhcmdldFxuICAgICAgKSB7XG4gICAgICAgIHJhd1ZhbHVlID0gU3RyaW5nKChldmVudE9yVmFsdWUudGFyZ2V0IGFzIHVua25vd24gYXMgeyB2YWx1ZTogdW5rbm93biB9KS52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByYXdWYWx1ZSA9IFN0cmluZyhldmVudE9yVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmF3VmFsdWUgPT09IFwiXCIpIHJldHVybiBudWxsIGFzIFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPjtcbiAgICAgIGNvbnN0IG51bVZhbHVlID0gTnVtYmVyKHJhd1ZhbHVlKTtcblxuICAgICAgcmV0dXJuIChpc05hTihudW1WYWx1ZSkgPyBudWxsIDogbnVtVmFsdWUpIGFzIFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPjtcbiAgICB9LFxuICB9KSxcblxuICB0ZXh0OiA8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMsIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4+KCkgPT4gKHtcbiAgICBpbnB1dDogKHZhbHVlOiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4pID0+IHtcbiAgICAgIHJldHVybiAodmFsdWUgPz8gXCJcIikgYXMgc3RyaW5nO1xuICAgIH0sXG4gICAgb3V0cHV0OiAoXG4gICAgICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4+LFxuICAgICAgX3ZhbHVlPzogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+XG4gICAgKSA9PiB7XG4gICAgICAvLyBFeHRyYWN0IHN0cmluZyB2YWx1ZSBmcm9tIGV2ZW50IG9yIGRpcmVjdCB2YWx1ZVxuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgZXZlbnRPclZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBldmVudE9yVmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgJ3RhcmdldCcgaW4gZXZlbnRPclZhbHVlICYmXG4gICAgICAgIHR5cGVvZiBldmVudE9yVmFsdWUudGFyZ2V0ID09PSAnb2JqZWN0JyAmJlxuICAgICAgICBldmVudE9yVmFsdWUudGFyZ2V0ICE9PSBudWxsICYmXG4gICAgICAgICd2YWx1ZScgaW4gZXZlbnRPclZhbHVlLnRhcmdldFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAoZXZlbnRPclZhbHVlLnRhcmdldCBhcyB1bmtub3duIGFzIHsgdmFsdWU6IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPiB9KS52YWx1ZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgcmV0dXJuIGV2ZW50T3JWYWx1ZSBhcyBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT47XG4gICAgfSxcbiAgfSksXG5cbiAgc2VsZWN0OiA8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMsIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4+KCkgPT4gKHtcbiAgICBpbnB1dDogKHZhbHVlOiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4pID0+IHtcbiAgICAgIHJldHVybiB2YWx1ZSA/PyAoXCJcIiBhcyBzdHJpbmcpO1xuICAgIH0sXG4gICAgb3V0cHV0OiAoXG4gICAgICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4+LFxuICAgICAgdmFsdWU/OiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT5cbiAgICApID0+IHtcbiAgICAgIC8vIE1VSSBwYXR0ZXJuOiAoZXZlbnQsIHZhbHVlKSB3aGVyZSB2YWx1ZSBpcyB0aGUgYWN0dWFsIHNlbGVjdGVkIHZhbHVlXG4gICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+O1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBTdGFuZGFyZCBldmVudCBwYXR0ZXJuOiBleHRyYWN0IGZyb20gZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBldmVudE9yVmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAgIGV2ZW50T3JWYWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAndGFyZ2V0JyBpbiBldmVudE9yVmFsdWUgJiZcbiAgICAgICAgdHlwZW9mIGV2ZW50T3JWYWx1ZS50YXJnZXQgPT09ICdvYmplY3QnICYmXG4gICAgICAgIGV2ZW50T3JWYWx1ZS50YXJnZXQgIT09IG51bGwgJiZcbiAgICAgICAgJ3ZhbHVlJyBpbiBldmVudE9yVmFsdWUudGFyZ2V0XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChldmVudE9yVmFsdWUudGFyZ2V0IGFzIHVua25vd24gYXMgeyB2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+IH0pLnZhbHVlO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBEaXJlY3QgdmFsdWVcbiAgICAgIHJldHVybiBldmVudE9yVmFsdWUgYXMgUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+O1xuICAgIH0sXG4gIH0pLFxufSBhcyBjb25zdDs7XG5cbi8qKlxuICogR2V0IGJ1aWx0LWluIHRyYW5zZm9ybWF0aW9uIGZvciBhIGZpZWxkIHR5cGVcbiAqL1xuZnVuY3Rpb24gZ2V0QnVpbHRJblRyYW5zZm9ybTxcbiAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sXG4+KGZpZWxkVHlwZT86IEZpZWxkVHlwZSkge1xuICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgIGNhc2UgJ251bWJlcic6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmFjdG9yaWVzLm51bWJlcjxURmllbGRWYWx1ZXMsIFROYW1lPigpO1xuICAgIGNhc2UgJ3RleHQnOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZhY3Rvcmllcy50ZXh0PFRGaWVsZFZhbHVlcywgVE5hbWU+KCk7XG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICBjYXNlICdyYWRpbyc6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmFjdG9yaWVzLnNlbGVjdDxURmllbGRWYWx1ZXMsIFROYW1lPigpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogQW4gZW5oYW5jZWQgaG9vayBmb3IgdHJhbnNmb3JtaW5nIGZvcm0gZmllbGQgdmFsdWVzIHdpdGggcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uc1xuICogYW5kIGJ1aWx0LWluIGZpZWxkIHR5cGUgaGFuZGxpbmcuXG4gKlxuICogVGhpcyBlbmhhbmNlZCB2ZXJzaW9uIHByb3ZpZGVzOlxuICogLSBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zIHdpdGggdXNlTWVtbyBhbmQgdXNlQ2FsbGJhY2tcbiAqIC0gQnVpbHQtaW4gdHJhbnNmb3JtYXRpb25zIGZvciBjb21tb24gZmllbGQgdHlwZXNcbiAqIC0gQmV0dGVyIFR5cGVTY3JpcHQgaW5mZXJlbmNlXG4gKiAtIERldmVsb3BtZW50IHdhcm5pbmdzXG4gKiAtIFN0YWJsZSByZWZlcmVuY2VzIHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgcmUtcmVuZGVyc1xuICpcbiAqIEBleGFtcGxlXG4gKiBCYXNpYyB1c2FnZSB3aXRoIGJ1aWx0LWluIG51bWJlciBoYW5kbGluZzpcbiAqIGBgYHRzeFxuICogY29uc3QgeyB2YWx1ZSwgb25DaGFuZ2UgfSA9IHVzZUVuaGFuY2VkVHJhbnNmb3JtKHtcbiAqICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICogICBvbkNoYW5nZTogZmllbGQub25DaGFuZ2UsXG4gKiAgIGZpZWxkVHlwZTogJ251bWJlcidcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIEN1c3RvbSB0cmFuc2Zvcm1hdGlvbnMgKHNhbWUgYXMgb3JpZ2luYWwpOlxuICogYGBgdHN4XG4gKiBjb25zdCB7IHZhbHVlLCBvbkNoYW5nZSB9ID0gdXNlRW5oYW5jZWRUcmFuc2Zvcm0oe1xuICogICB2YWx1ZTogZmllbGQudmFsdWUsXG4gKiAgIG9uQ2hhbmdlOiBmaWVsZC5vbkNoYW5nZSxcbiAqICAgdHJhbnNmb3JtOiB7XG4gKiAgICAgaW5wdXQ6ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCkgfHwgJycsXG4gKiAgICAgb3V0cHV0OiAoZXZlbnQpID0+IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSkgfHwgbnVsbFxuICogICB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGRlZmF1bHQgdmFsdWUgYW5kIHdhcm5pbmdzOlxuICogYGBgdHN4XG4gKiBjb25zdCB7IHZhbHVlLCBvbkNoYW5nZSB9ID0gdXNlRW5oYW5jZWRUcmFuc2Zvcm0oe1xuICogICB2YWx1ZTogZmllbGQudmFsdWUsXG4gKiAgIG9uQ2hhbmdlOiBmaWVsZC5vbkNoYW5nZSxcbiAqICAgZmllbGRUeXBlOiAndGV4dCcsXG4gKiAgIGRlZmF1bHRWYWx1ZTogJycsXG4gKiAgIGVuYWJsZVdhcm5pbmdzOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50J1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIGZvcm0gdmFsdWVzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUTmFtZSAtIFRoZSBmaWVsZCBuYW1lIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUVmFsdWUgLSBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGluY2x1ZGluZyB2YWx1ZSwgb25DaGFuZ2UsIGFuZCB0cmFuc2Zvcm0gZnVuY3Rpb25zXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0cmFuc2Zvcm1lZCB2YWx1ZSBhbmQgZW5oYW5jZWQgb25DaGFuZ2UgaGFuZGxlciAoYm90aCBtZW1vaXplZClcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VFbmhhbmNlZFRyYW5zZm9ybTxcbiAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcbiAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LFxuICBUVmFsdWUgPSBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4sXG4+KFxuICBvcHRpb25zOiBFbmhhbmNlZFVzZVRyYW5zZm9ybU9wdGlvbnM8VEZpZWxkVmFsdWVzLCBUTmFtZSwgVFZhbHVlPlxuKTogRW5oYW5jZWRVc2VUcmFuc2Zvcm1SZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZSwgVFZhbHVlPiB7XG4gIGNvbnN0IHsgXG4gICAgdmFsdWU6IGZpZWxkVmFsdWUsIFxuICAgIG9uQ2hhbmdlOiBmaWVsZE9uQ2hhbmdlLCBcbiAgICB0cmFuc2Zvcm0sIFxuICAgIGZpZWxkVHlwZSwgXG4gICAgZGVmYXVsdFZhbHVlLFxuICAgIGVuYWJsZVdhcm5pbmdzIFxuICB9ID0gb3B0aW9ucztcblxuICAvLyBHZXQgYnVpbHQtaW4gdHJhbnNmb3JtIGlmIGZpZWxkVHlwZSBpcyBzcGVjaWZpZWRcbiAgY29uc3QgYnVpbHRJblRyYW5zZm9ybSA9IHVzZU1lbW8oKCkgPT4gXG4gICAgZmllbGRUeXBlID8gZ2V0QnVpbHRJblRyYW5zZm9ybTxURmllbGRWYWx1ZXMsIFROYW1lPihmaWVsZFR5cGUpIDogdW5kZWZpbmVkLCBcbiAgICBbZmllbGRUeXBlXVxuICApO1xuXG4gIC8vIERldmVsb3BtZW50IHdhcm5pbmdzXG4gIGlmIChlbmFibGVXYXJuaW5ncyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgIGlmICh0cmFuc2Zvcm0gJiYgZmllbGRUeXBlKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICd1c2VFbmhhbmNlZFRyYW5zZm9ybTogQm90aCBjdXN0b20gdHJhbnNmb3JtIGFuZCBmaWVsZFR5cGUgcHJvdmlkZWQuIEN1c3RvbSB0cmFuc2Zvcm0gd2lsbCB0YWtlIHByZWNlZGVuY2UuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBNZW1vaXplIHRoZSB0cmFuc2Zvcm1lZCBkaXNwbGF5IHZhbHVlXG4gIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSB1c2VNZW1vKCgpOiBUVmFsdWUgPT4ge1xuICAgIGNvbnN0IGlucHV0VHJhbnNmb3JtID0gdHJhbnNmb3JtPy5pbnB1dCB8fCBidWlsdEluVHJhbnNmb3JtPy5pbnB1dDtcbiAgICBcbiAgICBpZiAodHlwZW9mIGlucHV0VHJhbnNmb3JtID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBpbnB1dFRyYW5zZm9ybShmaWVsZFZhbHVlKSBhcyBUVmFsdWU7XG4gICAgfVxuICAgIFxuICAgIC8vIEZhbGxiYWNrIHdpdGggZGVmYXVsdCB2YWx1ZSBzdXBwb3J0XG4gICAgaWYgKGZpZWxkVmFsdWUgPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGZpZWxkVmFsdWUgYXMgVFZhbHVlO1xuICB9LCBbZmllbGRWYWx1ZSwgdHJhbnNmb3JtPy5pbnB1dCwgYnVpbHRJblRyYW5zZm9ybT8uaW5wdXQsIGRlZmF1bHRWYWx1ZV0pO1xuXG4gIC8vIE1lbW9pemUgdGhlIGVuaGFuY2VkIG9uQ2hhbmdlIGhhbmRsZXJcbiAgY29uc3QgZW5oYW5jZWRPbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChcbiAgICAgIGV2ZW50T3JWYWx1ZTogRXZlbnRPclZhbHVlPFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPj4sXG4gICAgICB2YWx1ZT86IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPlxuICAgICkgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0VHJhbnNmb3JtID0gdHJhbnNmb3JtPy5vdXRwdXQgfHwgYnVpbHRJblRyYW5zZm9ybT8ub3V0cHV0O1xuICAgICAgXG4gICAgICBpZiAodHlwZW9mIG91dHB1dFRyYW5zZm9ybSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gSGFuZGxlIGJvdGggc2lnbmF0dXJlczogb2xkIChldmVudCBvbmx5KSBhbmQgbmV3IChldmVudCwgdmFsdWUpXG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZSA9IChvdXRwdXRUcmFuc2Zvcm0gYXMgKGU6IEV2ZW50T3JWYWx1ZTxQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4+LCB2PzogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT4pKGV2ZW50T3JWYWx1ZSwgdmFsdWUpO1xuXG4gICAgICAgICAgZmllbGRPbkNoYW5nZSh0cmFuc2Zvcm1lZFZhbHVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoZW5hYmxlV2FybmluZ3MgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3VzZUVuaGFuY2VkVHJhbnNmb3JtOiBFcnJvciBpbiBvdXRwdXQgdHJhbnNmb3JtYXRpb246JywgZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEZhbGxiYWNrIHRvIGRpcmVjdCB2YWx1ZSBvciBmaXJzdCBhcmd1bWVudFxuICAgICAgICAgIGZpZWxkT25DaGFuZ2UoXG4gICAgICAgICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkIFxuICAgICAgICAgICAgICA/IHZhbHVlIFxuICAgICAgICAgICAgICA6IGV2ZW50T3JWYWx1ZSBhcyBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT5cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyB0cmFuc2Zvcm0sIHBhc3MgdGhyb3VnaCB0aGUgdmFsdWUgb3IgZXZlbnRcbiAgICAgICAgZmllbGRPbkNoYW5nZShcbiAgICAgICAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkIFxuICAgICAgICAgICAgPyB2YWx1ZSBcbiAgICAgICAgICAgIDogZXZlbnRPclZhbHVlIGFzIFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2ZpZWxkT25DaGFuZ2UsIHRyYW5zZm9ybT8ub3V0cHV0LCBidWlsdEluVHJhbnNmb3JtPy5vdXRwdXQsIGVuYWJsZVdhcm5pbmdzXVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgdmFsdWU6IHRyYW5zZm9ybWVkVmFsdWUsXG4gICAgb25DaGFuZ2U6IGVuaGFuY2VkT25DaGFuZ2UsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUVuaGFuY2VkVHJhbnNmb3JtOyJdfQ==
@@ -0,0 +1,72 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/types/api.ts
2
+ function isJsonObject(value) {
3
+ return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof FormData);
4
+ }
5
+ function isJsonArray(value) {
6
+ return Array.isArray(value);
7
+ }
8
+ function isFormData(value) {
9
+ return value instanceof FormData;
10
+ }
11
+ function isRequestBody(value) {
12
+ return isJsonObject(value) || isJsonArray(value) || isFormData(value);
13
+ }
14
+
15
+ // src/types/events.ts
16
+ function isInputChangeEvent(value) {
17
+ return typeof value === "object" && value !== null && "target" in value && typeof value.target === "object" && value.target !== null && "value" in value.target;
18
+ }
19
+ function isSelectChangeEvent(value) {
20
+ return isInputChangeEvent(value);
21
+ }
22
+ function isFormChangeEvent(value) {
23
+ return isInputChangeEvent(value) || isSelectChangeEvent(value);
24
+ }
25
+ function extractEventValue(eventOrValue, fallbackValue) {
26
+ if (isFormChangeEvent(eventOrValue)) {
27
+ return eventOrValue.target.value;
28
+ }
29
+ if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
30
+ return eventOrValue.target.value;
31
+ }
32
+ return _nullishCoalesce(eventOrValue, () => ( fallbackValue));
33
+ }
34
+ function createEventValueExtractor() {
35
+ return (eventOrValue, directValue) => {
36
+ if (directValue !== void 0) {
37
+ return directValue;
38
+ }
39
+ return extractEventValue(eventOrValue);
40
+ };
41
+ }
42
+
43
+ // src/types/utilities.ts
44
+ function brand(value) {
45
+ return value;
46
+ }
47
+ function typedKeys(obj) {
48
+ return Object.keys(obj);
49
+ }
50
+ function typedEntries(obj) {
51
+ return Object.entries(obj);
52
+ }
53
+ function typedValues(obj) {
54
+ return Object.values(obj);
55
+ }
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+ exports.isJsonObject = isJsonObject; exports.isJsonArray = isJsonArray; exports.isFormData = isFormData; exports.isRequestBody = isRequestBody; exports.isInputChangeEvent = isInputChangeEvent; exports.isSelectChangeEvent = isSelectChangeEvent; exports.isFormChangeEvent = isFormChangeEvent; exports.extractEventValue = extractEventValue; exports.createEventValueExtractor = createEventValueExtractor; exports.brand = brand; exports.typedKeys = typedKeys; exports.typedEntries = typedEntries; exports.typedValues = typedValues;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1LMkVKNFlLTy5janMiLCIuLi9zcmMvdHlwZXMvYXBpLnRzIiwiLi4vc3JjL3R5cGVzL2V2ZW50cy50cyIsIi4uL3NyYy90eXBlcy91dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUMrSE8sU0FBUyxZQUFBLENBQWEsS0FBQSxFQUFxQztBQUNoRSxFQUFBLE9BQ0UsT0FBTyxNQUFBLElBQVUsU0FBQSxHQUNqQixNQUFBLElBQVUsS0FBQSxHQUNWLENBQUMsS0FBQSxDQUFNLE9BQUEsQ0FBUSxLQUFLLEVBQUEsR0FDcEIsQ0FBQSxDQUFFLE1BQUEsV0FBaUIsUUFBQSxDQUFBO0FBRXZCO0FBS08sU0FBUyxXQUFBLENBQVksS0FBQSxFQUFvQztBQUM5RCxFQUFBLE9BQU8sS0FBQSxDQUFNLE9BQUEsQ0FBUSxLQUFLLENBQUE7QUFDNUI7QUFLTyxTQUFTLFVBQUEsQ0FBVyxLQUFBLEVBQW1DO0FBQzVELEVBQUEsT0FBTyxNQUFBLFdBQWlCLFFBQUE7QUFDMUI7QUFLTyxTQUFTLGFBQUEsQ0FBYyxLQUFBLEVBQXNDO0FBQ2xFLEVBQUEsT0FBTyxZQUFBLENBQWEsS0FBSyxFQUFBLEdBQUssV0FBQSxDQUFZLEtBQUssRUFBQSxHQUFLLFVBQUEsQ0FBVyxLQUFLLENBQUE7QUFDdEU7QUQ5SUE7QUFDQTtBRTZETyxTQUFTLGtCQUFBLENBQW1CLEtBQUEsRUFBMkM7QUFDNUUsRUFBQSxPQUNFLE9BQU8sTUFBQSxJQUFVLFNBQUEsR0FDakIsTUFBQSxJQUFVLEtBQUEsR0FDVixTQUFBLEdBQVksTUFBQSxHQUNaLE9BQVEsS0FBQSxDQUE4QixPQUFBLElBQVcsU0FBQSxHQUNoRCxLQUFBLENBQThCLE9BQUEsSUFBVyxLQUFBLEdBQzFDLFFBQUEsR0FBWSxLQUFBLENBQTBDLE1BQUE7QUFFMUQ7QUFLTyxTQUFTLG1CQUFBLENBQW9CLEtBQUEsRUFBNEM7QUFDOUUsRUFBQSxPQUFPLGtCQUFBLENBQW1CLEtBQUssQ0FBQTtBQUNqQztBQUtPLFNBQVMsaUJBQUEsQ0FBa0IsS0FBQSxFQUEwQztBQUMxRSxFQUFBLE9BQU8sa0JBQUEsQ0FBbUIsS0FBSyxFQUFBLEdBQUssbUJBQUEsQ0FBb0IsS0FBSyxDQUFBO0FBQy9EO0FBTU8sU0FBUyxpQkFBQSxDQUNkLFlBQUEsRUFDQSxhQUFBLEVBQ1E7QUFFUixFQUFBLEdBQUEsQ0FBSSxpQkFBQSxDQUFrQixZQUFZLENBQUEsRUFBRztBQUNuQyxJQUFBLE9BQU8sWUFBQSxDQUFhLE1BQUEsQ0FBTyxLQUFBO0FBQUEsRUFDN0I7QUFHQSxFQUFBLEdBQUEsQ0FDRSxPQUFPLGFBQUEsSUFBaUIsU0FBQSxHQUN4QixhQUFBLElBQWlCLEtBQUEsR0FDakIsU0FBQSxHQUFZLGFBQUEsR0FDWixPQUFPLFlBQUEsQ0FBYSxPQUFBLElBQVcsU0FBQSxHQUMvQixZQUFBLENBQWEsT0FBQSxJQUFXLEtBQUEsR0FDeEIsUUFBQSxHQUFXLFlBQUEsQ0FBYSxNQUFBLEVBQ3hCO0FBQ0EsSUFBQSxPQUFRLFlBQUEsQ0FBYSxNQUFBLENBQTZCLEtBQUE7QUFBQSxFQUNwRDtBQUdBLEVBQUEsd0JBQVEsWUFBQSxVQUFnQixlQUFBO0FBQzFCO0FBTU8sU0FBUyx5QkFBQSxDQUFBLEVBQThDO0FBQzVELEVBQUEsT0FBTyxDQUFDLFlBQUEsRUFBb0MsV0FBQSxFQUFBLEdBQWlDO0FBRTNFLElBQUEsR0FBQSxDQUFJLFlBQUEsSUFBZ0IsS0FBQSxDQUFBLEVBQVc7QUFDN0IsTUFBQSxPQUFPLFdBQUE7QUFBQSxJQUNUO0FBRUEsSUFBQSxPQUFPLGlCQUFBLENBQWtCLFlBQVksQ0FBQTtBQUFBLEVBQ3ZDLENBQUE7QUFDRjtBRnJHQTtBQUNBO0FHNFlPLFNBQVMsS0FBQSxDQUFnQyxLQUFBLEVBQTRCO0FBQzFFLEVBQUEsT0FBTyxLQUFBO0FBQ1Q7QUErQk8sU0FBUyxTQUFBLENBQ2QsR0FBQSxFQUNnQjtBQUNoQixFQUFBLE9BQU8sTUFBQSxDQUFPLElBQUEsQ0FBSyxHQUFHLENBQUE7QUFDeEI7QUFpQk8sU0FBUyxZQUFBLENBQ2QsR0FBQSxFQUM4QjtBQUM5QixFQUFBLE9BQU8sTUFBQSxDQUFPLE9BQUEsQ0FBUSxHQUFHLENBQUE7QUFDM0I7QUFpQk8sU0FBUyxXQUFBLENBQ2QsR0FBQSxFQUNtQjtBQUNuQixFQUFBLE9BQU8sTUFBQSxDQUFPLE1BQUEsQ0FBTyxHQUFHLENBQUE7QUFDMUI7QUg5Y0E7QUFDQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0YsOGdCQUFDIiwiZmlsZSI6Ii9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1LMkVKNFlLTy5janMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogVHlwZS1zYWZlIEFQSSByZXF1ZXN0IGFuZCByZXNwb25zZSB1dGlsaXRpZXNcbiAqIEBtb2R1bGUgdHlwZXMvYXBpXG4gKi9cblxuLyoqXG4gKiBIVFRQIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHRoZSBBUElcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnREVMRVRFJyB8ICdQQVRDSCc7XG5cbi8qKlxuICogVmFsaWQgSlNPTiBwcmltaXRpdmUgdHlwZXMgdGhhdCBjYW4gYmUgc2VudCBpbiByZXF1ZXN0IGJvZGllc1xuICovXG5leHBvcnQgdHlwZSBKc29uUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw7XG5cbi8qKlxuICogVmFsaWQgSlNPTiB2YWx1ZXMgKHByaW1pdGl2ZXMsIG9iamVjdHMsIGFycmF5cylcbiAqL1xuZXhwb3J0IHR5cGUgSnNvblZhbHVlID1cbiAgfCBKc29uUHJpbWl0aXZlXG4gIHwgSnNvbk9iamVjdFxuICB8IEpzb25BcnJheTtcblxuLyoqXG4gKiBKU09OIG9iamVjdCB3aXRoIHN0cmluZyBrZXlzIGFuZCBKU09OIHZhbHVlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEpzb25PYmplY3Qge1xuICBba2V5OiBzdHJpbmddOiBKc29uVmFsdWU7XG59XG5cbi8qKlxuICogSlNPTiBhcnJheSBjb250YWluaW5nIEpTT04gdmFsdWVzXG4gKi9cbmV4cG9ydCB0eXBlIEpzb25BcnJheSA9IEpzb25WYWx1ZVtdO1xuXG4vKipcbiAqIFR5cGUtc2FmZSByZXF1ZXN0IGJvZHkgLSBtdXN0IGJlIEpTT04tc2VyaWFsaXphYmxlXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gSnNvbk9iamVjdCB8IEpzb25BcnJheSB8IEZvcm1EYXRhO1xuXG4vKipcbiAqIFN0YW5kYXJkIEhUVFAgaGVhZGVycyB3aXRoIGtub3duIGhlYWRlciBuYW1lc1xuICovXG5leHBvcnQgdHlwZSBIdHRwSGVhZGVycyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgbWFraW5nIEhUVFAgcmVxdWVzdHMgKGJhc2VkIG9uIGZldGNoIEFQSSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBIVFRQIG1ldGhvZCBmb3IgdGhlIHJlcXVlc3RcbiAgICovXG4gIG1ldGhvZDogSHR0cE1ldGhvZDtcbiAgLyoqXG4gICAqIFJlcXVlc3QgaGVhZGVyc1xuICAgKi9cbiAgaGVhZGVycz86IEh0dHBIZWFkZXJzO1xuICAvKipcbiAgICogUmVxdWVzdCBib2R5IChzdHJpbmcgZm9yIEpTT04sIEZvcm1EYXRhIGZvciBmaWxlIHVwbG9hZHMpXG4gICAqL1xuICBib2R5Pzogc3RyaW5nIHwgRm9ybURhdGE7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGNyZWRlbnRpYWxzIG1vZGVcbiAgICovXG4gIGNyZWRlbnRpYWxzPzogUmVxdWVzdENyZWRlbnRpYWxzO1xuICAvKipcbiAgICogUmVxdWVzdCBtb2RlIChjb3JzLCBuby1jb3JzLCBzYW1lLW9yaWdpbilcbiAgICovXG4gIG1vZGU/OiBSZXF1ZXN0TW9kZTtcbiAgLyoqXG4gICAqIENhY2hlIG1vZGUgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICBjYWNoZT86IFJlcXVlc3RDYWNoZTtcbiAgLyoqXG4gICAqIFJlZGlyZWN0IG1vZGUgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICByZWRpcmVjdD86IFJlcXVlc3RSZWRpcmVjdDtcbiAgLyoqXG4gICAqIFJlZmVycmVyIHBvbGljeSBmb3IgdGhlIHJlcXVlc3RcbiAgICovXG4gIHJlZmVycmVyUG9saWN5PzogUmVmZXJyZXJQb2xpY3k7XG4gIC8qKlxuICAgKiBBYm9ydFNpZ25hbCBmb3IgcmVxdWVzdCBjYW5jZWxsYXRpb25cbiAgICovXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgQVBJIGNhbGxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGhlYWRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdFxuICAgKi9cbiAgaGVhZGVycz86IEh0dHBIZWFkZXJzO1xuICAvKipcbiAgICogV2hldGhlciB0byBpbmNsdWRlIGF1dGhlbnRpY2F0aW9uIHRva2VuXG4gICAqIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKi9cbiAgaW5jbHVkZUF1dGg/OiBib29sZWFuO1xuICAvKipcbiAgICogQWJvcnRTaWduYWwgZm9yIHJlcXVlc3QgY2FuY2VsbGF0aW9uXG4gICAqL1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgLyoqXG4gICAqIEN1c3RvbSBiYXNlIFVSTCAob3ZlcnJpZGVzIGRlZmF1bHQpXG4gICAqL1xuICBiYXNlVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGZldGNoIG9wZXJhdGlvbnMgd2l0aCBhbnkgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hPcHRpb25zIGV4dGVuZHMgT21pdDxSZXF1ZXN0SW5pdCwgJ2JvZHknIHwgJ2hlYWRlcnMnPiB7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGhlYWRlcnNcbiAgICovXG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbiAgLyoqXG4gICAqIFJlcXVlc3QgYm9keVxuICAgKi9cbiAgYm9keT86IFJlcXVlc3RCb2R5O1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHZhbGlkIEpTT04gb2JqZWN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3QodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBKc29uT2JqZWN0IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICAhKHZhbHVlIGluc3RhbmNlb2YgRm9ybURhdGEpXG4gICk7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgSlNPTiBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNKc29uQXJyYXkodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBKc29uQXJyYXkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIEZvcm1EYXRhXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1EYXRhKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRm9ybURhdGEge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBGb3JtRGF0YTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCByZXF1ZXN0IGJvZHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVxdWVzdEJvZHkodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZXF1ZXN0Qm9keSB7XG4gIHJldHVybiBpc0pzb25PYmplY3QodmFsdWUpIHx8IGlzSnNvbkFycmF5KHZhbHVlKSB8fCBpc0Zvcm1EYXRhKHZhbHVlKTtcbn1cbiIsIi8qKlxuICogVHlwZS1zYWZlIERPTSBldmVudCBhbmQgaGFuZGxlciB1dGlsaXRpZXMgZm9yIGZvcm0gdHJhbnNmb3JtYXRpb25zXG4gKiBAbW9kdWxlIHR5cGVzL2V2ZW50c1xuICovXG5cbmltcG9ydCB0eXBlIHsgQ2hhbmdlRXZlbnQsIFN5bnRoZXRpY0V2ZW50IH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogSFRNTCBpbnB1dCBlbGVtZW50cyB0aGF0IHN1cHBvcnQgdGhlIG9uQ2hhbmdlIGV2ZW50IHdpdGggYSB2YWx1ZVxuICovXG5leHBvcnQgdHlwZSBJbnB1dEVsZW1lbnQgPSBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudDtcblxuLyoqXG4gKiBIVE1MIHNlbGVjdCBlbGVtZW50XG4gKi9cbmV4cG9ydCB0eXBlIEh0bWxTZWxlY3RFbGVtZW50ID0gSFRNTFNlbGVjdEVsZW1lbnQ7XG5cbi8qKlxuICogU3RhbmRhcmQgUmVhY3QgY2hhbmdlIGV2ZW50IGZvciBpbnB1dC90ZXh0YXJlYSBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBJbnB1dENoYW5nZUV2ZW50ID0gQ2hhbmdlRXZlbnQ8SW5wdXRFbGVtZW50PjtcblxuLyoqXG4gKiBTdGFuZGFyZCBSZWFjdCBjaGFuZ2UgZXZlbnQgZm9yIHNlbGVjdCBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBTZWxlY3RDaGFuZ2VFdmVudCA9IENoYW5nZUV2ZW50PEh0bWxTZWxlY3RFbGVtZW50PjtcblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgc3RhbmRhcmQgZm9ybSBjaGFuZ2UgZXZlbnRzXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1DaGFuZ2VFdmVudCA9IElucHV0Q2hhbmdlRXZlbnQgfCBTZWxlY3RDaGFuZ2VFdmVudDtcblxuLyoqXG4gKiBHZW5lcmljIHN5bnRoZXRpYyBldmVudCBmcm9tIFJlYWN0XG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNTeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50PEVsZW1lbnQ+O1xuXG4vKipcbiAqIFZhbHVlIGV4dHJhY3RlZCBmcm9tIGFuIGV2ZW50IG9yIHBhc3NlZCBkaXJlY3RseVxuICogVGhpcyBjb3ZlcnMgTVVJJ3MgcGF0dGVybiBvZiAoZXZlbnQsIHZhbHVlKSBjYWxsYmFja3NcbiAqL1xuZXhwb3J0IHR5cGUgRXZlbnRPclZhbHVlPFRWYWx1ZSA9IHVua25vd24+ID0gXG4gIHwgVFZhbHVlIFxuICB8IElucHV0Q2hhbmdlRXZlbnQgXG4gIHwgU2VsZWN0Q2hhbmdlRXZlbnRcbiAgfCBHZW5lcmljU3ludGhldGljRXZlbnQ7XG5cbi8qKlxuICogVHJhbnNmb3JtIG91dHB1dCBoYW5kbGVyIHRoYXQgYWNjZXB0cyB2YXJpb3VzIGV2ZW50IHBhdHRlcm5zXG4gKiBTdXBwb3J0czpcbiAqIC0gU3RhbmRhcmQgb25DaGFuZ2U6IChldmVudDogQ2hhbmdlRXZlbnQpID0+IHZvaWRcbiAqIC0gTVVJIG9uQ2hhbmdlOiAoZXZlbnQ6IENoYW5nZUV2ZW50LCB2YWx1ZTogVCkgPT4gdm9pZFxuICogLSBEaXJlY3QgdmFsdWU6ICh2YWx1ZTogVCkgPT4gdm9pZFxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1PdXRwdXRIYW5kbGVyPFRWYWx1ZSA9IHVua25vd24+ID0gKFxuICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxUVmFsdWU+LFxuICB2YWx1ZT86IFRWYWx1ZVxuKSA9PiBUVmFsdWU7XG5cbi8qKlxuICogVHJhbnNmb3JtIGlucHV0IGhhbmRsZXIgdGhhdCBjb252ZXJ0cyBhIHZhbHVlIHRvIGRpc3BsYXkgZm9ybWF0XG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybUlucHV0SGFuZGxlcjxUSW5wdXQgPSB1bmtub3duLCBUT3V0cHV0ID0gdW5rbm93bj4gPSAoXG4gIHZhbHVlOiBUSW5wdXRcbikgPT4gVE91dHB1dDtcblxuLyoqXG4gKiBHZW5lcmljIGV2ZW50IGhhbmRsZXIgdGhhdCBhY2NlcHRzIHJlc3QgcGFyYW1ldGVyc1xuICogVXNlZCBmb3IgZmxleGliaWxpdHkgaW4gZXZlbnQgaGFuZGxpbmdcbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0V2ZW50SGFuZGxlcjxUUmV0dXJuID0gdm9pZD4gPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiBUUmV0dXJuO1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhbiBJbnB1dENoYW5nZUV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lucHV0Q2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBJbnB1dENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAndGFyZ2V0JyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiAodmFsdWUgYXMgeyB0YXJnZXQ6IHVua25vd24gfSkudGFyZ2V0ID09PSAnb2JqZWN0JyAmJlxuICAgICh2YWx1ZSBhcyB7IHRhcmdldDogdW5rbm93biB9KS50YXJnZXQgIT09IG51bGwgJiZcbiAgICAndmFsdWUnIGluICh2YWx1ZSBhcyB7IHRhcmdldDogeyB2YWx1ZT86IHVua25vd24gfSB9KS50YXJnZXRcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSBTZWxlY3RDaGFuZ2VFdmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RDaGFuZ2VFdmVudCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFNlbGVjdENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIGlzSW5wdXRDaGFuZ2VFdmVudCh2YWx1ZSk7IC8vIFNhbWUgc3RydWN0dXJlLCBkaWZmZXJlbnQgZWxlbWVudCB0eXBlXG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGFueSBmb3JtIGNoYW5nZSBldmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtQ2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBGb3JtQ2hhbmdlRXZlbnQge1xuICByZXR1cm4gaXNJbnB1dENoYW5nZUV2ZW50KHZhbHVlKSB8fCBpc1NlbGVjdENoYW5nZUV2ZW50KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IHZhbHVlIGZyb20gZXZlbnQgb3IgcmV0dXJuIHRoZSB2YWx1ZSBkaXJlY3RseVxuICogSGFuZGxlcyB0aGUgY29tbW9uIHBhdHRlcm46IHZhbHVlID8/IGV2ZW50Py50YXJnZXQ/LnZhbHVlID8/IGV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RXZlbnRWYWx1ZTxUVmFsdWUgPSB1bmtub3duPihcbiAgZXZlbnRPclZhbHVlOiBFdmVudE9yVmFsdWU8VFZhbHVlPixcbiAgZmFsbGJhY2tWYWx1ZT86IFRWYWx1ZVxuKTogVFZhbHVlIHtcbiAgLy8gSWYgaXQncyBhIGZvcm0gY2hhbmdlIGV2ZW50LCBleHRyYWN0IHRoZSB0YXJnZXQgdmFsdWVcbiAgaWYgKGlzRm9ybUNoYW5nZUV2ZW50KGV2ZW50T3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gZXZlbnRPclZhbHVlLnRhcmdldC52YWx1ZSBhcyBUVmFsdWU7XG4gIH1cbiAgXG4gIC8vIElmIGl0IGhhcyBhIHRhcmdldC52YWx1ZSAoYnV0IGRpZG4ndCBtYXRjaCBhYm92ZSBndWFyZHMpLCB0cnkgdG8gZXh0cmFjdCBpdFxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50T3JWYWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICBldmVudE9yVmFsdWUgIT09IG51bGwgJiZcbiAgICAndGFyZ2V0JyBpbiBldmVudE9yVmFsdWUgJiZcbiAgICB0eXBlb2YgZXZlbnRPclZhbHVlLnRhcmdldCA9PT0gJ29iamVjdCcgJiZcbiAgICBldmVudE9yVmFsdWUudGFyZ2V0ICE9PSBudWxsICYmXG4gICAgJ3ZhbHVlJyBpbiBldmVudE9yVmFsdWUudGFyZ2V0XG4gICkge1xuICAgIHJldHVybiAoZXZlbnRPclZhbHVlLnRhcmdldCBhcyB7IHZhbHVlOiBUVmFsdWUgfSkudmFsdWU7XG4gIH1cbiAgXG4gIC8vIE90aGVyd2lzZSwgdHJlYXQgaXQgYXMgdGhlIHZhbHVlIGl0c2VsZlxuICByZXR1cm4gKGV2ZW50T3JWYWx1ZSA/PyBmYWxsYmFja1ZhbHVlKSBhcyBUVmFsdWU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgc2FmZSBldmVudCB2YWx1ZSBleHRyYWN0b3Igd2l0aCB0eXBlIG5hcnJvd2luZ1xuICogVXNlZnVsIGZvciBNVUkgY29tcG9uZW50cyB0aGF0IHBhc3MgKGV2ZW50LCB2YWx1ZSkgcGF0dGVyblxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXZlbnRWYWx1ZUV4dHJhY3RvcjxUVmFsdWUgPSB1bmtub3duPigpIHtcbiAgcmV0dXJuIChldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxUVmFsdWU+LCBkaXJlY3RWYWx1ZT86IFRWYWx1ZSk6IFRWYWx1ZSA9PiB7XG4gICAgLy8gSWYgYSBkaXJlY3QgdmFsdWUgaXMgcHJvdmlkZWQgKE1VSSBwYXR0ZXJuKSwgdXNlIGl0XG4gICAgaWYgKGRpcmVjdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBkaXJlY3RWYWx1ZTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGV4dHJhY3RFdmVudFZhbHVlKGV2ZW50T3JWYWx1ZSk7XG4gIH07XG59XG4iLCIvKipcbiAqIFV0aWxpdHkgdHlwZXMgYW5kIHR5cGUgaGVscGVycyBmb3IgZW5oYW5jZWQgdHlwZSBzYWZldHlcbiAqIFxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKi9cblxuLyoqXG4gKiBNYWtlcyBhbGwgcHJvcGVydGllcyBvZiBUIHJlcXVpcmVkIGFuZCBub24tbnVsbGFibGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ/OiBzdHJpbmc7XG4gKiAgIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICogfVxuICogXG4gKiB0eXBlIFJlcXVpcmVkVXNlciA9IERlZXBSZXF1aXJlZDxVc2VyPjtcbiAqIC8vIHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZXBSZXF1aXJlZDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0tPzogTm9uTnVsbGFibGU8VFtQXT47XG59O1xuXG4vKipcbiAqIE1ha2VzIGFsbCBwcm9wZXJ0aWVzIG9mIFQgb3B0aW9uYWxcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ6IHN0cmluZztcbiAqICAgbmFtZTogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIFBhcnRpYWxVc2VyID0gRGVlcFBhcnRpYWw8VXNlcj47XG4gKiAvLyB7IGlkPzogc3RyaW5nOyBuYW1lPzogc3RyaW5nIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXT86IFRbUF0gZXh0ZW5kcyBvYmplY3RcbiAgICA/IERlZXBQYXJ0aWFsPFRbUF0+XG4gICAgOiBUW1BdO1xufTtcblxuLyoqXG4gKiBNYWtlcyBhbGwgcHJvcGVydGllcyBvZiBUIHJlYWRvbmx5IGRlZXBseVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBwcm9maWxlOiB7XG4gKiAgICAgbmFtZTogc3RyaW5nO1xuICogICB9O1xuICogfVxuICogXG4gKiB0eXBlIFJlYWRvbmx5VXNlciA9IERlZXBSZWFkb25seTxVc2VyPjtcbiAqIC8vIHsgcmVhZG9ubHkgaWQ6IHN0cmluZzsgcmVhZG9ubHkgcHJvZmlsZTogeyByZWFkb25seSBuYW1lOiBzdHJpbmcgfSB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBEZWVwUmVhZG9ubHk8VD4gPSB7XG4gIHJlYWRvbmx5IFtQIGluIGtleW9mIFRdOiBUW1BdIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBEZWVwUmVhZG9ubHk8VFtQXT5cbiAgICA6IFRbUF07XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIGtleXMgZnJvbSBUIHRoYXQgYXJlIG5vdCB1bmRlZmluZWRcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ6IHN0cmluZztcbiAqICAgbmFtZT86IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAqIH1cbiAqIFxuICogdHlwZSBSZXF1aXJlZEtleXMgPSBSZXF1aXJlZEtleXM8VXNlcj47XG4gKiAvLyAnaWQnXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBSZXF1aXJlZEtleXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHVuZGVmaW5lZCBleHRlbmRzIFRbS10gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xuXG4vKipcbiAqIEV4dHJhY3RzIGtleXMgZnJvbSBUIHRoYXQgY2FuIGJlIHVuZGVmaW5lZFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lPzogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICogfVxuICogXG4gKiB0eXBlIE9wdEtleXMgPSBPcHRpb25hbEtleXM8VXNlcj47XG4gKiAvLyAnbmFtZScgfCAnZW1haWwnXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBPcHRpb25hbEtleXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHVuZGVmaW5lZCBleHRlbmRzIFRbS10gPyBLIDogbmV2ZXI7XG59W2tleW9mIFRdO1xuXG4vKipcbiAqIE1ha2VzIHNwZWNpZmllZCBrZXlzIEsgb2YgdHlwZSBUIHJlcXVpcmVkXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkPzogc3RyaW5nO1xuICogICBuYW1lPzogc3RyaW5nO1xuICogICBlbWFpbD86IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyV2l0aElkID0gUmVxdWlyZUtleXM8VXNlciwgJ2lkJyB8ICdlbWFpbCc+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lPzogc3RyaW5nOyBlbWFpbDogc3RyaW5nIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVpcmVLZXlzPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJlxuICBSZXF1aXJlZDxQaWNrPFQsIEs+PjtcblxuLyoqXG4gKiBNYWtlcyBzcGVjaWZpZWQga2V5cyBLIG9mIHR5cGUgVCBvcHRpb25hbFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKiB9XG4gKiBcbiAqIHR5cGUgVXNlclVwZGF0ZSA9IFBhcnRpYWxLZXlzPFVzZXIsICduYW1lJyB8ICdlbWFpbCc+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lPzogc3RyaW5nOyBlbWFpbD86IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBQYXJ0aWFsS2V5czxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICZcbiAgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuLyoqXG4gKiBFeGNsdWRlcyBrZXlzIEsgZnJvbSB0eXBlIFRcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ6IHN0cmluZztcbiAqICAgcGFzc3dvcmQ6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBQdWJsaWNVc2VyID0gRXhjbHVkZUtleXM8VXNlciwgJ3Bhc3N3b3JkJz47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRXhjbHVkZUtleXM8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPjtcblxuLyoqXG4gKiBQaWNrcyBvbmx5IGtleXMgSyBmcm9tIHR5cGUgVFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKiB9XG4gKiBcbiAqIHR5cGUgVXNlckNyZWRlbnRpYWxzID0gUGlja0tleXM8VXNlciwgJ2VtYWlsJz47XG4gKiAvLyB7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUGlja0tleXM8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxULCBLPjtcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgdmFsdWUgdHlwZSBmcm9tIGFuIGFycmF5IHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgU3RyaW5nQXJyYXkgPSBzdHJpbmdbXTtcbiAqIHR5cGUgSXRlbSA9IEFycmF5RWxlbWVudDxTdHJpbmdBcnJheT47XG4gKiAvLyBzdHJpbmdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEFycmF5RWxlbWVudDxUPiA9IFQgZXh0ZW5kcyByZWFkb25seSAoaW5mZXIgRSlbXSA/IEUgOiBuZXZlcjtcblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgcmV0dXJuIHR5cGUgb2YgYW4gYXN5bmMgZnVuY3Rpb25cbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFzeW5jIGZ1bmN0aW9uIGdldFVzZXIoKTogUHJvbWlzZTxVc2VyPiB7XG4gKiAgIHJldHVybiB7IGlkOiAnMScsIG5hbWU6ICdKb2huJyB9O1xuICogfVxuICogXG4gKiB0eXBlIFVzZXIgPSBBc3luY1JldHVyblR5cGU8dHlwZW9mIGdldFVzZXI+O1xuICogLy8gVXNlclxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQXN5bmNSZXR1cm5UeXBlPFQgZXh0ZW5kcyAoLi4uYXJnczogcmVhZG9ubHkgdW5rbm93bltdKSA9PiBQcm9taXNlPHVua25vd24+PiA9XG4gIFQgZXh0ZW5kcyAoLi4uYXJnczogcmVhZG9ubHkgdW5rbm93bltdKSA9PiBQcm9taXNlPGluZmVyIFI+ID8gUiA6IG5ldmVyO1xuXG4vKipcbiAqIE1ha2VzIGEgdHlwZSBudWxsYWJsZSAoYWRkcyBudWxsKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VybmFtZSA9IHN0cmluZztcbiAqIHR5cGUgTnVsbGFibGVVc2VybmFtZSA9IE51bGxhYmxlPFVzZXJuYW1lPjtcbiAqIC8vIHN0cmluZyB8IG51bGxcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE51bGxhYmxlPFQ+ID0gVCB8IG51bGw7XG5cbi8qKlxuICogTWFrZXMgYSB0eXBlIG9wdGlvbmFsIChhZGRzIHVuZGVmaW5lZClcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgVXNlcm5hbWUgPSBzdHJpbmc7XG4gKiB0eXBlIE9wdGlvbmFsVXNlcm5hbWUgPSBNYXliZTxVc2VybmFtZT47XG4gKiAvLyBzdHJpbmcgfCB1bmRlZmluZWRcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBNYWtlcyBhIHR5cGUgbnVsbGlzaCAoYWRkcyBudWxsIGFuZCB1bmRlZmluZWQpXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJuYW1lID0gc3RyaW5nO1xuICogdHlwZSBOdWxsaXNoVXNlcm5hbWUgPSBOdWxsaXNoPFVzZXJuYW1lPjtcbiAqIC8vIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE51bGxpc2g8VD4gPSBUIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgdW5pb24gb2YgYWxsIHBvc3NpYmxlIHBhdGhzIHRocm91Z2ggYW4gb2JqZWN0IHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgcHJvZmlsZToge1xuICogICAgIG5hbWU6IHN0cmluZztcbiAqICAgICBhZGRyZXNzOiB7XG4gKiAgICAgICBjaXR5OiBzdHJpbmc7XG4gKiAgICAgfTtcbiAqICAgfTtcbiAqIH1cbiAqIFxuICogdHlwZSBQYXRocyA9IE9iamVjdFBhdGhzPFVzZXI+O1xuICogLy8gJ3Byb2ZpbGUnIHwgJ3Byb2ZpbGUubmFtZScgfCAncHJvZmlsZS5hZGRyZXNzJyB8ICdwcm9maWxlLmFkZHJlc3MuY2l0eSdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE9iamVjdFBhdGhzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUICYgc3RyaW5nXTogVFtLXSBleHRlbmRzIG9iamVjdFxuICAgID8gSyB8IGAke0t9LiR7T2JqZWN0UGF0aHM8VFtLXT59YFxuICAgIDogSztcbn1ba2V5b2YgVCAmIHN0cmluZ107XG5cbi8qKlxuICogTWVyZ2VzIHR3byB0eXBlcywgd2l0aCBwcm9wZXJ0aWVzIGZyb20gQiBvdmVycmlkaW5nIHRob3NlIGluIEFcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBBIHtcbiAqICAgaWQ6IG51bWJlcjtcbiAqICAgbmFtZTogc3RyaW5nO1xuICogfVxuICogXG4gKiBpbnRlcmZhY2UgQiB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKiB9XG4gKiBcbiAqIHR5cGUgTWVyZ2VkID0gTWVyZ2U8QSwgQj47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgZW1haWw6IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBNZXJnZTxBLCBCPiA9IE9taXQ8QSwga2V5b2YgQj4gJiBCO1xuXG4vKipcbiAqIEVuc3VyZXMgYSB0eXBlIGlzIHNlcmlhbGl6YWJsZSAobm8gZnVuY3Rpb25zLCBzeW1ib2xzLCB1bmRlZmluZWQpXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgRGF0YSB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIGNhbGxiYWNrOiAoKSA9PiB2b2lkO1xuICogICB2YWx1ZTogbnVtYmVyO1xuICogfVxuICogXG4gKiB0eXBlIFNlcmlhbGl6YWJsZURhdGEgPSBTZXJpYWxpemFibGU8RGF0YT47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgU2VyaWFsaXphYmxlPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyAoLi4uYXJnczogcmVhZG9ubHkgdW5rbm93bltdKSA9PiB1bmtub3duXG4gICAgPyBuZXZlclxuICAgIDogVFtLXSBleHRlbmRzIHN5bWJvbFxuICAgID8gbmV2ZXJcbiAgICA6IFRbS10gZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IG5ldmVyXG4gICAgOiBLXTogVFtLXSBleHRlbmRzIG9iamVjdCA/IFNlcmlhbGl6YWJsZTxUW0tdPiA6IFRbS107XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgdW5pb24gdHlwZSB0byBhbiBpbnRlcnNlY3Rpb24gdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVbmlvbiA9IHsgYTogc3RyaW5nIH0gfCB7IGI6IG51bWJlciB9O1xuICogdHlwZSBJbnRlcnNlY3Rpb24gPSBVbmlvblRvSW50ZXJzZWN0aW9uPFVuaW9uPjtcbiAqIC8vIHsgYTogc3RyaW5nIH0gJiB7IGI6IG51bWJlciB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFxuICBVIGV4dGVuZHMgdW5rbm93biA/IChrOiBVKSA9PiB2b2lkIDogbmV2ZXJcbikgZXh0ZW5kcyAoazogaW5mZXIgSSkgPT4gdm9pZFxuICA/IElcbiAgOiBuZXZlcjtcblxuLyoqXG4gKiBHZXRzIGFsbCBrZXlzIG9mIFQgd2hvc2UgdmFsdWVzIGV4dGVuZCBWXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIGFnZTogbnVtYmVyO1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiAgIGFjdGl2ZTogYm9vbGVhbjtcbiAqIH1cbiAqIFxuICogdHlwZSBTdHJpbmdLZXlzID0gS2V5c09mVHlwZTxVc2VyLCBzdHJpbmc+O1xuICogLy8gJ2lkJyB8ICduYW1lJ1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgS2V5c09mVHlwZTxULCBWPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBWID8gSyA6IG5ldmVyO1xufVtrZXlvZiBUXTtcblxuLyoqXG4gKiBFbnN1cmVzIGEgdmFsdWUgaXMgZXhhY3RseSB0aGUgdHlwZSBUIChubyB3aWRlciB0eXBlcyBhbGxvd2VkKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlnOiBFeGFjdDx7IGRlYnVnOiBib29sZWFuIH0+ID0ge1xuICogICBkZWJ1ZzogdHJ1ZSxcbiAqICAgLy8gZXh0cmE6ICd2YWx1ZScgIC8vIOKdjCBFcnJvcjogZXh0cmEgcHJvcGVydHkgbm90IGFsbG93ZWRcbiAqIH07XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBFeGFjdDxULCBTaGFwZSA9IFQ+ID0gVCBleHRlbmRzIFNoYXBlXG4gID8gRXhjbHVkZTxrZXlvZiBULCBrZXlvZiBTaGFwZT4gZXh0ZW5kcyBuZXZlclxuICAgID8gVFxuICAgIDogbmV2ZXJcbiAgOiBuZXZlcjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgYnJhbmRlZCB0eXBlIGZvciBub21pbmFsIHR5cGluZ1xuICogVGhpcyBwcmV2ZW50cyBtaXhpbmcgdmFsdWVzIG9mIHRoZSBzYW1lIHByaW1pdGl2ZSB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJJZCA9IEJyYW5kPHN0cmluZywgJ1VzZXJJZCc+O1xuICogdHlwZSBQcm9kdWN0SWQgPSBCcmFuZDxzdHJpbmcsICdQcm9kdWN0SWQnPjtcbiAqIFxuICogY29uc3QgdXNlcklkOiBVc2VySWQgPSAnMTIzJyBhcyBVc2VySWQ7XG4gKiBjb25zdCBwcm9kdWN0SWQ6IFByb2R1Y3RJZCA9ICc0NTYnIGFzIFByb2R1Y3RJZDtcbiAqIFxuICogLy8g4p2MIFR5cGUgZXJyb3I6IFVzZXJJZCBpcyBub3QgYXNzaWduYWJsZSB0byBQcm9kdWN0SWRcbiAqIGNvbnN0IHRlc3Q6IFByb2R1Y3RJZCA9IHVzZXJJZDtcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEJyYW5kPFQsIFRCcmFuZCBleHRlbmRzIHN0cmluZz4gPSBUICYge1xuICByZWFkb25seSBfX2JyYW5kOiBUQnJhbmQ7XG59O1xuXG4vKipcbiAqIEhlbHBlciB0byBjcmVhdGUgYSBicmFuZGVkIHZhbHVlXG4gKiBcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBicmFuZFxuICogQHJldHVybnMgVGhlIHZhbHVlIGFzIGEgYnJhbmRlZCB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJJZCA9IEJyYW5kPHN0cmluZywgJ1VzZXJJZCc+O1xuICogY29uc3QgaWQgPSBicmFuZDxzdHJpbmcsICdVc2VySWQnPigndXNlci0xMjMnKTtcbiAqIC8vIGlkIGhhcyB0eXBlIFVzZXJJZFxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyYW5kPFQsIFRCcmFuZCBleHRlbmRzIHN0cmluZz4odmFsdWU6IFQpOiBCcmFuZDxULCBUQnJhbmQ+IHtcbiAgcmV0dXJuIHZhbHVlIGFzIEJyYW5kPFQsIFRCcmFuZD47XG59XG5cbi8qKlxuICogUmVtb3ZlcyBicmFuZGluZyBmcm9tIGEgYnJhbmRlZCB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJJZCA9IEJyYW5kPHN0cmluZywgJ1VzZXJJZCc+O1xuICogdHlwZSBQbGFpbklkID0gVW5icmFuZDxVc2VySWQ+O1xuICogLy8gc3RyaW5nXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBVbmJyYW5kPFQ+ID0gVCBleHRlbmRzIGluZmVyIFUgJiB7IHJlYWRvbmx5IF9fYnJhbmQ6IHN0cmluZyB9ID8gVSA6IFQ7XG5cbi8qKlxuICogVHlwZS1zYWZlIE9iamVjdC5rZXlzIHRoYXQgcHJlc2VydmVzIGtleSB0eXBlc1xuICogXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBnZXQga2V5cyBmcm9tXG4gKiBAcmV0dXJucyBBcnJheSBvZiBrZXlzIHdpdGggcHJvcGVyIHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVzZXIgPSB7IGlkOiAnMScsIG5hbWU6ICdKb2huJyB9IGFzIGNvbnN0O1xuICogY29uc3Qga2V5cyA9IHR5cGVkS2V5cyh1c2VyKTtcbiAqIC8vIGtleXMgaGFzIHR5cGU6ICgnaWQnIHwgJ25hbWUnKVtdXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZWRLZXlzPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVFxuKTogQXJyYXk8a2V5b2YgVD4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMob2JqKSBhcyBBcnJheTxrZXlvZiBUPjtcbn1cblxuLyoqXG4gKiBUeXBlLXNhZmUgT2JqZWN0LmVudHJpZXMgdGhhdCBwcmVzZXJ2ZXMga2V5IGFuZCB2YWx1ZSB0eXBlc1xuICogXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBnZXQgZW50cmllcyBmcm9tXG4gKiBAcmV0dXJucyBBcnJheSBvZiBba2V5LCB2YWx1ZV0gdHVwbGVzIHdpdGggcHJvcGVyIHR5cGVzXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2VyID0geyBpZDogJzEnLCBhZ2U6IDMwIH0gYXMgY29uc3Q7XG4gKiBjb25zdCBlbnRyaWVzID0gdHlwZWRFbnRyaWVzKHVzZXIpO1xuICogLy8gZW50cmllcyBoYXMgdHlwZTogWydpZCcsICcxJ10gfCBbJ2FnZScsIDMwXVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVkRW50cmllczxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFRcbik6IEFycmF5PFtrZXlvZiBULCBUW2tleW9mIFRdXT4ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKSBhcyBBcnJheTxba2V5b2YgVCwgVFtrZXlvZiBUXV0+O1xufVxuXG4vKipcbiAqIFR5cGUtc2FmZSBPYmplY3QudmFsdWVzIHRoYXQgcHJlc2VydmVzIHZhbHVlIHR5cGVzXG4gKiBcbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGdldCB2YWx1ZXMgZnJvbVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsdWVzIHdpdGggcHJvcGVyIHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVzZXIgPSB7IGlkOiAnMScsIGFnZTogMzAgfTtcbiAqIGNvbnN0IHZhbHVlcyA9IHR5cGVkVmFsdWVzKHVzZXIpO1xuICogLy8gdmFsdWVzIGhhcyB0eXBlOiAoc3RyaW5nIHwgbnVtYmVyKVtdXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZWRWYWx1ZXM8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb2JqOiBUXG4pOiBBcnJheTxUW2tleW9mIFRdPiB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKG9iaikgYXMgQXJyYXk8VFtrZXlvZiBUXT47XG59XG4iXX0=
@@ -1 +1 @@
1
- "use strict";//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstTVZQTEJKUksuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IkQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstTVZQTEJKUksuY2pzIn0=
1
+ "use strict";//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvbGlicy9HTldlYlNvZnQuVUkvcGFja2FnZXMvdWkvZGlzdC9jaHVuay1NVlBMQkpSSy5janMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiL2J1aWxkcy9saWJzL0dOV2ViU29mdC5VSS9wYWNrYWdlcy91aS9kaXN0L2NodW5rLU1WUExCSlJLLmNqcyJ9