merchi_cart 0.1.4 → 0.1.6

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.
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import Cart from './Cart';
2
2
  import { MerchiCartModal, MerchiShoppingCartModal } from './modals';
3
3
  import { ButtonOpenCart, ButtonListWrappedOpenCart } from '../esm/buttons/ButtonOpenCartMerchiCartModal';
4
- import { actionGetMerchiCart as getMerchiCart, addCartItem as doAddCartItem, toggleCartOpen as doToggleCartOpen, doCartComplete, getMerchiCartValues, isMerchiCartFetching } from './store';
5
- export { ButtonOpenCart, ButtonListWrappedOpenCart, Cart, doAddCartItem, doCartComplete, doToggleCartOpen, getMerchiCart, getMerchiCartValues, isMerchiCartFetching, MerchiCartModal, MerchiShoppingCartModal };
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYXJ0IiwiTWVyY2hpQ2FydE1vZGFsIiwiTWVyY2hpU2hvcHBpbmdDYXJ0TW9kYWwiLCJCdXR0b25PcGVuQ2FydCIsIkJ1dHRvbkxpc3RXcmFwcGVkT3BlbkNhcnQiLCJhY3Rpb25HZXRNZXJjaGlDYXJ0IiwiZ2V0TWVyY2hpQ2FydCIsImFkZENhcnRJdGVtIiwiZG9BZGRDYXJ0SXRlbSIsInRvZ2dsZUNhcnRPcGVuIiwiZG9Ub2dnbGVDYXJ0T3BlbiIsImRvQ2FydENvbXBsZXRlIiwiZ2V0TWVyY2hpQ2FydFZhbHVlcyIsImlzTWVyY2hpQ2FydEZldGNoaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ2FydCBmcm9tICcuL0NhcnQnO1xuaW1wb3J0IHsgTWVyY2hpQ2FydE1vZGFsLCBNZXJjaGlTaG9wcGluZ0NhcnRNb2RhbCB9IGZyb20gJy4vbW9kYWxzJztcbmltcG9ydCB7IEJ1dHRvbk9wZW5DYXJ0LCBCdXR0b25MaXN0V3JhcHBlZE9wZW5DYXJ0IH0gZnJvbSAnLi4vZXNtL2J1dHRvbnMvQnV0dG9uT3BlbkNhcnRNZXJjaGlDYXJ0TW9kYWwnO1xuaW1wb3J0IHsgIFxuICBhY3Rpb25HZXRNZXJjaGlDYXJ0IGFzIGdldE1lcmNoaUNhcnQsXG4gIGFkZENhcnRJdGVtIGFzIGRvQWRkQ2FydEl0ZW0sXG4gIHRvZ2dsZUNhcnRPcGVuIGFzIGRvVG9nZ2xlQ2FydE9wZW4sXG4gIGRvQ2FydENvbXBsZXRlLFxuICBnZXRNZXJjaGlDYXJ0VmFsdWVzLCAgXG4gIGlzTWVyY2hpQ2FydEZldGNoaW5nXG59IGZyb20gJy4vc3RvcmUnO1xuXG5leHBvcnQge1xuICBCdXR0b25PcGVuQ2FydCxcbiAgQnV0dG9uTGlzdFdyYXBwZWRPcGVuQ2FydCxcbiAgQ2FydCxcbiAgZG9BZGRDYXJ0SXRlbSxcbiAgZG9DYXJ0Q29tcGxldGUsXG4gIGRvVG9nZ2xlQ2FydE9wZW4sXG4gIGdldE1lcmNoaUNhcnQsXG4gIGdldE1lcmNoaUNhcnRWYWx1ZXMsXG4gIGlzTWVyY2hpQ2FydEZldGNoaW5nLFxuICBNZXJjaGlDYXJ0TW9kYWwsXG4gIE1lcmNoaVNob3BwaW5nQ2FydE1vZGFsLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsSUFBSSxNQUFNLFFBQVE7QUFDekIsU0FBU0MsZUFBZSxFQUFFQyx1QkFBdUIsUUFBUSxVQUFVO0FBQ25FLFNBQVNDLGNBQWMsRUFBRUMseUJBQXlCLFFBQVEsOENBQThDO0FBQ3hHLFNBQ0VDLG1CQUFtQixJQUFJQyxhQUFhLEVBQ3BDQyxXQUFXLElBQUlDLGFBQWEsRUFDNUJDLGNBQWMsSUFBSUMsZ0JBQWdCLEVBQ2xDQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMsb0JBQW9CLFFBQ2YsU0FBUztBQUVoQixTQUNFVixjQUFjLEVBQ2RDLHlCQUF5QixFQUN6QkosSUFBSSxFQUNKUSxhQUFhLEVBQ2JHLGNBQWMsRUFDZEQsZ0JBQWdCLEVBQ2hCSixhQUFhLEVBQ2JNLG1CQUFtQixFQUNuQkMsb0JBQW9CLEVBQ3BCWixlQUFlLEVBQ2ZDLHVCQUF1QiJ9
4
+ import { actionGetMerchiCart as getMerchiCart, addCartItem as doAddCartItem, toggleCartOpen as doToggleCartOpen, doCartComplete, getMerchiCartValues, isMerchiCartFetching, merchiCartFetchAndSet } from './store';
5
+ export { ButtonOpenCart, ButtonListWrappedOpenCart, Cart, doAddCartItem, doCartComplete, doToggleCartOpen, getMerchiCart, getMerchiCartValues, isMerchiCartFetching, merchiCartFetchAndSet, MerchiCartModal, MerchiShoppingCartModal };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYXJ0IiwiTWVyY2hpQ2FydE1vZGFsIiwiTWVyY2hpU2hvcHBpbmdDYXJ0TW9kYWwiLCJCdXR0b25PcGVuQ2FydCIsIkJ1dHRvbkxpc3RXcmFwcGVkT3BlbkNhcnQiLCJhY3Rpb25HZXRNZXJjaGlDYXJ0IiwiZ2V0TWVyY2hpQ2FydCIsImFkZENhcnRJdGVtIiwiZG9BZGRDYXJ0SXRlbSIsInRvZ2dsZUNhcnRPcGVuIiwiZG9Ub2dnbGVDYXJ0T3BlbiIsImRvQ2FydENvbXBsZXRlIiwiZ2V0TWVyY2hpQ2FydFZhbHVlcyIsImlzTWVyY2hpQ2FydEZldGNoaW5nIiwibWVyY2hpQ2FydEZldGNoQW5kU2V0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ2FydCBmcm9tICcuL0NhcnQnO1xuaW1wb3J0IHsgTWVyY2hpQ2FydE1vZGFsLCBNZXJjaGlTaG9wcGluZ0NhcnRNb2RhbCB9IGZyb20gJy4vbW9kYWxzJztcbmltcG9ydCB7IEJ1dHRvbk9wZW5DYXJ0LCBCdXR0b25MaXN0V3JhcHBlZE9wZW5DYXJ0IH0gZnJvbSAnLi4vZXNtL2J1dHRvbnMvQnV0dG9uT3BlbkNhcnRNZXJjaGlDYXJ0TW9kYWwnO1xuaW1wb3J0IHsgIFxuICBhY3Rpb25HZXRNZXJjaGlDYXJ0IGFzIGdldE1lcmNoaUNhcnQsXG4gIGFkZENhcnRJdGVtIGFzIGRvQWRkQ2FydEl0ZW0sXG4gIHRvZ2dsZUNhcnRPcGVuIGFzIGRvVG9nZ2xlQ2FydE9wZW4sXG4gIGRvQ2FydENvbXBsZXRlLFxuICBnZXRNZXJjaGlDYXJ0VmFsdWVzLCAgXG4gIGlzTWVyY2hpQ2FydEZldGNoaW5nLFxuICBtZXJjaGlDYXJ0RmV0Y2hBbmRTZXQsXG59IGZyb20gJy4vc3RvcmUnO1xuXG5leHBvcnQge1xuICBCdXR0b25PcGVuQ2FydCxcbiAgQnV0dG9uTGlzdFdyYXBwZWRPcGVuQ2FydCxcbiAgQ2FydCxcbiAgZG9BZGRDYXJ0SXRlbSxcbiAgZG9DYXJ0Q29tcGxldGUsXG4gIGRvVG9nZ2xlQ2FydE9wZW4sXG4gIGdldE1lcmNoaUNhcnQsXG4gIGdldE1lcmNoaUNhcnRWYWx1ZXMsXG4gIGlzTWVyY2hpQ2FydEZldGNoaW5nLFxuICBtZXJjaGlDYXJ0RmV0Y2hBbmRTZXQsXG4gIE1lcmNoaUNhcnRNb2RhbCxcbiAgTWVyY2hpU2hvcHBpbmdDYXJ0TW9kYWwsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxJQUFJLE1BQU0sUUFBUTtBQUN6QixTQUFTQyxlQUFlLEVBQUVDLHVCQUF1QixRQUFRLFVBQVU7QUFDbkUsU0FBU0MsY0FBYyxFQUFFQyx5QkFBeUIsUUFBUSw4Q0FBOEM7QUFDeEcsU0FDRUMsbUJBQW1CLElBQUlDLGFBQWEsRUFDcENDLFdBQVcsSUFBSUMsYUFBYSxFQUM1QkMsY0FBYyxJQUFJQyxnQkFBZ0IsRUFDbENDLGNBQWMsRUFDZEMsbUJBQW1CLEVBQ25CQyxvQkFBb0IsRUFDcEJDLHFCQUFxQixRQUNoQixTQUFTO0FBRWhCLFNBQ0VYLGNBQWMsRUFDZEMseUJBQXlCLEVBQ3pCSixJQUFJLEVBQ0pRLGFBQWEsRUFDYkcsY0FBYyxFQUNkRCxnQkFBZ0IsRUFDaEJKLGFBQWEsRUFDYk0sbUJBQW1CLEVBQ25CQyxvQkFBb0IsRUFDcEJDLHFCQUFxQixFQUNyQmIsZUFBZSxFQUNmQyx1QkFBdUIifQ==
package/esm/store.js CHANGED
@@ -823,6 +823,25 @@ export function initMerchiCart(domainId) {
823
823
  };
824
824
  window.isMerchiCartFetching = isMerchiCartFetching;
825
825
  window.getMerchiCartValues = getMerchiCartValues;
826
+ window.toggleCartOpen = toggleCartOpen;
826
827
  }
827
828
  }
