@sbb-esta/lyne-elements-experimental-dev 5.0.0-next-dev.1776353467 → 5.0.0-next-dev.1776358181

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 (46) hide show
  1. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +1 -1
  2. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  3. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  4. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  5. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  6. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  7. package/development/autocomplete-grid-cell.component-Buvsof-Y.js +1 -1
  8. package/development/autocomplete-grid-option.component-B4SXR9_v.js +1 -1
  9. package/development/autocomplete-grid-row.component-CY4UDuuj.js +1 -1
  10. package/development/autocomplete-grid.js +1 -1
  11. package/development/date-helper-DGz-ztQM.js +1 -1
  12. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  13. package/development/journey-summary.component-B9P1PAJv.js +1 -1
  14. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  15. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  16. package/development/pearl-chain-time.component-DDnGnI77.js +1 -1
  17. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
  18. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  19. package/development/pearl-chain-vertical-item.component-CRh0l20F.js +1 -1
  20. package/development/pearl-chain-vertical.component-Cmc3QXgd.js +1 -1
  21. package/development/pearl-chain.component-Dl2RvtJo.js +1 -1
  22. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +1 -1
  23. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  24. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1 -1
  25. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  26. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
  27. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  28. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  29. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  30. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +1 -1
  31. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  32. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
  33. package/development/seat-reservation-area.component-BQEtJhk0.js +1 -1
  34. package/development/seat-reservation-graphic.component-XpqxL5nq.js +1 -1
  35. package/development/seat-reservation-navigation-coach.component-DRCcI2ss.js +1 -1
  36. package/development/seat-reservation-navigation-services.component-ZNm77ZG-.js +1 -1
  37. package/development/seat-reservation-place-control.component-QF_px_in.js +1 -1
  38. package/development/seat-reservation-scoped.component-X-Kq0-w5.js +1 -1
  39. package/development/seat-reservation.component-C-ttTPW5.js +1 -1
  40. package/development/seat-reservation.js +1 -1
  41. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
  42. package/development/timetable-duration.component-2JBYobDt.js +1 -1
  43. package/development/timetable-row/timetable-row.component.d.ts +1 -1
  44. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  45. package/development/timetable-row.component-Binmks-o.js +1 -1
  46. package/package.json +2 -2
