@senior-gestao-empresarial/angular-components 5.0.0 → 5.1.1

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 (39) hide show
  1. package/bundles/senior-gestao-empresarial-angular-components.umd.js +119 -43
  2. package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +2 -2
  4. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
  5. package/components/lookups/entities/e-081-tab-lookup.d.ts +8 -0
  6. package/components/lookups/erp-lookups.d.ts +1 -0
  7. package/components/lookups/index.d.ts +1 -0
  8. package/components/nps/index.d.ts +1 -0
  9. package/components/nps/nps.service.d.ts +4 -35
  10. package/components/nps/protocols/index.d.ts +3 -0
  11. package/components/nps/protocols/tenant-full-dto.d.ts +3 -0
  12. package/components/nps/protocols/token-senior-x.d.ts +14 -0
  13. package/components/nps/protocols/tracksale-request.d.ts +18 -0
  14. package/esm2015/components/lookups/entities/e-081-tab-lookup.js +73 -0
  15. package/esm2015/components/lookups/erp-lookups.js +14 -19
  16. package/esm2015/components/lookups/erp-lookups.module.js +3 -1
  17. package/esm2015/components/lookups/index.js +2 -1
  18. package/esm2015/components/nps/index.js +1 -1
  19. package/esm2015/components/nps/nps.service.js +12 -9
  20. package/esm2015/components/nps/protocols/index.js +1 -0
  21. package/esm2015/components/nps/protocols/tenant-full-dto.js +1 -0
  22. package/esm2015/components/nps/protocols/token-senior-x.js +1 -0
  23. package/esm2015/components/nps/protocols/tracksale-request.js +1 -0
  24. package/esm5/components/lookups/entities/e-081-tab-lookup.js +76 -0
  25. package/esm5/components/lookups/erp-lookups.js +15 -19
  26. package/esm5/components/lookups/erp-lookups.module.js +3 -1
  27. package/esm5/components/lookups/index.js +2 -1
  28. package/esm5/components/nps/index.js +1 -1
  29. package/esm5/components/nps/nps.service.js +32 -23
  30. package/esm5/components/nps/protocols/index.js +1 -0
  31. package/esm5/components/nps/protocols/tenant-full-dto.js +1 -0
  32. package/esm5/components/nps/protocols/token-senior-x.js +1 -0
  33. package/esm5/components/nps/protocols/tracksale-request.js +1 -0
  34. package/fesm2015/senior-gestao-empresarial-angular-components.js +92 -27
  35. package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
  36. package/fesm5/senior-gestao-empresarial-angular-components.js +116 -41
  37. package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
  38. package/package.json +1 -1
  39. package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
@@ -22,6 +22,7 @@ export * from "./entities/e-073-pes-lookup";
22
22
  export * from "./entities/e-073-vei-lookup";
23
23
  export * from "./entities/e-075-der-lookup";
24
24
  export * from "./entities/e-080-ser-lookup";
25
+ export * from "./entities/e-081-tab-lookup";
25
26
  export * from "./entities/e-085-pes-lookup";
26
27
  export * from "./entities/e-090-pes-lookup";
27
28
  export * from "./entities/e-001-pes-lookup";
@@ -95,4 +96,4 @@ export * from "./entities/apuracao-foundation/type-taxes-lookup";
95
96
  export * from "./entities/apuracao-foundation/parameters-lookup";
96
97
  export * from "./entities/beneficio-fiscal-lookup";
97
98
  export * from "./erp-lookups.module";
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9lcnAtbG9va3Vwc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbGlnYWNhby1pdGVtLWZvcm5lY2Vkb3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9wcm9kdXRvU2Vydmljby1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1maW4tcmF0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTktdXN1LWNvbS1nZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwNy11ZnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1jZXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1yYWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMC1zbmYtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMS1tb3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMy1jcnAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAyOC1jcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMS1tb2UtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNS1vY3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNi1pbnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAzOS1wb3ItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0Ny1udGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NS1wbGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1lbXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1maWwtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My12ZWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA3NS1kZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4MC1zZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA4NS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5MC1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS10bnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS10bnMtc3VwLWVzdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDEyLWZhbS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDE1LW1lZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDI0LW1zZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDMyLWVkYy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDgyLXRwci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMjAwLWxvdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMjAwLXNlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMjEwLWR4cC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAyLXRwdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDI3LWVxaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDI3LXN0ci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDY2LWZwZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDk1LXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNDAzLWZwci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNDIwLW9jcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNDIwLWljcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNDIwLWlwYy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNjAwLWNjby1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDMwLWJhbi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDMwLWFnZS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMjA1LWRlcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMTQwLW5mcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMTQwLWlucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDY3LWZpbi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDkxLXBsZi1maW4tcmF0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMTAtZHhwLWUtMDc1LWRlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLWVuZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWVudC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMzAxLXRjci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL25jbS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcXVpc2ljYW8tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy91bmlkYWRlLW1lZGlkYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3F0ZC1kaXNwb25pdmVsLWRlbWFuZGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTY0MC1sb3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0Ni1ocGQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtcGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDIwLXNuZi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA3MC1lbXAtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzAtZmlsLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDAxLWVuZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwNy11ZnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDgtcmFpLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDMyLWVkYy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAxNS1tZWQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtdG5zLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDc1LWRlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA4MC1zZXItbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmNtLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5hdHVyZXphLXJlY2VpdGEtcGlzLWNvZmluc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5mLXNhaWRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5mLWVudHJhZGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNjYtZnBnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDI4LWNwZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA1MS1kaXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjQtbXNnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNTEtZGlzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDQtY2N1LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbmF0dXJlemEtcmVjZWl0YS1waXMtY29maW5zLmxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtZmN0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZXF1aXBtZW50LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtc2ZjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2NvdW50cnktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvY3VycmVuY3ktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvYmFuay1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2FwdXJhY2FvLWZvdW5kYXRpb24vdHlwZS10YXhlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2FwdXJhY2FvLWZvdW5kYXRpb24vcGFyYW1ldGVycy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2JlbmVmaWNpby1maXNjYWwtbG9va3VwXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2VycC1sb29rdXBzLm1vZHVsZVwiO1xuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VycC1sb29rdXBzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9saWdhY2FvLWl0ZW0tZm9ybmVjZWRvci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3Byb2R1dG9TZXJ2aWNvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNDQtY2N1LWZpbi1yYXQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3UtY29tLWdlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA3LXVmcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LWNlcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LXJhaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIwLXNuZi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIxLW1vdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDIzLWNycC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDI4LWNwZy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDMxLW1vZS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM1LW9jci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM2LWlucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDM5LXBvci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ3LW50Zy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ1LXBsYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWVtcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWZpbC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDczLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDczLXZlaS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDc1LWRlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDgwLXNlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDgxLXRhYi1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDg1LXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDkwLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXBlcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1zdXAtZXN0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMTItZmFtLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMTUtbWVkLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjQtbXNnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzItZWRjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wODItdHByLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDAtbG90LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDAtc2VyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMTAtZHhwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDItdHB0LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctZXFpLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctc3RyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNjYtZnBnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTUtcGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MDMtZnByLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtb2NwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtaWNwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtaXBjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS02MDAtY2NvLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYmFuLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYWdlLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0yMDUtZGVwLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtbmZzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtaW5zLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNjctZmluLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wOTEtcGxmLWZpbi1yYXQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTIxMC1keHAtZS0wNzUtZGVyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtZW5kLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0wNzAtZW50LWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvZS0zMDEtdGNyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvbmNtLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVxdWlzaWNhby1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3VuaWRhZGUtbWVkaWRhLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcXRkLWRpc3Bvbml2ZWwtZGVtYW5kYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtNjQwLWxvdC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL2UtMDQ2LWhwZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS1wZXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjAtc25mLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDcwLWVtcC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA3MC1maWwtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtZW5kLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDA3LXVmcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwOC1yYWktbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMzItZWRjLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDE1LW1lZC1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS10bnMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzUtZGVyLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDgwLXNlci1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uY20tbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmF0dXJlemEtcmVjZWl0YS1waXMtY29maW5zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmYtc2FpZGEtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtbmYtZW50cmFkYS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA2Ni1mcGctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjgtY3BnLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDUxLWRpcy1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyNC1tc2ctbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA1MS1kaXMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NC1jY3UtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9uYXR1cmV6YS1yZWNlaXRhLXBpcy1jb2ZpbnMubG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0OC1mY3QtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lcXVpcG1lbnQtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy9lLTA0OC1zZmMtbG9va3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvY291bnRyeS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3dpemFyZC1lbnRpdGllcy9jdXJyZW5jeS1sb29rdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VudGl0aWVzL3dpemFyZC1lbnRpdGllcy9iYW5rLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi90eXBlLXRheGVzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi9wYXJhbWV0ZXJzLWxvb2t1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW50aXRpZXMvYmVuZWZpY2lvLWZpc2NhbC1sb29rdXBcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vZXJwLWxvb2t1cHMubW9kdWxlXCI7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from "./nps.service";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL25wcy5zZXJ2aWNlXCI7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL25wcy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm90b2NvbHMvaW5kZXhcIjtcbiJdfQ==
@@ -1,28 +1,31 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { Injectable } from "@angular/core";
3
- import * as Cookie from "js-cookie";
3
+ import { user } from "@seniorsistemas/senior-platform-data";
4
4
  import * as i0 from "@angular/core";