828
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIm93bktleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0U3ByZWFkIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJvYmoiLCJfdG9Qcm9wZXJ0eUtleSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiYmF0Y2giLCJjb25maWd1cmVTdG9yZSIsInNsaWNlQ2FydCIsInRhYklkQ2hlY2tvdXQiLCJ0YWJJZEl0ZW0iLCJ0YWJJZEl0ZW1zIiwidGFiSWRQYXltZW50U3VjY2VzcyIsInNsaWNlQ2FydEFsZXJ0Iiwic2xpY2VDYXJ0SXRlbSIsInNsaWNlQ2FydFBheW1lbnQiLCJzbGljZUNhcnRTaGlwbWVudCIsInNsaWNlTmV3Q3VzdG9tZXJGb3JtIiwic2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJyZWR1Y2Vyc1NxdWFyZSIsInNsaWNlU3RyaXBlQ2FyZEZvcm0iLCJNZXJjaGkiLCJjYXJ0RW1iZWQiLCJtYWtlQWRkcmVzcyIsImdldENhcnRDb29raWUiLCJnZXRNZXJjaGlDYXJ0Q29va2llIiwic2V0Q2FydENvb2tpZSIsImdldENhcnRTaGlwbWVudEdyb3Vwc0FuZFF1b3RlcyIsIm1ha2VDYXJ0IiwibWFrZUNhcnRJdGVtIiwibWFrZUNhcnRTaGlwbWVudFF1b3RlIiwic3RyaXBlSXNWYWxpZEFuZEFjdGl2ZSIsIm1ha2VQcm9kdWN0IiwibWFrZVVzZXIiLCJjcmVhdGVOZXdDdXN0b21lciIsInRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwiLCJhcHBlbmRTdHlsZVNoZWV0VGV4dCIsIm1ha2VKb2IiLCJtZXJjaGkiLCJtZXJjaGlDYXJ0UmVkdWNlciIsInN0YXRlQ2FydEFsZXJ0IiwicmVkdWNlciIsInN0YXRlQ2FydEl0ZW0iLCJzdGF0ZUNhcnRQYXltZW50Iiwic3RhdGVDYXJ0U2hpcG1lbnQiLCJzdGF0ZUNhcnQiLCJzdGF0ZU5ld0N1c3RvbWVyRm9ybSIsInN0YXRlRm9ybVJldHVybmluZ0N1c3RvbWVyIiwic3RvcmUiLCJtaWRkbGV3YXJlIiwiZ2V0RGVmYXVsdE1pZGRsZXdhcmUiLCJzZXJpYWxpemFibGVDaGVjayIsImdldFN0b3JlIiwiZ2V0U3RhdGUiLCJfc2xpY2VDYXJ0JGFjdGlvbnMiLCJhY3Rpb25zIiwiZGVsZXRlQ2FydEl0ZW0iLCJkZWxldGVDYXJ0SXRlbUVycm9yIiwiZGVsZXRlQ2FydEl0ZW1TdWNjZXNzIiwiZmV0Y2hDYXJ0IiwiZmV0Y2hDYXJ0RXJyb3IiLCJmZXRjaENhcnRTdWNjZXNzIiwiZmV0Y2hUaGVtZSIsImZldGNoVGhlbWVFcnJvciIsImZldGNoVGhlbWVTdWNjZXNzIiwic2V0Q2FydCIsInNldENhcnRDbGllbnQiLCJzZXREb21haW5JZCIsInNldENhcnRTaGlwbWVudEdyb3VwcyIsImdldENhcnRUb2tlbiIsIl9nZXRDYXJ0VG9rZW4iLCJfY2FsbGVlIiwiZG9tYWluSWQiLCJjYXJ0SWRBbmRUb2tlbiIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJ0MCIsImRpc3BhdGNoIiwiYXh0aW9uU2V0Q2FydENsaWVudCIsImNsaWVudCIsInNldENhcnRJdGVtIiwiY2FydEl0ZW0iLCJpbmRleCIsImlkIiwic2V0QWN0aXZlVGFiIiwidGFiSWQiLCJzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQiLCJzZXR0aW5ncyIsImNsb3NlQWxlcnQiLCJjbG9zZUNsZWFyQ2FydCIsImFsZXJ0RXJyb3IiLCJtZXNzYWdlIiwic2hvd0FsZXJ0RGFuZ2VyIiwidGl0bGUiLCJhbGVydFN1Y2Nlc3MiLCJzaG93QWxlcnRTdWNjZXNzIiwiYWN0aW9uRmV0Y2hUaGVtZSIsIkRvbWFpbiIsImdldCIsImVtYmVkIiwiYWN0aXZlVGhlbWUiLCJtYWluQ3NzIiwiZG9tYWluIiwidGhlbWUiLCJlcnJvck1lc3NhZ2UiLCJjYXJ0QW5kQ29va2llIiwiX3giLCJfY2FydEFuZENvb2tpZSIsIl9jYWxsZWUyIiwiY2FydCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsInRvSnNvbiIsImNKc29uIiwiY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZSIsIl94MiIsIl9jcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llIiwiX2NhbGxlZTMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJkb0NsZWFyQ2FydCIsIl9kb0NsZWFyQ2FydCIsIl9jYWxsZWU0IiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiYWRkQ2FydEl0ZW0iLCJfeDMiLCJfeDQiLCJfeDUiLCJfYWRkQ2FydEl0ZW0iLCJfY2FsbGVlNSIsImpvYkpzb24iLCJvblN1Y2Nlc3MiLCJvbkVycm9yIiwiam9iRW50IiwiZGF0YSIsImNhcnRUb2tlbiIsImNhcnRFbnQiLCJjYXJ0SXRlbUVudCIsImNhcnRJdGVtUHJvZHVjdCIsIml0ZW0iLCJpdGVtSnNvbiIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsInByb2R1Y3QiLCJxdWFudGl0eSIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwidGF4VHlwZSIsInJlZmV0Y2hDYXJ0IiwiX3g2IiwiX3JlZmV0Y2hDYXJ0IiwiX2NhbGxlZTYiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJ0b2tlbiIsIkNhcnQiLCJjb252ZXJ0VG9Kc29uIiwidXBkYXRlQ2FydFZhbHVlcyIsIl9zbGljZUNhcnRJdGVtJGFjdGlvbiIsInBhdGNoQ2FydEl0ZW0iLCJwYXRjaENhcnRJdGVtRXJyb3IiLCJwYXRjaENhcnRJdGVtU3VjY2VzcyIsImNsZWFuVmFyaWF0aW9uIiwidmFyaWF0aW9uIiwidmFyaWF0aW9uRmlsZXMiLCJtYXAiLCJhY3Rpb25DYXJ0SXRlbUVkaXQiLCJfeDciLCJfYWN0aW9uQ2FydEl0ZW1FZGl0IiwiX2NhbGxlZTciLCJfZGF0YSRzdGF0ZUNhcnRJdGVtIiwiX2NhcnRJdGVtJHZhcmlhdGlvbnMiLCJfY2FydEl0ZW0kdmFyaWF0aW9uc0ciLCJjbGVhblZhcmlhdGlvbnMiLCJjbGVhblZhcmlhdGlvbnNHcm91cHMiLCJjbGVhblByb2R1Y3QiLCJjbGVhblRheFR5cGUiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJfZyR2YXJpYXRpb25zIiwic2F2ZSIsImFjdGlvbkRlbGV0ZUNhcnRJdGVtIiwiX3g4IiwiX2FjdGlvbkRlbGV0ZUNhcnRJdGVtIiwiX2NhbGxlZTgiLCJjYXJ0SXRlbXMiLCJfY2FsbGVlOCQiLCJfY29udGV4dDgiLCJzcGxpY2UiLCJ1cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzIiwiX3VwZGF0ZUNhcnRTaGlwbWVudEFkZHJlc3MiLCJfY2FsbGVlOSIsIl9zbGljZUNhcnRTaGlwbWVudCRhYyIsInVwZGF0ZVNoaXBtZW50QWRkcmVzc0Vycm9yIiwidXBkYXRlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyIsIl9nZXRTdG9yZSIsImFkZHJlc3MiLCJyZWNlaXZlckFkZHJlc3MiLCJfY2FsbGVlOSQiLCJfY29udGV4dDkiLCJjYXJ0V2l0aFNoaXBtZW50R3JvdXBzIiwiY2FydEpzb24iLCJzaGlwbWVudEdyb3VwcyIsInNhdmVDYXJ0U2hpcG1lbnRBZGRyZXNzQW5kR29Ub05leHRUYWIiLCJfeDkiLCJfc2F2ZUNhcnRTaGlwbWVudEFkZHJlc3NBbmRHb1RvTmV4dFRhYiIsIl9jYWxsZWUxMCIsInJlY2VpdmVyTm90ZXMiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMyIiwic2F2ZVNoaXBtZW50QWRkcmVzcyIsInNhdmVTaGlwbWVudEFkZHJlc3NFcnJvciIsInNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzIiwiX2dldFN0b3JlMiIsIl9jYWxsZWUxMCQiLCJfY29udGV4dDEwIiwidGFiSW5kZXhUb1NldCIsImRpc2FibGVkIiwiYXR0YWNoQ2xpZW50VG9DYXJ0IiwiX3gxMCIsIl9hdHRhY2hDbGllbnRUb0NhcnQiLCJfY2FsbGVlMTEiLCJjbGllbnRKc29uIiwiY3JlYXRlTmV3U3VjY2VzcyIsImNsaWVudEVudCIsIl9jYWxsZWUxMSQiLCJfY29udGV4dDExIiwiY3JlYXRlTmV3Q3VzdG9tZXJTdWNjZXNzIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX3gxMSIsIl94MTIiLCJfc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyIiwiZ3JvdXBJbmRleCIsInF1b3RlIiwiX2dldFN0b3JlMyIsIl9zbGljZUNhcnRTaGlwbWVudCRhYzMiLCJzZXRTZWxlY3RlZCIsInNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcyIsImNhcnRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyJCIsIl9jb250ZXh0MTIiLCJzZWxlY3RlZFF1b3RlIiwiX3NsaWNlRm9ybVJldHVybmluZ0N1Iiwic2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZyIsInRyeVJldHVybmluZ0N1c3RvbWVyIiwidHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcyIsIl94MTMiLCJfdHJ5UmV0dXJuaW5nQ3VzdG9tZXIiLCJfY2FsbGVlMTMiLCJlbWFpbEFkZHJlc3MiLCJ1c2VyIiwiX2NhbGxlZTEzJCIsIl9jb250ZXh0MTMiLCJlbWFpbEFkZHJlc3NlcyIsInVzZXJfaWQiLCJfc2xpY2VOZXdDdXN0b21lckZvcm0iLCJjcmVhdGVOZXciLCJjcmVhdGVOZXdFcnJvciIsImNyZWF0ZU5ld0N1c3RvbWVyRXJyb3IiLCJhY3Rpb25DcmVhdGVOZXdDdXN0b21lciIsImFwaVVybCIsImN1c3RvbWVySnNvbiIsInJlZ2lzdGVyZWRVbmRlckRvbWFpbnMiLCJjcmVkaXRDYXJkUGF5U3VjY2VzcyIsImNhbGxiYWNrQ3JlZGl0Q2FyZFBheW1lbnRTdWNjZXNzIiwiaW52b2ljZUpzb24iLCJfeDE0IiwiX2NvbnZlcnRUb0pzb24iLCJfY2FsbGVlMTQiLCJlbnQiLCJqc29uIiwiX2NhbGxlZTE0JCIsIl9jb250ZXh0MTQiLCJpbml0Q2FydFNoaXBtZW50U2xpY2UiLCJnZXRDYXJ0IiwiY2FydFNldHRpbmdzSW52YWxpZCIsImNvbnNvbGUiLCJhY3Rpb25HZXRNZXJjaGlDYXJ0IiwiX3gxNSIsIl9hY3Rpb25HZXRNZXJjaGlDYXJ0IiwiX2NhbGxlZTE1IiwiX2NhbGxlZTE1JCIsIl9jb250ZXh0MTUiLCJ0b2dnbGVDYXJ0T3BlbiIsImlzTWVyY2hpQ2FydEZldGNoaW5nIiwiX2lzTWVyY2hpQ2FydEZldGNoaW5nIiwiX2NhbGxlZTE2IiwiX2NhbGxlZTE2JCIsIl9jb250ZXh0MTYiLCJmZXRjaGluZ0NhcnQiLCJnZXRNZXJjaGlDYXJ0VmFsdWVzIiwiX2dldE1lcmNoaUNhcnRWYWx1ZXMiLCJfY2FsbGVlMTciLCJfcmVmIiwiY3VycmVuY3kiLCJzdWJ0b3RhbENvc3QiLCJ0YXhBbW91bnQiLCJ0b3RhbENvc3QiLCJjYXJ0SXRlbXNDb3VudCIsIl9jYWxsZWUxNyQiLCJfY29udGV4dDE3IiwiZG9DYXJ0Q29tcGxldGUiLCJfZG9DYXJ0Q29tcGxldGUiLCJfY2FsbGVlMTgiLCJfY2FsbGVlMTgkIiwiX2NvbnRleHQxOCIsImRvQ2FyZENvbXBsZXRlIiwibG9jYXRpb24iLCJyZWxvYWQiLCJpbml0TWVyY2hpQ2FydCIsIndpbmRvdyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9zdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IGNvbmZpZ3VyZVN0b3JlIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQge1xuICBzbGljZUNhcnQsXG4gIHRhYklkQ2hlY2tvdXQsXG4gIHRhYklkSXRlbSxcbiAgdGFiSWRJdGVtcyxcbiAgdGFiSWRQYXltZW50U3VjY2Vzcyxcbn0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0JztcbmltcG9ydCB7IHNsaWNlQ2FydEFsZXJ0IH0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0QWxlcnQnO1xuaW1wb3J0IHNsaWNlQ2FydEl0ZW0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0SXRlbSc7XG5pbXBvcnQgeyBzbGljZUNhcnRQYXltZW50IH0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0UGF5bWVudCc7XG5pbXBvcnQgeyBzbGljZUNhcnRTaGlwbWVudCB9IGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydFNoaXBtZW50JztcbmltcG9ydCBzbGljZU5ld0N1c3RvbWVyRm9ybSBmcm9tICcuL3NsaWNlcy9zbGljZU5ld0N1c3RvbWVyRm9ybSc7XG5pbXBvcnQgc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIgZnJvbSAnLi9zbGljZXMvc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXInO1xuaW1wb3J0IHJlZHVjZXJzU3F1YXJlIGZyb20gJy4vc3F1YXJlL3NsaWNlcy9yZWR1Y2Vyc1NxdWFyZSc7XG5pbXBvcnQgc2xpY2VTdHJpcGVDYXJkRm9ybSBmcm9tICcuL3N0cmlwZS9zbGljZXMvc2xpY2VTdHJpcGVDYXJkRm9ybSc7XG5pbXBvcnQgeyBNZXJjaGkgfSBmcm9tICdtZXJjaGlfc2RrX3RzJztcbmltcG9ydCB7IGNhcnRFbWJlZCB9IGZyb20gJy4vdXRpbGl0aWVzL2hlbHBlcnMnO1xuaW1wb3J0IHsgbWFrZUFkZHJlc3MgfSBmcm9tICcuL3V0aWxpdGllcy9hZGRyZXNzJztcbmltcG9ydCB7XG4gIGdldENhcnRDb29raWUgYXMgZ2V0TWVyY2hpQ2FydENvb2tpZSxcbiAgc2V0Q2FydENvb2tpZSxcbn0gZnJvbSAnLi91dGlsaXRpZXMvY29va2llJztcbmltcG9ydCB7XG4gIGdldENhcnRTaGlwbWVudEdyb3Vwc0FuZFF1b3RlcyxcbiAgbWFrZUNhcnQsXG4gIG1ha2VDYXJ0SXRlbSxcbiAgbWFrZUNhcnRTaGlwbWVudFF1b3RlLFxuICBzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlLFxufSBmcm9tICcuL3V0aWxpdGllcy9jYXJ0JztcbmltcG9ydCB7IG1ha2VQcm9kdWN0IH0gZnJvbSAnLi91dGlsaXRpZXMvcHJvZHVjdCc7XG5pbXBvcnQge1xuICBtYWtlVXNlcixcbiAgY3JlYXRlTmV3Q3VzdG9tZXIsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwsXG59IGZyb20gJy4vdXRpbGl0aWVzL3VzZXInO1xuaW1wb3J0IHsgYXBwZW5kU3R5bGVTaGVldFRleHQgfSBmcm9tICcuL3V0aWxpdGllcy9oZWxwZXJzJztcbmltcG9ydCB7IG1ha2VKb2IgfSBmcm9tICcuL3V0aWxpdGllcy9qb2InO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmNvbnN0IG1lcmNoaUNhcnRSZWR1Y2VyID0ge1xuICBzdGF0ZUNhcnRBbGVydDogc2xpY2VDYXJ0QWxlcnQucmVkdWNlcixcbiAgc3RhdGVDYXJ0SXRlbTogc2xpY2VDYXJ0SXRlbS5yZWR1Y2VyLFxuICBzdGF0ZUNhcnRQYXltZW50OiBzbGljZUNhcnRQYXltZW50LnJlZHVjZXIsXG4gIHN0YXRlQ2FydFNoaXBtZW50OiBzbGljZUNhcnRTaGlwbWVudC5yZWR1Y2VyLFxuICBzdGF0ZUNhcnQ6IHNsaWNlQ2FydC5yZWR1Y2VyLFxuICBzdGF0ZU5ld0N1c3RvbWVyRm9ybTogc2xpY2VOZXdDdXN0b21lckZvcm0ucmVkdWNlcixcbiAgc3RhdGVGb3JtUmV0dXJuaW5nQ3VzdG9tZXI6IHNsaWNlRm9ybVJldHVybmluZ0N1c3RvbWVyLnJlZHVjZXIsXG5cbiAgLy8gU3F1YXJlIHNsaWNlc1xuICAuLi5yZWR1Y2Vyc1NxdWFyZSxcblxuICAvLyBTdHJpcGUgc2xpY2VzXG4gIC4uLnNsaWNlU3RyaXBlQ2FyZEZvcm0sXG59O1xuXG5leHBvcnQgY29uc3Qgc3RvcmUgPSBjb25maWd1cmVTdG9yZSh7XG4gIG1pZGRsZXdhcmU6IChnZXREZWZhdWx0TWlkZGxld2FyZSkgPT4gZ2V0RGVmYXVsdE1pZGRsZXdhcmUoeyBzZXJpYWxpemFibGVDaGVjazogZmFsc2UgfSksXG4gIHJlZHVjZXI6IG1lcmNoaUNhcnRSZWR1Y2VyLFxufSk7XG5cbmZ1bmN0aW9uIGdldFN0b3JlKCkge1xuICByZXR1cm4gc3RvcmUuZ2V0U3RhdGUoKTtcbn1cblxuY29uc3Qge1xuICBkZWxldGVDYXJ0SXRlbSxcbiAgZGVsZXRlQ2FydEl0ZW1FcnJvcixcbiAgZGVsZXRlQ2FydEl0ZW1TdWNjZXNzLFxuICBmZXRjaENhcnQsXG4gIGZldGNoQ2FydEVycm9yLFxuICBmZXRjaENhcnRTdWNjZXNzLFxuICBmZXRjaFRoZW1lLFxuICBmZXRjaFRoZW1lRXJyb3IsXG4gIGZldGNoVGhlbWVTdWNjZXNzLFxuICBzZXRDYXJ0LFxuICBzZXRDYXJ0Q2xpZW50LFxuICBzZXREb21haW5JZCxcbiAgc2V0Q2FydFNoaXBtZW50R3JvdXBzLFxufSA9IHNsaWNlQ2FydC5hY3Rpb25zO1xuXG5hc3luYyBmdW5jdGlvbiBnZXRDYXJ0VG9rZW4oKSB7XG4gIGNvbnN0IHsgZG9tYWluSWQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCBjYXJ0SWRBbmRUb2tlbiA9IGRvbWFpbklkID8gYXdhaXQgZ2V0TWVyY2hpQ2FydENvb2tpZShOdW1iZXIoZG9tYWluSWQpKSA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIGNhcnRJZEFuZFRva2VuICYmIGNhcnRJZEFuZFRva2VuWzFdID8gY2FydElkQW5kVG9rZW5bMV0gOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoKG1ldGhvZDogYW55KSB7XG4gIHN0b3JlLmRpc3BhdGNoKG1ldGhvZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheHRpb25TZXRDYXJ0Q2xpZW50KGNsaWVudDogYW55KSB7XG4gIGRpc3BhdGNoKHNldENhcnRDbGllbnQoY2xpZW50KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDYXJ0SXRlbShjYXJ0SXRlbTogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gIGJhdGNoKCgpID0+IHtcbiAgICBpZiAoY2FydEl0ZW0gJiYgY2FydEl0ZW0uaWQpIHtcbiAgICAgIHNldEFjdGl2ZVRhYih0YWJJZEl0ZW0pO1xuICAgICAgZGlzcGF0Y2goc2xpY2VDYXJ0SXRlbS5hY3Rpb25zLnNldENhcnRJdGVtKHsgY2FydEl0ZW0sIGluZGV4IH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QWN0aXZlVGFiKHRhYklkSXRlbXMpO1xuICAgICAgZGlzcGF0Y2goc2xpY2VDYXJ0SXRlbS5hY3Rpb25zLnNldENhcnRJdGVtKHsgY2FydEl0ZW06IG51bGwsIGluZGV4IH0pKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWN0aXZlVGFiKHRhYklkOiBudW1iZXIpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuc2V0QWN0aXZlVGFiKHRhYklkKSk7XG59XG5cbmludGVyZmFjZSBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWRQcm9wcyB7XG4gIHRhYklkOiBudW1iZXI7XG4gIHRhYkluZGV4VG9TZXQ6IG51bWJlcjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQoc2V0dGluZ3M6IHNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZFByb3BzKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZChzZXR0aW5ncykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VBbGVydCgpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0QWxlcnQuYWN0aW9ucy5jbG9zZUFsZXJ0KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VDbGVhckNhcnQoKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnNldEFjdGl2ZVRhYih0YWJJZEl0ZW1zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGVydEVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICBkaXNwYXRjaChzbGljZUNhcnRBbGVydC5hY3Rpb25zLnNob3dBbGVydERhbmdlcihcbiAgICB7IG1lc3NhZ2UsIHRpdGxlOiAnRXJyb3IhJyB9KSk7XG59XG5cbmZ1bmN0aW9uIGFsZXJ0U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0QWxlcnQuYWN0aW9ucy5zaG93QWxlcnRTdWNjZXNzKFxuICAgIHsgbWVzc2FnZSwgdGl0bGU6ICdTdWNjZXNzIScgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uRmV0Y2hUaGVtZShpZDogbnVtYmVyKSB7XG4gIGRpc3BhdGNoKGZldGNoVGhlbWUoKSlcbiAgbWVyY2hpLkRvbWFpbi5nZXQoaWQsIHtlbWJlZDoge2FjdGl2ZVRoZW1lOiB7bWFpbkNzczoge319fX0pXG4gICAgLnRoZW4oKGRvbWFpbjogYW55KSA9PiB7XG4gICAgICByZXR1cm4gZG9tYWluLmFjdGl2ZVRoZW1lO1xuICAgIH0pXG4gICAgLnRoZW4oKHRoZW1lOiBhbnkpID0+IHtcbiAgICAgIGFwcGVuZFN0eWxlU2hlZXRUZXh0KHRoZW1lLm1haW5Dc3MsICgpID0+IGRpc3BhdGNoKGZldGNoVGhlbWVTdWNjZXNzKCkpKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoVGhlbWVFcnJvcigpKTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2FydEFuZENvb2tpZShkb21haW5JZDogbnVtYmVyKSB7XG4gIGNvbnN0IGNhcnQgPSBtYWtlQ2FydCh7ZG9tYWluOiB7aWQ6IGRvbWFpbklkfX0sIHRydWUpO1xuICByZXR1cm4gY2FydC5jcmVhdGUoe2VtYmVkOiBjYXJ0RW1iZWR9KVxuICAgIC50aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGlmIChkb21haW5JZCkge1xuICAgICAgICBzZXRDYXJ0Q29va2llKE51bWJlcihkb21haW5JZCksIGMudG9Kc29uKCksIHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYy50b0pzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChjSnNvbjogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChmZXRjaENhcnRTdWNjZXNzKGNKc29uKSk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlIHx8ICdVbmFibGUgdG8gZmV0Y2ggY2FydC4nKTtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hDYXJ0RXJyb3IoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoZG9tYWluSWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChmZXRjaENhcnQoKSk7XG4gIGF3YWl0IGNhcnRBbmRDb29raWUoZG9tYWluSWQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9DbGVhckNhcnQoKSB7XG4gIGNvbnN0IHsgZG9tYWluSWQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBkaXNwYXRjaChzZXRDYXJ0KHt9KSk7XG4gIGNsb3NlQ2xlYXJDYXJ0KCk7XG4gIGF3YWl0IGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoKGRvbWFpbklkIGFzIGFueSkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkQ2FydEl0ZW0oXG4gIGpvYkpzb246IGFueSxcbiAgb25TdWNjZXNzOiAoY2FydEl0ZW06IGFueSkgPT4gdm9pZCxcbiAgb25FcnJvcjogKGU6IGFueSkgPT4gdm9pZCxcbikge1xuICBjb25zdCBqb2JFbnQgPSBtYWtlSm9iKGpvYkpzb24sIHRydWUpO1xuICBjb25zdCBkYXRhID0gZ2V0U3RvcmUoKTtcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgY2FydCB9ID0gZGF0YS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3QgY2FydEl0ZW1FbnQgPSBtYWtlQ2FydEl0ZW0oe30sIHRydWUpO1xuICBjb25zdCBjYXJ0SXRlbVByb2R1Y3QgPSBtYWtlUHJvZHVjdCh7IGlkOiAoam9iRW50LnByb2R1Y3QgYXMgYW55KS5pZCB9KTtcbiAgY2FydEl0ZW1FbnQuY2FydCA9IGNhcnRFbnQ7XG4gIGNhcnRJdGVtRW50LnF1YW50aXR5ID0gam9iRW50LnF1YW50aXR5O1xuICBjYXJ0SXRlbUVudC5wcm9kdWN0ID0gY2FydEl0ZW1Qcm9kdWN0O1xuICBjYXJ0SXRlbUVudC52YXJpYXRpb25zID0gam9iRW50LnZhcmlhdGlvbnM7XG4gIGNhcnRJdGVtRW50LnZhcmlhdGlvbnNHcm91cHMgPSBqb2JFbnQudmFyaWF0aW9uc0dyb3VwcztcbiAgY2FydEl0ZW1FbnQudGF4VHlwZSA9IGpvYkVudC50YXhUeXBlO1xuICB0cnkge1xuICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBjYXJ0SXRlbUVudC5jcmVhdGUoKTtcbiAgICBjb25zdCBpdGVtSnNvbiA9IGF3YWl0IGl0ZW0udG9Kc29uKCk7XG4gICAgb25TdWNjZXNzKGl0ZW1Kc29uKTtcbiAgfSBjYXRjaChlOiBhbnkpIHtcbiAgICBvbkVycm9yKGUpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZmV0Y2hDYXJ0KGNhcnRFbnQ6IGFueSkge1xuICBtZXJjaGkuY2FydFRva2VuID0gY2FydEVudC50b2tlbjtcbiAgYXdhaXQgbWVyY2hpLkNhcnQuZ2V0KGNhcnRFbnQuaWQsIHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbihjb252ZXJ0VG9Kc29uKS5cbiAgICB0aGVuKHVwZGF0ZUNhcnRWYWx1ZXMpXG59XG5cbmNvbnN0IHtcbiAgcGF0Y2hDYXJ0SXRlbSxcbiAgcGF0Y2hDYXJ0SXRlbUVycm9yLFxuICBwYXRjaENhcnRJdGVtU3VjY2Vzcyxcbn0gPSBzbGljZUNhcnRJdGVtLmFjdGlvbnM7XG5cbmZ1bmN0aW9uIGNsZWFuVmFyaWF0aW9uKHZhcmlhdGlvbjogYW55KSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IHZhcmlhdGlvbi5pZCxcbiAgICB2YWx1ZTogdmFyaWF0aW9uLnZhbHVlLFxuICAgIHZhcmlhdGlvbkZpbGVzOiB2YXJpYXRpb24udmFyaWF0aW9uRmlsZXMubWFwKChmOiBhbnkpID0+ICh7aWQ6IGYuaWR9KSlcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkNhcnRJdGVtRWRpdChjYXJ0SXRlbTogYW55KSB7XG4gIGRpc3BhdGNoKHBhdGNoQ2FydEl0ZW0oKSk7XG4gIGNvbnN0IGRhdGEgPSBnZXRTdG9yZSgpO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBjYXJ0IH0gPSBkYXRhLnN0YXRlQ2FydDtcbiAgY29uc3QgeyBjYXJ0SXRlbTogc3RhdGVDYXJ0SXRlbSwgaW5kZXggfSA9IGRhdGEuc3RhdGVDYXJ0SXRlbTtcbiAgY29uc3QgeyBwcm9kdWN0LCB0YXhUeXBlLCB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gY2FydEl0ZW07XG4gIGNvbnN0IGNsZWFuVmFyaWF0aW9ucyA9IHZhcmlhdGlvbnMubWFwKGNsZWFuVmFyaWF0aW9uKTtcbiAgY29uc3QgY2xlYW5WYXJpYXRpb25zR3JvdXBzID0gdmFyaWF0aW9uc0dyb3Vwcy5tYXAoKGc6IGFueSkgPT4gKHtcbiAgICBpZDogZy5pZCxcbiAgICBxdWFudGl0eTogZy5xdWFudGl0eSxcbiAgICB2YXJpYXRpb25zOiBnLnZhcmlhdGlvbnM/Lm1hcChjbGVhblZhcmlhdGlvbikgfHwgW11cbiAgfSkpO1xuICBjb25zdCBjbGVhblByb2R1Y3QgPSBwcm9kdWN0ID8ge2lkOiBwcm9kdWN0LmlkfSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgY2xlYW5UYXhUeXBlID0gdGF4VHlwZSA/IHtpZDogdGF4VHlwZS5pZH0gOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3Qgam9iRW50ID0gbWFrZUpvYihjYXJ0SXRlbSk7XG4gIGNvbnN0IGNhcnRJdGVtRW50ID0gbWFrZUNhcnRJdGVtKHtcbiAgICAuLi5jYXJ0SXRlbSxcbiAgICBpZDogKHN0YXRlQ2FydEl0ZW0gYXMgYW55KS5pZCxcbiAgICBjYXJ0OiB7aWQ6IChjYXJ0IGFzIGFueSkuaWR9LFxuICAgIHByb2R1Y3Q6IGNsZWFuUHJvZHVjdCxcbiAgICB0YXhUeXBlOiBjbGVhblRheFR5cGUsXG4gICAgcXVhbnRpdHk6IChjYXJ0SXRlbSBhcyBhbnkpLnF1YW50aXR5LFxuICAgIHZhcmlhdGlvbnM6IGNsZWFuVmFyaWF0aW9ucyxcbiAgICB2YXJpYXRpb25zR3JvdXBzOiBjbGVhblZhcmlhdGlvbnNHcm91cHNcbiAgfSwgdHJ1ZSwgY2FydFRva2VuKTtcbiAgY2FydEl0ZW1FbnQuc2F2ZSgpLlxuICB0aGVuKCgpID0+IHJlZmV0Y2hDYXJ0KGNhcnRFbnQpKS5cbiAgdGhlbigoKSA9PiB7XG4gICAgYWxlcnRTdWNjZXNzKCdJdGVtIHVwZGF0ZWQuJyk7XG4gICAgZGlzcGF0Y2gocGF0Y2hDYXJ0SXRlbVN1Y2Nlc3MoKSk7XG4gICAgc2V0QWN0aXZlVGFiKHRhYklkSXRlbXMpO1xuICB9KS5cbiAgdGhlbigoKSA9PiB7XG4gICAgc2V0Q2FydEl0ZW0oe30sIDApO1xuICB9KS5cbiAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgIGRpc3BhdGNoKHBhdGNoQ2FydEl0ZW1FcnJvcigpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25EZWxldGVDYXJ0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gIGNvbnN0IGRhdGEgPSBnZXRTdG9yZSgpO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBzdGF0ZUNhcnQ6IHsgY2FydCB9IH0gPSBkYXRhO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGNhcnRJdGVtcyA9IChjYXJ0RW50IGFzIGFueSkuY2FydEl0ZW1zO1xuICBjYXJ0SXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgKGNhcnRFbnQgYXMgYW55KS5jYXJ0SXRlbXMgPSBjYXJ0SXRlbXM7XG4gIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtKGluZGV4KSk7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oXG4gICAgICAoYzogYW55KSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtU3VjY2VzcyhjLnRvSnNvbigpKSk7XG4gICAgICB9XG4gICAgKS5cbiAgICBjYXRjaChcbiAgICAgIChlOiBhbnkpID0+IHtcbiAgICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtRXJyb3IoKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzKCkge1xuICBjb25zdCB7XG4gICAgdXBkYXRlU2hpcG1lbnRBZGRyZXNzRXJyb3IsXG4gICAgdXBkYXRlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyxcbiAgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7XG4gICAgc3RhdGVDYXJ0OiB7IGNhcnQgfSxcbiAgICBzdGF0ZUNhcnRTaGlwbWVudDogeyByZWNlaXZlckFkZHJlc3M6IGFkZHJlc3MgfSxcbiAgfSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IHJlY2VpdmVyQWRkcmVzcyA9IG1ha2VBZGRyZXNzKGFkZHJlc3MsIHRydWUpO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNhcnRFbnQucmVjZWl2ZXJBZGRyZXNzID0gcmVjZWl2ZXJBZGRyZXNzO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzKGMudG9Kc29uKCkpLlxuICAgICAgICB0aGVuKChjYXJ0V2l0aFNoaXBtZW50R3JvdXBzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBjYXJ0SnNvbiA9IGNhcnRXaXRoU2hpcG1lbnRHcm91cHM7XG4gICAgICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICAgICAgZGlzcGF0Y2goc2V0Q2FydFNoaXBtZW50R3JvdXBzKGNhcnRKc29uLnNoaXBtZW50R3JvdXBzKSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh1cGRhdGVTaGlwbWVudEFkZHJlc3NTdWNjZXNzKGNhcnRKc29uLnNoaXBtZW50R3JvdXBzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pLlxuICAgIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgIGRpc3BhdGNoKHVwZGF0ZVNoaXBtZW50QWRkcmVzc0Vycm9yKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzYXZlQ2FydFNoaXBtZW50QWRkcmVzc0FuZEdvVG9OZXh0VGFiKHZhbHVlczogYW55KSB7XG4gIGNvbnN0IHsgcmVjZWl2ZXJBZGRyZXNzOiBhZGRyZXNzLCByZWNlaXZlck5vdGVzIH0gPSB2YWx1ZXM7XG4gIGNvbnN0IHtcbiAgICBzYXZlU2hpcG1lbnRBZGRyZXNzLFxuICAgIHNhdmVTaGlwbWVudEFkZHJlc3NFcnJvcixcbiAgICBzYXZlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyxcbiAgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IHN0YXRlQ2FydDogeyBjYXJ0IH0gfSA9IGdldFN0b3JlKCk7XG4gIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3MoKSk7XG4gIGNvbnN0IHJlY2VpdmVyQWRkcmVzcyA9IG1ha2VBZGRyZXNzKGFkZHJlc3MsIHRydWUpO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNhcnRFbnQucmVjZWl2ZXJBZGRyZXNzID0gcmVjZWl2ZXJBZGRyZXNzO1xuICBjYXJ0RW50LnJlY2VpdmVyTm90ZXMgPSByZWNlaXZlck5vdGVzO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Q2FydChjLnRvSnNvbigpKSk7XG4gICAgICAgIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzKCkpO1xuICAgICAgICBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQoXG4gICAgICAgICAge3RhYklkOiB0YWJJZENoZWNrb3V0LCB0YWJJbmRleFRvU2V0OiAyLCBkaXNhYmxlZDogZmFsc2V9KTtcbiAgICAgIH0pO1xuICAgIH0pLlxuICAgIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3NFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhdHRhY2hDbGllbnRUb0NhcnQoY2xpZW50SnNvbjogYW55KSB7XG4gIGNvbnN0IHtcbiAgICBjcmVhdGVOZXdDdXN0b21lclN1Y2Nlc3M6IGNyZWF0ZU5ld1N1Y2Nlc3MsXG4gIH0gPSBzbGljZU5ld0N1c3RvbWVyRm9ybS5hY3Rpb25zO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBjYXJ0IH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgY29uc3QgY2xpZW50RW50ID0gbWFrZVVzZXIoe2lkOiBjbGllbnRKc29uLmlkfSk7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydCh7Li4uY2FydH0sIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjYXJ0RW50LmNsaWVudCA9IGNsaWVudEVudDtcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbigoYzogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRDYXJ0KGMudG9Kc29uKCkpKTtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZU5ld1N1Y2Nlc3MoKSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGUoZ3JvdXBJbmRleDogbnVtYmVyLCBxdW90ZTogYW55KSB7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IHN0YXRlQ2FydDogeyBjYXJ0IH0gfSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IHtcbiAgICBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGU6IHNldFNlbGVjdGVkLFxuICAgIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yLFxuICAgIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZVN1Y2Nlc3MsXG4gIH0gPSBzbGljZUNhcnRTaGlwbWVudC5hY3Rpb25zO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGNhcnRTaGlwbWVudFF1b3RlID0gbWFrZUNhcnRTaGlwbWVudFF1b3RlKHF1b3RlKTtcbiAgKGNhcnRFbnQgYXMgYW55KS5zaGlwbWVudEdyb3Vwc1tncm91cEluZGV4XS5zZWxlY3RlZFF1b3RlID0gY2FydFNoaXBtZW50UXVvdGU7XG4gIGRpc3BhdGNoKHNldFNlbGVjdGVkKHsgZ3JvdXBJbmRleCwgcXVvdGUgfSkpO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgZGlzcGF0Y2goc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcygpKTtcbiAgICB9KS5cbiAgICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICBkaXNwYXRjaChzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGVFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5jb25zdCB7XG4gIHNldFJldHVybmluZ0N1c3RvbWVyRXJyb3IsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyOiB0cnlSZXR1cm5pbmcsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyRXJyb3IsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2Vzcyxcbn0gPSBzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lci5hY3Rpb25zO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHJ5UmV0dXJuaW5nQ3VzdG9tZXIoZW1haWxBZGRyZXNzOiBzdHJpbmcpIHtcbiAgZGlzcGF0Y2godHJ5UmV0dXJuaW5nKCkpO1xuICB0cnkge1xuICAgIGNvbnN0IHVzZXI6IGFueSA9IGF3YWl0IHRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwoZW1haWxBZGRyZXNzKTtcbiAgICBhd2FpdCBhdHRhY2hDbGllbnRUb0NhcnQoe1xuICAgICAgZW1haWxBZGRyZXNzZXM6IFt7ZW1haWxBZGRyZXNzfV0sXG4gICAgICBpZDogdXNlci51c2VyX2lkLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcygpKTtcbiAgfSBjYXRjaChlOiBhbnkpIHtcbiAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICBkaXNwYXRjaCh0cnlSZXR1cm5pbmdDdXN0b21lckVycm9yKCkpO1xuICAgIGRpc3BhdGNoKHNldFJldHVybmluZ0N1c3RvbWVyRXJyb3IodHJ1ZSkpO1xuICB9O1xufVxuXG5jb25zdCB7XG4gIGNyZWF0ZU5ld0N1c3RvbWVyOiBjcmVhdGVOZXcsXG4gIGNyZWF0ZU5ld0N1c3RvbWVyRXJyb3I6IGNyZWF0ZU5ld0Vycm9yLFxuICBjcmVhdGVOZXdDdXN0b21lclN1Y2Nlc3M6IGNyZWF0ZU5ld1N1Y2Nlc3MsXG59ID0gc2xpY2VOZXdDdXN0b21lckZvcm0uYWN0aW9ucztcblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNyZWF0ZU5ld0N1c3RvbWVyKGFwaVVybDogc3RyaW5nLCBjdXN0b21lckpzb246IGFueSkge1xuICBjb25zdCB7IGNhcnQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCBkb21haW5JZCA9IGNhcnQgJiYgKGNhcnQgYXMgYW55KS5kb21haW4gJiYgKGNhcnQgYXMgYW55KS5kb21haW4uaWQ7XG4gIGRpc3BhdGNoKGNyZWF0ZU5ldygpKTtcbiAgY3JlYXRlTmV3Q3VzdG9tZXIoey4uLmN1c3RvbWVySnNvbiwgcmVnaXN0ZXJlZFVuZGVyRG9tYWluczogW3tpZDogZG9tYWluSWR9XX0pLlxuICB0aGVuKChyOiBhbnkpID0+IHIudXNlcikuXG4gIHRoZW4oYXR0YWNoQ2xpZW50VG9DYXJ0KS5cbiAgdGhlbigoKSA9PiBkaXNwYXRjaChjcmVhdGVOZXdTdWNjZXNzKCkpKS5cbiAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgIGRpc3BhdGNoKGNyZWF0ZU5ld0Vycm9yKGUuZXJyb3JNZXNzYWdlKSk7XG4gIH0pO1xufVxuXG5jb25zdCB7IGNyZWRpdENhcmRQYXlTdWNjZXNzIH0gPSBzbGljZUNhcnRQYXltZW50LmFjdGlvbnM7IFxuXG5leHBvcnQgZnVuY3Rpb24gY2FsbGJhY2tDcmVkaXRDYXJkUGF5bWVudFN1Y2Nlc3MoaW52b2ljZUpzb246IGFueSkge1xuICBiYXRjaCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goY3JlZGl0Q2FyZFBheVN1Y2Nlc3MoaW52b2ljZUpzb24pKTtcbiAgICBzZXRBY3RpdmVUYWIodGFiSWRQYXltZW50U3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0VG9Kc29uKGVudDogYW55KSB7XG4gIGNvbnN0IGpzb24gPSBhd2FpdCBlbnQudG9Kc29uKCk7XG4gIHJldHVybiBqc29uO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDYXJ0VmFsdWVzKGNhcnRKc29uOiBhbnkpIHtcbiAgY29uc3QgeyBpbml0Q2FydFNoaXBtZW50U2xpY2UgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLmZldGNoQ2FydFN1Y2Nlc3MoY2FydEpzb24pKTtcbiAgZGlzcGF0Y2goaW5pdENhcnRTaGlwbWVudFNsaWNlKGNhcnRKc29uKSk7XG59XG5cbmZ1bmN0aW9uIGdldENhcnQoZG9tYWluSWQ6IG51bWJlciwgY2FydElkQW5kVG9rZW46IEFycmF5PHN0cmluZz4pIHtcbiAgY29uc3Qge1xuICAgIGNhcnRTZXR0aW5nc0ludmFsaWQsXG4gIH0gPSBzbGljZUNhcnQuYWN0aW9ucztcbiAgY29uc3QgaWQgPSBOdW1iZXIoY2FydElkQW5kVG9rZW5bMF0pO1xuICBpZiAoY2FydElkQW5kVG9rZW5bMV0pIHtcbiAgICBtZXJjaGkuY2FydFRva2VuID0gY2FydElkQW5kVG9rZW5bMV07XG4gIH1cbiAgZGlzcGF0Y2goZmV0Y2hDYXJ0KCkpO1xuICBtZXJjaGkuQ2FydC5nZXQoaWQsIHtlbWJlZDogY2FydEVtYmVkfSlcbiAgICAudGhlbihjb252ZXJ0VG9Kc29uKVxuICAgIC50aGVuKChjYXJ0OiBhbnkpID0+IHtcbiAgICAgIGlmIChzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlKGNhcnQpKSB7XG4gICAgICAgIHVwZGF0ZUNhcnRWYWx1ZXMoY2FydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgYE1FcmhjaSBjYXJ0IGVycm9yOiBTdHJpcGUgcGF5bWVudCBgICtcbiAgICAgICAgICBgb3B0aW9ucyBoYXZlIG5vdCBiZWVuIGNvcnJlY3RseSBzZXQgdXAuIGAgK1xuICAgICAgICAgIGBDaGVjayB0aGUgY29tcGFueSBwcm9maWxlIHBheW1lbnQgb3B0aW9ucyB0YWIgYCArXG4gICAgICAgICAgYHRvIHNldCBhbmQgZWRpdCBzdHJpcGUgcGF5bWVudCBvcHRpb25zLmApO1xuICAgICAgICBkaXNwYXRjaChjYXJ0U2V0dGluZ3NJbnZhbGlkKCkpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoZG9tYWluSWQpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uR2V0TWVyY2hpQ2FydChkb21haW5JZDogbnVtYmVyKSB7XG4gIGNvbnN0IGNhcnRJZEFuZFRva2VuID0gYXdhaXQgZ2V0TWVyY2hpQ2FydENvb2tpZShkb21haW5JZCk7XG4gIGlmIChjYXJ0SWRBbmRUb2tlbikge1xuICAgIGdldENhcnQoZG9tYWluSWQsIGNhcnRJZEFuZFRva2VuKTtcbiAgfSBlbHNlIHtcbiAgICBjcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llKGRvbWFpbklkKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlQ2FydE9wZW4oKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnRvZ2dsZUNhcnRPcGVuKCkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNNZXJjaGlDYXJ0RmV0Y2hpbmcoKSB7XG4gIHJldHVybiBnZXRTdG9yZSgpLnN0YXRlQ2FydC5mZXRjaGluZ0NhcnQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRNZXJjaGlDYXJ0VmFsdWVzKCkge1xuICBjb25zdCB7IGNhcnQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCB7IGNhcnRJdGVtcywgY3VycmVuY3ksIHN1YnRvdGFsQ29zdCwgdGF4QW1vdW50LCB0b3RhbENvc3QgfSA9IChjYXJ0IGFzIGFueSk7XG4gIGNvbnN0IGNhcnRJdGVtc0NvdW50ID0gY2FydEl0ZW1zID8gY2FydEl0ZW1zLmxlbmd0aCA6IDA7XG4gIHJldHVybiB7XG4gICAgY2FydCxcbiAgICBjYXJ0SXRlbXNDb3VudCxcbiAgICBjdXJyZW5jeTogY3VycmVuY3kgfHwgJycsXG4gICAgc3VidG90YWxDb3N0OiBzdWJ0b3RhbENvc3QgfHwgMCxcbiAgICB0YXhBbW91bnQ6IHRheEFtb3VudCB8fCAwLFxuICAgIHRvdGFsQ29zdDogdG90YWxDb3N0IHx8IDAsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0NhcnRDb21wbGV0ZSgpIHtcbiAgY29uc3QgZG9tYWluSWQ6IGFueSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0LmRvbWFpbklkO1xuICBkaXNwYXRjaChzbGljZUNhcnRQYXltZW50LmFjdGlvbnMuZG9DYXJkQ29tcGxldGUoKSk7XG4gIGF3YWl0IGNhcnRBbmRDb29raWUoZG9tYWluSWQpLnRoZW4oKCkgPT4gbG9jYXRpb24ucmVsb2FkKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1lcmNoaUNhcnQoZG9tYWluSWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChzZXREb21haW5JZChkb21haW5JZCkpO1xuICBhY3Rpb25HZXRNZXJjaGlDYXJ0KGRvbWFpbklkKTtcbiAgaWYgKCh3aW5kb3cgYXMgYW55KSAmJiAod2luZG93IGFzIGFueSkgIT09IHVuZGVmaW5lZCkge1xuICAgICh3aW5kb3cgYXMgYW55KS5nZXRDYXJ0ID0gKCkgPT4gYWN0aW9uR2V0TWVyY2hpQ2FydChkb21haW5JZCk7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmlzTWVyY2hpQ2FydEZldGNoaW5nID0gaXNNZXJjaGlDYXJ0RmV0Y2hpbmc7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmdldE1lcmNoaUNhcnRWYWx1ZXMgPSBnZXRNZXJjaGlDYXJ0VmFsdWVzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiIrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVC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
829
+ export function merchiCartFetchAndSet(_x16) {
830
+ return _merchiCartFetchAndSet.apply(this, arguments);
831
+ }
832
+ function _merchiCartFetchAndSet() {
833
+ _merchiCartFetchAndSet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(cartJson) {
834
+ return _regeneratorRuntime().wrap(function _callee19$(_context19) {
835
+ while (1) switch (_context19.prev = _context19.next) {
836
+ case 0:
837
+ _context19.next = 2;
838
+ return refetchCart(cartJson);
839
+ case 2:
840
+ case "end":
841
+ return _context19.stop();
842
+ }
843
+ }, _callee19);
844
+ }));
845
+ return _merchiCartFetchAndSet.apply(this, arguments);
846
+ }
847
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIm93bktleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0U3ByZWFkIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJvYmoiLCJfdG9Qcm9wZXJ0eUtleSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiYmF0Y2giLCJjb25maWd1cmVTdG9yZSIsInNsaWNlQ2FydCIsInRhYklkQ2hlY2tvdXQiLCJ0YWJJZEl0ZW0iLCJ0YWJJZEl0ZW1zIiwidGFiSWRQYXltZW50U3VjY2VzcyIsInNsaWNlQ2FydEFsZXJ0Iiwic2xpY2VDYXJ0SXRlbSIsInNsaWNlQ2FydFBheW1lbnQiLCJzbGljZUNhcnRTaGlwbWVudCIsInNsaWNlTmV3Q3VzdG9tZXJGb3JtIiwic2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJyZWR1Y2Vyc1NxdWFyZSIsInNsaWNlU3RyaXBlQ2FyZEZvcm0iLCJNZXJjaGkiLCJjYXJ0RW1iZWQiLCJtYWtlQWRkcmVzcyIsImdldENhcnRDb29raWUiLCJnZXRNZXJjaGlDYXJ0Q29va2llIiwic2V0Q2FydENvb2tpZSIsImdldENhcnRTaGlwbWVudEdyb3Vwc0FuZFF1b3RlcyIsIm1ha2VDYXJ0IiwibWFrZUNhcnRJdGVtIiwibWFrZUNhcnRTaGlwbWVudFF1b3RlIiwic3RyaXBlSXNWYWxpZEFuZEFjdGl2ZSIsIm1ha2VQcm9kdWN0IiwibWFrZVVzZXIiLCJjcmVhdGVOZXdDdXN0b21lciIsInRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwiLCJhcHBlbmRTdHlsZVNoZWV0VGV4dCIsIm1ha2VKb2IiLCJtZXJjaGkiLCJtZXJjaGlDYXJ0UmVkdWNlciIsInN0YXRlQ2FydEFsZXJ0IiwicmVkdWNlciIsInN0YXRlQ2FydEl0ZW0iLCJzdGF0ZUNhcnRQYXltZW50Iiwic3RhdGVDYXJ0U2hpcG1lbnQiLCJzdGF0ZUNhcnQiLCJzdGF0ZU5ld0N1c3RvbWVyRm9ybSIsInN0YXRlRm9ybVJldHVybmluZ0N1c3RvbWVyIiwic3RvcmUiLCJtaWRkbGV3YXJlIiwiZ2V0RGVmYXVsdE1pZGRsZXdhcmUiLCJzZXJpYWxpemFibGVDaGVjayIsImdldFN0b3JlIiwiZ2V0U3RhdGUiLCJfc2xpY2VDYXJ0JGFjdGlvbnMiLCJhY3Rpb25zIiwiZGVsZXRlQ2FydEl0ZW0iLCJkZWxldGVDYXJ0SXRlbUVycm9yIiwiZGVsZXRlQ2FydEl0ZW1TdWNjZXNzIiwiZmV0Y2hDYXJ0IiwiZmV0Y2hDYXJ0RXJyb3IiLCJmZXRjaENhcnRTdWNjZXNzIiwiZmV0Y2hUaGVtZSIsImZldGNoVGhlbWVFcnJvciIsImZldGNoVGhlbWVTdWNjZXNzIiwic2V0Q2FydCIsInNldENhcnRDbGllbnQiLCJzZXREb21haW5JZCIsInNldENhcnRTaGlwbWVudEdyb3VwcyIsImdldENhcnRUb2tlbiIsIl9nZXRDYXJ0VG9rZW4iLCJfY2FsbGVlIiwiZG9tYWluSWQiLCJjYXJ0SWRBbmRUb2tlbiIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJ0MCIsImRpc3BhdGNoIiwiYXh0aW9uU2V0Q2FydENsaWVudCIsImNsaWVudCIsInNldENhcnRJdGVtIiwiY2FydEl0ZW0iLCJpbmRleCIsImlkIiwic2V0QWN0aXZlVGFiIiwidGFiSWQiLCJzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQiLCJzZXR0aW5ncyIsImNsb3NlQWxlcnQiLCJjbG9zZUNsZWFyQ2FydCIsImFsZXJ0RXJyb3IiLCJtZXNzYWdlIiwic2hvd0FsZXJ0RGFuZ2VyIiwidGl0bGUiLCJhbGVydFN1Y2Nlc3MiLCJzaG93QWxlcnRTdWNjZXNzIiwiYWN0aW9uRmV0Y2hUaGVtZSIsIkRvbWFpbiIsImdldCIsImVtYmVkIiwiYWN0aXZlVGhlbWUiLCJtYWluQ3NzIiwiZG9tYWluIiwidGhlbWUiLCJlcnJvck1lc3NhZ2UiLCJjYXJ0QW5kQ29va2llIiwiX3giLCJfY2FydEFuZENvb2tpZSIsIl9jYWxsZWUyIiwiY2FydCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsInRvSnNvbiIsImNKc29uIiwiY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZSIsIl94MiIsIl9jcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llIiwiX2NhbGxlZTMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJkb0NsZWFyQ2FydCIsIl9kb0NsZWFyQ2FydCIsIl9jYWxsZWU0IiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiYWRkQ2FydEl0ZW0iLCJfeDMiLCJfeDQiLCJfeDUiLCJfYWRkQ2FydEl0ZW0iLCJfY2FsbGVlNSIsImpvYkpzb24iLCJvblN1Y2Nlc3MiLCJvbkVycm9yIiwiam9iRW50IiwiZGF0YSIsImNhcnRUb2tlbiIsImNhcnRFbnQiLCJjYXJ0SXRlbUVudCIsImNhcnRJdGVtUHJvZHVjdCIsIml0ZW0iLCJpdGVtSnNvbiIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsInByb2R1Y3QiLCJxdWFudGl0eSIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwidGF4VHlwZSIsInJlZmV0Y2hDYXJ0IiwiX3g2IiwiX3JlZmV0Y2hDYXJ0IiwiX2NhbGxlZTYiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJ0b2tlbiIsIkNhcnQiLCJjb252ZXJ0VG9Kc29uIiwidXBkYXRlQ2FydFZhbHVlcyIsIl9zbGljZUNhcnRJdGVtJGFjdGlvbiIsInBhdGNoQ2FydEl0ZW0iLCJwYXRjaENhcnRJdGVtRXJyb3IiLCJwYXRjaENhcnRJdGVtU3VjY2VzcyIsImNsZWFuVmFyaWF0aW9uIiwidmFyaWF0aW9uIiwidmFyaWF0aW9uRmlsZXMiLCJtYXAiLCJhY3Rpb25DYXJ0SXRlbUVkaXQiLCJfeDciLCJfYWN0aW9uQ2FydEl0ZW1FZGl0IiwiX2NhbGxlZTciLCJfZGF0YSRzdGF0ZUNhcnRJdGVtIiwiX2NhcnRJdGVtJHZhcmlhdGlvbnMiLCJfY2FydEl0ZW0kdmFyaWF0aW9uc0ciLCJjbGVhblZhcmlhdGlvbnMiLCJjbGVhblZhcmlhdGlvbnNHcm91cHMiLCJjbGVhblByb2R1Y3QiLCJjbGVhblRheFR5cGUiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJfZyR2YXJpYXRpb25zIiwic2F2ZSIsImFjdGlvbkRlbGV0ZUNhcnRJdGVtIiwiX3g4IiwiX2FjdGlvbkRlbGV0ZUNhcnRJdGVtIiwiX2NhbGxlZTgiLCJjYXJ0SXRlbXMiLCJfY2FsbGVlOCQiLCJfY29udGV4dDgiLCJzcGxpY2UiLCJ1cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzIiwiX3VwZGF0ZUNhcnRTaGlwbWVudEFkZHJlc3MiLCJfY2FsbGVlOSIsIl9zbGljZUNhcnRTaGlwbWVudCRhYyIsInVwZGF0ZVNoaXBtZW50QWRkcmVzc0Vycm9yIiwidXBkYXRlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyIsIl9nZXRTdG9yZSIsImFkZHJlc3MiLCJyZWNlaXZlckFkZHJlc3MiLCJfY2FsbGVlOSQiLCJfY29udGV4dDkiLCJjYXJ0V2l0aFNoaXBtZW50R3JvdXBzIiwiY2FydEpzb24iLCJzaGlwbWVudEdyb3VwcyIsInNhdmVDYXJ0U2hpcG1lbnRBZGRyZXNzQW5kR29Ub05leHRUYWIiLCJfeDkiLCJfc2F2ZUNhcnRTaGlwbWVudEFkZHJlc3NBbmRHb1RvTmV4dFRhYiIsIl9jYWxsZWUxMCIsInJlY2VpdmVyTm90ZXMiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMyIiwic2F2ZVNoaXBtZW50QWRkcmVzcyIsInNhdmVTaGlwbWVudEFkZHJlc3NFcnJvciIsInNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzIiwiX2dldFN0b3JlMiIsIl9jYWxsZWUxMCQiLCJfY29udGV4dDEwIiwidGFiSW5kZXhUb1NldCIsImRpc2FibGVkIiwiYXR0YWNoQ2xpZW50VG9DYXJ0IiwiX3gxMCIsIl9hdHRhY2hDbGllbnRUb0NhcnQiLCJfY2FsbGVlMTEiLCJjbGllbnRKc29uIiwiY3JlYXRlTmV3U3VjY2VzcyIsImNsaWVudEVudCIsIl9jYWxsZWUxMSQiLCJfY29udGV4dDExIiwiY3JlYXRlTmV3Q3VzdG9tZXJTdWNjZXNzIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX3gxMSIsIl94MTIiLCJfc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyIiwiZ3JvdXBJbmRleCIsInF1b3RlIiwiX2dldFN0b3JlMyIsIl9zbGljZUNhcnRTaGlwbWVudCRhYzMiLCJzZXRTZWxlY3RlZCIsInNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcyIsImNhcnRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyJCIsIl9jb250ZXh0MTIiLCJzZWxlY3RlZFF1b3RlIiwiX3NsaWNlRm9ybVJldHVybmluZ0N1Iiwic2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZyIsInRyeVJldHVybmluZ0N1c3RvbWVyIiwidHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcyIsIl94MTMiLCJfdHJ5UmV0dXJuaW5nQ3VzdG9tZXIiLCJfY2FsbGVlMTMiLCJlbWFpbEFkZHJlc3MiLCJ1c2VyIiwiX2NhbGxlZTEzJCIsIl9jb250ZXh0MTMiLCJlbWFpbEFkZHJlc3NlcyIsInVzZXJfaWQiLCJfc2xpY2VOZXdDdXN0b21lckZvcm0iLCJjcmVhdGVOZXciLCJjcmVhdGVOZXdFcnJvciIsImNyZWF0ZU5ld0N1c3RvbWVyRXJyb3IiLCJhY3Rpb25DcmVhdGVOZXdDdXN0b21lciIsImFwaVVybCIsImN1c3RvbWVySnNvbiIsInJlZ2lzdGVyZWRVbmRlckRvbWFpbnMiLCJjcmVkaXRDYXJkUGF5U3VjY2VzcyIsImNhbGxiYWNrQ3JlZGl0Q2FyZFBheW1lbnRTdWNjZXNzIiwiaW52b2ljZUpzb24iLCJfeDE0IiwiX2NvbnZlcnRUb0pzb24iLCJfY2FsbGVlMTQiLCJlbnQiLCJqc29uIiwiX2NhbGxlZTE0JCIsIl9jb250ZXh0MTQiLCJpbml0Q2FydFNoaXBtZW50U2xpY2UiLCJnZXRDYXJ0IiwiY2FydFNldHRpbmdzSW52YWxpZCIsImNvbnNvbGUiLCJhY3Rpb25HZXRNZXJjaGlDYXJ0IiwiX3gxNSIsIl9hY3Rpb25HZXRNZXJjaGlDYXJ0IiwiX2NhbGxlZTE1IiwiX2NhbGxlZTE1JCIsIl9jb250ZXh0MTUiLCJ0b2dnbGVDYXJ0T3BlbiIsImlzTWVyY2hpQ2FydEZldGNoaW5nIiwiX2lzTWVyY2hpQ2FydEZldGNoaW5nIiwiX2NhbGxlZTE2IiwiX2NhbGxlZTE2JCIsIl9jb250ZXh0MTYiLCJmZXRjaGluZ0NhcnQiLCJnZXRNZXJjaGlDYXJ0VmFsdWVzIiwiX2dldE1lcmNoaUNhcnRWYWx1ZXMiLCJfY2FsbGVlMTciLCJfcmVmIiwiY3VycmVuY3kiLCJzdWJ0b3RhbENvc3QiLCJ0YXhBbW91bnQiLCJ0b3RhbENvc3QiLCJjYXJ0SXRlbXNDb3VudCIsIl9jYWxsZWUxNyQiLCJfY29udGV4dDE3IiwiZG9DYXJ0Q29tcGxldGUiLCJfZG9DYXJ0Q29tcGxldGUiLCJfY2FsbGVlMTgiLCJfY2FsbGVlMTgkIiwiX2NvbnRleHQxOCIsImRvQ2FyZENvbXBsZXRlIiwibG9jYXRpb24iLCJyZWxvYWQiLCJpbml0TWVyY2hpQ2FydCIsIndpbmRvdyIsIm1lcmNoaUNhcnRGZXRjaEFuZFNldCIsIl94MTYiLCJfbWVyY2hpQ2FydEZldGNoQW5kU2V0IiwiX2NhbGxlZTE5IiwiX2NhbGxlZTE5JCIsIl9jb250ZXh0MTkiXSwic291cmNlcyI6WyIuLi9zcmMvc3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBjb25maWd1cmVTdG9yZSB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHtcbiAgc2xpY2VDYXJ0LFxuICB0YWJJZENoZWNrb3V0LFxuICB0YWJJZEl0ZW0sXG4gIHRhYklkSXRlbXMsXG4gIHRhYklkUGF5bWVudFN1Y2Nlc3MsXG59IGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydCc7XG5pbXBvcnQgeyBzbGljZUNhcnRBbGVydCB9IGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydEFsZXJ0JztcbmltcG9ydCBzbGljZUNhcnRJdGVtIGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydEl0ZW0nO1xuaW1wb3J0IHsgc2xpY2VDYXJ0UGF5bWVudCB9IGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydFBheW1lbnQnO1xuaW1wb3J0IHsgc2xpY2VDYXJ0U2hpcG1lbnQgfSBmcm9tICcuL3NsaWNlcy9zbGljZUNhcnRTaGlwbWVudCc7XG5pbXBvcnQgc2xpY2VOZXdDdXN0b21lckZvcm0gZnJvbSAnLi9zbGljZXMvc2xpY2VOZXdDdXN0b21lckZvcm0nO1xuaW1wb3J0IHNsaWNlRm9ybVJldHVybmluZ0N1c3RvbWVyIGZyb20gJy4vc2xpY2VzL3NsaWNlRm9ybVJldHVybmluZ0N1c3RvbWVyJztcbmltcG9ydCByZWR1Y2Vyc1NxdWFyZSBmcm9tICcuL3NxdWFyZS9zbGljZXMvcmVkdWNlcnNTcXVhcmUnO1xuaW1wb3J0IHNsaWNlU3RyaXBlQ2FyZEZvcm0gZnJvbSAnLi9zdHJpcGUvc2xpY2VzL3NsaWNlU3RyaXBlQ2FyZEZvcm0nO1xuaW1wb3J0IHsgTWVyY2hpIH0gZnJvbSAnbWVyY2hpX3Nka190cyc7XG5pbXBvcnQgeyBjYXJ0RW1iZWQgfSBmcm9tICcuL3V0aWxpdGllcy9oZWxwZXJzJztcbmltcG9ydCB7IG1ha2VBZGRyZXNzIH0gZnJvbSAnLi91dGlsaXRpZXMvYWRkcmVzcyc7XG5pbXBvcnQge1xuICBnZXRDYXJ0Q29va2llIGFzIGdldE1lcmNoaUNhcnRDb29raWUsXG4gIHNldENhcnRDb29raWUsXG59IGZyb20gJy4vdXRpbGl0aWVzL2Nvb2tpZSc7XG5pbXBvcnQge1xuICBnZXRDYXJ0U2hpcG1lbnRHcm91cHNBbmRRdW90ZXMsXG4gIG1ha2VDYXJ0LFxuICBtYWtlQ2FydEl0ZW0sXG4gIG1ha2VDYXJ0U2hpcG1lbnRRdW90ZSxcbiAgc3RyaXBlSXNWYWxpZEFuZEFjdGl2ZSxcbn0gZnJvbSAnLi91dGlsaXRpZXMvY2FydCc7XG5pbXBvcnQgeyBtYWtlUHJvZHVjdCB9IGZyb20gJy4vdXRpbGl0aWVzL3Byb2R1Y3QnO1xuaW1wb3J0IHtcbiAgbWFrZVVzZXIsXG4gIGNyZWF0ZU5ld0N1c3RvbWVyLFxuICB0cnlSZXR1cm5pbmdDdXN0b21lckVtYWlsLFxufSBmcm9tICcuL3V0aWxpdGllcy91c2VyJztcbmltcG9ydCB7IGFwcGVuZFN0eWxlU2hlZXRUZXh0IH0gZnJvbSAnLi91dGlsaXRpZXMvaGVscGVycyc7XG5pbXBvcnQgeyBtYWtlSm9iIH0gZnJvbSAnLi91dGlsaXRpZXMvam9iJztcblxuY29uc3QgbWVyY2hpID0gbmV3IE1lcmNoaSgpO1xuXG5jb25zdCBtZXJjaGlDYXJ0UmVkdWNlciA9IHtcbiAgc3RhdGVDYXJ0QWxlcnQ6IHNsaWNlQ2FydEFsZXJ0LnJlZHVjZXIsXG4gIHN0YXRlQ2FydEl0ZW06IHNsaWNlQ2FydEl0ZW0ucmVkdWNlcixcbiAgc3RhdGVDYXJ0UGF5bWVudDogc2xpY2VDYXJ0UGF5bWVudC5yZWR1Y2VyLFxuICBzdGF0ZUNhcnRTaGlwbWVudDogc2xpY2VDYXJ0U2hpcG1lbnQucmVkdWNlcixcbiAgc3RhdGVDYXJ0OiBzbGljZUNhcnQucmVkdWNlcixcbiAgc3RhdGVOZXdDdXN0b21lckZvcm06IHNsaWNlTmV3Q3VzdG9tZXJGb3JtLnJlZHVjZXIsXG4gIHN0YXRlRm9ybVJldHVybmluZ0N1c3RvbWVyOiBzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lci5yZWR1Y2VyLFxuXG4gIC8vIFNxdWFyZSBzbGljZXNcbiAgLi4ucmVkdWNlcnNTcXVhcmUsXG5cbiAgLy8gU3RyaXBlIHNsaWNlc1xuICAuLi5zbGljZVN0cmlwZUNhcmRGb3JtLFxufTtcblxuZXhwb3J0IGNvbnN0IHN0b3JlID0gY29uZmlndXJlU3RvcmUoe1xuICBtaWRkbGV3YXJlOiAoZ2V0RGVmYXVsdE1pZGRsZXdhcmUpID0+IGdldERlZmF1bHRNaWRkbGV3YXJlKHsgc2VyaWFsaXphYmxlQ2hlY2s6IGZhbHNlIH0pLFxuICByZWR1Y2VyOiBtZXJjaGlDYXJ0UmVkdWNlcixcbn0pO1xuXG5mdW5jdGlvbiBnZXRTdG9yZSgpIHtcbiAgcmV0dXJuIHN0b3JlLmdldFN0YXRlKCk7XG59XG5cbmNvbnN0IHtcbiAgZGVsZXRlQ2FydEl0ZW0sXG4gIGRlbGV0ZUNhcnRJdGVtRXJyb3IsXG4gIGRlbGV0ZUNhcnRJdGVtU3VjY2VzcyxcbiAgZmV0Y2hDYXJ0LFxuICBmZXRjaENhcnRFcnJvcixcbiAgZmV0Y2hDYXJ0U3VjY2VzcyxcbiAgZmV0Y2hUaGVtZSxcbiAgZmV0Y2hUaGVtZUVycm9yLFxuICBmZXRjaFRoZW1lU3VjY2VzcyxcbiAgc2V0Q2FydCxcbiAgc2V0Q2FydENsaWVudCxcbiAgc2V0RG9tYWluSWQsXG4gIHNldENhcnRTaGlwbWVudEdyb3Vwcyxcbn0gPSBzbGljZUNhcnQuYWN0aW9ucztcblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q2FydFRva2VuKCkge1xuICBjb25zdCB7IGRvbWFpbklkIH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgY29uc3QgY2FydElkQW5kVG9rZW4gPSBkb21haW5JZCA/IGF3YWl0IGdldE1lcmNoaUNhcnRDb29raWUoTnVtYmVyKGRvbWFpbklkKSkgOiB1bmRlZmluZWQ7XG4gIHJldHVybiBjYXJ0SWRBbmRUb2tlbiAmJiBjYXJ0SWRBbmRUb2tlblsxXSA/IGNhcnRJZEFuZFRva2VuWzFdIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBkaXNwYXRjaChtZXRob2Q6IGFueSkge1xuICBzdG9yZS5kaXNwYXRjaChtZXRob2QpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXh0aW9uU2V0Q2FydENsaWVudChjbGllbnQ6IGFueSkge1xuICBkaXNwYXRjaChzZXRDYXJ0Q2xpZW50KGNsaWVudCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q2FydEl0ZW0oY2FydEl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikge1xuICBiYXRjaCgoKSA9PiB7XG4gICAgaWYgKGNhcnRJdGVtICYmIGNhcnRJdGVtLmlkKSB7XG4gICAgICBzZXRBY3RpdmVUYWIodGFiSWRJdGVtKTtcbiAgICAgIGRpc3BhdGNoKHNsaWNlQ2FydEl0ZW0uYWN0aW9ucy5zZXRDYXJ0SXRlbSh7IGNhcnRJdGVtLCBpbmRleCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFjdGl2ZVRhYih0YWJJZEl0ZW1zKTtcbiAgICAgIGRpc3BhdGNoKHNsaWNlQ2FydEl0ZW0uYWN0aW9ucy5zZXRDYXJ0SXRlbSh7IGNhcnRJdGVtOiBudWxsLCBpbmRleCB9KSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFjdGl2ZVRhYih0YWJJZDogbnVtYmVyKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnNldEFjdGl2ZVRhYih0YWJJZCkpO1xufVxuXG5pbnRlcmZhY2Ugc2V0QWN0aXZlVGFiQW5kRWRpdERpc2FibGVkUHJvcHMge1xuICB0YWJJZDogbnVtYmVyO1xuICB0YWJJbmRleFRvU2V0OiBudW1iZXI7XG4gIGRpc2FibGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWN0aXZlVGFiQW5kRWRpdERpc2FibGVkKHNldHRpbmdzOiBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWRQcm9wcykge1xuICBkaXNwYXRjaChzbGljZUNhcnQuYWN0aW9ucy5zZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQoc2V0dGluZ3MpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQWxlcnQoKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydEFsZXJ0LmFjdGlvbnMuY2xvc2VBbGVydCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQ2xlYXJDYXJ0KCkge1xuICBkaXNwYXRjaChzbGljZUNhcnQuYWN0aW9ucy5zZXRBY3RpdmVUYWIodGFiSWRJdGVtcykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxlcnRFcnJvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0QWxlcnQuYWN0aW9ucy5zaG93QWxlcnREYW5nZXIoXG4gICAgeyBtZXNzYWdlLCB0aXRsZTogJ0Vycm9yIScgfSkpO1xufVxuXG5mdW5jdGlvbiBhbGVydFN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydEFsZXJ0LmFjdGlvbnMuc2hvd0FsZXJ0U3VjY2VzcyhcbiAgICB7IG1lc3NhZ2UsIHRpdGxlOiAnU3VjY2VzcyEnIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkZldGNoVGhlbWUoaWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChmZXRjaFRoZW1lKCkpXG4gIG1lcmNoaS5Eb21haW4uZ2V0KGlkLCB7ZW1iZWQ6IHthY3RpdmVUaGVtZToge21haW5Dc3M6IHt9fX19KVxuICAgIC50aGVuKChkb21haW46IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIGRvbWFpbi5hY3RpdmVUaGVtZTtcbiAgICB9KVxuICAgIC50aGVuKCh0aGVtZTogYW55KSA9PiB7XG4gICAgICBhcHBlbmRTdHlsZVNoZWV0VGV4dCh0aGVtZS5tYWluQ3NzLCAoKSA9PiBkaXNwYXRjaChmZXRjaFRoZW1lU3VjY2VzcygpKSk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICBkaXNwYXRjaChmZXRjaFRoZW1lRXJyb3IoKSk7XG4gICAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNhcnRBbmRDb29raWUoZG9tYWluSWQ6IG51bWJlcikge1xuICBjb25zdCBjYXJ0ID0gbWFrZUNhcnQoe2RvbWFpbjoge2lkOiBkb21haW5JZH19LCB0cnVlKTtcbiAgcmV0dXJuIGNhcnQuY3JlYXRlKHtlbWJlZDogY2FydEVtYmVkfSlcbiAgICAudGhlbigoYzogYW55KSA9PiB7XG4gICAgICBpZiAoZG9tYWluSWQpIHtcbiAgICAgICAgc2V0Q2FydENvb2tpZShOdW1iZXIoZG9tYWluSWQpLCBjLnRvSnNvbigpLCB1bmRlZmluZWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGMudG9Kc29uKCk7XG4gICAgfSlcbiAgICAudGhlbigoY0pzb246IGFueSkgPT4ge1xuICAgICAgZGlzcGF0Y2goZmV0Y2hDYXJ0U3VjY2VzcyhjSnNvbikpO1xuICAgIH0pXG4gICAgLmNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSB8fCAnVW5hYmxlIHRvIGZldGNoIGNhcnQuJyk7XG4gICAgICAgIGRpc3BhdGNoKGZldGNoQ2FydEVycm9yKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llKGRvbWFpbklkOiBudW1iZXIpIHtcbiAgZGlzcGF0Y2goZmV0Y2hDYXJ0KCkpO1xuICBhd2FpdCBjYXJ0QW5kQ29va2llKGRvbWFpbklkKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvQ2xlYXJDYXJ0KCkge1xuICBjb25zdCB7IGRvbWFpbklkIH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgZGlzcGF0Y2goc2V0Q2FydCh7fSkpO1xuICBjbG9zZUNsZWFyQ2FydCgpO1xuICBhd2FpdCBjcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llKChkb21haW5JZCBhcyBhbnkpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFkZENhcnRJdGVtKFxuICBqb2JKc29uOiBhbnksXG4gIG9uU3VjY2VzczogKGNhcnRJdGVtOiBhbnkpID0+IHZvaWQsXG4gIG9uRXJyb3I6IChlOiBhbnkpID0+IHZvaWQsXG4pIHtcbiAgY29uc3Qgam9iRW50ID0gbWFrZUpvYihqb2JKc29uLCB0cnVlKTtcbiAgY29uc3QgZGF0YSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IGNhcnQgfSA9IGRhdGEuc3RhdGVDYXJ0O1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGNhcnRJdGVtRW50ID0gbWFrZUNhcnRJdGVtKHt9LCB0cnVlKTtcbiAgY29uc3QgY2FydEl0ZW1Qcm9kdWN0ID0gbWFrZVByb2R1Y3QoeyBpZDogKGpvYkVudC5wcm9kdWN0IGFzIGFueSkuaWQgfSk7XG4gIGNhcnRJdGVtRW50LmNhcnQgPSBjYXJ0RW50O1xuICBjYXJ0SXRlbUVudC5xdWFudGl0eSA9IGpvYkVudC5xdWFudGl0eTtcbiAgY2FydEl0ZW1FbnQucHJvZHVjdCA9IGNhcnRJdGVtUHJvZHVjdDtcbiAgY2FydEl0ZW1FbnQudmFyaWF0aW9ucyA9IGpvYkVudC52YXJpYXRpb25zO1xuICBjYXJ0SXRlbUVudC52YXJpYXRpb25zR3JvdXBzID0gam9iRW50LnZhcmlhdGlvbnNHcm91cHM7XG4gIGNhcnRJdGVtRW50LnRheFR5cGUgPSBqb2JFbnQudGF4VHlwZTtcbiAgdHJ5IHtcbiAgICBjb25zdCBpdGVtID0gYXdhaXQgY2FydEl0ZW1FbnQuY3JlYXRlKCk7XG4gICAgY29uc3QgaXRlbUpzb24gPSBhd2FpdCBpdGVtLnRvSnNvbigpO1xuICAgIG9uU3VjY2VzcyhpdGVtSnNvbik7XG4gIH0gY2F0Y2goZTogYW55KSB7XG4gICAgb25FcnJvcihlKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZWZldGNoQ2FydChjYXJ0RW50OiBhbnkpIHtcbiAgbWVyY2hpLmNhcnRUb2tlbiA9IGNhcnRFbnQudG9rZW47XG4gIGF3YWl0IG1lcmNoaS5DYXJ0LmdldChjYXJ0RW50LmlkLCB7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oY29udmVydFRvSnNvbikuXG4gICAgdGhlbih1cGRhdGVDYXJ0VmFsdWVzKVxufVxuXG5jb25zdCB7XG4gIHBhdGNoQ2FydEl0ZW0sXG4gIHBhdGNoQ2FydEl0ZW1FcnJvcixcbiAgcGF0Y2hDYXJ0SXRlbVN1Y2Nlc3MsXG59ID0gc2xpY2VDYXJ0SXRlbS5hY3Rpb25zO1xuXG5mdW5jdGlvbiBjbGVhblZhcmlhdGlvbih2YXJpYXRpb246IGFueSkge1xuICByZXR1cm4ge1xuICAgIGlkOiB2YXJpYXRpb24uaWQsXG4gICAgdmFsdWU6IHZhcmlhdGlvbi52YWx1ZSxcbiAgICB2YXJpYXRpb25GaWxlczogdmFyaWF0aW9uLnZhcmlhdGlvbkZpbGVzLm1hcCgoZjogYW55KSA9PiAoe2lkOiBmLmlkfSkpXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25DYXJ0SXRlbUVkaXQoY2FydEl0ZW06IGFueSkge1xuICBkaXNwYXRjaChwYXRjaENhcnRJdGVtKCkpO1xuICBjb25zdCBkYXRhID0gZ2V0U3RvcmUoKTtcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgY2FydCB9ID0gZGF0YS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IHsgY2FydEl0ZW06IHN0YXRlQ2FydEl0ZW0sIGluZGV4IH0gPSBkYXRhLnN0YXRlQ2FydEl0ZW07XG4gIGNvbnN0IHsgcHJvZHVjdCwgdGF4VHlwZSwgdmFyaWF0aW9ucyA9IFtdLCB2YXJpYXRpb25zR3JvdXBzID0gW10gfSA9IGNhcnRJdGVtO1xuICBjb25zdCBjbGVhblZhcmlhdGlvbnMgPSB2YXJpYXRpb25zLm1hcChjbGVhblZhcmlhdGlvbik7XG4gIGNvbnN0IGNsZWFuVmFyaWF0aW9uc0dyb3VwcyA9IHZhcmlhdGlvbnNHcm91cHMubWFwKChnOiBhbnkpID0+ICh7XG4gICAgaWQ6IGcuaWQsXG4gICAgcXVhbnRpdHk6IGcucXVhbnRpdHksXG4gICAgdmFyaWF0aW9uczogZy52YXJpYXRpb25zPy5tYXAoY2xlYW5WYXJpYXRpb24pIHx8IFtdXG4gIH0pKTtcbiAgY29uc3QgY2xlYW5Qcm9kdWN0ID0gcHJvZHVjdCA/IHtpZDogcHJvZHVjdC5pZH0gOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNsZWFuVGF4VHlwZSA9IHRheFR5cGUgPyB7aWQ6IHRheFR5cGUuaWR9IDogdW5kZWZpbmVkO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGpvYkVudCA9IG1ha2VKb2IoY2FydEl0ZW0pO1xuICBjb25zdCBjYXJ0SXRlbUVudCA9IG1ha2VDYXJ0SXRlbSh7XG4gICAgLi4uY2FydEl0ZW0sXG4gICAgaWQ6IChzdGF0ZUNhcnRJdGVtIGFzIGFueSkuaWQsXG4gICAgY2FydDoge2lkOiAoY2FydCBhcyBhbnkpLmlkfSxcbiAgICBwcm9kdWN0OiBjbGVhblByb2R1Y3QsXG4gICAgdGF4VHlwZTogY2xlYW5UYXhUeXBlLFxuICAgIHF1YW50aXR5OiAoY2FydEl0ZW0gYXMgYW55KS5xdWFudGl0eSxcbiAgICB2YXJpYXRpb25zOiBjbGVhblZhcmlhdGlvbnMsXG4gICAgdmFyaWF0aW9uc0dyb3VwczogY2xlYW5WYXJpYXRpb25zR3JvdXBzXG4gIH0sIHRydWUsIGNhcnRUb2tlbik7XG4gIGNhcnRJdGVtRW50LnNhdmUoKS5cbiAgdGhlbigoKSA9PiByZWZldGNoQ2FydChjYXJ0RW50KSkuXG4gIHRoZW4oKCkgPT4ge1xuICAgIGFsZXJ0U3VjY2VzcygnSXRlbSB1cGRhdGVkLicpO1xuICAgIGRpc3BhdGNoKHBhdGNoQ2FydEl0ZW1TdWNjZXNzKCkpO1xuICAgIHNldEFjdGl2ZVRhYih0YWJJZEl0ZW1zKTtcbiAgfSkuXG4gIHRoZW4oKCkgPT4ge1xuICAgIHNldENhcnRJdGVtKHt9LCAwKTtcbiAgfSkuXG4gIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICBkaXNwYXRjaChwYXRjaENhcnRJdGVtRXJyb3IoKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uRGVsZXRlQ2FydEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICBjb25zdCBkYXRhID0gZ2V0U3RvcmUoKTtcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgc3RhdGVDYXJ0OiB7IGNhcnQgfSB9ID0gZGF0YTtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjb25zdCBjYXJ0SXRlbXMgPSAoY2FydEVudCBhcyBhbnkpLmNhcnRJdGVtcztcbiAgY2FydEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gIChjYXJ0RW50IGFzIGFueSkuY2FydEl0ZW1zID0gY2FydEl0ZW1zO1xuICBkaXNwYXRjaChkZWxldGVDYXJ0SXRlbShpbmRleCkpO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKFxuICAgICAgKGM6IGFueSkgPT4ge1xuICAgICAgICBkaXNwYXRjaChkZWxldGVDYXJ0SXRlbVN1Y2Nlc3MoYy50b0pzb24oKSkpO1xuICAgICAgfVxuICAgICkuXG4gICAgY2F0Y2goXG4gICAgICAoZTogYW55KSA9PiB7XG4gICAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVDYXJ0SXRlbUVycm9yKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlQ2FydFNoaXBtZW50QWRkcmVzcygpIHtcbiAgY29uc3Qge1xuICAgIHVwZGF0ZVNoaXBtZW50QWRkcmVzc0Vycm9yLFxuICAgIHVwZGF0ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MsXG4gIH0gPSBzbGljZUNhcnRTaGlwbWVudC5hY3Rpb25zO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3Qge1xuICAgIHN0YXRlQ2FydDogeyBjYXJ0IH0sXG4gICAgc3RhdGVDYXJ0U2hpcG1lbnQ6IHsgcmVjZWl2ZXJBZGRyZXNzOiBhZGRyZXNzIH0sXG4gIH0gPSBnZXRTdG9yZSgpO1xuICBjb25zdCByZWNlaXZlckFkZHJlc3MgPSBtYWtlQWRkcmVzcyhhZGRyZXNzLCB0cnVlKTtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjYXJ0RW50LnJlY2VpdmVyQWRkcmVzcyA9IHJlY2VpdmVyQWRkcmVzcztcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbigoYzogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRDYXJ0KGMudG9Kc29uKCkpKTtcbiAgICAgIGdldENhcnRTaGlwbWVudEdyb3Vwc0FuZFF1b3RlcyhjLnRvSnNvbigpKS5cbiAgICAgICAgdGhlbigoY2FydFdpdGhTaGlwbWVudEdyb3VwczogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgY2FydEpzb24gPSBjYXJ0V2l0aFNoaXBtZW50R3JvdXBzO1xuICAgICAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIGRpc3BhdGNoKHNldENhcnRTaGlwbWVudEdyb3VwcyhjYXJ0SnNvbi5zaGlwbWVudEdyb3VwcykpO1xuICAgICAgICAgICAgZGlzcGF0Y2godXBkYXRlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyhjYXJ0SnNvbi5zaGlwbWVudEdyb3VwcykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KS5cbiAgICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICBkaXNwYXRjaCh1cGRhdGVTaGlwbWVudEFkZHJlc3NFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2F2ZUNhcnRTaGlwbWVudEFkZHJlc3NBbmRHb1RvTmV4dFRhYih2YWx1ZXM6IGFueSkge1xuICBjb25zdCB7IHJlY2VpdmVyQWRkcmVzczogYWRkcmVzcywgcmVjZWl2ZXJOb3RlcyB9ID0gdmFsdWVzO1xuICBjb25zdCB7XG4gICAgc2F2ZVNoaXBtZW50QWRkcmVzcyxcbiAgICBzYXZlU2hpcG1lbnRBZGRyZXNzRXJyb3IsXG4gICAgc2F2ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MsXG4gIH0gPSBzbGljZUNhcnRTaGlwbWVudC5hY3Rpb25zO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBzdGF0ZUNhcnQ6IHsgY2FydCB9IH0gPSBnZXRTdG9yZSgpO1xuICBkaXNwYXRjaChzYXZlU2hpcG1lbnRBZGRyZXNzKCkpO1xuICBjb25zdCByZWNlaXZlckFkZHJlc3MgPSBtYWtlQWRkcmVzcyhhZGRyZXNzLCB0cnVlKTtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjYXJ0RW50LnJlY2VpdmVyQWRkcmVzcyA9IHJlY2VpdmVyQWRkcmVzcztcbiAgY2FydEVudC5yZWNlaXZlck5vdGVzID0gcmVjZWl2ZXJOb3RlcztcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbigoYzogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgICBkaXNwYXRjaChzYXZlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcygpKTtcbiAgICAgICAgc2V0QWN0aXZlVGFiQW5kRWRpdERpc2FibGVkKFxuICAgICAgICAgIHt0YWJJZDogdGFiSWRDaGVja291dCwgdGFiSW5kZXhUb1NldDogMiwgZGlzYWJsZWQ6IGZhbHNlfSk7XG4gICAgICB9KTtcbiAgICB9KS5cbiAgICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICBkaXNwYXRjaChzYXZlU2hpcG1lbnRBZGRyZXNzRXJyb3IoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXR0YWNoQ2xpZW50VG9DYXJ0KGNsaWVudEpzb246IGFueSkge1xuICBjb25zdCB7XG4gICAgY3JlYXRlTmV3Q3VzdG9tZXJTdWNjZXNzOiBjcmVhdGVOZXdTdWNjZXNzLFxuICB9ID0gc2xpY2VOZXdDdXN0b21lckZvcm0uYWN0aW9ucztcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgY2FydCB9ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IGNsaWVudEVudCA9IG1ha2VVc2VyKHtpZDogY2xpZW50SnNvbi5pZH0pO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoey4uLmNhcnR9LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY2FydEVudC5jbGllbnQgPSBjbGllbnRFbnQ7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oKGM6IGFueSkgPT4ge1xuICAgICAgZGlzcGF0Y2goc2V0Q2FydChjLnRvSnNvbigpKSk7XG4gICAgICBkaXNwYXRjaChjcmVhdGVOZXdTdWNjZXNzKCkpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlKGdyb3VwSW5kZXg6IG51bWJlciwgcXVvdGU6IGFueSkge1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBzdGF0ZUNhcnQ6IHsgY2FydCB9IH0gPSBnZXRTdG9yZSgpO1xuICBjb25zdCB7XG4gICAgc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlOiBzZXRTZWxlY3RlZCxcbiAgICBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGVFcnJvcixcbiAgICBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGVTdWNjZXNzLFxuICB9ID0gc2xpY2VDYXJ0U2hpcG1lbnQuYWN0aW9ucztcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjb25zdCBjYXJ0U2hpcG1lbnRRdW90ZSA9IG1ha2VDYXJ0U2hpcG1lbnRRdW90ZShxdW90ZSk7XG4gIChjYXJ0RW50IGFzIGFueSkuc2hpcG1lbnRHcm91cHNbZ3JvdXBJbmRleF0uc2VsZWN0ZWRRdW90ZSA9IGNhcnRTaGlwbWVudFF1b3RlO1xuICBkaXNwYXRjaChzZXRTZWxlY3RlZCh7IGdyb3VwSW5kZXgsIHF1b3RlIH0pKTtcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbigoYzogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRDYXJ0KGMudG9Kc29uKCkpKTtcbiAgICAgIGRpc3BhdGNoKHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZVN1Y2Nlc3MoKSk7XG4gICAgfSkuXG4gICAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgZGlzcGF0Y2goc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlRXJyb3IoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn1cblxuY29uc3Qge1xuICBzZXRSZXR1cm5pbmdDdXN0b21lckVycm9yLFxuICB0cnlSZXR1cm5pbmdDdXN0b21lcjogdHJ5UmV0dXJuaW5nLFxuICB0cnlSZXR1cm5pbmdDdXN0b21lckVycm9yLFxuICB0cnlSZXR1cm5pbmdDdXN0b21lclN1Y2Nlc3MsXG59ID0gc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIuYWN0aW9ucztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeVJldHVybmluZ0N1c3RvbWVyKGVtYWlsQWRkcmVzczogc3RyaW5nKSB7XG4gIGRpc3BhdGNoKHRyeVJldHVybmluZygpKTtcbiAgdHJ5IHtcbiAgICBjb25zdCB1c2VyOiBhbnkgPSBhd2FpdCB0cnlSZXR1cm5pbmdDdXN0b21lckVtYWlsKGVtYWlsQWRkcmVzcyk7XG4gICAgYXdhaXQgYXR0YWNoQ2xpZW50VG9DYXJ0KHtcbiAgICAgIGVtYWlsQWRkcmVzc2VzOiBbe2VtYWlsQWRkcmVzc31dLFxuICAgICAgaWQ6IHVzZXIudXNlcl9pZCxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh0cnlSZXR1cm5pbmdDdXN0b21lclN1Y2Nlc3MoKSk7XG4gIH0gY2F0Y2goZTogYW55KSB7XG4gICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgZGlzcGF0Y2godHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvcigpKTtcbiAgICBkaXNwYXRjaChzZXRSZXR1cm5pbmdDdXN0b21lckVycm9yKHRydWUpKTtcbiAgfTtcbn1cblxuY29uc3Qge1xuICBjcmVhdGVOZXdDdXN0b21lcjogY3JlYXRlTmV3LFxuICBjcmVhdGVOZXdDdXN0b21lckVycm9yOiBjcmVhdGVOZXdFcnJvcixcbiAgY3JlYXRlTmV3Q3VzdG9tZXJTdWNjZXNzOiBjcmVhdGVOZXdTdWNjZXNzLFxufSA9IHNsaWNlTmV3Q3VzdG9tZXJGb3JtLmFjdGlvbnM7XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25DcmVhdGVOZXdDdXN0b21lcihhcGlVcmw6IHN0cmluZywgY3VzdG9tZXJKc29uOiBhbnkpIHtcbiAgY29uc3QgeyBjYXJ0IH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgY29uc3QgZG9tYWluSWQgPSBjYXJ0ICYmIChjYXJ0IGFzIGFueSkuZG9tYWluICYmIChjYXJ0IGFzIGFueSkuZG9tYWluLmlkO1xuICBkaXNwYXRjaChjcmVhdGVOZXcoKSk7XG4gIGNyZWF0ZU5ld0N1c3RvbWVyKHsuLi5jdXN0b21lckpzb24sIHJlZ2lzdGVyZWRVbmRlckRvbWFpbnM6IFt7aWQ6IGRvbWFpbklkfV19KS5cbiAgdGhlbigocjogYW55KSA9PiByLnVzZXIpLlxuICB0aGVuKGF0dGFjaENsaWVudFRvQ2FydCkuXG4gIHRoZW4oKCkgPT4gZGlzcGF0Y2goY3JlYXRlTmV3U3VjY2VzcygpKSkuXG4gIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICBkaXNwYXRjaChjcmVhdGVOZXdFcnJvcihlLmVycm9yTWVzc2FnZSkpO1xuICB9KTtcbn1cblxuY29uc3QgeyBjcmVkaXRDYXJkUGF5U3VjY2VzcyB9ID0gc2xpY2VDYXJ0UGF5bWVudC5hY3Rpb25zOyBcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGxiYWNrQ3JlZGl0Q2FyZFBheW1lbnRTdWNjZXNzKGludm9pY2VKc29uOiBhbnkpIHtcbiAgYmF0Y2goKCkgPT4ge1xuICAgIGRpc3BhdGNoKGNyZWRpdENhcmRQYXlTdWNjZXNzKGludm9pY2VKc29uKSk7XG4gICAgc2V0QWN0aXZlVGFiKHRhYklkUGF5bWVudFN1Y2Nlc3MpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY29udmVydFRvSnNvbihlbnQ6IGFueSkge1xuICBjb25zdCBqc29uID0gYXdhaXQgZW50LnRvSnNvbigpO1xuICByZXR1cm4ganNvbjtcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2FydFZhbHVlcyhjYXJ0SnNvbjogYW55KSB7XG4gIGNvbnN0IHsgaW5pdENhcnRTaGlwbWVudFNsaWNlIH0gPSBzbGljZUNhcnRTaGlwbWVudC5hY3Rpb25zO1xuICBkaXNwYXRjaChzbGljZUNhcnQuYWN0aW9ucy5mZXRjaENhcnRTdWNjZXNzKGNhcnRKc29uKSk7XG4gIGRpc3BhdGNoKGluaXRDYXJ0U2hpcG1lbnRTbGljZShjYXJ0SnNvbikpO1xufVxuXG5mdW5jdGlvbiBnZXRDYXJ0KGRvbWFpbklkOiBudW1iZXIsIGNhcnRJZEFuZFRva2VuOiBBcnJheTxzdHJpbmc+KSB7XG4gIGNvbnN0IHtcbiAgICBjYXJ0U2V0dGluZ3NJbnZhbGlkLFxuICB9ID0gc2xpY2VDYXJ0LmFjdGlvbnM7XG4gIGNvbnN0IGlkID0gTnVtYmVyKGNhcnRJZEFuZFRva2VuWzBdKTtcbiAgaWYgKGNhcnRJZEFuZFRva2VuWzFdKSB7XG4gICAgbWVyY2hpLmNhcnRUb2tlbiA9IGNhcnRJZEFuZFRva2VuWzFdO1xuICB9XG4gIGRpc3BhdGNoKGZldGNoQ2FydCgpKTtcbiAgbWVyY2hpLkNhcnQuZ2V0KGlkLCB7ZW1iZWQ6IGNhcnRFbWJlZH0pXG4gICAgLnRoZW4oY29udmVydFRvSnNvbilcbiAgICAudGhlbigoY2FydDogYW55KSA9PiB7XG4gICAgICBpZiAoc3RyaXBlSXNWYWxpZEFuZEFjdGl2ZShjYXJ0KSkge1xuICAgICAgICB1cGRhdGVDYXJ0VmFsdWVzKGNhcnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgIGBNRXJoY2kgY2FydCBlcnJvcjogU3RyaXBlIHBheW1lbnQgYCArXG4gICAgICAgICAgYG9wdGlvbnMgaGF2ZSBub3QgYmVlbiBjb3JyZWN0bHkgc2V0IHVwLiBgICtcbiAgICAgICAgICBgQ2hlY2sgdGhlIGNvbXBhbnkgcHJvZmlsZSBwYXltZW50IG9wdGlvbnMgdGFiIGAgK1xuICAgICAgICAgIGB0byBzZXQgYW5kIGVkaXQgc3RyaXBlIHBheW1lbnQgb3B0aW9ucy5gKTtcbiAgICAgICAgZGlzcGF0Y2goY2FydFNldHRpbmdzSW52YWxpZCgpKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5jYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBjcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llKGRvbWFpbklkKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkdldE1lcmNoaUNhcnQoZG9tYWluSWQ6IG51bWJlcikge1xuICBjb25zdCBjYXJ0SWRBbmRUb2tlbiA9IGF3YWl0IGdldE1lcmNoaUNhcnRDb29raWUoZG9tYWluSWQpO1xuICBpZiAoY2FydElkQW5kVG9rZW4pIHtcbiAgICBnZXRDYXJ0KGRvbWFpbklkLCBjYXJ0SWRBbmRUb2tlbik7XG4gIH0gZWxzZSB7XG4gICAgY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZShkb21haW5JZCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUNhcnRPcGVuKCkge1xuICBkaXNwYXRjaChzbGljZUNhcnQuYWN0aW9ucy50b2dnbGVDYXJ0T3BlbigpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzTWVyY2hpQ2FydEZldGNoaW5nKCkge1xuICByZXR1cm4gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQuZmV0Y2hpbmdDYXJ0O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0TWVyY2hpQ2FydFZhbHVlcygpIHtcbiAgY29uc3QgeyBjYXJ0IH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgY29uc3QgeyBjYXJ0SXRlbXMsIGN1cnJlbmN5LCBzdWJ0b3RhbENvc3QsIHRheEFtb3VudCwgdG90YWxDb3N0IH0gPSAoY2FydCBhcyBhbnkpO1xuICBjb25zdCBjYXJ0SXRlbXNDb3VudCA9IGNhcnRJdGVtcyA/IGNhcnRJdGVtcy5sZW5ndGggOiAwO1xuICByZXR1cm4ge1xuICAgIGNhcnQsXG4gICAgY2FydEl0ZW1zQ291bnQsXG4gICAgY3VycmVuY3k6IGN1cnJlbmN5IHx8ICcnLFxuICAgIHN1YnRvdGFsQ29zdDogc3VidG90YWxDb3N0IHx8IDAsXG4gICAgdGF4QW1vdW50OiB0YXhBbW91bnQgfHwgMCxcbiAgICB0b3RhbENvc3Q6IHRvdGFsQ29zdCB8fCAwLFxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9DYXJ0Q29tcGxldGUoKSB7XG4gIGNvbnN0IGRvbWFpbklkOiBhbnkgPSBnZXRTdG9yZSgpLnN0YXRlQ2FydC5kb21haW5JZDtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0UGF5bWVudC5hY3Rpb25zLmRvQ2FyZENvbXBsZXRlKCkpO1xuICBhd2FpdCBjYXJ0QW5kQ29va2llKGRvbWFpbklkKS50aGVuKCgpID0+IGxvY2F0aW9uLnJlbG9hZCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRNZXJjaGlDYXJ0KGRvbWFpbklkOiBudW1iZXIpIHtcbiAgZGlzcGF0Y2goc2V0RG9tYWluSWQoZG9tYWluSWQpKTtcbiAgYWN0aW9uR2V0TWVyY2hpQ2FydChkb21haW5JZCk7XG4gIGlmICgod2luZG93IGFzIGFueSkgJiYgKHdpbmRvdyBhcyBhbnkpICE9PSB1bmRlZmluZWQpIHtcbiAgICAod2luZG93IGFzIGFueSkuZ2V0Q2FydCA9ICgpID0+IGFjdGlvbkdldE1lcmNoaUNhcnQoZG9tYWluSWQpO1xuICAgICh3aW5kb3cgYXMgYW55KS5pc01lcmNoaUNhcnRGZXRjaGluZyA9IGlzTWVyY2hpQ2FydEZldGNoaW5nO1xuICAgICh3aW5kb3cgYXMgYW55KS5nZXRNZXJjaGlDYXJ0VmFsdWVzID0gZ2V0TWVyY2hpQ2FydFZhbHVlcztcbiAgICAod2luZG93IGFzIGFueSkudG9nZ2xlQ2FydE9wZW4gPSB0b2dnbGVDYXJ0T3BlbjtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHJvcHNNZXJjaGlDYXJ0RmV0Y2hBbmRTZXQge1xuICBjYXJ0SnNvbjogYW55O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWVyY2hpQ2FydEZldGNoQW5kU2V0KGNhcnRKc29uOiBQcm9wc01lcmNoaUNhcnRGZXRjaEFuZFNldCkge1xuICBhd2FpdCByZWZldGNoQ2FydChjYXJ0SnNvbik7XG59XG4iXSwibWFwcGluZ3MiOiIrQ0FDQSxxSkFB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
package/lib/index.js CHANGED
@@ -69,9 +69,15 @@ Object.defineProperty(exports, "isMerchiCartFetching", {
69
69
  return _store.isMerchiCartFetching;
70
70
  }
71
71
  });