@@ -729,4 +729,4 @@ var SbbTimetableRowElement = (() => {
729
729
  //#endregion
730
730
  export { handleNotices as a, sortSituation as c, getHimIcon as i, filterNotices as n, renderIconProduct as o, getCus as r, renderStringProduct as s, SbbTimetableRowElement as t };
731
731
 
732
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLXJvdy5jb21wb25lbnQtQmlubWtzLW8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC90aW1ldGFibGUtcm93L3RpbWV0YWJsZS1yb3cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3RpbWV0YWJsZS1yb3cvdGltZXRhYmxlLXJvdy5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10aW1ldGFibGUtcm93LWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICAtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI1KX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWhlYWRlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDIwKX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWZvb3RlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctc2tlbGV0b24tcHVsc2UtZHVyYXRpb246IDE4MDBtcztcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoW2Rpc2FibGUtYW5pbWF0aW9uXSkge1xuICAtLXNiYi10aW1ldGFibGUtcm93LXNrZWxldG9uLXB1bHNlLWR1cmF0aW9uOiAwO1xufVxuXG4vLyBvdmVycmlkZSBpY29ucyBzaXplc1xuLnNiYi10aW1ldGFibGVfX3Jvdy10cmFuc3BvcnQtaWNvbiB7XG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbn1cblxuLy8gb3ZlcnJpZGUgaWNvbnMgc2l6ZXNcbi5zYmItdHJhdmVsLWhpbnRzX19pdGVtIHtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTQpfTtcbn1cblxuLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkge1xuICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LS1xdWF5IHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi10aW1ldGFibGVfX3Jvdy0tcXVheS10eXBlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vIHJlc2V0cyBsaXN0c1xudWwge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxubGkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctdHJhbnNwb3J0bnVtYmVyLFxuLnNiYi10aW1ldGFibGVfX3Jvdy10aW1lIHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tYm9sZDtcblxuICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLnNiYi10aW1ldGFibGVfX3JvdyB7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LXMtLXJlZ3VsYXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zYmItdGltZXRhYmxlLXJvdy1nYXApO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LWhlYWRlcixcbi5zYmItdGltZXRhYmxlX19yb3ctZm9vdGVyIHtcbiAgLy8gRHVlIHRvIGEgYnVnIGluIFNhZmFyaSB3aGljaCBkaXNwbGF5cyBza2VsZXRvbiBhbmltYXRpb24gZXZlbiBvbiBsb2FkZWQgY29udGVudCwgd2UgbmVlZCB0byBtYW51YWxseSBkaXNhYmxlIGFuaW1hdGlvbi5cbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWhlYWRlcik7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctZGV0YWlscyxcbi5zYmItdGltZXRhYmxlX19yb3ctaGludHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctaGVhZGVyIHAge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG5cbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWZvb3Rlcik7XG5cbiAgPiBzcGFuIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICA6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgfVxufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXF1YXktLWNoYW5nZWQge1xuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydC13cmFwcGVyLFxuLnNiYi10aW1ldGFibGVfX3Jvdy13YXJuaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5zYmItbG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2JiLWxvYWRpbmdfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1sb2FkaW5nX19yb3cge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMXgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIGhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI4KX07XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBCdXR0b25Cb3JkZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2JiLWxvYWRpbmdfX3Jvdyxcbi5zYmItbG9hZGluZ19fYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00KTtcbiAgYW5pbWF0aW9uOiBza2VsZXRvbi1wdWxzZSB2YXIoLS1zYmItdGltZXRhYmxlLXJvdy1za2VsZXRvbi1wdWxzZS1kdXJhdGlvbikgZWFzZS1vdXQgaW5maW5pdGU7XG59XG5cbi5zYmItbG9hZGluZ19fcm93OmZpcnN0LW9mLXR5cGUge1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodC1oZWFkZXIpO1xuICB3aWR0aDogNTAlO1xufVxuXG4uc2JiLWxvYWRpbmdfX3JvdzpsYXN0LW9mLXR5cGUge1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodC1mb290ZXIpO1xufVxuXG4uc2JiLWxvYWRpbmdfX2JhZGdlIHtcbiAgbWFyZ2luLWlubGluZTogYXV0byBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KSAqIC0xKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2FyZC1iYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNmb3JtOiB2YXIoLS1zYmItY2FyZC1iYWRnZS1za2V3KTtcbiAgd2lkdGg6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMTUpfTtcbiAgaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbn1cblxuQGtleWZyYW1lcyBza2VsZXRvbi1wdWxzZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00KTtcbiAgfVxuXG4gIDE3JSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIH1cblxuICA1MCUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICB9XG5cbiAgNjclIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICBTYmJDYXJkQmFkZ2VFbGVtZW50LFxuICBTYmJDYXJkQnV0dG9uRWxlbWVudCxcbiAgU2JiQ2FyZEVsZW1lbnQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NhcmQucHVyZS5qcyc7XG5pbXBvcnQge1xuICB0eXBlIFNiYk9jY3VwYW5jeSxcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS5qcyc7XG5pbXBvcnQge1xuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIGRlZmF1bHREYXRlQWRhcHRlcixcbiAgZm9yY2VUeXBlLFxuICBzZXRPclJlbW92ZUF0dHJpYnV0ZSxcbiAgaTE4bkFycml2YWwsXG4gIGkxOG5DbGFzcyxcbiAgaTE4bkRlcGFydHVyZSxcbiAgaTE4bkRpcmVjdGlvbixcbiAgaTE4bkZyb21QbGF0Zm9ybSxcbiAgaTE4bk1lYW5zT2ZUcmFuc3BvcnQsXG4gIGkxOG5OZXcsXG4gIGkxOG5PY2N1cGFuY3ksXG4gIGkxOG5SZWFsVGltZUluZm8sXG4gIGkxOG5TdXBlcnNhdmVyLFxuICBpMThuVHJhbnNmZXJQcm9jZWR1cmUsXG4gIGkxOG5UcmFuc2ZlclByb2NlZHVyZXMsXG4gIGkxOG5UcmF2ZWxoaW50cyxcbiAgaTE4blRyaXBEdXJhdGlvbixcbiAgaTE4blRyaXBRdWF5Q2hhbmdlLFxuICBib3hTaXppbmdTdHlsZXMsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHsgU2JiSWNvbkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9pY29uLnB1cmUuanMnO1xuaW1wb3J0IHsgU2JiVGltZXRhYmxlT2NjdXBhbmN5RWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3RpbWV0YWJsZS1vY2N1cGFuY3kucHVyZS5qcyc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQge1xuICBodG1sLFxuICBub3RoaW5nLFxuICB1bnNhZmVDU1MsXG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBQdFJpZGVMZWcsIFB0U2l0dWF0aW9uLCBJVHJpcEl0ZW0sIE5vdGljZSB9IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgaXNSaWRlTGVnLFxuICBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZSxcbiAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyxcbiAgZHVyYXRpb25Ub1RpbWUsXG59IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50IH0gZnJvbSAnLi4vcGVhcmwtY2hhaW4tdGltZS5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGltZXRhYmxlLXJvdy5zY3NzP2lubGluZSc7XG5cbi8qKiBIaW1DdXMgaW50ZXJmYWNlIGZvciBtYXBwZWQgaWNvbiBuYW1lIGFuZCB0ZXh0ICovXG5leHBvcnQgaW50ZXJmYWNlIEhpbUN1cyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGV4dD86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBCb2FyZGluZyBpY29uIGludGVyZmFjZSBmb3IgbWFwcGVkIGljb24gbmFtZSBhbmQgdGV4dCAqL1xuZXhwb3J0IGludGVyZmFjZSBCb2FyZGluZyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByaWNlIHtcbiAgcHJpY2U/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGlzRGlzY291bnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgcmVuZGVySWNvblByb2R1Y3QgPSAoaWNvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdCA9PiB7XG4gIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydFwiPlxuICAgIDxzYmItaWNvbiBuYW1lPSR7aWNvbn0+PC9zYmItaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj4ke25hbWV9PC9zcGFuPlxuICA8L3NwYW4+YDtcbn07XG5cbmV4cG9ydCBjb25zdCByZW5kZXJTdHJpbmdQcm9kdWN0ID0gKHZlaGljbGVOYW1lOiBzdHJpbmcsIGxpbmU/OiBzdHJpbmcgfCBudWxsKTogVGVtcGxhdGVSZXN1bHQgPT4ge1xuICBjb25zdCBzcGFjZSA9IFsnTScsICdCJywgJ1QnXS5pbmNsdWRlcyh2ZWhpY2xlTmFtZSkgPyAnICcgOiAnJztcbiAgcmV0dXJuIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctdHJhbnNwb3J0bnVtYmVyXCI+XG4gICAgJHtsaW5lICE9PSBudWxsID8gdmVoaWNsZU5hbWUgKyBzcGFjZSArIGxpbmUgOiB2ZWhpY2xlTmFtZX1cbiAgPC9zcGFuPmA7XG59O1xuXG5jb25zdCBnZXRSZWFjaGFibGVUZXh0ID0gKGxlZ3M6IFB0UmlkZUxlZ1tdKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiBsZWdzPy5maW5kKChsZWcpID0+IGxlZy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LnJlYWNoYWJsZVRleHQpPy5zZXJ2aWNlSm91cm5leVxuICAgID8uc2VydmljZUFsdGVyYXRpb24/LnJlYWNoYWJsZVRleHQ7XG59O1xuXG5jb25zdCBnZXREZWxheVRleHQgPSAobGVnczogUHRSaWRlTGVnW10pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcbiAgcmV0dXJuIGxlZ3M/LmZpbmQoKGxlZykgPT4gbGVnLnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8uZGVsYXlUZXh0KT8uc2VydmljZUpvdXJuZXlcbiAgICA/LnNlcnZpY2VBbHRlcmF0aW9uPy5kZWxheVRleHQ7XG59O1xuXG5jb25zdCBnZXRSZWRpcmVjdGVkVGV4dCA9IChsZWdzOiBQdFJpZGVMZWdbXSk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gbGVncz8uZmluZCgobGVnKSA9PiAhIWxlZy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LnJlZGlyZWN0ZWRUZXh0KVxuICAgID8uc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5yZWRpcmVjdGVkVGV4dDtcbn07XG5cbmNvbnN0IGdldFVucGxhbm5lZFN0b3AgPSAobGVnczogUHRSaWRlTGVnW10pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcbiAgcmV0dXJuIGxlZ3M/LmZpbmQoKGxlZykgPT4gISFsZWcuc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy51bnBsYW5uZWRTdG9wUG9pbnRzVGV4dClcbiAgICA/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8udW5wbGFubmVkU3RvcFBvaW50c1RleHQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydFNpdHVhdGlvbiA9IChzaXR1YXRpb25zOiBQdFNpdHVhdGlvbltdKTogUHRTaXR1YXRpb25bXSA9PiB7XG4gIGNvbnN0IHByaW9yaXRpZXMgPSB7XG4gICAgRElTVFVSQkFOQ0U6IDAsXG4gICAgSU5GT1JNQVRJT046IDEsXG4gICAgREVMQVk6IDIsXG4gICAgVFJBSU5fUkVQTEFDRU1FTlRfQllfQlVTOiAzLFxuICAgIENPTlNUUlVDVElPTl9TSVRFOiA0LFxuICAgIEVORF9NRVNTQUdFOiA1LFxuICB9O1xuXG4gIHJldHVybiBbLi4uc2l0dWF0aW9uc10/LnNvcnQoXG4gICAgKGE6IFB0U2l0dWF0aW9uLCBiOiBQdFNpdHVhdGlvbikgPT4gcHJpb3JpdGllc1thLmNhdXNlIV0gLSBwcmlvcml0aWVzW2IuY2F1c2UhXSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaW1JY29uID0gKHNpdHVhdGlvbjogUHRTaXR1YXRpb24pOiBIaW1DdXMgPT4ge1xuICBzd2l0Y2ggKHNpdHVhdGlvbj8uY2F1c2UpIHtcbiAgICBjYXNlICdESVNUVVJCQU5DRSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAnZGlzcnVwdGlvbicsXG4gICAgICAgIHRleHQ6IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXM/Lmxlbmd0aCA/IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXNbMF0udGl0bGUgOiAnJyxcbiAgICAgIH07XG4gICAgY2FzZSAnSU5GT1JNQVRJT04nOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ2luZm8nLFxuICAgICAgICB0ZXh0OiBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzLmxlbmd0aCA/IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXNbMF0udGl0bGUgOiAnJyxcbiAgICAgIH07XG4gICAgY2FzZSAnREVMQVknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ2RlbGF5JyxcbiAgICAgICAgdGV4dDogc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlcy5sZW5ndGggPyBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnRpdGxlIDogJycsXG4gICAgICB9O1xuICAgIGNhc2UgJ1RSQUlOX1JFUExBQ0VNRU5UX0JZX0JVUyc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAncmVwbGFjZW1lbnRidXMnLFxuICAgICAgICB0ZXh0OiBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzLmxlbmd0aCA/IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXNbMF0udGl0bGUgOiAnJyxcbiAgICAgIH07XG4gICAgY2FzZSAnQ09OU1RSVUNUSU9OX1NJVEUnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ2NvbnN0cnVjdGlvbicsXG4gICAgICAgIHRleHQ6IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXMubGVuZ3RoID8gc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlc1swXS50aXRsZSA6ICcnLFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ2luZm8nLFxuICAgICAgICB0ZXh0OiBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzLmxlbmd0aCA/IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXNbMF0udGl0bGUgOiAnJyxcbiAgICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDdXMgPSAodHJpcDogSVRyaXBJdGVtLCBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyk6IEhpbUN1cyA9PiB7XG4gIGNvbnN0IHsgc3VtbWFyeSwgbGVncyB9ID0gdHJpcCB8fCB7fTtcbiAgY29uc3QgcmlkZUxlZ3MgPSBsZWdzPy5maWx0ZXIoKGxlZykgPT4gaXNSaWRlTGVnKGxlZykpIGFzIFB0UmlkZUxlZ1tdO1xuICBjb25zdCB7IHRyaXBTdGF0dXMgfSA9IHN1bW1hcnkgfHwge307XG5cbiAgaWYgKHRyaXBTdGF0dXM/LmNhbmNlbGxlZCB8fCB0cmlwU3RhdHVzPy5wYXJ0aWFsbHlDYW5jZWxsZWQpXG4gICAgcmV0dXJuIHsgbmFtZTogJ2NhbmNlbGxhdGlvbicsIHRleHQ6IHRyaXBTdGF0dXM/LmNhbmNlbGxlZFRleHQgfTtcbiAgaWYgKGdldFJlYWNoYWJsZVRleHQocmlkZUxlZ3MpKVxuICAgIHJldHVybiB7IG5hbWU6ICdtaXNzZWQtY29ubmVjdGlvbicsIHRleHQ6IGdldFJlYWNoYWJsZVRleHQocmlkZUxlZ3MpIH07XG4gIGlmICh0cmlwU3RhdHVzPy5hbHRlcm5hdGl2ZSkgcmV0dXJuIHsgbmFtZTogJ2FsdGVybmF0aXZlJywgdGV4dDogdHJpcFN0YXR1cy5hbHRlcm5hdGl2ZVRleHQgfTtcbiAgaWYgKGdldFJlZGlyZWN0ZWRUZXh0KHJpZGVMZWdzKSkgcmV0dXJuIHsgbmFtZTogJ3Jlcm91dGUnLCB0ZXh0OiBnZXRSZWRpcmVjdGVkVGV4dChyaWRlTGVncykgfTtcbiAgaWYgKGdldFVucGxhbm5lZFN0b3AocmlkZUxlZ3MpKSByZXR1cm4geyBuYW1lOiAnYWRkLXN0b3AnLCB0ZXh0OiBnZXRVbnBsYW5uZWRTdG9wKHJpZGVMZWdzKSB9O1xuICBpZiAodHJpcFN0YXR1cz8uZGVsYXllZCB8fCB0cmlwU3RhdHVzPy5kZWxheWVkVW5rbm93bilcbiAgICByZXR1cm4geyBuYW1lOiAnZGVsYXknLCB0ZXh0OiBnZXREZWxheVRleHQocmlkZUxlZ3MpIH07XG4gIGlmICh0cmlwU3RhdHVzPy5xdWF5Q2hhbmdlZCkge1xuICAgIGNvbnN0IGRlcGFydHVyZSA9IHJpZGVMZWdzWzBdLmRlcGFydHVyZTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogJ3BsYXRmb3JtLWNoYW5nZScsXG4gICAgICB0ZXh0OiBkZXBhcnR1cmUucXVheUNoYW5nZWQgPyBkZXBhcnR1cmUucXVheUNoYW5nZWRUZXh0IDogaTE4blRyaXBRdWF5Q2hhbmdlW2N1cnJlbnRMYW5ndWFnZV0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7fSBhcyBIaW1DdXM7XG59O1xuXG5jb25zdCBmaW5kQW5kUmVwbGFjZU5vdGljZSA9IChub3RpY2VzOiBOb3RpY2VbXSk6IE5vdGljZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHJlc2VydmF0aW9uTm90aWNlID0gWydSUicsICdSSycsICdSQycsICdSTCcsICdSTScsICdSUycsICdSVScsICdYUCcsICdYUicsICdYVCddO1xuXG4gIHJldHVybiBub3RpY2VzLnJlZHVjZSgoZm91bmROb3RpY2U6IE5vdGljZSB8IHVuZGVmaW5lZCwgbm90aWNlOiBOb3RpY2UpOiBOb3RpY2UgfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmIChmb3VuZE5vdGljZSkgcmV0dXJuIGZvdW5kTm90aWNlO1xuICAgIGlmIChyZXNlcnZhdGlvbk5vdGljZS5pbmNsdWRlcyhub3RpY2UubmFtZSkpIHtcbiAgICAgIHJldHVybiB7IC4uLm5vdGljZSwgbmFtZTogJ1JSJyB9IGFzIE5vdGljZTtcbiAgICB9XG4gIH0sIHVuZGVmaW5lZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyTm90aWNlcyA9IChub3RpY2VzOiBOb3RpY2VbXSk6IE5vdGljZVtdID0+IHtcbiAgY29uc3QgYWxsb3dlZE5hbWVzID0gWydaJywgJ1NCJywgJ1NaJywgJ1ZSJywgJ1RHJ107XG5cbiAgY29uc3QgZmlsdGVyTm90aWNlID0gbm90aWNlcy5maWx0ZXIoKG5vdGljZSwgaW5kZXgpID0+IHtcbiAgICByZXR1cm4gbm90aWNlcy5maW5kSW5kZXgoKG4pID0+IG4ubmFtZSA9PT0gbm90aWNlLm5hbWUpID09PSBpbmRleDtcbiAgfSk7XG5cbiAgcmV0dXJuIGZpbHRlck5vdGljZVxuICAgIC5maWx0ZXIoKG5vdGljZSkgPT4gYWxsb3dlZE5hbWVzLmluY2x1ZGVzKG5vdGljZS5uYW1lKSlcbiAgICAuc29ydCgoYSwgYikgPT4gYWxsb3dlZE5hbWVzLmluZGV4T2YoYS5uYW1lKSAtIGFsbG93ZWROYW1lcy5pbmRleE9mKGIubmFtZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGljZXMgPSAobm90aWNlczogTm90aWNlW10pOiBOb3RpY2VbXSA9PiB7XG4gIGNvbnN0IHJlc2VydmF0aW9uTm90aWNlID0gZmluZEFuZFJlcGxhY2VOb3RpY2Uobm90aWNlcyk7XG4gIGNvbnN0IGZpbHRlcmVkTm90aWNlcyA9IGZpbHRlck5vdGljZXMobm90aWNlcyk7XG5cbiAgaWYgKHJlc2VydmF0aW9uTm90aWNlID09PSB1bmRlZmluZWQpIHJldHVybiBmaWx0ZXJlZE5vdGljZXM7XG4gIGlmICghZmlsdGVyZWROb3RpY2VzLmxlbmd0aCkgcmV0dXJuIFtyZXNlcnZhdGlvbk5vdGljZV07XG5cbiAgaWYgKGZpbHRlcmVkTm90aWNlc1swXS5uYW1lID09PSAnWicgJiYgZmlsdGVyZWROb3RpY2VzWzFdKSB7XG4gICAgcmV0dXJuIFtmaWx0ZXJlZE5vdGljZXNbMF0sIHJlc2VydmF0aW9uTm90aWNlLCBmaWx0ZXJlZE5vdGljZXNbMV1dLmNvbmNhdChcbiAgICAgIGZpbHRlcmVkTm90aWNlcy5zbGljZSgyKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIFtyZXNlcnZhdGlvbk5vdGljZSwgLi4uZmlsdGVyZWROb3RpY2VzXTtcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRyaXAsIGFjdGluZyBhcyBhIGNvbnRhaW5lciBmb3IgYWxsIHRoZSBgc2JiLXRpbWV0YWJsZS0qYCBjb21wb25lbnRzLlxuICogKi9cbmV4cG9ydCBjbGFzcyBTYmJUaW1ldGFibGVSb3dFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGltZXRhYmxlLXJvdyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtcbiAgICBTYmJDYXJkRWxlbWVudCxcbiAgICBTYmJDYXJkQmFkZ2VFbGVtZW50LFxuICAgIFNiYkNhcmRCdXR0b25FbGVtZW50LFxuICAgIFNiYkljb25FbGVtZW50LFxuICAgIFNiYlRpbWV0YWJsZU9jY3VwYW5jeUVsZW1lbnQsXG4gICAgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVGhlIHRyaXAgUHJvcC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogT2JqZWN0IH0pIHB1YmxpYyBhY2Nlc3NvciB0cmlwOiBJVHJpcEl0ZW0gPSBudWxsITtcblxuICAvKiogVGhlIHByaWNlIFByb3AsIHdoaWNoIGNvbnNpc3RzIG9mIHRoZSBkYXRhIGZvciB0aGUgYmFkZ2UuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgcHJpY2U6IFByaWNlID0gbnVsbCE7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgdG8gdGhlIHNiYi1wZWFybC1jaGFpbiBjb21wb25lbnQgLSBpZiB0cnVlIHRoZSBwb3NpdGlvbiB3b24ndCBiZSBhbmltYXRlZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIHRvIHRoZSBub3RpY2VzIHNlY3Rpb24gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogT2JqZWN0IH0pIHB1YmxpYyBhY2Nlc3NvciBib2FyZGluZzogQm9hcmRpbmcgPSBudWxsITtcblxuICAvKipcbiAgICogVGhlIGxvYWRpbmcgc3RhdGUgLVxuICAgKiB3aGVuIHRoaXMgaXMgdHJ1ZSBpdCB3aWxsIGJlIHJlbmRlciBza2VsZXRvbiB3aXRoIGFuIGlkbGluZyBhbmltYXRpb25cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsb2FkaW5nLXRyaXAnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsb2FkaW5nVHJpcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgRm9vdHBhdGggYXR0cmlidXRlIGZvciByZW5kZXJpbmcgZGlmZmVyZW50IGljb25zXG4gICAqIHRydWU6IHJlbmRlciBhMTF5LWljb25cbiAgICogZmFsc2U6IHJlbmRlciB3YWxrLWljb25cbiAgICogZGVmYXVsdDogcmVuZGVyIHdhbGstaWNvblxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGxvYWRpbmcgc3RhdGUgLVxuICAgKiB3aGVuIHRoaXMgaXMgdHJ1ZSBpdCB3aWxsIGJlIHJlbmRlciBza2VsZXRvbiB3aXRoIGFuIGlkbGluZyBhbmltYXRpb25cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsb2FkaW5nLXByaWNlJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbG9hZGluZ1ByaWNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhpZGRlbiBsYWJlbCBmb3IgdGhlIGNhcmQgYWN0aW9uLiBJdCBvdmVycmlkZXMgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGFjY2Vzc2liaWxpdHkgdGV4dCBmb3IgdGhlIGNvbXBvbmVudC4gVXNlIHRoaXMgcHJvcCB0byBwcm92aWRlIGN1c3RvbSBhY2Nlc3NpYmlsaXR5IGluZm9ybWF0aW9uIGZvciB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2NhcmQtYWN0aW9uLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2FyZEFjdGlvbkxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCB0byB0aGUgc2JiLWNhcmQgY29tcG9uZW50IGFzIGFyaWEtZXhwYW5kZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWV4cGFuZGVkJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZW4gdGhpcyBwcm9wIGlzIHRydWUgdGhlIHNiYi1jYXJkIHdpbGwgYmUgaW4gdGhlIGFjdGl2ZSBzdGF0ZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGNvbmZpZ3VyZWQgZGF0ZSB3aGljaCBhY3RzIGFzIHRoZSBjdXJyZW50IGRhdGUgaW5zdGVhZCBvZiB0aGUgcmVhbCBjdXJyZW50IGRhdGUuXG4gICAqIE9ubHkgcmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG5vdyh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsb2FkaW5nVHJpcCcpKSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAncm9sZScsICF0aGlzLmxvYWRpbmdUcmlwID8gJ3Jvd2dyb3VwJyA6IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgc2tlbGV0b24gcmVuZGVyIGZ1bmN0aW9uIGZvciB0aGUgbG9hZGluZyBzdGF0ZSAqL1xuICBwcml2YXRlIF9yZW5kZXJTa2VsZXRvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2JiLWNhcmQgY2xhc3M9XCJzYmItbG9hZGluZyBzYmItY2FyZC1zcGFjaW5nLTR4LXh4c1wiPlxuICAgICAgICAke3RoaXMubG9hZGluZ1ByaWNlID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLWxvYWRpbmdfX2JhZGdlXCIgc2xvdD1cImJhZGdlXCI+PC9kaXY+YCA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbG9hZGluZ19fd3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbG9hZGluZ19fcm93XCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sb2FkaW5nX19yb3dcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxvYWRpbmdfX3Jvd1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2JiLWNhcmQ+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJpZGVMZWdzKCk6IFB0UmlkZUxlZ1tdIHtcbiAgICByZXR1cm4gdGhpcy50cmlwPy5sZWdzPy5maWx0ZXIoKGxlZykgPT4gaXNSaWRlTGVnKGxlZykpID8/IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UXVheVR5cGVTdHJpbmdzKCk6IHsgbG9uZzogc3RyaW5nOyBzaG9ydDogc3RyaW5nIH0gfCBudWxsIHtcbiAgICBpZiAoIXRoaXMudHJpcC5zdW1tYXJ5Py5wcm9kdWN0KSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCByaWRlTGVncyA9IHRoaXMuX2dldFJpZGVMZWdzKCk7XG4gICAgY29uc3QgaXNTaG9ydCA9IHRoaXMudHJpcC5zdW1tYXJ5LnByb2R1Y3Q/LnZlaGljbGVNb2RlID09PSAnVFJBSU4nO1xuICAgIGNvbnN0IHNob3J0ID0gaXNTaG9ydFxuICAgICAgPyByaWRlTGVnc1swXS5zZXJ2aWNlSm91cm5leS5xdWF5VHlwZVNob3J0TmFtZSB8fCAnJ1xuICAgICAgOiByaWRlTGVnc1swXS5zZXJ2aWNlSm91cm5leS5xdWF5VHlwZU5hbWUgfHwgJyc7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9uZzogaTE4bkZyb21QbGF0Zm9ybVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSArICcgJyArIHNob3J0LFxuICAgICAgc2hvcnQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBtYXAgUXVheSAqL1xuICBwcml2YXRlIF9yZW5kZXJRdWF5VHlwZSgpOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLnRyaXAuc3VtbWFyeT8ucHJvZHVjdCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBxdWF5VHlwZVN0cmluZ3MgPSB0aGlzLl9nZXRRdWF5VHlwZVN0cmluZ3MoKTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LS1xdWF5XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPiR7cXVheVR5cGVTdHJpbmdzPy5sb25nfSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctLXF1YXktdHlwZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPiR7cXVheVR5cGVTdHJpbmdzPy5zaG9ydH08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVIaW1DdXModHJpcDogSVRyaXBJdGVtKTogeyBjdXM6IEhpbUN1cyB8IG51bGw7IGhpbTogSGltQ3VzIHwgbnVsbCB9IHtcbiAgICBjb25zdCB7IHNpdHVhdGlvbnMgfSA9IHRyaXAgfHwge307XG4gICAgY29uc3Qgc29ydGVkU2l0dWF0aW9ucyA9IHNpdHVhdGlvbnMgJiYgc29ydFNpdHVhdGlvbihzaXR1YXRpb25zKTtcbiAgICBjb25zdCBjdXMgPSBnZXRDdXModHJpcCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VzOiBPYmplY3Qua2V5cyhjdXMpPy5sZW5ndGggPyBjdXMgOiBudWxsLFxuICAgICAgaGltOiBzaXR1YXRpb25zPy5sZW5ndGggPyBnZXRIaW1JY29uKHNvcnRlZFNpdHVhdGlvbnNbMF0pIDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWNjZXNzaWJpbGl0eVRleHQodHJpcDogSVRyaXBJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IHN1bW1hcnksIGxlZ3MsIG5vdGljZXMgfSA9IHRyaXAgfHwge307XG4gICAgY29uc3Qge1xuICAgICAgZGVwYXJ0dXJlV2FsayxcbiAgICAgIGFycml2YWxXYWxrLFxuICAgICAgZGVwYXJ0dXJlLFxuICAgICAgYXJyaXZhbCxcbiAgICAgIHByb2R1Y3QsXG4gICAgICBkaXJlY3Rpb24sXG4gICAgICBvY2N1cGFuY3ksXG4gICAgICBkdXJhdGlvbixcbiAgICB9ID0gc3VtbWFyeSB8fCB7fTtcblxuICAgIGNvbnN0IHsgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSwgYXJyaXZhbFRpbWVBdHRyaWJ1dGUgfSA9IGdldERlcGFydHVyZUFycml2YWxUaW1lQXR0cmlidXRlKFxuICAgICAgbGVncyxcbiAgICAgIGRlcGFydHVyZVdhbGsgfHwgMCxcbiAgICAgIGFycml2YWxXYWxrIHx8IDAsXG4gICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgdGhpcy5hMTF5Rm9vdHBhdGgsXG4gICAgKTtcblxuICAgIGNvbnN0IHJpZGVMZWdzID0gdGhpcy5fZ2V0UmlkZUxlZ3MoKTtcblxuICAgIGNvbnN0IGRlcGFydHVyZVRpbWU6IERhdGUgfCB1bmRlZmluZWQgPSBkZXBhcnR1cmU/LnRpbWVcbiAgICAgID8gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhkZXBhcnR1cmUudGltZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWU6IERhdGUgfCB1bmRlZmluZWQgPSBhcnJpdmFsPy50aW1lXG4gICAgICA/IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcoYXJyaXZhbC50aW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVXYWxrVGV4dCA9IGRlcGFydHVyZVRpbWVBdHRyaWJ1dGVcbiAgICAgID8gYCR7ZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZS50ZXh0fSAke2RlcGFydHVyZVRpbWVBdHRyaWJ1dGUuZHVyYXRpb259LCBgXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgYXJyaXZhbFdhbGtUZXh0ID0gYXJyaXZhbFRpbWVBdHRyaWJ1dGVcbiAgICAgID8gYCR7YXJyaXZhbFRpbWVBdHRyaWJ1dGUudGV4dH0gJHthcnJpdmFsVGltZUF0dHJpYnV0ZS5kdXJhdGlvbn0sIGBcbiAgICAgIDogJyc7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVUaW1lVGV4dCA9IGRlcGFydHVyZVRpbWVcbiAgICAgID8gYCR7aTE4bkRlcGFydHVyZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX06ICR7Zm9ybWF0KGRlcGFydHVyZVRpbWUsICdISDptbScpfSwgYFxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdldERlcGFydHVyZVF1YXlUZXh0ID0gKCk6IHN0cmluZyA9PiB7XG4gICAgICBpZiAoIWRlcGFydHVyZT8ucXVheUZvcm1hdHRlZCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG5cbiAgICAgIC8vIGFkZCBwcmVmaXggXCJuZXdcIiBpZiBxdWF5IHdhcyBjaGFuZ2VkXG4gICAgICBjb25zdCBjaGFuZ2VkUXVheVByZWZpeCA9IGRlcGFydHVyZT8ucXVheUNoYW5nZWQgPyBgJHtpMThuTmV3W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSBgIDogJyc7XG4gICAgICByZXR1cm4gYCR7Y2hhbmdlZFF1YXlQcmVmaXh9JHtcbiAgICAgICAgdGhpcy5fZ2V0UXVheVR5cGVTdHJpbmdzKCk/LmxvbmdcbiAgICAgIH0gJHtkZXBhcnR1cmU/LnF1YXlGb3JtYXR0ZWR9LCBgO1xuICAgIH07XG5cbiAgICBjb25zdCBtZWFuc09mVHJhbnNwb3J0VGV4dCA9XG4gICAgICBwcm9kdWN0ICYmIHByb2R1Y3QudmVoaWNsZU1vZGVcbiAgICAgICAgPyBpMThuTWVhbnNPZlRyYW5zcG9ydFtwcm9kdWN0LnZlaGljbGVNb2RlLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgYCR7aTE4bk1lYW5zT2ZUcmFuc3BvcnRbcHJvZHVjdC52ZWhpY2xlTW9kZS50b0xvd2VyQ2FzZSgpXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0sIGBcbiAgICAgICAgOiAnJztcblxuICAgIGNvbnN0IHZlaGljbGVTdWJNb2RlVGV4dCA9IHByb2R1Y3Q/LnZlaGljbGVTdWJNb2RlU2hvcnROYW1lXG4gICAgICA/IGAke3Byb2R1Y3QudmVoaWNsZVN1Yk1vZGVTaG9ydE5hbWV9ICR7cHJvZHVjdC5saW5lIHx8ICcnfSwgYFxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGRpcmVjdGlvblRleHQgPSBgJHtpMThuRGlyZWN0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke2RpcmVjdGlvbn0sIGA7XG5cbiAgICBjb25zdCBoaW1DdXMgPSB0aGlzLl9oYW5kbGVIaW1DdXModHJpcCk7XG4gICAgY29uc3QgY3VzVGV4dCA9IGhpbUN1cz8uY3VzPy50ZXh0XG4gICAgICA/IGAke2kxOG5SZWFsVGltZUluZm9bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiAke2hpbUN1cz8uY3VzPy50ZXh0fSwgYFxuICAgICAgOiAnJztcbiAgICBjb25zdCBoaW1UZXh0ID0gaGltQ3VzPy5oaW0/LnRleHRcbiAgICAgID8gYCR7aTE4blJlYWxUaW1lSW5mb1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX06ICR7aGltQ3VzPy5oaW0/LnRleHR9LCBgXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgYm9hcmRpbmdUZXh0ID0gdGhpcy5ib2FyZGluZyA/IGAke3RoaXMuYm9hcmRpbmcudGV4dH0sIGAgOiAnJztcblxuICAgIGNvbnN0IHByaWNlVGV4dCA9IGAke3RoaXMucHJpY2U/LmlzRGlzY291bnQgPyBpMThuU3VwZXJzYXZlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSA6ICcnfSAke1xuICAgICAgdGhpcy5wcmljZT8udGV4dCAmJiB0aGlzLnByaWNlPy5wcmljZVxuICAgICAgICA/ICh0aGlzLnByaWNlPy50ZXh0IHx8ICcnKSArICcgJyArICh0aGlzLnByaWNlPy5wcmljZSB8fCAnJykgKyAnLCAnXG4gICAgICAgIDogJydcbiAgICB9YDtcblxuICAgIGNvbnN0IHRyYW5zZmVyUHJvY2VkdXJlcyA9XG4gICAgICByaWRlTGVncy5sZW5ndGggPiAyXG4gICAgICAgID8gYCR7cmlkZUxlZ3MubGVuZ3RoIC0gMX0gJHtpMThuVHJhbnNmZXJQcm9jZWR1cmVzW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSwgYFxuICAgICAgICA6IHJpZGVMZWdzLmxlbmd0aCA+IDFcbiAgICAgICAgICA/IGAke3JpZGVMZWdzLmxlbmd0aCAtIDF9ICR7aTE4blRyYW5zZmVyUHJvY2VkdXJlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSwgYFxuICAgICAgICAgIDogJyc7XG5cbiAgICBjb25zdCBhcnJpdmFsVGltZVRleHQgPSBhcnJpdmFsVGltZVxuICAgICAgPyBgJHtpMThuQXJyaXZhbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX06ICR7Zm9ybWF0KGFycml2YWxUaW1lLCAnSEg6bW0nKX0sIGBcbiAgICAgIDogJyc7XG5cbiAgICBsZXQgb2NjdXBhbmN5VGV4dDogc3RyaW5nID0gJyc7XG4gICAgaWYgKG9jY3VwYW5jeSkge1xuICAgICAgaWYgKG9jY3VwYW5jeS5maXJzdENsYXNzICYmIG9jY3VwYW5jeS5maXJzdENsYXNzICE9PSAnVU5LTk9XTicpIHtcbiAgICAgICAgb2NjdXBhbmN5VGV4dCArPSBgJHtpMThuQ2xhc3MuZmlyc3RbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7XG4gICAgICAgICAgKFxuICAgICAgICAgICAgaTE4bk9jY3VwYW5jeVtvY2N1cGFuY3kuZmlyc3RDbGFzcy50b0xvd2VyQ2FzZSgpIGFzIFNiYk9jY3VwYW5jeV0gYXMgUmVjb3JkPFxuICAgICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgICAgPlxuICAgICAgICAgICk/Llt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICB9LmA7XG4gICAgICB9XG4gICAgICBpZiAob2NjdXBhbmN5LnNlY29uZENsYXNzICYmIG9jY3VwYW5jeS5zZWNvbmRDbGFzcyAhPT0gJ1VOS05PV04nKSB7XG4gICAgICAgIG9jY3VwYW5jeVRleHQgKz0gYCAke2kxOG5DbGFzcy5zZWNvbmRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7XG4gICAgICAgICAgKFxuICAgICAgICAgICAgaTE4bk9jY3VwYW5jeVtvY2N1cGFuY3kuc2Vjb25kQ2xhc3MudG9Mb3dlckNhc2UoKSBhcyBTYmJPY2N1cGFuY3ldIGFzIFJlY29yZDxcbiAgICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgICApPy5bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgfS5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPVxuICAgICAgbm90aWNlcyAmJlxuICAgICAgaGFuZGxlTm90aWNlcyhub3RpY2VzKS5sZW5ndGggJiZcbiAgICAgIGhhbmRsZU5vdGljZXMobm90aWNlcylcbiAgICAgICAgPy5tYXAoKG5vdGljZSwgaW5kZXgpID0+IGluZGV4IDwgNCAmJiBub3RpY2UudGV4dD8udGVtcGxhdGUpXG4gICAgICAgIC5qb2luKCcsICcpICsgJywgJztcblxuICAgIGNvbnN0IGF0dHJpYnV0ZXNUZXh0ID0gYXR0cmlidXRlc1xuICAgICAgPyBgJHtpMThuVHJhdmVsaGludHNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiAke2F0dHJpYnV0ZXN9YFxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGR1cmF0aW9uVGV4dCA9XG4gICAgICAhIWR1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICA/IGAke2kxOG5UcmlwRHVyYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7XG4gICAgICAgICAgICBkdXJhdGlvblRvVGltZShkdXJhdGlvbiwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkubG9uZ1xuICAgICAgICAgIH0sIGBcbiAgICAgICAgOiAnJztcblxuICAgIHJldHVybiBbXG4gICAgICBkZXBhcnR1cmVXYWxrVGV4dCxcbiAgICAgIGRlcGFydHVyZVRpbWVUZXh0LFxuICAgICAgZ2V0RGVwYXJ0dXJlUXVheVRleHQoKSxcbiAgICAgIG1lYW5zT2ZUcmFuc3BvcnRUZXh0LFxuICAgICAgdmVoaWNsZVN1Yk1vZGVUZXh0LFxuICAgICAgZGlyZWN0aW9uVGV4dCxcbiAgICAgIGN1c1RleHQsXG4gICAgICBib2FyZGluZ1RleHQsXG4gICAgICBwcmljZVRleHQsXG4gICAgICBjdXNUZXh0ID8gJycgOiBoaW1UZXh0LFxuICAgICAgYXJyaXZhbFRpbWVUZXh0LFxuICAgICAgYXJyaXZhbFdhbGtUZXh0LFxuICAgICAgZHVyYXRpb25UZXh0LFxuICAgICAgdHJhbnNmZXJQcm9jZWR1cmVzLFxuICAgICAgb2NjdXBhbmN5VGV4dCxcbiAgICAgIGF0dHJpYnV0ZXNUZXh0LFxuICAgIF1cbiAgICAgIC5tYXAoKGUpID0+IGU/LnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoKGUpID0+IGUgJiYgZS5sZW5ndGggPiAwKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICh0aGlzLmxvYWRpbmdUcmlwKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVuZGVyU2tlbGV0b24oKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGxlZ3MsIGlkLCBub3RpY2VzLCBzdW1tYXJ5IH0gPSB0aGlzLnRyaXAgfHwge307XG5cbiAgICBjb25zdCB7XG4gICAgICBwcm9kdWN0LFxuICAgICAgZGlyZWN0aW9uLFxuICAgICAgZGVwYXJ0dXJlV2FsayxcbiAgICAgIGRlcGFydHVyZSxcbiAgICAgIGFycml2YWwsXG4gICAgICBhcnJpdmFsV2FsayxcbiAgICAgIG9jY3VwYW5jeSxcbiAgICAgIGR1cmF0aW9uLFxuICAgIH0gPSBzdW1tYXJ5IHx8IHt9O1xuXG4gICAgY29uc3QgaGltQ3VzID0gdGhpcy5faGFuZGxlSGltQ3VzKHRoaXMudHJpcCk7XG4gICAgY29uc3QgaGFzSGltQ3VzID0gISFoaW1DdXMuY3VzIHx8ICEhaGltQ3VzLmhpbTtcblxuICAgIGNvbnN0IG5vdGljZUF0dHJpYnV0ZXMgPSBub3RpY2VzICYmIGhhbmRsZU5vdGljZXMobm90aWNlcyk7XG5cbiAgICBjb25zdCBkdXJhdGlvbk9iaiA9IGR1cmF0aW9uID8gZHVyYXRpb25Ub1RpbWUoZHVyYXRpb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpIDogbnVsbDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNiYi1jYXJkIGNsYXNzPVwic2JiLWNhcmQtc3BhY2luZy00eC14eHNcIiBpZD0ke2lkfT5cbiAgICAgICAgPHNiYi1jYXJkLWJ1dHRvblxuICAgICAgICAgID9hY3RpdmU9JHt0aGlzLmFjdGl2ZX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPSR7dGhpcy5hY2Nlc3NpYmlsaXR5RXhwYW5kZWQgPyAndHJ1ZScgOiBub3RoaW5nfVxuICAgICAgICA+XG4gICAgICAgICAgJHt0aGlzLmNhcmRBY3Rpb25MYWJlbCA/IHRoaXMuY2FyZEFjdGlvbkxhYmVsIDogdGhpcy5fZ2V0QWNjZXNzaWJpbGl0eVRleHQodGhpcy50cmlwKX1cbiAgICAgICAgPC9zYmItY2FyZC1idXR0b24+XG4gICAgICAgICR7dGhpcy5sb2FkaW5nUHJpY2UgPyBodG1sYDxkaXYgY2xhc3M9XCJzYmItbG9hZGluZ19fYmFkZ2VcIiBzbG90PVwiYmFkZ2VcIj48L2Rpdj5gIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLnByaWNlICYmICF0aGlzLmxvYWRpbmdQcmljZVxuICAgICAgICAgID8gaHRtbGA8c2JiLWNhcmQtYmFkZ2UgY29sb3I9JHt0aGlzLnByaWNlLmlzRGlzY291bnQgPyAnY2hhcmNvYWwnIDogJ3doaXRlJ30+XG4gICAgICAgICAgICAgICR7dGhpcy5wcmljZS5pc0Rpc2NvdW50XG4gICAgICAgICAgICAgICAgPyBodG1sYDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAlPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICA+JHtpMThuU3VwZXJzYXZlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7dGhpcy5wcmljZS50ZXh0ID8gaHRtbGA8c3Bhbj4ke3RoaXMucHJpY2UudGV4dH08L3NwYW4+YCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7dGhpcy5wcmljZS5wcmljZSA/IGh0bWxgPHNwYW4+JHt0aGlzLnByaWNlLnByaWNlfTwvc3Bhbj5gIDogbm90aGluZ31cbiAgICAgICAgICAgIDwvc2JiLWNhcmQtYmFkZ2U+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvd1wiIHJvbGU9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LWhlYWRlclwiIHJvbGU9XCJncmlkY2VsbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgICR7cHJvZHVjdD8uY29ycG9yYXRlSWRlbnRpdHlQaWN0b2dyYW0gJiZcbiAgICAgICAgICAgICAgaHRtbGA8c3BhbiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy10cmFuc3BvcnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzYmItaWNvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctdHJhbnNwb3J0LWljb25cIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInBpY3RvOiR7cHJvZHVjdC5jb3Jwb3JhdGVJZGVudGl0eVBpY3RvZ3JhbX1cIlxuICAgICAgICAgICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgJHtwcm9kdWN0ICYmXG4gICAgICAgICAgICAgICAgICBwcm9kdWN0LnZlaGljbGVNb2RlICYmXG4gICAgICAgICAgICAgICAgICBpMThuTWVhbnNPZlRyYW5zcG9ydFtwcm9kdWN0LnZlaGljbGVNb2RlLnRvTG93ZXJDYXNlKCldICYmXG4gICAgICAgICAgICAgICAgICBpMThuTWVhbnNPZlRyYW5zcG9ydFtwcm9kdWN0LnZlaGljbGVNb2RlLnRvTG93ZXJDYXNlKCldW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+YH1cbiAgICAgICAgICAgICAgJHtwcm9kdWN0ICYmXG4gICAgICAgICAgICAgIChwcm9kdWN0LmNvcnBvcmF0ZUlkZW50aXR5SWNvblxuICAgICAgICAgICAgICAgID8gcmVuZGVySWNvblByb2R1Y3QocHJvZHVjdC5jb3Jwb3JhdGVJZGVudGl0eUljb24sIHByb2R1Y3QubmFtZSlcbiAgICAgICAgICAgICAgICA6IHByb2R1Y3QudmVoaWNsZVN1Yk1vZGVTaG9ydE5hbWUgJiZcbiAgICAgICAgICAgICAgICAgIHJlbmRlclN0cmluZ1Byb2R1Y3QocHJvZHVjdC52ZWhpY2xlU3ViTW9kZVNob3J0TmFtZSwgcHJvZHVjdD8ubGluZSkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAke2RpcmVjdGlvblxuICAgICAgICAgICAgICA/IGh0bWxgPHA+JHtgJHtpMThuRGlyZWN0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke2RpcmVjdGlvbn1gfTwvcD5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2JiLXBlYXJsLWNoYWluLXRpbWVcbiAgICAgICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgICAgICAubGVncz0ke2xlZ3N9XG4gICAgICAgICAgICAuZGVwYXJ0dXJlVGltZT0ke2RlcGFydHVyZT8udGltZX1cbiAgICAgICAgICAgIC5hcnJpdmFsVGltZT0ke2Fycml2YWw/LnRpbWV9XG4gICAgICAgICAgICAuZGVwYXJ0dXJlV2Fsaz0ke2RlcGFydHVyZVdhbGt9XG4gICAgICAgICAgICAuYXJyaXZhbFdhbGs9JHthcnJpdmFsV2Fsa31cbiAgICAgICAgICAgID9kaXNhYmxlLWFuaW1hdGlvbj0ke3RoaXMuZGlzYWJsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgID9hMTF5LWZvb3RwYXRoPSR7dGhpcy5hMTF5Rm9vdHBhdGh9XG4gICAgICAgICAgICAubm93PSR7dGhpcy5ub3d9XG4gICAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluLXRpbWU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy1mb290ZXJcIiByb2xlPVwiZ3JpZGNlbGxcIj5cbiAgICAgICAgICAgICR7cHJvZHVjdCAmJiBkZXBhcnR1cmU/LnF1YXlGb3JtYXR0ZWRcbiAgICAgICAgICAgICAgPyBodG1sYDxzcGFuXG4gICAgICAgICAgICAgICAgICBjbGFzcz0ke2RlcGFydHVyZT8ucXVheUNoYW5nZWQgPyBgc2JiLXRpbWV0YWJsZV9fcm93LXF1YXktLWNoYW5nZWRgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgJHtgJHtpMThuRGVwYXJ0dXJlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke1xuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydHVyZT8ucXVheUNoYW5nZWQgPyBpMThuTmV3W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdIDogJydcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJRdWF5VHlwZSgpfSAke2RlcGFydHVyZT8ucXVheUZvcm1hdHRlZH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAkeyhvY2N1cGFuY3k/LmZpcnN0Q2xhc3MgJiYgb2NjdXBhbmN5Py5maXJzdENsYXNzICE9PSAnVU5LTk9XTicpIHx8XG4gICAgICAgICAgICAob2NjdXBhbmN5Py5zZWNvbmRDbGFzcyAmJiBvY2N1cGFuY3kuc2Vjb25kQ2xhc3MgIT09ICdVTktOT1dOJylcbiAgICAgICAgICAgICAgPyBodG1sYDxzYmItdGltZXRhYmxlLW9jY3VwYW5jeVxuICAgICAgICAgICAgICAgICAgLmZpcnN0Q2xhc3NPY2N1cGFuY3k9JHtvY2N1cGFuY3k/LmZpcnN0Q2xhc3M/LnRvTG93ZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICAuc2Vjb25kQ2xhc3NPY2N1cGFuY3k9JHtvY2N1cGFuY3k/LnNlY29uZENsYXNzPy50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgID48L3NiYi10aW1ldGFibGUtb2NjdXBhbmN5PmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHsobm90aWNlQXR0cmlidXRlcyAmJiBub3RpY2VBdHRyaWJ1dGVzLmxlbmd0aCkgfHwgdGhpcy5ib2FyZGluZ1xuICAgICAgICAgICAgICA/IGh0bWxgPHVsIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LWhpbnRzXCIgcm9sZT1cImxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICR7bm90aWNlQXR0cmlidXRlcz8ubWFwKChub3RpY2UsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICBpbmRleCA8IDRcbiAgICAgICAgICAgICAgICAgICAgICA/IGh0bWxgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmF2ZWwtaGludHNfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9JHsnc2EtJyArIG5vdGljZS5uYW1lPy50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHtub3RpY2UudGV4dD8udGVtcGxhdGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5gXG4gICAgICAgICAgICAgICAgICAgICAgOiBub3RoaW5nLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5ib2FyZGluZ1xuICAgICAgICAgICAgICAgICAgICA/IGh0bWxgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRyYXZlbC1oaW50c19faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9JHt0aGlzLmJvYXJkaW5nPy5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5ib2FyZGluZz8udGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPmBcbiAgICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgIDwvdWw+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAke2R1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICAgICAgICA/IGh0bWxgPHRpbWU+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgJHtgJHtpMThuVHJpcER1cmF0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke2R1cmF0aW9uT2JqIS5sb25nfWB9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4ke2R1cmF0aW9uT2JqIS5zaG9ydH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtoYXNIaW1DdXMgJiYgKGhpbUN1cy5jdXMgfHwgaGltQ3VzLmhpbSlcbiAgICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LXdhcm5pbmdcIj5cbiAgICAgICAgICAgICAgICAgIDxzYmItaWNvbiBuYW1lPSR7KGhpbUN1cy5jdXMgfHwgaGltQ3VzLmhpbSkhLm5hbWV9Pjwvc2JiLWljb24+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj4keyhoaW1DdXMuY3VzIHx8IGhpbUN1cy5oaW0pIS50ZXh0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zYmItY2FyZD5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGltZXRhYmxlLXJvdyc6IFNiYlRpbWV0YWJsZVJvd0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUMwRUEsSUFBYSxxQkFBcUIsTUFBYyxTQUFnQztBQUM5RSxRQUFPLElBQUk7cUJBQ1EsS0FBSTsyQ0FDa0IsS0FBSTs7O0FBSS9DLElBQWEsdUJBQXVCLGFBQXFCLFNBQXdDO0NBQy9GLE1BQU0sUUFBUTtFQUFDO0VBQUs7RUFBSztFQUFJLENBQUMsU0FBUyxZQUFZLEdBQUcsTUFBTTtBQUM1RCxRQUFPLElBQUk7TUFDUCxTQUFTLE9BQU8sY0FBYyxRQUFRLE9BQU8sWUFBQTs7O0FBSW5ELElBQU0sb0JBQW9CLFNBQWdEO0FBQ3hFLFFBQU8sTUFBTSxNQUFNLFFBQVEsSUFBSSxnQkFBZ0IsbUJBQW1CLGNBQWMsRUFBRSxnQkFDOUUsbUJBQW1COztBQUd6QixJQUFNLGdCQUFnQixTQUFnRDtBQUNwRSxRQUFPLE1BQU0sTUFBTSxRQUFRLElBQUksZ0JBQWdCLG1CQUFtQixVQUFVLEVBQUUsZ0JBQzFFLG1CQUFtQjs7QUFHekIsSUFBTSxxQkFBcUIsU0FBZ0Q7QUFDekUsUUFBTyxNQUFNLE1BQU0sUUFBUSxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsbUJBQW1CLGVBQWUsRUFDL0UsZ0JBQWdCLG1CQUFtQjs7QUFHekMsSUFBTSxvQkFBb0IsU0FBZ0Q7QUFDeEUsUUFBTyxNQUFNLE1BQU0sUUFBUSxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsbUJBQW1CLHdCQUF3QixFQUN4RixnQkFBZ0IsbUJBQW1COztBQUd6QyxJQUFhLGlCQUFpQixlQUE0QztDQUN4RSxNQUFNLGFBQWE7RUFDakIsYUFBYTtFQUNiLGFBQWE7RUFDYixPQUFPO0VBQ1AsMEJBQTBCO0VBQzFCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2Q7QUFFRCxRQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsTUFDckIsR0FBZ0IsTUFBbUIsV0FBVyxFQUFFLFNBQVUsV0FBVyxFQUFFLE9BQ3pFOztBQUdILElBQWEsY0FBYyxjQUFrQztBQUMzRCxTQUFRLFdBQVcsT0FBbkI7RUFDRSxLQUFLLGNBQ0gsUUFBTztHQUNMLE1BQU07R0FDTixNQUFNLFdBQVcsbUJBQW1CLFNBQVMsV0FBVyxrQkFBa0IsR0FBRyxRQUFRO0dBQ3RGO0VBQ0gsS0FBSyxjQUNILFFBQU87R0FDTCxNQUFNO0dBQ04sTUFBTSxXQUFXLGtCQUFrQixTQUFTLFdBQVcsa0JBQWtCLEdBQUcsUUFBUTtHQUNyRjtFQUNILEtBQUssUUFDSCxRQUFPO0dBQ0wsTUFBTTtHQUNOLE1BQU0sV0FBVyxrQkFBa0IsU0FBUyxXQUFXLGtCQUFrQixHQUFHLFFBQVE7R0FDckY7RUFDSCxLQUFLLDJCQUNILFFBQU87R0FDTCxNQUFNO0dBQ04sTUFBTSxXQUFXLGtCQUFrQixTQUFTLFdBQVcsa0JBQWtCLEdBQUcsUUFBUTtHQUNyRjtFQUNILEtBQUssb0JBQ0gsUUFBTztHQUNMLE1BQU07R0FDTixNQUFNLFdBQVcsa0JBQWtCLFNBQVMsV0FBVyxrQkFBa0IsR0FBRyxRQUFRO0dBQ3JGO0VBQ0gsUUFDRSxRQUFPO0dBQ0wsTUFBTTtHQUNOLE1BQU0sV0FBVyxrQkFBa0IsU0FBUyxXQUFXLGtCQUFrQixHQUFHLFFBQVE7R0FDckY7OztBQUlQLElBQWEsVUFBVSxNQUFpQixvQkFBbUM7Q0FDekUsTUFBTSxFQUFFLFNBQVMsU0FBUyxRQUFRLEVBQUU7Q0FDcEMsTUFBTSxXQUFXLE1BQU0sUUFBUSxRQUFRLFVBQVUsSUFBSSxDQUFnQjtDQUNyRSxNQUFNLEVBQUUsZUFBZSxXQUFXLEVBQUU7QUFFcEMsS0FBSSxZQUFZLGFBQWEsWUFBWSxtQkFDdkMsUUFBTztFQUFFLE1BQU07RUFBZ0IsTUFBTSxZQUFZO0VBQWU7QUFDbEUsS0FBSSxpQkFBaUIsU0FBUyxDQUM1QixRQUFPO0VBQUUsTUFBTTtFQUFxQixNQUFNLGlCQUFpQixTQUFBO0VBQVc7QUFDeEUsS0FBSSxZQUFZLFlBQWEsUUFBTztFQUFFLE1BQU07RUFBZSxNQUFNLFdBQVc7RUFBaUI7QUFDN0YsS0FBSSxrQkFBa0IsU0FBUyxDQUFFLFFBQU87RUFBRSxNQUFNO0VBQVcsTUFBTSxrQkFBa0IsU0FBQTtFQUFXO0FBQzlGLEtBQUksaUJBQWlCLFNBQVMsQ0FBRSxRQUFPO0VBQUUsTUFBTTtFQUFZLE1BQU0saUJBQWlCLFNBQUE7RUFBVztBQUM3RixLQUFJLFlBQVksV0FBVyxZQUFZLGVBQ3JDLFFBQU87RUFBRSxNQUFNO0VBQVMsTUFBTSxhQUFhLFNBQUE7RUFBVztBQUN4RCxLQUFJLFlBQVksYUFBYTtFQUMzQixNQUFNLFlBQVksU0FBUyxHQUFHO0FBQzlCLFNBQU87R0FDTCxNQUFNO0dBQ04sTUFBTSxVQUFVLGNBQWMsVUFBVSxrQkFBa0IsbUJBQW1CO0dBQzlFOztBQUdILFFBQU8sRUFBWTs7QUFHckIsSUFBTSx3QkFBd0IsWUFBeUM7Q0FDckUsTUFBTSxvQkFBb0I7RUFBQztFQUFNO0VBQU07RUFBTTtFQUFNO0VBQU07RUFBTTtFQUFNO0VBQU07RUFBTTtFQUFLO0FBRXRGLFFBQU8sUUFBUSxRQUFRLGFBQWlDLFdBQXNDO0FBQzVGLE1BQUksWUFBYSxRQUFPO0FBQ3hCLE1BQUksa0JBQWtCLFNBQVMsT0FBTyxLQUFLLENBQ3pDLFFBQU87R0FBRSxHQUFHO0dBQVEsTUFBTTtHQUFnQjtJQUUzQyxLQUFBLEVBQVU7O0FBR2YsSUFBYSxpQkFBaUIsWUFBK0I7Q0FDM0QsTUFBTSxlQUFlO0VBQUM7RUFBSztFQUFNO0VBQU07RUFBTTtFQUFLO0FBTWxELFFBSnFCLFFBQVEsUUFBUSxRQUFRLFVBQVM7QUFDcEQsU0FBTyxRQUFRLFdBQVcsTUFBTSxFQUFFLFNBQVMsT0FBTyxLQUFLLEtBQUs7R0FDNUQsQ0FHQyxRQUFRLFdBQVcsYUFBYSxTQUFTLE9BQU8sS0FBSyxDQUFDLENBQ3RELE1BQU0sR0FBRyxNQUFNLGFBQWEsUUFBUSxFQUFFLEtBQUssR0FBRyxhQUFhLFFBQVEsRUFBRSxLQUFLLENBQUM7O0FBR2hGLElBQWEsaUJBQWlCLFlBQStCO0NBQzNELE1BQU0sb0JBQW9CLHFCQUFxQixRQUFRO0NBQ3ZELE1BQU0sa0JBQWtCLGNBQWMsUUFBUTtBQUU5QyxLQUFJLHNCQUFzQixLQUFBLEVBQVcsUUFBTztBQUM1QyxLQUFJLENBQUMsZ0JBQWdCLE9BQVEsUUFBTyxDQUFDLGtCQUFrQjtBQUV2RCxLQUFJLGdCQUFnQixHQUFHLFNBQVMsT0FBTyxnQkFBZ0IsR0FDckQsUUFBTztFQUFDLGdCQUFnQjtFQUFJO0VBQW1CLGdCQUFnQjtFQUFHLENBQUMsT0FDakUsZ0JBQWdCLE1BQU0sRUFBRSxDQUN6QjtBQUdILFFBQU8sQ0FBQyxtQkFBbUIsR0FBRyxnQkFBZ0I7Ozs7O0lBTW5DLGdDQUFzQjttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQS9CLCtCQUErQixZQUFVOzs7QUFhUixTQUFBLHlCQWJqQyxrQkFBQSxNQUFBLDJCQUFzQixFQUFBLGtCQUFBLE1BQUEsb0JBYTZCLEtBQUs7QUFHdkIsU0FBQSwwQkFBQSxrQkFBQSxNQUFBLHdCQUFBLEVBQUEsa0JBQUEsTUFBQSxxQkFBZSxLQUFLO0FBS2hELFNBQUEscUNBQUEsa0JBQUEsTUFBQSx5QkFBQSxFQUFBLGtCQUFBLE1BQUEsZ0NBQTRCLE1BQUs7QUFHTCxTQUFBLDZCQUFBLGtCQUFBLE1BQUEsb0NBQUEsRUFBQSxrQkFBQSxNQUFBLHdCQUFxQixLQUFLO0FBUXRELFNBQUEsZ0NBQUEsa0JBQUEsTUFBQSw0QkFBQSxFQUFBLGtCQUFBLE1BQUEsMkJBQXVCLE1BQUs7QUFVNUIsU0FBQSxpQ0FBQSxrQkFBQSxNQUFBLCtCQUFBLEVBQUEsa0JBQUEsTUFBQSw0QkFBd0IsTUFBSztBQVE3QixTQUFBLGlDQUFBLGtCQUFBLE1BQUEsZ0NBQUEsRUFBQSxrQkFBQSxNQUFBLDRCQUF3QixNQUFLO0FBTzdCLFNBQUEsb0NBQUEsa0JBQUEsTUFBQSxnQ0FBQSxFQUFBLGtCQUFBLE1BQUEsK0JBQTBCLEdBQUU7QUFLNUIsU0FBQSwwQ0FBQSxrQkFBQSxNQUFBLG1DQUFBLEVBQUEsa0JBQUEsTUFBQSxxQ0FBaUMsTUFBSztBQUt0QyxTQUFBLDJCQUFBLGtCQUFBLE1BQUEseUNBQUEsRUFBQSxrQkFBQSxNQUFBLHNCQUFrQixNQUFLO0FBYS9CLFFBQUEsUUFBSSxrQkFBQSxNQUFBLDBCQUFBLEVBQWdCO0FBRXBCLFFBQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLOzs7O3VCQXJFbEQsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDLENBQUE7d0JBRzFCLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQyxDQUFBO21DQUcxQixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBcUIsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7MkJBSTFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQyxDQUFBOzhCQU0xQixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBZ0IsTUFBTTtJQUFTLENBQUMsQ0FBQTsrQkFTdEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWlCLE1BQU07SUFBUyxDQUFDLENBQUE7K0JBT3ZELFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFpQixNQUFNO0lBQVMsQ0FBQyxDQUFBO2tDQU12RCxXQUFXLEVBQ1gsU0FBUyxFQUFFLFdBQVcscUJBQXFCLENBQUMsQ0FBQTt3Q0FJNUMsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQTBCLE1BQU07SUFBUyxDQUFDLENBQUE7eUJBSWhFLFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTswQkFPM0IsVUFBVSxDQUFBO0FBNURpQixnQkFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTtBQUdwQixnQkFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtBQUtqRCxnQkFBQSxNQUFBLE1BQUEsOEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxzQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFnQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWhCLG1CQUFnQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLGdDQUFBLG9DQUFBO0FBR0osZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFRcEQsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBO0FBVTNCLGdCQUFBLE1BQUEsTUFBQSwwQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGtCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFaLGVBQVk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSw0QkFBQSxnQ0FBQTtBQVE1QixnQkFBQSxNQUFBLE1BQUEsMEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxrQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFZLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWixlQUFZOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNEJBQUEsZ0NBQUE7QUFPNUIsZ0JBQUEsTUFBQSxNQUFBLDZCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEscUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBZSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWYsa0JBQWU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwrQkFBQSxtQ0FBQTtBQUsvQixnQkFBQSxNQUFBLE1BQUEsbUNBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSwyQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFxQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQXJCLHdCQUFxQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFDQUFBLHlDQUFBO0FBS3JDLGdCQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQU4sU0FBTTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHNCQUFBLDBCQUFBO0FBT3RCLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFNBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsTUFBRzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztBQXpFa0IsUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsc0JBQXdDO0lBQzdEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEOzs7QUFDc0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLHNCQUFNLENBQUM7O0VBR3ZEOztFQUFBLElBQWdCLE9BQUk7QUFBQSxVQUFBLE1BQUE7O0VBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLFNBQUEsd0JBQUE7O0VBR3BCOztFQUFBLElBQWdCLFFBQUs7QUFBQSxVQUFBLE1BQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtBQUFBLFNBQUEseUJBQUE7O0VBS2pEOztFQUFBLElBQWdCLG1CQUFnQjtBQUFBLFVBQUEsTUFBQTs7RUFBaEMsSUFBZ0IsaUJBQWdCLE9BQUE7QUFBQSxTQUFBLG9DQUFBOztFQUdKOztFQUFBLElBQWdCLFdBQVE7QUFBQSxVQUFBLE1BQUE7O0VBQXhCLElBQWdCLFNBQVEsT0FBQTtBQUFBLFNBQUEsNEJBQUE7O0VBUXBEOzs7OztFQUFBLElBQWdCLGNBQVc7QUFBQSxVQUFBLE1BQUE7O0VBQTNCLElBQWdCLFlBQVcsT0FBQTtBQUFBLFNBQUEsK0JBQUE7O0VBVTNCOzs7Ozs7O0VBQUEsSUFBZ0IsZUFBWTtBQUFBLFVBQUEsTUFBQTs7RUFBNUIsSUFBZ0IsYUFBWSxPQUFBO0FBQUEsU0FBQSxnQ0FBQTs7RUFRNUI7Ozs7O0VBQUEsSUFBZ0IsZUFBWTtBQUFBLFVBQUEsTUFBQTs7RUFBNUIsSUFBZ0IsYUFBWSxPQUFBO0FBQUEsU0FBQSxnQ0FBQTs7RUFPNUI7Ozs7RUFBQSxJQUFnQixrQkFBZTtBQUFBLFVBQUEsTUFBQTs7RUFBL0IsSUFBZ0IsZ0JBQWUsT0FBQTtBQUFBLFNBQUEsbUNBQUE7O0VBSy9COztFQUFBLElBQWdCLHdCQUFxQjtBQUFBLFVBQUEsTUFBQTs7RUFBckMsSUFBZ0Isc0JBQXFCLE9BQUE7QUFBQSxTQUFBLHlDQUFBOztFQUtyQzs7RUFBQSxJQUFnQixTQUFNO0FBQUEsVUFBQSxNQUFBOztFQUF0QixJQUFnQixPQUFNLE9BQUE7QUFBQSxTQUFBLDBCQUFBOzs7Ozs7RUFPdEIsSUFBVyxJQUFJLE9BQWtCO0FBQy9CLFFBQUssT0FBTyxtQkFBbUIsbUJBQW1CLG1CQUFtQixZQUFZLE1BQU0sQ0FBQzs7RUFFMUYsSUFBVyxNQUFHO0FBQ1osVUFBTyxLQUFLLHdCQUFRLElBQUksTUFBTTs7RUFNYixXQUFXLG1CQUF1QztBQUNuRSxTQUFNLFdBQVcsa0JBQWtCO0FBRW5DLE9BQUksa0JBQWtCLElBQUksY0FBYyxDQUN0QyxzQkFBcUIsTUFBTSxRQUFRLENBQUMsS0FBSyxjQUFjLGFBQWEsS0FBSzs7O0VBS3JFLGtCQUFlO0FBQ3JCLFVBQU8sSUFBSTs7VUFFTCxLQUFLLGVBQWUsSUFBSSx3REFBd0QsUUFBQTs7Ozs7Ozs7O0VBVWhGLGVBQVk7QUFDbEIsVUFBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLFFBQVEsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFOztFQUd2RCxzQkFBbUI7QUFDekIsT0FBSSxDQUFDLEtBQUssS0FBSyxTQUFTLFFBQVMsUUFBTztHQUN4QyxNQUFNLFdBQVcsS0FBSyxjQUFjO0dBRXBDLE1BQU0sUUFEVSxLQUFLLEtBQUssUUFBUSxTQUFTLGdCQUFnQixVQUV2RCxTQUFTLEdBQUcsZUFBZSxxQkFBcUIsS0FDaEQsU0FBUyxHQUFHLGVBQWUsZ0JBQWdCO0FBRS9DLFVBQU87SUFDTCxNQUFNLGlCQUFpQixLQUFLLFVBQVUsV0FBVyxNQUFNO0lBQ3ZEO0lBQ0Q7OztFQUlLLGtCQUFlO0FBQ3JCLE9BQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxRQUFTLFFBQU8sS0FBQTtHQUN4QyxNQUFNLGtCQUFrQixLQUFLLHFCQUFxQjtBQUNsRCxVQUFPLElBQUk7OytDQUVnQyxpQkFBaUIsS0FBSTs7YUFFdkQsaUJBQWlCLE1BQUs7Ozs7O0VBTXpCLGNBQWMsTUFBZTtHQUNuQyxNQUFNLEVBQUUsZUFBZSxRQUFRLEVBQUU7R0FDakMsTUFBTSxtQkFBbUIsY0FBYyxjQUFjLFdBQVc7R0FDaEUsTUFBTSxNQUFNLE9BQU8sTUFBTSxLQUFLLFVBQVUsUUFBUTtBQUVoRCxVQUFPO0lBQ0wsS0FBSyxPQUFPLEtBQUssSUFBSSxFQUFFLFNBQVMsTUFBTTtJQUN0QyxLQUFLLFlBQVksU0FBUyxXQUFXLGlCQUFpQixHQUFHLEdBQUc7SUFDN0Q7O0VBR0ssc0JBQXNCLE1BQWU7R0FDM0MsTUFBTSxFQUFFLFNBQVMsTUFBTSxZQUFZLFFBQVEsRUFBRTtHQUM3QyxNQUFNLEVBQ0osZUFDQSxhQUNBLFdBQ0EsU0FDQSxTQUNBLFdBQ0EsV0FDQSxhQUNFLFdBQVcsRUFBRTtHQUVqQixNQUFNLEVBQUUsd0JBQXdCLHlCQUF5QixpQ0FDdkQsTUFDQSxpQkFBaUIsR0FDakIsZUFBZSxHQUNmLEtBQUssVUFBVSxTQUNmLEtBQUssYUFDTjtHQUVELE1BQU0sV0FBVyxLQUFLLGNBQWM7R0FFcEMsTUFBTSxnQkFBa0MsV0FBVyxPQUMvQyxnQ0FBZ0MsVUFBVSxLQUFLLEdBQy9DLEtBQUE7R0FFSixNQUFNLGNBQWdDLFNBQVMsT0FDM0MsZ0NBQWdDLFFBQVEsS0FBSyxHQUM3QyxLQUFBO0dBRUosTUFBTSxvQkFBb0IseUJBQ3RCLEdBQUcsdUJBQXVCLEtBQUksR0FBSSx1QkFBdUIsU0FBUSxNQUNqRTtHQUVKLE1BQU0sa0JBQWtCLHVCQUNwQixHQUFHLHFCQUFxQixLQUFJLEdBQUkscUJBQXFCLFNBQVEsTUFDN0Q7R0FFSixNQUFNLG9CQUFvQixnQkFDdEIsR0FBRyxjQUFjLEtBQUssVUFBVSxTQUFRLElBQUssT0FBTyxlQUFlLFFBQVEsQ0FBQSxNQUMzRTtHQUVKLE1BQU0sNkJBQW9DO0FBQ3hDLFFBQUksQ0FBQyxXQUFXLGNBQ2QsUUFBTztBQUtULFdBQU8sR0FEbUIsV0FBVyxjQUFjLEdBQUcsUUFBUSxLQUFLLFVBQVUsU0FBUSxLQUFNLEtBRXpGLEtBQUsscUJBQXFCLEVBQUUsS0FDOUIsR0FBSSxXQUFXLGNBQWE7O0dBRzlCLE1BQU0sdUJBQ0osV0FBVyxRQUFRLGNBQ2YscUJBQXFCLFFBQVEsWUFBWSxhQUFhLEtBQ3RELEdBQUcscUJBQXFCLFFBQVEsWUFBWSxhQUFhLEVBQUUsS0FBSyxVQUFVLFNBQVEsTUFDbEY7R0FFTixNQUFNLHFCQUFxQixTQUFTLDBCQUNoQyxHQUFHLFFBQVEsd0JBQXVCLEdBQUksUUFBUSxRQUFRLEdBQUUsTUFDeEQ7R0FFSixNQUFNLGdCQUFnQixHQUFHLGNBQWMsS0FBSyxVQUFVLFNBQVEsR0FBSSxVQUFTO0dBRTNFLE1BQU0sU0FBUyxLQUFLLGNBQWMsS0FBSztHQUN2QyxNQUFNLFVBQVUsUUFBUSxLQUFLLE9BQ3pCLEdBQUcsaUJBQWlCLEtBQUssVUFBVSxTQUFRLElBQUssUUFBUSxLQUFLLEtBQUksTUFDakU7R0FDSixNQUFNLFVBQVUsUUFBUSxLQUFLLE9BQ3pCLEdBQUcsaUJBQWlCLEtBQUssVUFBVSxTQUFRLElBQUssUUFBUSxLQUFLLEtBQUksTUFDakU7R0FFSixNQUFNLGVBQWUsS0FBSyxXQUFXLEdBQUcsS0FBSyxTQUFTLEtBQUksTUFBTztHQUVqRSxNQUFNLFlBQVksR0FBRyxLQUFLLE9BQU8sYUFBYSxlQUFlLEtBQUssVUFBVSxXQUFXLEdBQUUsR0FDdkYsS0FBSyxPQUFPLFFBQVEsS0FBSyxPQUFPLFNBQzNCLEtBQUssT0FBTyxRQUFRLE1BQU0sT0FBTyxLQUFLLE9BQU8sU0FBUyxNQUFNLE9BQzdEO0dBR04sTUFBTSxxQkFDSixTQUFTLFNBQVMsSUFDZCxHQUFHLFNBQVMsU0FBUyxFQUFDLEdBQUksdUJBQXVCLEtBQUssVUFBVSxTQUFRLE1BQ3hFLFNBQVMsU0FBUyxJQUNoQixHQUFHLFNBQVMsU0FBUyxFQUFDLEdBQUksc0JBQXNCLEtBQUssVUFBVSxTQUFRLE1BQ3ZFO0dBRVIsTUFBTSxrQkFBa0IsY0FDcEIsR0FBRyxZQUFZLEtBQUssVUFBVSxTQUFRLElBQUssT0FBTyxhQUFhLFFBQVEsQ0FBQSxNQUN2RTtHQUVKLElBQUksZ0JBQXdCO0FBQzVCLE9BQUksV0FBVztBQUNiLFFBQUksVUFBVSxjQUFjLFVBQVUsZUFBZSxVQUNuRCxrQkFBaUIsR0FBRyxVQUFVLE1BQU0sS0FBSyxVQUFVLFNBQVEsR0FFdkQsY0FBYyxVQUFVLFdBQVcsYUFBNkIsSUFJOUQsS0FBSyxVQUFVLFNBQ3JCO0FBRUYsUUFBSSxVQUFVLGVBQWUsVUFBVSxnQkFBZ0IsVUFDckQsa0JBQWlCLElBQUksVUFBVSxPQUFPLEtBQUssVUFBVSxTQUFRLEdBRXpELGNBQWMsVUFBVSxZQUFZLGFBQTZCLElBSS9ELEtBQUssVUFBVSxTQUNyQjs7R0FJSixNQUFNLGFBQ0osV0FDQSxjQUFjLFFBQVEsQ0FBQyxVQUN2QixjQUFjLFFBQVEsRUFDbEIsS0FBSyxRQUFRLFVBQVUsUUFBUSxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQzNELEtBQUssS0FBSyxHQUFHO0dBRWxCLE1BQU0saUJBQWlCLGFBQ25CLEdBQUcsZ0JBQWdCLEtBQUssVUFBVSxTQUFRLElBQUssZUFDL0M7R0FFSixNQUFNLGVBQ0osQ0FBQyxDQUFDLFlBQVksV0FBVyxJQUNyQixHQUFHLGlCQUFpQixLQUFLLFVBQVUsU0FBUSxHQUN6QyxlQUFlLFVBQVUsS0FBSyxVQUFVLFFBQVEsQ0FBQyxLQUNuRCxNQUNBO0FBRU4sVUFBTztJQUNMO0lBQ0E7SUFDQSxzQkFBc0I7SUFDdEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsVUFBVSxLQUFLO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0QsQ0FDRSxLQUFLLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FDckIsUUFBUSxNQUFNLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FDaEMsS0FBSyxJQUFJOztFQUdLLFNBQU07QUFDdkIsT0FBSSxLQUFLLFlBQ1AsUUFBTyxLQUFLLGlCQUFpQjtHQUcvQixNQUFNLEVBQUUsTUFBTSxJQUFJLFNBQVMsWUFBWSxLQUFLLFFBQVEsRUFBRTtHQUV0RCxNQUFNLEVBQ0osU0FDQSxXQUNBLGVBQ0EsV0FDQSxTQUNBLGFBQ0EsV0FDQSxhQUNFLFdBQVcsRUFBRTtHQUVqQixNQUFNLFNBQVMsS0FBSyxjQUFjLEtBQUssS0FBSztHQUM1QyxNQUFNLFlBQVksQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsT0FBTztHQUUzQyxNQUFNLG1CQUFtQixXQUFXLGNBQWMsUUFBUTtHQUUxRCxNQUFNLGNBQWMsV0FBVyxlQUFlLFVBQVUsS0FBSyxVQUFVLFFBQVEsR0FBRztBQUVsRixVQUFPLElBQUk7cURBQ3NDLEdBQUU7O29CQUVuQyxLQUFLLE9BQUE7MEJBQ0MsS0FBSyx3QkFBd0IsU0FBUyxRQUFBOztZQUVwRCxLQUFLLGtCQUFrQixLQUFLLGtCQUFrQixLQUFLLHNCQUFzQixLQUFLLEtBQUssQ0FBQTs7VUFFckYsS0FBSyxlQUFlLElBQUksd0RBQXdELFFBQUE7VUFDaEYsS0FBSyxTQUFTLENBQUMsS0FBSyxlQUNsQixJQUFJLHlCQUF5QixLQUFLLE1BQU0sYUFBYSxhQUFhLFFBQU87Z0JBQ3JFLEtBQUssTUFBTSxhQUNULElBQUk7O3lCQUVHLGVBQWUsS0FBSyxVQUFVLFNBQVE7OzZCQUc3QyxRQUFBO2dCQUNGLEtBQUssTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLLE1BQU0sS0FBSSxXQUFZLFFBQUE7Z0JBQzFELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxLQUFLLE1BQU0sTUFBSyxXQUFZLFFBQUE7aUNBRWhFLFFBQUE7Ozs7Z0JBSUksU0FBUyw4QkFDWCxJQUFJOzs7Z0NBR2MsUUFBUSwyQkFBMEI7OztvQkFHOUMsV0FDRixRQUFRLGVBQ1IscUJBQXFCLFFBQVEsWUFBWSxhQUFhLEtBQ3RELHFCQUFxQixRQUFRLFlBQVksYUFBYSxFQUFFLEtBQUssVUFBVSxTQUFBOzs7O2dCQUl6RSxZQUNELFFBQVEsd0JBQ0wsa0JBQWtCLFFBQVEsdUJBQXVCLFFBQVEsS0FBSyxHQUM5RCxRQUFRLDJCQUNSLG9CQUFvQixRQUFRLHlCQUF5QixTQUFTLEtBQUssRUFBQTs7Y0FFdkUsWUFDRSxJQUFJLE1BQU0sR0FBRyxjQUFjLEtBQUssVUFBVSxTQUFRLEdBQUksWUFBVyxRQUNqRSxRQUFBOzs7O29CQUlJLEtBQUE7NkJBQ1MsV0FBVyxLQUFBOzJCQUNiLFNBQVMsS0FBQTs2QkFDUCxjQUFBOzJCQUNGLFlBQUE7aUNBQ00sS0FBSyxpQkFBQTs2QkFDVCxLQUFLLGFBQUE7bUJBQ2YsS0FBSyxJQUFBOzs7Y0FHVixXQUFXLFdBQVcsZ0JBQ3BCLElBQUk7MEJBQ00sV0FBVyxjQUFjLHFDQUFxQyxRQUFBOzs7c0JBR2xFLEdBQUcsY0FBYyxLQUFLLFVBQVUsU0FBUSxHQUN4QyxXQUFXLGNBQWMsUUFBUSxLQUFLLFVBQVUsV0FBVyxLQUFBOzs7b0JBSTdELEtBQUssaUJBQWlCLENBQUEsR0FBSSxXQUFXLGNBQUE7MkJBRXpDLFFBQUE7Y0FDRCxXQUFXLGNBQWMsV0FBVyxlQUFlLGFBQ3JELFdBQVcsZUFBZSxVQUFVLGdCQUFnQixZQUNqRCxJQUFJO3lDQUNxQixXQUFXLFlBQVksYUFBYSxDQUFBOzBDQUNuQyxXQUFXLGFBQWEsYUFBYSxDQUFBOytDQUUvRCxRQUFBO2NBQ0Qsb0JBQW9CLGlCQUFpQixVQUFXLEtBQUssV0FDcEQsSUFBSTtvQkFDQSxrQkFBa0IsS0FBSyxRQUFRLFVBQy9CLFFBQVEsSUFDSixJQUFJOzs7bUNBR08sUUFBUSxPQUFPLE1BQU0sYUFBYSxDQUFBOztpRUFFSixPQUFPLE1BQU0sU0FBUTtpQ0FFOUQsUUFDTCxDQUFBO29CQUNDLEtBQUssV0FDSCxJQUFJOzs7aUNBR08sS0FBSyxVQUFVLEtBQUE7dUNBQ1QsS0FBSyxVQUFVLEtBQUE7OzsrQkFJaEMsUUFBQTt5QkFFTixRQUFBO2NBQ0YsWUFBWSxXQUFXLElBQ3JCLElBQUk7O3NCQUVFLEdBQUcsaUJBQWlCLEtBQUssVUFBVSxTQUFRLEdBQUksWUFBYSxPQUFBOzs2Q0FFckMsWUFBYSxNQUFLOzJCQUUvQyxRQUFBO2NBQ0YsY0FBYyxPQUFPLE9BQU8sT0FBTyxPQUNqQyxJQUFJO29DQUNnQixPQUFPLE9BQU8sT0FBTyxLQUFNLEtBQUk7MERBQ1QsT0FBTyxPQUFPLE9BQU8sS0FBTSxLQUFJOzJCQUV6RSxRQUFBIn0=
732
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLXJvdy5jb21wb25lbnQtQmlubWtzLW8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC90aW1ldGFibGUtcm93L3RpbWV0YWJsZS1yb3cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3RpbWV0YWJsZS1yb3cvdGltZXRhYmxlLXJvdy5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10aW1ldGFibGUtcm93LWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICAtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI1KX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWhlYWRlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDIwKX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWZvb3RlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG4gIC0tc2JiLXRpbWV0YWJsZS1yb3ctc2tlbGV0b24tcHVsc2UtZHVyYXRpb246IDE4MDBtcztcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoW2Rpc2FibGUtYW5pbWF0aW9uXSkge1xuICAtLXNiYi10aW1ldGFibGUtcm93LXNrZWxldG9uLXB1bHNlLWR1cmF0aW9uOiAwO1xufVxuXG4vLyBvdmVycmlkZSBpY29ucyBzaXplc1xuLnNiYi10aW1ldGFibGVfX3Jvdy10cmFuc3BvcnQtaWNvbiB7XG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbn1cblxuLy8gb3ZlcnJpZGUgaWNvbnMgc2l6ZXNcbi5zYmItdHJhdmVsLWhpbnRzX19pdGVtIHtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMTQpfTtcbn1cblxuLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkge1xuICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LS1xdWF5IHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLnNiYi10aW1ldGFibGVfX3Jvdy0tcXVheS10eXBlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vIHJlc2V0cyBsaXN0c1xudWwge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxubGkge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctdHJhbnNwb3J0bnVtYmVyLFxuLnNiYi10aW1ldGFibGVfX3Jvdy10aW1lIHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tYm9sZDtcblxuICBsaW5lLWhlaWdodDogdW5zZXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLnNiYi10aW1ldGFibGVfX3JvdyB7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LXMtLXJlZ3VsYXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zYmItdGltZXRhYmxlLXJvdy1nYXApO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LWhlYWRlcixcbi5zYmItdGltZXRhYmxlX19yb3ctZm9vdGVyIHtcbiAgLy8gRHVlIHRvIGEgYnVnIGluIFNhZmFyaSB3aGljaCBkaXNwbGF5cyBza2VsZXRvbiBhbmltYXRpb24gZXZlbiBvbiBsb2FkZWQgY29udGVudCwgd2UgbmVlZCB0byBtYW51YWxseSBkaXNhYmxlIGFuaW1hdGlvbi5cbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWhlYWRlcik7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctZGV0YWlscyxcbi5zYmItdGltZXRhYmxlX19yb3ctaGludHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctaGVhZGVyIHAge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG5cbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5zYmItdGltZXRhYmxlX19yb3ctZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXRpbWV0YWJsZS1yb3ctaGVpZ2h0LWZvb3Rlcik7XG5cbiAgPiBzcGFuIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICA6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgfVxufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXF1YXktLWNoYW5nZWQge1xuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uc2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydC13cmFwcGVyLFxuLnNiYi10aW1ldGFibGVfX3Jvdy13YXJuaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5zYmItbG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2JiLWxvYWRpbmdfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1sb2FkaW5nX19yb3cge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtMXgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIGhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI4KX07XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBzb2xpZCBCdXR0b25Cb3JkZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2JiLWxvYWRpbmdfX3Jvdyxcbi5zYmItbG9hZGluZ19fYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00KTtcbiAgYW5pbWF0aW9uOiBza2VsZXRvbi1wdWxzZSB2YXIoLS1zYmItdGltZXRhYmxlLXJvdy1za2VsZXRvbi1wdWxzZS1kdXJhdGlvbikgZWFzZS1vdXQgaW5maW5pdGU7XG59XG5cbi5zYmItbG9hZGluZ19fcm93OmZpcnN0LW9mLXR5cGUge1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodC1oZWFkZXIpO1xuICB3aWR0aDogNTAlO1xufVxuXG4uc2JiLWxvYWRpbmdfX3JvdzpsYXN0LW9mLXR5cGUge1xuICBoZWlnaHQ6IHZhcigtLXNiYi10aW1ldGFibGUtcm93LWhlaWdodC1mb290ZXIpO1xufVxuXG4uc2JiLWxvYWRpbmdfX2JhZGdlIHtcbiAgbWFyZ2luLWlubGluZTogYXV0byBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KSAqIC0xKTtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2FyZC1iYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNmb3JtOiB2YXIoLS1zYmItY2FyZC1iYWRnZS1za2V3KTtcbiAgd2lkdGg6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxMTUpfTtcbiAgaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbn1cblxuQGtleWZyYW1lcyBza2VsZXRvbi1wdWxzZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00KTtcbiAgfVxuXG4gIDE3JSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIH1cblxuICA1MCUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICB9XG5cbiAgNjclIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICBTYmJDYXJkQmFkZ2VFbGVtZW50LFxuICBTYmJDYXJkQnV0dG9uRWxlbWVudCxcbiAgU2JiQ2FyZEVsZW1lbnQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NhcmQucHVyZS5qcyc7XG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGRlZmF1bHREYXRlQWRhcHRlcixcbiAgZm9yY2VUeXBlLFxuICBpMThuQXJyaXZhbCxcbiAgaTE4bkNsYXNzLFxuICBpMThuRGVwYXJ0dXJlLFxuICBpMThuRGlyZWN0aW9uLFxuICBpMThuRnJvbVBsYXRmb3JtLFxuICBpMThuTWVhbnNPZlRyYW5zcG9ydCxcbiAgaTE4bk5ldyxcbiAgaTE4bk9jY3VwYW5jeSxcbiAgaTE4blJlYWxUaW1lSW5mbyxcbiAgaTE4blN1cGVyc2F2ZXIsXG4gIGkxOG5UcmFuc2ZlclByb2NlZHVyZSxcbiAgaTE4blRyYW5zZmVyUHJvY2VkdXJlcyxcbiAgaTE4blRyYXZlbGhpbnRzLFxuICBpMThuVHJpcER1cmF0aW9uLFxuICBpMThuVHJpcFF1YXlDaGFuZ2UsXG4gIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgdHlwZSBTYmJPY2N1cGFuY3ksXG4gIHNldE9yUmVtb3ZlQXR0cmlidXRlLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7IFNiYkljb25FbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvaWNvbi5wdXJlLmpzJztcbmltcG9ydCB7IFNiYlRpbWV0YWJsZU9jY3VwYW5jeUVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy90aW1ldGFibGUtb2NjdXBhbmN5LnB1cmUuanMnO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgSVRyaXBJdGVtLCBOb3RpY2UsIFB0UmlkZUxlZywgUHRTaXR1YXRpb24gfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIGR1cmF0aW9uVG9UaW1lLFxuICBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZSxcbiAgaXNSaWRlTGVnLFxuICByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nLFxufSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYlBlYXJsQ2hhaW5UaW1lRWxlbWVudCB9IGZyb20gJy4uL3BlYXJsLWNoYWluLXRpbWUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RpbWV0YWJsZS1yb3cuc2Nzcz9pbmxpbmUnO1xuXG4vKiogSGltQ3VzIGludGVyZmFjZSBmb3IgbWFwcGVkIGljb24gbmFtZSBhbmQgdGV4dCAqL1xuZXhwb3J0IGludGVyZmFjZSBIaW1DdXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKiogQm9hcmRpbmcgaWNvbiBpbnRlcmZhY2UgZm9yIG1hcHBlZCBpY29uIG5hbWUgYW5kIHRleHQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQm9hcmRpbmcge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmljZSB7XG4gIHByaWNlPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBpc0Rpc2NvdW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IHJlbmRlckljb25Qcm9kdWN0ID0gKGljb246IHN0cmluZywgbmFtZTogc3RyaW5nKTogVGVtcGxhdGVSZXN1bHQgPT4ge1xuICByZXR1cm4gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy10cmFuc3BvcnRcIj5cbiAgICA8c2JiLWljb24gbmFtZT0ke2ljb259Pjwvc2JiLWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHtuYW1lfTwvc3Bhbj5cbiAgPC9zcGFuPmA7XG59O1xuXG5leHBvcnQgY29uc3QgcmVuZGVyU3RyaW5nUHJvZHVjdCA9ICh2ZWhpY2xlTmFtZTogc3RyaW5nLCBsaW5lPzogc3RyaW5nIHwgbnVsbCk6IFRlbXBsYXRlUmVzdWx0ID0+IHtcbiAgY29uc3Qgc3BhY2UgPSBbJ00nLCAnQicsICdUJ10uaW5jbHVkZXModmVoaWNsZU5hbWUpID8gJyAnIDogJyc7XG4gIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydG51bWJlclwiPlxuICAgICR7bGluZSAhPT0gbnVsbCA/IHZlaGljbGVOYW1lICsgc3BhY2UgKyBsaW5lIDogdmVoaWNsZU5hbWV9XG4gIDwvc3Bhbj5gO1xufTtcblxuY29uc3QgZ2V0UmVhY2hhYmxlVGV4dCA9IChsZWdzOiBQdFJpZGVMZWdbXSk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gbGVncz8uZmluZCgobGVnKSA9PiBsZWcuc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5yZWFjaGFibGVUZXh0KT8uc2VydmljZUpvdXJuZXlcbiAgICA/LnNlcnZpY2VBbHRlcmF0aW9uPy5yZWFjaGFibGVUZXh0O1xufTtcblxuY29uc3QgZ2V0RGVsYXlUZXh0ID0gKGxlZ3M6IFB0UmlkZUxlZ1tdKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiBsZWdzPy5maW5kKChsZWcpID0+IGxlZy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LmRlbGF5VGV4dCk/LnNlcnZpY2VKb3VybmV5XG4gICAgPy5zZXJ2aWNlQWx0ZXJhdGlvbj8uZGVsYXlUZXh0O1xufTtcblxuY29uc3QgZ2V0UmVkaXJlY3RlZFRleHQgPSAobGVnczogUHRSaWRlTGVnW10pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcbiAgcmV0dXJuIGxlZ3M/LmZpbmQoKGxlZykgPT4gISFsZWcuc2VydmljZUpvdXJuZXk/LnNlcnZpY2VBbHRlcmF0aW9uPy5yZWRpcmVjdGVkVGV4dClcbiAgICA/LnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8ucmVkaXJlY3RlZFRleHQ7XG59O1xuXG5jb25zdCBnZXRVbnBsYW5uZWRTdG9wID0gKGxlZ3M6IFB0UmlkZUxlZ1tdKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiBsZWdzPy5maW5kKChsZWcpID0+ICEhbGVnLnNlcnZpY2VKb3VybmV5Py5zZXJ2aWNlQWx0ZXJhdGlvbj8udW5wbGFubmVkU3RvcFBvaW50c1RleHQpXG4gICAgPy5zZXJ2aWNlSm91cm5leT8uc2VydmljZUFsdGVyYXRpb24/LnVucGxhbm5lZFN0b3BQb2ludHNUZXh0O1xufTtcblxuZXhwb3J0IGNvbnN0IHNvcnRTaXR1YXRpb24gPSAoc2l0dWF0aW9uczogUHRTaXR1YXRpb25bXSk6IFB0U2l0dWF0aW9uW10gPT4ge1xuICBjb25zdCBwcmlvcml0aWVzID0ge1xuICAgIERJU1RVUkJBTkNFOiAwLFxuICAgIElORk9STUFUSU9OOiAxLFxuICAgIERFTEFZOiAyLFxuICAgIFRSQUlOX1JFUExBQ0VNRU5UX0JZX0JVUzogMyxcbiAgICBDT05TVFJVQ1RJT05fU0lURTogNCxcbiAgICBFTkRfTUVTU0FHRTogNSxcbiAgfTtcblxuICByZXR1cm4gWy4uLnNpdHVhdGlvbnNdPy5zb3J0KFxuICAgIChhOiBQdFNpdHVhdGlvbiwgYjogUHRTaXR1YXRpb24pID0+IHByaW9yaXRpZXNbYS5jYXVzZSFdIC0gcHJpb3JpdGllc1tiLmNhdXNlIV0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGltSWNvbiA9IChzaXR1YXRpb246IFB0U2l0dWF0aW9uKTogSGltQ3VzID0+IHtcbiAgc3dpdGNoIChzaXR1YXRpb24/LmNhdXNlKSB7XG4gICAgY2FzZSAnRElTVFVSQkFOQ0UnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ2Rpc3J1cHRpb24nLFxuICAgICAgICB0ZXh0OiBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzPy5sZW5ndGggPyBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnRpdGxlIDogJycsXG4gICAgICB9O1xuICAgIGNhc2UgJ0lORk9STUFUSU9OJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdpbmZvJyxcbiAgICAgICAgdGV4dDogc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlcy5sZW5ndGggPyBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnRpdGxlIDogJycsXG4gICAgICB9O1xuICAgIGNhc2UgJ0RFTEFZJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdkZWxheScsXG4gICAgICAgIHRleHQ6IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXMubGVuZ3RoID8gc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlc1swXS50aXRsZSA6ICcnLFxuICAgICAgfTtcbiAgICBjYXNlICdUUkFJTl9SRVBMQUNFTUVOVF9CWV9CVVMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ3JlcGxhY2VtZW50YnVzJyxcbiAgICAgICAgdGV4dDogc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlcy5sZW5ndGggPyBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnRpdGxlIDogJycsXG4gICAgICB9O1xuICAgIGNhc2UgJ0NPTlNUUlVDVElPTl9TSVRFJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdjb25zdHJ1Y3Rpb24nLFxuICAgICAgICB0ZXh0OiBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzLmxlbmd0aCA/IHNpdHVhdGlvbj8uYnJvYWRjYXN0TWVzc2FnZXNbMF0udGl0bGUgOiAnJyxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdpbmZvJyxcbiAgICAgICAgdGV4dDogc2l0dWF0aW9uPy5icm9hZGNhc3RNZXNzYWdlcy5sZW5ndGggPyBzaXR1YXRpb24/LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnRpdGxlIDogJycsXG4gICAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q3VzID0gKHRyaXA6IElUcmlwSXRlbSwgY3VycmVudExhbmd1YWdlOiBzdHJpbmcpOiBIaW1DdXMgPT4ge1xuICBjb25zdCB7IHN1bW1hcnksIGxlZ3MgfSA9IHRyaXAgfHwge307XG4gIGNvbnN0IHJpZGVMZWdzID0gbGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSBhcyBQdFJpZGVMZWdbXTtcbiAgY29uc3QgeyB0cmlwU3RhdHVzIH0gPSBzdW1tYXJ5IHx8IHt9O1xuXG4gIGlmICh0cmlwU3RhdHVzPy5jYW5jZWxsZWQgfHwgdHJpcFN0YXR1cz8ucGFydGlhbGx5Q2FuY2VsbGVkKVxuICAgIHJldHVybiB7IG5hbWU6ICdjYW5jZWxsYXRpb24nLCB0ZXh0OiB0cmlwU3RhdHVzPy5jYW5jZWxsZWRUZXh0IH07XG4gIGlmIChnZXRSZWFjaGFibGVUZXh0KHJpZGVMZWdzKSlcbiAgICByZXR1cm4geyBuYW1lOiAnbWlzc2VkLWNvbm5lY3Rpb24nLCB0ZXh0OiBnZXRSZWFjaGFibGVUZXh0KHJpZGVMZWdzKSB9O1xuICBpZiAodHJpcFN0YXR1cz8uYWx0ZXJuYXRpdmUpIHJldHVybiB7IG5hbWU6ICdhbHRlcm5hdGl2ZScsIHRleHQ6IHRyaXBTdGF0dXMuYWx0ZXJuYXRpdmVUZXh0IH07XG4gIGlmIChnZXRSZWRpcmVjdGVkVGV4dChyaWRlTGVncykpIHJldHVybiB7IG5hbWU6ICdyZXJvdXRlJywgdGV4dDogZ2V0UmVkaXJlY3RlZFRleHQocmlkZUxlZ3MpIH07XG4gIGlmIChnZXRVbnBsYW5uZWRTdG9wKHJpZGVMZWdzKSkgcmV0dXJuIHsgbmFtZTogJ2FkZC1zdG9wJywgdGV4dDogZ2V0VW5wbGFubmVkU3RvcChyaWRlTGVncykgfTtcbiAgaWYgKHRyaXBTdGF0dXM/LmRlbGF5ZWQgfHwgdHJpcFN0YXR1cz8uZGVsYXllZFVua25vd24pXG4gICAgcmV0dXJuIHsgbmFtZTogJ2RlbGF5JywgdGV4dDogZ2V0RGVsYXlUZXh0KHJpZGVMZWdzKSB9O1xuICBpZiAodHJpcFN0YXR1cz8ucXVheUNoYW5nZWQpIHtcbiAgICBjb25zdCBkZXBhcnR1cmUgPSByaWRlTGVnc1swXS5kZXBhcnR1cmU7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICdwbGF0Zm9ybS1jaGFuZ2UnLFxuICAgICAgdGV4dDogZGVwYXJ0dXJlLnF1YXlDaGFuZ2VkID8gZGVwYXJ0dXJlLnF1YXlDaGFuZ2VkVGV4dCA6IGkxOG5UcmlwUXVheUNoYW5nZVtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge30gYXMgSGltQ3VzO1xufTtcblxuY29uc3QgZmluZEFuZFJlcGxhY2VOb3RpY2UgPSAobm90aWNlczogTm90aWNlW10pOiBOb3RpY2UgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCByZXNlcnZhdGlvbk5vdGljZSA9IFsnUlInLCAnUksnLCAnUkMnLCAnUkwnLCAnUk0nLCAnUlMnLCAnUlUnLCAnWFAnLCAnWFInLCAnWFQnXTtcblxuICByZXR1cm4gbm90aWNlcy5yZWR1Y2UoKGZvdW5kTm90aWNlOiBOb3RpY2UgfCB1bmRlZmluZWQsIG5vdGljZTogTm90aWNlKTogTm90aWNlIHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoZm91bmROb3RpY2UpIHJldHVybiBmb3VuZE5vdGljZTtcbiAgICBpZiAocmVzZXJ2YXRpb25Ob3RpY2UuaW5jbHVkZXMobm90aWNlLm5hbWUpKSB7XG4gICAgICByZXR1cm4geyAuLi5ub3RpY2UsIG5hbWU6ICdSUicgfSBhcyBOb3RpY2U7XG4gICAgfVxuICB9LCB1bmRlZmluZWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlck5vdGljZXMgPSAobm90aWNlczogTm90aWNlW10pOiBOb3RpY2VbXSA9PiB7XG4gIGNvbnN0IGFsbG93ZWROYW1lcyA9IFsnWicsICdTQicsICdTWicsICdWUicsICdURyddO1xuXG4gIGNvbnN0IGZpbHRlck5vdGljZSA9IG5vdGljZXMuZmlsdGVyKChub3RpY2UsIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuIG5vdGljZXMuZmluZEluZGV4KChuKSA9PiBuLm5hbWUgPT09IG5vdGljZS5uYW1lKSA9PT0gaW5kZXg7XG4gIH0pO1xuXG4gIHJldHVybiBmaWx0ZXJOb3RpY2VcbiAgICAuZmlsdGVyKChub3RpY2UpID0+IGFsbG93ZWROYW1lcy5pbmNsdWRlcyhub3RpY2UubmFtZSkpXG4gICAgLnNvcnQoKGEsIGIpID0+IGFsbG93ZWROYW1lcy5pbmRleE9mKGEubmFtZSkgLSBhbGxvd2VkTmFtZXMuaW5kZXhPZihiLm5hbWUpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVOb3RpY2VzID0gKG5vdGljZXM6IE5vdGljZVtdKTogTm90aWNlW10gPT4ge1xuICBjb25zdCByZXNlcnZhdGlvbk5vdGljZSA9IGZpbmRBbmRSZXBsYWNlTm90aWNlKG5vdGljZXMpO1xuICBjb25zdCBmaWx0ZXJlZE5vdGljZXMgPSBmaWx0ZXJOb3RpY2VzKG5vdGljZXMpO1xuXG4gIGlmIChyZXNlcnZhdGlvbk5vdGljZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmlsdGVyZWROb3RpY2VzO1xuICBpZiAoIWZpbHRlcmVkTm90aWNlcy5sZW5ndGgpIHJldHVybiBbcmVzZXJ2YXRpb25Ob3RpY2VdO1xuXG4gIGlmIChmaWx0ZXJlZE5vdGljZXNbMF0ubmFtZSA9PT0gJ1onICYmIGZpbHRlcmVkTm90aWNlc1sxXSkge1xuICAgIHJldHVybiBbZmlsdGVyZWROb3RpY2VzWzBdLCByZXNlcnZhdGlvbk5vdGljZSwgZmlsdGVyZWROb3RpY2VzWzFdXS5jb25jYXQoXG4gICAgICBmaWx0ZXJlZE5vdGljZXMuc2xpY2UoMiksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBbcmVzZXJ2YXRpb25Ob3RpY2UsIC4uLmZpbHRlcmVkTm90aWNlc107XG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0cmlwLCBhY3RpbmcgYXMgYSBjb250YWluZXIgZm9yIGFsbCB0aGUgYHNiYi10aW1ldGFibGUtKmAgY29tcG9uZW50cy5cbiAqICovXG5leHBvcnQgY2xhc3MgU2JiVGltZXRhYmxlUm93RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRpbWV0YWJsZS1yb3cnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiQ2FyZEVsZW1lbnQsXG4gICAgU2JiQ2FyZEJhZGdlRWxlbWVudCxcbiAgICBTYmJDYXJkQnV0dG9uRWxlbWVudCxcbiAgICBTYmJJY29uRWxlbWVudCxcbiAgICBTYmJUaW1ldGFibGVPY2N1cGFuY3lFbGVtZW50LFxuICAgIFNiYlBlYXJsQ2hhaW5UaW1lRWxlbWVudCxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIFRoZSB0cmlwIFByb3AuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgdHJpcDogSVRyaXBJdGVtID0gbnVsbCE7XG5cbiAgLyoqIFRoZSBwcmljZSBQcm9wLCB3aGljaCBjb25zaXN0cyBvZiB0aGUgZGF0YSBmb3IgdGhlIGJhZGdlLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBPYmplY3QgfSkgcHVibGljIGFjY2Vzc29yIHByaWNlOiBQcmljZSA9IG51bGwhO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIHRvIHRoZSBzYmItcGVhcmwtY2hhaW4gY29tcG9uZW50IC0gaWYgdHJ1ZSB0aGUgcG9zaXRpb24gd29uJ3QgYmUgYW5pbWF0ZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlLWFuaW1hdGlvbicsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCB0byB0aGUgbm90aWNlcyBzZWN0aW9uICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgYm9hcmRpbmc6IEJvYXJkaW5nID0gbnVsbCE7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2FkaW5nIHN0YXRlIC1cbiAgICogd2hlbiB0aGlzIGlzIHRydWUgaXQgd2lsbCBiZSByZW5kZXIgc2tlbGV0b24gd2l0aCBhbiBpZGxpbmcgYW5pbWF0aW9uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbG9hZGluZy10cmlwJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbG9hZGluZ1RyaXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIEZvb3RwYXRoIGF0dHJpYnV0ZSBmb3IgcmVuZGVyaW5nIGRpZmZlcmVudCBpY29uc1xuICAgKiB0cnVlOiByZW5kZXIgYTExeS1pY29uXG4gICAqIGZhbHNlOiByZW5kZXIgd2Fsay1pY29uXG4gICAqIGRlZmF1bHQ6IHJlbmRlciB3YWxrLWljb25cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhMTF5LWZvb3RwYXRoJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYTExeUZvb3RwYXRoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2FkaW5nIHN0YXRlIC1cbiAgICogd2hlbiB0aGlzIGlzIHRydWUgaXQgd2lsbCBiZSByZW5kZXIgc2tlbGV0b24gd2l0aCBhbiBpZGxpbmcgYW5pbWF0aW9uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnbG9hZGluZy1wcmljZScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGxvYWRpbmdQcmljZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBIaWRkZW4gbGFiZWwgZm9yIHRoZSBjYXJkIGFjdGlvbi4gSXQgb3ZlcnJpZGVzIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhY2Nlc3NpYmlsaXR5IHRleHQgZm9yIHRoZSBjb21wb25lbnQuIFVzZSB0aGlzIHByb3AgdG8gcHJvdmlkZSBjdXN0b20gYWNjZXNzaWJpbGl0eSBpbmZvcm1hdGlvbiBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjYXJkLWFjdGlvbi1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNhcmRBY3Rpb25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgdG8gdGhlIHNiYi1jYXJkIGNvbXBvbmVudCBhcyBhcmlhLWV4cGFuZGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1leHBhbmRlZCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGVuIHRoaXMgcHJvcCBpcyB0cnVlIHRoZSBzYmItY2FyZCB3aWxsIGJlIGluIHRoZSBhY3RpdmUgc3RhdGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgdGhpcy5fbm93ID0gZGVmYXVsdERhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkZWZhdWx0RGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IG5vdygpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbm93ID8/IG5ldyBEYXRlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfbm93OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbG9hZGluZ1RyaXAnKSkge1xuICAgICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ3JvbGUnLCAhdGhpcy5sb2FkaW5nVHJpcCA/ICdyb3dncm91cCcgOiBudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKiogVGhlIHNrZWxldG9uIHJlbmRlciBmdW5jdGlvbiBmb3IgdGhlIGxvYWRpbmcgc3RhdGUgKi9cbiAgcHJpdmF0ZSBfcmVuZGVyU2tlbGV0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNiYi1jYXJkIGNsYXNzPVwic2JiLWxvYWRpbmcgc2JiLWNhcmQtc3BhY2luZy00eC14eHNcIj5cbiAgICAgICAgJHt0aGlzLmxvYWRpbmdQcmljZSA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1sb2FkaW5nX19iYWRnZVwiIHNsb3Q9XCJiYWRnZVwiPjwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxvYWRpbmdfX3dyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxvYWRpbmdfX3Jvd1wiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbG9hZGluZ19fcm93XCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sb2FkaW5nX19yb3dcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NiYi1jYXJkPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRSaWRlTGVncygpOiBQdFJpZGVMZWdbXSB7XG4gICAgcmV0dXJuIHRoaXMudHJpcD8ubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKSA/PyBbXTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFF1YXlUeXBlU3RyaW5ncygpOiB7IGxvbmc6IHN0cmluZzsgc2hvcnQ6IHN0cmluZyB9IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLnRyaXAuc3VtbWFyeT8ucHJvZHVjdCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgcmlkZUxlZ3MgPSB0aGlzLl9nZXRSaWRlTGVncygpO1xuICAgIGNvbnN0IGlzU2hvcnQgPSB0aGlzLnRyaXAuc3VtbWFyeS5wcm9kdWN0Py52ZWhpY2xlTW9kZSA9PT0gJ1RSQUlOJztcbiAgICBjb25zdCBzaG9ydCA9IGlzU2hvcnRcbiAgICAgID8gcmlkZUxlZ3NbMF0uc2VydmljZUpvdXJuZXkucXVheVR5cGVTaG9ydE5hbWUgfHwgJydcbiAgICAgIDogcmlkZUxlZ3NbMF0uc2VydmljZUpvdXJuZXkucXVheVR5cGVOYW1lIHx8ICcnO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvbmc6IGkxOG5Gcm9tUGxhdGZvcm1bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0gKyAnICcgKyBzaG9ydCxcbiAgICAgIHNob3J0LFxuICAgIH07XG4gIH1cblxuICAvKiogbWFwIFF1YXkgKi9cbiAgcHJpdmF0ZSBfcmVuZGVyUXVheVR5cGUoKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy50cmlwLnN1bW1hcnk/LnByb2R1Y3QpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcXVheVR5cGVTdHJpbmdzID0gdGhpcy5fZ2V0UXVheVR5cGVTdHJpbmdzKCk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy0tcXVheVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj4ke3F1YXlUeXBlU3RyaW5ncz8ubG9uZ30mbmJzcDs8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LS1xdWF5LXR5cGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgID4ke3F1YXlUeXBlU3RyaW5ncz8uc2hvcnR9PC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSGltQ3VzKHRyaXA6IElUcmlwSXRlbSk6IHsgY3VzOiBIaW1DdXMgfCBudWxsOyBoaW06IEhpbUN1cyB8IG51bGwgfSB7XG4gICAgY29uc3QgeyBzaXR1YXRpb25zIH0gPSB0cmlwIHx8IHt9O1xuICAgIGNvbnN0IHNvcnRlZFNpdHVhdGlvbnMgPSBzaXR1YXRpb25zICYmIHNvcnRTaXR1YXRpb24oc2l0dWF0aW9ucyk7XG4gICAgY29uc3QgY3VzID0gZ2V0Q3VzKHRyaXAsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGN1czogT2JqZWN0LmtleXMoY3VzKT8ubGVuZ3RoID8gY3VzIDogbnVsbCxcbiAgICAgIGhpbTogc2l0dWF0aW9ucz8ubGVuZ3RoID8gZ2V0SGltSWNvbihzb3J0ZWRTaXR1YXRpb25zWzBdKSA6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFjY2Vzc2liaWxpdHlUZXh0KHRyaXA6IElUcmlwSXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBzdW1tYXJ5LCBsZWdzLCBub3RpY2VzIH0gPSB0cmlwIHx8IHt9O1xuICAgIGNvbnN0IHtcbiAgICAgIGRlcGFydHVyZVdhbGssXG4gICAgICBhcnJpdmFsV2FsayxcbiAgICAgIGRlcGFydHVyZSxcbiAgICAgIGFycml2YWwsXG4gICAgICBwcm9kdWN0LFxuICAgICAgZGlyZWN0aW9uLFxuICAgICAgb2NjdXBhbmN5LFxuICAgICAgZHVyYXRpb24sXG4gICAgfSA9IHN1bW1hcnkgfHwge307XG5cbiAgICBjb25zdCB7IGRlcGFydHVyZVRpbWVBdHRyaWJ1dGUsIGFycml2YWxUaW1lQXR0cmlidXRlIH0gPSBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZShcbiAgICAgIGxlZ3MsXG4gICAgICBkZXBhcnR1cmVXYWxrIHx8IDAsXG4gICAgICBhcnJpdmFsV2FsayB8fCAwLFxuICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgIHRoaXMuYTExeUZvb3RwYXRoLFxuICAgICk7XG5cbiAgICBjb25zdCByaWRlTGVncyA9IHRoaXMuX2dldFJpZGVMZWdzKCk7XG5cbiAgICBjb25zdCBkZXBhcnR1cmVUaW1lOiBEYXRlIHwgdW5kZWZpbmVkID0gZGVwYXJ0dXJlPy50aW1lXG4gICAgICA/IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcoZGVwYXJ0dXJlLnRpbWUpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGFycml2YWxUaW1lOiBEYXRlIHwgdW5kZWZpbmVkID0gYXJyaXZhbD8udGltZVxuICAgICAgPyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGFycml2YWwudGltZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlV2Fsa1RleHQgPSBkZXBhcnR1cmVUaW1lQXR0cmlidXRlXG4gICAgICA/IGAke2RlcGFydHVyZVRpbWVBdHRyaWJ1dGUudGV4dH0gJHtkZXBhcnR1cmVUaW1lQXR0cmlidXRlLmR1cmF0aW9ufSwgYFxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGFycml2YWxXYWxrVGV4dCA9IGFycml2YWxUaW1lQXR0cmlidXRlXG4gICAgICA/IGAke2Fycml2YWxUaW1lQXR0cmlidXRlLnRleHR9ICR7YXJyaXZhbFRpbWVBdHRyaWJ1dGUuZHVyYXRpb259LCBgXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgZGVwYXJ0dXJlVGltZVRleHQgPSBkZXBhcnR1cmVUaW1lXG4gICAgICA/IGAke2kxOG5EZXBhcnR1cmVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiAke2Zvcm1hdChkZXBhcnR1cmVUaW1lLCAnSEg6bW0nKX0sIGBcbiAgICAgIDogJyc7XG5cbiAgICBjb25zdCBnZXREZXBhcnR1cmVRdWF5VGV4dCA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgaWYgKCFkZXBhcnR1cmU/LnF1YXlGb3JtYXR0ZWQpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgICAvLyBhZGQgcHJlZml4IFwibmV3XCIgaWYgcXVheSB3YXMgY2hhbmdlZFxuICAgICAgY29uc3QgY2hhbmdlZFF1YXlQcmVmaXggPSBkZXBhcnR1cmU/LnF1YXlDaGFuZ2VkID8gYCR7aTE4bk5ld1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gYCA6ICcnO1xuICAgICAgcmV0dXJuIGAke2NoYW5nZWRRdWF5UHJlZml4fSR7XG4gICAgICAgIHRoaXMuX2dldFF1YXlUeXBlU3RyaW5ncygpPy5sb25nXG4gICAgICB9ICR7ZGVwYXJ0dXJlPy5xdWF5Rm9ybWF0dGVkfSwgYDtcbiAgICB9O1xuXG4gICAgY29uc3QgbWVhbnNPZlRyYW5zcG9ydFRleHQgPVxuICAgICAgcHJvZHVjdCAmJiBwcm9kdWN0LnZlaGljbGVNb2RlXG4gICAgICAgID8gaTE4bk1lYW5zT2ZUcmFuc3BvcnRbcHJvZHVjdC52ZWhpY2xlTW9kZS50b0xvd2VyQ2FzZSgpXSAmJlxuICAgICAgICAgIGAke2kxOG5NZWFuc09mVHJhbnNwb3J0W3Byb2R1Y3QudmVoaWNsZU1vZGUudG9Mb3dlckNhc2UoKV1bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19LCBgXG4gICAgICAgIDogJyc7XG5cbiAgICBjb25zdCB2ZWhpY2xlU3ViTW9kZVRleHQgPSBwcm9kdWN0Py52ZWhpY2xlU3ViTW9kZVNob3J0TmFtZVxuICAgICAgPyBgJHtwcm9kdWN0LnZlaGljbGVTdWJNb2RlU2hvcnROYW1lfSAke3Byb2R1Y3QubGluZSB8fCAnJ30sIGBcbiAgICAgIDogJyc7XG5cbiAgICBjb25zdCBkaXJlY3Rpb25UZXh0ID0gYCR7aTE4bkRpcmVjdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkaXJlY3Rpb259LCBgO1xuXG4gICAgY29uc3QgaGltQ3VzID0gdGhpcy5faGFuZGxlSGltQ3VzKHRyaXApO1xuICAgIGNvbnN0IGN1c1RleHQgPSBoaW1DdXM/LmN1cz8udGV4dFxuICAgICAgPyBgJHtpMThuUmVhbFRpbWVJbmZvW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTogJHtoaW1DdXM/LmN1cz8udGV4dH0sIGBcbiAgICAgIDogJyc7XG4gICAgY29uc3QgaGltVGV4dCA9IGhpbUN1cz8uaGltPy50ZXh0XG4gICAgICA/IGAke2kxOG5SZWFsVGltZUluZm9bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiAke2hpbUN1cz8uaGltPy50ZXh0fSwgYFxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGJvYXJkaW5nVGV4dCA9IHRoaXMuYm9hcmRpbmcgPyBgJHt0aGlzLmJvYXJkaW5nLnRleHR9LCBgIDogJyc7XG5cbiAgICBjb25zdCBwcmljZVRleHQgPSBgJHt0aGlzLnByaWNlPy5pc0Rpc2NvdW50ID8gaTE4blN1cGVyc2F2ZXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0gOiAnJ30gJHtcbiAgICAgIHRoaXMucHJpY2U/LnRleHQgJiYgdGhpcy5wcmljZT8ucHJpY2VcbiAgICAgICAgPyAodGhpcy5wcmljZT8udGV4dCB8fCAnJykgKyAnICcgKyAodGhpcy5wcmljZT8ucHJpY2UgfHwgJycpICsgJywgJ1xuICAgICAgICA6ICcnXG4gICAgfWA7XG5cbiAgICBjb25zdCB0cmFuc2ZlclByb2NlZHVyZXMgPVxuICAgICAgcmlkZUxlZ3MubGVuZ3RoID4gMlxuICAgICAgICA/IGAke3JpZGVMZWdzLmxlbmd0aCAtIDF9ICR7aTE4blRyYW5zZmVyUHJvY2VkdXJlc1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0sIGBcbiAgICAgICAgOiByaWRlTGVncy5sZW5ndGggPiAxXG4gICAgICAgICAgPyBgJHtyaWRlTGVncy5sZW5ndGggLSAxfSAke2kxOG5UcmFuc2ZlclByb2NlZHVyZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0sIGBcbiAgICAgICAgICA6ICcnO1xuXG4gICAgY29uc3QgYXJyaXZhbFRpbWVUZXh0ID0gYXJyaXZhbFRpbWVcbiAgICAgID8gYCR7aTE4bkFycml2YWxbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiAke2Zvcm1hdChhcnJpdmFsVGltZSwgJ0hIOm1tJyl9LCBgXG4gICAgICA6ICcnO1xuXG4gICAgbGV0IG9jY3VwYW5jeVRleHQ6IHN0cmluZyA9ICcnO1xuICAgIGlmIChvY2N1cGFuY3kpIHtcbiAgICAgIGlmIChvY2N1cGFuY3kuZmlyc3RDbGFzcyAmJiBvY2N1cGFuY3kuZmlyc3RDbGFzcyAhPT0gJ1VOS05PV04nKSB7XG4gICAgICAgIG9jY3VwYW5jeVRleHQgKz0gYCR7aTE4bkNsYXNzLmZpcnN0W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGkxOG5PY2N1cGFuY3lbb2NjdXBhbmN5LmZpcnN0Q2xhc3MudG9Mb3dlckNhc2UoKSBhcyBTYmJPY2N1cGFuY3ldIGFzIFJlY29yZDxcbiAgICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgICApPy5bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgfS5gO1xuICAgICAgfVxuICAgICAgaWYgKG9jY3VwYW5jeS5zZWNvbmRDbGFzcyAmJiBvY2N1cGFuY3kuc2Vjb25kQ2xhc3MgIT09ICdVTktOT1dOJykge1xuICAgICAgICBvY2N1cGFuY3lUZXh0ICs9IGAgJHtpMThuQ2xhc3Muc2Vjb25kW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGkxOG5PY2N1cGFuY3lbb2NjdXBhbmN5LnNlY29uZENsYXNzLnRvTG93ZXJDYXNlKCkgYXMgU2JiT2NjdXBhbmN5XSBhcyBSZWNvcmQ8XG4gICAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgICAgc3RyaW5nXG4gICAgICAgICAgICA+XG4gICAgICAgICAgKT8uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgIH0uYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID1cbiAgICAgIG5vdGljZXMgJiZcbiAgICAgIGhhbmRsZU5vdGljZXMobm90aWNlcykubGVuZ3RoICYmXG4gICAgICBoYW5kbGVOb3RpY2VzKG5vdGljZXMpXG4gICAgICAgID8ubWFwKChub3RpY2UsIGluZGV4KSA9PiBpbmRleCA8IDQgJiYgbm90aWNlLnRleHQ/LnRlbXBsYXRlKVxuICAgICAgICAuam9pbignLCAnKSArICcsICc7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzVGV4dCA9IGF0dHJpYnV0ZXNcbiAgICAgID8gYCR7aTE4blRyYXZlbGhpbnRzW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTogJHthdHRyaWJ1dGVzfWBcbiAgICAgIDogJyc7XG5cbiAgICBjb25zdCBkdXJhdGlvblRleHQgPVxuICAgICAgISFkdXJhdGlvbiAmJiBkdXJhdGlvbiA+IDBcbiAgICAgICAgPyBgJHtpMThuVHJpcER1cmF0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke1xuICAgICAgICAgICAgZHVyYXRpb25Ub1RpbWUoZHVyYXRpb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLmxvbmdcbiAgICAgICAgICB9LCBgXG4gICAgICAgIDogJyc7XG5cbiAgICByZXR1cm4gW1xuICAgICAgZGVwYXJ0dXJlV2Fsa1RleHQsXG4gICAgICBkZXBhcnR1cmVUaW1lVGV4dCxcbiAgICAgIGdldERlcGFydHVyZVF1YXlUZXh0KCksXG4gICAgICBtZWFuc09mVHJhbnNwb3J0VGV4dCxcbiAgICAgIHZlaGljbGVTdWJNb2RlVGV4dCxcbiAgICAgIGRpcmVjdGlvblRleHQsXG4gICAgICBjdXNUZXh0LFxuICAgICAgYm9hcmRpbmdUZXh0LFxuICAgICAgcHJpY2VUZXh0LFxuICAgICAgY3VzVGV4dCA/ICcnIDogaGltVGV4dCxcbiAgICAgIGFycml2YWxUaW1lVGV4dCxcbiAgICAgIGFycml2YWxXYWxrVGV4dCxcbiAgICAgIGR1cmF0aW9uVGV4dCxcbiAgICAgIHRyYW5zZmVyUHJvY2VkdXJlcyxcbiAgICAgIG9jY3VwYW5jeVRleHQsXG4gICAgICBhdHRyaWJ1dGVzVGV4dCxcbiAgICBdXG4gICAgICAubWFwKChlKSA9PiBlPy50cmltKCkpXG4gICAgICAuZmlsdGVyKChlKSA9PiBlICYmIGUubGVuZ3RoID4gMClcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAodGhpcy5sb2FkaW5nVHJpcCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlclNrZWxldG9uKCk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBsZWdzLCBpZCwgbm90aWNlcywgc3VtbWFyeSB9ID0gdGhpcy50cmlwIHx8IHt9O1xuXG4gICAgY29uc3Qge1xuICAgICAgcHJvZHVjdCxcbiAgICAgIGRpcmVjdGlvbixcbiAgICAgIGRlcGFydHVyZVdhbGssXG4gICAgICBkZXBhcnR1cmUsXG4gICAgICBhcnJpdmFsLFxuICAgICAgYXJyaXZhbFdhbGssXG4gICAgICBvY2N1cGFuY3ksXG4gICAgICBkdXJhdGlvbixcbiAgICB9ID0gc3VtbWFyeSB8fCB7fTtcblxuICAgIGNvbnN0IGhpbUN1cyA9IHRoaXMuX2hhbmRsZUhpbUN1cyh0aGlzLnRyaXApO1xuICAgIGNvbnN0IGhhc0hpbUN1cyA9ICEhaGltQ3VzLmN1cyB8fCAhIWhpbUN1cy5oaW07XG5cbiAgICBjb25zdCBub3RpY2VBdHRyaWJ1dGVzID0gbm90aWNlcyAmJiBoYW5kbGVOb3RpY2VzKG5vdGljZXMpO1xuXG4gICAgY29uc3QgZHVyYXRpb25PYmogPSBkdXJhdGlvbiA/IGR1cmF0aW9uVG9UaW1lKGR1cmF0aW9uLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KSA6IG51bGw7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzYmItY2FyZCBjbGFzcz1cInNiYi1jYXJkLXNwYWNpbmctNHgteHhzXCIgaWQ9JHtpZH0+XG4gICAgICAgIDxzYmItY2FyZC1idXR0b25cbiAgICAgICAgICA/YWN0aXZlPSR7dGhpcy5hY3RpdmV9XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD0ke3RoaXMuYWNjZXNzaWJpbGl0eUV4cGFuZGVkID8gJ3RydWUnIDogbm90aGluZ31cbiAgICAgICAgPlxuICAgICAgICAgICR7dGhpcy5jYXJkQWN0aW9uTGFiZWwgPyB0aGlzLmNhcmRBY3Rpb25MYWJlbCA6IHRoaXMuX2dldEFjY2Vzc2liaWxpdHlUZXh0KHRoaXMudHJpcCl9XG4gICAgICAgIDwvc2JiLWNhcmQtYnV0dG9uPlxuICAgICAgICAke3RoaXMubG9hZGluZ1ByaWNlID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLWxvYWRpbmdfX2JhZGdlXCIgc2xvdD1cImJhZGdlXCI+PC9kaXY+YCA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5wcmljZSAmJiAhdGhpcy5sb2FkaW5nUHJpY2VcbiAgICAgICAgICA/IGh0bWxgPHNiYi1jYXJkLWJhZGdlIGNvbG9yPSR7dGhpcy5wcmljZS5pc0Rpc2NvdW50ID8gJ2NoYXJjb2FsJyA6ICd3aGl0ZSd9PlxuICAgICAgICAgICAgICAke3RoaXMucHJpY2UuaXNEaXNjb3VudFxuICAgICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgJTxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgPiR7aTE4blN1cGVyc2F2ZXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke3RoaXMucHJpY2UudGV4dCA/IGh0bWxgPHNwYW4+JHt0aGlzLnByaWNlLnRleHR9PC9zcGFuPmAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAke3RoaXMucHJpY2UucHJpY2UgPyBodG1sYDxzcGFuPiR7dGhpcy5wcmljZS5wcmljZX08L3NwYW4+YCA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8L3NiYi1jYXJkLWJhZGdlPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3dcIiByb2xlPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy1oZWFkZXJcIiByb2xlPVwiZ3JpZGNlbGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctZGV0YWlsc1wiPlxuICAgICAgICAgICAgICAke3Byb2R1Y3Q/LmNvcnBvcmF0ZUlkZW50aXR5UGljdG9ncmFtICYmXG4gICAgICAgICAgICAgIGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctdHJhbnNwb3J0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRpbWV0YWJsZV9fcm93LXRyYW5zcG9ydC1pY29uXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJwaWN0bzoke3Byb2R1Y3QuY29ycG9yYXRlSWRlbnRpdHlQaWN0b2dyYW19XCJcbiAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICR7cHJvZHVjdCAmJlxuICAgICAgICAgICAgICAgICAgcHJvZHVjdC52ZWhpY2xlTW9kZSAmJlxuICAgICAgICAgICAgICAgICAgaTE4bk1lYW5zT2ZUcmFuc3BvcnRbcHJvZHVjdC52ZWhpY2xlTW9kZS50b0xvd2VyQ2FzZSgpXSAmJlxuICAgICAgICAgICAgICAgICAgaTE4bk1lYW5zT2ZUcmFuc3BvcnRbcHJvZHVjdC52ZWhpY2xlTW9kZS50b0xvd2VyQ2FzZSgpXVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPmB9XG4gICAgICAgICAgICAgICR7cHJvZHVjdCAmJlxuICAgICAgICAgICAgICAocHJvZHVjdC5jb3Jwb3JhdGVJZGVudGl0eUljb25cbiAgICAgICAgICAgICAgICA/IHJlbmRlckljb25Qcm9kdWN0KHByb2R1Y3QuY29ycG9yYXRlSWRlbnRpdHlJY29uLCBwcm9kdWN0Lm5hbWUpXG4gICAgICAgICAgICAgICAgOiBwcm9kdWN0LnZlaGljbGVTdWJNb2RlU2hvcnROYW1lICYmXG4gICAgICAgICAgICAgICAgICByZW5kZXJTdHJpbmdQcm9kdWN0KHByb2R1Y3QudmVoaWNsZVN1Yk1vZGVTaG9ydE5hbWUsIHByb2R1Y3Q/LmxpbmUpKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgJHtkaXJlY3Rpb25cbiAgICAgICAgICAgICAgPyBodG1sYDxwPiR7YCR7aTE4bkRpcmVjdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkaXJlY3Rpb259YH08L3A+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNiYi1wZWFybC1jaGFpbi10aW1lXG4gICAgICAgICAgICByb2xlPVwiZ3JpZGNlbGxcIlxuICAgICAgICAgICAgLmxlZ3M9JHtsZWdzfVxuICAgICAgICAgICAgLmRlcGFydHVyZVRpbWU9JHtkZXBhcnR1cmU/LnRpbWV9XG4gICAgICAgICAgICAuYXJyaXZhbFRpbWU9JHthcnJpdmFsPy50aW1lfVxuICAgICAgICAgICAgLmRlcGFydHVyZVdhbGs9JHtkZXBhcnR1cmVXYWxrfVxuICAgICAgICAgICAgLmFycml2YWxXYWxrPSR7YXJyaXZhbFdhbGt9XG4gICAgICAgICAgICA/ZGlzYWJsZS1hbmltYXRpb249JHt0aGlzLmRpc2FibGVBbmltYXRpb259XG4gICAgICAgICAgICA/YTExeS1mb290cGF0aD0ke3RoaXMuYTExeUZvb3RwYXRofVxuICAgICAgICAgICAgLm5vdz0ke3RoaXMubm93fVxuICAgICAgICAgID48L3NiYi1wZWFybC1jaGFpbi10aW1lPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdGltZXRhYmxlX19yb3ctZm9vdGVyXCIgcm9sZT1cImdyaWRjZWxsXCI+XG4gICAgICAgICAgICAke3Byb2R1Y3QgJiYgZGVwYXJ0dXJlPy5xdWF5Rm9ybWF0dGVkXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3M9JHtkZXBhcnR1cmU/LnF1YXlDaGFuZ2VkID8gYHNiYi10aW1ldGFibGVfX3Jvdy1xdWF5LS1jaGFuZ2VkYCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7YCR7aTE4bkRlcGFydHVyZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtcbiAgICAgICAgICAgICAgICAgICAgICBkZXBhcnR1cmU/LnF1YXlDaGFuZ2VkID8gaTE4bk5ld1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSA6ICcnXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyUXVheVR5cGUoKX0gJHtkZXBhcnR1cmU/LnF1YXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHsob2NjdXBhbmN5Py5maXJzdENsYXNzICYmIG9jY3VwYW5jeT8uZmlyc3RDbGFzcyAhPT0gJ1VOS05PV04nKSB8fFxuICAgICAgICAgICAgKG9jY3VwYW5jeT8uc2Vjb25kQ2xhc3MgJiYgb2NjdXBhbmN5LnNlY29uZENsYXNzICE9PSAnVU5LTk9XTicpXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLXRpbWV0YWJsZS1vY2N1cGFuY3lcbiAgICAgICAgICAgICAgICAgIC5maXJzdENsYXNzT2NjdXBhbmN5PSR7b2NjdXBhbmN5Py5maXJzdENsYXNzPy50b0xvd2VyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgLnNlY29uZENsYXNzT2NjdXBhbmN5PSR7b2NjdXBhbmN5Py5zZWNvbmRDbGFzcz8udG9Mb3dlckNhc2UoKX1cbiAgICAgICAgICAgICAgICA+PC9zYmItdGltZXRhYmxlLW9jY3VwYW5jeT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICR7KG5vdGljZUF0dHJpYnV0ZXMgJiYgbm90aWNlQXR0cmlidXRlcy5sZW5ndGgpIHx8IHRoaXMuYm9hcmRpbmdcbiAgICAgICAgICAgICAgPyBodG1sYDx1bCBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy1oaW50c1wiIHJvbGU9XCJsaXN0XCI+XG4gICAgICAgICAgICAgICAgICAke25vdGljZUF0dHJpYnV0ZXM/Lm1hcCgobm90aWNlLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPCA0XG4gICAgICAgICAgICAgICAgICAgICAgPyBodG1sYDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdHJhdmVsLWhpbnRzX19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSR7J3NhLScgKyBub3RpY2UubmFtZT8udG9Mb3dlckNhc2UoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc2JiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPiR7bm90aWNlLnRleHQ/LnRlbXBsYXRlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+YFxuICAgICAgICAgICAgICAgICAgICAgIDogbm90aGluZyxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAke3RoaXMuYm9hcmRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBodG1sYDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYmItaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmF2ZWwtaGludHNfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSR7dGhpcy5ib2FyZGluZz8ubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYm9hcmRpbmc/LnRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc2JiLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5gXG4gICAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgICA8L3VsPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgJHtkdXJhdGlvbiAmJiBkdXJhdGlvbiA+IDBcbiAgICAgICAgICAgICAgPyBodG1sYDx0aW1lPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgICR7YCR7aTE4blRyaXBEdXJhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkdXJhdGlvbk9iaiEubG9uZ31gfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JHtkdXJhdGlvbk9iaiEuc2hvcnR9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdGltZT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICR7aGFzSGltQ3VzICYmIChoaW1DdXMuY3VzIHx8IGhpbUN1cy5oaW0pXG4gICAgICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi10aW1ldGFibGVfX3Jvdy13YXJuaW5nXCI+XG4gICAgICAgICAgICAgICAgICA8c2JiLWljb24gbmFtZT0keyhoaW1DdXMuY3VzIHx8IGhpbUN1cy5oaW0pIS5uYW1lfT48L3NiYi1pY29uPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHsoaGltQ3VzLmN1cyB8fCBoaW1DdXMuaGltKSEudGV4dH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2JiLWNhcmQ+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRpbWV0YWJsZS1yb3cnOiBTYmJUaW1ldGFibGVSb3dFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDd0VBLElBQWEscUJBQXFCLE1BQWMsU0FBZ0M7QUFDOUUsUUFBTyxJQUFJO3FCQUNRLEtBQUk7MkNBQ2tCLEtBQUk7OztBQUkvQyxJQUFhLHVCQUF1QixhQUFxQixTQUF3QztDQUMvRixNQUFNLFFBQVE7RUFBQztFQUFLO0VBQUs7RUFBSSxDQUFDLFNBQVMsWUFBWSxHQUFHLE1BQU07QUFDNUQsUUFBTyxJQUFJO01BQ1AsU0FBUyxPQUFPLGNBQWMsUUFBUSxPQUFPLFlBQUE7OztBQUluRCxJQUFNLG9CQUFvQixTQUFnRDtBQUN4RSxRQUFPLE1BQU0sTUFBTSxRQUFRLElBQUksZ0JBQWdCLG1CQUFtQixjQUFjLEVBQUUsZ0JBQzlFLG1CQUFtQjs7QUFHekIsSUFBTSxnQkFBZ0IsU0FBZ0Q7QUFDcEUsUUFBTyxNQUFNLE1BQU0sUUFBUSxJQUFJLGdCQUFnQixtQkFBbUIs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
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-experimental-dev",
3
- "version": "5.0.0-next-dev.1776353467",
3
+ "version": "5.0.0-next-dev.1776358181",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
7
7
  "web components",
8
8
  "lit",
9
9
  "storybook",
10
- "https://github.com/sbb-design-systems/lyne-components/commit/74ff19ab002cd406add06e532794be098e1db300"
10
+ "https://github.com/sbb-design-systems/lyne-components/commit/3bc1cc4de170225c5ab54ad2b4419a3d95994a0d"
11
11
  ],
12
12
  "type": "module",
13
13
  "exports": {