5
+ // https://widget.tracksale.co/
5
6
  let NpsService = class NpsService {
6
- constructor() { }
7
- get cookieInformation() {
8
- return JSON.parse(Cookie.get(`com.senior.pau.userdata`) || "{}");
7
+ getUserInformation() {
8
+ return __awaiter(this, void 0, void 0, function* () {
9
+ return yield user.getToken();
10
+ });
9
11
  }
10
12
  /**
11
13
  * Executa o serviço de NPS utilizando os dados do usuário atual, no caso sobreescrevendos os campos name, email, identification,
12
14
  * tags.tenant e tags.email fornecidos no request original. Esses serão sobreescritos com os valores retornados pelo cookie
13
- * com.senior.pau.userdata. *
15
+ * com.senior.pau.userdata.
16
+ *
14
17
  * @param tracksaleRequest request que será enviado ao serviço de nps
15
18
  */
16
19
  currentUserInitNPS(tracksaleRequest) {
17
20
  return __awaiter(this, void 0, void 0, function* () {
18
- const { tenantName, email, fullname, id } = this.cookieInformation;
21
+ const { tenantName, email, fullName } = yield this.getUserInformation();
19
22
  const copyTracksaleRequest = Object.assign({}, tracksaleRequest);
20
23
  copyTracksaleRequest.tags =
21
24
  (tracksaleRequest.tags && Object.assign({}, tracksaleRequest.tags)) ||
22
25
  {};
23
- copyTracksaleRequest.name = fullname;
26
+ copyTracksaleRequest.name = fullName;
24
27
  copyTracksaleRequest.email = email;
25
- copyTracksaleRequest.identification = id;
28
+ copyTracksaleRequest.identification = email;
26
29
  copyTracksaleRequest.tags.tenant = tenantName;
27
30
  copyTracksaleRequest.tags.email = email;
28
31
  this.initNPS(copyTracksaleRequest);
@@ -67,4 +70,4 @@ NpsService = __decorate([
67
70
  })
68
71
  ], NpsService);
69
72
  export { NpsService };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9ucHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQzs7QUE0QnBDLElBQWEsVUFBVSxHQUF2QixNQUFhLFVBQVU7SUFDbkIsZ0JBQWdCLENBQUM7SUFFakIsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDVSxrQkFBa0IsQ0FDM0IsZ0JBQWtDOztZQUVsQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBRW5FLE1BQU0sb0JBQW9CLHFCQUFRLGdCQUFnQixDQUFFLENBQUM7WUFDckQsb0JBQW9CLENBQUMsSUFBSTtnQkFDckIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLHNCQUNmLGdCQUFnQixDQUFDLElBQUksQ0FDM0IsQ0FBQztvQkFDRixFQUFFLENBQUM7WUFFUCxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBQ3JDLG9CQUFvQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkMsb0JBQW9CLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztZQUM5QyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUV4QyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkMsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNJLE9BQU8sQ0FBQyxnQkFBa0M7UUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN6QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsb0RBQW9ELENBQUM7UUFDbkUsT0FBTyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUNqQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNyQixhQUFhO1FBQ2IsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsa0JBQWtCLEdBQUc7WUFDMUMsSUFDSSxJQUFJLENBQUMsVUFBVTtnQkFDZixJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVU7Z0JBQzlCLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUM5QjtnQkFDRSxPQUFPO2FBQ1Y7WUFDRCxJQUFJO2dCQUNBLGFBQWE7Z0JBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3BDO1lBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRztRQUNuQixDQUFDLENBQUM7UUFDRixhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKLENBQUE7O0FBbEVZLFVBQVU7SUFIdEIsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLFVBQVUsQ0FrRXRCO1NBbEVZLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCAqIGFzIENvb2tpZSBmcm9tIFwianMtY29va2llXCI7XG5cbi8vIGh0dHBzOi8vd2lkZ2V0LnRyYWNrc2FsZS5jby9cbmV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBUcmFja3NhbGVSZXF1ZXN0IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBjYW1wYWlnbjogc3RyaW5nO1xuICAgIHRhZ3M/OiBhbnk7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbiAgICBpZGVudGlmaWNhdGlvbj86IHN0cmluZztcbiAgICBzYWx1dGU/OiBzdHJpbmc7XG4gICAgdGhhbmtzPzogc3RyaW5nO1xuICAgIHJlcXVpcmVfY29tbWVudD86IGJvb2xlYW47XG4gICAgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgb25PcGVuPzogRnVuY3Rpb247XG4gICAgb25DbG9zZT86IEZ1bmN0aW9uO1xuICAgIG9uQW5zd2VyPzogRnVuY3Rpb247XG4gICAgb25VcGRhdGVJbmZvPzogRnVuY3Rpb247XG4gICAgb25XYXJuaW5nPzogRnVuY3Rpb247XG4gICAgb25FcnJvcj86IEZ1bmN0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBUZW5hbnRGdWxsRFRPIHtcbiAgICBjbGllbnRDb2RlOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTnBzU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIGdldCBjb29raWVJbmZvcm1hdGlvbigpOiBJVG9rZW5TZW5pb3JYIHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoQ29va2llLmdldChgY29tLnNlbmlvci5wYXUudXNlcmRhdGFgKSB8fCBcInt9XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGEgbyBzZXJ2acOnbyBkZSBOUFMgdXRpbGl6YW5kbyBvcyBkYWRvcyBkbyB1c3XDoXJpbyBhdHVhbCwgbm8gY2FzbyBzb2JyZWVzY3JldmVuZG9zIG9zIGNhbXBvcyBuYW1lLCBlbWFpbCwgaWRlbnRpZmljYXRpb24sXG4gICAgICogdGFncy50ZW5hbnQgZSB0YWdzLmVtYWlsIGZvcm5lY2lkb3Mgbm8gcmVxdWVzdCBvcmlnaW5hbC4gRXNzZXMgc2Vyw6NvIHNvYnJlZXNjcml0b3MgY29tIG9zIHZhbG9yZXMgcmV0b3JuYWRvcyBwZWxvIGNvb2tpZVxuICAgICAqIGNvbS5zZW5pb3IucGF1LnVzZXJkYXRhLiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFja3NhbGVSZXF1ZXN0IHJlcXVlc3QgcXVlIHNlcsOhIGVudmlhZG8gYW8gc2VydmnDp28gZGUgbnBzXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGN1cnJlbnRVc2VySW5pdE5QUyhcbiAgICAgICAgdHJhY2tzYWxlUmVxdWVzdDogVHJhY2tzYWxlUmVxdWVzdFxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IHRlbmFudE5hbWUsIGVtYWlsLCBmdWxsbmFtZSwgaWQgfSA9IHRoaXMuY29va2llSW5mb3JtYXRpb247XG5cbiAgICAgICAgY29uc3QgY29weVRyYWNrc2FsZVJlcXVlc3QgPSB7IC4uLnRyYWNrc2FsZVJlcXVlc3QgfTtcbiAgICAgICAgY29weVRyYWNrc2FsZVJlcXVlc3QudGFncyA9XG4gICAgICAgICAgICAodHJhY2tzYWxlUmVxdWVzdC50YWdzICYmIHtcbiAgICAgICAgICAgICAgICAuLi50cmFja3NhbGVSZXF1ZXN0LnRhZ3MsXG4gICAgICAgICAgICB9KSB8fFxuICAgICAgICAgICAge307XG5cbiAgICAgICAgY29weVRyYWNrc2FsZVJlcXVlc3QubmFtZSA9IGZ1bGxuYW1lO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC5lbWFpbCA9IGVtYWlsO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC5pZGVudGlmaWNhdGlvbiA9IGlkO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC50YWdzLnRlbmFudCA9IHRlbmFudE5hbWU7XG4gICAgICAgIGNvcHlUcmFja3NhbGVSZXF1ZXN0LnRhZ3MuZW1haWwgPSBlbWFpbDtcblxuICAgICAgICB0aGlzLmluaXROUFMoY29weVRyYWNrc2FsZVJlcXVlc3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGEgbyBzZXJ2acOnbyBkZSBOUFMgdXRpbGl6YW5kbyBvcyBkYWRvcyBmb3JuZWNpZG9zIG5vIHRyYWNrc2FsZVJlcXVlc3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFja3NhbGVSZXF1ZXN0IHJlcXVlc3QgcXVlIHNlcsOhIGVudmlhZG8gYW8gc2VydmnDp28gZGUgbnBzXG4gICAgICovXG4gICAgcHVibGljIGluaXROUFModHJhY2tzYWxlUmVxdWVzdDogVHJhY2tzYWxlUmVxdWVzdCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIilbMF07XG4gICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRyYWNrc2FsZS1qc1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICBlbGVtZW50LmlkID0gXCJ0cmFja3NhbGUtanNcIjtcbiAgICAgICAgZWxlbWVudC5zcmMgPSBcImh0dHBzOi8vY2RuLnRyYWNrc2FsZS5jby90cmFja3NhbGUtanMvdHJhY2tzYWxlLmpzXCI7XG4gICAgICAgIGVsZW1lbnQudHlwZSA9IFwidGV4dC9qYXZhc2NyaXB0XCI7XG4gICAgICAgIGVsZW1lbnQuYXN5bmMgPSB0cnVlO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGVsZW1lbnQub25sb2FkID0gZWxlbWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeVN0YXRlICYmXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeVN0YXRlICE9PSBcImNvbXBsZXRlXCIgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWR5U3RhdGUgIT09IFwibG9hZGVkXCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGNvbnN0IHRyYWNrU2FsZSA9IG5ldyBUcmFja3NhbGUoKTtcbiAgICAgICAgICAgICAgICB0cmFja1NhbGUuaW5pdCh0cmFja3NhbGVSZXF1ZXN0KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgICAgICB9O1xuICAgICAgICBzY3JpcHRFbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIHNjcmlwdEVsZW1lbnQpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG9rZW5TZW5pb3JYIHtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgZnVsbG5hbWU6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHN1YmplY3Q6IHN0cmluZztcbiAgICB0ZW5hbnRMb2NhbGU6IHN0cmluZztcbiAgICB0ZW5hbnROYW1lOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9ucHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRzVELCtCQUErQjtBQUkvQixJQUFhLFVBQVUsR0FBdkIsTUFBYSxVQUFVO0lBQ2Isa0JBQWtCOztZQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLENBQUM7S0FBQTtJQUVEOzs7Ozs7T0FNRztJQUNVLGtCQUFrQixDQUMzQixnQkFBa0M7O1lBRWxDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFeEUsTUFBTSxvQkFBb0IscUJBQVEsZ0JBQWdCLENBQUUsQ0FBQztZQUNyRCxvQkFBb0IsQ0FBQyxJQUFJO2dCQUNyQixDQUFDLGdCQUFnQixDQUFDLElBQUksc0JBQ2YsZ0JBQWdCLENBQUMsSUFBSSxDQUMzQixDQUFDO29CQUNGLEVBQUUsQ0FBQztZQUVQLG9CQUFvQixDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7WUFDckMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQyxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1lBQzlDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBRXhDLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN2QyxDQUFDO0tBQUE7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLGdCQUFrQztRQUM3QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3pDLE9BQU87U0FDVjtRQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDNUIsT0FBTyxDQUFDLEdBQUcsR0FBRyxvREFBb0QsQ0FBQztRQUNuRSxPQUFPLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLGFBQWE7UUFDYixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRztZQUMxQyxJQUNJLElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVTtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQzlCO2dCQUNFLE9BQU87YUFDVjtZQUNELElBQUk7Z0JBQ0EsYUFBYTtnQkFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDcEM7WUFBQyxPQUFPLENBQUMsRUFBRSxHQUFHO1FBQ25CLENBQUMsQ0FBQztRQUNGLGFBQWEsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0osQ0FBQTs7QUFqRVksVUFBVTtJQUh0QixVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0dBQ1csVUFBVSxDQWlFdEI7U0FqRVksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdXNlciB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvc2VuaW9yLXBsYXRmb3JtLWRhdGFcIjtcbmltcG9ydCB7IElUb2tlblNlbmlvclgsIFRyYWNrc2FsZVJlcXVlc3QgfSBmcm9tIFwiLi9wcm90b2NvbHNcIjtcblxuLy8gaHR0cHM6Ly93aWRnZXQudHJhY2tzYWxlLmNvL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBOcHNTZXJ2aWNlIHtcbiAgICBhc3luYyBnZXRVc2VySW5mb3JtYXRpb24oKTogUHJvbWlzZTxJVG9rZW5TZW5pb3JYPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB1c2VyLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0YSBvIHNlcnZpw6dvIGRlIE5QUyB1dGlsaXphbmRvIG9zIGRhZG9zIGRvIHVzdcOhcmlvIGF0dWFsLCBubyBjYXNvIHNvYnJlZXNjcmV2ZW5kb3Mgb3MgY2FtcG9zIG5hbWUsIGVtYWlsLCBpZGVudGlmaWNhdGlvbixcbiAgICAgKiB0YWdzLnRlbmFudCBlIHRhZ3MuZW1haWwgZm9ybmVjaWRvcyBubyByZXF1ZXN0IG9yaWdpbmFsLiBFc3NlcyBzZXLDo28gc29icmVlc2NyaXRvcyBjb20gb3MgdmFsb3JlcyByZXRvcm5hZG9zIHBlbG8gY29va2llXG4gICAgICogY29tLnNlbmlvci5wYXUudXNlcmRhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhY2tzYWxlUmVxdWVzdCByZXF1ZXN0IHF1ZSBzZXLDoSBlbnZpYWRvIGFvIHNlcnZpw6dvIGRlIG5wc1xuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBjdXJyZW50VXNlckluaXROUFMoXG4gICAgICAgIHRyYWNrc2FsZVJlcXVlc3Q6IFRyYWNrc2FsZVJlcXVlc3RcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyB0ZW5hbnROYW1lLCBlbWFpbCwgZnVsbE5hbWUgfSA9IGF3YWl0IHRoaXMuZ2V0VXNlckluZm9ybWF0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgY29weVRyYWNrc2FsZVJlcXVlc3QgPSB7IC4uLnRyYWNrc2FsZVJlcXVlc3QgfTtcbiAgICAgICAgY29weVRyYWNrc2FsZVJlcXVlc3QudGFncyA9XG4gICAgICAgICAgICAodHJhY2tzYWxlUmVxdWVzdC50YWdzICYmIHtcbiAgICAgICAgICAgICAgICAuLi50cmFja3NhbGVSZXF1ZXN0LnRhZ3MsXG4gICAgICAgICAgICB9KSB8fFxuICAgICAgICAgICAge307XG5cbiAgICAgICAgY29weVRyYWNrc2FsZVJlcXVlc3QubmFtZSA9IGZ1bGxOYW1lO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC5lbWFpbCA9IGVtYWlsO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC5pZGVudGlmaWNhdGlvbiA9IGVtYWlsO1xuICAgICAgICBjb3B5VHJhY2tzYWxlUmVxdWVzdC50YWdzLnRlbmFudCA9IHRlbmFudE5hbWU7XG4gICAgICAgIGNvcHlUcmFja3NhbGVSZXF1ZXN0LnRhZ3MuZW1haWwgPSBlbWFpbDtcblxuICAgICAgICB0aGlzLmluaXROUFMoY29weVRyYWNrc2FsZVJlcXVlc3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGEgbyBzZXJ2acOnbyBkZSBOUFMgdXRpbGl6YW5kbyBvcyBkYWRvcyBmb3JuZWNpZG9zIG5vIHRyYWNrc2FsZVJlcXVlc3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFja3NhbGVSZXF1ZXN0IHJlcXVlc3QgcXVlIHNlcsOhIGVudmlhZG8gYW8gc2VydmnDp28gZGUgbnBzXG4gICAgICovXG4gICAgcHVibGljIGluaXROUFModHJhY2tzYWxlUmVxdWVzdDogVHJhY2tzYWxlUmVxdWVzdCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIilbMF07XG4gICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRyYWNrc2FsZS1qc1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICBlbGVtZW50LmlkID0gXCJ0cmFja3NhbGUtanNcIjtcbiAgICAgICAgZWxlbWVudC5zcmMgPSBcImh0dHBzOi8vY2RuLnRyYWNrc2FsZS5jby90cmFja3NhbGUtanMvdHJhY2tzYWxlLmpzXCI7XG4gICAgICAgIGVsZW1lbnQudHlwZSA9IFwidGV4dC9qYXZhc2NyaXB0XCI7XG4gICAgICAgIGVsZW1lbnQuYXN5bmMgPSB0cnVlO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGVsZW1lbnQub25sb2FkID0gZWxlbWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeVN0YXRlICYmXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeVN0YXRlICE9PSBcImNvbXBsZXRlXCIgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWR5U3RhdGUgIT09IFwibG9hZGVkXCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGNvbnN0IHRyYWNrU2FsZSA9IG5ldyBUcmFja3NhbGUoKTtcbiAgICAgICAgICAgICAgICB0cmFja1NhbGUuaW5pdCh0cmFja3NhbGVSZXF1ZXN0KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgICAgICB9O1xuICAgICAgICBzY3JpcHRFbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIHNjcmlwdEVsZW1lbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9wcm90b2NvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3RlbmFudC1mdWxsLWR0b1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9rZW4tc2VuaW9yLXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYWNrc2FsZS1yZXF1ZXN0XCI7XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWZ1bGwtZHRvLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9ucHMvcHJvdG9jb2xzL3RlbmFudC1mdWxsLWR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUZW5hbnRGdWxsRFRPIHtcbiAgICBjbGllbnRDb2RlOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VuaW9yLXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9wcm90b2NvbHMvdG9rZW4tc2VuaW9yLXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRva2VuU2VuaW9yWCB7XG4gICAgdmVyc2lvbjogbnVtYmVyO1xuICAgIHNjb3BlOiBzdHJpbmc7XG4gICAgZXhwaXJlc19pbjogbnVtYmVyO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgdG9rZW5fdHlwZTogc3RyaW5nO1xuICAgIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBmdWxsTmFtZTogc3RyaW5nO1xuICAgIHRlbmFudE5hbWU6IHN0cmluZztcbiAgICBsb2NhbGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tzYWxlLXJlcXVlc3QuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25wcy9wcm90b2NvbHMvdHJhY2tzYWxlLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHJhY2tzYWxlUmVxdWVzdCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgY2FtcGFpZ246IHN0cmluZztcbiAgICB0YWdzPzogYW55O1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZW1haWw/OiBzdHJpbmc7XG4gICAgaWRlbnRpZmljYXRpb24/OiBzdHJpbmc7XG4gICAgc2FsdXRlPzogc3RyaW5nO1xuICAgIHRoYW5rcz86IHN0cmluZztcbiAgICByZXF1aXJlX2NvbW1lbnQ/OiBib29sZWFuO1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIG9uT3Blbj86IEZ1bmN0aW9uO1xuICAgIG9uQ2xvc2U/OiBGdW5jdGlvbjtcbiAgICBvbkFuc3dlcj86IEZ1bmN0aW9uO1xuICAgIG9uVXBkYXRlSW5mbz86IEZ1bmN0aW9uO1xuICAgIG9uV2FybmluZz86IEZ1bmN0aW9uO1xuICAgIG9uRXJyb3I/OiBGdW5jdGlvbjtcbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { FieldType } from "@seniorsistemas/angular-components";
3
+ import { ErpLookupsService } from "../erp-lookups.service";
4
+ import { TranslateService } from "@ngx-translate/core";
5
+ import { Injectable } from "@angular/core";
6
+ import { ErpLookups } from "../erp-lookups";
7
+ var E081TabLookup = /** @class */ (function (_super) {
8
+ __extends(E081TabLookup, _super);
9
+ function E081TabLookup(lookupService, translate) {
10
+ var _this = _super.call(this, lookupService, translate, "e081tab", [
11
+ {
12
+ name: "codTpr",
13
+ type: FieldType.String,
14
+ },
15
+ {
16
+ name: "desTpr",
17
+ type: FieldType.String,
18
+ },
19
+ ], [
20
+ {
21
+ name: "codTpr",
22
+ type: FieldType.String
23
+ },
24
+ {
25
+ name: "desTpr",
26
+ type: FieldType.String
27
+ },
28
+ {
29
+ name: "e031moe.codMoe",
30
+ type: FieldType.String
31
+ },
32
+ {
33
+ name: "e031moe.desMoe",
34
+ type: FieldType.String
35
+ },
36
+ {
37
+ name: "e031moe.sigMoe",
38
+ type: FieldType.String
39
+ }
40
+ ], [
41
+ {
42
+ name: "codTpr",
43
+ type: FieldType.String
44
+ },
45
+ {
46
+ name: "desTpr",
47
+ type: FieldType.String
48
+ },
49
+ {
50
+ name: "e031moe.codMoe",
51
+ type: FieldType.String
52
+ },
53
+ {
54
+ name: "e031moe.desMoe",
55
+ type: FieldType.String
56
+ },
57
+ {
58
+ name: "e031moe.sigMoe",
59
+ type: FieldType.String
60
+ }
61
+ ], "erpx_com_ven", "foundation") || this;
62
+ _this.lookupService = lookupService;
63
+ _this.translate = translate;
64
+ return _this;
65
+ }
66
+ E081TabLookup.ctorParameters = function () { return [
67
+ { type: ErpLookupsService },
68
+ { type: TranslateService }
69
+ ]; };
70
+ E081TabLookup = __decorate([
71
+ Injectable()
72
+ ], E081TabLookup);
73
+ return E081TabLookup;
74
+ }(ErpLookups));
75
+ export { E081TabLookup };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS0wODEtdGFiLWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9va3Vwcy9lbnRpdGllcy9lLTA4MS10YWItbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUM7SUFBbUMsaUNBQVU7SUFDekMsdUJBQXNCLGFBQWdDLEVBQVksU0FBMkI7UUFBN0YsWUFDSSxrQkFDSSxhQUFhLEVBQ2IsU0FBUyxFQUNULFNBQVMsRUFDVDtZQUNJO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtTQUNKLEVBQ0Q7WUFDSTtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7U0FDSixFQUNEO1lBQ0k7Z0JBQ0ksSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1lBQ0Q7Z0JBQ0ksSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1NBQ0osRUFDRCxjQUFjLEVBQ2QsWUFBWSxDQUNmLFNBQ0o7UUE5RHFCLG1CQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUFZLGVBQVMsR0FBVCxTQUFTLENBQWtCOztJQThEN0YsQ0FBQzs7Z0JBOURvQyxpQkFBaUI7Z0JBQXVCLGdCQUFnQjs7SUFEcEYsYUFBYTtRQUR6QixVQUFVLEVBQUU7T0FDQSxhQUFhLENBZ0V6QjtJQUFELG9CQUFDO0NBQUEsQUFoRUQsQ0FBbUMsVUFBVSxHQWdFNUM7U0FoRVksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuLi9lcnAtbG9va3Vwcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRXJwTG9va3VwcyB9IGZyb20gXCIuLi9lcnAtbG9va3Vwc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRTA4MVRhYkxvb2t1cCBleHRlbmRzIEVycExvb2t1cHMge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb29rdXBTZXJ2aWNlOiBFcnBMb29rdXBzU2VydmljZSwgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIGxvb2t1cFNlcnZpY2UsXG4gICAgICAgICAgICB0cmFuc2xhdGUsXG4gICAgICAgICAgICBcImUwODF0YWJcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kVHByXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZGVzVHByXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImNvZFRwclwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZGVzVHByXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDMxbW9lLmNvZE1vZVwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZTAzMW1vZS5kZXNNb2VcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImUwMzFtb2Uuc2lnTW9lXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJjb2RUcHJcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImRlc1RwclwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZTAzMW1vZS5jb2RNb2VcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImUwMzFtb2UuZGVzTW9lXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlMDMxbW9lLnNpZ01vZVwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiZXJweF9jb21fdmVuXCIsXG4gICAgICAgICAgICBcImZvdW5kYXRpb25cIlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -235,15 +235,7 @@ var ErpLookups = /** @class */ (function () {
235
235
  }, this.entity, options.domain || this.domain, options.service || this.service)
236
236
  .pipe(takeUntil(this.ngUnsubscribe))
237
237
  .pipe(map(function (list) {
238
- return list.contents.map(function (item) { return (__assign(__assign({}, item), { label: lookupDisplayFields
239
- .map(function (field) {
240
- if (field.indexOf(".") > 0)
241
- return _this.getProp(item, field, prefix);
242
- return item[field] !== undefined && item[field] !== null
243
- ? item[field]
244
- : _this.translate.instant(prefix + ".empty_label");
245
- })
246
- .join(" - ") })); });
238
+ return list.contents.map(function (item) { return (__assign(__assign({}, item), { label: _this.getItemLabel(item, prefix, lookupDisplayFields) })); });
247
239
  }))
248
240
  .subscribe(function (data) {
249
241
  _this.lookupSuggestionsObservable.next(data);
@@ -312,21 +304,25 @@ var ErpLookups = /** @class */ (function () {
312
304
  .list({ page: page, sort: sort, filterQuery: filterQuery, displayFields: displayFields }, this.entity, options.domain || this.domain, options.service || this.service)
313
305
  .pipe(takeUntil(this.ngUnsubscribe))
314
306
  .pipe(map(function (list) { return ({
315
- gridData: list.contents.map(function (item) { return (__assign(__assign({}, item), { label: lookupDisplayFields
316
- .map(function (field) {
317
- if (field.indexOf(".") > 0)
318
- return _this.getProp(item, field, prefix);
319
- return item[field] !== undefined && item[field] !== null
320
- ? item[field]
321
- : _this.translate.instant(prefix + ".empty_label");
322
- })
323
- .join(" - ") })); }),
307
+ gridData: list.contents.map(function (item) { return (__assign(__assign({}, item), { label: _this.getItemLabel(item, prefix, lookupDisplayFields) })); }),
324
308
  totalRecords: list.totalElements
325
309
  }); }))
326
310
  .subscribe(function (data) {
327
311
  _this.lookupSearchObservable.next(data);
328
312
  });
329
313
  };
314
+ ErpLookups.prototype.getItemLabel = function (item, prefix, lookupDisplayFields) {
315
+ var _this = this;
316
+ return lookupDisplayFields
317
+ .map(function (field) {
318
+ if (field.indexOf(".") > 0)
319
+ return _this.getProp(item, field, prefix);
320
+ return item[field] !== undefined && item[field] !== null
321
+ ? item[field]
322
+ : _this.translate.instant(prefix + ".empty_label");
323
+ })
324
+ .join(" - ");
325
+ };
330
326
  ErpLookups.ctorParameters = function () { return [
331
327
  { type: ErpLookupsService },
332
328
  { type: TranslateService },
@@ -347,4 +343,4 @@ var ErpLookups = /** @class */ (function () {
347
343
  return ErpLookups;
348
344
  }());
349
345
  export { ErpLookups };
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvZXJwLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBZ0N2QixrRkFBa0Y7QUFDbEYsTUFBTSxDQUFOLElBQVksbUJBeUJYO0FBekJELFdBQVksbUJBQW1CO0lBQzNCLCtEQUErRDtJQUMvRCxnQ0FBUyxDQUFBO0lBQ1Qsa0VBQWtFO0lBQ2xFLGdDQUFTLENBQUE7SUFDVCx1REFBdUQ7SUFDdkQsZ0NBQVMsQ0FBQTtJQUNULGdFQUFnRTtJQUNoRSxnQ0FBUyxDQUFBO0lBQ1QsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQVMsQ0FBQTtJQUNULHdFQUF3RTtJQUN4RSxrQ0FBVyxDQUFBO0lBQ1gscUVBQXFFO0lBQ3JFLGdDQUFTLENBQUE7SUFDVCwrRUFBK0U7SUFDL0Usa0NBQVcsQ0FBQTtJQUNYLG1EQUFtRDtJQUNuRCxnQ0FBUyxDQUFBO0lBQ1QsbUVBQW1FO0lBQ25FLHVDQUFnQixDQUFB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b21lbnRcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRUeXBlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEVycExvb2t1cHNTZXJ2aWNlIH0gZnJvbSBcIi4vZXJwLWxvb2t1cHMuc2VydmljZVwiO1xu4oCLXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xu4oCLXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuXG4vKiogRW50aWRhZGVzIGRlIHF1ZSBkZXBlbmRlICovXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eURlcGVuZGVuY3kge1xuICAgIC8qKiBOb21lIGRhIGVudGlkYWRlIHF1ZSBkZXBlbmRlIChwYWkpICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKiBDYW1wbyBkYSBlbnRpZGFkZSBwYWkgcXVlIHNlcsOhIGNvbXBhcmFkbyAqL1xuICAgIGZpZWxkPzogc3RyaW5nO1xuICAgIC8qKiBWYWxvciBkYSBlbnRpZGFkZSBwYWkgKi9cbiAgICB2YWx1ZTogRnVuY3Rpb247XG59XG7igItcbi8qKiBGaWx0cm8gcGFkcsOjbyBhcGxpY2FkbyBlbSB0b2RhcyByZXF1aXNpw6fDtWVzIGRhIGVudGlkYWRlLiBQb3IgcGFkcsOjbyBmaWx0cmEgcmVnaXN0cm9zIG7Do28gZXhjbHVpZG9zICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRGaWx0ZXIge1xuICAgIC8qKiBDYW1wbyBxdWUgc2Vyw6EgZmlsdHJhZG8gKi9cbiAgICBmaWVsZDogc3RyaW5nIHwgRGVmYXVsdEZpbHRlcjtcbiAgICAvKiogQ29tcGFyYcOnw6NvIHF1ZSBzZXLDoSBhcGxpY2FkYSBuYSBjb25zdWx0YSAqL1xuICAgIG9wZXJhdG9yOiBFbnVtTG9naWNhbE9wZXJhdG9yO1xuICAgIC8qKiBWYWxvcmVzIHF1ZSBzZXLDo28gYnVzY2Fkb3MgKi9cbiAgICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogRmlsdHJvIGRpbmFtaWNvIHBhcmEgY29uc3VsdGFzIG1haXMgY29tcGxleGFzICovXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGaWx0ZXIge1xuICAgIC8qKiBDYW1wbyBxdWUgc2Vyw6EgZmlsdHJhZG8gKi9cbiAgICBmaWVsZDogRnVuY3Rpb25cbiAgICAvKiogQ29tcGFyYcOnw6NvIHF1ZSBzZXLDoSBhcGxpY2FkYSBuYSBjb25zdWx0YSAqL1xuICAgIG9wZXJhdG9yOiBFbnVtTG9naWNhbE9wZXJhdG9yO1xuICAgIC8qKiBWYWxvcmVzIHF1ZSBzZXLDo28gYnVzY2Fkb3MgKi9cbiAgICB2YWx1ZTogRnVuY3Rpb247XG59XG5cbi8qKiBGaWx0ZXIgU3lzdGVtIFF1ZXJ5IE9wdGlvbiAtIE9wZXJhdG9ycyBzdXBwb3J0ZWQgaW4gdGhlIGV4cHJlc3Npb24gbGFuZ3VhZ2UgKi9cbmV4cG9ydCBlbnVtIEVudW1Mb2dpY2FsT3BlcmF0b3Ige1xuICAgIC8qKiBFcXVhbCAoRXg6IC9TdXBwbGllcnM/JGZpbHRlcj1BZGRyZXNzL0NpdHkgZXEgJ1JlZG1vbmQnKSAqL1xuICAgIEVxID0gXCJlcVwiLFxuICAgIC8qKiBOb3QgZXF1YWwgKEV4OiAvU3VwcGxpZXJzPyRmaWx0ZXI9QWRkcmVzcy9DaXR5IG5lICdMb25kb24nKSAqL1xuICAgIE5lID0gXCJuZVwiLFxuICAgIC8qKiBHcmVhdGVyIHRoYW4gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBndCAyMCkgKi9cbiAgICBHdCA9IFwiZ3RcIixcbiAgICAvKiogR3JlYXRlciB0aGFuIG9yIGVxdWFsIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgZ2UgMTApICovXG4gICAgR2UgPSBcImdlXCIsXG4gICAgLyoqIExlc3MgdGhhbiAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGx0IDIwKSovXG4gICAgTHQgPSBcImx0XCIsXG4gICAgLyoqIExlc3MgdGhhbiBvciBlcXVhbCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDEwMCkqL1xuICAgIExlID0gXCJsZVwiLFxuICAgIC8qKiBMb2dpY2FsIGFuZFx0IChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbGUgMjAwIGFuZCBQcmljZSBndCAzLjUpKi9cbiAgICBBbmQgPSBcImFuZFwiLFxuICAgIC8qKiBMb2dpY2FsIG9yIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbGUgMy41IG9yIFByaWNlIGd0IDIwMCkqL1xuICAgIE9yID0gXCJvclwiLFxuICAgIC8qKiBMb2dpY2FsIG5lZ2F0aW9uIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9bm90IGVuZHN3aXRoKERlc2NyaXB0aW9uLCdtaWxrJykpKi9cbiAgICBOb3QgPSBcIm5vdFwiLFxuICAgIC8qKiBMb2dpY2FsIGlzIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9aWQgaXMgbnVsbCAqL1xuICAgIElzID0gXCJpc1wiLFxuICAgIC8qKiBOZWdhdGlvbiBvZiBsb2dpY2FsIGlzIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9aWQgaXMgbm90IG51bGwgKi9cbiAgICBJc05vdCA9IFwiaXMgbm90XCIsXG4gICAgLyoqIENvbnRhaW5zIHN0cmluZyB2YWx1ZSAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWNvbnRhaW5pbmcobG93ZXIobmFtZSksIGxvd2VyKCdteSBuYW1lJykpKSAqL1xuICAgIENvbnRhaW5zID0gXCJjb250YWluaW5nXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0T3B0aW9ucyB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcmRlcjogbnVtYmVyO1xufVxuXG4vKiogUGFyw6JtZXRyb3MgcGFyYSBjdXN0b21pemHDp8O1ZXMgZG8gbG9va3VwICovXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cE9wdGlvbnMge1xuICAgIC8qKiBOb21lIGRhIGVudGlkYWRlICovXG4gICAgZW50aXR5Pzogc3RyaW5nO1xuICAgIC8qKiBOb21lIGRvIGZvcm1Hcm91cCAqL1xuICAgIGZvcm1Hcm91cD86IHN0cmluZztcbiAgICAvKiogRmlsdHJvIHBhZHLDo28gKi9cbiAgICBkZWZhdWx0RmlsdGVyPzogRGVmYXVsdEZpbHRlcltdO1xuICAgIC8qKiBGaWx0cm8gZGluw6JtaWNvICovXG4gICAgZHluYW1pY0ZpbHRlcj86IER5bmFtaWNGaWx0ZXJbXTtcbiAgICAvKiogQ2FtcG9zIGRvIGxvb2t1cCAoYXV0b2NvbXBsZXRlKSAqL1xuICAgIGxvb2t1cEZpZWxkcz86IEZvcm1GaWVsZFtdO1xuICAgIC8qKiBDYW1wb3MgcXVlIHNlcsOjbyBzb2xpY2l0YWRvcyBuYSBjb25zdWx0YSAqL1xuICAgIHF1ZXJ5RmllbGRzPzogc3RyaW5nW107XG4gICAgLyoqIENhbXBvcyBleGliaWRvcyBubyBmaWx0cm8gZGEgbW9kYWwgZGUgbGlzdGFnZW0gKi9cbiAgICBzZWFyY2hGaWVsZHM/OiBGb3JtRmllbGRbXTtcbiAgICAvKiogQ2FtcG9zIGV4aWJpZG9zIG5hIGdyaWQgZGEgbW9kYWwgZGUgbGlzdGFnZW0gKi9cbiAgICBzZWFyY2hHcmlkRmllbGRzPzogRm9ybUZpZWxkW107XG4gICAgLyoqIERlZmluZSBzZSBvIGxvb2t1cCBwZXJtaXRpcsOhIG11bHRpIHNlbGXDp8OjbyAqL1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgICAvKiogRW50aWRhZGVzIGRlIHF1ZSBkZXBlbmRlICovXG4gICAgZW50aXR5RGVwZW5kZW5jeT86IEVudGl0eURlcGVuZGVuY3lbXTtcbiAgICAvKiogUHJlZml4byB1dGlsaXphZG8gcGFyYSBtb250YXIgb3MgbGFiZWxzIChwb3IgcGFkcsOjbyB1dGlsaXphIGRvbcOtbmlvIGUgc2VydmnDp28pICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKiBTdWZpeG8gdXRpbGl6YWRvIHBhcmEgbW9udGFyIG9zIGxhYmVscyAocG9yIHBhZHLDo28gw6kgdmF6aW8pICovXG4gICAgc3VmZml4Pzogc3RyaW5nO1xuICAgIC8qKiBEb23DrW5pbyAqL1xuICAgIGRvbWFpbj86IHN0cmluZztcbiAgICAvKiogU2VydmnDp28gKi9cbiAgICBzZXJ2aWNlPzogc3RyaW5nO1xuICAgIC8qKiBEYXRhIGtleSAqL1xuICAgIGRhdGFLZXk/OiBzdHJpbmc7XG4gICAgLyoqIENhbXBvcyBwYXJhIG9yZGVuYcOnw6NvIGRvIGxvb2t1cCAoYXV0b2NvbXBsZXRlKSovXG4gICAgbG9va3VwU29ydD86IFNvcnRPcHRpb25zW107XG4gICAgLyoqIENhbXBvcyBwYXJhIGEgb3JkZW5hw6fDo28gYW8gYWJyaXIgYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaFNvcnQ/OiBTb3J0T3B0aW9uc1tdO1xufVxuXG5ASW5qZWN0YWJsZSgpXG7igItcbi8qKlxuICogRXJwIExvb2t1cHNcbiAqIEBjbGFzcyBFcnBMb29rdXBzXG4qL1xuZXhwb3J0IGNsYXNzIEVycExvb2t1cHMge1xuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgLyoqXG4gICAgICogQ3JpYcOnw6NvIGRlIHVtIGxvb2t1cC5cbiAgICAgKiBAcGFyYW0gZW50aXR5IE5vbWUgZGEgZW50aWRhZGUuXG4gICAgICogQHBhcmFtIGxvb2t1cEZpZWxkcyBDYW1wb3MgZXhpYmlkb3Mgbm8gYXV0b2NvbXBsZXRlLlxuICAgICAqIEBwYXJhbSBzZWFyY2hGaWVsZHMgQ2FtcG9zIGV4aWJpZG9zIG5vIGZpbHRybyBkZW50cm8gZGEgbW9kYWwuXG4gICAgICogQHBhcmFtIHNlYXJjaEdyaWRGaWVsZHMgQ2FtcG9zIGV4aWJpZG9zIG5hIHRhYmVsYSBkZW50cm8gZGEgbW9kYWwuXG4gICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGxvb2t1cFNlcnZpY2U6IEVycExvb2t1cHNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgZW50aXR5OiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBsb29rdXBGaWVsZHM6IEZvcm1GaWVsZFtdLFxuICAgICAgICBwdWJsaWMgc2VhcmNoRmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgICAgcHVibGljIHNlYXJjaEdyaWRGaWVsZHM6IEZvcm1GaWVsZFtdLFxuICAgICAgICBwcm90ZWN0ZWQgZG9tYWluOiBzdHJpbmcsXG4gICAgICAgIHByb3RlY3RlZCBzZXJ2aWNlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgICAgICB0aGlzLmRvbWFpbiA9IGRvbWFpbjtcbiAgICAgICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICAgICAgdGhpcy5sb29rdXBGaWVsZHMgPSBsb29rdXBGaWVsZHMgfHwgW107XG4gICAgICAgIHRoaXMuc2VhcmNoRmllbGRzID0gc2VhcmNoRmllbGRzIHx8IFtdO1xuICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSBzZWFyY2hHcmlkRmllbGRzIHx8IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHB1YmxpYyBsb29rdXBTZWFyY2hPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcbuKAi1xuICAgIHB1YmxpYyB0b1NuYWtlQ2FzZSh2YWx1ZTogc3RyaW5nID0gXCJcIik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8oPzpefFxcLj8pKFtBLVpdKS9nLCBmdW5jdGlvbiAoeCwgeSkge3JldHVybiBcIl9cIiArIHkudG9Mb3dlckNhc2UoKTsgfSkucmVwbGFjZSgvXl8vLCBcIlwiKTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnRGb3JtRmllbGQoZmllbGRzOiBhbnksIHByZWZpeDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBmaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZSh0aGlzLmVudGl0eSl9XyR7dGhpcy50b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnREZWZhdWx0RmlsdGVyKGRlZmF1bHRGaWx0ZXI6IERlZmF1bHRGaWx0ZXJbXSA9IFt7ZmllbGQ6IFwiZXhjbHVpZG9cIiwgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3IuRXEsIHZhbHVlczogW1wiZmFsc2VcIl19XSkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEZpbHRlci5tYXAoZmlsdGVyID0+IHtcbiAgICAgICAgICAgIHJldHVybiBcIihcIiArIGZpbHRlci52YWx1ZXMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyhsb3dlcigke2ZpbHRlci5maWVsZH0pLCBsb3dlcignJHt2YWx1ZX0nKSlgO1xuXG4gICAgICAgICAgICAgICAgaWYgKChmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fCBmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5JcykgJiYgIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvcn0gbnVsbGA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpbHRlci5maWVsZH0gJHtmaWx0ZXIub3BlcmF0b3J9ICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgfSkuam9pbihcIiBvciBcIikgKyBcIilcIjtcbiAgICAgICAgfSkuam9pbihcIiBhbmQgXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtb3VudER5bmFtaWNGaWx0ZXIoZHluYW1pY0ZpbHRlcjogRHluYW1pY0ZpbHRlcltdKSB7XG4gICAgICAgIGlmIChkeW5hbWljRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZHluYW1pY0ZpbHRlci5tYXAoZmlsdGVyID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWVzID0gZmlsdGVyLnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWx0ZXIuZmllbGQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvcGVyYXRvciA9IGZpbHRlci5vcGVyYXRvcjtcblxuICAgICAgICAgICAgICAgIGlmICghKHZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gXCIoXCIgKyB2YWx1ZXMubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLkNvbnRhaW5zKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKGxvd2VyKCR7ZmllbGR9KSwgbG93ZXIoJyR7dmFsdWV9JykpYDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoKG9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXNOb3QgfHwgb3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5JcykgJiYgIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpZWxkfSAke29wZXJhdG9yfSBudWxsYDtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmllbGR9ICR7b3BlcmF0b3J9ICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgICAgIH0pLmpvaW4oXCIgb3IgXCIpICsgXCIpXCI7XG4gICAgICAgICAgICB9KS5qb2luKFwiIGFuZCBcIik7XG4gICAgICAgIH1cbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnRGaWx0ZXJRdWVyeSh2YWx1ZTogc3RyaW5nLCBsb29rdXBGaWVsZHM6IEZvcm1GaWVsZFtdLCBkZWZhdWx0RmlsdGVyPzogRGVmYXVsdEZpbHRlcltdLCBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdKSB7XG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIodmFsdWUpKSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBsb29rdXBGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke2ZpZWxkLm5hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuSW50ZWdlcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNhbml0aXplZFZhbHVlKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHtzYW5pdGl6ZWRWYWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHt2YWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyKVxuICAgICAgICAgICAgLmpvaW4oXCIgb3IgXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBsb29rdXBGaWVsZHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmaWVsZDogYW55KSA9PiBmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKVxuICAgICAgICAgICAgICAgIC5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke2ZpZWxkLm5hbWV9KSwgbG93ZXIoJyR7dmFsdWUucmVwbGFjZSgvXFxcXC9nLCBcIlwiKS5yZXBsYWNlKC8nL2csIFwiXFxcXCdcIil9JykpKWA7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuam9pbihcIiBvciBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0RmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RGVmYXVsdEZpbHRlcihkZWZhdWx0RmlsdGVyKTtcbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYCgoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KSBhbmQgKCR7ZmlsdGVyUXVlcnl9KSlgO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IFwiKFwiICsgZmlsdGVyUXVlcnkgKyBcIilcIjtcbuKAi1xuICAgICAgICBjb25zdCBkeW5hbWljRmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RHluYW1pY0ZpbHRlcihkeW5hbWljRmlsdGVyKTtcbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gYCgoJHtkeW5hbWljRmlsdGVyUXVlcnl9KSBhbmQgKCR7ZmlsdGVyUXVlcnl9KSlgO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IFwiKFwiICsgZmlsdGVyUXVlcnkgKyBcIilcIjtcblxuICAgICAgICByZXR1cm4gZmlsdGVyUXVlcnk7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50RW51bUZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIG11bHRpcGxlOiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiBtdWx0aXBsZSA/IGAoJHt2YWx1ZS5tYXAoKHNlbGVjdGVkOiBhbnkpID0+IGAke25hbWV9IGVxICcke3NlbGVjdGVkfSdgKS5qb2luKFwiIG9yIFwiKX0pYCA6IGAoJHtuYW1lfSBlcSAnJHt2YWx1ZX0nKWA7XG4gICAgfVxu4oCLXG4gICAgLyoqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBtb250YXIgYXMgb3DDp8O1ZXMgcGFkcsO1ZXMgcGFyYSBvIGxvb2t1cCBkbyBEeW5hbWljIEZvcm0gKi9cbiAgICBwdWJsaWMgbW91bnRPcHRpb25zKG9wdGlvbnM6IExvb2t1cE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeFxuICAgICAgICAgICAgPyBvcHRpb25zLnByZWZpeFxuICAgICAgICAgICAgOiAob3B0aW9ucy5kb21haW4gJiYgb3B0aW9ucy5zZXJ2aWNlKVxuICAgICAgICAgICAgICAgID8gYCR7b3B0aW9ucy5kb21haW59LiR7b3B0aW9ucy5zZXJ2aWNlfWBcbiAgICAgICAgICAgICAgICA6IGAke3RoaXMuZG9tYWlufS4ke3RoaXMuc2VydmljZX1gO1xuXG4gICAgICAgIGNvbnN0IHN1ZmZpeCA9IG9wdGlvbnMuc3VmZml4ID8gYF8ke29wdGlvbnMuc3VmZml4fWAgOiBcIlwiO1xuXG5cbiAgICAgICAgb3B0aW9ucy5sb29rdXBGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcyAmJiBvcHRpb25zLmxvb2t1cEZpZWxkcy5sZW5ndGhcbiAgICAgICAgICAgID8gb3B0aW9ucy5sb29rdXBGaWVsZHNcbiAgICAgICAgICAgIDogdGhpcy5sb29rdXBGaWVsZHM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMuZm9ybUdyb3VwIHx8IHRoaXMuZW50aXR5LFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKG9wdGlvbnMuZW50aXR5KSB8fCB0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX0ke3N1ZmZpeH1gKSxcbiAgICAgICAgICAgIHNlYXJjaFRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZShvcHRpb25zLmVudGl0eSkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fc2VhcmNoX3RpdGxlYCksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuTG9va3VwLFxuICAgICAgICAgICAgbXVsdGlwbGU6IG9wdGlvbnMubXVsdGlwbGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICAgICAgZGF0YUtleTogb3B0aW9ucy5kYXRhS2V5IHx8IFwiaWRcIixcbiAgICAgICAgICAgIGxvb2t1cERpc3BsYXlGaWVsZDogXCJsYWJlbFwiLFxuICAgICAgICAgICAgc2VhcmNoRW1wdHlUaXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9Lm5vdGhpbmdfZm91bmRgKSxcbiAgICAgICAgICAgIGZpbHRlckxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZmlsdGVyYCksXG4gICAgICAgICAgICBjbGVhckxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uY2xlYXJgKSxcbiAgICAgICAgICAgIGNhbmNlbExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uY2FuY2VsYCksXG4gICAgICAgICAgICBzZWxlY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LnNlbGVjdGApLFxuICAgICAgICAgICAgc2VhcmNoRmllbGRzOiBvcHRpb25zLnNlYXJjaEZpZWxkcyA/IHRoaXMubW91bnRGb3JtRmllbGQob3B0aW9ucy5zZWFyY2hGaWVsZHMsIHByZWZpeCkgOlxuICAgICAgICAgICAgICAgIHRoaXMubW91bnRGb3JtRmllbGQodGhpcy5zZWFyY2hGaWVsZHMsIHByZWZpeCksXG4gICAgICAgICAgICBzZWFyY2hHcmlkRmllbGRzOiBvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgPyB0aGlzLm1vdW50Rm9ybUZpZWxkKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcywgcHJlZml4KSA6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VudEZvcm1GaWVsZCh0aGlzLnNlYXJjaEdyaWRGaWVsZHMsIHByZWZpeCksXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMubG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgc2VhcmNoT2JzZXJ2YWJsZTogdGhpcy5sb29rdXBTZWFyY2hPYnNlcnZhYmxlLFxuICAgICAgICAgICAgb25Mb29rdXBSZXF1ZXN0OiAodmFsdWU6IHN0cmluZykgPT4gdGhpcy5vbkxvb2t1cFJlcXVlc3QodmFsdWUsIHByZWZpeCwgb3B0aW9ucyksXG4gICAgICAgICAgICBvblNlYXJjaFJlcXVlc3Q6IChldmVudDogYW55KSA9PiB0aGlzLm9uU2VhcmNoUmVxdWVzdChldmVudCwgcHJlZml4LCBvcHRpb25zKVxuICAgICAgICB9O1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnksIHByZWZpeDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCB8fCByZXN1bHRbcHJvcF0gPT09IG51bGxcbiAgICAgICAgICAgID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmVtcHR5X2xhYmVsYClcbiAgICAgICAgICAgIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgIXZhbHVlLmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG1vdW50RW50aXR5RmlsdGVyKGVudGl0eTogRW50aXR5RGVwZW5kZW5jeSwgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlbnRpdHkuZmllbGRcbiAgICAgICAgICAgID8gYCgke2VudGl0eS5uYW1lfS4ke2VudGl0eS5maWVsZH0gZXEgJyR7dmFsdWVbZW50aXR5LmZpZWxkXX0nKWBcbiAgICAgICAgICAgIDogYCgke2VudGl0eS5uYW1lfSBlcSAnJHt2YWx1ZVtlbnRpdHkubmFtZV19JylgO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxvb2t1cFJlcXVlc3QodmFsdWU6IHN0cmluZywgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBMb29rdXBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBvcHRpb25zLmxvb2t1cFNvcnQ7XG4gICAgICAgIGNvbnN0IGxvb2t1cERpc3BsYXlGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSk7XG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IHRoaXMubW91bnRGaWx0ZXJRdWVyeSh2YWx1ZSwgb3B0aW9ucy5sb29rdXBGaWVsZHMsIG9wdGlvbnMuZGVmYXVsdEZpbHRlciwgb3B0aW9ucy5keW5hbWljRmlsdGVyKTtcblxuICAgICAgICBsZXQgZGlzcGxheUZpZWxkcyA9IGxvb2t1cERpc3BsYXlGaWVsZHMuY29uY2F0KCAob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoR3JpZEZpZWxkcylcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSB8fCBbXSk7XG4gICAgICAgIGlmIChvcHRpb25zLnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuY29uY2F0KG9wdGlvbnMucXVlcnlGaWVsZHMpO1xuICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5maWx0ZXIoKHYsIGkpID0+IGRpc3BsYXlGaWVsZHMuaW5kZXhPZih2KSA9PT0gaSk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RmlsdGVyID0gb3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5Lm1hcCgoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBlbnRpdHkudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzVmFsdWUobmV3VmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShuZXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtuZXdWYWx1ZS5tYXAoKHZhbDogYW55KSA9PiB0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgdmFsKSkuam9pbihcIiBvciBcIil9KWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgbmV3VmFsdWUpfSlgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLmZpbHRlcihmaWx0ZXIgPT4gISFmaWx0ZXIpLmpvaW4gKFwiIGFuZCBcIik7XG4gICAgICAgICAgICBpZiAoZW50aXR5RmlsdGVyKVxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZW50aXR5RmlsdGVyfSlgIDogZmlsdGVyUXVlcnkgPSBlbnRpdHlGaWx0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb29rdXBTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdCh7XG4gICAgICAgICAgICAgICAgc29ydCxcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSxcbiAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGRzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5lbnRpdHksXG4gICAgICAgICAgICBvcHRpb25zLmRvbWFpbiB8fCB0aGlzLmRvbWFpbixcbiAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZSB8fCB0aGlzLnNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgobGlzdDogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBsb29rdXBEaXNwbGF5RmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSByZXR1cm4gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkLCBwcmVmaXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZF0gIT09IHVuZGVmaW5lZCAmJiBpdGVtW2ZpZWxkXSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtW2ZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiIC0gXCIpLFxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG9uU2VhcmNoUmVxdWVzdChldmVudDogYW55LCBwcmVmaXg6IHN0cmluZywgb3B0aW9ucz86IExvb2t1cE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBtdWx0aVNvcnRNZXRhID8gbXVsdGlTb3J0TWV0YSA6IG9wdGlvbnMuc2VhcmNoU29ydDtcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKTtcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSAob3B0aW9ucy5zZWFyY2hGaWVsZHMgfHwgdGhpcy5zZWFyY2hGaWVsZHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gZmlsdGVyRGF0YVtuYW1lXSAhPSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPSBcIlwiKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlLCBtdWx0aXBsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJEYXRhW25hbWVdO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIikgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5EYXRlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpfSdgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLlRpbWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tOnNzXCIpfSdgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLkRhdGVUaW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5FbnVtKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb3VudEVudW1GaWx0ZXIobmFtZSwgdmFsdWUsIG11bHRpcGxlKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5TdHJpbmcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKGNvbnRhaW5pbmcobG93ZXIoJHtuYW1lfSksIGxvd2VyKCcke3ZhbHVlfScpKSlgO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIik7XG7igItcbiAgICAgICAgaWYgKG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RmlsdGVyID0gb3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5Lm1hcCgoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlbnRpdHkudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzVmFsdWUodmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dmFsdWUubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbCkpLmpvaW4oXCIgb3IgXCIpfSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbHVlKX0pYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyKS5qb2luIChcIiBhbmQgXCIpO1xuICAgICAgICAgICAgaWYgKGVudGl0eUZpbHRlcilcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA/IGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2VudGl0eUZpbHRlcn0pYCA6IGZpbHRlclF1ZXJ5ID0gZW50aXR5RmlsdGVyO1xuICAgICAgICB9XG7igItcbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudERlZmF1bHRGaWx0ZXIob3B0aW9ucy5kZWZhdWx0RmlsdGVyKTtcbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSlcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID8gZmlsdGVyUXVlcnkgKz0gYCBhbmQgKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSlgIDogZmlsdGVyUXVlcnkgPSBgKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSlgO1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREeW5hbWljRmlsdGVyKG9wdGlvbnMuZHluYW1pY0ZpbHRlcik7XG4gICAgICAgIGlmIChkeW5hbWljRmlsdGVyUXVlcnkpXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA/IGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2R5bmFtaWNGaWx0ZXJRdWVyeX0pYCA6IGZpbHRlclF1ZXJ5ID0gYCgke2R5bmFtaWNGaWx0ZXJRdWVyeX0pYDtcblxuICAgICAgICBsZXQgZGlzcGxheUZpZWxkcyA9IGxvb2t1cERpc3BsYXlGaWVsZHMuY29uY2F0KCAob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoR3JpZEZpZWxkcylcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSB8fCBbXSk7XG4gICAgICAgIGlmIChvcHRpb25zLnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuY29uY2F0KG9wdGlvbnMucXVlcnlGaWVsZHMpO1xuICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5maWx0ZXIoKHYsIGkpID0+IGRpc3BsYXlGaWVsZHMuaW5kZXhPZih2KSA9PT0gaSk7XG5cbiAgICAgICAgdGhpcy5sb29rdXBTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdCh7IHBhZ2UsIHNvcnQsIGZpbHRlclF1ZXJ5LCBkaXNwbGF5RmllbGRzIH0sIHRoaXMuZW50aXR5LCBvcHRpb25zLmRvbWFpbiB8fCB0aGlzLmRvbWFpbiwgb3B0aW9ucy5zZXJ2aWNlIHx8IHRoaXMuc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGdyaWREYXRhOiBsaXN0LmNvbnRlbnRzLm1hcCgoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBsb29rdXBEaXNwbGF5RmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSByZXR1cm4gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkLCBwcmVmaXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZF0gIT09IHVuZGVmaW5lZCAmJiBpdGVtW2ZpZWxkXSAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtW2ZpZWxkXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiIC0gXCIpXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxSZWNvcmRzOiBsaXN0LnRvdGFsRWxlbWVudHNcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9va3VwU2VhcmNoT2JzZXJ2YWJsZS5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
346
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvZXJwLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBZ0N2QixrRkFBa0Y7QUFDbEYsTUFBTSxDQUFOLElBQVksbUJBeUJYO0FBekJELFdBQVksbUJBQW1CO0lBQzNCLCtEQUErRDtJQUMvRCxnQ0FBUyxDQUFBO0lBQ1Qsa0VBQWtFO0lBQ2xFLGdDQUFTLENBQUE7SUFDVCx1REFBdUQ7SUFDdkQsZ0NBQVMsQ0FBQTtJQUNULGdFQUFnRTtJQUNoRSxnQ0FBUyxDQUFBO0lBQ1QsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQVMsQ0FBQTtJQUNULHdFQUF3RTtJQUN4RSxrQ0FBVyxDQUFBO0lBQ1gscUVBQXFFO0lBQ3JFLGdDQUFTLENBQUE7SUFDVCwrRUFBK0U7SUFDL0Usa0NBQVcsQ0FBQTtJQUNYLG1EQUFtRDtJQUNuRCxnQ0FBUyxDQUFBO0lBQ1QsbUVBQW1FO0lBQ25FLHVDQUFnQixDQUFBO0lBQ2hCLDhGQUE4RjtJQUM5Riw4Q0FBdUIsQ0FBQTtBQUMzQixDQUFDLEVBekJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUF5QjlCO0FBbUREO0lBRUk7Ozs7OztNQU1FO0lBQ0Ysb0JBQ2MsYUFBZ0MsRUFDaEMsU0FBMkIsRUFDM0IsTUFBYyxFQUNkLFlBQXlCLEVBQzVCLFlBQXlCLEVBQ3pCLGdCQUE2QixFQUMxQixNQUFjLEVBQ2QsT0FBZTtRQVBmLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFhO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBaEJyQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUEwQi9CLGdDQUEyQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUMsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVQxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUtNLGdDQUFXLEdBQWxCLFVBQW1CLEtBQWtCO1FBQWxCLHNCQUFBLEVBQUEsVUFBa0I7UUFDakMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFTSxtQ0FBYyxHQUFyQixVQUFzQixNQUFXLEVBQUUsTUFBYztRQUFqRCxpQkFPQztRQU5HLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEtBQVU7WUFDekIsT0FBUSxJQUFJLFNBQVMsdUJBQ2QsS0FBSyxLQUNSLEtBQUssRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLGdCQUFXLEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxTQUFJLEtBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBRyxDQUFDLElBQ3BILENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSx1Q0FBa0IsR0FBekIsVUFBMEIsYUFBMkc7UUFBM0csOEJBQUEsRUFBQSxpQkFBa0MsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqSSxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNO1lBQzNCLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSztnQkFDaEMsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLFFBQVE7b0JBQy9DLE9BQU8sc0JBQW9CLE1BQU0sQ0FBQyxLQUFLLGtCQUFhLEtBQUssUUFBSyxDQUFDO2dCQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7b0JBQ3JHLE9BQVUsTUFBTSxDQUFDLEtBQUssU0FBSSxNQUFNLENBQUMsUUFBUSxVQUFPLENBQUM7Z0JBQ3JELE9BQVUsTUFBTSxDQUFDLEtBQUssU0FBSSxNQUFNLENBQUMsUUFBUSxVQUFLLEtBQUssTUFBRyxDQUFDO1lBQzNELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSx1Q0FBa0IsR0FBekIsVUFBMEIsYUFBOEI7UUFDcEQsSUFBSSxhQUFhLEVBQUU7WUFDZixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNO2dCQUMzQixJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzVCLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0IsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFFakMsSUFBSSxDQUFDLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQyxFQUFFO29CQUM1QixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDckI7Z0JBRUQsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEtBQVU7b0JBQy9CLElBQUksUUFBUSxJQUFJLG1CQUFtQixDQUFDLFFBQVE7d0JBQ3hDLE9BQU8sc0JBQW9CLEtBQUssa0JBQWEsS0FBSyxRQUFLLENBQUM7b0JBRTVELElBQUksQ0FBQyxRQUFRLElBQUksbUJBQW1CLENBQUMsS0FBSyxJQUFJLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7d0JBQ3ZGLE9BQVUsS0FBSyxTQUFJLFFBQVEsVUFBTyxDQUFDO29CQUV2QyxPQUFVLEtBQUssU0FBSSxRQUFRLFVBQUssS0FBSyxNQUFHLENBQUM7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVNLHFDQUFnQixHQUF2QixVQUF3QixLQUFhLEVBQUUsWUFBeUIsRUFBRSxhQUErQixFQUFFLGFBQStCO1FBQzlILElBQUksV0FBbUIsQ0FBQztRQUN4QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDakMsV0FBVyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFVO2dCQUN0QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTtvQkFDakMsT0FBTyx1QkFBcUIsS0FBSyxDQUFDLElBQUksa0JBQWEsS0FBSyxTQUFNLENBQUM7aUJBQ2xFO3FCQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUN6QyxJQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxDQUFDLGNBQWM7d0JBQUUsT0FBTyxJQUFJLENBQUM7b0JBQ2pDLE9BQU8sTUFBSSxLQUFLLENBQUMsSUFBSSxhQUFRLGNBQWMsT0FBSSxDQUFDO2lCQUNuRDtxQkFBTTtvQkFDSCxPQUFPLE1BQUksS0FBSyxDQUFDLElBQUksYUFBUSxLQUFLLE9BQUksQ0FBQztpQkFDMUM7WUFDTCxDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsQ0FBQyxDQUFDLE1BQU0sRUFBUixDQUFRLENBQUM7aUJBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQjthQUFNO1lBQ0gsV0FBVyxHQUFHLFlBQVk7aUJBQ3JCLE1BQU0sQ0FBQyxVQUFDLEtBQVUsSUFBSyxPQUFBLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBL0IsQ0FBK0IsQ0FBQztpQkFDdkQsR0FBRyxDQUFDLFVBQUMsS0FBVTtnQkFDWixPQUFPLHVCQUFxQixLQUFLLENBQUMsSUFBSSxrQkFBYSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFNLENBQUM7WUFDM0csQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQjtRQUVELElBQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksa0JBQWtCO1lBQ2xCLFdBQVcsR0FBRyxPQUFLLGtCQUFrQixlQUFVLFdBQVcsT0FBSSxDQUFDOztZQUUvRCxXQUFXLEdBQUcsR0FBRyxHQUFHLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFFMUMsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxrQkFBa0I7WUFDbEIsV0FBVyxHQUFHLE9BQUssa0JBQWtCLGVBQVUsV0FBVyxPQUFJLENBQUM7O1lBRS9ELFdBQVcsR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUUxQyxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRU0sb0NBQWUsR0FBdEIsVUFBdUIsSUFBWSxFQUFFLEtBQVUsRUFBRSxRQUFpQjtRQUM5RCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUMsUUFBYSxJQUFLLE9BQUcsSUFBSSxhQUFRLFFBQVEsTUFBRyxFQUExQixDQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFHLENBQUMsQ0FBQyxDQUFDLE1BQUksSUFBSSxhQUFRLEtBQUssT0FBSSxDQUFDO0lBQy9ILENBQUM7SUFFRCxvRkFBb0Y7SUFDN0UsaUNBQVksR0FBbkIsVUFBb0IsT0FBMkI7UUFBL0MsaUJBcUNDO1FBckNtQix3QkFBQSxFQUFBLFlBQTJCO1FBQzNDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQ3pCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNoQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLENBQUMsQ0FBSSxPQUFPLENBQUMsTUFBTSxTQUFJLE9BQU8sQ0FBQyxPQUFTO2dCQUN4QyxDQUFDLENBQUksSUFBSSxDQUFDLE1BQU0sU0FBSSxJQUFJLENBQUMsT0FBUyxDQUFDO1FBRTNDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQUksT0FBTyxDQUFDLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRzFELE9BQU8sQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU07WUFDdEUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXhCLE9BQU87WUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksTUFBTSxpQkFBVyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBRyxNQUFRLENBQUM7WUFDL0gsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0saUJBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNwRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQWUsQ0FBQztZQUNqRCxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDdEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSTtZQUNoQyxrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sbUJBQWdCLENBQUM7WUFDbkUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sWUFBUyxDQUFDO1lBQ3ZELFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLFdBQVEsQ0FBQztZQUNyRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksTUFBTSxZQUFTLENBQUM7WUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFJLE1BQU0sWUFBUyxDQUFDO1lBQ3ZELFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztZQUNsRCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztZQUN0RCxxQkFBcUIsRUFBRSxJQUFJLENBQUMsMkJBQTJCO1lBQ3ZELGdCQUFnQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDN0MsZUFBZSxFQUFFLFVBQUMsS0FBYSxJQUFLLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUE1QyxDQUE0QztZQUNoRixlQUFlLEVBQUUsVUFBQyxLQUFVLElBQUssT0FBQSxLQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQTVDLENBQTRDO1NBQ2hGLENBQUM7SUFDTixDQUFDO0lBRU0sNEJBQU8sR0FBZCxVQUFlLEdBQVEsRUFBRSxJQUFTLEVBQUUsTUFBYztRQUFsRCxpQkFJQztRQUhHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFXLEVBQUUsSUFBUyxJQUFLLE9BQUEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJO1lBQzFHLENBQUMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLGlCQUFjLENBQUM7WUFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUZ1QyxDQUV2QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSw2QkFBUSxHQUFmLFVBQWdCLEtBQVU7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDckMsT0FBTyxLQUFLLENBQUM7UUFDakIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFTSxzQ0FBaUIsR0FBeEIsVUFBeUIsTUFBd0IsRUFBRSxLQUFVO1FBQ3pELE9BQU8sTUFBTSxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUMsTUFBSSxNQUFNLENBQUMsSUFBSSxTQUFJLE1BQU0sQ0FBQyxLQUFLLGFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBSTtZQUNoRSxDQUFDLENBQUMsTUFBSSxNQUFNLENBQUMsSUFBSSxhQUFRLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQUksQ0FBQztJQUN4RCxDQUFDO0lBRU0sb0NBQWUsR0FBdEIsVUFBdUIsS0FBYSxFQUFFLE1BQWMsRUFBRSxPQUF1QjtRQUE3RSxpQkErQ0M7UUE5Q0csSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNoQyxJQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxDQUFDLElBQUksRUFBVixDQUFVLENBQUMsQ0FBQztRQUMxRSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbkgsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5RixHQUFHLENBQUMsVUFBQyxFQUFRO2dCQUFOLGNBQUk7WUFBTyxPQUFBLElBQUk7UUFBSixDQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxXQUFXO1lBQ25CLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1FBRS9FLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUF3QjtnQkFDdkUsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ3hCLE9BQU87Z0JBRVgsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixPQUFPLE1BQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEdBQVEsSUFBSyxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQUcsQ0FBQztpQkFDOUY7cUJBQU07b0JBQ0gsT0FBTyxNQUFJLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQUcsQ0FBQztpQkFDMUQ7WUFDTCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxDQUFDLENBQUMsTUFBTSxFQUFSLENBQVEsQ0FBQyxDQUFDLElBQUksQ0FBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxJQUFJLFlBQVk7Z0JBQ1osV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksV0FBUyxZQUFZLE1BQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztTQUMxRjtRQUNELElBQUksQ0FBQyxhQUFhO2FBQ2IsSUFBSSxDQUFDO1lBQ0YsSUFBSSxNQUFBO1lBQ0osV0FBVyxhQUFBO1lBQ1gsYUFBYSxlQUFBO1NBQ2hCLEVBQ0QsSUFBSSxDQUFDLE1BQU0sRUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQzdCLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxJQUFJLENBQ0QsR0FBRyxDQUFDLFVBQUMsSUFBUztZQUNWLE9BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFTLElBQUssT0FBQSx1QkFDMUIsSUFBSSxLQUNQLEtBQUssRUFBRSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsSUFDN0QsRUFIK0IsQ0FHL0IsQ0FBQztRQUhILENBR0csQ0FDTixDQUNKO2FBQ0EsU0FBUyxDQUFDLFVBQUMsSUFBUztZQUNqQixLQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLG9DQUFlLEdBQXRCLFVBQXVCLEtBQVUsRUFBRSxNQUFjLEVBQUUsT0FBdUI7UUFBMUUsaUJBcUVDO1FBcEVXLElBQUEsbUJBQUssRUFBRSxpQkFBSSxFQUFFLG1DQUFhLEVBQUUsNkJBQVUsQ0FBVztRQUN6RCxJQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ2hFLElBQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsSUFBSSxFQUFWLENBQVUsQ0FBQyxDQUFDO1FBRTFFLElBQUksV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3hELE1BQU0sQ0FBQyxVQUFDLEVBQVE7Z0JBQU4sY0FBSTtZQUFPLE9BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUF2RCxDQUF1RCxDQUFDO2FBQzdFLEdBQUcsQ0FBQyxVQUFDLEVBQXdCO2dCQUF0QixjQUFJLEVBQUUsY0FBSSxFQUFFLHNCQUFRO1lBQ3hCLElBQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLE9BQU8sS0FBSyxJQUFJLFFBQVE7Z0JBQUUsT0FBVSxJQUFJLFlBQU8sS0FBTyxDQUFDO2lCQUN0RCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSTtnQkFDM0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBRyxDQUFDO2lCQUMzRCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSTtnQkFDM0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBRyxDQUFDO2lCQUN6RCxJQUFJLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUTtnQkFDL0IsT0FBVSxJQUFJLGFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFHLENBQUM7aUJBQy9DLElBQUksSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJO2dCQUMzQixPQUFPLEtBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDbEQsSUFBSSxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQzdCLE9BQU8sdUJBQXFCLElBQUksa0JBQWEsS0FBSyxTQUFNLENBQUM7O2dCQUN4RCxPQUFVLElBQUksYUFBUSxLQUFLLE1BQUcsQ0FBQztRQUN4QyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsSUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFDLE1BQXdCO2dCQUN2RSxJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDckIsT0FBTztnQkFDWCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sTUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUMsR0FBUSxJQUFLLE9BQUEsS0FBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBRyxDQUFDO2lCQUMzRjtxQkFBTTtvQkFDSCxPQUFPLE1BQUksS0FBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBRyxDQUFDO2lCQUN2RDtZQUNMLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLENBQUMsQ0FBQyxNQUFNLEVBQVIsQ0FBUSxDQUFDLENBQUMsSUFBSSxDQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksWUFBWTtnQkFDWixXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxXQUFTLFlBQVksTUFBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDO1NBQzFGO1FBRUQsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLElBQUksa0JBQWtCO1lBQ2xCLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVMsa0JBQWtCLE1BQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLE1BQUksa0JBQWtCLE1BQUcsQ0FBQztRQUUxRyxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsSUFBSSxrQkFBa0I7WUFDbEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksV0FBUyxrQkFBa0IsTUFBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsTUFBSSxrQkFBa0IsTUFBRyxDQUFDO1FBRTFHLElBQUksYUFBYSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFDOUYsR0FBRyxDQUFDLFVBQUMsRUFBUTtnQkFBTixjQUFJO1lBQU8sT0FBQSxJQUFJO1FBQUosQ0FBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsV0FBVztZQUNuQixhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQTlCLENBQThCLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsYUFBYTthQUNiLElBQUksQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLFdBQVcsYUFBQSxFQUFFLGFBQWEsZUFBQSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzdILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLElBQUksQ0FDRCxHQUFHLENBQUMsVUFBQyxJQUFTLElBQUssT0FBQSxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFDLElBQVMsSUFBSyxPQUFBLHVCQUNwQyxJQUFJLEtBQ1AsS0FBSyxFQUFFLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUM3RCxFQUh5QyxDQUd6QyxDQUFDO1lBQ0gsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ25DLENBQUMsRUFOaUIsQ0FNakIsQ0FBQyxDQUNOO2FBQ0EsU0FBUyxDQUFDLFVBQUMsSUFBUztZQUNqQixLQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGlDQUFZLEdBQVosVUFBYSxJQUFTLEVBQUUsTUFBYyxFQUFFLG1CQUE2QjtRQUFyRSxpQkFTQztRQVJHLE9BQU8sbUJBQW1CO2FBQ3JCLEdBQUcsQ0FBQyxVQUFDLEtBQVU7WUFDWixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUk7Z0JBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNiLENBQUMsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBSSxNQUFNLGlCQUFjLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQzs7Z0JBN1M0QixpQkFBaUI7Z0JBQ3JCLGdCQUFnQjs7Ozs7Ozs7SUFYaEMsVUFBVTtRQU50QixVQUFVLEVBQUU7UUFFYjs7O1VBR0U7T0FDVyxVQUFVLENBd1R0QjtJQUFELGlCQUFDO0NBQUEsQUF4VEQsSUF3VEM7U0F4VFksVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFR5cGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgRXJwTG9va3Vwc1NlcnZpY2UgfSBmcm9tIFwiLi9lcnAtbG9va3Vwcy5zZXJ2aWNlXCI7XG7igItcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG7igItcbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbi8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5RGVwZW5kZW5jeSB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgcXVlIGRlcGVuZGUgKHBhaSkgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIENhbXBvIGRhIGVudGlkYWRlIHBhaSBxdWUgc2Vyw6EgY29tcGFyYWRvICovXG4gICAgZmllbGQ/OiBzdHJpbmc7XG4gICAgLyoqIFZhbG9yIGRhIGVudGlkYWRlIHBhaSAqL1xuICAgIHZhbHVlOiBGdW5jdGlvbjtcbn1cbuKAi1xuLyoqIEZpbHRybyBwYWRyw6NvIGFwbGljYWRvIGVtIHRvZGFzIHJlcXVpc2nDp8O1ZXMgZGEgZW50aWRhZGUuIFBvciBwYWRyw6NvIGZpbHRyYSByZWdpc3Ryb3MgbsOjbyBleGNsdWlkb3MgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEZpbHRlciB7XG4gICAgLyoqIENhbXBvIHF1ZSBzZXLDoSBmaWx0cmFkbyAqL1xuICAgIGZpZWxkOiBzdHJpbmcgfCBEZWZhdWx0RmlsdGVyO1xuICAgIC8qKiBDb21wYXJhw6fDo28gcXVlIHNlcsOhIGFwbGljYWRhIG5hIGNvbnN1bHRhICovXG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgLyoqIFZhbG9yZXMgcXVlIHNlcsOjbyBidXNjYWRvcyAqL1xuICAgIHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKiBGaWx0cm8gZGluYW1pY28gcGFyYSBjb25zdWx0YXMgbWFpcyBjb21wbGV4YXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0ZpbHRlciB7XG4gICAgLyoqIENhbXBvIHF1ZSBzZXLDoSBmaWx0cmFkbyAqL1xuICAgIGZpZWxkOiBGdW5jdGlvblxuICAgIC8qKiBDb21wYXJhw6fDo28gcXVlIHNlcsOhIGFwbGljYWRhIG5hIGNvbnN1bHRhICovXG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgLyoqIFZhbG9yZXMgcXVlIHNlcsOjbyBidXNjYWRvcyAqL1xuICAgIHZhbHVlOiBGdW5jdGlvbjtcbn1cblxuLyoqIEZpbHRlciBTeXN0ZW0gUXVlcnkgT3B0aW9uIC0gT3BlcmF0b3JzIHN1cHBvcnRlZCBpbiB0aGUgZXhwcmVzc2lvbiBsYW5ndWFnZSAqL1xuZXhwb3J0IGVudW0gRW51bUxvZ2ljYWxPcGVyYXRvciB7XG4gICAgLyoqIEVxdWFsIChFeDogL1N1cHBsaWVycz8kZmlsdGVyPUFkZHJlc3MvQ2l0eSBlcSAnUmVkbW9uZCcpICovXG4gICAgRXEgPSBcImVxXCIsXG4gICAgLyoqIE5vdCBlcXVhbCAoRXg6IC9TdXBwbGllcnM/JGZpbHRlcj1BZGRyZXNzL0NpdHkgbmUgJ0xvbmRvbicpICovXG4gICAgTmUgPSBcIm5lXCIsXG4gICAgLyoqIEdyZWF0ZXIgdGhhbiAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGd0IDIwKSAqL1xuICAgIEd0ID0gXCJndFwiLFxuICAgIC8qKiBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBnZSAxMCkgKi9cbiAgICBHZSA9IFwiZ2VcIixcbiAgICAvKiogTGVzcyB0aGFuIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbHQgMjApKi9cbiAgICBMdCA9IFwibHRcIixcbiAgICAvKiogTGVzcyB0aGFuIG9yIGVxdWFsIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbGUgMTAwKSovXG4gICAgTGUgPSBcImxlXCIsXG4gICAgLyoqIExvZ2ljYWwgYW5kXHQgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAyMDAgYW5kIFByaWNlIGd0IDMuNSkqL1xuICAgIEFuZCA9IFwiYW5kXCIsXG4gICAgLyoqIExvZ2ljYWwgb3IgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAzLjUgb3IgUHJpY2UgZ3QgMjAwKSovXG4gICAgT3IgPSBcIm9yXCIsXG4gICAgLyoqIExvZ2ljYWwgbmVnYXRpb24gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1ub3QgZW5kc3dpdGgoRGVzY3JpcHRpb24sJ21pbGsnKSkqL1xuICAgIE5vdCA9IFwibm90XCIsXG4gICAgLyoqIExvZ2ljYWwgaXMgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1pZCBpcyBudWxsICovXG4gICAgSXMgPSBcImlzXCIsXG4gICAgLyoqIE5lZ2F0aW9uIG9mIGxvZ2ljYWwgaXMgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1pZCBpcyBub3QgbnVsbCAqL1xuICAgIElzTm90ID0gXCJpcyBub3RcIixcbiAgICAvKiogQ29udGFpbnMgc3RyaW5nIHZhbHVlIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9Y29udGFpbmluZyhsb3dlcihuYW1lKSwgbG93ZXIoJ215IG5hbWUnKSkpICovXG4gICAgQ29udGFpbnMgPSBcImNvbnRhaW5pbmdcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb25zIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIG9yZGVyOiBudW1iZXI7XG59XG5cbi8qKiBQYXLDom1ldHJvcyBwYXJhIGN1c3RvbWl6YcOnw7VlcyBkbyBsb29rdXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwT3B0aW9ucyB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgKi9cbiAgICBlbnRpdHk/OiBzdHJpbmc7XG4gICAgLyoqIE5vbWUgZG8gZm9ybUdyb3VwICovXG4gICAgZm9ybUdyb3VwPzogc3RyaW5nO1xuICAgIC8qKiBGaWx0cm8gcGFkcsOjbyAqL1xuICAgIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW107XG4gICAgLyoqIEZpbHRybyBkaW7Dom1pY28gKi9cbiAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdO1xuICAgIC8qKiBDYW1wb3MgZG8gbG9va3VwIChhdXRvY29tcGxldGUpICovXG4gICAgbG9va3VwRmllbGRzPzogRm9ybUZpZWxkW107XG4gICAgLyoqIENhbXBvcyBxdWUgc2Vyw6NvIHNvbGljaXRhZG9zIG5hIGNvbnN1bHRhICovXG4gICAgcXVlcnlGaWVsZHM/OiBzdHJpbmdbXTtcbiAgICAvKiogQ2FtcG9zIGV4aWJpZG9zIG5vIGZpbHRybyBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEZpZWxkcz86IEZvcm1GaWVsZFtdO1xuICAgIC8qKiBDYW1wb3MgZXhpYmlkb3MgbmEgZ3JpZCBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEdyaWRGaWVsZHM/OiBGb3JtRmllbGRbXTtcbiAgICAvKiogRGVmaW5lIHNlIG8gbG9va3VwIHBlcm1pdGlyw6EgbXVsdGkgc2VsZcOnw6NvICovXG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIC8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbiAgICBlbnRpdHlEZXBlbmRlbmN5PzogRW50aXR5RGVwZW5kZW5jeVtdO1xuICAgIC8qKiBQcmVmaXhvIHV0aWxpemFkbyBwYXJhIG1vbnRhciBvcyBsYWJlbHMgKHBvciBwYWRyw6NvIHV0aWxpemEgZG9tw61uaW8gZSBzZXJ2acOnbykgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIFN1Zml4byB1dGlsaXphZG8gcGFyYSBtb250YXIgb3MgbGFiZWxzIChwb3IgcGFkcsOjbyDDqSB2YXppbykgKi9cbiAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgLyoqIERvbcOtbmlvICovXG4gICAgZG9tYWluPzogc3RyaW5nO1xuICAgIC8qKiBTZXJ2acOnbyAqL1xuICAgIHNlcnZpY2U/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEga2V5ICovXG4gICAgZGF0YUtleT86IHN0cmluZztcbiAgICAvKiogQ2FtcG9zIHBhcmEgb3JkZW5hw6fDo28gZG8gbG9va3VwIChhdXRvY29tcGxldGUpKi9cbiAgICBsb29rdXBTb3J0PzogU29ydE9wdGlvbnNbXTtcbiAgICAvKiogQ2FtcG9zIHBhcmEgYSBvcmRlbmHDp8OjbyBhbyBhYnJpciBhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoU29ydD86IFNvcnRPcHRpb25zW107XG59XG5cbkBJbmplY3RhYmxlKClcbuKAi1xuLyoqXG4gKiBFcnAgTG9va3Vwc1xuICogQGNsYXNzIEVycExvb2t1cHNcbiovXG5leHBvcnQgY2xhc3MgRXJwTG9va3VwcyB7XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICAvKipcbiAgICAgKiBDcmlhw6fDo28gZGUgdW0gbG9va3VwLlxuICAgICAqIEBwYXJhbSBlbnRpdHkgTm9tZSBkYSBlbnRpZGFkZS5cbiAgICAgKiBAcGFyYW0gbG9va3VwRmllbGRzIENhbXBvcyBleGliaWRvcyBubyBhdXRvY29tcGxldGUuXG4gICAgICogQHBhcmFtIHNlYXJjaEZpZWxkcyBDYW1wb3MgZXhpYmlkb3Mgbm8gZmlsdHJvIGRlbnRybyBkYSBtb2RhbC5cbiAgICAgKiBAcGFyYW0gc2VhcmNoR3JpZEZpZWxkcyBDYW1wb3MgZXhpYmlkb3MgbmEgdGFiZWxhIGRlbnRybyBkYSBtb2RhbC5cbiAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwU2VydmljZTogRXJwTG9va3Vwc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBlbnRpdHk6IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIGxvb2t1cEZpZWxkczogRm9ybUZpZWxkW10sXG4gICAgICAgIHB1YmxpYyBzZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdLFxuICAgICAgICBwdWJsaWMgc2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW10sXG4gICAgICAgIHByb3RlY3RlZCBkb21haW46IHN0cmluZyxcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZpY2U6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgICAgIHRoaXMuZG9tYWluID0gZG9tYWluO1xuICAgICAgICB0aGlzLnNlcnZpY2UgPSBzZXJ2aWNlO1xuICAgICAgICB0aGlzLmxvb2t1cEZpZWxkcyA9IGxvb2t1cEZpZWxkcyB8fCBbXTtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSBzZWFyY2hGaWVsZHMgfHwgW107XG4gICAgICAgIHRoaXMuc2VhcmNoR3JpZEZpZWxkcyA9IHNlYXJjaEdyaWRGaWVsZHMgfHwgW107XG4gICAgfVxuXG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHVibGljIGxvb2t1cFNlYXJjaE9ic2VydmFibGUgPSBuZXcgU3ViamVjdCgpO1xu4oCLXG4gICAgcHVibGljIHRvU25ha2VDYXNlKHZhbHVlOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLyg/Ol58XFwuPykoW0EtWl0pL2csIGZ1bmN0aW9uICh4LCB5KSB7cmV0dXJuIFwiX1wiICsgeS50b0xvd2VyQ2FzZSgpOyB9KS5yZXBsYWNlKC9eXy8sIFwiXCIpO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudEZvcm1GaWVsZChmaWVsZHM6IGFueSwgcHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fJHt0aGlzLnRvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudERlZmF1bHRGaWx0ZXIoZGVmYXVsdEZpbHRlcjogRGVmYXVsdEZpbHRlcltdID0gW3tmaWVsZDogXCJleGNsdWlkb1wiLCBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvci5FcSwgdmFsdWVzOiBbXCJmYWxzZVwiXX1dKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RmlsdGVyLm1hcChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFwiKFwiICsgZmlsdGVyLnZhbHVlcy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIub3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Db250YWlucylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKGxvd2VyKCR7ZmlsdGVyLmZpZWxkfSksIGxvd2VyKCcke3ZhbHVlfScpKWA7XG5cbiAgICAgICAgICAgICAgICBpZiAoKGZpbHRlci5vcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzTm90IHx8IGZpbHRlci5vcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzKSAmJiAhdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7ZmlsdGVyLm9wZXJhdG9yfSBudWxsYDtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvcn0gJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICB9KS5qb2luKFwiIG9yIFwiKSArIFwiKVwiO1xuICAgICAgICB9KS5qb2luKFwiIGFuZCBcIik7XG4gICAgfVxuXG4gICAgcHVibGljIG1vdW50RHluYW1pY0ZpbHRlcihkeW5hbWljRmlsdGVyOiBEeW5hbWljRmlsdGVyW10pIHtcbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBkeW5hbWljRmlsdGVyLm1hcChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBmaWx0ZXIudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpbHRlci5maWVsZCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZmlsdGVyLm9wZXJhdG9yO1xuXG4gICAgICAgICAgICAgICAgaWYgKCEodmFsdWVzIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBcIihcIiArIHZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcobG93ZXIoJHtmaWVsZH0pLCBsb3dlcignJHt2YWx1ZX0nKSlgO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgob3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fCBvcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzKSAmJiAhdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmllbGR9ICR7b3BlcmF0b3J9IG51bGxgO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWVsZH0gJHtvcGVyYXRvcn0gJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICAgICAgfSkuam9pbihcIiBvciBcIikgKyBcIilcIjtcbiAgICAgICAgICAgIH0pLmpvaW4oXCIgYW5kIFwiKTtcbiAgICAgICAgfVxuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudEZpbHRlclF1ZXJ5KHZhbHVlOiBzdHJpbmcsIGxvb2t1cEZpZWxkczogRm9ybUZpZWxkW10sIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW10sIGR5bmFtaWNGaWx0ZXI/OiBEeW5hbWljRmlsdGVyW10pIHtcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcih2YWx1ZSkpKSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGxvb2t1cEZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLlN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZX0nKSkpYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5JbnRlZ2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2FuaXRpemVkVmFsdWUpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke2ZpZWxkLm5hbWV9IGVxICcke3Nhbml0aXplZFZhbHVlfScpYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke2ZpZWxkLm5hbWV9IGVxICcke3ZhbHVlfScpYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcihmaWx0ZXIgPT4gISFmaWx0ZXIpXG4gICAgICAgICAgICAuam9pbihcIiBvciBcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcpXG4gICAgICAgICAgICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZS5yZXBsYWNlKC9cXFxcL2csIFwiXCIpLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKX0nKSkpYDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKFwiIG9yIFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREZWZhdWx0RmlsdGVyKGRlZmF1bHRGaWx0ZXIpO1xuICAgICAgICBpZiAoZGVmYXVsdEZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2RlZmF1bHRGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gXCIoXCIgKyBmaWx0ZXJRdWVyeSArIFwiKVwiO1xu4oCLXG4gICAgICAgIGNvbnN0IGR5bmFtaWNGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREeW5hbWljRmlsdGVyKGR5bmFtaWNGaWx0ZXIpO1xuICAgICAgICBpZiAoZHluYW1pY0ZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2R5bmFtaWNGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gXCIoXCIgKyBmaWx0ZXJRdWVyeSArIFwiKVwiO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJRdWVyeTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgbW91bnRFbnVtRmlsdGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgbXVsdGlwbGU6IGJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIG11bHRpcGxlID8gYCgke3ZhbHVlLm1hcCgoc2VsZWN0ZWQ6IGFueSkgPT4gYCR7bmFtZX0gZXEgJyR7c2VsZWN0ZWR9J2ApLmpvaW4oXCIgb3IgXCIpfSlgIDogYCgke25hbWV9IGVxICcke3ZhbHVlfScpYDtcbiAgICB9XG7igItcbiAgICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIG1vbnRhciBhcyBvcMOnw7VlcyBwYWRyw7VlcyBwYXJhIG8gbG9va3VwIGRvIER5bmFtaWMgRm9ybSAqL1xuICAgIHB1YmxpYyBtb3VudE9wdGlvbnMob3B0aW9uczogTG9va3VwT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnMucHJlZml4XG4gICAgICAgICAgICA/IG9wdGlvbnMucHJlZml4XG4gICAgICAgICAgICA6IChvcHRpb25zLmRvbWFpbiAmJiBvcHRpb25zLnNlcnZpY2UpXG4gICAgICAgICAgICAgICAgPyBgJHtvcHRpb25zLmRvbWFpbn0uJHtvcHRpb25zLnNlcnZpY2V9YFxuICAgICAgICAgICAgICAgIDogYCR7dGhpcy5kb21haW59LiR7dGhpcy5zZXJ2aWNlfWA7XG5cbiAgICAgICAgY29uc3Qgc3VmZml4ID0gb3B0aW9ucy5zdWZmaXggPyBgXyR7b3B0aW9ucy5zdWZmaXh9YCA6IFwiXCI7XG5cblxuICAgICAgICBvcHRpb25zLmxvb2t1cEZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzICYmIG9wdGlvbnMubG9va3VwRmllbGRzLmxlbmd0aFxuICAgICAgICAgICAgPyBvcHRpb25zLmxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgOiB0aGlzLmxvb2t1cEZpZWxkcztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5mb3JtR3JvdXAgfHwgdGhpcy5lbnRpdHksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2Uob3B0aW9ucy5lbnRpdHkpIHx8IHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfSR7c3VmZml4fWApLFxuICAgICAgICAgICAgc2VhcmNoVGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKG9wdGlvbnMuZW50aXR5KSB8fFxuICAgICAgICAgICAgICAgIHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV9zZWFyY2hfdGl0bGVgKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5Mb29rdXAsXG4gICAgICAgICAgICBtdWx0aXBsZTogb3B0aW9ucy5tdWx0aXBsZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgICAgICBkYXRhS2V5OiBvcHRpb25zLmRhdGFLZXkgfHwgXCJpZFwiLFxuICAgICAgICAgICAgbG9va3VwRGlzcGxheUZpZWxkOiBcImxhYmVsXCIsXG4gICAgICAgICAgICBzZWFyY2hFbXB0eVRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubm90aGluZ19mb3VuZGApLFxuICAgICAgICAgICAgZmlsdGVyTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5maWx0ZXJgKSxcbiAgICAgICAgICAgIGNsZWFyTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5jbGVhcmApLFxuICAgICAgICAgICAgY2FuY2VsTGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5jYW5jZWxgKSxcbiAgICAgICAgICAgIHNlbGVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uc2VsZWN0YCksXG4gICAgICAgICAgICBzZWFyY2hGaWVsZHM6IG9wdGlvbnMuc2VhcmNoRmllbGRzID8gdGhpcy5tb3VudEZvcm1GaWVsZChvcHRpb25zLnNlYXJjaEZpZWxkcywgcHJlZml4KSA6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VudEZvcm1GaWVsZCh0aGlzLnNlYXJjaEZpZWxkcywgcHJlZml4KSxcbiAgICAgICAgICAgIHNlYXJjaEdyaWRGaWVsZHM6IG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyA/IHRoaXMubW91bnRGb3JtRmllbGQob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzLCBwcmVmaXgpIDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdW50Rm9ybUZpZWxkKHRoaXMuc2VhcmNoR3JpZEZpZWxkcywgcHJlZml4KSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5sb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBzZWFyY2hPYnNlcnZhYmxlOiB0aGlzLmxvb2t1cFNlYXJjaE9ic2VydmFibGUsXG4gICAgICAgICAgICBvbkxvb2t1cFJlcXVlc3Q6ICh2YWx1ZTogc3RyaW5nKSA9PiB0aGlzLm9uTG9va3VwUmVxdWVzdCh2YWx1ZSwgcHJlZml4LCBvcHRpb25zKSxcbiAgICAgICAgICAgIG9uU2VhcmNoUmVxdWVzdDogKGV2ZW50OiBhbnkpID0+IHRoaXMub25TZWFyY2hSZXF1ZXN0KGV2ZW50LCBwcmVmaXgsIG9wdGlvbnMpXG4gICAgICAgIH07XG4gICAgfVxu4oCLXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSwgcHJlZml4OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkIHx8IHJlc3VsdFtwcm9wXSA9PT0gbnVsbFxuICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKVxuICAgICAgICAgICAgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhdmFsdWUubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5LCB2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eS5maWVsZFxuICAgICAgICAgICAgPyBgKCR7ZW50aXR5Lm5hbWV9LiR7ZW50aXR5LmZpZWxkfSBlcSAnJHt2YWx1ZVtlbnRpdHkuZmllbGRdfScpYFxuICAgICAgICAgICAgOiBgKCR7ZW50aXR5Lm5hbWV9IGVxICcke3ZhbHVlW2VudGl0eS5uYW1lXX0nKWA7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9va3VwUmVxdWVzdCh2YWx1ZTogc3RyaW5nLCBwcmVmaXg6IHN0cmluZywgb3B0aW9ucz86IExvb2t1cE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc29ydCA9IG9wdGlvbnMubG9va3VwU29ydDtcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKTtcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudEZpbHRlclF1ZXJ5KHZhbHVlLCBvcHRpb25zLmxvb2t1cEZpZWxkcywgb3B0aW9ucy5kZWZhdWx0RmlsdGVyLCBvcHRpb25zLmR5bmFtaWNGaWx0ZXIpO1xuXG4gICAgICAgIGxldCBkaXNwbGF5RmllbGRzID0gbG9va3VwRGlzcGxheUZpZWxkcy5jb25jYXQoIChvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMgfHwgdGhpcy5zZWFyY2hHcmlkRmllbGRzKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpIHx8IFtdKTtcbiAgICAgICAgaWYgKG9wdGlvbnMucXVlcnlGaWVsZHMpXG4gICAgICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5jb25jYXQob3B0aW9ucy5xdWVyeUZpZWxkcyk7XG4gICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmZpbHRlcigodiwgaSkgPT4gZGlzcGxheUZpZWxkcy5pbmRleE9mKHYpID09PSBpKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHlGaWx0ZXIgPSBvcHRpb25zLmVudGl0eURlcGVuZGVuY3kubWFwKChlbnRpdHk6IEVudGl0eURlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGVudGl0eS52YWx1ZSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWx1ZShuZXdWYWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke25ld1ZhbHVlLm1hcCgodmFsOiBhbnkpID0+IHRoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWwpKS5qb2luKFwiIG9yIFwiKX0pYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3RoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCBuZXdWYWx1ZSl9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuZmlsdGVyKGZpbHRlciA9PiAhIWZpbHRlcikuam9pbiAoXCIgYW5kIFwiKTtcbiAgICAgICAgICAgIGlmIChlbnRpdHlGaWx0ZXIpXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtlbnRpdHlGaWx0ZXJ9KWAgOiBmaWx0ZXJRdWVyeSA9IGVudGl0eUZpbHRlcjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvb2t1cFNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHtcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5LFxuICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLmVudGl0eSxcbiAgICAgICAgICAgIG9wdGlvbnMuZG9tYWluIHx8IHRoaXMuZG9tYWluLFxuICAgICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlIHx8IHRoaXMuc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICAgIGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0SXRlbUxhYmVsKGl0ZW0sIHByZWZpeCwgbG9va3VwRGlzcGxheUZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBvblNlYXJjaFJlcXVlc3QoZXZlbnQ6IGFueSwgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBMb29rdXBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MsIG11bHRpU29ydE1ldGEsIGZpbHRlckRhdGEgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBzb3J0ID0gbXVsdGlTb3J0TWV0YSA/IG11bHRpU29ydE1ldGEgOiBvcHRpb25zLnNlYXJjaFNvcnQ7XG4gICAgICAgIGNvbnN0IGxvb2t1cERpc3BsYXlGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSk7XG5cbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5ID0gKG9wdGlvbnMuc2VhcmNoRmllbGRzIHx8IHRoaXMuc2VhcmNoRmllbGRzKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT0gdW5kZWZpbmVkICYmIGZpbHRlckRhdGFbbmFtZV0gIT0gXCJcIilcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSwgbXVsdGlwbGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyRGF0YVtuYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIpIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuRGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5UaW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoXCJISDptbTpzc1wiKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5EYXRlVGltZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuRW51bSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW91bnRFbnVtRmlsdGVyKG5hbWUsIHZhbHVlLCBtdWx0aXBsZSk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBGaWVsZFR5cGUuU3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7bmFtZX0pLCBsb3dlcignJHt2YWx1ZX0nKSkpYDtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xu4oCLXG4gICAgICAgIGlmIChvcHRpb25zLmVudGl0eURlcGVuZGVuY3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eUZpbHRlciA9IG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeS5tYXAoKGVudGl0eTogRW50aXR5RGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZW50aXR5LnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1ZhbHVlKHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3ZhbHVlLm1hcCgodmFsOiBhbnkpID0+IHRoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWwpKS5qb2luKFwiIG9yIFwiKX0pYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3RoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWx1ZSl9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkuZmlsdGVyKGZpbHRlciA9PiAhIWZpbHRlcikuam9pbiAoXCIgYW5kIFwiKTtcbiAgICAgICAgICAgIGlmIChlbnRpdHlGaWx0ZXIpXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtlbnRpdHlGaWx0ZXJ9KWAgOiBmaWx0ZXJRdWVyeSA9IGVudGl0eUZpbHRlcjtcbiAgICAgICAgfVxu4oCLXG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREZWZhdWx0RmlsdGVyKG9wdGlvbnMuZGVmYXVsdEZpbHRlcik7XG4gICAgICAgIGlmIChkZWZhdWx0RmlsdGVyUXVlcnkpXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA/IGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2RlZmF1bHRGaWx0ZXJRdWVyeX0pYCA6IGZpbHRlclF1ZXJ5ID0gYCgke2RlZmF1bHRGaWx0ZXJRdWVyeX0pYDtcblxuICAgICAgICBjb25zdCBkeW5hbWljRmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RHluYW1pY0ZpbHRlcihvcHRpb25zLmR5bmFtaWNGaWx0ZXIpO1xuICAgICAgICBpZiAoZHluYW1pY0ZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkeW5hbWljRmlsdGVyUXVlcnl9KWAgOiBmaWx0ZXJRdWVyeSA9IGAoJHtkeW5hbWljRmlsdGVyUXVlcnl9KWA7XG5cbiAgICAgICAgbGV0IGRpc3BsYXlGaWVsZHMgPSBsb29rdXBEaXNwbGF5RmllbGRzLmNvbmNhdCggKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyB8fCB0aGlzLnNlYXJjaEdyaWRGaWVsZHMpXG4gICAgICAgICAgICAubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkgfHwgW10pO1xuICAgICAgICBpZiAob3B0aW9ucy5xdWVyeUZpZWxkcylcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmNvbmNhdChvcHRpb25zLnF1ZXJ5RmllbGRzKTtcbiAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuZmlsdGVyKCh2LCBpKSA9PiBkaXNwbGF5RmllbGRzLmluZGV4T2YodikgPT09IGkpO1xuXG4gICAgICAgIHRoaXMubG9va3VwU2VydmljZVxuICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9LCB0aGlzLmVudGl0eSwgb3B0aW9ucy5kb21haW4gfHwgdGhpcy5kb21haW4sIG9wdGlvbnMuc2VydmljZSB8fCB0aGlzLnNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgobGlzdDogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBncmlkRGF0YTogbGlzdC5jb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRJdGVtTGFiZWwoaXRlbSwgcHJlZml4LCBsb29rdXBEaXNwbGF5RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsUmVjb3JkczogbGlzdC50b3RhbEVsZW1lbnRzXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cFNlYXJjaE9ic2VydmFibGUubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEl0ZW1MYWJlbChpdGVtOiBhbnksIHByZWZpeDogc3RyaW5nLCBsb29rdXBEaXNwbGF5RmllbGRzOiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gbG9va3VwRGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZC5pbmRleE9mKFwiLlwiKSA+IDApIHJldHVybiB0aGlzLmdldFByb3AoaXRlbSwgZmllbGQsIHByZWZpeCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1bZmllbGRdICE9PSB1bmRlZmluZWQgJiYgaXRlbVtmaWVsZF0gIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBpdGVtW2ZpZWxkXVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5lbXB0eV9sYWJlbGApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiIC0gXCIpO1xuICAgIH1cbn1cbiJdfQ==