72
+ Object.defineProperty(exports, "merchiCartFetchAndSet", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _store.merchiCartFetchAndSet;
76
+ }
77
+ });
72
78
  var _Cart = _interopRequireDefault(require("./Cart"));
73
79
  var _modals = require("./modals");
74
80
  var _ButtonOpenCartMerchiCartModal = require("../esm/buttons/ButtonOpenCartMerchiCartModal");
75
81
  var _store = require("./store");
76
82
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ2FydCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21vZGFscyIsIl9CdXR0b25PcGVuQ2FydE1lcmNoaUNhcnRNb2RhbCIsIl9zdG9yZSIsIm9iaiIsIl9fZXNNb2R1bGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYXJ0IGZyb20gJy4vQ2FydCc7XG5pbXBvcnQgeyBNZXJjaGlDYXJ0TW9kYWwsIE1lcmNoaVNob3BwaW5nQ2FydE1vZGFsIH0gZnJvbSAnLi9tb2RhbHMnO1xuaW1wb3J0IHsgQnV0dG9uT3BlbkNhcnQsIEJ1dHRvbkxpc3RXcmFwcGVkT3BlbkNhcnQgfSBmcm9tICcuLi9lc20vYnV0dG9ucy9CdXR0b25PcGVuQ2FydE1lcmNoaUNhcnRNb2RhbCc7XG5pbXBvcnQgeyAgXG4gIGFjdGlvbkdldE1lcmNoaUNhcnQgYXMgZ2V0TWVyY2hpQ2FydCxcbiAgYWRkQ2FydEl0ZW0gYXMgZG9BZGRDYXJ0SXRlbSxcbiAgdG9nZ2xlQ2FydE9wZW4gYXMgZG9Ub2dnbGVDYXJ0T3BlbixcbiAgZG9DYXJ0Q29tcGxldGUsXG4gIGdldE1lcmNoaUNhcnRWYWx1ZXMsICBcbiAgaXNNZXJjaGlDYXJ0RmV0Y2hpbmdcbn0gZnJvbSAnLi9zdG9yZSc7XG5cbmV4cG9ydCB7XG4gIEJ1dHRvbk9wZW5DYXJ0LFxuICBCdXR0b25MaXN0V3JhcHBlZE9wZW5DYXJ0LFxuICBDYXJ0LFxuICBkb0FkZENhcnRJdGVtLFxuICBkb0NhcnRDb21wbGV0ZSxcbiAgZG9Ub2dnbGVDYXJ0T3BlbixcbiAgZ2V0TWVyY2hpQ2FydCxcbiAgZ2V0TWVyY2hpQ2FydFZhbHVlcyxcbiAgaXNNZXJjaGlDYXJ0RmV0Y2hpbmcsXG4gIE1lcmNoaUNhcnRNb2RhbCxcbiAgTWVyY2hpU2hvcHBpbmdDYXJ0TW9kYWwsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLDhCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFPaUIsU0FBQUQsdUJBQUFLLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQSJ9
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ2FydCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX21vZGFscyIsIl9CdXR0b25PcGVuQ2FydE1lcmNoaUNhcnRNb2RhbCIsIl9zdG9yZSIsIm9iaiIsIl9fZXNNb2R1bGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYXJ0IGZyb20gJy4vQ2FydCc7XG5pbXBvcnQgeyBNZXJjaGlDYXJ0TW9kYWwsIE1lcmNoaVNob3BwaW5nQ2FydE1vZGFsIH0gZnJvbSAnLi9tb2RhbHMnO1xuaW1wb3J0IHsgQnV0dG9uT3BlbkNhcnQsIEJ1dHRvbkxpc3RXcmFwcGVkT3BlbkNhcnQgfSBmcm9tICcuLi9lc20vYnV0dG9ucy9CdXR0b25PcGVuQ2FydE1lcmNoaUNhcnRNb2RhbCc7XG5pbXBvcnQgeyAgXG4gIGFjdGlvbkdldE1lcmNoaUNhcnQgYXMgZ2V0TWVyY2hpQ2FydCxcbiAgYWRkQ2FydEl0ZW0gYXMgZG9BZGRDYXJ0SXRlbSxcbiAgdG9nZ2xlQ2FydE9wZW4gYXMgZG9Ub2dnbGVDYXJ0T3BlbixcbiAgZG9DYXJ0Q29tcGxldGUsXG4gIGdldE1lcmNoaUNhcnRWYWx1ZXMsICBcbiAgaXNNZXJjaGlDYXJ0RmV0Y2hpbmcsXG4gIG1lcmNoaUNhcnRGZXRjaEFuZFNldCxcbn0gZnJvbSAnLi9zdG9yZSc7XG5cbmV4cG9ydCB7XG4gIEJ1dHRvbk9wZW5DYXJ0LFxuICBCdXR0b25MaXN0V3JhcHBlZE9wZW5DYXJ0LFxuICBDYXJ0LFxuICBkb0FkZENhcnRJdGVtLFxuICBkb0NhcnRDb21wbGV0ZSxcbiAgZG9Ub2dnbGVDYXJ0T3BlbixcbiAgZ2V0TWVyY2hpQ2FydCxcbiAgZ2V0TWVyY2hpQ2FydFZhbHVlcyxcbiAgaXNNZXJjaGlDYXJ0RmV0Y2hpbmcsXG4gIG1lcmNoaUNhcnRGZXRjaEFuZFNldCxcbiAgTWVyY2hpQ2FydE1vZGFsLFxuICBNZXJjaGlTaG9wcGluZ0NhcnRNb2RhbCxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsOEJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQVFpQixTQUFBRCx1QkFBQUssR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBIn0=
package/lib/store.js CHANGED
@@ -20,6 +20,7 @@ exports.doClearCart = doClearCart;
20
20
  exports.getMerchiCartValues = getMerchiCartValues;
21
21
  exports.initMerchiCart = initMerchiCart;
22
22
  exports.isMerchiCartFetching = isMerchiCartFetching;
23
+ exports.merchiCartFetchAndSet = merchiCartFetchAndSet;
23
24
  exports.saveCartShipmentAddressAndGoToNextTab = saveCartShipmentAddressAndGoToNextTab;
24
25
  exports.setActiveTab = setActiveTab;
25
26
  exports.setActiveTabAndEditDisabled = setActiveTabAndEditDisabled;
@@ -854,6 +855,25 @@ function initMerchiCart(domainId) {
854
855
  };
855
856
  window.isMerchiCartFetching = isMerchiCartFetching;
856
857
  window.getMerchiCartValues = getMerchiCartValues;
858
+ window.toggleCartOpen = toggleCartOpen;
857
859
  }
858
860
  }
859
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfdG9vbGtpdCIsIl9zbGljZUNhcnQiLCJfc2xpY2VDYXJ0QWxlcnQiLCJfc2xpY2VDYXJ0SXRlbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc2xpY2VDYXJ0UGF5bWVudCIsIl9zbGljZUNhcnRTaGlwbWVudCIsIl9zbGljZU5ld0N1c3RvbWVyRm9ybTIiLCJfc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJfcmVkdWNlcnNTcXVhcmUiLCJfc2xpY2VTdHJpcGVDYXJkRm9ybSIsIl9tZXJjaGlfc2RrX3RzIiwiX2hlbHBlcnMiLCJfYWRkcmVzcyIsIl9jb29raWUiLCJfY2FydCIsIl9wcm9kdWN0IiwiX3VzZXIiLCJfam9iIiwib2JqIiwiX19lc01vZHVsZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZWplY3QiLCJfbmV4dCIsIl90aHJvdyIsImtleSIsImluZm8iLCJlcnJvciIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwiZXJyIiwidW5kZWZpbmVkIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJOdW1iZXIiLCJtZXJjaGkiLCJNZXJjaGkiLCJtZXJjaGlDYXJ0UmVkdWNlciIsInN0YXRlQ2FydEFsZXJ0Iiwic2xpY2VDYXJ0QWxlcnQiLCJyZWR1Y2VyIiwic3RhdGVDYXJ0SXRlbSIsInNsaWNlQ2FydEl0ZW0iLCJzdGF0ZUNhcnRQYXltZW50Iiwic2xpY2VDYXJ0UGF5bWVudCIsInN0YXRlQ2FydFNoaXBtZW50Iiwic2xpY2VDYXJ0U2hpcG1lbnQiLCJzdGF0ZUNhcnQiLCJzbGljZUNhcnQiLCJzdGF0ZU5ld0N1c3RvbWVyRm9ybSIsInNsaWNlTmV3Q3VzdG9tZXJGb3JtIiwic3RhdGVGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lciIsInJlZHVjZXJzU3F1YXJlIiwic2xpY2VTdHJpcGVDYXJkRm9ybSIsInN0b3JlIiwiZXhwb3J0cyIsImNvbmZpZ3VyZVN0b3JlIiwibWlkZGxld2FyZSIsImdldERlZmF1bHRNaWRkbGV3YXJlIiwic2VyaWFsaXphYmxlQ2hlY2siLCJnZXRTdG9yZSIsImdldFN0YXRlIiwiX3NsaWNlQ2FydCRhY3Rpb25zIiwiYWN0aW9ucyIsImRlbGV0ZUNhcnRJdGVtIiwiZGVsZXRlQ2FydEl0ZW1FcnJvciIsImRlbGV0ZUNhcnRJdGVtU3VjY2VzcyIsImZldGNoQ2FydCIsImZldGNoQ2FydEVycm9yIiwiZmV0Y2hDYXJ0U3VjY2VzcyIsImZldGNoVGhlbWUiLCJmZXRjaFRoZW1lRXJyb3IiLCJmZXRjaFRoZW1lU3VjY2VzcyIsInNldENhcnQiLCJzZXRDYXJ0Q2xpZW50Iiwic2V0RG9tYWluSWQiLCJzZXRDYXJ0U2hpcG1lbnRHcm91cHMiLCJnZXRDYXJ0VG9rZW4iLCJfZ2V0Q2FydFRva2VuIiwiX2NhbGxlZSIsImRvbWFpbklkIiwiY2FydElkQW5kVG9rZW4iLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiZ2V0TWVyY2hpQ2FydENvb2tpZSIsInQwIiwiZGlzcGF0Y2giLCJheHRpb25TZXRDYXJ0Q2xpZW50IiwiY2xpZW50Iiwic2V0Q2FydEl0ZW0iLCJjYXJ0SXRlbSIsImluZGV4IiwiYmF0Y2giLCJpZCIsInNldEFjdGl2ZVRhYiIsInRhYklkSXRlbSIsInRhYklkSXRlbXMiLCJ0YWJJZCIsInNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZCIsInNldHRpbmdzIiwiY2xvc2VBbGVydCIsImNsb3NlQ2xlYXJDYXJ0IiwiYWxlcnRFcnJvciIsIm1lc3NhZ2UiLCJzaG93QWxlcnREYW5nZXIiLCJ0aXRsZSIsImFsZXJ0U3VjY2VzcyIsInNob3dBbGVydFN1Y2Nlc3MiLCJhY3Rpb25GZXRjaFRoZW1lIiwiRG9tYWluIiwiZ2V0IiwiZW1iZWQiLCJhY3RpdmVUaGVtZSIsIm1haW5Dc3MiLCJkb21haW4iLCJ0aGVtZSIsImFwcGVuZFN0eWxlU2hlZXRUZXh0IiwiZXJyb3JNZXNzYWdlIiwiY2FydEFuZENvb2tpZSIsIl94IiwiX2NhcnRBbmRDb29raWUiLCJfY2FsbGVlMiIsImNhcnQiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJtYWtlQ2FydCIsImNhcnRFbWJlZCIsInNldENhcnRDb29raWUiLCJ0b0pzb24iLCJjSnNvbiIsImNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUiLCJfeDIiLCJfY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZSIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZG9DbGVhckNhcnQiLCJfZG9DbGVhckNhcnQiLCJfY2FsbGVlNCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImFkZENhcnRJdGVtIiwiX3gzIiwiX3g0IiwiX3g1IiwiX2FkZENhcnRJdGVtIiwiX2NhbGxlZTUiLCJqb2JKc29uIiwib25TdWNjZXNzIiwib25FcnJvciIsImpvYkVudCIsImRhdGEiLCJjYXJ0VG9rZW4iLCJjYXJ0RW50IiwiY2FydEl0ZW1FbnQiLCJjYXJ0SXRlbVByb2R1Y3QiLCJpdGVtIiwiaXRlbUpzb24iLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJtYWtlSm9iIiwibWFrZUNhcnRJdGVtIiwibWFrZVByb2R1Y3QiLCJwcm9kdWN0IiwicXVhbnRpdHkiLCJ2YXJpYXRpb25zIiwidmFyaWF0aW9uc0dyb3VwcyIsInRheFR5cGUiLCJyZWZldGNoQ2FydCIsIl94NiIsIl9yZWZldGNoQ2FydCIsIl9jYWxsZWU2IiwiX2NhbGxlZTYkIiwiX2NvbnRleHQ2IiwidG9rZW4iLCJDYXJ0IiwiY29udmVydFRvSnNvbiIsInVwZGF0ZUNhcnRWYWx1ZXMiLCJfc2xpY2VDYXJ0SXRlbSRhY3Rpb24iLCJwYXRjaENhcnRJdGVtIiwicGF0Y2hDYXJ0SXRlbUVycm9yIiwicGF0Y2hDYXJ0SXRlbVN1Y2Nlc3MiLCJjbGVhblZhcmlhdGlvbiIsInZhcmlhdGlvbiIsInZhcmlhdGlvbkZpbGVzIiwibWFwIiwiYWN0aW9uQ2FydEl0ZW1FZGl0IiwiX3g3IiwiX2FjdGlvbkNhcnRJdGVtRWRpdCIsIl9jYWxsZWU3IiwiX2RhdGEkc3RhdGVDYXJ0SXRlbSIsIl9jYXJ0SXRlbSR2YXJpYXRpb25zIiwiX2NhcnRJdGVtJHZhcmlhdGlvbnNHIiwiY2xlYW5WYXJpYXRpb25zIiwiY2xlYW5WYXJpYXRpb25zR3JvdXBzIiwiY2xlYW5Qcm9kdWN0IiwiY2xlYW5UYXhUeXBlIiwiX2NhbGxlZTckIiwiX2NvbnRleHQ3IiwiX2ckdmFyaWF0aW9ucyIsInNhdmUiLCJhY3Rpb25EZWxldGVDYXJ0SXRlbSIsIl94OCIsIl9hY3Rpb25EZWxldGVDYXJ0SXRlbSIsIl9jYWxsZWU4IiwiY2FydEl0ZW1zIiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4Iiwic3BsaWNlIiwidXBkYXRlQ2FydFNoaXBtZW50QWRkcmVzcyIsIl91cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzIiwiX2NhbGxlZTkiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMiLCJ1cGRhdGVTaGlwbWVudEFkZHJlc3NFcnJvciIsInVwZGF0ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MiLCJfZ2V0U3RvcmUiLCJhZGRyZXNzIiwicmVjZWl2ZXJBZGRyZXNzIiwiX2NhbGxlZTkkIiwiX2NvbnRleHQ5IiwibWFrZUFkZHJlc3MiLCJnZXRDYXJ0U2hpcG1lbnRHcm91cHNBbmRRdW90ZXMiLCJjYXJ0V2l0aFNoaXBtZW50R3JvdXBzIiwiY2FydEpzb24iLCJzaGlwbWVudEdyb3VwcyIsInNhdmVDYXJ0U2hpcG1lbnRBZGRyZXNzQW5kR29Ub05leHRUYWIiLCJfeDkiLCJfc2F2ZUNhcnRTaGlwbWVudEFkZHJlc3NBbmRHb1RvTmV4dFRhYiIsIl9jYWxsZWUxMCIsInJlY2VpdmVyTm90ZXMiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMyIiwic2F2ZVNoaXBtZW50QWRkcmVzcyIsInNhdmVTaGlwbWVudEFkZHJlc3NFcnJvciIsInNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzIiwiX2dldFN0b3JlMiIsIl9jYWxsZWUxMCQiLCJfY29udGV4dDEwIiwidGFiSWRDaGVja291dCIsInRhYkluZGV4VG9TZXQiLCJkaXNhYmxlZCIsImF0dGFjaENsaWVudFRvQ2FydCIsIl94MTAiLCJfYXR0YWNoQ2xpZW50VG9DYXJ0IiwiX2NhbGxlZTExIiwiY2xpZW50SnNvbiIsImNyZWF0ZU5ld1N1Y2Nlc3MiLCJjbGllbnRFbnQiLCJfY2FsbGVlMTEkIiwiX2NvbnRleHQxMSIsImNyZWF0ZU5ld0N1c3RvbWVyU3VjY2VzcyIsIm1ha2VVc2VyIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX3gxMSIsIl94MTIiLCJfc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyIiwiZ3JvdXBJbmRleCIsInF1b3RlIiwiX2dldFN0b3JlMyIsIl9zbGljZUNhcnRTaGlwbWVudCRhYzMiLCJzZXRTZWxlY3RlZCIsInNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcyIsImNhcnRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyJCIsIl9jb250ZXh0MTIiLCJtYWtlQ2FydFNoaXBtZW50UXVvdGUiLCJzZWxlY3RlZFF1b3RlIiwiX3NsaWNlRm9ybVJldHVybmluZ0N1Iiwic2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZyIsInRyeVJldHVybmluZ0N1c3RvbWVyIiwidHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcyIsIl94MTMiLCJfdHJ5UmV0dXJuaW5nQ3VzdG9tZXIiLCJfY2FsbGVlMTMiLCJlbWFpbEFkZHJlc3MiLCJ1c2VyIiwiX2NhbGxlZTEzJCIsIl9jb250ZXh0MTMiLCJ0cnlSZXR1cm5pbmdDdXN0b21lckVtYWlsIiwiZW1haWxBZGRyZXNzZXMiLCJ1c2VyX2lkIiwiX3NsaWNlTmV3Q3VzdG9tZXJGb3JtIiwiY3JlYXRlTmV3IiwiY3JlYXRlTmV3Q3VzdG9tZXIiLCJjcmVhdGVOZXdFcnJvciIsImNyZWF0ZU5ld0N1c3RvbWVyRXJyb3IiLCJhY3Rpb25DcmVhdGVOZXdDdXN0b21lciIsImFwaVVybCIsImN1c3RvbWVySnNvbiIsInJlZ2lzdGVyZWRVbmRlckRvbWFpbnMiLCJjcmVkaXRDYXJkUGF5U3VjY2VzcyIsImNhbGxiYWNrQ3JlZGl0Q2FyZFBheW1lbnRTdWNjZXNzIiwiaW52b2ljZUpzb24iLCJ0YWJJZFBheW1lbnRTdWNjZXNzIiwiX3gxNCIsIl9jb252ZXJ0VG9Kc29uIiwiX2NhbGxlZTE0IiwiZW50IiwianNvbiIsIl9jYWxsZWUxNCQiLCJfY29udGV4dDE0IiwiaW5pdENhcnRTaGlwbWVudFNsaWNlIiwiZ2V0Q2FydCIsImNhcnRTZXR0aW5nc0ludmFsaWQiLCJzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlIiwiY29uc29sZSIsImFjdGlvbkdldE1lcmNoaUNhcnQiLCJfeDE1IiwiX2FjdGlvbkdldE1lcmNoaUNhcnQiLCJfY2FsbGVlMTUiLCJfY2FsbGVlMTUkIiwiX2NvbnRleHQxNSIsInRvZ2dsZUNhcnRPcGVuIiwiaXNNZXJjaGlDYXJ0RmV0Y2hpbmciLCJfaXNNZXJjaGlDYXJ0RmV0Y2hpbmciLCJfY2FsbGVlMTYiLCJfY2FsbGVlMTYkIiwiX2NvbnRleHQxNiIsImZldGNoaW5nQ2FydCIsImdldE1lcmNoaUNhcnRWYWx1ZXMiLCJfZ2V0TWVyY2hpQ2FydFZhbHVlcyIsIl9jYWxsZWUxNyIsIl9yZWYiLCJjdXJyZW5jeSIsInN1YnRvdGFsQ29zdCIsInRheEFtb3VudCIsInRvdGFsQ29zdCIsImNhcnRJdGVtc0NvdW50IiwiX2NhbGxlZTE3JCIsIl9jb250ZXh0MTciLCJkb0NhcnRDb21wbGV0ZSIsIl9kb0NhcnRDb21wbGV0ZSIsIl9jYWxsZWUxOCIsIl9jYWxsZWUxOCQiLCJfY29udGV4dDE4IiwiZG9DYXJkQ29tcGxldGUiLCJsb2NhdGlvbiIsInJlbG9hZCIsImluaXRNZXJjaGlDYXJ0Iiwid2luZG93Il0sInNvdXJjZXMiOlsiLi4vc3JjL3N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgY29uZmlndXJlU3RvcmUgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7XG4gIHNsaWNlQ2FydCxcbiAgdGFiSWRDaGVja291dCxcbiAgdGFiSWRJdGVtLFxuICB0YWJJZEl0ZW1zLFxuICB0YWJJZFBheW1lbnRTdWNjZXNzLFxufSBmcm9tICcuL3NsaWNlcy9zbGljZUNhcnQnO1xuaW1wb3J0IHsgc2xpY2VDYXJ0QWxlcnQgfSBmcm9tICcuL3NsaWNlcy9zbGljZUNhcnRBbGVydCc7XG5pbXBvcnQgc2xpY2VDYXJ0SXRlbSBmcm9tICcuL3NsaWNlcy9zbGljZUNhcnRJdGVtJztcbmltcG9ydCB7IHNsaWNlQ2FydFBheW1lbnQgfSBmcm9tICcuL3NsaWNlcy9zbGljZUNhcnRQYXltZW50JztcbmltcG9ydCB7IHNsaWNlQ2FydFNoaXBtZW50IH0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0U2hpcG1lbnQnO1xuaW1wb3J0IHNsaWNlTmV3Q3VzdG9tZXJGb3JtIGZyb20gJy4vc2xpY2VzL3NsaWNlTmV3Q3VzdG9tZXJGb3JtJztcbmltcG9ydCBzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lciBmcm9tICcuL3NsaWNlcy9zbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lcic7XG5pbXBvcnQgcmVkdWNlcnNTcXVhcmUgZnJvbSAnLi9zcXVhcmUvc2xpY2VzL3JlZHVjZXJzU3F1YXJlJztcbmltcG9ydCBzbGljZVN0cmlwZUNhcmRGb3JtIGZyb20gJy4vc3RyaXBlL3NsaWNlcy9zbGljZVN0cmlwZUNhcmRGb3JtJztcbmltcG9ydCB7IE1lcmNoaSB9IGZyb20gJ21lcmNoaV9zZGtfdHMnO1xuaW1wb3J0IHsgY2FydEVtYmVkIH0gZnJvbSAnLi91dGlsaXRpZXMvaGVscGVycyc7XG5pbXBvcnQgeyBtYWtlQWRkcmVzcyB9IGZyb20gJy4vdXRpbGl0aWVzL2FkZHJlc3MnO1xuaW1wb3J0IHtcbiAgZ2V0Q2FydENvb2tpZSBhcyBnZXRNZXJjaGlDYXJ0Q29va2llLFxuICBzZXRDYXJ0Q29va2llLFxufSBmcm9tICcuL3V0aWxpdGllcy9jb29raWUnO1xuaW1wb3J0IHtcbiAgZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzLFxuICBtYWtlQ2FydCxcbiAgbWFrZUNhcnRJdGVtLFxuICBtYWtlQ2FydFNoaXBtZW50UXVvdGUsXG4gIHN0cmlwZUlzVmFsaWRBbmRBY3RpdmUsXG59IGZyb20gJy4vdXRpbGl0aWVzL2NhcnQnO1xuaW1wb3J0IHsgbWFrZVByb2R1Y3QgfSBmcm9tICcuL3V0aWxpdGllcy9wcm9kdWN0JztcbmltcG9ydCB7XG4gIG1ha2VVc2VyLFxuICBjcmVhdGVOZXdDdXN0b21lcixcbiAgdHJ5UmV0dXJuaW5nQ3VzdG9tZXJFbWFpbCxcbn0gZnJvbSAnLi91dGlsaXRpZXMvdXNlcic7XG5pbXBvcnQgeyBhcHBlbmRTdHlsZVNoZWV0VGV4dCB9IGZyb20gJy4vdXRpbGl0aWVzL2hlbHBlcnMnO1xuaW1wb3J0IHsgbWFrZUpvYiB9IGZyb20gJy4vdXRpbGl0aWVzL2pvYic7XG5cbmNvbnN0IG1lcmNoaSA9IG5ldyBNZXJjaGkoKTtcblxuY29uc3QgbWVyY2hpQ2FydFJlZHVjZXIgPSB7XG4gIHN0YXRlQ2FydEFsZXJ0OiBzbGljZUNhcnRBbGVydC5yZWR1Y2VyLFxuICBzdGF0ZUNhcnRJdGVtOiBzbGljZUNhcnRJdGVtLnJlZHVjZXIsXG4gIHN0YXRlQ2FydFBheW1lbnQ6IHNsaWNlQ2FydFBheW1lbnQucmVkdWNlcixcbiAgc3RhdGVDYXJ0U2hpcG1lbnQ6IHNsaWNlQ2FydFNoaXBtZW50LnJlZHVjZXIsXG4gIHN0YXRlQ2FydDogc2xpY2VDYXJ0LnJlZHVjZXIsXG4gIHN0YXRlTmV3Q3VzdG9tZXJGb3JtOiBzbGljZU5ld0N1c3RvbWVyRm9ybS5yZWR1Y2VyLFxuICBzdGF0ZUZvcm1SZXR1cm5pbmdDdXN0b21lcjogc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIucmVkdWNlcixcblxuICAvLyBTcXVhcmUgc2xpY2VzXG4gIC4uLnJlZHVjZXJzU3F1YXJlLFxuXG4gIC8vIFN0cmlwZSBzbGljZXNcbiAgLi4uc2xpY2VTdHJpcGVDYXJkRm9ybSxcbn07XG5cbmV4cG9ydCBjb25zdCBzdG9yZSA9IGNvbmZpZ3VyZVN0b3JlKHtcbiAgbWlkZGxld2FyZTogKGdldERlZmF1bHRNaWRkbGV3YXJlKSA9PiBnZXREZWZhdWx0TWlkZGxld2FyZSh7IHNlcmlhbGl6YWJsZUNoZWNrOiBmYWxzZSB9KSxcbiAgcmVkdWNlcjogbWVyY2hpQ2FydFJlZHVjZXIsXG59KTtcblxuZnVuY3Rpb24gZ2V0U3RvcmUoKSB7XG4gIHJldHVybiBzdG9yZS5nZXRTdGF0ZSgpO1xufVxuXG5jb25zdCB7XG4gIGRlbGV0ZUNhcnRJdGVtLFxuICBkZWxldGVDYXJ0SXRlbUVycm9yLFxuICBkZWxldGVDYXJ0SXRlbVN1Y2Nlc3MsXG4gIGZldGNoQ2FydCxcbiAgZmV0Y2hDYXJ0RXJyb3IsXG4gIGZldGNoQ2FydFN1Y2Nlc3MsXG4gIGZldGNoVGhlbWUsXG4gIGZldGNoVGhlbWVFcnJvcixcbiAgZmV0Y2hUaGVtZVN1Y2Nlc3MsXG4gIHNldENhcnQsXG4gIHNldENhcnRDbGllbnQsXG4gIHNldERvbWFpbklkLFxuICBzZXRDYXJ0U2hpcG1lbnRHcm91cHMsXG59ID0gc2xpY2VDYXJ0LmFjdGlvbnM7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldENhcnRUb2tlbigpIHtcbiAgY29uc3QgeyBkb21haW5JZCB9ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IGNhcnRJZEFuZFRva2VuID0gZG9tYWluSWQgPyBhd2FpdCBnZXRNZXJjaGlDYXJ0Q29va2llKE51bWJlcihkb21haW5JZCkpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gY2FydElkQW5kVG9rZW4gJiYgY2FydElkQW5kVG9rZW5bMV0gPyBjYXJ0SWRBbmRUb2tlblsxXSA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2gobWV0aG9kOiBhbnkpIHtcbiAgc3RvcmUuZGlzcGF0Y2gobWV0aG9kKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4dGlvblNldENhcnRDbGllbnQoY2xpZW50OiBhbnkpIHtcbiAgZGlzcGF0Y2goc2V0Q2FydENsaWVudChjbGllbnQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENhcnRJdGVtKGNhcnRJdGVtOiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgYmF0Y2goKCkgPT4ge1xuICAgIGlmIChjYXJ0SXRlbSAmJiBjYXJ0SXRlbS5pZCkge1xuICAgICAgc2V0QWN0aXZlVGFiKHRhYklkSXRlbSk7XG4gICAgICBkaXNwYXRjaChzbGljZUNhcnRJdGVtLmFjdGlvbnMuc2V0Q2FydEl0ZW0oeyBjYXJ0SXRlbSwgaW5kZXggfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBY3RpdmVUYWIodGFiSWRJdGVtcyk7XG4gICAgICBkaXNwYXRjaChzbGljZUNhcnRJdGVtLmFjdGlvbnMuc2V0Q2FydEl0ZW0oeyBjYXJ0SXRlbTogbnVsbCwgaW5kZXggfSkpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBY3RpdmVUYWIodGFiSWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChzbGljZUNhcnQuYWN0aW9ucy5zZXRBY3RpdmVUYWIodGFiSWQpKTtcbn1cblxuaW50ZXJmYWNlIHNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZFByb3BzIHtcbiAgdGFiSWQ6IG51bWJlcjtcbiAgdGFiSW5kZXhUb1NldDogbnVtYmVyO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZChzZXR0aW5nczogc2V0QWN0aXZlVGFiQW5kRWRpdERpc2FibGVkUHJvcHMpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuc2V0QWN0aXZlVGFiQW5kRWRpdERpc2FibGVkKHNldHRpbmdzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZUFsZXJ0KCkge1xuICBkaXNwYXRjaChzbGljZUNhcnRBbGVydC5hY3Rpb25zLmNsb3NlQWxlcnQoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZUNsZWFyQ2FydCgpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuc2V0QWN0aXZlVGFiKHRhYklkSXRlbXMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsZXJ0RXJyb3IobWVzc2FnZTogc3RyaW5nKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydEFsZXJ0LmFjdGlvbnMuc2hvd0FsZXJ0RGFuZ2VyKFxuICAgIHsgbWVzc2FnZSwgdGl0bGU6ICdFcnJvciEnIH0pKTtcbn1cblxuZnVuY3Rpb24gYWxlcnRTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZykge1xuICBkaXNwYXRjaChzbGljZUNhcnRBbGVydC5hY3Rpb25zLnNob3dBbGVydFN1Y2Nlc3MoXG4gICAgeyBtZXNzYWdlLCB0aXRsZTogJ1N1Y2Nlc3MhJyB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25GZXRjaFRoZW1lKGlkOiBudW1iZXIpIHtcbiAgZGlzcGF0Y2goZmV0Y2hUaGVtZSgpKVxuICBtZXJjaGkuRG9tYWluLmdldChpZCwge2VtYmVkOiB7YWN0aXZlVGhlbWU6IHttYWluQ3NzOiB7fX19fSlcbiAgICAudGhlbigoZG9tYWluOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBkb21haW4uYWN0aXZlVGhlbWU7XG4gICAgfSlcbiAgICAudGhlbigodGhlbWU6IGFueSkgPT4ge1xuICAgICAgYXBwZW5kU3R5bGVTaGVldFRleHQodGhlbWUubWFpbkNzcywgKCkgPT4gZGlzcGF0Y2goZmV0Y2hUaGVtZVN1Y2Nlc3MoKSkpO1xuICAgIH0pXG4gICAgLmNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hUaGVtZUVycm9yKCkpO1xuICAgIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjYXJ0QW5kQ29va2llKGRvbWFpbklkOiBudW1iZXIpIHtcbiAgY29uc3QgY2FydCA9IG1ha2VDYXJ0KHtkb21haW46IHtpZDogZG9tYWluSWR9fSwgdHJ1ZSk7XG4gIHJldHVybiBjYXJ0LmNyZWF0ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pXG4gICAgLnRoZW4oKGM6IGFueSkgPT4ge1xuICAgICAgaWYgKGRvbWFpbklkKSB7XG4gICAgICAgIHNldENhcnRDb29raWUoTnVtYmVyKGRvbWFpbklkKSwgYy50b0pzb24oKSwgdW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjLnRvSnNvbigpO1xuICAgIH0pXG4gICAgLnRoZW4oKGNKc29uOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKGZldGNoQ2FydFN1Y2Nlc3MoY0pzb24pKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UgfHwgJ1VuYWJsZSB0byBmZXRjaCBjYXJ0LicpO1xuICAgICAgICBkaXNwYXRjaChmZXRjaENhcnRFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZShkb21haW5JZDogbnVtYmVyKSB7XG4gIGRpc3BhdGNoKGZldGNoQ2FydCgpKTtcbiAgYXdhaXQgY2FydEFuZENvb2tpZShkb21haW5JZCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0NsZWFyQ2FydCgpIHtcbiAgY29uc3QgeyBkb21haW5JZCB9ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQ7XG4gIGRpc3BhdGNoKHNldENhcnQoe30pKTtcbiAgY2xvc2VDbGVhckNhcnQoKTtcbiAgYXdhaXQgY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZSgoZG9tYWluSWQgYXMgYW55KSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRDYXJ0SXRlbShcbiAgam9iSnNvbjogYW55LFxuICBvblN1Y2Nlc3M6IChjYXJ0SXRlbTogYW55KSA9PiB2b2lkLFxuICBvbkVycm9yOiAoZTogYW55KSA9PiB2b2lkLFxuKSB7XG4gIGNvbnN0IGpvYkVudCA9IG1ha2VKb2Ioam9iSnNvbiwgdHJ1ZSk7XG4gIGNvbnN0IGRhdGEgPSBnZXRTdG9yZSgpO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBjYXJ0IH0gPSBkYXRhLnN0YXRlQ2FydDtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjb25zdCBjYXJ0SXRlbUVudCA9IG1ha2VDYXJ0SXRlbSh7fSwgdHJ1ZSk7XG4gIGNvbnN0IGNhcnRJdGVtUHJvZHVjdCA9IG1ha2VQcm9kdWN0KHsgaWQ6IChqb2JFbnQucHJvZHVjdCBhcyBhbnkpLmlkIH0pO1xuICBjYXJ0SXRlbUVudC5jYXJ0ID0gY2FydEVudDtcbiAgY2FydEl0ZW1FbnQucXVhbnRpdHkgPSBqb2JFbnQucXVhbnRpdHk7XG4gIGNhcnRJdGVtRW50LnByb2R1Y3QgPSBjYXJ0SXRlbVByb2R1Y3Q7XG4gIGNhcnRJdGVtRW50LnZhcmlhdGlvbnMgPSBqb2JFbnQudmFyaWF0aW9ucztcbiAgY2FydEl0ZW1FbnQudmFyaWF0aW9uc0dyb3VwcyA9IGpvYkVudC52YXJpYXRpb25zR3JvdXBzO1xuICBjYXJ0SXRlbUVudC50YXhUeXBlID0gam9iRW50LnRheFR5cGU7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IGF3YWl0IGNhcnRJdGVtRW50LmNyZWF0ZSgpO1xuICAgIGNvbnN0IGl0ZW1Kc29uID0gYXdhaXQgaXRlbS50b0pzb24oKTtcbiAgICBvblN1Y2Nlc3MoaXRlbUpzb24pO1xuICB9IGNhdGNoKGU6IGFueSkge1xuICAgIG9uRXJyb3IoZSk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVmZXRjaENhcnQoY2FydEVudDogYW55KSB7XG4gIG1lcmNoaS5jYXJ0VG9rZW4gPSBjYXJ0RW50LnRva2VuO1xuICBhd2FpdCBtZXJjaGkuQ2FydC5nZXQoY2FydEVudC5pZCwge2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKGNvbnZlcnRUb0pzb24pLlxuICAgIHRoZW4odXBkYXRlQ2FydFZhbHVlcylcbn1cblxuY29uc3Qge1xuICBwYXRjaENhcnRJdGVtLFxuICBwYXRjaENhcnRJdGVtRXJyb3IsXG4gIHBhdGNoQ2FydEl0ZW1TdWNjZXNzLFxufSA9IHNsaWNlQ2FydEl0ZW0uYWN0aW9ucztcblxuZnVuY3Rpb24gY2xlYW5WYXJpYXRpb24odmFyaWF0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICBpZDogdmFyaWF0aW9uLmlkLFxuICAgIHZhbHVlOiB2YXJpYXRpb24udmFsdWUsXG4gICAgdmFyaWF0aW9uRmlsZXM6IHZhcmlhdGlvbi52YXJpYXRpb25GaWxlcy5tYXAoKGY6IGFueSkgPT4gKHtpZDogZi5pZH0pKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uQ2FydEl0ZW1FZGl0KGNhcnRJdGVtOiBhbnkpIHtcbiAgZGlzcGF0Y2gocGF0Y2hDYXJ0SXRlbSgpKTtcbiAgY29uc3QgZGF0YSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IGNhcnQgfSA9IGRhdGEuc3RhdGVDYXJ0O1xuICBjb25zdCB7IGNhcnRJdGVtOiBzdGF0ZUNhcnRJdGVtLCBpbmRleCB9ID0gZGF0YS5zdGF0ZUNhcnRJdGVtO1xuICBjb25zdCB7IHByb2R1Y3QsIHRheFR5cGUsIHZhcmlhdGlvbnMgPSBbXSwgdmFyaWF0aW9uc0dyb3VwcyA9IFtdIH0gPSBjYXJ0SXRlbTtcbiAgY29uc3QgY2xlYW5WYXJpYXRpb25zID0gdmFyaWF0aW9ucy5tYXAoY2xlYW5WYXJpYXRpb24pO1xuICBjb25zdCBjbGVhblZhcmlhdGlvbnNHcm91cHMgPSB2YXJpYXRpb25zR3JvdXBzLm1hcCgoZzogYW55KSA9PiAoe1xuICAgIGlkOiBnLmlkLFxuICAgIHF1YW50aXR5OiBnLnF1YW50aXR5LFxuICAgIHZhcmlhdGlvbnM6IGcudmFyaWF0aW9ucz8ubWFwKGNsZWFuVmFyaWF0aW9uKSB8fCBbXVxuICB9KSk7XG4gIGNvbnN0IGNsZWFuUHJvZHVjdCA9IHByb2R1Y3QgPyB7aWQ6IHByb2R1Y3QuaWR9IDogdW5kZWZpbmVkO1xuICBjb25zdCBjbGVhblRheFR5cGUgPSB0YXhUeXBlID8ge2lkOiB0YXhUeXBlLmlkfSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KGNhcnQsIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjb25zdCBqb2JFbnQgPSBtYWtlSm9iKGNhcnRJdGVtKTtcbiAgY29uc3QgY2FydEl0ZW1FbnQgPSBtYWtlQ2FydEl0ZW0oe1xuICAgIC4uLmNhcnRJdGVtLFxuICAgIGlkOiAoc3RhdGVDYXJ0SXRlbSBhcyBhbnkpLmlkLFxuICAgIGNhcnQ6IHtpZDogKGNhcnQgYXMgYW55KS5pZH0sXG4gICAgcHJvZHVjdDogY2xlYW5Qcm9kdWN0LFxuICAgIHRheFR5cGU6IGNsZWFuVGF4VHlwZSxcbiAgICBxdWFudGl0eTogKGNhcnRJdGVtIGFzIGFueSkucXVhbnRpdHksXG4gICAgdmFyaWF0aW9uczogY2xlYW5WYXJpYXRpb25zLFxuICAgIHZhcmlhdGlvbnNHcm91cHM6IGNsZWFuVmFyaWF0aW9uc0dyb3Vwc1xuICB9LCB0cnVlLCBjYXJ0VG9rZW4pO1xuICBjYXJ0SXRlbUVudC5zYXZlKCkuXG4gIHRoZW4oKCkgPT4gcmVmZXRjaENhcnQoY2FydEVudCkpLlxuICB0aGVuKCgpID0+IHtcbiAgICBhbGVydFN1Y2Nlc3MoJ0l0ZW0gdXBkYXRlZC4nKTtcbiAgICBkaXNwYXRjaChwYXRjaENhcnRJdGVtU3VjY2VzcygpKTtcbiAgICBzZXRBY3RpdmVUYWIodGFiSWRJdGVtcyk7XG4gIH0pLlxuICB0aGVuKCgpID0+IHtcbiAgICBzZXRDYXJ0SXRlbSh7fSwgMCk7XG4gIH0pLlxuICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgZGlzcGF0Y2gocGF0Y2hDYXJ0SXRlbUVycm9yKCkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkRlbGV0ZUNhcnRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgY29uc3QgZGF0YSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IHN0YXRlQ2FydDogeyBjYXJ0IH0gfSA9IGRhdGE7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3QgY2FydEl0ZW1zID0gKGNhcnRFbnQgYXMgYW55KS5jYXJ0SXRlbXM7XG4gIGNhcnRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAoY2FydEVudCBhcyBhbnkpLmNhcnRJdGVtcyA9IGNhcnRJdGVtcztcbiAgZGlzcGF0Y2goZGVsZXRlQ2FydEl0ZW0oaW5kZXgpKTtcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbihcbiAgICAgIChjOiBhbnkpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goZGVsZXRlQ2FydEl0ZW1TdWNjZXNzKGMudG9Kc29uKCkpKTtcbiAgICAgIH1cbiAgICApLlxuICAgIGNhdGNoKFxuICAgICAgKGU6IGFueSkgPT4ge1xuICAgICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlQ2FydEl0ZW1FcnJvcigpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUNhcnRTaGlwbWVudEFkZHJlc3MoKSB7XG4gIGNvbnN0IHtcbiAgICB1cGRhdGVTaGlwbWVudEFkZHJlc3NFcnJvcixcbiAgICB1cGRhdGVTaGlwbWVudEFkZHJlc3NTdWNjZXNzLFxuICB9ID0gc2xpY2VDYXJ0U2hpcG1lbnQuYWN0aW9ucztcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHtcbiAgICBzdGF0ZUNhcnQ6IHsgY2FydCB9LFxuICAgIHN0YXRlQ2FydFNoaXBtZW50OiB7IHJlY2VpdmVyQWRkcmVzczogYWRkcmVzcyB9LFxuICB9ID0gZ2V0U3RvcmUoKTtcbiAgY29uc3QgcmVjZWl2ZXJBZGRyZXNzID0gbWFrZUFkZHJlc3MoYWRkcmVzcywgdHJ1ZSk7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY2FydEVudC5yZWNlaXZlckFkZHJlc3MgPSByZWNlaXZlckFkZHJlc3M7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oKGM6IGFueSkgPT4ge1xuICAgICAgZGlzcGF0Y2goc2V0Q2FydChjLnRvSnNvbigpKSk7XG4gICAgICBnZXRDYXJ0U2hpcG1lbnRHcm91cHNBbmRRdW90ZXMoYy50b0pzb24oKSkuXG4gICAgICAgIHRoZW4oKGNhcnRXaXRoU2hpcG1lbnRHcm91cHM6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhcnRKc29uID0gY2FydFdpdGhTaGlwbWVudEdyb3VwcztcbiAgICAgICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICBkaXNwYXRjaChzZXRDYXJ0U2hpcG1lbnRHcm91cHMoY2FydEpzb24uc2hpcG1lbnRHcm91cHMpKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHVwZGF0ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MoY2FydEpzb24uc2hpcG1lbnRHcm91cHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSkuXG4gICAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgZGlzcGF0Y2godXBkYXRlU2hpcG1lbnRBZGRyZXNzRXJyb3IoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVDYXJ0U2hpcG1lbnRBZGRyZXNzQW5kR29Ub05leHRUYWIodmFsdWVzOiBhbnkpIHtcbiAgY29uc3QgeyByZWNlaXZlckFkZHJlc3M6IGFkZHJlc3MsIHJlY2VpdmVyTm90ZXMgfSA9IHZhbHVlcztcbiAgY29uc3Qge1xuICAgIHNhdmVTaGlwbWVudEFkZHJlc3MsXG4gICAgc2F2ZVNoaXBtZW50QWRkcmVzc0Vycm9yLFxuICAgIHNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzLFxuICB9ID0gc2xpY2VDYXJ0U2hpcG1lbnQuYWN0aW9ucztcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgc3RhdGVDYXJ0OiB7IGNhcnQgfSB9ID0gZ2V0U3RvcmUoKTtcbiAgZGlzcGF0Y2goc2F2ZVNoaXBtZW50QWRkcmVzcygpKTtcbiAgY29uc3QgcmVjZWl2ZXJBZGRyZXNzID0gbWFrZUFkZHJlc3MoYWRkcmVzcywgdHJ1ZSk7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY2FydEVudC5yZWNlaXZlckFkZHJlc3MgPSByZWNlaXZlckFkZHJlc3M7XG4gIGNhcnRFbnQucmVjZWl2ZXJOb3RlcyA9IHJlY2VpdmVyTm90ZXM7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oKGM6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaChzZXRDYXJ0KGMudG9Kc29uKCkpKTtcbiAgICAgICAgZGlzcGF0Y2goc2F2ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MoKSk7XG4gICAgICAgIHNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZChcbiAgICAgICAgICB7dGFiSWQ6IHRhYklkQ2hlY2tvdXQsIHRhYkluZGV4VG9TZXQ6IDIsIGRpc2FibGVkOiBmYWxzZX0pO1xuICAgICAgfSk7XG4gICAgfSkuXG4gICAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgZGlzcGF0Y2goc2F2ZVNoaXBtZW50QWRkcmVzc0Vycm9yKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGF0dGFjaENsaWVudFRvQ2FydChjbGllbnRKc29uOiBhbnkpIHtcbiAgY29uc3Qge1xuICAgIGNyZWF0ZU5ld0N1c3RvbWVyU3VjY2VzczogY3JlYXRlTmV3U3VjY2VzcyxcbiAgfSA9IHNsaWNlTmV3Q3VzdG9tZXJGb3JtLmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IGNhcnQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCBjbGllbnRFbnQgPSBtYWtlVXNlcih7aWQ6IGNsaWVudEpzb24uaWR9KTtcbiAgY29uc3QgY2FydEVudCA9IG1ha2VDYXJ0KHsuLi5jYXJ0fSwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNhcnRFbnQuY2xpZW50ID0gY2xpZW50RW50O1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgZGlzcGF0Y2goY3JlYXRlTmV3U3VjY2VzcygpKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZShncm91cEluZGV4OiBudW1iZXIsIHF1b3RlOiBhbnkpIHtcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgc3RhdGVDYXJ0OiB7IGNhcnQgfSB9ID0gZ2V0U3RvcmUoKTtcbiAgY29uc3Qge1xuICAgIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZTogc2V0U2VsZWN0ZWQsXG4gICAgc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlRXJyb3IsXG4gICAgc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcyxcbiAgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3QgY2FydFNoaXBtZW50UXVvdGUgPSBtYWtlQ2FydFNoaXBtZW50UXVvdGUocXVvdGUpO1xuICAoY2FydEVudCBhcyBhbnkpLnNoaXBtZW50R3JvdXBzW2dyb3VwSW5kZXhdLnNlbGVjdGVkUXVvdGUgPSBjYXJ0U2hpcG1lbnRRdW90ZTtcbiAgZGlzcGF0Y2goc2V0U2VsZWN0ZWQoeyBncm91cEluZGV4LCBxdW90ZSB9KSk7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oKGM6IGFueSkgPT4ge1xuICAgICAgZGlzcGF0Y2goc2V0Q2FydChjLnRvSnNvbigpKSk7XG4gICAgICBkaXNwYXRjaChzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGVTdWNjZXNzKCkpO1xuICAgIH0pLlxuICAgIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgIGRpc3BhdGNoKHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmNvbnN0IHtcbiAgc2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvcixcbiAgdHJ5UmV0dXJuaW5nQ3VzdG9tZXI6IHRyeVJldHVybmluZyxcbiAgdHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvcixcbiAgdHJ5UmV0dXJuaW5nQ3VzdG9tZXJTdWNjZXNzLFxufSA9IHNsaWNlRm9ybVJldHVybmluZ0N1c3RvbWVyLmFjdGlvbnM7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0cnlSZXR1cm5pbmdDdXN0b21lcihlbWFpbEFkZHJlc3M6IHN0cmluZykge1xuICBkaXNwYXRjaCh0cnlSZXR1cm5pbmcoKSk7XG4gIHRyeSB7XG4gICAgY29uc3QgdXNlcjogYW55ID0gYXdhaXQgdHJ5UmV0dXJuaW5nQ3VzdG9tZXJFbWFpbChlbWFpbEFkZHJlc3MpO1xuICAgIGF3YWl0IGF0dGFjaENsaWVudFRvQ2FydCh7XG4gICAgICBlbWFpbEFkZHJlc3NlczogW3tlbWFpbEFkZHJlc3N9XSxcbiAgICAgIGlkOiB1c2VyLnVzZXJfaWQsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2godHJ5UmV0dXJuaW5nQ3VzdG9tZXJTdWNjZXNzKCkpO1xuICB9IGNhdGNoKGU6IGFueSkge1xuICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgIGRpc3BhdGNoKHRyeVJldHVybmluZ0N1c3RvbWVyRXJyb3IoKSk7XG4gICAgZGlzcGF0Y2goc2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvcih0cnVlKSk7XG4gIH07XG59XG5cbmNvbnN0IHtcbiAgY3JlYXRlTmV3Q3VzdG9tZXI6IGNyZWF0ZU5ldyxcbiAgY3JlYXRlTmV3Q3VzdG9tZXJFcnJvcjogY3JlYXRlTmV3RXJyb3IsXG4gIGNyZWF0ZU5ld0N1c3RvbWVyU3VjY2VzczogY3JlYXRlTmV3U3VjY2Vzcyxcbn0gPSBzbGljZU5ld0N1c3RvbWVyRm9ybS5hY3Rpb25zO1xuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ3JlYXRlTmV3Q3VzdG9tZXIoYXBpVXJsOiBzdHJpbmcsIGN1c3RvbWVySnNvbjogYW55KSB7XG4gIGNvbnN0IHsgY2FydCB9ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IGRvbWFpbklkID0gY2FydCAmJiAoY2FydCBhcyBhbnkpLmRvbWFpbiAmJiAoY2FydCBhcyBhbnkpLmRvbWFpbi5pZDtcbiAgZGlzcGF0Y2goY3JlYXRlTmV3KCkpO1xuICBjcmVhdGVOZXdDdXN0b21lcih7Li4uY3VzdG9tZXJKc29uLCByZWdpc3RlcmVkVW5kZXJEb21haW5zOiBbe2lkOiBkb21haW5JZH1dfSkuXG4gIHRoZW4oKHI6IGFueSkgPT4gci51c2VyKS5cbiAgdGhlbihhdHRhY2hDbGllbnRUb0NhcnQpLlxuICB0aGVuKCgpID0+IGRpc3BhdGNoKGNyZWF0ZU5ld1N1Y2Nlc3MoKSkpLlxuICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgZGlzcGF0Y2goY3JlYXRlTmV3RXJyb3IoZS5lcnJvck1lc3NhZ2UpKTtcbiAgfSk7XG59XG5cbmNvbnN0IHsgY3JlZGl0Q2FyZFBheVN1Y2Nlc3MgfSA9IHNsaWNlQ2FydFBheW1lbnQuYWN0aW9uczsgXG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxsYmFja0NyZWRpdENhcmRQYXltZW50U3VjY2VzcyhpbnZvaWNlSnNvbjogYW55KSB7XG4gIGJhdGNoKCgpID0+IHtcbiAgICBkaXNwYXRjaChjcmVkaXRDYXJkUGF5U3VjY2VzcyhpbnZvaWNlSnNvbikpO1xuICAgIHNldEFjdGl2ZVRhYih0YWJJZFBheW1lbnRTdWNjZXNzKTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbnZlcnRUb0pzb24oZW50OiBhbnkpIHtcbiAgY29uc3QganNvbiA9IGF3YWl0IGVudC50b0pzb24oKTtcbiAgcmV0dXJuIGpzb247XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNhcnRWYWx1ZXMoY2FydEpzb246IGFueSkge1xuICBjb25zdCB7IGluaXRDYXJ0U2hpcG1lbnRTbGljZSB9ID0gc2xpY2VDYXJ0U2hpcG1lbnQuYWN0aW9ucztcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuZmV0Y2hDYXJ0U3VjY2VzcyhjYXJ0SnNvbikpO1xuICBkaXNwYXRjaChpbml0Q2FydFNoaXBtZW50U2xpY2UoY2FydEpzb24pKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2FydChkb21haW5JZDogbnVtYmVyLCBjYXJ0SWRBbmRUb2tlbjogQXJyYXk8c3RyaW5nPikge1xuICBjb25zdCB7XG4gICAgY2FydFNldHRpbmdzSW52YWxpZCxcbiAgfSA9IHNsaWNlQ2FydC5hY3Rpb25zO1xuICBjb25zdCBpZCA9IE51bWJlcihjYXJ0SWRBbmRUb2tlblswXSk7XG4gIGlmIChjYXJ0SWRBbmRUb2tlblsxXSkge1xuICAgIG1lcmNoaS5jYXJ0VG9rZW4gPSBjYXJ0SWRBbmRUb2tlblsxXTtcbiAgfVxuICBkaXNwYXRjaChmZXRjaENhcnQoKSk7XG4gIG1lcmNoaS5DYXJ0LmdldChpZCwge2VtYmVkOiBjYXJ0RW1iZWR9KVxuICAgIC50aGVuKGNvbnZlcnRUb0pzb24pXG4gICAgLnRoZW4oKGNhcnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHN0cmlwZUlzVmFsaWRBbmRBY3RpdmUoY2FydCkpIHtcbiAgICAgICAgdXBkYXRlQ2FydFZhbHVlcyhjYXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICBgTUVyaGNpIGNhcnQgZXJyb3I6IFN0cmlwZSBwYXltZW50IGAgK1xuICAgICAgICAgIGBvcHRpb25zIGhhdmUgbm90IGJlZW4gY29ycmVjdGx5IHNldCB1cC4gYCArXG4gICAgICAgICAgYENoZWNrIHRoZSBjb21wYW55IHByb2ZpbGUgcGF5bWVudCBvcHRpb25zIHRhYiBgICtcbiAgICAgICAgICBgdG8gc2V0IGFuZCBlZGl0IHN0cmlwZSBwYXltZW50IG9wdGlvbnMuYCk7XG4gICAgICAgIGRpc3BhdGNoKGNhcnRTZXR0aW5nc0ludmFsaWQoKSk7XG4gICAgICB9XG4gICAgfSlcbiAgICAuY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZShkb21haW5JZCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25HZXRNZXJjaGlDYXJ0KGRvbWFpbklkOiBudW1iZXIpIHtcbiAgY29uc3QgY2FydElkQW5kVG9rZW4gPSBhd2FpdCBnZXRNZXJjaGlDYXJ0Q29va2llKGRvbWFpbklkKTtcbiAgaWYgKGNhcnRJZEFuZFRva2VuKSB7XG4gICAgZ2V0Q2FydChkb21haW5JZCwgY2FydElkQW5kVG9rZW4pO1xuICB9IGVsc2Uge1xuICAgIGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoZG9tYWluSWQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVDYXJ0T3BlbigpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMudG9nZ2xlQ2FydE9wZW4oKSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc01lcmNoaUNhcnRGZXRjaGluZygpIHtcbiAgcmV0dXJuIGdldFN0b3JlKCkuc3RhdGVDYXJ0LmZldGNoaW5nQ2FydDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE1lcmNoaUNhcnRWYWx1ZXMoKSB7XG4gIGNvbnN0IHsgY2FydCB9ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IHsgY2FydEl0ZW1zLCBjdXJyZW5jeSwgc3VidG90YWxDb3N0LCB0YXhBbW91bnQsIHRvdGFsQ29zdCB9ID0gKGNhcnQgYXMgYW55KTtcbiAgY29uc3QgY2FydEl0ZW1zQ291bnQgPSBjYXJ0SXRlbXMgPyBjYXJ0SXRlbXMubGVuZ3RoIDogMDtcbiAgcmV0dXJuIHtcbiAgICBjYXJ0LFxuICAgIGNhcnRJdGVtc0NvdW50LFxuICAgIGN1cnJlbmN5OiBjdXJyZW5jeSB8fCAnJyxcbiAgICBzdWJ0b3RhbENvc3Q6IHN1YnRvdGFsQ29zdCB8fCAwLFxuICAgIHRheEFtb3VudDogdGF4QW1vdW50IHx8IDAsXG4gICAgdG90YWxDb3N0OiB0b3RhbENvc3QgfHwgMCxcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvQ2FydENvbXBsZXRlKCkge1xuICBjb25zdCBkb21haW5JZDogYW55ID0gZ2V0U3RvcmUoKS5zdGF0ZUNhcnQuZG9tYWluSWQ7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydFBheW1lbnQuYWN0aW9ucy5kb0NhcmRDb21wbGV0ZSgpKTtcbiAgYXdhaXQgY2FydEFuZENvb2tpZShkb21haW5JZCkudGhlbigoKSA9PiBsb2NhdGlvbi5yZWxvYWQoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TWVyY2hpQ2FydChkb21haW5JZDogbnVtYmVyKSB7XG4gIGRpc3BhdGNoKHNldERvbWFpbklkKGRvbWFpbklkKSk7XG4gIGFjdGlvbkdldE1lcmNoaUNhcnQoZG9tYWluSWQpO1xuICBpZiAoKHdpbmRvdyBhcyBhbnkpICYmICh3aW5kb3cgYXMgYW55KSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmdldENhcnQgPSAoKSA9PiBhY3Rpb25HZXRNZXJjaGlDYXJ0KGRvbWFpbklkKTtcbiAgICAod2luZG93IGFzIGFueSkuaXNNZXJjaGlDYXJ0RmV0Y2hpbmcgPSBpc01lcmNoaUNhcnRGZXRjaGluZztcbiAgICAod2luZG93IGFzIGFueSkuZ2V0TWVyY2hpQ2FydFZhbHVlcyA9IGdldE1lcmNoaUNhcnRWYWx1ZXM7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7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
861
+ function merchiCartFetchAndSet(_x16) {
862
+ return _merchiCartFetchAndSet.apply(this, arguments);
863
+ }
864
+ function _merchiCartFetchAndSet() {
865
+ _merchiCartFetchAndSet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(cartJson) {
866
+ return _regeneratorRuntime().wrap(function _callee19$(_context19) {
867
+ while (1) switch (_context19.prev = _context19.next) {
868
+ case 0:
869
+ _context19.next = 2;
870
+ return refetchCart(cartJson);
871
+ case 2:
872
+ case "end":
873
+ return _context19.stop();
874
+ }
875
+ }, _callee19);
876
+ }));
877
+ return _merchiCartFetchAndSet.apply(this, arguments);
878
+ }
879
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfdG9vbGtpdCIsIl9zbGljZUNhcnQiLCJfc2xpY2VDYXJ0QWxlcnQiLCJfc2xpY2VDYXJ0SXRlbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc2xpY2VDYXJ0UGF5bWVudCIsIl9zbGljZUNhcnRTaGlwbWVudCIsIl9zbGljZU5ld0N1c3RvbWVyRm9ybTIiLCJfc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJfcmVkdWNlcnNTcXVhcmUiLCJfc2xpY2VTdHJpcGVDYXJkRm9ybSIsIl9tZXJjaGlfc2RrX3RzIiwiX2hlbHBlcnMiLCJfYWRkcmVzcyIsIl9jb29raWUiLCJfY2FydCIsIl9wcm9kdWN0IiwiX3VzZXIiLCJfam9iIiwib2JqIiwiX19lc01vZHVsZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZWplY3QiLCJfbmV4dCIsIl90aHJvdyIsImtleSIsImluZm8iLCJlcnJvciIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwiZXJyIiwidW5kZWZpbmVkIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJOdW1iZXIiLCJtZXJjaGkiLCJNZXJjaGkiLCJtZXJjaGlDYXJ0UmVkdWNlciIsInN0YXRlQ2FydEFsZXJ0Iiwic2xpY2VDYXJ0QWxlcnQiLCJyZWR1Y2VyIiwic3RhdGVDYXJ0SXRlbSIsInNsaWNlQ2FydEl0ZW0iLCJzdGF0ZUNhcnRQYXltZW50Iiwic2xpY2VDYXJ0UGF5bWVudCIsInN0YXRlQ2FydFNoaXBtZW50Iiwic2xpY2VDYXJ0U2hpcG1lbnQiLCJzdGF0ZUNhcnQiLCJzbGljZUNhcnQiLCJzdGF0ZU5ld0N1c3RvbWVyRm9ybSIsInNsaWNlTmV3Q3VzdG9tZXJGb3JtIiwic3RhdGVGb3JtUmV0dXJuaW5nQ3VzdG9tZXIiLCJzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lciIsInJlZHVjZXJzU3F1YXJlIiwic2xpY2VTdHJpcGVDYXJkRm9ybSIsInN0b3JlIiwiZXhwb3J0cyIsImNvbmZpZ3VyZVN0b3JlIiwibWlkZGxld2FyZSIsImdldERlZmF1bHRNaWRkbGV3YXJlIiwic2VyaWFsaXphYmxlQ2hlY2siLCJnZXRTdG9yZSIsImdldFN0YXRlIiwiX3NsaWNlQ2FydCRhY3Rpb25zIiwiYWN0aW9ucyIsImRlbGV0ZUNhcnRJdGVtIiwiZGVsZXRlQ2FydEl0ZW1FcnJvciIsImRlbGV0ZUNhcnRJdGVtU3VjY2VzcyIsImZldGNoQ2FydCIsImZldGNoQ2FydEVycm9yIiwiZmV0Y2hDYXJ0U3VjY2VzcyIsImZldGNoVGhlbWUiLCJmZXRjaFRoZW1lRXJyb3IiLCJmZXRjaFRoZW1lU3VjY2VzcyIsInNldENhcnQiLCJzZXRDYXJ0Q2xpZW50Iiwic2V0RG9tYWluSWQiLCJzZXRDYXJ0U2hpcG1lbnRHcm91cHMiLCJnZXRDYXJ0VG9rZW4iLCJfZ2V0Q2FydFRva2VuIiwiX2NhbGxlZSIsImRvbWFpbklkIiwiY2FydElkQW5kVG9rZW4iLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiZ2V0TWVyY2hpQ2FydENvb2tpZSIsInQwIiwiZGlzcGF0Y2giLCJheHRpb25TZXRDYXJ0Q2xpZW50IiwiY2xpZW50Iiwic2V0Q2FydEl0ZW0iLCJjYXJ0SXRlbSIsImluZGV4IiwiYmF0Y2giLCJpZCIsInNldEFjdGl2ZVRhYiIsInRhYklkSXRlbSIsInRhYklkSXRlbXMiLCJ0YWJJZCIsInNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZCIsInNldHRpbmdzIiwiY2xvc2VBbGVydCIsImNsb3NlQ2xlYXJDYXJ0IiwiYWxlcnRFcnJvciIsIm1lc3NhZ2UiLCJzaG93QWxlcnREYW5nZXIiLCJ0aXRsZSIsImFsZXJ0U3VjY2VzcyIsInNob3dBbGVydFN1Y2Nlc3MiLCJhY3Rpb25GZXRjaFRoZW1lIiwiRG9tYWluIiwiZ2V0IiwiZW1iZWQiLCJhY3RpdmVUaGVtZSIsIm1haW5Dc3MiLCJkb21haW4iLCJ0aGVtZSIsImFwcGVuZFN0eWxlU2hlZXRUZXh0IiwiZXJyb3JNZXNzYWdlIiwiY2FydEFuZENvb2tpZSIsIl94IiwiX2NhcnRBbmRDb29raWUiLCJfY2FsbGVlMiIsImNhcnQiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJtYWtlQ2FydCIsImNhcnRFbWJlZCIsInNldENhcnRDb29raWUiLCJ0b0pzb24iLCJjSnNvbiIsImNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUiLCJfeDIiLCJfY3JlYXRlQW5kU2V0TmV3Q2FydENvb2tpZSIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZG9DbGVhckNhcnQiLCJfZG9DbGVhckNhcnQiLCJfY2FsbGVlNCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImFkZENhcnRJdGVtIiwiX3gzIiwiX3g0IiwiX3g1IiwiX2FkZENhcnRJdGVtIiwiX2NhbGxlZTUiLCJqb2JKc29uIiwib25TdWNjZXNzIiwib25FcnJvciIsImpvYkVudCIsImRhdGEiLCJjYXJ0VG9rZW4iLCJjYXJ0RW50IiwiY2FydEl0ZW1FbnQiLCJjYXJ0SXRlbVByb2R1Y3QiLCJpdGVtIiwiaXRlbUpzb24iLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJtYWtlSm9iIiwibWFrZUNhcnRJdGVtIiwibWFrZVByb2R1Y3QiLCJwcm9kdWN0IiwicXVhbnRpdHkiLCJ2YXJpYXRpb25zIiwidmFyaWF0aW9uc0dyb3VwcyIsInRheFR5cGUiLCJyZWZldGNoQ2FydCIsIl94NiIsIl9yZWZldGNoQ2FydCIsIl9jYWxsZWU2IiwiX2NhbGxlZTYkIiwiX2NvbnRleHQ2IiwidG9rZW4iLCJDYXJ0IiwiY29udmVydFRvSnNvbiIsInVwZGF0ZUNhcnRWYWx1ZXMiLCJfc2xpY2VDYXJ0SXRlbSRhY3Rpb24iLCJwYXRjaENhcnRJdGVtIiwicGF0Y2hDYXJ0SXRlbUVycm9yIiwicGF0Y2hDYXJ0SXRlbVN1Y2Nlc3MiLCJjbGVhblZhcmlhdGlvbiIsInZhcmlhdGlvbiIsInZhcmlhdGlvbkZpbGVzIiwibWFwIiwiYWN0aW9uQ2FydEl0ZW1FZGl0IiwiX3g3IiwiX2FjdGlvbkNhcnRJdGVtRWRpdCIsIl9jYWxsZWU3IiwiX2RhdGEkc3RhdGVDYXJ0SXRlbSIsIl9jYXJ0SXRlbSR2YXJpYXRpb25zIiwiX2NhcnRJdGVtJHZhcmlhdGlvbnNHIiwiY2xlYW5WYXJpYXRpb25zIiwiY2xlYW5WYXJpYXRpb25zR3JvdXBzIiwiY2xlYW5Qcm9kdWN0IiwiY2xlYW5UYXhUeXBlIiwiX2NhbGxlZTckIiwiX2NvbnRleHQ3IiwiX2ckdmFyaWF0aW9ucyIsInNhdmUiLCJhY3Rpb25EZWxldGVDYXJ0SXRlbSIsIl94OCIsIl9hY3Rpb25EZWxldGVDYXJ0SXRlbSIsIl9jYWxsZWU4IiwiY2FydEl0ZW1zIiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4Iiwic3BsaWNlIiwidXBkYXRlQ2FydFNoaXBtZW50QWRkcmVzcyIsIl91cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzIiwiX2NhbGxlZTkiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMiLCJ1cGRhdGVTaGlwbWVudEFkZHJlc3NFcnJvciIsInVwZGF0ZVNoaXBtZW50QWRkcmVzc1N1Y2Nlc3MiLCJfZ2V0U3RvcmUiLCJhZGRyZXNzIiwicmVjZWl2ZXJBZGRyZXNzIiwiX2NhbGxlZTkkIiwiX2NvbnRleHQ5IiwibWFrZUFkZHJlc3MiLCJnZXRDYXJ0U2hpcG1lbnRHcm91cHNBbmRRdW90ZXMiLCJjYXJ0V2l0aFNoaXBtZW50R3JvdXBzIiwiY2FydEpzb24iLCJzaGlwbWVudEdyb3VwcyIsInNhdmVDYXJ0U2hpcG1lbnRBZGRyZXNzQW5kR29Ub05leHRUYWIiLCJfeDkiLCJfc2F2ZUNhcnRTaGlwbWVudEFkZHJlc3NBbmRHb1RvTmV4dFRhYiIsIl9jYWxsZWUxMCIsInJlY2VpdmVyTm90ZXMiLCJfc2xpY2VDYXJ0U2hpcG1lbnQkYWMyIiwic2F2ZVNoaXBtZW50QWRkcmVzcyIsInNhdmVTaGlwbWVudEFkZHJlc3NFcnJvciIsInNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzIiwiX2dldFN0b3JlMiIsIl9jYWxsZWUxMCQiLCJfY29udGV4dDEwIiwidGFiSWRDaGVja291dCIsInRhYkluZGV4VG9TZXQiLCJkaXNhYmxlZCIsImF0dGFjaENsaWVudFRvQ2FydCIsIl94MTAiLCJfYXR0YWNoQ2xpZW50VG9DYXJ0IiwiX2NhbGxlZTExIiwiY2xpZW50SnNvbiIsImNyZWF0ZU5ld1N1Y2Nlc3MiLCJjbGllbnRFbnQiLCJfY2FsbGVlMTEkIiwiX2NvbnRleHQxMSIsImNyZWF0ZU5ld0N1c3RvbWVyU3VjY2VzcyIsIm1ha2VVc2VyIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX3gxMSIsIl94MTIiLCJfc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyIiwiZ3JvdXBJbmRleCIsInF1b3RlIiwiX2dldFN0b3JlMyIsIl9zbGljZUNhcnRTaGlwbWVudCRhYzMiLCJzZXRTZWxlY3RlZCIsInNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yIiwic2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcyIsImNhcnRTaGlwbWVudFF1b3RlIiwiX2NhbGxlZTEyJCIsIl9jb250ZXh0MTIiLCJtYWtlQ2FydFNoaXBtZW50UXVvdGUiLCJzZWxlY3RlZFF1b3RlIiwiX3NsaWNlRm9ybVJldHVybmluZ0N1Iiwic2V0UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZyIsInRyeVJldHVybmluZ0N1c3RvbWVyIiwidHJ5UmV0dXJuaW5nQ3VzdG9tZXJFcnJvciIsInRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcyIsIl94MTMiLCJfdHJ5UmV0dXJuaW5nQ3VzdG9tZXIiLCJfY2FsbGVlMTMiLCJlbWFpbEFkZHJlc3MiLCJ1c2VyIiwiX2NhbGxlZTEzJCIsIl9jb250ZXh0MTMiLCJ0cnlSZXR1cm5pbmdDdXN0b21lckVtYWlsIiwiZW1haWxBZGRyZXNzZXMiLCJ1c2VyX2lkIiwiX3NsaWNlTmV3Q3VzdG9tZXJGb3JtIiwiY3JlYXRlTmV3IiwiY3JlYXRlTmV3Q3VzdG9tZXIiLCJjcmVhdGVOZXdFcnJvciIsImNyZWF0ZU5ld0N1c3RvbWVyRXJyb3IiLCJhY3Rpb25DcmVhdGVOZXdDdXN0b21lciIsImFwaVVybCIsImN1c3RvbWVySnNvbiIsInJlZ2lzdGVyZWRVbmRlckRvbWFpbnMiLCJjcmVkaXRDYXJkUGF5U3VjY2VzcyIsImNhbGxiYWNrQ3JlZGl0Q2FyZFBheW1lbnRTdWNjZXNzIiwiaW52b2ljZUpzb24iLCJ0YWJJZFBheW1lbnRTdWNjZXNzIiwiX3gxNCIsIl9jb252ZXJ0VG9Kc29uIiwiX2NhbGxlZTE0IiwiZW50IiwianNvbiIsIl9jYWxsZWUxNCQiLCJfY29udGV4dDE0IiwiaW5pdENhcnRTaGlwbWVudFNsaWNlIiwiZ2V0Q2FydCIsImNhcnRTZXR0aW5nc0ludmFsaWQiLCJzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlIiwiY29uc29sZSIsImFjdGlvbkdldE1lcmNoaUNhcnQiLCJfeDE1IiwiX2FjdGlvbkdldE1lcmNoaUNhcnQiLCJfY2FsbGVlMTUiLCJfY2FsbGVlMTUkIiwiX2NvbnRleHQxNSIsInRvZ2dsZUNhcnRPcGVuIiwiaXNNZXJjaGlDYXJ0RmV0Y2hpbmciLCJfaXNNZXJjaGlDYXJ0RmV0Y2hpbmciLCJfY2FsbGVlMTYiLCJfY2FsbGVlMTYkIiwiX2NvbnRleHQxNiIsImZldGNoaW5nQ2FydCIsImdldE1lcmNoaUNhcnRWYWx1ZXMiLCJfZ2V0TWVyY2hpQ2FydFZhbHVlcyIsIl9jYWxsZWUxNyIsIl9yZWYiLCJjdXJyZW5jeSIsInN1YnRvdGFsQ29zdCIsInRheEFtb3VudCIsInRvdGFsQ29zdCIsImNhcnRJdGVtc0NvdW50IiwiX2NhbGxlZTE3JCIsIl9jb250ZXh0MTciLCJkb0NhcnRDb21wbGV0ZSIsIl9kb0NhcnRDb21wbGV0ZSIsIl9jYWxsZWUxOCIsIl9jYWxsZWUxOCQiLCJfY29udGV4dDE4IiwiZG9DYXJkQ29tcGxldGUiLCJsb2NhdGlvbiIsInJlbG9hZCIsImluaXRNZXJjaGlDYXJ0Iiwid2luZG93IiwibWVyY2hpQ2FydEZldGNoQW5kU2V0IiwiX3gxNiIsIl9tZXJjaGlDYXJ0RmV0Y2hBbmRTZXQiLCJfY2FsbGVlMTkiLCJfY2FsbGVlMTkkIiwiX2NvbnRleHQxOSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9zdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IGNvbmZpZ3VyZVN0b3JlIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQge1xuICBzbGljZUNhcnQsXG4gIHRhYklkQ2hlY2tvdXQsXG4gIHRhYklkSXRlbSxcbiAgdGFiSWRJdGVtcyxcbiAgdGFiSWRQYXltZW50U3VjY2Vzcyxcbn0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0JztcbmltcG9ydCB7IHNsaWNlQ2FydEFsZXJ0IH0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0QWxlcnQnO1xuaW1wb3J0IHNsaWNlQ2FydEl0ZW0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0SXRlbSc7XG5pbXBvcnQgeyBzbGljZUNhcnRQYXltZW50IH0gZnJvbSAnLi9zbGljZXMvc2xpY2VDYXJ0UGF5bWVudCc7XG5pbXBvcnQgeyBzbGljZUNhcnRTaGlwbWVudCB9IGZyb20gJy4vc2xpY2VzL3NsaWNlQ2FydFNoaXBtZW50JztcbmltcG9ydCBzbGljZU5ld0N1c3RvbWVyRm9ybSBmcm9tICcuL3NsaWNlcy9zbGljZU5ld0N1c3RvbWVyRm9ybSc7XG5pbXBvcnQgc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXIgZnJvbSAnLi9zbGljZXMvc2xpY2VGb3JtUmV0dXJuaW5nQ3VzdG9tZXInO1xuaW1wb3J0IHJlZHVjZXJzU3F1YXJlIGZyb20gJy4vc3F1YXJlL3NsaWNlcy9yZWR1Y2Vyc1NxdWFyZSc7XG5pbXBvcnQgc2xpY2VTdHJpcGVDYXJkRm9ybSBmcm9tICcuL3N0cmlwZS9zbGljZXMvc2xpY2VTdHJpcGVDYXJkRm9ybSc7XG5pbXBvcnQgeyBNZXJjaGkgfSBmcm9tICdtZXJjaGlfc2RrX3RzJztcbmltcG9ydCB7IGNhcnRFbWJlZCB9IGZyb20gJy4vdXRpbGl0aWVzL2hlbHBlcnMnO1xuaW1wb3J0IHsgbWFrZUFkZHJlc3MgfSBmcm9tICcuL3V0aWxpdGllcy9hZGRyZXNzJztcbmltcG9ydCB7XG4gIGdldENhcnRDb29raWUgYXMgZ2V0TWVyY2hpQ2FydENvb2tpZSxcbiAgc2V0Q2FydENvb2tpZSxcbn0gZnJvbSAnLi91dGlsaXRpZXMvY29va2llJztcbmltcG9ydCB7XG4gIGdldENhcnRTaGlwbWVudEdyb3Vwc0FuZFF1b3RlcyxcbiAgbWFrZUNhcnQsXG4gIG1ha2VDYXJ0SXRlbSxcbiAgbWFrZUNhcnRTaGlwbWVudFF1b3RlLFxuICBzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlLFxufSBmcm9tICcuL3V0aWxpdGllcy9jYXJ0JztcbmltcG9ydCB7IG1ha2VQcm9kdWN0IH0gZnJvbSAnLi91dGlsaXRpZXMvcHJvZHVjdCc7XG5pbXBvcnQge1xuICBtYWtlVXNlcixcbiAgY3JlYXRlTmV3Q3VzdG9tZXIsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwsXG59IGZyb20gJy4vdXRpbGl0aWVzL3VzZXInO1xuaW1wb3J0IHsgYXBwZW5kU3R5bGVTaGVldFRleHQgfSBmcm9tICcuL3V0aWxpdGllcy9oZWxwZXJzJztcbmltcG9ydCB7IG1ha2VKb2IgfSBmcm9tICcuL3V0aWxpdGllcy9qb2InO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmNvbnN0IG1lcmNoaUNhcnRSZWR1Y2VyID0ge1xuICBzdGF0ZUNhcnRBbGVydDogc2xpY2VDYXJ0QWxlcnQucmVkdWNlcixcbiAgc3RhdGVDYXJ0SXRlbTogc2xpY2VDYXJ0SXRlbS5yZWR1Y2VyLFxuICBzdGF0ZUNhcnRQYXltZW50OiBzbGljZUNhcnRQYXltZW50LnJlZHVjZXIsXG4gIHN0YXRlQ2FydFNoaXBtZW50OiBzbGljZUNhcnRTaGlwbWVudC5yZWR1Y2VyLFxuICBzdGF0ZUNhcnQ6IHNsaWNlQ2FydC5yZWR1Y2VyLFxuICBzdGF0ZU5ld0N1c3RvbWVyRm9ybTogc2xpY2VOZXdDdXN0b21lckZvcm0ucmVkdWNlcixcbiAgc3RhdGVGb3JtUmV0dXJuaW5nQ3VzdG9tZXI6IHNsaWNlRm9ybVJldHVybmluZ0N1c3RvbWVyLnJlZHVjZXIsXG5cbiAgLy8gU3F1YXJlIHNsaWNlc1xuICAuLi5yZWR1Y2Vyc1NxdWFyZSxcblxuICAvLyBTdHJpcGUgc2xpY2VzXG4gIC4uLnNsaWNlU3RyaXBlQ2FyZEZvcm0sXG59O1xuXG5leHBvcnQgY29uc3Qgc3RvcmUgPSBjb25maWd1cmVTdG9yZSh7XG4gIG1pZGRsZXdhcmU6IChnZXREZWZhdWx0TWlkZGxld2FyZSkgPT4gZ2V0RGVmYXVsdE1pZGRsZXdhcmUoeyBzZXJpYWxpemFibGVDaGVjazogZmFsc2UgfSksXG4gIHJlZHVjZXI6IG1lcmNoaUNhcnRSZWR1Y2VyLFxufSk7XG5cbmZ1bmN0aW9uIGdldFN0b3JlKCkge1xuICByZXR1cm4gc3RvcmUuZ2V0U3RhdGUoKTtcbn1cblxuY29uc3Qge1xuICBkZWxldGVDYXJ0SXRlbSxcbiAgZGVsZXRlQ2FydEl0ZW1FcnJvcixcbiAgZGVsZXRlQ2FydEl0ZW1TdWNjZXNzLFxuICBmZXRjaENhcnQsXG4gIGZldGNoQ2FydEVycm9yLFxuICBmZXRjaENhcnRTdWNjZXNzLFxuICBmZXRjaFRoZW1lLFxuICBmZXRjaFRoZW1lRXJyb3IsXG4gIGZldGNoVGhlbWVTdWNjZXNzLFxuICBzZXRDYXJ0LFxuICBzZXRDYXJ0Q2xpZW50LFxuICBzZXREb21haW5JZCxcbiAgc2V0Q2FydFNoaXBtZW50R3JvdXBzLFxufSA9IHNsaWNlQ2FydC5hY3Rpb25zO1xuXG5hc3luYyBmdW5jdGlvbiBnZXRDYXJ0VG9rZW4oKSB7XG4gIGNvbnN0IHsgZG9tYWluSWQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCBjYXJ0SWRBbmRUb2tlbiA9IGRvbWFpbklkID8gYXdhaXQgZ2V0TWVyY2hpQ2FydENvb2tpZShOdW1iZXIoZG9tYWluSWQpKSA6IHVuZGVmaW5lZDtcbiAgcmV0dXJuIGNhcnRJZEFuZFRva2VuICYmIGNhcnRJZEFuZFRva2VuWzFdID8gY2FydElkQW5kVG9rZW5bMV0gOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoKG1ldGhvZDogYW55KSB7XG4gIHN0b3JlLmRpc3BhdGNoKG1ldGhvZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheHRpb25TZXRDYXJ0Q2xpZW50KGNsaWVudDogYW55KSB7XG4gIGRpc3BhdGNoKHNldENhcnRDbGllbnQoY2xpZW50KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDYXJ0SXRlbShjYXJ0SXRlbTogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gIGJhdGNoKCgpID0+IHtcbiAgICBpZiAoY2FydEl0ZW0gJiYgY2FydEl0ZW0uaWQpIHtcbiAgICAgIHNldEFjdGl2ZVRhYih0YWJJZEl0ZW0pO1xuICAgICAgZGlzcGF0Y2goc2xpY2VDYXJ0SXRlbS5hY3Rpb25zLnNldENhcnRJdGVtKHsgY2FydEl0ZW0sIGluZGV4IH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QWN0aXZlVGFiKHRhYklkSXRlbXMpO1xuICAgICAgZGlzcGF0Y2goc2xpY2VDYXJ0SXRlbS5hY3Rpb25zLnNldENhcnRJdGVtKHsgY2FydEl0ZW06IG51bGwsIGluZGV4IH0pKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWN0aXZlVGFiKHRhYklkOiBudW1iZXIpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0LmFjdGlvbnMuc2V0QWN0aXZlVGFiKHRhYklkKSk7XG59XG5cbmludGVyZmFjZSBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWRQcm9wcyB7XG4gIHRhYklkOiBudW1iZXI7XG4gIHRhYkluZGV4VG9TZXQ6IG51bWJlcjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQoc2V0dGluZ3M6IHNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZFByb3BzKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnNldEFjdGl2ZVRhYkFuZEVkaXREaXNhYmxlZChzZXR0aW5ncykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VBbGVydCgpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0QWxlcnQuYWN0aW9ucy5jbG9zZUFsZXJ0KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VDbGVhckNhcnQoKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnNldEFjdGl2ZVRhYih0YWJJZEl0ZW1zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGVydEVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICBkaXNwYXRjaChzbGljZUNhcnRBbGVydC5hY3Rpb25zLnNob3dBbGVydERhbmdlcihcbiAgICB7IG1lc3NhZ2UsIHRpdGxlOiAnRXJyb3IhJyB9KSk7XG59XG5cbmZ1bmN0aW9uIGFsZXJ0U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgZGlzcGF0Y2goc2xpY2VDYXJ0QWxlcnQuYWN0aW9ucy5zaG93QWxlcnRTdWNjZXNzKFxuICAgIHsgbWVzc2FnZSwgdGl0bGU6ICdTdWNjZXNzIScgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uRmV0Y2hUaGVtZShpZDogbnVtYmVyKSB7XG4gIGRpc3BhdGNoKGZldGNoVGhlbWUoKSlcbiAgbWVyY2hpLkRvbWFpbi5nZXQoaWQsIHtlbWJlZDoge2FjdGl2ZVRoZW1lOiB7bWFpbkNzczoge319fX0pXG4gICAgLnRoZW4oKGRvbWFpbjogYW55KSA9PiB7XG4gICAgICByZXR1cm4gZG9tYWluLmFjdGl2ZVRoZW1lO1xuICAgIH0pXG4gICAgLnRoZW4oKHRoZW1lOiBhbnkpID0+IHtcbiAgICAgIGFwcGVuZFN0eWxlU2hlZXRUZXh0KHRoZW1lLm1haW5Dc3MsICgpID0+IGRpc3BhdGNoKGZldGNoVGhlbWVTdWNjZXNzKCkpKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoVGhlbWVFcnJvcigpKTtcbiAgICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2FydEFuZENvb2tpZShkb21haW5JZDogbnVtYmVyKSB7XG4gIGNvbnN0IGNhcnQgPSBtYWtlQ2FydCh7ZG9tYWluOiB7aWQ6IGRvbWFpbklkfX0sIHRydWUpO1xuICByZXR1cm4gY2FydC5jcmVhdGUoe2VtYmVkOiBjYXJ0RW1iZWR9KVxuICAgIC50aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGlmIChkb21haW5JZCkge1xuICAgICAgICBzZXRDYXJ0Q29va2llKE51bWJlcihkb21haW5JZCksIGMudG9Kc29uKCksIHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYy50b0pzb24oKTtcbiAgICB9KVxuICAgIC50aGVuKChjSnNvbjogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChmZXRjaENhcnRTdWNjZXNzKGNKc29uKSk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlIHx8ICdVbmFibGUgdG8gZmV0Y2ggY2FydC4nKTtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hDYXJ0RXJyb3IoKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoZG9tYWluSWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChmZXRjaENhcnQoKSk7XG4gIGF3YWl0IGNhcnRBbmRDb29raWUoZG9tYWluSWQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9DbGVhckNhcnQoKSB7XG4gIGNvbnN0IHsgZG9tYWluSWQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBkaXNwYXRjaChzZXRDYXJ0KHt9KSk7XG4gIGNsb3NlQ2xlYXJDYXJ0KCk7XG4gIGF3YWl0IGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoKGRvbWFpbklkIGFzIGFueSkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkQ2FydEl0ZW0oXG4gIGpvYkpzb246IGFueSxcbiAgb25TdWNjZXNzOiAoY2FydEl0ZW06IGFueSkgPT4gdm9pZCxcbiAgb25FcnJvcjogKGU6IGFueSkgPT4gdm9pZCxcbikge1xuICBjb25zdCBqb2JFbnQgPSBtYWtlSm9iKGpvYkpzb24sIHRydWUpO1xuICBjb25zdCBkYXRhID0gZ2V0U3RvcmUoKTtcbiAgY29uc3QgY2FydFRva2VuID0gYXdhaXQgZ2V0Q2FydFRva2VuKCk7XG4gIGNvbnN0IHsgY2FydCB9ID0gZGF0YS5zdGF0ZUNhcnQ7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3QgY2FydEl0ZW1FbnQgPSBtYWtlQ2FydEl0ZW0oe30sIHRydWUpO1xuICBjb25zdCBjYXJ0SXRlbVByb2R1Y3QgPSBtYWtlUHJvZHVjdCh7IGlkOiAoam9iRW50LnByb2R1Y3QgYXMgYW55KS5pZCB9KTtcbiAgY2FydEl0ZW1FbnQuY2FydCA9IGNhcnRFbnQ7XG4gIGNhcnRJdGVtRW50LnF1YW50aXR5ID0gam9iRW50LnF1YW50aXR5O1xuICBjYXJ0SXRlbUVudC5wcm9kdWN0ID0gY2FydEl0ZW1Qcm9kdWN0O1xuICBjYXJ0SXRlbUVudC52YXJpYXRpb25zID0gam9iRW50LnZhcmlhdGlvbnM7XG4gIGNhcnRJdGVtRW50LnZhcmlhdGlvbnNHcm91cHMgPSBqb2JFbnQudmFyaWF0aW9uc0dyb3VwcztcbiAgY2FydEl0ZW1FbnQudGF4VHlwZSA9IGpvYkVudC50YXhUeXBlO1xuICB0cnkge1xuICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBjYXJ0SXRlbUVudC5jcmVhdGUoKTtcbiAgICBjb25zdCBpdGVtSnNvbiA9IGF3YWl0IGl0ZW0udG9Kc29uKCk7XG4gICAgb25TdWNjZXNzKGl0ZW1Kc29uKTtcbiAgfSBjYXRjaChlOiBhbnkpIHtcbiAgICBvbkVycm9yKGUpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlZmV0Y2hDYXJ0KGNhcnRFbnQ6IGFueSkge1xuICBtZXJjaGkuY2FydFRva2VuID0gY2FydEVudC50b2tlbjtcbiAgYXdhaXQgbWVyY2hpLkNhcnQuZ2V0KGNhcnRFbnQuaWQsIHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbihjb252ZXJ0VG9Kc29uKS5cbiAgICB0aGVuKHVwZGF0ZUNhcnRWYWx1ZXMpXG59XG5cbmNvbnN0IHtcbiAgcGF0Y2hDYXJ0SXRlbSxcbiAgcGF0Y2hDYXJ0SXRlbUVycm9yLFxuICBwYXRjaENhcnRJdGVtU3VjY2Vzcyxcbn0gPSBzbGljZUNhcnRJdGVtLmFjdGlvbnM7XG5cbmZ1bmN0aW9uIGNsZWFuVmFyaWF0aW9uKHZhcmlhdGlvbjogYW55KSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IHZhcmlhdGlvbi5pZCxcbiAgICB2YWx1ZTogdmFyaWF0aW9uLnZhbHVlLFxuICAgIHZhcmlhdGlvbkZpbGVzOiB2YXJpYXRpb24udmFyaWF0aW9uRmlsZXMubWFwKChmOiBhbnkpID0+ICh7aWQ6IGYuaWR9KSlcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFjdGlvbkNhcnRJdGVtRWRpdChjYXJ0SXRlbTogYW55KSB7XG4gIGRpc3BhdGNoKHBhdGNoQ2FydEl0ZW0oKSk7XG4gIGNvbnN0IGRhdGEgPSBnZXRTdG9yZSgpO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBjYXJ0IH0gPSBkYXRhLnN0YXRlQ2FydDtcbiAgY29uc3QgeyBjYXJ0SXRlbTogc3RhdGVDYXJ0SXRlbSwgaW5kZXggfSA9IGRhdGEuc3RhdGVDYXJ0SXRlbTtcbiAgY29uc3QgeyBwcm9kdWN0LCB0YXhUeXBlLCB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gY2FydEl0ZW07XG4gIGNvbnN0IGNsZWFuVmFyaWF0aW9ucyA9IHZhcmlhdGlvbnMubWFwKGNsZWFuVmFyaWF0aW9uKTtcbiAgY29uc3QgY2xlYW5WYXJpYXRpb25zR3JvdXBzID0gdmFyaWF0aW9uc0dyb3Vwcy5tYXAoKGc6IGFueSkgPT4gKHtcbiAgICBpZDogZy5pZCxcbiAgICBxdWFudGl0eTogZy5xdWFudGl0eSxcbiAgICB2YXJpYXRpb25zOiBnLnZhcmlhdGlvbnM/Lm1hcChjbGVhblZhcmlhdGlvbikgfHwgW11cbiAgfSkpO1xuICBjb25zdCBjbGVhblByb2R1Y3QgPSBwcm9kdWN0ID8ge2lkOiBwcm9kdWN0LmlkfSA6IHVuZGVmaW5lZDtcbiAgY29uc3QgY2xlYW5UYXhUeXBlID0gdGF4VHlwZSA/IHtpZDogdGF4VHlwZS5pZH0gOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydChjYXJ0LCBmYWxzZSwgY2FydFRva2VuKTtcbiAgY29uc3Qgam9iRW50ID0gbWFrZUpvYihjYXJ0SXRlbSk7XG4gIGNvbnN0IGNhcnRJdGVtRW50ID0gbWFrZUNhcnRJdGVtKHtcbiAgICAuLi5jYXJ0SXRlbSxcbiAgICBpZDogKHN0YXRlQ2FydEl0ZW0gYXMgYW55KS5pZCxcbiAgICBjYXJ0OiB7aWQ6IChjYXJ0IGFzIGFueSkuaWR9LFxuICAgIHByb2R1Y3Q6IGNsZWFuUHJvZHVjdCxcbiAgICB0YXhUeXBlOiBjbGVhblRheFR5cGUsXG4gICAgcXVhbnRpdHk6IChjYXJ0SXRlbSBhcyBhbnkpLnF1YW50aXR5LFxuICAgIHZhcmlhdGlvbnM6IGNsZWFuVmFyaWF0aW9ucyxcbiAgICB2YXJpYXRpb25zR3JvdXBzOiBjbGVhblZhcmlhdGlvbnNHcm91cHNcbiAgfSwgdHJ1ZSwgY2FydFRva2VuKTtcbiAgY2FydEl0ZW1FbnQuc2F2ZSgpLlxuICB0aGVuKCgpID0+IHJlZmV0Y2hDYXJ0KGNhcnRFbnQpKS5cbiAgdGhlbigoKSA9PiB7XG4gICAgYWxlcnRTdWNjZXNzKCdJdGVtIHVwZGF0ZWQuJyk7XG4gICAgZGlzcGF0Y2gocGF0Y2hDYXJ0SXRlbVN1Y2Nlc3MoKSk7XG4gICAgc2V0QWN0aXZlVGFiKHRhYklkSXRlbXMpO1xuICB9KS5cbiAgdGhlbigoKSA9PiB7XG4gICAgc2V0Q2FydEl0ZW0oe30sIDApO1xuICB9KS5cbiAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgIGRpc3BhdGNoKHBhdGNoQ2FydEl0ZW1FcnJvcigpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25EZWxldGVDYXJ0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gIGNvbnN0IGRhdGEgPSBnZXRTdG9yZSgpO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBzdGF0ZUNhcnQ6IHsgY2FydCB9IH0gPSBkYXRhO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGNhcnRJdGVtcyA9IChjYXJ0RW50IGFzIGFueSkuY2FydEl0ZW1zO1xuICBjYXJ0SXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgKGNhcnRFbnQgYXMgYW55KS5jYXJ0SXRlbXMgPSBjYXJ0SXRlbXM7XG4gIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtKGluZGV4KSk7XG4gIGNhcnRFbnQuc2F2ZSh7ZW1iZWQ6IGNhcnRFbWJlZH0pLlxuICAgIHRoZW4oXG4gICAgICAoYzogYW55KSA9PiB7XG4gICAgICAgIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtU3VjY2VzcyhjLnRvSnNvbigpKSk7XG4gICAgICB9XG4gICAgKS5cbiAgICBjYXRjaChcbiAgICAgIChlOiBhbnkpID0+IHtcbiAgICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZUNhcnRJdGVtRXJyb3IoKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cGRhdGVDYXJ0U2hpcG1lbnRBZGRyZXNzKCkge1xuICBjb25zdCB7XG4gICAgdXBkYXRlU2hpcG1lbnRBZGRyZXNzRXJyb3IsXG4gICAgdXBkYXRlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyxcbiAgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7XG4gICAgc3RhdGVDYXJ0OiB7IGNhcnQgfSxcbiAgICBzdGF0ZUNhcnRTaGlwbWVudDogeyByZWNlaXZlckFkZHJlc3M6IGFkZHJlc3MgfSxcbiAgfSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IHJlY2VpdmVyQWRkcmVzcyA9IG1ha2VBZGRyZXNzKGFkZHJlc3MsIHRydWUpO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNhcnRFbnQucmVjZWl2ZXJBZGRyZXNzID0gcmVjZWl2ZXJBZGRyZXNzO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgZ2V0Q2FydFNoaXBtZW50R3JvdXBzQW5kUXVvdGVzKGMudG9Kc29uKCkpLlxuICAgICAgICB0aGVuKChjYXJ0V2l0aFNoaXBtZW50R3JvdXBzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBjYXJ0SnNvbiA9IGNhcnRXaXRoU2hpcG1lbnRHcm91cHM7XG4gICAgICAgICAgYmF0Y2goKCkgPT4ge1xuICAgICAgICAgICAgZGlzcGF0Y2goc2V0Q2FydFNoaXBtZW50R3JvdXBzKGNhcnRKc29uLnNoaXBtZW50R3JvdXBzKSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh1cGRhdGVTaGlwbWVudEFkZHJlc3NTdWNjZXNzKGNhcnRKc29uLnNoaXBtZW50R3JvdXBzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pLlxuICAgIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgIGRpc3BhdGNoKHVwZGF0ZVNoaXBtZW50QWRkcmVzc0Vycm9yKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzYXZlQ2FydFNoaXBtZW50QWRkcmVzc0FuZEdvVG9OZXh0VGFiKHZhbHVlczogYW55KSB7XG4gIGNvbnN0IHsgcmVjZWl2ZXJBZGRyZXNzOiBhZGRyZXNzLCByZWNlaXZlck5vdGVzIH0gPSB2YWx1ZXM7XG4gIGNvbnN0IHtcbiAgICBzYXZlU2hpcG1lbnRBZGRyZXNzLFxuICAgIHNhdmVTaGlwbWVudEFkZHJlc3NFcnJvcixcbiAgICBzYXZlU2hpcG1lbnRBZGRyZXNzU3VjY2VzcyxcbiAgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IHN0YXRlQ2FydDogeyBjYXJ0IH0gfSA9IGdldFN0b3JlKCk7XG4gIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3MoKSk7XG4gIGNvbnN0IHJlY2VpdmVyQWRkcmVzcyA9IG1ha2VBZGRyZXNzKGFkZHJlc3MsIHRydWUpO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNhcnRFbnQucmVjZWl2ZXJBZGRyZXNzID0gcmVjZWl2ZXJBZGRyZXNzO1xuICBjYXJ0RW50LnJlY2VpdmVyTm90ZXMgPSByZWNlaXZlck5vdGVzO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goc2V0Q2FydChjLnRvSnNvbigpKSk7XG4gICAgICAgIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3NTdWNjZXNzKCkpO1xuICAgICAgICBzZXRBY3RpdmVUYWJBbmRFZGl0RGlzYWJsZWQoXG4gICAgICAgICAge3RhYklkOiB0YWJJZENoZWNrb3V0LCB0YWJJbmRleFRvU2V0OiAyLCBkaXNhYmxlZDogZmFsc2V9KTtcbiAgICAgIH0pO1xuICAgIH0pLlxuICAgIGNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGJhdGNoKCgpID0+IHtcbiAgICAgICAgYWxlcnRFcnJvcihlLmVycm9yTWVzc2FnZSk7XG4gICAgICAgIGRpc3BhdGNoKHNhdmVTaGlwbWVudEFkZHJlc3NFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBhdHRhY2hDbGllbnRUb0NhcnQoY2xpZW50SnNvbjogYW55KSB7XG4gIGNvbnN0IHtcbiAgICBjcmVhdGVOZXdDdXN0b21lclN1Y2Nlc3M6IGNyZWF0ZU5ld1N1Y2Nlc3MsXG4gIH0gPSBzbGljZU5ld0N1c3RvbWVyRm9ybS5hY3Rpb25zO1xuICBjb25zdCBjYXJ0VG9rZW4gPSBhd2FpdCBnZXRDYXJ0VG9rZW4oKTtcbiAgY29uc3QgeyBjYXJ0IH0gPSBnZXRTdG9yZSgpLnN0YXRlQ2FydDtcbiAgY29uc3QgY2xpZW50RW50ID0gbWFrZVVzZXIoe2lkOiBjbGllbnRKc29uLmlkfSk7XG4gIGNvbnN0IGNhcnRFbnQgPSBtYWtlQ2FydCh7Li4uY2FydH0sIGZhbHNlLCBjYXJ0VG9rZW4pO1xuICBjYXJ0RW50LmNsaWVudCA9IGNsaWVudEVudDtcbiAgY2FydEVudC5zYXZlKHtlbWJlZDogY2FydEVtYmVkfSkuXG4gICAgdGhlbigoYzogYW55KSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRDYXJ0KGMudG9Kc29uKCkpKTtcbiAgICAgIGRpc3BhdGNoKGNyZWF0ZU5ld1N1Y2Nlc3MoKSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGUoZ3JvdXBJbmRleDogbnVtYmVyLCBxdW90ZTogYW55KSB7XG4gIGNvbnN0IGNhcnRUb2tlbiA9IGF3YWl0IGdldENhcnRUb2tlbigpO1xuICBjb25zdCB7IHN0YXRlQ2FydDogeyBjYXJ0IH0gfSA9IGdldFN0b3JlKCk7XG4gIGNvbnN0IHtcbiAgICBzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGU6IHNldFNlbGVjdGVkLFxuICAgIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZUVycm9yLFxuICAgIHNldFNlbGVjdGVkU2hpcG1lbnRRdW90ZVN1Y2Nlc3MsXG4gIH0gPSBzbGljZUNhcnRTaGlwbWVudC5hY3Rpb25zO1xuICBjb25zdCBjYXJ0RW50ID0gbWFrZUNhcnQoY2FydCwgZmFsc2UsIGNhcnRUb2tlbik7XG4gIGNvbnN0IGNhcnRTaGlwbWVudFF1b3RlID0gbWFrZUNhcnRTaGlwbWVudFF1b3RlKHF1b3RlKTtcbiAgKGNhcnRFbnQgYXMgYW55KS5zaGlwbWVudEdyb3Vwc1tncm91cEluZGV4XS5zZWxlY3RlZFF1b3RlID0gY2FydFNoaXBtZW50UXVvdGU7XG4gIGRpc3BhdGNoKHNldFNlbGVjdGVkKHsgZ3JvdXBJbmRleCwgcXVvdGUgfSkpO1xuICBjYXJ0RW50LnNhdmUoe2VtYmVkOiBjYXJ0RW1iZWR9KS5cbiAgICB0aGVuKChjOiBhbnkpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldENhcnQoYy50b0pzb24oKSkpO1xuICAgICAgZGlzcGF0Y2goc2V0U2VsZWN0ZWRTaGlwbWVudFF1b3RlU3VjY2VzcygpKTtcbiAgICB9KS5cbiAgICBjYXRjaCgoZTogYW55KSA9PiB7XG4gICAgICBiYXRjaCgoKSA9PiB7XG4gICAgICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgICAgICBkaXNwYXRjaChzZXRTZWxlY3RlZFNoaXBtZW50UXVvdGVFcnJvcigpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5jb25zdCB7XG4gIHNldFJldHVybmluZ0N1c3RvbWVyRXJyb3IsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyOiB0cnlSZXR1cm5pbmcsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyRXJyb3IsXG4gIHRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2Vzcyxcbn0gPSBzbGljZUZvcm1SZXR1cm5pbmdDdXN0b21lci5hY3Rpb25zO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHJ5UmV0dXJuaW5nQ3VzdG9tZXIoZW1haWxBZGRyZXNzOiBzdHJpbmcpIHtcbiAgZGlzcGF0Y2godHJ5UmV0dXJuaW5nKCkpO1xuICB0cnkge1xuICAgIGNvbnN0IHVzZXI6IGFueSA9IGF3YWl0IHRyeVJldHVybmluZ0N1c3RvbWVyRW1haWwoZW1haWxBZGRyZXNzKTtcbiAgICBhd2FpdCBhdHRhY2hDbGllbnRUb0NhcnQoe1xuICAgICAgZW1haWxBZGRyZXNzZXM6IFt7ZW1haWxBZGRyZXNzfV0sXG4gICAgICBpZDogdXNlci51c2VyX2lkLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKHRyeVJldHVybmluZ0N1c3RvbWVyU3VjY2VzcygpKTtcbiAgfSBjYXRjaChlOiBhbnkpIHtcbiAgICBhbGVydEVycm9yKGUuZXJyb3JNZXNzYWdlKTtcbiAgICBkaXNwYXRjaCh0cnlSZXR1cm5pbmdDdXN0b21lckVycm9yKCkpO1xuICAgIGRpc3BhdGNoKHNldFJldHVybmluZ0N1c3RvbWVyRXJyb3IodHJ1ZSkpO1xuICB9O1xufVxuXG5jb25zdCB7XG4gIGNyZWF0ZU5ld0N1c3RvbWVyOiBjcmVhdGVOZXcsXG4gIGNyZWF0ZU5ld0N1c3RvbWVyRXJyb3I6IGNyZWF0ZU5ld0Vycm9yLFxuICBjcmVhdGVOZXdDdXN0b21lclN1Y2Nlc3M6IGNyZWF0ZU5ld1N1Y2Nlc3MsXG59ID0gc2xpY2VOZXdDdXN0b21lckZvcm0uYWN0aW9ucztcblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNyZWF0ZU5ld0N1c3RvbWVyKGFwaVVybDogc3RyaW5nLCBjdXN0b21lckpzb246IGFueSkge1xuICBjb25zdCB7IGNhcnQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCBkb21haW5JZCA9IGNhcnQgJiYgKGNhcnQgYXMgYW55KS5kb21haW4gJiYgKGNhcnQgYXMgYW55KS5kb21haW4uaWQ7XG4gIGRpc3BhdGNoKGNyZWF0ZU5ldygpKTtcbiAgY3JlYXRlTmV3Q3VzdG9tZXIoey4uLmN1c3RvbWVySnNvbiwgcmVnaXN0ZXJlZFVuZGVyRG9tYWluczogW3tpZDogZG9tYWluSWR9XX0pLlxuICB0aGVuKChyOiBhbnkpID0+IHIudXNlcikuXG4gIHRoZW4oYXR0YWNoQ2xpZW50VG9DYXJ0KS5cbiAgdGhlbigoKSA9PiBkaXNwYXRjaChjcmVhdGVOZXdTdWNjZXNzKCkpKS5cbiAgY2F0Y2goKGU6IGFueSkgPT4ge1xuICAgIGFsZXJ0RXJyb3IoZS5lcnJvck1lc3NhZ2UpO1xuICAgIGRpc3BhdGNoKGNyZWF0ZU5ld0Vycm9yKGUuZXJyb3JNZXNzYWdlKSk7XG4gIH0pO1xufVxuXG5jb25zdCB7IGNyZWRpdENhcmRQYXlTdWNjZXNzIH0gPSBzbGljZUNhcnRQYXltZW50LmFjdGlvbnM7IFxuXG5leHBvcnQgZnVuY3Rpb24gY2FsbGJhY2tDcmVkaXRDYXJkUGF5bWVudFN1Y2Nlc3MoaW52b2ljZUpzb246IGFueSkge1xuICBiYXRjaCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goY3JlZGl0Q2FyZFBheVN1Y2Nlc3MoaW52b2ljZUpzb24pKTtcbiAgICBzZXRBY3RpdmVUYWIodGFiSWRQYXltZW50U3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0VG9Kc29uKGVudDogYW55KSB7XG4gIGNvbnN0IGpzb24gPSBhd2FpdCBlbnQudG9Kc29uKCk7XG4gIHJldHVybiBqc29uO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDYXJ0VmFsdWVzKGNhcnRKc29uOiBhbnkpIHtcbiAgY29uc3QgeyBpbml0Q2FydFNoaXBtZW50U2xpY2UgfSA9IHNsaWNlQ2FydFNoaXBtZW50LmFjdGlvbnM7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLmZldGNoQ2FydFN1Y2Nlc3MoY2FydEpzb24pKTtcbiAgZGlzcGF0Y2goaW5pdENhcnRTaGlwbWVudFNsaWNlKGNhcnRKc29uKSk7XG59XG5cbmZ1bmN0aW9uIGdldENhcnQoZG9tYWluSWQ6IG51bWJlciwgY2FydElkQW5kVG9rZW46IEFycmF5PHN0cmluZz4pIHtcbiAgY29uc3Qge1xuICAgIGNhcnRTZXR0aW5nc0ludmFsaWQsXG4gIH0gPSBzbGljZUNhcnQuYWN0aW9ucztcbiAgY29uc3QgaWQgPSBOdW1iZXIoY2FydElkQW5kVG9rZW5bMF0pO1xuICBpZiAoY2FydElkQW5kVG9rZW5bMV0pIHtcbiAgICBtZXJjaGkuY2FydFRva2VuID0gY2FydElkQW5kVG9rZW5bMV07XG4gIH1cbiAgZGlzcGF0Y2goZmV0Y2hDYXJ0KCkpO1xuICBtZXJjaGkuQ2FydC5nZXQoaWQsIHtlbWJlZDogY2FydEVtYmVkfSlcbiAgICAudGhlbihjb252ZXJ0VG9Kc29uKVxuICAgIC50aGVuKChjYXJ0OiBhbnkpID0+IHtcbiAgICAgIGlmIChzdHJpcGVJc1ZhbGlkQW5kQWN0aXZlKGNhcnQpKSB7XG4gICAgICAgIHVwZGF0ZUNhcnRWYWx1ZXMoY2FydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgYE1FcmhjaSBjYXJ0IGVycm9yOiBTdHJpcGUgcGF5bWVudCBgICtcbiAgICAgICAgICBgb3B0aW9ucyBoYXZlIG5vdCBiZWVuIGNvcnJlY3RseSBzZXQgdXAuIGAgK1xuICAgICAgICAgIGBDaGVjayB0aGUgY29tcGFueSBwcm9maWxlIHBheW1lbnQgb3B0aW9ucyB0YWIgYCArXG4gICAgICAgICAgYHRvIHNldCBhbmQgZWRpdCBzdHJpcGUgcGF5bWVudCBvcHRpb25zLmApO1xuICAgICAgICBkaXNwYXRjaChjYXJ0U2V0dGluZ3NJbnZhbGlkKCkpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNhdGNoKChlOiBhbnkpID0+IHtcbiAgICAgIGNyZWF0ZUFuZFNldE5ld0NhcnRDb29raWUoZG9tYWluSWQpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWN0aW9uR2V0TWVyY2hpQ2FydChkb21haW5JZDogbnVtYmVyKSB7XG4gIGNvbnN0IGNhcnRJZEFuZFRva2VuID0gYXdhaXQgZ2V0TWVyY2hpQ2FydENvb2tpZShkb21haW5JZCk7XG4gIGlmIChjYXJ0SWRBbmRUb2tlbikge1xuICAgIGdldENhcnQoZG9tYWluSWQsIGNhcnRJZEFuZFRva2VuKTtcbiAgfSBlbHNlIHtcbiAgICBjcmVhdGVBbmRTZXROZXdDYXJ0Q29va2llKGRvbWFpbklkKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlQ2FydE9wZW4oKSB7XG4gIGRpc3BhdGNoKHNsaWNlQ2FydC5hY3Rpb25zLnRvZ2dsZUNhcnRPcGVuKCkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaXNNZXJjaGlDYXJ0RmV0Y2hpbmcoKSB7XG4gIHJldHVybiBnZXRTdG9yZSgpLnN0YXRlQ2FydC5mZXRjaGluZ0NhcnQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRNZXJjaGlDYXJ0VmFsdWVzKCkge1xuICBjb25zdCB7IGNhcnQgfSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0O1xuICBjb25zdCB7IGNhcnRJdGVtcywgY3VycmVuY3ksIHN1YnRvdGFsQ29zdCwgdGF4QW1vdW50LCB0b3RhbENvc3QgfSA9IChjYXJ0IGFzIGFueSk7XG4gIGNvbnN0IGNhcnRJdGVtc0NvdW50ID0gY2FydEl0ZW1zID8gY2FydEl0ZW1zLmxlbmd0aCA6IDA7XG4gIHJldHVybiB7XG4gICAgY2FydCxcbiAgICBjYXJ0SXRlbXNDb3VudCxcbiAgICBjdXJyZW5jeTogY3VycmVuY3kgfHwgJycsXG4gICAgc3VidG90YWxDb3N0OiBzdWJ0b3RhbENvc3QgfHwgMCxcbiAgICB0YXhBbW91bnQ6IHRheEFtb3VudCB8fCAwLFxuICAgIHRvdGFsQ29zdDogdG90YWxDb3N0IHx8IDAsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0NhcnRDb21wbGV0ZSgpIHtcbiAgY29uc3QgZG9tYWluSWQ6IGFueSA9IGdldFN0b3JlKCkuc3RhdGVDYXJ0LmRvbWFpbklkO1xuICBkaXNwYXRjaChzbGljZUNhcnRQYXltZW50LmFjdGlvbnMuZG9DYXJkQ29tcGxldGUoKSk7XG4gIGF3YWl0IGNhcnRBbmRDb29raWUoZG9tYWluSWQpLnRoZW4oKCkgPT4gbG9jYXRpb24ucmVsb2FkKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdE1lcmNoaUNhcnQoZG9tYWluSWQ6IG51bWJlcikge1xuICBkaXNwYXRjaChzZXREb21haW5JZChkb21haW5JZCkpO1xuICBhY3Rpb25HZXRNZXJjaGlDYXJ0KGRvbWFpbklkKTtcbiAgaWYgKCh3aW5kb3cgYXMgYW55KSAmJiAod2luZG93IGFzIGFueSkgIT09IHVuZGVmaW5lZCkge1xuICAgICh3aW5kb3cgYXMgYW55KS5nZXRDYXJ0ID0gKCkgPT4gYWN0aW9uR2V0TWVyY2hpQ2FydChkb21haW5JZCk7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmlzTWVyY2hpQ2FydEZldGNoaW5nID0gaXNNZXJjaGlDYXJ0RmV0Y2hpbmc7XG4gICAgKHdpbmRvdyBhcyBhbnkpLmdldE1lcmNoaUNhcnRWYWx1ZXMgPSBnZXRNZXJjaGlDYXJ0VmFsdWVzO1xuICAgICh3aW5kb3cgYXMgYW55KS50b2dnbGVDYXJ0T3BlbiA9IHRvZ2dsZUNhcnRPcGVuO1xuICB9XG59XG5cbmludGVyZmFjZSBQcm9wc01lcmNoaUNhcnRGZXRjaEFuZFNldCB7XG4gIGNhcnRKc29uOiBhbnk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtZXJjaGlDYXJ0RmV0Y2hBbmRTZXQoY2FydEpzb246IFByb3BzTWVyY2hpQ2FydEZldGNoQW5kU2V0KSB7XG4gIGF3YWl0IHJlZmV0Y2hDYXJ0KGNhcnRKc29uKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFPQSxJQUFBRyxlQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHNCQUFBLEdBQUFILHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBUywyQkFBQSxHQUFBSixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVUsZUFBQSxHQUFBTCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVcsb0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFZLGNBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFFBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLFFBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLE9BQUEsR0FBQWYsT0FBQTtBQUlBLElBQUFnQixLQUFBLEdBQUFoQixPQUFBO0FBT0EsSUFBQWlCLFFBQUEsR0FBQWpCLE9BQUE7QUFDQSxJQUFBa0IsS0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "merchi_cart",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Merchi's cart",
5
5
  "source": "src/index.ts",
6
6
  "main": "lib/index.js",
package/src/index.tsx CHANGED
@@ -7,7 +7,8 @@ import {
7
7
  toggleCartOpen as doToggleCartOpen,
8
8
  doCartComplete,
9
9
  getMerchiCartValues,
10
- isMerchiCartFetching
10
+ isMerchiCartFetching,
11
+ merchiCartFetchAndSet,
11
12
  } from './store';
12
13
 
13
14
  export {
@@ -20,6 +21,7 @@ export {
20
21
  getMerchiCart,
21
22
  getMerchiCartValues,
22
23
  isMerchiCartFetching,
24
+ merchiCartFetchAndSet,
23
25
  MerchiCartModal,
24
26
  MerchiShoppingCartModal,
25
27
  };
package/src/store.ts CHANGED
@@ -542,5 +542,14 @@ export function initMerchiCart(domainId: number) {
542
542
  (window as any).getCart = () => actionGetMerchiCart(domainId);
543
543
  (window as any).isMerchiCartFetching = isMerchiCartFetching;
544
544
  (window as any).getMerchiCartValues = getMerchiCartValues;
545
+ (window as any).toggleCartOpen = toggleCartOpen;
545
546
  }
546
547
  }
548
+
549
+ interface PropsMerchiCartFetchAndSet {
550
+ cartJson: any;
551
+ }
552
+
553
+ export async function merchiCartFetchAndSet(cartJson: PropsMerchiCartFetchAndSet) {
554
+ await refetchCart(cartJson);
555
+ }