@data-client/core 0.9.7 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +24 -1
  2. package/dist/index.js +132 -96
  3. package/dist/index.umd.min.js +1 -1
  4. package/legacy/actionTypes.js +1 -1
  5. package/legacy/actions.js +1 -1
  6. package/legacy/controller/AbortOptimistic.js +2 -0
  7. package/legacy/controller/Controller.js +110 -78
  8. package/legacy/controller/createExpireAll.js +1 -1
  9. package/legacy/controller/createFetch.js +1 -1
  10. package/legacy/controller/createInvalidate.js +1 -1
  11. package/legacy/controller/createInvalidateAll.js +1 -1
  12. package/legacy/controller/createOptimistic.js +1 -1
  13. package/legacy/controller/createReset.js +1 -1
  14. package/legacy/controller/createSet.js +1 -1
  15. package/legacy/controller/createSubscription.js +1 -1
  16. package/legacy/controller/ensurePojo.js +2 -3
  17. package/legacy/controller/types.js +1 -1
  18. package/legacy/index.js +1 -1
  19. package/legacy/internal.js +2 -2
  20. package/legacy/manager/ConnectionListener.js +1 -1
  21. package/legacy/manager/DefaultConnectionListener.js +1 -1
  22. package/legacy/manager/DevtoolsManager.js +6 -2
  23. package/legacy/manager/LogoutManager.js +1 -1
  24. package/legacy/manager/NetworkManager.js +1 -1
  25. package/legacy/manager/PollingSubscription.js +1 -1
  26. package/legacy/manager/SubscriptionManager.js +1 -1
  27. package/legacy/manager/applyManager.js +1 -1
  28. package/legacy/manager/devtoolsTypes.js +1 -1
  29. package/legacy/manager/index.js +1 -1
  30. package/legacy/middlewareTypes.js +1 -1
  31. package/legacy/next/index.js +1 -1
  32. package/legacy/state/RIC.js +1 -1
  33. package/legacy/state/reducer/createReducer.js +6 -6
  34. package/legacy/state/reducer/expireReducer.js +1 -1
  35. package/legacy/state/reducer/fetchReducer.js +1 -1
  36. package/legacy/state/reducer/invalidateReducer.js +5 -5
  37. package/legacy/state/reducer/setReducer.js +7 -7
  38. package/legacy/state/selectMeta.js +1 -1
  39. package/legacy/types.js +1 -1
  40. package/lib/actionTypes.js +1 -1
  41. package/lib/actions.d.ts +1 -1
  42. package/lib/actions.d.ts.map +1 -1
  43. package/lib/actions.js +1 -1
  44. package/lib/controller/AbortOptimistic.d.ts +3 -0
  45. package/lib/controller/AbortOptimistic.d.ts.map +1 -0
  46. package/lib/controller/AbortOptimistic.js +2 -0
  47. package/lib/controller/Controller.d.ts +36 -11
  48. package/lib/controller/Controller.d.ts.map +1 -1
  49. package/lib/controller/Controller.js +110 -78
  50. package/lib/controller/createExpireAll.js +1 -1
  51. package/lib/controller/createFetch.js +1 -1
  52. package/lib/controller/createInvalidate.js +1 -1
  53. package/lib/controller/createInvalidateAll.js +1 -1
  54. package/lib/controller/createOptimistic.js +1 -1
  55. package/lib/controller/createReset.js +1 -1
  56. package/lib/controller/createSet.js +1 -1
  57. package/lib/controller/createSubscription.js +1 -1
  58. package/lib/controller/ensurePojo.d.ts.map +1 -1
  59. package/lib/controller/ensurePojo.js +2 -3
  60. package/lib/controller/types.d.ts.map +1 -1
  61. package/lib/controller/types.js +1 -1
  62. package/lib/index.d.ts +1 -1
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +1 -1
  65. package/lib/internal.d.ts +1 -1
  66. package/lib/internal.d.ts.map +1 -1
  67. package/lib/internal.js +2 -2
  68. package/lib/manager/ConnectionListener.js +1 -1
  69. package/lib/manager/DefaultConnectionListener.js +1 -1
  70. package/lib/manager/DevtoolsManager.d.ts +1 -0
  71. package/lib/manager/DevtoolsManager.d.ts.map +1 -1
  72. package/lib/manager/DevtoolsManager.js +6 -2
  73. package/lib/manager/LogoutManager.js +1 -1
  74. package/lib/manager/NetworkManager.js +1 -1
  75. package/lib/manager/PollingSubscription.js +1 -1
  76. package/lib/manager/SubscriptionManager.js +1 -1
  77. package/lib/manager/applyManager.js +1 -1
  78. package/lib/manager/devtoolsTypes.js +1 -1
  79. package/lib/manager/index.js +1 -1
  80. package/lib/middlewareTypes.d.ts.map +1 -1
  81. package/lib/middlewareTypes.js +1 -1
  82. package/lib/next/index.js +1 -1
  83. package/lib/state/RIC.d.ts.map +1 -1
  84. package/lib/state/RIC.js +1 -1
  85. package/lib/state/reducer/createReducer.js +6 -6
  86. package/lib/state/reducer/expireReducer.d.ts +1 -1
  87. package/lib/state/reducer/expireReducer.js +1 -1
  88. package/lib/state/reducer/fetchReducer.js +1 -1
  89. package/lib/state/reducer/invalidateReducer.d.ts +1 -1
  90. package/lib/state/reducer/invalidateReducer.js +6 -6
  91. package/lib/state/reducer/setReducer.d.ts.map +1 -1
  92. package/lib/state/reducer/setReducer.js +8 -8
  93. package/lib/state/selectMeta.js +1 -1
  94. package/lib/types.d.ts +1 -1
  95. package/lib/types.d.ts.map +1 -1
  96. package/lib/types.js +1 -1
  97. package/package.json +3 -3
  98. package/src/actions.ts +1 -1
  99. package/src/controller/AbortOptimistic.ts +1 -0
  100. package/src/controller/Controller.ts +215 -96
  101. package/src/controller/__tests__/Controller.ts +2 -4
  102. package/src/controller/__tests__/__snapshots__/get.ts.snap +120 -0
  103. package/src/controller/__tests__/get.ts +285 -0
  104. package/src/controller/__tests__/getResponse.ts +2 -2
  105. package/src/controller/createSet.ts +3 -2
  106. package/src/controller/ensurePojo.ts +6 -7
  107. package/src/controller/types.ts +2 -4
  108. package/src/index.ts +2 -1
  109. package/src/internal.ts +1 -1
  110. package/src/manager/DevtoolsManager.ts +8 -2
  111. package/src/manager/__tests__/subscriptionManager.ts +3 -2
  112. package/src/middlewareTypes.ts +4 -12
  113. package/src/state/RIC.ts +3 -4
  114. package/src/state/__tests__/__snapshots__/reducer.ts.snap +4 -4
  115. package/src/state/__tests__/reducer.ts +32 -34
  116. package/src/state/reducer/createReducer.ts +3 -3
  117. package/src/state/reducer/invalidateReducer.ts +4 -4
  118. package/src/state/reducer/setReducer.ts +10 -9
  119. package/src/types.ts +3 -1
  120. package/ts3.4/actions.d.ts +1 -1
  121. package/ts3.4/controller/AbortOptimistic.d.ts +3 -0
  122. package/ts3.4/controller/Controller.d.ts +47 -19
  123. package/ts3.4/index.d.ts +1 -1
  124. package/ts3.4/internal.d.ts +1 -1
  125. package/ts3.4/manager/DevtoolsManager.d.ts +1 -0
  126. package/ts3.4/state/reducer/expireReducer.d.ts +1 -1
  127. package/ts3.4/state/reducer/invalidateReducer.d.ts +1 -1
  128. package/ts3.4/types.d.ts +1 -1
package/lib/internal.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { inferResults, INVALID } from '@data-client/normalizr';
1
+ export { MemoCache, INVALID } from '@data-client/normalizr';
2
2
  export { default as RIC } from './state/RIC.js';
3
3
  export { initialState } from './state/reducer/createReducer.js';
4
4
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC"}
package/lib/internal.js CHANGED
@@ -1,4 +1,4 @@
1
- export { inferResults, INVALID } from '@data-client/normalizr';
1
+ export { MemoCache, INVALID } from '@data-client/normalizr';
2
2
  export { default as RIC } from './state/RIC.js';
3
3
  export { initialState } from './state/reducer/createReducer.js';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZlclJlc3VsdHMiLCJJTlZBTElEIiwiZGVmYXVsdCIsIlJJQyIsImluaXRpYWxTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcm5hbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBpbmZlclJlc3VsdHMsIElOVkFMSUQgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUklDIH0gZnJvbSAnLi9zdGF0ZS9SSUMuanMnO1xuZXhwb3J0IHsgaW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9yZWR1Y2VyL2NyZWF0ZVJlZHVjZXIuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxZQUFZLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDOUQsU0FBU0MsT0FBTyxJQUFJQyxHQUFHLFFBQVEsZ0JBQWdCO0FBQy9DLFNBQVNDLFlBQVksUUFBUSxrQ0FBa0MifQ==
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZW1vQ2FjaGUiLCJJTlZBTElEIiwiZGVmYXVsdCIsIlJJQyIsImluaXRpYWxTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcm5hbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNZW1vQ2FjaGUsIElOVkFMSUQgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUklDIH0gZnJvbSAnLi9zdGF0ZS9SSUMuanMnO1xuZXhwb3J0IHsgaW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9yZWR1Y2VyL2NyZWF0ZVJlZHVjZXIuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDM0QsU0FBU0MsT0FBTyxJQUFJQyxHQUFHLFFBQVEsZ0JBQWdCO0FBQy9DLFNBQVNDLFlBQVksUUFBUSxrQ0FBa0MiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +1,2 @@
1
1
 
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvQ29ubmVjdGlvbkxpc3RlbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBDb25uZWN0aW9uTGlzdGVuZXIge1xuICBpc09ubGluZTogKCkgPT4gYm9vbGVhbjtcbiAgYWRkT25saW5lTGlzdGVuZXI6IChoYW5kbGVyOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICByZW1vdmVPbmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIGFkZE9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIHJlbW92ZU9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvQ29ubmVjdGlvbkxpc3RlbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBDb25uZWN0aW9uTGlzdGVuZXIge1xuICBpc09ubGluZTogKCkgPT4gYm9vbGVhbjtcbiAgYWRkT25saW5lTGlzdGVuZXI6IChoYW5kbGVyOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICByZW1vdmVPbmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIGFkZE9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIHJlbW92ZU9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -37,4 +37,4 @@ if (typeof navigator !== 'undefined' && typeof addEventListener === 'function')
37
37
  DefaultConnectionListener = AlwaysOnlineConnectionListener;
38
38
  }
39
39
  export default DefaultConnectionListener;
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIiwiaXNPbmxpbmUiLCJuYXZpZ2F0b3IiLCJvbkxpbmUiLCJ1bmRlZmluZWQiLCJhZGRPbmxpbmVMaXN0ZW5lciIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwicmVtb3ZlT2ZmbGluZUxpc3RlbmVyIiwiQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIiwiRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL0RlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbm5lY3Rpb25MaXN0ZW5lciBmcm9tICcuL0Nvbm5lY3Rpb25MaXN0ZW5lci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5vbkxpbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5hdmlnYXRvci5vbkxpbmU7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYWRkT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgcmVtb3ZlT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKGhhbmRsZXI6ICgpID0+IHZvaWQpIHtcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XG4gIH1cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFkZE9ubGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPbmxpbmVMaXN0ZW5lcigpIHt9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoKSB7fVxufVxuXG5sZXQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjogeyBuZXcgKCk6IENvbm5lY3Rpb25MaXN0ZW5lciB9O1xuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoXG4gIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBhZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nXG4pIHtcbiAgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciA9IEJyb3dzZXJDb25uZWN0aW9uTGlzdGVuZXI7XG59IGVsc2Uge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyID0gQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyO1xufVxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjtcbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSx5QkFBeUIsQ0FBK0I7RUFDbkVDLFFBQVFBLENBQUEsRUFBRztJQUNULElBQUlDLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLQyxTQUFTLEVBQUU7TUFDbEMsT0FBT0YsU0FBUyxDQUFDQyxNQUFNO0lBQ3pCO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUUsaUJBQWlCQSxDQUFDQyxPQUFtQixFQUFFO0lBQ3JDQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVELE9BQU8sQ0FBQztFQUNyQztFQUVBRSxvQkFBb0JBLENBQUNGLE9BQW1CLEVBQUU7SUFDeENHLG1CQUFtQixDQUFDLFFBQVEsRUFBRUgsT0FBTyxDQUFDO0VBQ3hDO0VBRUFJLGtCQUFrQkEsQ0FBQ0osT0FBbUIsRUFBRTtJQUN0Q0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFRCxPQUFPLENBQUM7RUFDdEM7RUFFQUsscUJBQXFCQSxDQUFDTCxPQUFtQixFQUFFO0lBQ3pDRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUVILE9BQU8sQ0FBQztFQUN6QztBQUNGO0FBRUEsT0FBTyxNQUFNTSw4QkFBOEIsQ0FBK0I7RUFDeEVYLFFBQVFBLENBQUEsRUFBRztJQUNUO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUksaUJBQWlCQSxDQUFBLEVBQUcsQ0FBQztFQUVyQkcsb0JBQW9CQSxDQUFBLEVBQUcsQ0FBQztFQUV4QkUsa0JBQWtCQSxDQUFBLEVBQUcsQ0FBQztFQUV0QkMscUJBQXFCQSxDQUFBLEVBQUcsQ0FBQztBQUMzQjtBQUVBLElBQUlFLHlCQUF5RDtBQUM3RDtBQUNBLElBQ0UsT0FBT1gsU0FBUyxLQUFLLFdBQVcsSUFDaEMsT0FBT0ssZ0JBQWdCLEtBQUssVUFBVSxFQUN0QztFQUNBTSx5QkFBeUIsR0FBR2IseUJBQXlCO0FBQ3ZELENBQUMsTUFBTTtFQUNMO0VBQ0FhLHlCQUF5QixHQUFHRCw4QkFBOEI7QUFDNUQ7QUFDQSxlQUFlQyx5QkFBeUIifQ==
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIiwiaXNPbmxpbmUiLCJuYXZpZ2F0b3IiLCJvbkxpbmUiLCJ1bmRlZmluZWQiLCJhZGRPbmxpbmVMaXN0ZW5lciIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwicmVtb3ZlT2ZmbGluZUxpc3RlbmVyIiwiQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIiwiRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL0RlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbm5lY3Rpb25MaXN0ZW5lciBmcm9tICcuL0Nvbm5lY3Rpb25MaXN0ZW5lci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5vbkxpbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5hdmlnYXRvci5vbkxpbmU7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYWRkT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgcmVtb3ZlT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKGhhbmRsZXI6ICgpID0+IHZvaWQpIHtcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XG4gIH1cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFkZE9ubGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPbmxpbmVMaXN0ZW5lcigpIHt9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoKSB7fVxufVxuXG5sZXQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjogeyBuZXcgKCk6IENvbm5lY3Rpb25MaXN0ZW5lciB9O1xuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoXG4gIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBhZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nXG4pIHtcbiAgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciA9IEJyb3dzZXJDb25uZWN0aW9uTGlzdGVuZXI7XG59IGVsc2Uge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyID0gQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyO1xufVxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjtcbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSx5QkFBeUIsQ0FBK0I7RUFDbkVDLFFBQVFBLENBQUEsRUFBRztJQUNULElBQUlDLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLQyxTQUFTLEVBQUU7TUFDbEMsT0FBT0YsU0FBUyxDQUFDQyxNQUFNO0lBQ3pCO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUUsaUJBQWlCQSxDQUFDQyxPQUFtQixFQUFFO0lBQ3JDQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVELE9BQU8sQ0FBQztFQUNyQztFQUVBRSxvQkFBb0JBLENBQUNGLE9BQW1CLEVBQUU7SUFDeENHLG1CQUFtQixDQUFDLFFBQVEsRUFBRUgsT0FBTyxDQUFDO0VBQ3hDO0VBRUFJLGtCQUFrQkEsQ0FBQ0osT0FBbUIsRUFBRTtJQUN0Q0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFRCxPQUFPLENBQUM7RUFDdEM7RUFFQUsscUJBQXFCQSxDQUFDTCxPQUFtQixFQUFFO0lBQ3pDRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUVILE9BQU8sQ0FBQztFQUN6QztBQUNGO0FBRUEsT0FBTyxNQUFNTSw4QkFBOEIsQ0FBK0I7RUFDeEVYLFFBQVFBLENBQUEsRUFBRztJQUNUO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUksaUJBQWlCQSxDQUFBLEVBQUcsQ0FBQztFQUVyQkcsb0JBQW9CQSxDQUFBLEVBQUcsQ0FBQztFQUV4QkUsa0JBQWtCQSxDQUFBLEVBQUcsQ0FBQztFQUV0QkMscUJBQXFCQSxDQUFBLEVBQUcsQ0FBQztBQUMzQjtBQUVBLElBQUlFLHlCQUF5RDtBQUM3RDtBQUNBLElBQ0UsT0FBT1gsU0FBUyxLQUFLLFdBQVcsSUFDaEMsT0FBT0ssZ0JBQWdCLEtBQUssVUFBVSxFQUN0QztFQUNBTSx5QkFBeUIsR0FBR2IseUJBQXlCO0FBQ3ZELENBQUMsTUFBTTtFQUNMO0VBQ0FhLHlCQUF5QixHQUFHRCw4QkFBOEI7QUFDNUQ7QUFDQSxlQUFlQyx5QkFBeUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -15,6 +15,7 @@ export default class DevToolsManager implements Manager {
15
15
  protected started: boolean;
16
16
  protected actions: [ActionTypes, State<unknown>][];
17
17
  protected controller: Controller;
18
+ maxBufferLength: number;
18
19
  constructor(config?: DevToolsConfig, skipLogging?: (action: ActionTypes) => boolean);
19
20
  handleAction(action: any, state: any): void;
20
21
  /** Called when initial state is ready */
@@ -1 +1 @@
1
- {"version":3,"file":"DevtoolsManager.d.ts","sourceRoot":"","sources":["../../src/manager/DevtoolsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EAAE,cAAc,EAAE,CAAC;AAgE/B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,OAAO;IACrD,UAAkB,UAAU,EAAE,UAAU,CAAC;IACzC,UAAkB,QAAQ,EAAE,SAAS,GAAG,GAAG,CAAC;IAC5C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAM;IACxD,UAAkB,UAAU,EAAE,UAAU,CAAC;gBAGvC,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO;IA8DhD,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IASpC,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAKtB,gDAAgD;IAChD,OAAO;IAEP;;OAEG;IACH,aAAa;CAGd"}
1
+ {"version":3,"file":"DevtoolsManager.d.ts","sourceRoot":"","sources":["../../src/manager/DevtoolsManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAqB,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EAAE,cAAc,EAAE,CAAC;AAiE/B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,OAAO;IACrD,UAAkB,UAAU,EAAE,UAAU,CAAC;IACzC,UAAkB,QAAQ,EAAE,SAAS,GAAG,GAAG,CAAC;IAC5C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAM;IACxD,UAAkB,UAAU,EAAE,UAAU,CAAC;IACzC,eAAe,SAAO;gBAGpB,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO;IA8DhD,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAapC,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAKtB,gDAAgD;IAChD,OAAO;IAEP;;OAEG;IACH,aAAa;CAGd"}
@@ -9,7 +9,7 @@ if (process.env.NODE_ENV !== 'production') {
9
9
  var _toJSON, _endpoint$schema;
10
10
  const serial = {
11
11
  name: endpoint.name,
12
- schema: (_toJSON = (_endpoint$schema = endpoint.schema) == null ? void 0 : _endpoint$schema.toJSON == null ? void 0 : _endpoint$schema.toJSON()) != null ? _toJSON : endpoint.schema,
12
+ schema: (_toJSON = (_endpoint$schema = endpoint.schema) == null || _endpoint$schema.toJSON == null ? void 0 : _endpoint$schema.toJSON()) != null ? _toJSON : endpoint.schema,
13
13
  sideEffect: endpoint.sideEffect
14
14
  };
15
15
  extraEndpointKeys.forEach(key => {
@@ -56,6 +56,7 @@ export default class DevToolsManager {
56
56
  constructor(config, skipLogging) {
57
57
  this.started = false;
58
58
  this.actions = [];
59
+ this.maxBufferLength = 100;
59
60
  /* istanbul ignore next */
60
61
  this.devTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__.connect({
61
62
  ...DEFAULT_CONFIG,
@@ -115,6 +116,9 @@ export default class DevToolsManager {
115
116
  if (this.started) {
116
117
  this.devTools.send(action, state, undefined, 'RDC');
117
118
  } else {
119
+ // avoid this getting too big in case this is long running
120
+ // we cut in half so we aren't constantly reallocating
121
+ if (this.actions.length > this.maxBufferLength) this.actions = this.actions.slice(this.maxBufferLength / 2);
118
122
  // queue actions
119
123
  this.actions.push([action, state]);
120
124
  }
@@ -136,4 +140,4 @@ export default class DevToolsManager {
136
140
  return this.middleware;
137
141
  }
138
142
  }
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ0aXRsZSIsImF1dG9QYXVzZSIsImFjdGlvblNhbml0aXplciIsImFjdGlvbiIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJyZXBsYWNlciIsInZhbHVlIiwiaXNGaW5pdGUiLCJlbmRzV2l0aCIsIkRhdGVUaW1lRm9ybWF0IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsImZyYWN0aW9uYWxTZWNvbmREaWdpdHMiLCJmb3JtYXQiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNraXBMb2dnaW5nIiwic3RhcnRlZCIsImFjdGlvbnMiLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic3Vic2NyaWJlIiwibXNnIiwidHlwZSIsImxlbmd0aCIsInN0YXRlIiwiaGFuZGxlQWN0aW9uIiwicGF5bG9hZCIsImNvbnRyb2xsZXIiLCJyZXNldEVudGlyZVN0b3JlIiwibWlkZGxld2FyZSIsInJlZHVjZXIiLCJnZXRTdGF0ZSIsIm5leHQiLCJyZXQiLCJ0aGVuIiwib3B0aW1pc3RpYyIsInJlZHVjZSIsInNlbmQiLCJwdXNoIiwiaW5pdCIsImNsZWFudXAiLCJnZXRNaWRkbGV3YXJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvRGV2dG9vbHNNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWlubmVyLWRlY2xhcmF0aW9ucyAqL1xuaW1wb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9IGZyb20gJy4vZGV2dG9vbHNUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IE1pZGRsZXdhcmUgfSBmcm9tICcuL0xvZ291dE1hbmFnZXIuanMnO1xuaW1wb3J0IHsgQ29udHJvbGxlciwgRW5kcG9pbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9pbmRleC5qcyc7XG5pbXBvcnQgY3JlYXRlUmVkdWNlciBmcm9tICcuLi9zdGF0ZS9yZWR1Y2VyL2NyZWF0ZVJlZHVjZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBNYW5hZ2VyLCBTdGF0ZSwgQWN0aW9uVHlwZXMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIHsgRGV2VG9vbHNDb25maWcgfTtcblxubGV0IERFRkFVTFRfQ09ORklHID0ge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIGNvbnN0IGV4dHJhRW5kcG9pbnRLZXlzID0gW1xuICAgICdkYXRhRXhwaXJ5TGVuZ3RoJyxcbiAgICAnZXJyb3JFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvclBvbGljeScsXG4gICAgJ2ludmFsaWRJZlN0YWxlJyxcbiAgICAncG9sbEZyZXF1ZW5jeScsXG4gICAgJ2dldE9wdGltaXN0aWNSZXNwb25zZScsXG4gICAgJ3VwZGF0ZScsXG4gIF07XG5cbiAgZnVuY3Rpb24gc2VyaWFsaXplRW5kcG9pbnQoZW5kcG9pbnQ6IEVuZHBvaW50SW50ZXJmYWNlKSB7XG4gICAgY29uc3Qgc2VyaWFsOiBhbnkgPSB7XG4gICAgICBuYW1lOiBlbmRwb2ludC5uYW1lLFxuICAgICAgc2NoZW1hOiAoZW5kcG9pbnQuc2NoZW1hIGFzIGFueSk/LnRvSlNPTj8uKCkgPz8gZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgc2lkZUVmZmVjdDogZW5kcG9pbnQuc2lkZUVmZmVjdCxcbiAgICB9O1xuICAgIGV4dHJhRW5kcG9pbnRLZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChrZXkgaW4gZW5kcG9pbnQpXG4gICAgICAgIHNlcmlhbFtrZXldID0gZW5kcG9pbnRba2V5IGFzIGtleW9mIEVuZHBvaW50SW50ZXJmYWNlXTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2VyaWFsO1xuICB9XG5cbiAgY29uc3QgSEFTSU5UTCA9IHR5cGVvZiBJbnRsICE9PSAndW5kZWZpbmVkJztcbiAgREVGQVVMVF9DT05GSUcgPSB7XG4gICAgbmFtZTogYERhdGEgQ2xpZW50OiAke2dsb2JhbFRoaXMuZG9jdW1lbnQ/LnRpdGxlfWAsXG4gICAgYXV0b1BhdXNlOiB0cnVlLFxuICAgIGFjdGlvblNhbml0aXplcjogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IHtcbiAgICAgIGlmICghKCdlbmRwb2ludCcgaW4gYWN0aW9uKSkgcmV0dXJuIGFjdGlvbjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6IHNlcmlhbGl6ZUVuZHBvaW50KGFjdGlvbi5lbmRwb2ludCksXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2VyaWFsaXplOiB7XG4gICAgICBvcHRpb25zOiB1bmRlZmluZWQsXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmVwbGFjZXI6IEhBU0lOVExcbiAgICAgICAgPyAoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsIHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiZcbiAgICAgICAgICAgICAgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgaXNGaW5pdGUodmFsdWUpICYmXG4gICAgICAgICAgICAgIChrZXkgPT09ICdkYXRlJyB8fCBrZXkuZW5kc1dpdGgoJ0F0JykpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywge1xuICAgICAgICAgICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBzZWNvbmQ6ICdudW1lcmljJyxcbiAgICAgICAgICAgICAgICBmcmFjdGlvbmFsU2Vjb25kRGlnaXRzOiAzLFxuICAgICAgICAgICAgICB9KS5mb3JtYXQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqIEludGVncmF0ZXMgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29sc1xuICpcbiAqIE9wdGlvbnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3JlZHV4LWRldnRvb2xzL2Jsb2IvbWFpbi9leHRlbnNpb24vZG9jcy9BUEkvQXJndW1lbnRzLm1kXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvRGV2VG9vbHNNYW5hZ2VyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERldlRvb2xzTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBkZXZUb29sczogdW5kZWZpbmVkIHwgYW55O1xuICBwcm90ZWN0ZWQgc3RhcnRlZCA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYWN0aW9uczogW0FjdGlvblR5cGVzLCBTdGF0ZTx1bmtub3duPl1bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBjb250cm9sbGVyOiBDb250cm9sbGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZz86IERldlRvb2xzQ29uZmlnLFxuICAgIHNraXBMb2dnaW5nPzogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IGJvb2xlYW4sXG4gICkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5kZXZUb29scyA9XG4gICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18gJiZcbiAgICAgICh3aW5kb3cgYXMgYW55KS5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fLmNvbm5lY3Qoe1xuICAgICAgICAuLi5ERUZBVUxUX0NPTkZJRyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdGhpcy5kZXZUb29scykge1xuICAgICAgdGhpcy5kZXZUb29scy5zdWJzY3JpYmUoKG1zZzogYW55KSA9PiB7XG4gICAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdTVEFSVCc6XG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoW2FjdGlvbiwgc3RhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1NUT1AnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdESVNQQVRDSCc6XG4gICAgICAgICAgICBpZiAobXNnLnBheWxvYWQudHlwZSA9PT0gJ1JFU0VUJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9IGNvbnRyb2xsZXIgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyIGFzIGFueSk7XG4gICAgICAgIGxldCBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIG5leHQgPT4gYWN0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCByZXQgPSBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgLy8gd2UgdHJhY2sgc3RhdGUgY2hhbmdlcyBoZXJlIHNpbmNlIGdldFN0YXRlKCkgd2lsbCBvbmx5IHVwZGF0ZSBhZnRlciBhIGJhdGNoIGNvbW1pdFxuICAgICAgICAgICAgc3RhdGUgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNraXBMb2dnaW5nPy4oYWN0aW9uKSkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZS5vcHRpbWlzdGljLnJlZHVjZShyZWR1Y2VyLCBzdGF0ZSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSAoKSA9PiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQWN0aW9uKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgdGhpcy5kZXZUb29scy5zZW5kKGFjdGlvbiwgc3RhdGUsIHVuZGVmaW5lZCwgJ1JEQycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBxdWV1ZSBhY3Rpb25zXG4gICAgICB0aGlzLmFjdGlvbnMucHVzaChbYWN0aW9uLCBzdGF0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiBpbml0aWFsIHN0YXRlIGlzIHJlYWR5ICovXG4gIGluaXQoc3RhdGU6IFN0YXRlPGFueT4pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodGhpcy5kZXZUb29scykgdGhpcy5kZXZUb29scy5pbml0KHN0YXRlKTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBzdWJzY3JpcHRpb25zIGFyZSBjbGVhbmVkIHVwLiAqL1xuICBjbGVhbnVwKCkge31cblxuICAvKiogQXR0YWNoZXMgTWFuYWdlciB0byBzdG9yZVxuICAgKlxuICAgKi9cbiAgZ2V0TWlkZGxld2FyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5taWRkbGV3YXJlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQUlBLE9BQU9BLGFBQWEsTUFBTSxtQ0FBbUM7QUFLN0QsSUFBSUMsY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2QixJQUFJQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtFQUFBLElBQUFDLG9CQUFBO0VBQ3pDLE1BQU1DLGlCQUFpQixHQUFHLENBQ3hCLGtC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
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVSZWR1Y2VyIiwiREVGQVVMVF9DT05GSUciLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfZ2xvYmFsVGhpcyRkb2N1bWVudCIsImV4dHJhRW5kcG9pbnRLZXlzIiwic2VyaWFsaXplRW5kcG9pbnQiLCJlbmRwb2ludCIsIl90b0pTT04iLCJfZW5kcG9pbnQkc2NoZW1hIiwic2VyaWFsIiwibmFtZSIsInNjaGVtYSIsInRvSlNPTiIsInNpZGVFZmZlY3QiLCJmb3JFYWNoIiwia2V5IiwiSEFTSU5UTCIsIkludGwiLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ0aXRsZSIsImF1dG9QYXVzZSIsImFjdGlvblNhbml0aXplciIsImFjdGlvbiIsInNlcmlhbGl6ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWQiLCJyZXBsYWNlciIsInZhbHVlIiwiaXNGaW5pdGUiLCJlbmRzV2l0aCIsIkRhdGVUaW1lRm9ybWF0IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCIsImZyYWN0aW9uYWxTZWNvbmREaWdpdHMiLCJmb3JtYXQiLCJEZXZUb29sc01hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNraXBMb2dnaW5nIiwic3RhcnRlZCIsImFjdGlvbnMiLCJtYXhCdWZmZXJMZW5ndGgiLCJkZXZUb29scyIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0Iiwic3Vic2NyaWJlIiwibXNnIiwidHlwZSIsImxlbmd0aCIsInN0YXRlIiwiaGFuZGxlQWN0aW9uIiwicGF5bG9hZCIsImNvbnRyb2xsZXIiLCJyZXNldEVudGlyZVN0b3JlIiwibWlkZGxld2FyZSIsInJlZHVjZXIiLCJnZXRTdGF0ZSIsIm5leHQiLCJyZXQiLCJ0aGVuIiwib3B0aW1pc3RpYyIsInJlZHVjZSIsInNlbmQiLCJzbGljZSIsInB1c2giLCJpbml0IiwiY2xlYW51cCIsImdldE1pZGRsZXdhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9EZXZ0b29sc01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8taW5uZXItZGVjbGFyYXRpb25zICovXG5pbXBvcnQgdHlwZSB7IERldlRvb2xzQ29uZmlnIH0gZnJvbSAnLi9kZXZ0b29sc1R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgTWlkZGxld2FyZSB9IGZyb20gJy4vTG9nb3V0TWFuYWdlci5qcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyLCBFbmRwb2ludEludGVyZmFjZSB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCBjcmVhdGVSZWR1Y2VyIGZyb20gJy4uL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5pbXBvcnQgdHlwZSB7IE1hbmFnZXIsIFN0YXRlLCBBY3Rpb25UeXBlcyB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IHR5cGUgeyBEZXZUb29sc0NvbmZpZyB9O1xuXG5sZXQgREVGQVVMVF9DT05GSUcgPSB7fTtcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgY29uc3QgZXh0cmFFbmRwb2ludEtleXMgPSBbXG4gICAgJ2RhdGFFeHBpcnlMZW5ndGgnLFxuICAgICdlcnJvckV4cGlyeUxlbmd0aCcsXG4gICAgJ2Vycm9yUG9saWN5JyxcbiAgICAnaW52YWxpZElmU3RhbGUnLFxuICAgICdwb2xsRnJlcXVlbmN5JyxcbiAgICAnZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlJyxcbiAgICAndXBkYXRlJyxcbiAgXTtcblxuICBmdW5jdGlvbiBzZXJpYWxpemVFbmRwb2ludChlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2UpIHtcbiAgICBjb25zdCBzZXJpYWw6IGFueSA9IHtcbiAgICAgIG5hbWU6IGVuZHBvaW50Lm5hbWUsXG4gICAgICBzY2hlbWE6IChlbmRwb2ludC5zY2hlbWEgYXMgYW55KT8udG9KU09OPy4oKSA/PyBlbmRwb2ludC5zY2hlbWEsXG4gICAgICBzaWRlRWZmZWN0OiBlbmRwb2ludC5zaWRlRWZmZWN0LFxuICAgIH07XG4gICAgZXh0cmFFbmRwb2ludEtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGtleSBpbiBlbmRwb2ludClcbiAgICAgICAgc2VyaWFsW2tleV0gPSBlbmRwb2ludFtrZXkgYXMga2V5b2YgRW5kcG9pbnRJbnRlcmZhY2VdO1xuICAgIH0pO1xuICAgIHJldHVybiBzZXJpYWw7XG4gIH1cblxuICBjb25zdCBIQVNJTlRMID0gdHlwZW9mIEludGwgIT09ICd1bmRlZmluZWQnO1xuICBERUZBVUxUX0NPTkZJRyA9IHtcbiAgICBuYW1lOiBgRGF0YSBDbGllbnQ6ICR7Z2xvYmFsVGhpcy5kb2N1bWVudD8udGl0bGV9YCxcbiAgICBhdXRvUGF1c2U6IHRydWUsXG4gICAgYWN0aW9uU2FuaXRpemVyOiAoYWN0aW9uOiBBY3Rpb25UeXBlcykgPT4ge1xuICAgICAgaWYgKCEoJ2VuZHBvaW50JyBpbiBhY3Rpb24pKSByZXR1cm4gYWN0aW9uO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICBlbmRwb2ludDogc2VyaWFsaXplRW5kcG9pbnQoYWN0aW9uLmVuZHBvaW50KSxcbiAgICAgIH07XG4gICAgfSxcbiAgICBzZXJpYWxpemU6IHtcbiAgICAgIG9wdGlvbnM6IHVuZGVmaW5lZCxcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICByZXBsYWNlcjpcbiAgICAgICAgSEFTSU5UTCA/XG4gICAgICAgICAgKGtleTogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCB2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgIGlzRmluaXRlKHZhbHVlKSAmJlxuICAgICAgICAgICAgICAoa2V5ID09PSAnZGF0ZScgfHwga2V5LmVuZHNXaXRoKCdBdCcpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHtcbiAgICAgICAgICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgbWludXRlOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgc2Vjb25kOiAnbnVtZXJpYycsXG4gICAgICAgICAgICAgICAgZnJhY3Rpb25hbFNlY29uZERpZ2l0czogMyxcbiAgICAgICAgICAgICAgfSkuZm9ybWF0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKiBJbnRlZ3JhdGVzIHdpdGggaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVkdXgtZGV2dG9vbHNcbiAqXG4gKiBPcHRpb25zOiBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29scy9ibG9iL21haW4vZXh0ZW5zaW9uL2RvY3MvQVBJL0FyZ3VtZW50cy5tZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL2RvY3MvYXBpL0RldlRvb2xzTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEZXZUb29sc01hbmFnZXIgaW1wbGVtZW50cyBNYW5hZ2VyIHtcbiAgcHJvdGVjdGVkIGRlY2xhcmUgbWlkZGxld2FyZTogTWlkZGxld2FyZTtcbiAgcHJvdGVjdGVkIGRlY2xhcmUgZGV2VG9vbHM6IHVuZGVmaW5lZCB8IGFueTtcbiAgcHJvdGVjdGVkIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IFtBY3Rpb25UeXBlcywgU3RhdGU8dW5rbm93bj5dW10gPSBbXTtcbiAgcHJvdGVjdGVkIGRlY2xhcmUgY29udHJvbGxlcjogQ29udHJvbGxlcjtcbiAgbWF4QnVmZmVyTGVuZ3RoID0gMTAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZz86IERldlRvb2xzQ29uZmlnLFxuICAgIHNraXBMb2dnaW5nPzogKGFjdGlvbjogQWN0aW9uVHlwZXMpID0+IGJvb2xlYW4sXG4gICkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5kZXZUb29scyA9XG4gICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgKHdpbmRvdyBhcyBhbnkpLl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18gJiZcbiAgICAgICh3aW5kb3cgYXMgYW55KS5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fLmNvbm5lY3Qoe1xuICAgICAgICAuLi5ERUZBVUxUX0NPTkZJRyxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdGhpcy5kZXZUb29scykge1xuICAgICAgdGhpcy5kZXZUb29scy5zdWJzY3JpYmUoKG1zZzogYW55KSA9PiB7XG4gICAgICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdTVEFSVCc6XG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoW2FjdGlvbiwgc3RhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ1NUT1AnOlxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdESVNQQVRDSCc6XG4gICAgICAgICAgICBpZiAobXNnLnBheWxvYWQudHlwZSA9PT0gJ1JFU0VUJykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHtcbiAgICAgIHRoaXMubWlkZGxld2FyZSA9IGNvbnRyb2xsZXIgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgICAgICBjb25zdCByZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihjb250cm9sbGVyIGFzIGFueSk7XG4gICAgICAgIGxldCBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIG5leHQgPT4gYWN0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCByZXQgPSBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgLy8gd2UgdHJhY2sgc3RhdGUgY2hhbmdlcyBoZXJlIHNpbmNlIGdldFN0YXRlKCkgd2lsbCBvbmx5IHVwZGF0ZSBhZnRlciBhIGJhdGNoIGNvbW1pdFxuICAgICAgICAgICAgc3RhdGUgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZSA9IGNvbnRyb2xsZXIuZ2V0U3RhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNraXBMb2dnaW5nPy4oYWN0aW9uKSkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVBY3Rpb24oYWN0aW9uLCBzdGF0ZS5vcHRpbWlzdGljLnJlZHVjZShyZWR1Y2VyLCBzdGF0ZSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1pZGRsZXdhcmUgPSAoKSA9PiBuZXh0ID0+IGFjdGlvbiA9PiBuZXh0KGFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQWN0aW9uKGFjdGlvbjogYW55LCBzdGF0ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgdGhpcy5kZXZUb29scy5zZW5kKGFjdGlvbiwgc3RhdGUsIHVuZGVmaW5lZCwgJ1JEQycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBhdm9pZCB0aGlzIGdldHRpbmcgdG9vIGJpZyBpbiBjYXNlIHRoaXMgaXMgbG9uZyBydW5uaW5nXG4gICAgICAvLyB3ZSBjdXQgaW4gaGFsZiBzbyB3ZSBhcmVuJ3QgY29uc3RhbnRseSByZWFsbG9jYXRpbmdcbiAgICAgIGlmICh0aGlzLmFjdGlvbnMubGVuZ3RoID4gdGhpcy5tYXhCdWZmZXJMZW5ndGgpXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuYWN0aW9ucy5zbGljZSh0aGlzLm1heEJ1ZmZlckxlbmd0aCAvIDIpO1xuICAgICAgLy8gcXVldWUgYWN0aW9uc1xuICAgICAgdGhpcy5hY3Rpb25zLnB1c2goW2FjdGlvbiwgc3RhdGVdKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gaW5pdGlhbCBzdGF0ZSBpcyByZWFkeSAqL1xuICBpbml0KHN0YXRlOiBTdGF0ZTxhbnk+KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuZGV2VG9vbHMpIHRoaXMuZGV2VG9vbHMuaW5pdChzdGF0ZSk7XG4gIH1cblxuICAvKiogRW5zdXJlcyBhbGwgc3Vic2NyaXB0aW9ucyBhcmUgY2xlYW5lZCB1cC4gKi9cbiAgY2xlYW51cCgpIHt9XG5cbiAgLyoqIEF0dGFjaGVzIE1hbmFnZXIgdG8gc3RvcmVcbiAgICpcbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFJQSxPQUFPQSxhQUFhLE1BQU0sbUNBQW1DO0FBSzdELElBQUlDLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7RUFBQSxJQUFBQyxvQkFBQTtFQUN6QyxNQUFNQyxpQkFBaUIsR0FBRyxDQUN4QixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixRQUFRLENBQ1Q7RUFFRCxTQUFTQyxpQkFBaUJBLENBQUNDLFFBQTJCLEVBQUU7SUFBQSxJQUFBQyxPQUFBLEVBQUFDLGdCQUFBO0lBQ3RELE1BQU1DLE1BQVcsR0FBRztNQUNsQkMsSUFBSSxFQUFFSixRQUFRLENBQUNJLElBQUk7TUFDbkJDLE1BQU0sR0FBQUosT0FBQSxJQUFBQyxnQkFBQSxHQUFHRixRQUFRLENBQUNLLE1BQU0sYUFBaEJILGdCQUFBLENBQTBCSSxNQUFNLG9CQUFoQ0osZ0JBQUEsQ0FBMEJJLE1BQU0sQ0FBRyxDQUFDLFlBQUFMLE9BQUEsR0FBSUQsUUFBUSxDQUFDSyxNQUFNO01BQy9ERSxVQUFVLEVBQUVQLFFBQVEsQ0FBQ087SUFDdkIsQ0FBQztJQUNEVCxpQkFBaUIsQ0FBQ1UsT0FBTyxDQUFDQyxHQUFHLElBQUk7TUFDL0IsSUFBSUEsR0FBRyxJQUFJVCxRQUFRLEVBQ2pCRyxNQUFNLENBQUNNLEdBQUcsQ0FBQyxHQUFHVCxRQUFRLENBQUNTLEdBQUcsQ0FBNEI7SUFDMUQsQ0FBQyxDQUFDO0lBQ0YsT0FBT04sTUFBTTtFQUNmO0VBRUEsTUFBTU8sT0FBTyxHQUFHLE9BQU9DLElBQUks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
@@ -31,4 +31,4 @@ export default class LogoutManager {
31
31
  }
32
32
 
33
33
  // this further restricts the types to be future compatible
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfVFlQRSIsIkxvZ291dE1hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImhhbmRsZUxvZ291dCIsInNob3VsZExvZ291dCIsIm1pZGRsZXdhcmUiLCJjb250cm9sbGVyIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJlcnJvciIsInBheWxvYWQiLCJjbGVhbnVwIiwiZ2V0TWlkZGxld2FyZSIsInN0YXR1cyIsInJlc2V0RW50aXJlU3RvcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9Mb2dvdXRNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNFVF9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IFVua25vd25FcnJvciB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCB7IEFjdGlvblR5cGVzLCBNYW5hZ2VyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKiogSGFuZGxpbmcgbmV0d29yayB1bmF1dGhvcml6ZWQgaW5kaWNhdG9ycyBsaWtlIEhUVFAgNDAxXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTG9nb3V0TWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2dvdXRNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG5cbiAgY29uc3RydWN0b3IoeyBoYW5kbGVMb2dvdXQsIHNob3VsZExvZ291dCB9OiBQcm9wcyA9IHt9KSB7XG4gICAgaWYgKGhhbmRsZUxvZ291dCkgdGhpcy5oYW5kbGVMb2dvdXQgPSBoYW5kbGVMb2dvdXQ7XG4gICAgaWYgKHNob3VsZExvZ291dCkgdGhpcy5zaG91bGRMb2dvdXQgPSBzaG91bGRMb2dvdXQ7XG4gICAgdGhpcy5taWRkbGV3YXJlID0gY29udHJvbGxlciA9PiBuZXh0ID0+IGFzeW5jIGFjdGlvbiA9PiB7XG4gICAgICBhd2FpdCBuZXh0KGFjdGlvbik7XG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbi50eXBlID09PSBTRVRfVFlQRSAmJlxuICAgICAgICBhY3Rpb24uZXJyb3IgJiZcbiAgICAgICAgdGhpcy5zaG91bGRMb2dvdXQoYWN0aW9uLnBheWxvYWQpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5oYW5kbGVMb2dvdXQoY29udHJvbGxlcik7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGNsZWFudXAoKSB7fVxuXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG91bGRMb2dvdXQoZXJyb3I6IFVua25vd25FcnJvcikge1xuICAgIC8vIDQwMSBpbmRpY2F0ZXMgcmVhdXRob3JpemF0aW9uIGlzIG5lZWRlZFxuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IDQwMTtcbiAgfVxuXG4gIGhhbmRsZUxvZ291dChjb250cm9sbGVyOiBDb250cm9sbGVyPERpc3BhdGNoPikge1xuICAgIGNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICB9XG59XG5cbnR5cGUgRGlzcGF0Y2ggPSAodmFsdWU6IEFjdGlvblR5cGVzKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vLyB0aGlzIGZ1cnRoZXIgcmVzdHJpY3RzIHRoZSB0eXBlcyB0byBiZSBmdXR1cmUgY29tcGF0aWJsZVxuZXhwb3J0IHR5cGUgTWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgQ29udHJvbGxlcjxEaXNwYXRjaD4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxudHlwZSBIYW5kbGVMb2dvdXQgPSAoY29udHJvbGxlcjogQ29udHJvbGxlcjxEaXNwYXRjaD4pID0+IHZvaWQ7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGhhbmRsZUxvZ291dD86IEhhbmRsZUxvZ291dDtcbiAgc2hvdWxkTG9nb3V0PzogKGVycm9yOiBVbmtub3duRXJyb3IpID0+IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSxtQkFBbUI7QUFLNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLGFBQWEsQ0FBb0I7RUFHcERDLFdBQVdBLENBQUM7SUFBRUMsWUFBWTtJQUFFQztFQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEQsSUFBSUQsWUFBWSxFQUFFLElBQUksQ0FBQ0EsWUFBWSxHQUFHQSxZQUFZO0lBQ2xELElBQUlDLFlBQVksRUFBRSxJQUFJLENBQUNBLFlBQVksR0FBR0EsWUFBWTtJQUNsRCxJQUFJLENBQUNDLFVBQVUsR0FBR0MsVUFBVSxJQUFJQyxJQUFJLElBQUksTUFBTUMsTUFBTSxJQUFJO01BQ3RELE1BQU1ELElBQUksQ0FBQ0MsTUFBTSxDQUFDO01BQ2xCLElBQ0VBLE1BQU0sQ0FBQ0MsSUFBSSxLQUFLVCxRQUFRLElBQ3hCUSxNQUFNLENBQUNFLEtBQUssSUFDWixJQUFJLENBQUNOLFlBQVksQ0FBQ0ksTUFBTSxDQUFDRyxPQUFPLENBQUMsRUFDakM7UUFDQSxJQUFJLENBQUNSLFlBQVksQ0FBQ0csVUFBVSxDQUFDO01BQy9CO0lBQ0YsQ0FBQztFQUNIO0VBRUFNLE9BQU9BLENBQUEsRUFBRyxDQUFDO0VBRVhDLGFBQWFBLENBQUEsRUFBRztJQUNkLE9BQU8sSUFBSSxDQUFDUixVQUFVO0VBQ3hCO0VBRVVELFlBQVlBLENBQUNNLEtBQW1CLEVBQUU7SUFDMUM7SUFDQSxPQUFPQSxLQUFLLENBQUNJLE1BQU0sS0FBSyxHQUFHO0VBQzdCO0VBRUFYLFlBQVlBLENBQUNHLFVBQWdDLEVBQUU7SUFDN0NBLFVBQVUsQ0FBQ1MsZ0JBQWdCLENBQUMsQ0FBQztFQUMvQjtBQUNGOztBQUlBIn0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfVFlQRSIsIkxvZ291dE1hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImhhbmRsZUxvZ291dCIsInNob3VsZExvZ291dCIsIm1pZGRsZXdhcmUiLCJjb250cm9sbGVyIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJlcnJvciIsInBheWxvYWQiLCJjbGVhbnVwIiwiZ2V0TWlkZGxld2FyZSIsInN0YXR1cyIsInJlc2V0RW50aXJlU3RvcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9Mb2dvdXRNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNFVF9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IFVua25vd25FcnJvciB9IGZyb20gJy4uL2luZGV4LmpzJztcbmltcG9ydCB7IEFjdGlvblR5cGVzLCBNYW5hZ2VyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKiogSGFuZGxpbmcgbmV0d29yayB1bmF1dGhvcml6ZWQgaW5kaWNhdG9ycyBsaWtlIEhUVFAgNDAxXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvTG9nb3V0TWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2dvdXRNYW5hZ2VyIGltcGxlbWVudHMgTWFuYWdlciB7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG5cbiAgY29uc3RydWN0b3IoeyBoYW5kbGVMb2dvdXQsIHNob3VsZExvZ291dCB9OiBQcm9wcyA9IHt9KSB7XG4gICAgaWYgKGhhbmRsZUxvZ291dCkgdGhpcy5oYW5kbGVMb2dvdXQgPSBoYW5kbGVMb2dvdXQ7XG4gICAgaWYgKHNob3VsZExvZ291dCkgdGhpcy5zaG91bGRMb2dvdXQgPSBzaG91bGRMb2dvdXQ7XG4gICAgdGhpcy5taWRkbGV3YXJlID0gY29udHJvbGxlciA9PiBuZXh0ID0+IGFzeW5jIGFjdGlvbiA9PiB7XG4gICAgICBhd2FpdCBuZXh0KGFjdGlvbik7XG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbi50eXBlID09PSBTRVRfVFlQRSAmJlxuICAgICAgICBhY3Rpb24uZXJyb3IgJiZcbiAgICAgICAgdGhpcy5zaG91bGRMb2dvdXQoYWN0aW9uLnBheWxvYWQpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5oYW5kbGVMb2dvdXQoY29udHJvbGxlcik7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGNsZWFudXAoKSB7fVxuXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaG91bGRMb2dvdXQoZXJyb3I6IFVua25vd25FcnJvcikge1xuICAgIC8vIDQwMSBpbmRpY2F0ZXMgcmVhdXRob3JpemF0aW9uIGlzIG5lZWRlZFxuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPT09IDQwMTtcbiAgfVxuXG4gIGhhbmRsZUxvZ291dChjb250cm9sbGVyOiBDb250cm9sbGVyPERpc3BhdGNoPikge1xuICAgIGNvbnRyb2xsZXIucmVzZXRFbnRpcmVTdG9yZSgpO1xuICB9XG59XG5cbnR5cGUgRGlzcGF0Y2ggPSAodmFsdWU6IEFjdGlvblR5cGVzKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4vLyB0aGlzIGZ1cnRoZXIgcmVzdHJpY3RzIHRoZSB0eXBlcyB0byBiZSBmdXR1cmUgY29tcGF0aWJsZVxuZXhwb3J0IHR5cGUgTWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgQ29udHJvbGxlcjxEaXNwYXRjaD4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxudHlwZSBIYW5kbGVMb2dvdXQgPSAoY29udHJvbGxlcjogQ29udHJvbGxlcjxEaXNwYXRjaD4pID0+IHZvaWQ7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGhhbmRsZUxvZ291dD86IEhhbmRsZUxvZ291dDtcbiAgc2hvdWxkTG9nb3V0PzogKGVycm9yOiBVbmtub3duRXJyb3IpID0+IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSxtQkFBbUI7QUFLNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLGFBQWEsQ0FBb0I7RUFHcERDLFdBQVdBLENBQUM7SUFBRUMsWUFBWTtJQUFFQztFQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEQsSUFBSUQsWUFBWSxFQUFFLElBQUksQ0FBQ0EsWUFBWSxHQUFHQSxZQUFZO0lBQ2xELElBQUlDLFlBQVksRUFBRSxJQUFJLENBQUNBLFlBQVksR0FBR0EsWUFBWTtJQUNsRCxJQUFJLENBQUNDLFVBQVUsR0FBR0MsVUFBVSxJQUFJQyxJQUFJLElBQUksTUFBTUMsTUFBTSxJQUFJO01BQ3RELE1BQU1ELElBQUksQ0FBQ0MsTUFBTSxDQUFDO01BQ2xCLElBQ0VBLE1BQU0sQ0FBQ0MsSUFBSSxLQUFLVCxRQUFRLElBQ3hCUSxNQUFNLENBQUNFLEtBQUssSUFDWixJQUFJLENBQUNOLFlBQVksQ0FBQ0ksTUFBTSxDQUFDRyxPQUFPLENBQUMsRUFDakM7UUFDQSxJQUFJLENBQUNSLFlBQVksQ0FBQ0csVUFBVSxDQUFDO01BQy9CO0lBQ0YsQ0FBQztFQUNIO0VBRUFNLE9BQU9BLENBQUEsRUFBRyxDQUFDO0VBRVhDLGFBQWFBLENBQUEsRUFBRztJQUNkLE9BQU8sSUFBSSxDQUFDUixVQUFVO0VBQ3hCO0VBRVVELFlBQVlBLENBQUNNLEtBQW1CLEVBQUU7SUFDMUM7SUFDQSxPQUFPQSxLQUFLLENBQUNJLE1BQU0sS0FBSyxHQUFHO0VBQzdCO0VBRUFYLFlBQVlBLENBQUNHLFVBQWdDLEVBQUU7SUFDN0NBLFVBQVUsQ0FBQ1MsZ0JBQWdCLENBQUMsQ0FBQztFQUMvQjtBQUNGOztBQUlBIiwiaWdub3JlTGlzdCI6W119
@@ -259,4 +259,4 @@ export default class NetworkManager {
259
259
  return this.fetched[key];
260
260
  }
261
261
  }
262
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfVFlQRSIsIkZFVENIX1RZUEUiLCJSRVNFVF9UWVBFIiwiQ29udHJvbGxlciIsImNyZWF0ZVNldCIsIlJJQyIsIlJlc2V0RXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwibmFtZSIsIk5ldHdvcmtNYW5hZ2VyIiwiZGF0YUV4cGlyeUxlbmd0aCIsImVycm9yRXhwaXJ5TGVuZ3RoIiwiZmV0Y2hlZCIsIk9iamVjdCIsImNyZWF0ZSIsInJlc29sdmVycyIsInJlamVjdG9ycyIsImZldGNoZWRBdCIsImNvbnRyb2xsZXIiLCJtaWRkbGV3YXJlIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJoYW5kbGVGZXRjaCIsImVuZHBvaW50IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwidW5kZWZpbmVkIiwic2lkZUVmZmVjdCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIm1ldGEiLCJrZXkiLCJfY29udHJvbGxlciRnZXRTdGF0ZSQiLCJlcnJvciIsImdldFN0YXRlIiwiaGFuZGxlU2V0IiwiYXJncyIsInJlc3BvbnNlIiwiY2xlYXJBbGwiLCJrIiwic2tpcExvZ2dpbmciLCJpbml0IiwiY2xlYW51cERhdGUiLCJjbGVhbnVwIiwiRGF0ZSIsIm5vdyIsImFsbFNldHRsZWQiLCJmZXRjaGVzIiwidmFsdWVzIiwibGVuZ3RoIiwiY2xlYXIiLCJjYXRjaCIsImdldExhc3RSZXNldCIsImxhc3RSZXNldCIsImZldGNoIiwicGF5bG9hZCIsInRocm90dGxlIiwicmVqZWN0IiwiY3JlYXRlZEF0IiwiZGVmZXJlZEZldGNoIiwicHJvbWlzZSIsInJlc29sdmVQcm9taXNlIiwiZGF0YSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTmFOIiwiY29uc29sZSIsInByb21pc2VIYW5kbGVyIiwiZ2V0TWlkZGxld2FyZSIsInRpbWVvdXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9OZXR3b3JrTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRVRfVFlQRSwgRkVUQ0hfVFlQRSwgUkVTRVRfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgY3JlYXRlU2V0IGZyb20gJy4uL2NvbnRyb2xsZXIvY3JlYXRlU2V0LmpzJztcbmltcG9ydCBSSUMgZnJvbSAnLi4vc3RhdGUvUklDLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmV0Y2hBY3Rpb24sXG4gIE1hbmFnZXIsXG4gIEFjdGlvblR5cGVzLFxuICBNaWRkbGV3YXJlQVBJLFxuICBNaWRkbGV3YXJlLFxuICBTZXRBY3Rpb24sXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFJlc2V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIG5hbWUgPSAnUmVzZXRFcnJvcic7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0Fib3J0ZWQgZHVlIHRvIFJFU0VUJyk7XG4gIH1cbn1cblxuLyoqIEhhbmRsZXMgYWxsIGFzeW5jIG5ldHdvcmsgZGlzcGF0Y2hlc1xuICpcbiAqIERlZHVwZXMgY29uY3VycmVudCByZXF1ZXN0cyBieSBrZWVwaW5nIHRyYWNrIG9mIGFsbCBmZXRjaGVzIGluIGZsaWdodFxuICogYW5kIHJldHVybmluZyBleGlzdGluZyBwcm9taXNlcyBmb3IgcmVxdWVzdHMgYWxyZWFkeSBpbiBmbGlnaHQuXG4gKlxuICogSW50ZXJmYWNlcyB3aXRoIHN0b3JlIHZpYSBhIHJlZHV4LWNvbXBhdGlibGUgbWlkZGxld2FyZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9OZXR3b3JrTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXR3b3JrTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZmV0Y2hlZDogeyBbazogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZXJzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgcmVqZWN0b3JzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgZmV0Y2hlZEF0OiB7IFtrOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBkZWNsYXJlIHJlYWRvbmx5IGRhdGFFeHBpcnlMZW5ndGg6IG51bWJlcjtcbiAgZGVjbGFyZSByZWFkb25seSBlcnJvckV4cGlyeUxlbmd0aDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG4gIGRlY2xhcmUgY2xlYW51cERhdGU/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YUV4cGlyeUxlbmd0aCA9IDYwMDAwLCBlcnJvckV4cGlyeUxlbmd0aCA9IDEwMDApIHtcbiAgICB0aGlzLmRhdGFFeHBpcnlMZW5ndGggPSBkYXRhRXhwaXJ5TGVuZ3RoO1xuICAgIHRoaXMuZXJyb3JFeHBpcnlMZW5ndGggPSBlcnJvckV4cGlyeUxlbmd0aDtcblxuICAgIHRoaXMubWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgTWlkZGxld2FyZUFQST4oY29udHJvbGxlcjogQykgPT4ge1xuICAgICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICAgIHJldHVybiAobmV4dDogQ1snZGlzcGF0Y2gnXSk6IENbJ2Rpc3BhdGNoJ10gPT5cbiAgICAgICAgKGFjdGlvbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRkVUQ0hfVFlQRTpcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVGZXRjaChhY3Rpb24pO1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNhc2UgdGhhdCBjYXVzZXMgYW55IHN0YXRlIGNoYW5nZVxuICAgICAgICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBpbnRlcmNlcHQgb3RoZXIgZmV0Y2hlcyBhcyB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgcmVkdWNlcnMgZHVyaW5nXG4gICAgICAgICAgICAgIC8vIHJlbmRlciAtIHNvIHdlIG5lZWQgdG8gc3RvcCAncmVhZG9ubHknIGZldGNoZXMgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCBpbiByZW5kZXJcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgY2FzZSBTRVRfVFlQRTpcbiAgICAgICAgICAgICAgLy8gb25seSBzZXQgYWZ0ZXIgbmV3IHN0YXRlIGlzIGNvbXB1dGVkXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbikudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgICAgICAgICAgICAgIC8vIE5vdGU6IG1ldGEgKm11c3QqIGJlIHNldCBieSByZWR1Y2VyIHNvIHRoaXMgc2hvdWxkIGJlIHNhZmVcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID1cbiAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5nZXRTdGF0ZSgpLm1ldGFbYWN0aW9uLm1ldGEua2V5XT8uZXJyb3I7XG4gICAgICAgICAgICAgICAgICAvLyBwcm9jZXNzaW5nIGVycm9ycyByZXN1bHQgaW4gc3RhdGUgbWV0YSBoYXZpbmcgZXJyb3IsIHNvIHdlIHNob3VsZCByZWplY3QgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTZXQoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24ubWV0YS5hcmdzIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiBlcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoZWRBdDogYWN0aW9uLm1ldGEuZmV0Y2hlZEF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChhY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjYXNlIFJFU0VUX1RZUEU6IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVqZWN0b3JzID0geyAuLi50aGlzLnJlamVjdG9ycyB9O1xuXG4gICAgICAgICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGVyZSBjb3VsZCBiZSBleHRlcm5hbCBsaXN0ZW5lcnMgdG8gdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAvLyB0aGlzIG11c3QgaGFwcGVuIGFmdGVyIGNvbW1pdCBzbyBvdXIgb3duIHJlamVjdG9yIGtub3dzIG5vdCB0byBkaXNwYXRjaCBhbiBlcnJvciBiYXNlZCBvbiB0aGlzXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrIGluIHJlamVjdG9ycykge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0b3JzW2tdKG5ldyBSZXNldEVycm9yKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIFVzZWQgYnkgRGV2dG9vbHNNYW5hZ2VyIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGxvZyBhbiBhY3Rpb24gKi9cbiAgc2tpcExvZ2dpbmcoYWN0aW9uOiBBY3Rpb25UeXBlcykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBGRVRDSF9UWVBFICYmIGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQ7XG4gIH1cblxuICAvKiogT24gbW91bnQgKi9cbiAgaW5pdCgpIHtcbiAgICBkZWxldGUgdGhpcy5jbGVhbnVwRGF0ZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBwcm9taXNlcyBhcmUgY29tcGxldGVkIGJ5IHJlamVjdGluZyByZW1haW5pbmcuICovXG4gIGNsZWFudXAoKSB7XG4gICAgLy8gZW5zdXJlIG5vIGRpc3BhdGNoZXMgYWZ0ZXIgdW5tb3VudFxuICAgIC8vIHRoaXMgbXVzdCBiZSByZXZlcnNpYmxlIChkb25lIGluIGluaXQpIHNvIHVzZUVmZmVjdCgpIHJlbWFpbnMgc3ltbWV0cmljXG4gICAgdGhpcy5jbGVhbnVwRGF0ZSA9IERhdGUubm93KCk7XG4gIH1cblxuICBhbGxTZXR0bGVkKCkge1xuICAgIGNvbnN0IGZldGNoZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZmV0Y2hlZCk7XG4gICAgaWYgKGZldGNoZXMubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKGZldGNoZXMpO1xuICB9XG5cbiAgLyoqIENsZWFyIGFsbCBwcm9taXNlIHN0YXRlICovXG4gIHByb3RlY3RlZCBjbGVhckFsbCgpIHtcbiAgICBmb3IgKGNvbnN0IGsgaW4gdGhpcy5yZWplY3RvcnMpIHtcbiAgICAgIHRoaXMuY2xlYXIoayk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsZWFyIHByb21pc2Ugc3RhdGUgZm9yIGEgZ2l2ZW4ga2V5ICovXG4gIHByb3RlY3RlZCBjbGVhcihrZXk6IHN0cmluZykge1xuICAgIHRoaXMuZmV0Y2hlZFtrZXldLmNhdGNoKCgpID0+IHt9KTtcbiAgICBkZWxldGUgdGhpcy5yZXNvbHZlcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5yZWplY3RvcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5mZXRjaGVkW2tleV07XG4gICAgZGVsZXRlIHRoaXMuZmV0Y2hlZEF0W2tleV07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TGFzdFJlc2V0KCkge1xuICAgIGlmICh0aGlzLmNsZWFudXBEYXRlKSByZXR1cm4gdGhpcy5jbGVhbnVwRGF0ZTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubGFzdFJlc2V0O1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL2ZldGNoJyBhY3Rpb24uXG4gICAqXG4gICAqIFdpbGwgdGhlbiBzdGFydCBhIHByb21pc2UgZm9yIGEga2V5IGFuZCBwb3RlbnRpYWxseSBzdGFydCB0aGUgbmV0d29ya1xuICAgKiBmZXRjaC5cbiAgICpcbiAgICogVXNlcyB0aHJvdHRsZSBvbmx5IHdoZW4gaW5zdHJ1Y3RlZCBieSBhY3Rpb24gbWV0YS4gVGhpcyBpcyB2YWx1YWJsZVxuICAgKiBmb3IgZW5zdXJlcyBtdXRhdGlvbiByZXF1ZXN0cyBhbHdheXMgZ28gdGhyb3VnaC5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVGZXRjaChhY3Rpb246IEZldGNoQWN0aW9uKSB7XG4gICAgY29uc3QgZmV0Y2ggPSBhY3Rpb24ucGF5bG9hZDtcbiAgICBjb25zdCB7IGtleSwgdGhyb3R0bGUsIHJlc29sdmUsIHJlamVjdCwgY3JlYXRlZEF0IH0gPSBhY3Rpb24ubWV0YTtcblxuICAgIGNvbnN0IGRlZmVyZWRGZXRjaCA9ICgpID0+IHtcbiAgICAgIGxldCBwcm9taXNlID0gZmV0Y2goKTtcbiAgICAgIGNvbnN0IHJlc29sdmVQcm9taXNlID0gKFxuICAgICAgICBwcm9taXNlOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IG9iamVjdCB8IG51bGw+LFxuICAgICAgKSA9PlxuICAgICAgICBwcm9taXNlXG4gICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgIH0pO1xuICAgICAgLy8gc2NoZWR1bGUgbm9uLXRocm90dGxlZCByZXNvbHV0aW9ucyBpbiBhIG1pY3JvdGFzayBiZWZvcmUgc2V0XG4gICAgICAvLyB0aGlzIGVuYWJsZXMgdXNlcnMgYXdhaXRpbmcgdGhlaXIgZmV0Y2ggdG8gdHJpZ2dlciBhbnkgcmVhY3QgdXBkYXRlcyBuZWVkZWQgdG8gZGVhbFxuICAgICAgLy8gd2l0aCB1cGNvbWluZyBjaGFuZ2VzIGJlY2F1c2Ugb2YgdGhlIGZldGNoIChmb3IgaW5zdGFuY2UgYXZvaWRpbmcgc3VzcGVuc2UgaWYgc29tZXRoaW5nIGlzIGRlbGV0ZWQpXG4gICAgICBpZiAoIXRocm90dGxlKSB7XG4gICAgICAgIHByb21pc2UgPSByZXNvbHZlUHJvbWlzZShwcm9taXNlKTtcbiAgICAgIH1cbiAgICAgIHByb21pc2UgPSBwcm9taXNlXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgIGxldCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc05hTihsYXN0UmVzZXQpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAnc3RhdGUubGFzdFJlc2V0IGlzIE5hTi4gT25seSBwb3NpdGl2ZSB0aW1lc3RhbXBzIGFyZSB2YWxpZC4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGxhc3RSZXNldCA9IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChjcmVhdGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLm1ldGEuYXJncyBhcyBhbnksXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBkYXRhLFxuICAgICAgICAgICAgICBmZXRjaGVkQXQ6IGNyZWF0ZWRBdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgICAgICAgIC8vIGRvbid0IHVwZGF0ZSBzdGF0ZSB3aXRoIHByb21pc2VzIHN0YXJ0ZWQgYmVmb3JlIGxhc3QgY2xlYXJcbiAgICAgICAgICBpZiAoY3JlYXRlZEF0ID49IGxhc3RSZXNldCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnJlc29sdmUoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgIGFyZ3M6IGFjdGlvbi5tZXRhLmFyZ3MgYXMgYW55LFxuICAgICAgICAgICAgICByZXNwb25zZTogZXJyb3IsXG4gICAgICAgICAgICAgIGZldGNoZWRBdDogY3JlYXRlZEF0LFxuICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9O1xuXG4gICAgaWYgKHRocm90dGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy50aHJvdHRsZShrZXksIGRlZmVyZWRGZXRjaCwgY3JlYXRlZEF0KVxuICAgICAgICAudGhlbihkYXRhID0+IHJlc29sdmUoZGF0YSkpXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiByZWplY3QoZXJyb3IpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmVyZWRGZXRjaCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzIGEgc2V0IGFjdGlvbi5cbiAgICpcbiAgICogV2lsbCByZXNvbHZlIHRoZSBwcm9taXNlIGFzc29jaWF0ZWQgd2l0aCBzZXQga2V5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNldChhY3Rpb246IFNldEFjdGlvbikge1xuICAgIC8vIHRoaXMgY2FuIHN0aWxsIHR1cm4gb3V0IHRvIGJlIHVudHJ1ZSBzaW5jZSB0aGlzIGlzIGFzeW5jXG4gICAgaWYgKGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgIGxldCBwcm9taXNlSGFuZGxlcjogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xuICAgICAgaWYgKGFjdGlvbi5lcnJvcikge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVqZWN0b3JzW2FjdGlvbi5tZXRhLmtleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVzb2x2ZXJzW2FjdGlvbi5tZXRhLmtleV07XG4gICAgICB9XG4gICAgICBwcm9taXNlSGFuZGxlcihhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAvLyBzaW5jZSB3ZSdyZSByZXNvbHZlZCB3ZSBubyBsb25nZXIgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoaXMgcHJvbWlzZVxuICAgICAgdGhpcy5jbGVhcihhY3Rpb24ubWV0YS5rZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBdHRhY2hlcyBOZXR3b3JrTWFuYWdlciB0byBzdG9yZVxuICAgKlxuICAgKiBJbnRlcmNlcHRzICdyZGMvZmV0Y2gnIGFjdGlvbnMgdG8gc3RhcnQgcmVxdWVzdHMuXG4gICAqXG4gICAqIFJlc29sdmUvcmVqZWN0cyBhIHJlcXVlc3Qgd2hlbiBtYXRjaGluZyAncmRjL3NldCcgZXZlbnRcbiAgICogaXMgc2Vlbi5cbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIG9ubHkgb25lIHJlcXVlc3QgZm9yIGEgZ2l2ZW4ga2V5IGlzIGluIGZsaWdodCBhdCBhbnkgdGltZVxuICAgKlxuICAgKiBVc2VzIGtleSB0byBlaXRoZXIgcmV0cmlldmUgaW4tZmxpZ2h0IHByb21pc2UsIG9yIGlmIG5vdFxuICAgKiBjcmVhdGUgYSBuZXcgcHJvbWlzZSBhbmQgY2FsbCBmZXRjaC5cbiAgICpcbiAgICogTm90ZTogVGhlIG5ldyBwcm9taXNlIGlzIG5vdCBhY3R1YWxseSB0aWVkIHRvIGZldGNoIGF0IGFsbCxcbiAgICogYnV0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGV4cGVjdGVkICdyZWNpZXZlJyBhY3Rpb24gaXMgcHJvY2Vzc2VkLlxuICAgKiBUaGlzIGVuc3VyZXMgcHJvbWlzZXMgYXJlIHJlc29sdmVkIG9ubHkgb25jZSB0aGVpciBkYXRhIGlzIHByb2Nlc3NlZFxuICAgKiBieSB0aGUgcmVkdWNlci5cbiAgICovXG4gIHByb3RlY3RlZCB0aHJvdHRsZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBmZXRjaDogKCkgPT4gUHJvbWlzZTxhbnk+LFxuICAgIGNyZWF0ZWRBdDogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgIC8vIHdlJ3JlIGFscmVhZHkgZmV0Y2hpbmcgc28gcmV1c2UgdGhlIHByb21pc2VcbiAgICAvLyBmZXRjaGVzIGFmdGVyIHJlc2V0IGRvIG5vdCBjb3VudFxuICAgIGlmIChrZXkgaW4gdGhpcy5mZXRjaGVkICYmIHRoaXMuZmV0Y2hlZEF0W2tleV0gPiBsYXN0UmVzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgICB9XG5cbiAgICB0aGlzLmZldGNoZWRba2V5XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZXJzW2tleV0gPSByZXNvbHZlO1xuICAgICAgdGhpcy5yZWplY3RvcnNba2V5XSA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLmZldGNoZWRBdFtrZXldID0gY3JlYXRlZEF0O1xuXG4gICAgLy8gc2luY2Ugb3VyIHJlYWwgcHJvbWlzZSBpcyByZXNvbHZlZCB2aWEgdGhlIHdyYXBSZWR1Y2VyKCksXG4gICAgLy8gd2Ugc2hvdWxkIGp1c3Qgc3RvcCBhbGwgZXJyb3JzIGhlcmUuXG4gICAgLy8gVE9ETzogZGVjb3VwbGUgdGhpcyBmcm9tIHVzZUZldGNoZXIoKSAodGhhdCdzIHdoYXQncyBkaXNwYXRjaGluZyB0aGUgZXJyb3IgdGhlIHJlc29sdmVzIGluIGhlcmUpXG4gICAgUklDKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBmZXRjaCgpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgICAgfSxcbiAgICAgIHsgdGltZW91dDogNTAwIH0sXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxRQUFRLG1CQUFtQjtBQUNwRSxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCO0FBQ3BELE9BQU9DLFNBQVMsTUFBTSw0QkFBNEI7QUFDbEQsT0FBT0MsR0FBRyxNQUFNLGlCQUFpQjtBQVVqQyxPQUFPLE1BQU1DLFVBQVUsU0FBU0MsS0FBSyxDQUFDO0VBR3BDQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixLQUFLLENBQUMsc0JBQXNCLENBQUM7SUFBQyxLQUhoQ0MsSUFBSSxHQUFHLFlBQVk7RUFJbkI7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLGNBQWMsQ0FBb0I7RUFXckRGLFdBQVdBLENBQUNHLGdCQUFnQixHQUFHLEtBQUssRUFBRUMsaUJBQWlCLEdBQUcsSUFBSSxFQUFFO0lBQUEsS0FWdERDLE9BQU8sR0FBa0NDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztJQUFBLEtBQzVEQyxTQUFTLEdBQTJDLENBQUMsQ0FBQztJQUFBLEtBQ3REQyxTQUFTLEdBQTJDLENBQUMsQ0FBQztJQUFBLEtBQ3REQyxTQUFTLEdBQTRCLENBQUMsQ0FBQztJQUFBLEtBSXZDQyxVQUFVLEdBQWUsSUFBSWhCLFVBQVUsQ0FBQyxDQUFDO0lBSWpELElBQUksQ0FBQ1EsZ0JBQWdCLEdBQUdBLGdCQUFnQjtJQUN4QyxJQUFJLENBQUNDLGlCQUFpQixHQUFHQSxpQkFBaUI7SUFFMUMsSUFBSSxDQUFDUSxVQUFVLEdBQTZCRCxVQUFhLElBQUs7TUFDNUQsSUFBSSxDQUFDQSxVQUFVLEdBQUdBLFVBQVU7TUFDNUIsT0FBUUUsSUFBbUIsSUFDeEJDLE1BQU0s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
262
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfVFlQRSIsIkZFVENIX1RZUEUiLCJSRVNFVF9UWVBFIiwiQ29udHJvbGxlciIsImNyZWF0ZVNldCIsIlJJQyIsIlJlc2V0RXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwibmFtZSIsIk5ldHdvcmtNYW5hZ2VyIiwiZGF0YUV4cGlyeUxlbmd0aCIsImVycm9yRXhwaXJ5TGVuZ3RoIiwiZmV0Y2hlZCIsIk9iamVjdCIsImNyZWF0ZSIsInJlc29sdmVycyIsInJlamVjdG9ycyIsImZldGNoZWRBdCIsImNvbnRyb2xsZXIiLCJtaWRkbGV3YXJlIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJoYW5kbGVGZXRjaCIsImVuZHBvaW50IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwidW5kZWZpbmVkIiwic2lkZUVmZmVjdCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIm1ldGEiLCJrZXkiLCJfY29udHJvbGxlciRnZXRTdGF0ZSQiLCJlcnJvciIsImdldFN0YXRlIiwiaGFuZGxlU2V0IiwiYXJncyIsInJlc3BvbnNlIiwiY2xlYXJBbGwiLCJrIiwic2tpcExvZ2dpbmciLCJpbml0IiwiY2xlYW51cERhdGUiLCJjbGVhbnVwIiwiRGF0ZSIsIm5vdyIsImFsbFNldHRsZWQiLCJmZXRjaGVzIiwidmFsdWVzIiwibGVuZ3RoIiwiY2xlYXIiLCJjYXRjaCIsImdldExhc3RSZXNldCIsImxhc3RSZXNldCIsImZldGNoIiwicGF5bG9hZCIsInRocm90dGxlIiwicmVqZWN0IiwiY3JlYXRlZEF0IiwiZGVmZXJlZEZldGNoIiwicHJvbWlzZSIsInJlc29sdmVQcm9taXNlIiwiZGF0YSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImlzTmFOIiwiY29uc29sZSIsInByb21pc2VIYW5kbGVyIiwiZ2V0TWlkZGxld2FyZSIsInRpbWVvdXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFuYWdlci9OZXR3b3JrTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRVRfVFlQRSwgRkVUQ0hfVFlQRSwgUkVTRVRfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgY3JlYXRlU2V0IGZyb20gJy4uL2NvbnRyb2xsZXIvY3JlYXRlU2V0LmpzJztcbmltcG9ydCBSSUMgZnJvbSAnLi4vc3RhdGUvUklDLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmV0Y2hBY3Rpb24sXG4gIE1hbmFnZXIsXG4gIEFjdGlvblR5cGVzLFxuICBNaWRkbGV3YXJlQVBJLFxuICBNaWRkbGV3YXJlLFxuICBTZXRBY3Rpb24sXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFJlc2V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIG5hbWUgPSAnUmVzZXRFcnJvcic7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0Fib3J0ZWQgZHVlIHRvIFJFU0VUJyk7XG4gIH1cbn1cblxuLyoqIEhhbmRsZXMgYWxsIGFzeW5jIG5ldHdvcmsgZGlzcGF0Y2hlc1xuICpcbiAqIERlZHVwZXMgY29uY3VycmVudCByZXF1ZXN0cyBieSBrZWVwaW5nIHRyYWNrIG9mIGFsbCBmZXRjaGVzIGluIGZsaWdodFxuICogYW5kIHJldHVybmluZyBleGlzdGluZyBwcm9taXNlcyBmb3IgcmVxdWVzdHMgYWxyZWFkeSBpbiBmbGlnaHQuXG4gKlxuICogSW50ZXJmYWNlcyB3aXRoIHN0b3JlIHZpYSBhIHJlZHV4LWNvbXBhdGlibGUgbWlkZGxld2FyZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9OZXR3b3JrTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXR3b3JrTWFuYWdlciBpbXBsZW1lbnRzIE1hbmFnZXIge1xuICBwcm90ZWN0ZWQgZmV0Y2hlZDogeyBbazogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBwcm90ZWN0ZWQgcmVzb2x2ZXJzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgcmVqZWN0b3JzOiB7IFtrOiBzdHJpbmddOiAodmFsdWU/OiBhbnkpID0+IHZvaWQgfSA9IHt9O1xuICBwcm90ZWN0ZWQgZmV0Y2hlZEF0OiB7IFtrOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBkZWNsYXJlIHJlYWRvbmx5IGRhdGFFeHBpcnlMZW5ndGg6IG51bWJlcjtcbiAgZGVjbGFyZSByZWFkb25seSBlcnJvckV4cGlyeUxlbmd0aDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBtaWRkbGV3YXJlOiBNaWRkbGV3YXJlO1xuICBwcm90ZWN0ZWQgY29udHJvbGxlcjogQ29udHJvbGxlciA9IG5ldyBDb250cm9sbGVyKCk7XG4gIGRlY2xhcmUgY2xlYW51cERhdGU/OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YUV4cGlyeUxlbmd0aCA9IDYwMDAwLCBlcnJvckV4cGlyeUxlbmd0aCA9IDEwMDApIHtcbiAgICB0aGlzLmRhdGFFeHBpcnlMZW5ndGggPSBkYXRhRXhwaXJ5TGVuZ3RoO1xuICAgIHRoaXMuZXJyb3JFeHBpcnlMZW5ndGggPSBlcnJvckV4cGlyeUxlbmd0aDtcblxuICAgIHRoaXMubWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgTWlkZGxld2FyZUFQST4oY29udHJvbGxlcjogQykgPT4ge1xuICAgICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICAgIHJldHVybiAobmV4dDogQ1snZGlzcGF0Y2gnXSk6IENbJ2Rpc3BhdGNoJ10gPT5cbiAgICAgICAgKGFjdGlvbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRkVUQ0hfVFlQRTpcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVGZXRjaChhY3Rpb24pO1xuICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNhc2UgdGhhdCBjYXVzZXMgYW55IHN0YXRlIGNoYW5nZVxuICAgICAgICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBpbnRlcmNlcHQgb3RoZXIgZmV0Y2hlcyBhcyB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgcmVkdWNlcnMgZHVyaW5nXG4gICAgICAgICAgICAgIC8vIHJlbmRlciAtIHNvIHdlIG5lZWQgdG8gc3RvcCAncmVhZG9ubHknIGZldGNoZXMgd2hpY2ggY2FuIGJlIHRyaWdnZXJlZCBpbiByZW5kZXJcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgIGFjdGlvbi5lbmRwb2ludC5zaWRlRWZmZWN0XG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgY2FzZSBTRVRfVFlQRTpcbiAgICAgICAgICAgICAgLy8gb25seSBzZXQgYWZ0ZXIgbmV3IHN0YXRlIGlzIGNvbXB1dGVkXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGFjdGlvbikudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgICAgICAgICAgICAgIC8vIE5vdGU6IG1ldGEgKm11c3QqIGJlIHNldCBieSByZWR1Y2VyIHNvIHRoaXMgc2hvdWxkIGJlIHNhZmVcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID1cbiAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5nZXRTdGF0ZSgpLm1ldGFbYWN0aW9uLm1ldGEua2V5XT8uZXJyb3I7XG4gICAgICAgICAgICAgICAgICAvLyBwcm9jZXNzaW5nIGVycm9ycyByZXN1bHQgaW4gc3RhdGUgbWV0YSBoYXZpbmcgZXJyb3IsIHNvIHdlIHNob3VsZCByZWplY3QgdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVTZXQoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBhY3Rpb24ubWV0YS5hcmdzIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlOiBlcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoZWRBdDogYWN0aW9uLm1ldGEuZmV0Y2hlZEF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNldChhY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjYXNlIFJFU0VUX1RZUEU6IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVqZWN0b3JzID0geyAuLi50aGlzLnJlamVjdG9ycyB9O1xuXG4gICAgICAgICAgICAgIHRoaXMuY2xlYXJBbGwoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoYWN0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGVyZSBjb3VsZCBiZSBleHRlcm5hbCBsaXN0ZW5lcnMgdG8gdGhlIHByb21pc2VcbiAgICAgICAgICAgICAgICAvLyB0aGlzIG11c3QgaGFwcGVuIGFmdGVyIGNvbW1pdCBzbyBvdXIgb3duIHJlamVjdG9yIGtub3dzIG5vdCB0byBkaXNwYXRjaCBhbiBlcnJvciBiYXNlZCBvbiB0aGlzXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrIGluIHJlamVjdG9ycykge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0b3JzW2tdKG5ldyBSZXNldEVycm9yKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIFVzZWQgYnkgRGV2dG9vbHNNYW5hZ2VyIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGxvZyBhbiBhY3Rpb24gKi9cbiAgc2tpcExvZ2dpbmcoYWN0aW9uOiBBY3Rpb25UeXBlcykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGFjdGlvbi50eXBlID09PSBGRVRDSF9UWVBFICYmIGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQ7XG4gIH1cblxuICAvKiogT24gbW91bnQgKi9cbiAgaW5pdCgpIHtcbiAgICBkZWxldGUgdGhpcy5jbGVhbnVwRGF0ZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIGFsbCBwcm9taXNlcyBhcmUgY29tcGxldGVkIGJ5IHJlamVjdGluZyByZW1haW5pbmcuICovXG4gIGNsZWFudXAoKSB7XG4gICAgLy8gZW5zdXJlIG5vIGRpc3BhdGNoZXMgYWZ0ZXIgdW5tb3VudFxuICAgIC8vIHRoaXMgbXVzdCBiZSByZXZlcnNpYmxlIChkb25lIGluIGluaXQpIHNvIHVzZUVmZmVjdCgpIHJlbWFpbnMgc3ltbWV0cmljXG4gICAgdGhpcy5jbGVhbnVwRGF0ZSA9IERhdGUubm93KCk7XG4gIH1cblxuICBhbGxTZXR0bGVkKCkge1xuICAgIGNvbnN0IGZldGNoZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZmV0Y2hlZCk7XG4gICAgaWYgKGZldGNoZXMubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKGZldGNoZXMpO1xuICB9XG5cbiAgLyoqIENsZWFyIGFsbCBwcm9taXNlIHN0YXRlICovXG4gIHByb3RlY3RlZCBjbGVhckFsbCgpIHtcbiAgICBmb3IgKGNvbnN0IGsgaW4gdGhpcy5yZWplY3RvcnMpIHtcbiAgICAgIHRoaXMuY2xlYXIoayk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsZWFyIHByb21pc2Ugc3RhdGUgZm9yIGEgZ2l2ZW4ga2V5ICovXG4gIHByb3RlY3RlZCBjbGVhcihrZXk6IHN0cmluZykge1xuICAgIHRoaXMuZmV0Y2hlZFtrZXldLmNhdGNoKCgpID0+IHt9KTtcbiAgICBkZWxldGUgdGhpcy5yZXNvbHZlcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5yZWplY3RvcnNba2V5XTtcbiAgICBkZWxldGUgdGhpcy5mZXRjaGVkW2tleV07XG4gICAgZGVsZXRlIHRoaXMuZmV0Y2hlZEF0W2tleV07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TGFzdFJlc2V0KCkge1xuICAgIGlmICh0aGlzLmNsZWFudXBEYXRlKSByZXR1cm4gdGhpcy5jbGVhbnVwRGF0ZTtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmdldFN0YXRlKCkubGFzdFJlc2V0O1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL2ZldGNoJyBhY3Rpb24uXG4gICAqXG4gICAqIFdpbGwgdGhlbiBzdGFydCBhIHByb21pc2UgZm9yIGEga2V5IGFuZCBwb3RlbnRpYWxseSBzdGFydCB0aGUgbmV0d29ya1xuICAgKiBmZXRjaC5cbiAgICpcbiAgICogVXNlcyB0aHJvdHRsZSBvbmx5IHdoZW4gaW5zdHJ1Y3RlZCBieSBhY3Rpb24gbWV0YS4gVGhpcyBpcyB2YWx1YWJsZVxuICAgKiBmb3IgZW5zdXJlcyBtdXRhdGlvbiByZXF1ZXN0cyBhbHdheXMgZ28gdGhyb3VnaC5cbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVGZXRjaChhY3Rpb246IEZldGNoQWN0aW9uKSB7XG4gICAgY29uc3QgZmV0Y2ggPSBhY3Rpb24ucGF5bG9hZDtcbiAgICBjb25zdCB7IGtleSwgdGhyb3R0bGUsIHJlc29sdmUsIHJlamVjdCwgY3JlYXRlZEF0IH0gPSBhY3Rpb24ubWV0YTtcblxuICAgIGNvbnN0IGRlZmVyZWRGZXRjaCA9ICgpID0+IHtcbiAgICAgIGxldCBwcm9taXNlID0gZmV0Y2goKTtcbiAgICAgIGNvbnN0IHJlc29sdmVQcm9taXNlID0gKFxuICAgICAgICBwcm9taXNlOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IG9iamVjdCB8IG51bGw+LFxuICAgICAgKSA9PlxuICAgICAgICBwcm9taXNlXG4gICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgIH0pO1xuICAgICAgLy8gc2NoZWR1bGUgbm9uLXRocm90dGxlZCByZXNvbHV0aW9ucyBpbiBhIG1pY3JvdGFzayBiZWZvcmUgc2V0XG4gICAgICAvLyB0aGlzIGVuYWJsZXMgdXNlcnMgYXdhaXRpbmcgdGhlaXIgZmV0Y2ggdG8gdHJpZ2dlciBhbnkgcmVhY3QgdXBkYXRlcyBuZWVkZWQgdG8gZGVhbFxuICAgICAgLy8gd2l0aCB1cGNvbWluZyBjaGFuZ2VzIGJlY2F1c2Ugb2YgdGhlIGZldGNoIChmb3IgaW5zdGFuY2UgYXZvaWRpbmcgc3VzcGVuc2UgaWYgc29tZXRoaW5nIGlzIGRlbGV0ZWQpXG4gICAgICBpZiAoIXRocm90dGxlKSB7XG4gICAgICAgIHByb21pc2UgPSByZXNvbHZlUHJvbWlzZShwcm9taXNlKTtcbiAgICAgIH1cbiAgICAgIHByb21pc2UgPSBwcm9taXNlXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgIGxldCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc05hTihsYXN0UmVzZXQpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAnc3RhdGUubGFzdFJlc2V0IGlzIE5hTi4gT25seSBwb3NpdGl2ZSB0aW1lc3RhbXBzIGFyZSB2YWxpZC4nLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGxhc3RSZXNldCA9IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIHN0YXRlIHdpdGggcHJvbWlzZXMgc3RhcnRlZCBiZWZvcmUgbGFzdCBjbGVhclxuICAgICAgICAgIGlmIChjcmVhdGVkQXQgPj0gbGFzdFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIucmVzb2x2ZShhY3Rpb24uZW5kcG9pbnQsIHtcbiAgICAgICAgICAgICAgYXJnczogYWN0aW9uLm1ldGEuYXJncyBhcyBhbnksXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBkYXRhLFxuICAgICAgICAgICAgICBmZXRjaGVkQXQ6IGNyZWF0ZWRBdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgICAgICAgIC8vIGRvbid0IHVwZGF0ZSBzdGF0ZSB3aXRoIHByb21pc2VzIHN0YXJ0ZWQgYmVmb3JlIGxhc3QgY2xlYXJcbiAgICAgICAgICBpZiAoY3JlYXRlZEF0ID49IGxhc3RSZXNldCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnJlc29sdmUoYWN0aW9uLmVuZHBvaW50LCB7XG4gICAgICAgICAgICAgIGFyZ3M6IGFjdGlvbi5tZXRhLmFyZ3MgYXMgYW55LFxuICAgICAgICAgICAgICByZXNwb25zZTogZXJyb3IsXG4gICAgICAgICAgICAgIGZldGNoZWRBdDogY3JlYXRlZEF0LFxuICAgICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9O1xuXG4gICAgaWYgKHRocm90dGxlKSB7XG4gICAgICByZXR1cm4gdGhpcy50aHJvdHRsZShrZXksIGRlZmVyZWRGZXRjaCwgY3JlYXRlZEF0KVxuICAgICAgICAudGhlbihkYXRhID0+IHJlc29sdmUoZGF0YSkpXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiByZWplY3QoZXJyb3IpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmVyZWRGZXRjaCgpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzIGEgc2V0IGFjdGlvbi5cbiAgICpcbiAgICogV2lsbCByZXNvbHZlIHRoZSBwcm9taXNlIGFzc29jaWF0ZWQgd2l0aCBzZXQga2V5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNldChhY3Rpb246IFNldEFjdGlvbikge1xuICAgIC8vIHRoaXMgY2FuIHN0aWxsIHR1cm4gb3V0IHRvIGJlIHVudHJ1ZSBzaW5jZSB0aGlzIGlzIGFzeW5jXG4gICAgaWYgKGFjdGlvbi5tZXRhLmtleSBpbiB0aGlzLmZldGNoZWQpIHtcbiAgICAgIGxldCBwcm9taXNlSGFuZGxlcjogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xuICAgICAgaWYgKGFjdGlvbi5lcnJvcikge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVqZWN0b3JzW2FjdGlvbi5tZXRhLmtleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9taXNlSGFuZGxlciA9IHRoaXMucmVzb2x2ZXJzW2FjdGlvbi5tZXRhLmtleV07XG4gICAgICB9XG4gICAgICBwcm9taXNlSGFuZGxlcihhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAvLyBzaW5jZSB3ZSdyZSByZXNvbHZlZCB3ZSBubyBsb25nZXIgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoaXMgcHJvbWlzZVxuICAgICAgdGhpcy5jbGVhcihhY3Rpb24ubWV0YS5rZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBdHRhY2hlcyBOZXR3b3JrTWFuYWdlciB0byBzdG9yZVxuICAgKlxuICAgKiBJbnRlcmNlcHRzICdyZGMvZmV0Y2gnIGFjdGlvbnMgdG8gc3RhcnQgcmVxdWVzdHMuXG4gICAqXG4gICAqIFJlc29sdmUvcmVqZWN0cyBhIHJlcXVlc3Qgd2hlbiBtYXRjaGluZyAncmRjL3NldCcgZXZlbnRcbiAgICogaXMgc2Vlbi5cbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIG9ubHkgb25lIHJlcXVlc3QgZm9yIGEgZ2l2ZW4ga2V5IGlzIGluIGZsaWdodCBhdCBhbnkgdGltZVxuICAgKlxuICAgKiBVc2VzIGtleSB0byBlaXRoZXIgcmV0cmlldmUgaW4tZmxpZ2h0IHByb21pc2UsIG9yIGlmIG5vdFxuICAgKiBjcmVhdGUgYSBuZXcgcHJvbWlzZSBhbmQgY2FsbCBmZXRjaC5cbiAgICpcbiAgICogTm90ZTogVGhlIG5ldyBwcm9taXNlIGlzIG5vdCBhY3R1YWxseSB0aWVkIHRvIGZldGNoIGF0IGFsbCxcbiAgICogYnV0IGlzIHJlc29sdmVkIHdoZW4gdGhlIGV4cGVjdGVkICdyZWNpZXZlJyBhY3Rpb24gaXMgcHJvY2Vzc2VkLlxuICAgKiBUaGlzIGVuc3VyZXMgcHJvbWlzZXMgYXJlIHJlc29sdmVkIG9ubHkgb25jZSB0aGVpciBkYXRhIGlzIHByb2Nlc3NlZFxuICAgKiBieSB0aGUgcmVkdWNlci5cbiAgICovXG4gIHByb3RlY3RlZCB0aHJvdHRsZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBmZXRjaDogKCkgPT4gUHJvbWlzZTxhbnk+LFxuICAgIGNyZWF0ZWRBdDogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBsYXN0UmVzZXQgPSB0aGlzLmdldExhc3RSZXNldCgpO1xuICAgIC8vIHdlJ3JlIGFscmVhZHkgZmV0Y2hpbmcgc28gcmV1c2UgdGhlIHByb21pc2VcbiAgICAvLyBmZXRjaGVzIGFmdGVyIHJlc2V0IGRvIG5vdCBjb3VudFxuICAgIGlmIChrZXkgaW4gdGhpcy5mZXRjaGVkICYmIHRoaXMuZmV0Y2hlZEF0W2tleV0gPiBsYXN0UmVzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgICB9XG5cbiAgICB0aGlzLmZldGNoZWRba2V5XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZXJzW2tleV0gPSByZXNvbHZlO1xuICAgICAgdGhpcy5yZWplY3RvcnNba2V5XSA9IHJlamVjdDtcbiAgICB9KTtcbiAgICB0aGlzLmZldGNoZWRBdFtrZXldID0gY3JlYXRlZEF0O1xuXG4gICAgLy8gc2luY2Ugb3VyIHJlYWwgcHJvbWlzZSBpcyByZXNvbHZlZCB2aWEgdGhlIHdyYXBSZWR1Y2VyKCksXG4gICAgLy8gd2Ugc2hvdWxkIGp1c3Qgc3RvcCBhbGwgZXJyb3JzIGhlcmUuXG4gICAgLy8gVE9ETzogZGVjb3VwbGUgdGhpcyBmcm9tIHVzZUZldGNoZXIoKSAodGhhdCdzIHdoYXQncyBkaXNwYXRjaGluZyB0aGUgZXJyb3IgdGhlIHJlc29sdmVzIGluIGhlcmUpXG4gICAgUklDKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBmZXRjaCgpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgICAgfSxcbiAgICAgIHsgdGltZW91dDogNTAwIH0sXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmZldGNoZWRba2V5XTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxRQUFRLG1CQUFtQjtBQUNwRSxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCO0FBQ3BELE9BQU9DLFNBQVMsTUFBTSw0QkFBNEI7QUFDbEQsT0FBT0MsR0FBRyxNQUFNLGlCQUFpQjtBQVVqQyxPQUFPLE1BQU1DLFVBQVUsU0FBU0MsS0FBSyxDQUFDO0VBR3BDQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixLQUFLLENBQUMsc0JBQXNCLENBQUM7SUFBQyxLQUhoQ0MsSUFBSSxHQUFHLFlBQVk7RUFJbkI7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU1DLGNBQWMsQ0FBb0I7RUFXckRGLFdBQVdBLENBQUNHLGdCQUFnQixHQUFHLEtBQUssRUFBRUMsaUJBQWlCLEdBQUcsSUFBSSxFQUFFO0lBQUEsS0FWdERDLE9BQU8sR0FBa0NDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztJQUFBLEtBQzVEQyxTQUFTLEdBQTJDLENBQUMsQ0FBQztJQUFBLEtBQ3REQyxTQUFTLEdBQTJDLENBQUMsQ0FBQztJQUFBLEtBQ3REQyxTQUFTLEdBQTRCLENBQUMsQ0FBQztJQUFBLEtBSXZDQyxVQUFVLEdBQWUsSUFBSWhCLFVBQVUsQ0FBQyxDQUFDO0lBSWpELElBQUksQ0FBQ1EsZ0JBQWdCLEdBQUdBLGdCQUFnQjtJQUN4QyxJQUFJLENBQUNDLGlCQUFpQixHQUFHQSxpQkFBaUI7SUFFMUMsSUFBSSxDQUFDUSxVQUFVLEdBQTZCRCxVQUFhLElBQUs7TUFDNUQsSUFBSSxDQUFDQSxVQUFVLEdBQUdBLFVBQVU7TUFDNUIsT0FBUUUsSUFBbUIsSUFDeEJDLE1BQU0s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
@@ -147,4 +147,4 @@ export default class PollingSubscription {
147
147
  return (_this$controller$getS = (_this$controller$getS2 = this.controller.getState().meta[this.key]) == null ? void 0 : _this$controller$getS2.date) != null ? _this$controller$getS : 0;
148
148
  }
149
149
  }
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwibWV0YSIsInNldCIsImlzT25saW5lIiwiYWRkIiwiaGFzIiwiZ2V0IiwicmVtb3ZlIiwiZGVsZXRlIiwic2l6ZSIsIm1pbiIsImtleXMiLCJlcnJvciIsImludGVydmFsSWQiLCJjbGVhckludGVydmFsIiwibGFzdEludGVydmFsSWQiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVPZmZsaW5lTGlzdGVuZXIiLCJzdXAiLCJjYWxsIiwiT2JqZWN0IiwiYXNzaWduIiwiZGF0YUV4cGlyeUxlbmd0aCIsImVycm9yRXhwaXJ5TGVuZ3RoIiwiZXJyb3JQb2xpY3kiLCJmZXRjaCIsImNhdGNoIiwic2V0SW50ZXJ2YWwiLCJfdGhpcyRjb250cm9sbGVyJGdldFMiLCJfdGhpcyRjb250cm9sbGVyJGdldFMyIiwiZ2V0U3RhdGUiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBkZWNsYXJlIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2xhcmUgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIHByb3RlY3RlZCBkZWNsYXJlIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgZGVjbGFyZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLm1ldGEuYXJncztcbiAgICB0aGlzLmtleSA9IGFjdGlvbi5tZXRhLmtleTtcbiAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQodGhpcy5mcmVxdWVuY3ksIDEpO1xuICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIgPVxuICAgICAgY29ubmVjdGlvbkxpc3RlbmVyIHx8IG5ldyBEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyKCk7XG5cbiAgICAvLyBLaWNrc3RhcnQgcnVubmluZyBzaW5jZSB0aGlzIGlzIGluaXRpYWxpemVkIGFmdGVyIHRoZSBvbmxpbmUgbm90aWYgaXMgc2VudFxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5pc09ubGluZSgpKSB7XG4gICAgICB0aGlzLm9ubGluZUxpc3RlbmVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2ZmbGluZUxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN1YnNjcmliZSB0byBhIGZyZXF1ZW5jeSAqL1xuICBhZGQoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgKyAxLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uc2V0KGZyZXF1ZW5jeSwgMSk7XG5cbiAgICAgIC8vIG5ldyBtaW4gc28gcmVzdGFydCBzZXJ2aWNlXG4gICAgICBpZiAoZnJlcXVlbmN5IDwgdGhpcy5mcmVxdWVuY3kpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBmcmVxdWVuY3k7XG4gICAgICAgIHRoaXMucnVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFVuc3Vic2NyaWJlIGZyb20gYSBmcmVxdWVuY3kgKi9cbiAgcmVtb3ZlKGZyZXF1ZW5jeT86IG51bWJlcikge1xuICAgIGlmIChmcmVxdWVuY3kgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5oYXMoZnJlcXVlbmN5KSkge1xuICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uc2V0KFxuICAgICAgICBmcmVxdWVuY3ksXG4gICAgICAgICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5nZXQoZnJlcXVlbmN5KSBhcyBudW1iZXIpIC0gMSxcbiAgICAgICk7XG4gICAgICBpZiAoKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgPCAxKSB7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmRlbGV0ZShmcmVxdWVuY3kpO1xuXG4gICAgICAgIC8vIG5vdGhpbmcgc3Vic2NyaWJlZCB0byB0aGlzIGFueW1vcmUuLi5pdCBpcyBpbnZhbGlkXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zaXplID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aGlzIHdhcyB0aGUgbWluLCBzbyBmaW5kIHRoZSBuZXh0IHNpemVcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA8PSB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5ID0gTWF0aC5taW4oLi4udGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0ua2V5cygpKTtcbiAgICAgICAgICB0aGlzLnJ1bigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBlbHNlIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBNaXNtYXRjaGVkIHJlbW92ZTogJHtmcmVxdWVuY3l9IGlzIG5vdCBzdWJzY3JpYmVkIGZvciAke3RoaXMua2V5fWAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQ2xlYW51cCBtZWFucyBjbGVhcmluZyBvdXQgYmFja2dyb3VuZCBpbnRlcnZhbC4gKi9cbiAgY2xlYW51cCgpIHtcbiAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICBkZWxldGUgdGhpcy5pbnRlcnZhbElkO1xuICAgIH1cbiAgICBpZiAodGhpcy5sYXN0SW50ZXJ2YWxJZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmxhc3RJbnRlcnZhbElkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGFydElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGFydElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0YXJ0SWQ7XG4gICAgfVxuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLnJlbW92ZU9ubGluZUxpc3RlbmVyKHRoaXMub25saW5lTGlzdGVuZXIpO1xuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLnJlbW92ZU9mZmxpbmVMaXN0ZW5lcih0aGlzLm9mZmxpbmVMaXN0ZW5lcik7XG4gIH1cblxuICAvKiogVHJpZ2dlciByZXF1ZXN0IGZvciBsYXRlc3QgcmVzb3VyY2UgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBzdXAgPSB0aGlzLmVuZHBvaW50O1xuICAgIGNvbnN0IGVuZHBvaW50ID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICAgIHJldHVybiBzdXAuY2FsbCh0aGlzLCAuLi5hcmdzKTtcbiAgICB9O1xuICAgIE9iamVjdC5hc3NpZ24oZW5kcG9pbnQsIHRoaXMuZW5kcG9pbnQpO1xuICAgIGVuZHBvaW50LmRhdGFFeHBpcnlMZW5ndGggPSB0aGlzLmZyZXF1ZW5jeSAvIDI7XG4gICAgZW5kcG9pbnQuZXJyb3JFeHBpcnlMZW5ndGggPSB0aGlzLmZyZXF1ZW5jeSAvIDEwO1xuICAgIGVuZHBvaW50LmVycm9yUG9saWN5ID0gKCkgPT4gJ3NvZnQnIGFzIGNvbnN0O1xuICAgIGVuZHBvaW50LmtleSA9ICgpID0+IHRoaXMua2V5O1xuICAgIC8vIHN0b3AgYW55IGVycm9ycyBoZXJlIGZyb20gYnViYmxpbmdcbiAgICB0aGlzLmNvbnRyb2xsZXIuZmV0Y2goZW5kcG9pbnQsIC4uLnRoaXMuYXJncykuY2F0Y2goKCkgPT4gbnVsbCk7XG4gIH1cblxuICAvKiogV2hhdCBoYXBwZW5zIHdoZW4gYnJvd3NlciBnb2VzIG9mZmxpbmUgKi9cbiAgcHJvdGVjdGVkIG9mZmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAvLyB0aGlzIGNsZWFycyBleGlzdGluZyBsaXN0ZW5lcnMsIHNvIG5vIG5lZWQgdG8gY2xlYXIgb2ZmbGluZSBsaXN0ZW5lclxuICAgIHRoaXMuY2xlYW51cCgpO1xuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmFkZE9ubGluZUxpc3RlbmVyKHRoaXMub25saW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGNvbWVzIG9ubGluZSAqL1xuICBwcm90ZWN0ZWQgb25saW5lTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnN0YXJ0SWQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGFydElkKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBQb2xsIHNldFRpbWVvdXQgZm9yICR7dGhpcy5rZXl9IHN0aWxsIHJ1bm5pbmcsIGJ1dCB0aW1lb3V0SWQgZGVsZXRlZGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIE1hdGgubWF4KDAsIHRoaXMubGFzdEZldGNoVGltZSgpIC0gbm93ICsgdGhpcy5mcmVxdWVuY3kpLFxuICAgICk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfTtcblxuICAvKiogUnVuIHBvbGxpbmcgcHJvY2VzcyB3aXRoIGN1cnJlbnQgZnJlcXVlbmN5XG4gICAqXG4gICAqIFdpbGwgY2xlYW4gdXAgb2xkIHBvbGwgaW50ZXJ2YWwgb24gbmV4dCBydW5cbiAgICovXG4gIHByb3RlY3RlZCBydW4oKSB7XG4gICAgaWYgKHRoaXMuc3RhcnRJZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHRoaXMubGFzdEludGVydmFsSWQgPSB0aGlzLmludGVydmFsSWQ7XG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgLy8gc2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgbG9uZyBpbnRvIHRoZSBsYXN0IHBvbGwgaXQgd2FzIGJlZm9yZSByZXNldHRpbmdcbiAgICAgIC8vIHdlIHdhaXQgdGlsIHRoZSBuZXh0IGZldGNoIHRvIGNsZWFyIG9sZCBpbnRlcnZhbHNcbiAgICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5sYXN0SW50ZXJ2YWxJZCk7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmxhc3RJbnRlcnZhbElkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy51cGRhdGUoKTtcbiAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBQb2xsIGludGVydmFsSWQgZm9yICR7dGhpcy5rZXl9IHN0aWxsIHJ1bm5pbmcsIGJ1dCBpbnRlcnZhbElkIGRlbGV0ZWRgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIHRoaXMuZnJlcXVlbmN5KTtcbiAgfVxuXG4gIC8qKiBMYXN0IGZldGNoIHRpbWUgKi9cbiAgcHJvdGVjdGVkIGxhc3RGZXRjaFRpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5nZXRTdGF0ZSgpLm1ldGFbdGhpcy5rZXldPy5kYXRlID8/IDA7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBT0EseUJBQXlCLE1BQU0sZ0NBQWdDO0FBS3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNQyxtQkFBbUIsQ0FBeUI7RUFZL0RDLFdBQVdBLENBQ1RDLE1BQXFDLEVBQ3JDQyxVQUFzQixFQUN0QkMsa0JBQXVDLEVBQ3ZDO0lBQUEsS0FYUUMsa0JBQWtCLEdBQXdCLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0lBb0g3RDtJQUFBLEtBQ1VDLGVBQWUsR0FBRyxNQUFNO01BQ2hDO01BQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQztNQUNkLElBQUksQ0FBQ0osa0JBQWtCLENBQUNLLGlCQUFpQixDQUFDLElBQUksQ0FBQ0MsY0FBYyxDQUFDO0lBQ2hFLENBQUM7SUFFRDtJQUFBLEtBQ1VBLGNBQWMsR0FBRyxNQUFNO01BQy9CLElBQUksQ0FBQ04sa0JBQWtCLENBQUNPLG9CQUFvQixDQUFDLElBQUksQ0FBQ0QsY0FBYyxDQUFDO01BQ2pFLE1BQU1FLEdBQUcsR0FBR0MsSUFBSSxDQUFDRCxHQUFHLENBQUMsQ0FBQztNQUN0QixJQUFJLENBQUNFLE9BQU8sR0FBR0MsVUFBVSxDQUN2QixNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUNELE9BQU8sRUFBRTtVQUNo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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyIiwiUG9sbGluZ1N1YnNjcmlwdGlvbiIsImNvbnN0cnVjdG9yIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImNvbm5lY3Rpb25MaXN0ZW5lciIsImZyZXF1ZW5jeUhpc3RvZ3JhbSIsIk1hcCIsIm9mZmxpbmVMaXN0ZW5lciIsImNsZWFudXAiLCJhZGRPbmxpbmVMaXN0ZW5lciIsIm9ubGluZUxpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJub3ciLCJEYXRlIiwic3RhcnRJZCIsInNldFRpbWVvdXQiLCJ1cGRhdGUiLCJydW4iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwid2FybiIsImtleSIsIk1hdGgiLCJtYXgiLCJsYXN0RmV0Y2hUaW1lIiwiZnJlcXVlbmN5IiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwidW5kZWZpbmVkIiwiRXJyb3IiLCJhcmdzIiwibWV0YSIsInNldCIsImlzT25saW5lIiwiYWRkIiwiaGFzIiwiZ2V0IiwicmVtb3ZlIiwiZGVsZXRlIiwic2l6ZSIsIm1pbiIsImtleXMiLCJlcnJvciIsImludGVydmFsSWQiLCJjbGVhckludGVydmFsIiwibGFzdEludGVydmFsSWQiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVPZmZsaW5lTGlzdGVuZXIiLCJzdXAiLCJjYWxsIiwiT2JqZWN0IiwiYXNzaWduIiwiZGF0YUV4cGlyeUxlbmd0aCIsImVycm9yRXhwaXJ5TGVuZ3RoIiwiZXJyb3JQb2xpY3kiLCJmZXRjaCIsImNhdGNoIiwic2V0SW50ZXJ2YWwiLCJfdGhpcyRjb250cm9sbGVyJGdldFMiLCJfdGhpcyRjb250cm9sbGVyJGdldFMyIiwiZ2V0U3RhdGUiLCJkYXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvUG9sbGluZ1N1YnNjcmlwdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlIH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmltcG9ydCBDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9Db25uZWN0aW9uTGlzdGVuZXIuanMnO1xuaW1wb3J0IERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgZnJvbSAnLi9EZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb25NYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3Vic2NyaWJlQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFBvbGxpbmdTdWJzY3JpcHRpb24ga2VlcHMgYSBnaXZlbiByZXNvdXJjZSB1cGRhdGVkIGJ5XG4gKiBkaXNwYXRjaGluZyBhIGZldGNoIGF0IGEgcmF0ZSBlcXVhbCB0byB0aGUgbWluaW11bSB1cGRhdGVcbiAqIGludGVydmFsIHJlcXVlc3RlZC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9kb2NzL2FwaS9Qb2xsaW5nU3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvbGxpbmdTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBTdWJzY3JpcHRpb24ge1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBlbmRwb2ludDogRW5kcG9pbnRJbnRlcmZhY2U7XG4gIHByb3RlY3RlZCBkZWNsYXJlIHJlYWRvbmx5IGFyZ3M6IHJlYWRvbmx5IGFueVtdO1xuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2xhcmUgZnJlcXVlbmN5OiBudW1iZXI7XG4gIHByb3RlY3RlZCBmcmVxdWVuY3lIaXN0b2dyYW06IE1hcDxudW1iZXIsIG51bWJlcj4gPSBuZXcgTWFwKCk7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGNvbnRyb2xsZXI6IENvbnRyb2xsZXI7XG4gIHByb3RlY3RlZCBkZWNsYXJlIGludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gIHByb3RlY3RlZCBkZWNsYXJlIGxhc3RJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBzdGFydElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgZGVjbGFyZSBjb25uZWN0aW9uTGlzdGVuZXI6IENvbm5lY3Rpb25MaXN0ZW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhY3Rpb246IE9taXQ8U3Vic2NyaWJlQWN0aW9uLCAndHlwZSc+LFxuICAgIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4gICAgY29ubmVjdGlvbkxpc3RlbmVyPzogQ29ubmVjdGlvbkxpc3RlbmVyLFxuICApIHtcbiAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3kgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignZnJlcXVlbmN5IG5lZWRlZCBmb3IgcG9sbGluZyBzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gYWN0aW9uLmVuZHBvaW50O1xuICAgIHRoaXMuZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgdGhpcy5hcmdzID0gYWN0aW9uLm1ldGEuYXJncztcbiAgICB0aGlzLmtleSA9IGFjdGlvbi5tZXRhLmtleTtcbiAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQodGhpcy5mcmVxdWVuY3ksIDEpO1xuICAgIHRoaXMuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIgPVxuICAgICAgY29ubmVjdGlvbkxpc3RlbmVyIHx8IG5ldyBEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyKCk7XG5cbiAgICAvLyBLaWNrc3RhcnQgcnVubmluZyBzaW5jZSB0aGlzIGlzIGluaXRpYWxpemVkIGFmdGVyIHRoZSBvbmxpbmUgbm90aWYgaXMgc2VudFxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25MaXN0ZW5lci5pc09ubGluZSgpKSB7XG4gICAgICB0aGlzLm9ubGluZUxpc3RlbmVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2ZmbGluZUxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN1YnNjcmliZSB0byBhIGZyZXF1ZW5jeSAqL1xuICBhZGQoZnJlcXVlbmN5PzogbnVtYmVyKSB7XG4gICAgaWYgKGZyZXF1ZW5jeSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmhhcyhmcmVxdWVuY3kpKSB7XG4gICAgICB0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zZXQoXG4gICAgICAgIGZyZXF1ZW5jeSxcbiAgICAgICAgKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgKyAxLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uc2V0KGZyZXF1ZW5jeSwgMSk7XG5cbiAgICAgIC8vIG5ldyBtaW4gc28gcmVzdGFydCBzZXJ2aWNlXG4gICAgICBpZiAoZnJlcXVlbmN5IDwgdGhpcy5mcmVxdWVuY3kpIHtcbiAgICAgICAgdGhpcy5mcmVxdWVuY3kgPSBmcmVxdWVuY3k7XG4gICAgICAgIHRoaXMucnVuKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFVuc3Vic2NyaWJlIGZyb20gYSBmcmVxdWVuY3kgKi9cbiAgcmVtb3ZlKGZyZXF1ZW5jeT86IG51bWJlcikge1xuICAgIGlmIChmcmVxdWVuY3kgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5oYXMoZnJlcXVlbmN5KSkge1xuICAgICAgdGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0uc2V0KFxuICAgICAgICBmcmVxdWVuY3ksXG4gICAgICAgICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5nZXQoZnJlcXVlbmN5KSBhcyBudW1iZXIpIC0gMSxcbiAgICAgICk7XG4gICAgICBpZiAoKHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmdldChmcmVxdWVuY3kpIGFzIG51bWJlcikgPCAxKSB7XG4gICAgICAgIHRoaXMuZnJlcXVlbmN5SGlzdG9ncmFtLmRlbGV0ZShmcmVxdWVuY3kpO1xuXG4gICAgICAgIC8vIG5vdGhpbmcgc3Vic2NyaWJlZCB0byB0aGlzIGFueW1vcmUuLi5pdCBpcyBpbnZhbGlkXG4gICAgICAgIGlmICh0aGlzLmZyZXF1ZW5jeUhpc3RvZ3JhbS5zaXplID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhbnVwKCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0aGlzIHdhcyB0aGUgbWluLCBzbyBmaW5kIHRoZSBuZXh0IHNpemVcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA8PSB0aGlzLmZyZXF1ZW5jeSkge1xuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5ID0gTWF0aC5taW4oLi4udGhpcy5mcmVxdWVuY3lIaXN0b2dyYW0ua2V5cygpKTtcbiAgICAgICAgICB0aGlzLnJ1bigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBlbHNlIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBNaXNtYXRjaGVkIHJlbW92ZTogJHtmcmVxdWVuY3l9IGlzIG5vdCBzdWJzY3JpYmVkIGZvciAke3RoaXMua2V5fWAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogQ2xlYW51cCBtZWFucyBjbGVhcmluZyBvdXQgYmFja2dyb3VuZCBpbnRlcnZhbC4gKi9cbiAgY2xlYW51cCgpIHtcbiAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICBkZWxldGUgdGhpcy5pbnRlcnZhbElkO1xuICAgIH1cbiAgICBpZiAodGhpcy5sYXN0SW50ZXJ2YWxJZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmxhc3RJbnRlcnZhbElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmxhc3RJbnRlcnZhbElkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGFydElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGFydElkKTtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0YXJ0SWQ7XG4gICAgfVxuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLnJlbW92ZU9ubGluZUxpc3RlbmVyKHRoaXMub25saW5lTGlzdGVuZXIpO1xuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLnJlbW92ZU9mZmxpbmVMaXN0ZW5lcih0aGlzLm9mZmxpbmVMaXN0ZW5lcik7XG4gIH1cblxuICAvKiogVHJpZ2dlciByZXF1ZXN0IGZvciBsYXRlc3QgcmVzb3VyY2UgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBzdXAgPSB0aGlzLmVuZHBvaW50O1xuICAgIGNvbnN0IGVuZHBvaW50ID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICAgIHJldHVybiBzdXAuY2FsbCh0aGlzLCAuLi5hcmdzKTtcbiAgICB9O1xuICAgIE9iamVjdC5hc3NpZ24oZW5kcG9pbnQsIHRoaXMuZW5kcG9pbnQpO1xuICAgIGVuZHBvaW50LmRhdGFFeHBpcnlMZW5ndGggPSB0aGlzLmZyZXF1ZW5jeSAvIDI7XG4gICAgZW5kcG9pbnQuZXJyb3JFeHBpcnlMZW5ndGggPSB0aGlzLmZyZXF1ZW5jeSAvIDEwO1xuICAgIGVuZHBvaW50LmVycm9yUG9saWN5ID0gKCkgPT4gJ3NvZnQnIGFzIGNvbnN0O1xuICAgIGVuZHBvaW50LmtleSA9ICgpID0+IHRoaXMua2V5O1xuICAgIC8vIHN0b3AgYW55IGVycm9ycyBoZXJlIGZyb20gYnViYmxpbmdcbiAgICB0aGlzLmNvbnRyb2xsZXIuZmV0Y2goZW5kcG9pbnQsIC4uLnRoaXMuYXJncykuY2F0Y2goKCkgPT4gbnVsbCk7XG4gIH1cblxuICAvKiogV2hhdCBoYXBwZW5zIHdoZW4gYnJvd3NlciBnb2VzIG9mZmxpbmUgKi9cbiAgcHJvdGVjdGVkIG9mZmxpbmVMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAvLyB0aGlzIGNsZWFycyBleGlzdGluZyBsaXN0ZW5lcnMsIHNvIG5vIG5lZWQgdG8gY2xlYXIgb2ZmbGluZSBsaXN0ZW5lclxuICAgIHRoaXMuY2xlYW51cCgpO1xuICAgIHRoaXMuY29ubmVjdGlvbkxpc3RlbmVyLmFkZE9ubGluZUxpc3RlbmVyKHRoaXMub25saW5lTGlzdGVuZXIpO1xuICB9O1xuXG4gIC8qKiBXaGF0IGhhcHBlbnMgd2hlbiBicm93c2VyIGNvbWVzIG9ubGluZSAqL1xuICBwcm90ZWN0ZWQgb25saW5lTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIucmVtb3ZlT25saW5lTGlzdGVuZXIodGhpcy5vbmxpbmVMaXN0ZW5lcik7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnN0YXJ0SWQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGFydElkKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuc3RhcnRJZDtcbiAgICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBQb2xsIHNldFRpbWVvdXQgZm9yICR7dGhpcy5rZXl9IHN0aWxsIHJ1bm5pbmcsIGJ1dCB0aW1lb3V0SWQgZGVsZXRlZGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIE1hdGgubWF4KDAsIHRoaXMubGFzdEZldGNoVGltZSgpIC0gbm93ICsgdGhpcy5mcmVxdWVuY3kpLFxuICAgICk7XG4gICAgdGhpcy5jb25uZWN0aW9uTGlzdGVuZXIuYWRkT2ZmbGluZUxpc3RlbmVyKHRoaXMub2ZmbGluZUxpc3RlbmVyKTtcbiAgfTtcblxuICAvKiogUnVuIHBvbGxpbmcgcHJvY2VzcyB3aXRoIGN1cnJlbnQgZnJlcXVlbmN5XG4gICAqXG4gICAqIFdpbGwgY2xlYW4gdXAgb2xkIHBvbGwgaW50ZXJ2YWwgb24gbmV4dCBydW5cbiAgICovXG4gIHByb3RlY3RlZCBydW4oKSB7XG4gICAgaWYgKHRoaXMuc3RhcnRJZCkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHRoaXMubGFzdEludGVydmFsSWQgPSB0aGlzLmludGVydmFsSWQ7XG4gICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgLy8gc2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgbG9uZyBpbnRvIHRoZSBsYXN0IHBvbGwgaXQgd2FzIGJlZm9yZSByZXNldHRpbmdcbiAgICAgIC8vIHdlIHdhaXQgdGlsIHRoZSBuZXh0IGZldGNoIHRvIGNsZWFyIG9sZCBpbnRlcnZhbHNcbiAgICAgIGlmICh0aGlzLmxhc3RJbnRlcnZhbElkKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5sYXN0SW50ZXJ2YWxJZCk7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmxhc3RJbnRlcnZhbElkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkgdGhpcy51cGRhdGUoKTtcbiAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBQb2xsIGludGVydmFsSWQgZm9yICR7dGhpcy5rZXl9IHN0aWxsIHJ1bm5pbmcsIGJ1dCBpbnRlcnZhbElkIGRlbGV0ZWRgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIHRoaXMuZnJlcXVlbmN5KTtcbiAgfVxuXG4gIC8qKiBMYXN0IGZldGNoIHRpbWUgKi9cbiAgcHJvdGVjdGVkIGxhc3RGZXRjaFRpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5nZXRTdGF0ZSgpLm1ldGFbdGhpcy5rZXldPy5kYXRlID8/IDA7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBT0EseUJBQXlCLE1BQU0sZ0NBQWdDO0FBS3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNQyxtQkFBbUIsQ0FBeUI7RUFZL0RDLFdBQVdBLENBQ1RDLE1BQXFDLEVBQ3JDQyxVQUFzQixFQUN0QkMsa0JBQXVDLEVBQ3ZDO0lBQUEsS0FYUUMsa0JBQWtCLEdBQXdCLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0lBb0g3RDtJQUFBLEtBQ1VDLGVBQWUsR0FBRyxNQUFNO01BQ2hDO01BQ0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQztNQUNkLElBQUksQ0FBQ0osa0JBQWtCLENBQUNLLGlCQUFpQixDQUFDLElBQUksQ0FBQ0MsY0FBYyxDQUFDO0lBQ2hFLENBQUM7SUFFRDtJQUFBLEtBQ1VBLGNBQWMsR0FBRyxNQUFNO01BQy9CLElBQUksQ0FBQ04sa0JBQWtCLENBQUNPLG9CQUFvQixDQUFDLElBQUksQ0FBQ0QsY0FBYyxDQUFDO01BQ2pFLE1BQU1FLEdBQUcsR0FBR0MsSUFBSSxDQUFDRCxHQUFHLENBQUMsQ0FBQztNQUN0QixJQUFJLENBQUNFLE9BQU8sR0FBR0MsVUFBVSxDQUN2QixNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUNELE9BQU8sRUFBRTtVQUNo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
@@ -88,4 +88,4 @@ export default class SubscriptionManager {
88
88
  return this.middleware;
89
89
  }
90
90
  }
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkVfVFlQRSIsIlVOU1VCU0NSSUJFX1RZUEUiLCJDb250cm9sbGVyIiwiU3Vic2NyaXB0aW9uTWFuYWdlciIsImNvbnN0cnVjdG9yIiwiU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9ucyIsImNvbnRyb2xsZXIiLCJtaWRkbGV3YXJlIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJoYW5kbGVTdWJzY3JpYmUiLCJlIiwiY29uc29sZSIsImVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJoYW5kbGVVbnN1YnNjcmliZSIsImNsZWFudXAiLCJrZXkiLCJtZXRhIiwiZnJlcXVlbmN5IiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwiYWRkIiwiZW1wdHkiLCJyZW1vdmUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJnZXRNaWRkbGV3YXJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkVfVFlQRSwgVU5TVUJTQ1JJQkVfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1hbmFnZXIsXG4gIE1pZGRsZXdhcmVBUEksXG4gIE1pZGRsZXdhcmUsXG4gIFVuc3Vic2NyaWJlQWN0aW9uLFxuICBTdWJzY3JpYmVBY3Rpb24sXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxudHlwZSBBY3Rpb25zID0gVW5zdWJzY3JpYmVBY3Rpb24gfCBTdWJzY3JpYmVBY3Rpb247XG5cbi8qKiBJbnRlcmZhY2UgaGFuZGxpbmcgYSBzaW5nbGUgcmVzb3VyY2Ugc3Vic2NyaXB0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbiB7XG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpOiB2b2lkO1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKTogYm9vbGVhbjtcbiAgY2xlYW51cCgpOiB2b2lkO1xufVxuXG4vKiogVGhlIHN0YXRpYyBjbGFzcyB0aGF0IGNvbnN0cnVjdHMgU3Vic2NyaXB0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbkNvbnN0cnVjdGFibGUge1xuICBuZXcgKFxuICAgIGFjdGlvbjogT21pdDxTdWJzY3JpYmVBY3Rpb24sICd0eXBlJz4sXG4gICAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbiAgKTogU3Vic2NyaXB0aW9uO1xufVxuXG4vKiogSGFuZGxlcyBzdWJzY3JpcHRpb24gYWN0aW9ucyAtPiBmZXRjaCBvciBzZXQgYWN0aW9uc1xuICpcbiAqIENvbnN0cnVjdG9yIHRha2VzIGEgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSBjbGFzcyB0byBjb250cm9sIGhvd1xuICogc3Vic2NyaXB0aW9ucyBhcmUgaGFuZGxlZC4gKGUuZy4sIHBvbGxpbmcsIHdlYnNvY2tldHMpXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvU3Vic2NyaXB0aW9uTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzY3JpcHRpb25NYW5hZ2VyPFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlPlxuICBpbXBsZW1lbnRzIE1hbmFnZXI8QWN0aW9ucz5cbntcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJbnN0YW5jZVR5cGU8Uz47XG4gIH0gPSB7fTtcblxuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBTdWJzY3JpcHRpb246IFM7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG4gIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoKTtcblxuICBjb25zdHJ1Y3RvcihTdWJzY3JpcHRpb246IFMpIHtcbiAgICB0aGlzLlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbjtcblxuICAgIHRoaXMubWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgTWlkZGxld2FyZUFQST4oY29udHJvbGxlcjogQykgPT4ge1xuICAgICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICAgIHJldHVybiAobmV4dDogQ1snZGlzcGF0Y2gnXSk6IENbJ2Rpc3BhdGNoJ10gPT5cbiAgICAgICAgYWN0aW9uID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNVQlNDUklCRV9UWVBFOlxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU3Vic2NyaWJlKGFjdGlvbik7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIGNhc2UgVU5TVUJTQ1JJQkVfVFlQRTpcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5tZXRhLmtleTtcblxuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmFkZChmcmVxdWVuY3kpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XSA9IG5ldyB0aGlzLlN1YnNjcmlwdGlvbihcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIsXG4gICAgICApIGFzIEluc3RhbmNlVHlwZTxTPjtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvdW5zdWJzY3JpYmUnIGFjdGlvbi5cbiAgICpcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVVbnN1YnNjcmliZShhY3Rpb246IFVuc3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLm1ldGEua2V5O1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICBjb25zdCBlbXB0eSA9IHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLnJlbW92ZShmcmVxdWVuY3kpO1xuICAgICAgaWYgKGVtcHR5KSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1pc21hdGNoZWQgdW5zdWJzY3JpYmU6ICR7a2V5fSBpcyBub3Qgc3Vic2NyaWJlZGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBdHRhY2hlcyBNYW5hZ2VyIHRvIHN0b3JlXG4gICAqXG4gICAqIEludGVyY2VwdHMgJ3JkYy9zdWJzY3JpYmUnLydyZXN0LWhvcmRjL3JpYmUnIHRvIHJlZ2lzdGVyIHJlc291cmNlcyB0aGF0XG4gICAqIG5lZWQgdG8gYmUga2VwdCB1cCB0byBkYXRlLlxuICAgKlxuICAgKiBXaWxsIHBvc3NpYmx5IGRpc3BhdGNoICdyZGMvZmV0Y2gnIG9yICdyZXN0LWhvcmRjLycgdG8ga2VlcCByZXNvdXJjZXMgZnJlc2hcbiAgICpcbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLEVBQUVDLGdCQUFnQixRQUFRLG1CQUFtQjtBQUNwRSxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVdwRDs7QUFPQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTUMsbUJBQW1CLENBRXhDO0VBU0VDLFdBQVdBLENBQUNDLFlBQWUsRUFBRTtJQUFBLEtBUm5CQyxhQUFhLEdBRW5CLENBQUMsQ0FBQztJQUFBLEtBSUlDLFVBQVUsR0FBZSxJQUFJTCxVQUFVLENBQUMsQ0FBQztJQUdqRCxJQUFJLENBQUNHLFlBQVksR0FBR0EsWUFBWTtJQUVoQyxJQUFJLENBQUNHLFVBQVUsR0FBNkJELFVBQWEsSUFBSztNQUM1RCxJQUFJLENBQUNBLFVBQVUsR0FBR0EsVUFBVTtNQUM1QixPQUFRRSxJQUFtQixJQUN6QkMsTUFBTSxJQUFJO1FBQ1IsUUFBUUEsTUFBTSxDQUFDQyxJQUFJO1VBQ2pCLEtBQUtYLGNBQWM7WUFDakIsSUFBSTtjQUNGLElBQUksQ0FBQ1ksZUFBZSxDQUFDRixNQUFNLENBQUM7WUFDOUIsQ0FBQyxDQUFDLE9BQU9HLENBQUMsRUFBRTtjQUNWQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO1lBQ2xCO1lBQ0EsT0FBT0csT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztVQUMxQixLQUFLaEIsZ0JBQWdCO1lBQ25CLElBQUksQ0FBQ2lCLGlCQUFpQixDQUFDUixNQUFNLENBQUM7WUFDOUIsT0FBT00sT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztVQUMxQjtZQUNFLE9BQU9SLElBQUksQ0FBQ0MsTUFBTSxDQUFDO1FBQ3ZCO01BQ0YsQ0FBQztJQUNMLENBQUM7RUFDSDs7RUFFQTtFQUNBUyxPQUFPQSxDQUFBLEVBQUc7SUFDUixLQUFLLE1BQU1DLEdBQUcsSUFBSSxJQUFJLENBQUNkLGFBQWEsRUFBRTtNQUNwQyxJQUFJLENBQUNBLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDLENBQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ25DO0VBQ0Y7O0VBRUE7QUFDRjtBQUNBO0VBQ1lQLGVBQWVBLENBQUNGLE1BQXVCLEVBQUU7SUFDakQsTUFBTVUsR0FBRyxHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQ0QsR0FBRztJQUUzQixJQUFJQSxHQUFHLElBQUksSUFBSSxDQUFDZCxhQUFhLEVBQUU7TUFDN0IsTUFBTWdCLFNBQVMsR0FBR1osTUFBTSxDQUFDYSxRQUFRLENBQUNDLGFBQWE7TUFDL0MsSUFBSSxDQUFDbEIsYUFBYSxDQUFDYyxHQUFHLENBQUMsQ0FBQ0ssR0FBRyxDQUFDSCxTQUFTLENBQUM7SUFDeEMsQ0FBQyxNQUFNO01BQ0wsSUFBSSxDQUFDaEIsYUFBYSxDQUFDYyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQ2YsWUFBWSxDQUM3Q0ssTUFBTSxFQUNOLElBQUksQ0FBQ0gsVUFDUCxDQUFvQjtJQUN0QjtFQUNGOztFQUVBO0FBQ0Y7QUFDQTtFQUNZVyxpQkFBaUJBLENBQUNSLE1BQXlCLEVBQUU7SUFDckQsTUFBTVUsR0FBRyxHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQ0QsR0FBRzs7SUFFM0I7SUFDQSxJQUFJQSxHQUFHLElBQUksSUFBSSxDQUFDZCxhQUFhLEVBQUU7TUFDN0IsTUFBTWdCLFNBQVMsR0FBR1osTUFBTSxDQUFDYSxRQUFRLENBQUNDLGFBQWE7TUFDL0MsTUFBTUUsS0FBSyxHQUFHLElBQUksQ0FBQ3BCLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDLENBQUNPLE1BQU0sQ0FBQ0wsU0FBUyxDQUFDO01BQ3ZELElBQUlJLEtBQUssRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDcEIsYUFBYSxDQUFDYyxHQUFHLENBQUM7TUFDaEM7SUFDRixDQUFDLE1BQU0sSUFBSVEsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7TUFDaERoQixPQUFPLENBQUNDLEtBQUssQ0FBRSwyQkFBMEJLLEdBQUksb0JBQW1CLENBQUM7SUFDbkU7RUFDRjs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0VXLGFBQWFBLENBQUEsRUFBRztJQUNkLE9BQU8sSUFBSSxDQUFDdkIsVUFBVTtFQUN4QjtBQUNGIn0=
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkVfVFlQRSIsIlVOU1VCU0NSSUJFX1RZUEUiLCJDb250cm9sbGVyIiwiU3Vic2NyaXB0aW9uTWFuYWdlciIsImNvbnN0cnVjdG9yIiwiU3Vic2NyaXB0aW9uIiwic3Vic2NyaXB0aW9ucyIsImNvbnRyb2xsZXIiLCJtaWRkbGV3YXJlIiwibmV4dCIsImFjdGlvbiIsInR5cGUiLCJoYW5kbGVTdWJzY3JpYmUiLCJlIiwiY29uc29sZSIsImVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJoYW5kbGVVbnN1YnNjcmliZSIsImNsZWFudXAiLCJrZXkiLCJtZXRhIiwiZnJlcXVlbmN5IiwiZW5kcG9pbnQiLCJwb2xsRnJlcXVlbmN5IiwiYWRkIiwiZW1wdHkiLCJyZW1vdmUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJnZXRNaWRkbGV3YXJlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvU3Vic2NyaXB0aW9uTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTVUJTQ1JJQkVfVFlQRSwgVU5TVUJTQ1JJQkVfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCBDb250cm9sbGVyIGZyb20gJy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1hbmFnZXIsXG4gIE1pZGRsZXdhcmVBUEksXG4gIE1pZGRsZXdhcmUsXG4gIFVuc3Vic2NyaWJlQWN0aW9uLFxuICBTdWJzY3JpYmVBY3Rpb24sXG59IGZyb20gJy4uL3R5cGVzLmpzJztcblxudHlwZSBBY3Rpb25zID0gVW5zdWJzY3JpYmVBY3Rpb24gfCBTdWJzY3JpYmVBY3Rpb247XG5cbi8qKiBJbnRlcmZhY2UgaGFuZGxpbmcgYSBzaW5nbGUgcmVzb3VyY2Ugc3Vic2NyaXB0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbiB7XG4gIGFkZChmcmVxdWVuY3k/OiBudW1iZXIpOiB2b2lkO1xuICByZW1vdmUoZnJlcXVlbmN5PzogbnVtYmVyKTogYm9vbGVhbjtcbiAgY2xlYW51cCgpOiB2b2lkO1xufVxuXG4vKiogVGhlIHN0YXRpYyBjbGFzcyB0aGF0IGNvbnN0cnVjdHMgU3Vic2NyaXB0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIFN1YnNjcmlwdGlvbkNvbnN0cnVjdGFibGUge1xuICBuZXcgKFxuICAgIGFjdGlvbjogT21pdDxTdWJzY3JpYmVBY3Rpb24sICd0eXBlJz4sXG4gICAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbiAgKTogU3Vic2NyaXB0aW9uO1xufVxuXG4vKiogSGFuZGxlcyBzdWJzY3JpcHRpb24gYWN0aW9ucyAtPiBmZXRjaCBvciBzZXQgYWN0aW9uc1xuICpcbiAqIENvbnN0cnVjdG9yIHRha2VzIGEgU3Vic2NyaXB0aW9uQ29uc3RydWN0YWJsZSBjbGFzcyB0byBjb250cm9sIGhvd1xuICogc3Vic2NyaXB0aW9ucyBhcmUgaGFuZGxlZC4gKGUuZy4sIHBvbGxpbmcsIHdlYnNvY2tldHMpXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vZG9jcy9hcGkvU3Vic2NyaXB0aW9uTWFuYWdlclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzY3JpcHRpb25NYW5hZ2VyPFMgZXh0ZW5kcyBTdWJzY3JpcHRpb25Db25zdHJ1Y3RhYmxlPlxuICBpbXBsZW1lbnRzIE1hbmFnZXI8QWN0aW9ucz5cbntcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJbnN0YW5jZVR5cGU8Uz47XG4gIH0gPSB7fTtcblxuICBwcm90ZWN0ZWQgZGVjbGFyZSByZWFkb25seSBTdWJzY3JpcHRpb246IFM7XG4gIHByb3RlY3RlZCBkZWNsYXJlIG1pZGRsZXdhcmU6IE1pZGRsZXdhcmU7XG4gIHByb3RlY3RlZCBjb250cm9sbGVyOiBDb250cm9sbGVyID0gbmV3IENvbnRyb2xsZXIoKTtcblxuICBjb25zdHJ1Y3RvcihTdWJzY3JpcHRpb246IFMpIHtcbiAgICB0aGlzLlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbjtcblxuICAgIHRoaXMubWlkZGxld2FyZSA9IDxDIGV4dGVuZHMgTWlkZGxld2FyZUFQST4oY29udHJvbGxlcjogQykgPT4ge1xuICAgICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgICAgIHJldHVybiAobmV4dDogQ1snZGlzcGF0Y2gnXSk6IENbJ2Rpc3BhdGNoJ10gPT5cbiAgICAgICAgYWN0aW9uID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFNVQlNDUklCRV9UWVBFOlxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlU3Vic2NyaWJlKGFjdGlvbik7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIGNhc2UgVU5TVUJTQ1JJQkVfVFlQRTpcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVVbnN1YnNjcmliZShhY3Rpb24pO1xuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gbmV4dChhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEVuc3VyZXMgYWxsIHN1YnNjcmlwdGlvbnMgYXJlIGNsZWFuZWQgdXAuICovXG4gIGNsZWFudXAoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XS5jbGVhbnVwKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1pZGRsZXdhcmUgaW50ZXJjZXB0cyAncmRjL3N1YnNjcmliZScgYWN0aW9uLlxuICAgKlxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVN1YnNjcmliZShhY3Rpb246IFN1YnNjcmliZUFjdGlvbikge1xuICAgIGNvbnN0IGtleSA9IGFjdGlvbi5tZXRhLmtleTtcblxuICAgIGlmIChrZXkgaW4gdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSBhY3Rpb24uZW5kcG9pbnQucG9sbEZyZXF1ZW5jeTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLmFkZChmcmVxdWVuY3kpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XSA9IG5ldyB0aGlzLlN1YnNjcmlwdGlvbihcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIsXG4gICAgICApIGFzIEluc3RhbmNlVHlwZTxTPjtcbiAgICB9XG4gIH1cblxuICAvKiogQ2FsbGVkIHdoZW4gbWlkZGxld2FyZSBpbnRlcmNlcHRzICdyZGMvdW5zdWJzY3JpYmUnIGFjdGlvbi5cbiAgICpcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVVbnN1YnNjcmliZShhY3Rpb246IFVuc3Vic2NyaWJlQWN0aW9uKSB7XG4gICAgY29uc3Qga2V5ID0gYWN0aW9uLm1ldGEua2V5O1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgY29uc3QgZnJlcXVlbmN5ID0gYWN0aW9uLmVuZHBvaW50LnBvbGxGcmVxdWVuY3k7XG4gICAgICBjb25zdCBlbXB0eSA9IHRoaXMuc3Vic2NyaXB0aW9uc1trZXldLnJlbW92ZShmcmVxdWVuY3kpO1xuICAgICAgaWYgKGVtcHR5KSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnN1YnNjcmlwdGlvbnNba2V5XTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1pc21hdGNoZWQgdW5zdWJzY3JpYmU6ICR7a2V5fSBpcyBub3Qgc3Vic2NyaWJlZGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBdHRhY2hlcyBNYW5hZ2VyIHRvIHN0b3JlXG4gICAqXG4gICAqIEludGVyY2VwdHMgJ3JkYy9zdWJzY3JpYmUnLydyZXN0LWhvcmRjL3JpYmUnIHRvIHJlZ2lzdGVyIHJlc291cmNlcyB0aGF0XG4gICAqIG5lZWQgdG8gYmUga2VwdCB1cCB0byBkYXRlLlxuICAgKlxuICAgKiBXaWxsIHBvc3NpYmx5IGRpc3BhdGNoICdyZGMvZmV0Y2gnIG9yICdyZXN0LWhvcmRjLycgdG8ga2VlcCByZXNvdXJjZXMgZnJlc2hcbiAgICpcbiAgICovXG4gIGdldE1pZGRsZXdhcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWlkZGxld2FyZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLEVBQUVDLGdCQUFnQixRQUFRLG1CQUFtQjtBQUNwRSxPQUFPQyxVQUFVLE1BQU0sNkJBQTZCOztBQVdwRDs7QUFPQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTUMsbUJBQW1CLENBRXhDO0VBU0VDLFdBQVdBLENBQUNDLFlBQWUsRUFBRTtJQUFBLEtBUm5CQyxhQUFhLEdBRW5CLENBQUMsQ0FBQztJQUFBLEtBSUlDLFVBQVUsR0FBZSxJQUFJTCxVQUFVLENBQUMsQ0FBQztJQUdqRCxJQUFJLENBQUNHLFlBQVksR0FBR0EsWUFBWTtJQUVoQyxJQUFJLENBQUNHLFVBQVUsR0FBNkJELFVBQWEsSUFBSztNQUM1RCxJQUFJLENBQUNBLFVBQVUsR0FBR0EsVUFBVTtNQUM1QixPQUFRRSxJQUFtQixJQUN6QkMsTUFBTSxJQUFJO1FBQ1IsUUFBUUEsTUFBTSxDQUFDQyxJQUFJO1VBQ2pCLEtBQUtYLGNBQWM7WUFDakIsSUFBSTtjQUNGLElBQUksQ0FBQ1ksZUFBZSxDQUFDRixNQUFNLENBQUM7WUFDOUIsQ0FBQyxDQUFDLE9BQU9HLENBQUMsRUFBRTtjQUNWQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO1lBQ2xCO1lBQ0EsT0FBT0csT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztVQUMxQixLQUFLaEIsZ0JBQWdCO1lBQ25CLElBQUksQ0FBQ2lCLGlCQUFpQixDQUFDUixNQUFNLENBQUM7WUFDOUIsT0FBT00sT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztVQUMxQjtZQUNFLE9BQU9SLElBQUksQ0FBQ0MsTUFBTSxDQUFDO1FBQ3ZCO01BQ0YsQ0FBQztJQUNMLENBQUM7RUFDSDs7RUFFQTtFQUNBUyxPQUFPQSxDQUFBLEVBQUc7SUFDUixLQUFLLE1BQU1DLEdBQUcsSUFBSSxJQUFJLENBQUNkLGFBQWEsRUFBRTtNQUNwQyxJQUFJLENBQUNBLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDLENBQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ25DO0VBQ0Y7O0VBRUE7QUFDRjtBQUNBO0VBQ1lQLGVBQWVBLENBQUNGLE1BQXVCLEVBQUU7SUFDakQsTUFBTVUsR0FBRyxHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQ0QsR0FBRztJQUUzQixJQUFJQSxHQUFHLElBQUksSUFBSSxDQUFDZCxhQUFhLEVBQUU7TUFDN0IsTUFBTWdCLFNBQVMsR0FBR1osTUFBTSxDQUFDYSxRQUFRLENBQUNDLGFBQWE7TUFDL0MsSUFBSSxDQUFDbEIsYUFBYSxDQUFDYyxHQUFHLENBQUMsQ0FBQ0ssR0FBRyxDQUFDSCxTQUFTLENBQUM7SUFDeEMsQ0FBQyxNQUFNO01BQ0wsSUFBSSxDQUFDaEIsYUFBYSxDQUFDYyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQ2YsWUFBWSxDQUM3Q0ssTUFBTSxFQUNOLElBQUksQ0FBQ0gsVUFDUCxDQUFvQjtJQUN0QjtFQUNGOztFQUVBO0FBQ0Y7QUFDQTtFQUNZVyxpQkFBaUJBLENBQUNSLE1BQXlCLEVBQUU7SUFDckQsTUFBTVUsR0FBRyxHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQ0QsR0FBRzs7SUFFM0I7SUFDQSxJQUFJQSxHQUFHLElBQUksSUFBSSxDQUFDZCxhQUFhLEVBQUU7TUFDN0IsTUFBTWdCLFNBQVMsR0FBR1osTUFBTSxDQUFDYSxRQUFRLENBQUNDLGFBQWE7TUFDL0MsTUFBTUUsS0FBSyxHQUFHLElBQUksQ0FBQ3BCLGFBQWEsQ0FBQ2MsR0FBRyxDQUFDLENBQUNPLE1BQU0sQ0FBQ0wsU0FBUyxDQUFDO01BQ3ZELElBQUlJLEtBQUssRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDcEIsYUFBYSxDQUFDYyxHQUFHLENBQUM7TUFDaEM7SUFDRixDQUFDLE1BQU0sSUFBSVEsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7TUFDaERoQixPQUFPLENBQUNDLEtBQUssQ0FBRSwyQkFBMEJLLEdBQUksb0JBQW1CLENBQUM7SUFDbkU7RUFDRjs7RUFFQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0VXLGFBQWFBLENBQUEsRUFBRztJQUNkLE9BQU8sSUFBSSxDQUFDdkIsVUFBVTtFQUN4QjtBQUNGIiwiaWdub3JlTGlzdCI6W119
@@ -14,4 +14,4 @@ export default function applyManager(managers, controller) {
14
14
  }
15
15
 
16
16
  /* These should be compatible with redux */
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBseU1hbmFnZXIiLCJtYW5hZ2VycyIsImNvbnRyb2xsZXIiLCJtYXAiLCJtYW5hZ2VyIiwibWlkZGxld2FyZSIsImdldE1pZGRsZXdhcmUiLCJkaXNwYXRjaCIsImdldFN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvYXBwbHlNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgUmVkdWNlciwgRGlzcGF0Y2gsIFJlZHVjZXJTdGF0ZSB9IGZyb20gJy4uL21pZGRsZXdhcmVUeXBlcy5qcyc7XG5pbXBvcnQgeyBNYW5hZ2VyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhcHBseU1hbmFnZXIoXG4gIG1hbmFnZXJzOiBNYW5hZ2VyW10sXG4gIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4pOiBNaWRkbGV3YXJlW10ge1xuICByZXR1cm4gbWFuYWdlcnMubWFwKG1hbmFnZXIgPT4ge1xuICAgIGNvbnN0IG1pZGRsZXdhcmUgPSBtYW5hZ2VyLmdldE1pZGRsZXdhcmUoKTtcbiAgICByZXR1cm4gKHsgZGlzcGF0Y2gsIGdldFN0YXRlIH0pID0+IHtcbiAgICAgIChjb250cm9sbGVyIGFzIGFueSkuZGlzcGF0Y2ggPSBkaXNwYXRjaDtcbiAgICAgIChjb250cm9sbGVyIGFzIGFueSkuZ2V0U3RhdGUgPSBnZXRTdGF0ZTtcbiAgICAgIC8vIGNvbnRyb2xsZXIgaXMgYSBzdXBlcnNldCBvZiB0aGUgbWlkZGxld2FyZSBBUElcbiAgICAgIHJldHVybiBtaWRkbGV3YXJlKGNvbnRyb2xsZXIgYXMgQ29udHJvbGxlcjxhbnk+KTtcbiAgICB9O1xuICB9KTtcbn1cblxuLyogVGhlc2Ugc2hvdWxkIGJlIGNvbXBhdGlibGUgd2l0aCByZWR1eCAqL1xuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFxuICBSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4gPSBSZWR1Y2VyPGFueSwgYW55Pixcbj4ge1xuICBnZXRTdGF0ZTogKCkgPT4gUmVkdWNlclN0YXRlPFI+O1xuICBkaXNwYXRjaDogRGlzcGF0Y2g8Uj47XG59XG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlID0gPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4oe1xuICBkaXNwYXRjaCxcbn06IE1pZGRsZXdhcmVBUEk8Uj4pID0+IChuZXh0OiBEaXNwYXRjaDxSPikgPT4gRGlzcGF0Y2g8Uj47XG4iXSwibWFwcGluZ3MiOiJBQUlBLGVBQWUsU0FBU0EsWUFBWUEsQ0FDbENDLFFBQW1CLEVBQ25CQyxVQUFzQixFQUNSO0VBQ2QsT0FBT0QsUUFBUSxDQUFDRSxHQUFHLENBQUNDLE9BQU8sSUFBSTtJQUM3QixNQUFNQyxVQUFVLEdBQUdELE9BQU8sQ0FBQ0UsYUFBYSxDQUFDLENBQUM7SUFDMUMsT0FBTyxDQUFDO01BQUVDLFFBQVE7TUFBRUM7SUFBUyxDQUFDLEtBQUs7TUFDaENOLFVBQVUsQ0FBU0ssUUFBUSxHQUFHQSxRQUFRO01BQ3RDTCxVQUFVLENBQVNNLFFBQVEsR0FBR0EsUUFBUTtNQUN2QztNQUNBLE9BQU9ILFVBQVUsQ0FBQ0gsVUFBNkIsQ0FBQztJQUNsRCxDQUFDO0VBQ0gsQ0FBQyxDQUFDO0FBQ0o7O0FBRUEifQ==
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBseU1hbmFnZXIiLCJtYW5hZ2VycyIsImNvbnRyb2xsZXIiLCJtYXAiLCJtYW5hZ2VyIiwibWlkZGxld2FyZSIsImdldE1pZGRsZXdhcmUiLCJkaXNwYXRjaCIsImdldFN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvYXBwbHlNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIENvbnRyb2xsZXIgZnJvbSAnLi4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB0eXBlIHsgUmVkdWNlciwgRGlzcGF0Y2gsIFJlZHVjZXJTdGF0ZSB9IGZyb20gJy4uL21pZGRsZXdhcmVUeXBlcy5qcyc7XG5pbXBvcnQgeyBNYW5hZ2VyIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhcHBseU1hbmFnZXIoXG4gIG1hbmFnZXJzOiBNYW5hZ2VyW10sXG4gIGNvbnRyb2xsZXI6IENvbnRyb2xsZXIsXG4pOiBNaWRkbGV3YXJlW10ge1xuICByZXR1cm4gbWFuYWdlcnMubWFwKG1hbmFnZXIgPT4ge1xuICAgIGNvbnN0IG1pZGRsZXdhcmUgPSBtYW5hZ2VyLmdldE1pZGRsZXdhcmUoKTtcbiAgICByZXR1cm4gKHsgZGlzcGF0Y2gsIGdldFN0YXRlIH0pID0+IHtcbiAgICAgIChjb250cm9sbGVyIGFzIGFueSkuZGlzcGF0Y2ggPSBkaXNwYXRjaDtcbiAgICAgIChjb250cm9sbGVyIGFzIGFueSkuZ2V0U3RhdGUgPSBnZXRTdGF0ZTtcbiAgICAgIC8vIGNvbnRyb2xsZXIgaXMgYSBzdXBlcnNldCBvZiB0aGUgbWlkZGxld2FyZSBBUElcbiAgICAgIHJldHVybiBtaWRkbGV3YXJlKGNvbnRyb2xsZXIgYXMgQ29udHJvbGxlcjxhbnk+KTtcbiAgICB9O1xuICB9KTtcbn1cblxuLyogVGhlc2Ugc2hvdWxkIGJlIGNvbXBhdGlibGUgd2l0aCByZWR1eCAqL1xuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQVBJPFxuICBSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4gPSBSZWR1Y2VyPGFueSwgYW55Pixcbj4ge1xuICBnZXRTdGF0ZTogKCkgPT4gUmVkdWNlclN0YXRlPFI+O1xuICBkaXNwYXRjaDogRGlzcGF0Y2g8Uj47XG59XG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlID0gPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4oe1xuICBkaXNwYXRjaCxcbn06IE1pZGRsZXdhcmVBUEk8Uj4pID0+IChuZXh0OiBEaXNwYXRjaDxSPikgPT4gRGlzcGF0Y2g8Uj47XG4iXSwibWFwcGluZ3MiOiJBQUlBLGVBQWUsU0FBU0EsWUFBWUEsQ0FDbENDLFFBQW1CLEVBQ25CQyxVQUFzQixFQUNSO0VBQ2QsT0FBT0QsUUFBUSxDQUFDRSxHQUFHLENBQUNDLE9BQU8sSUFBSTtJQUM3QixNQUFNQyxVQUFVLEdBQUdELE9BQU8sQ0FBQ0UsYUFBYSxDQUFDLENBQUM7SUFDMUMsT0FBTyxDQUFDO01BQUVDLFFBQVE7TUFBRUM7SUFBUyxDQUFDLEtBQUs7TUFDaENOLFVBQVUsQ0FBU0ssUUFBUSxHQUFHQSxRQUFRO01BQ3RDTCxVQUFVLENBQVNNLFFBQVEsR0FBR0EsUUFBUTtNQUN2QztNQUNBLE9BQU9ILFVBQVUsQ0FBQ0gsVUFBNkIsQ0FBQztJQUNsRCxDQUFDO0VBQ0gsQ0FBQyxDQUFDO0FBQ0o7O0FBRUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvZGV2dG9vbHNUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEFjdGlvbiA9IGFueTtcbnR5cGUgQWN0aW9uQ3JlYXRvcjxUPiA9IGFueTtcblxuLy8gdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29scy9ibG9iL21haW4vcGFja2FnZXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uL3NyYy9pbmRleC50c1xuXG5leHBvcnQgaW50ZXJmYWNlIEVuaGFuY2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiB0aGUgaW5zdGFuY2UgbmFtZSB0byBiZSBzaG93ZWQgb24gdGhlIG1vbml0b3IgcGFnZS4gRGVmYXVsdCB2YWx1ZSBpcyBgZG9jdW1lbnQudGl0bGVgLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkIGFuZCB0aGVyZSdzIG5vIGRvY3VtZW50IHRpdGxlLCBpdCB3aWxsIGNvbnNpc3Qgb2YgYHRhYklkYCBhbmQgYGluc3RhbmNlSWRgLlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIGFjdGlvbiBjcmVhdG9ycyBmdW5jdGlvbnMgdG8gYmUgYXZhaWxhYmxlIGluIHRoZSBEaXNwYXRjaGVyLlxuICAgKi9cbiAgYWN0aW9uQ3JlYXRvcnM/OiBBY3Rpb25DcmVhdG9yPGFueT5bXSB8IHsgW2tleTogc3RyaW5nXTogQWN0aW9uQ3JlYXRvcjxhbnk+IH07XG4gIC8qKlxuICAgKiBpZiBtb3JlIHRoYW4gb25lIGFjdGlvbiBpcyBkaXNwYXRjaGVkIGluIHRoZSBpbmRpY2F0ZWQgaW50ZXJ2YWwsIGFsbCBuZXcgYWN0aW9ucyB3aWxsIGJlIGNvbGxlY3RlZCBhbmQgc2VudCBhdCBvbmNlLlxuICAgKiBJdCBpcyB0aGUgam9pbnQgYmV0d2VlbiBwZXJmb3JtYW5jZSBhbmQgc3BlZWQuIFdoZW4gc2V0IHRvIGAwYCwgYWxsIGFjdGlvbnMgd2lsbCBiZSBzZW50IGluc3RhbnRseS5cbiAgICogU2V0IGl0IHRvIGEgaGlnaGVyIHZhbHVlIHdoZW4gZXhwZXJpZW5jaW5nIHBlcmYgaXNzdWVzIChhbHNvIGBtYXhBZ2VgIHRvIGEgbG93ZXIgdmFsdWUpLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDAgbXMuXG4gICAqL1xuICBsYXRlbmN5PzogbnVtYmVyO1xuICAvKipcbiAgICogKD4gMSkgLSBtYXhpbXVtIGFsbG93ZWQgYWN0aW9ucyB0byBiZSBzdG9yZWQgaW4gdGhlIGhpc3RvcnkgdHJlZS4gVGhlIG9sZGVzdCBhY3Rpb25zIGFyZSByZW1vdmVkIG9uY2UgbWF4QWdlIGlzIHJlYWNoZWQuIEl0J3MgY3JpdGljYWwgZm9yIHBlcmZvcm1hbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MFxuICAgKi9cbiAgbWF4QWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogQ3VzdG9taXplcyBob3cgYWN0aW9ucyBhbmQgc3RhdGUgYXJlIHNlcmlhbGl6ZWQgYW5kIGRlc2VyaWFsaXplZC4gQ2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3QuIElmIGdpdmVuIGEgYm9vbGVhbiwgdGhlIGJlaGF2aW9yIGlzIHRoZSBzYW1lIGFzIGlmIHlvdVxuICAgKiB3ZXJlIHRvIHBhc3MgYW4gb2JqZWN0IGFuZCBzcGVjaWZ5IGBvcHRpb25zYCBhcyBhIGJvb2xlYW4uIEdpdmluZyBhbiBvYmplY3QgYWxsb3dzIGZpbmUtZ3JhaW5lZCBjdXN0b21pemF0aW9uIHVzaW5nIHRoZSBgcmVwbGFjZXJgIGFuZCBgcmV2aXZlcmBcbiAgICogZnVuY3Rpb25zLlxuICAgKi9cbiAgc2VyaWFsaXplPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIC0gYHVuZGVmaW5lZGAgLSB3aWxsIHVzZSByZWd1bGFyIGBKU09OLnN0cmluZ2lmeWAgdG8gc2VuZCBkYXRhIChpdCdzIHRoZSBmYXN0IG1vZGUpLlxuICAgICAgICAgKiAtIGBmYWxzZWAgLSB3aWxsIGhhbmRsZSBhbHNvIGNpcmN1bGFyIHJlZmVyZW5jZXMuXG4gICAgICAgICAqIC0gYHRydWVgIC0gd2lsbCBoYW5kbGUgYWxzbyBkYXRlLCByZWdleCwgdW5kZWZpbmVkLCBlcnJvciBvYmplY3RzLCBzeW1ib2xzLCBtYXBzLCBzZXRzIGFuZCBmdW5jdGlvbnMuXG4gICAgICAgICAqIC0gb2JqZWN0LCB3aGljaCBjb250YWlucyBgZGF0ZWAsIGByZWdleGAsIGB1bmRlZmluZWRgLCBgZXJyb3JgLCBgc3ltYm9sYCwgYG1hcGAsIGBzZXRgIGFuZCBgZnVuY3Rpb25gIGtleXMuXG4gICAgICAgICAqICAgRm9yIGVhY2ggb2YgdGhlbSB5b3UgY2FuIGluZGljYXRlIGlmIHRvIGluY2x1ZGUgKGJ5IHNldHRpbmcgYXMgYHRydWVgKS5cbiAgICAgICAgICogICBGb3IgYGZ1bmN0aW9uYCBrZXkgeW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gZnVuY3Rpb24gd2hpY2ggaGFuZGxlcyBzZXJpYWxpemF0aW9uLlxuICAgICAgICAgKiAgIFNlZSBbYGpzYW5gXShodHRwczovL2dpdGh1Yi5jb20va29sb2RueS9qc2FuKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICAgKi9cbiAgICAgICAgb3B0aW9ucz86XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IGJvb2xlYW5cbiAgICAgICAgICB8IHtcbiAgICAgICAgICAgICAgZGF0ZT86IHRydWU7XG4gICAgICAgICAgICAgIHJlZ2V4PzogdHJ1ZTtcbiAgICAgICAgICAgICAgdW5kZWZpbmVkPzogdHJ1ZTtcbiAgICAgICAgICAgICAgZXJyb3I/OiB0cnVlO1xuICAgICAgICAgICAgICBzeW1ib2w/OiB0cnVlO1xuICAgICAgICAgICAgICBtYXA/OiB0cnVlO1xuICAgICAgICAgICAgICBzZXQ/OiB0cnVlO1xuICAgICAgICAgICAgICBmdW5jdGlvbj86IHRydWUgfCAoKGZuOiAoLi4uYXJnczogYW55W10pID0+IGFueSkgPT4gc3RyaW5nKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbSlNPTiByZXBsYWNlciBmdW5jdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSlNPTi9zdHJpbmdpZnkjVGhlX3JlcGxhY2VyX3BhcmFtZXRlcikgdXNlZCBmb3IgYm90aCBhY3Rpb25zIGFuZCBzdGF0ZXMgc3RyaW5naWZ5LlxuICAgICAgICAgKiBJbiBhZGRpdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGEgZGF0YSB0eXBlIGJ5IGFkZGluZyBhIFtgX19zZXJpYWxpemVkVHlwZV9fYF0oaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVtb3RlZGV2LXNlcmlhbGl6ZS9ibG9iL21hc3Rlci9oZWxwZXJzL2luZGV4LmpzI0w0KVxuICAgICAgICAgKiBrZXkuIFNvIHlvdSBjYW4gZGVzZXJpYWxpemUgaXQgYmFjayB3aGlsZSBpbXBvcnRpbmcgb3IgcGVyc2lzdGluZyBkYXRhLlxuICAgICAgICAgKiBNb3Jlb3ZlciwgaXQgd2lsbCBhbHNvIFtzaG93IGEgbmljZSBwcmV2aWV3IHNob3dpbmcgdGhlIHByb3ZpZGVkIGN1c3RvbSB0eXBlXShodHRwczovL2Nsb3VkLmdpdGh1YnVzZXJjb250ZW50LmNvbS9hc3NldHMvNzk1Nzg1OS8yMTgxNDMzMC9hMTdkNTU2YS1kNzYxLTExZTYtODVlZi0xNTlkZDEyZjM2YzUucG5nKTpcbiAgICAgICAgICovXG4gICAgICAgIHJlcGxhY2VyPzogKGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT4gYW55O1xuICAgICAgICAvKipcbiAgICAgICAgICogW0pTT04gYHJldml2ZXJgIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9KU09OL3BhcnNlI1VzaW5nX3RoZV9yZXZpdmVyX3BhcmFtZXRlcilcbiAgICAgICAgICogdXNlZCBmb3IgcGFyc2luZyB0aGUgaW1wb3J0ZWQgYWN0aW9ucyBhbmQgc3RhdGVzLiBTZWUgW2ByZW1vdGVkZXYtc2VyaWFsaXplYF0oaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVtb3RlZGV2LXNlcmlhbGl6ZS9ibG9iL21hc3Rlci9pbW11dGFibGUvc2VyaWFsaXplLmpzI0w4LUw0MSlcbiAgICAgICAgICogYXMgYW4gZXhhbXBsZSBvbiBob3cgdG8gc2VyaWFsaXplIHNwZWNpYWwgZGF0YSB0eXBlcyBhbmQgZ2V0IHRoZW0gYmFjay5cbiAgICAgICAgICovXG4gICAgICAgIHJldml2ZXI/OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSA9PiBhbnk7XG4gICAgICB9O1xuICAvKipcbiAgICogZnVuY3Rpb24gd2hpY2ggdGFrZXMgYGFjdGlvbmAgb2JqZWN0IGFuZCBpZCBudW1iZXIgYXMgYXJndW1lbnRzLCBhbmQgc2hvdWxkIHJldHVybiBgYWN0aW9uYCBvYmplY3QgYmFjay5cbiAgICovXG4gIGFjdGlvblNhbml0aXplcj86IDxBIGV4dGVuZHMgQWN0aW9uPihhY3Rpb246IEEsIGlkOiBudW1iZXIpID0+IEE7XG4gIC8qKlxuICAgKiBmdW5jdGlvbiB3aGljaCB0YWtlcyBgc3RhdGVgIG9iamVjdCBhbmQgaW5kZXggYXMgYXJndW1lbnRzLCBhbmQgc2hvdWxkIHJldHVybiBgc3RhdGVgIG9iamVjdCBiYWNrLlxuICAgKi9cbiAgc3RhdGVTYW5pdGl6ZXI/OiA8Uz4oc3RhdGU6IFMsIGluZGV4OiBudW1iZXIpID0+IFM7XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc1doaXRlbGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0JsYWNrbGlzdGAgaXMgaWdub3JlZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFjdGlvbnNEZW55bGlzdCBpbnN0ZWFkLlxuICAgKi9cbiAgYWN0aW9uc0JsYWNrbGlzdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogKnN0cmluZyBvciBhcnJheSBvZiBzdHJpbmdzIGFzIHJlZ2V4KiAtIGFjdGlvbnMgdHlwZXMgdG8gYmUgaGlkZGVuIC8gc2hvd24gaW4gdGhlIG1vbml0b3JzICh3aGlsZSBwYXNzZWQgdG8gdGhlIHJlZHVjZXJzKS5cbiAgICogSWYgYGFjdGlvbnNXaGl0ZWxpc3RgIHNwZWNpZmllZCwgYGFjdGlvbnNCbGFja2xpc3RgIGlzIGlnbm9yZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhY3Rpb25zQWxsb3dsaXN0IGluc3RlYWQuXG4gICAqL1xuICBhY3Rpb25zV2hpdGVsaXN0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc0FsbG93bGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0RlbnlsaXN0YCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYWN0aW9uc0RlbnlsaXN0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc0FsbG93bGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0RlbnlsaXN0YCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYWN0aW9uc0FsbG93bGlzdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogY2FsbGVkIGZvciBldmVyeSBhY3Rpb24gYmVmb3JlIHNlbmRpbmcsIHRha2VzIGBzdGF0ZWAgYW5kIGBhY3Rpb25gIG9iamVjdCwgYW5kIHJldHVybnMgYHRydWVgIGluIGNhc2UgaXQgYWxsb3dzIHNlbmRpbmcgdGhlIGN1cnJlbnQgZGF0YSB0byB0aGUgbW9uaXRvci5cbiAgICogVXNlIGl0IGFzIGEgbW9yZSBhZHZhbmNlZCB2ZXJzaW9uIG9mIGBhY3Rpb25zRGVueWxpc3RgL2BhY3Rpb25zQWxsb3dsaXN0YCBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHJlZGljYXRlPzogPFMsIEEgZXh0ZW5kcyBBY3Rpb24+KHN0YXRlOiBTLCBhY3Rpb246IEEpID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpZiBzcGVjaWZpZWQgYXMgYGZhbHNlYCwgaXQgd2lsbCBub3QgcmVjb3JkIHRoZSBjaGFuZ2VzIHRpbGwgY2xpY2tpbmcgb24gYFN0YXJ0IHJlY29yZGluZ2AgYnV0dG9uLlxuICAgKiBBdmFpbGFibGUgb25seSBmb3IgUmVkdXggZW5oYW5jZXIsIGZvciBvdGhlcnMgdXNlIGBhdXRvUGF1c2VgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBzaG91bGRSZWNvcmRDaGFuZ2VzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGlmIHNwZWNpZmllZCwgd2hlbmV2ZXIgY2xpY2tpbmcgb24gYFBhdXNlIHJlY29yZGluZ2AgYnV0dG9uIGFuZCB0aGVyZSBhcmUgYWN0aW9ucyBpbiB0aGUgaGlzdG9yeSBsb2csIHdpbGwgYWRkIHRoaXMgYWN0aW9uIHR5cGUuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHdpbGwgY29tbWl0IHdoZW4gcGF1c2VkLiBBdmFpbGFibGUgb25seSBmb3IgUmVkdXggZW5oYW5jZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiQEBQQVVTRURcIlwiXG4gICAqL1xuICBwYXVzZUFjdGlvblR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhdXRvIHBhdXNlcyB3aGVuIHRoZSBleHRlbnNpb27igJlzIHdpbmRvdyBpcyBub3Qgb3BlbmVkLCBhbmQgc28gaGFzIHplcm8gaW1wYWN0IG9uIHlvdXIgYXBwIHdoZW4gbm90IGluIHVzZS5cbiAgICogTm90IGF2YWlsYWJsZSBmb3IgUmVkdXggZW5oYW5jZXIgKGFzIGl0IGFscmVhZHkgZG9lcyBpdCBidXQgc3RvcmluZyB0aGUgZGF0YSB0byBiZSBzZW50KS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGF1dG9QYXVzZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpZiBzcGVjaWZpZWQgYXMgYHRydWVgLCBpdCB3aWxsIG5vdCBhbGxvdyBhbnkgbm9uLW1vbml0b3IgYWN0aW9ucyB0byBiZSBkaXNwYXRjaGVkIHRpbGwgY2xpY2tpbmcgb24gYFVubG9jayBjaGFuZ2VzYCBidXR0b24uXG4gICAqIEF2YWlsYWJsZSBvbmx5IGZvciBSZWR1eCBlbmhhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3VsZFN0YXJ0TG9ja2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGlmIHNldCB0byBgZmFsc2VgLCB3aWxsIG5vdCByZWNvbXB1dGUgdGhlIHN0YXRlcyBvbiBob3QgcmVsb2FkaW5nIChvciBvbiByZXBsYWNpbmcgdGhlIHJlZHVjZXJzKS4gQXZhaWxhYmxlIG9ubHkgZm9yIFJlZHV4IGVuaGFuY2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBzaG91bGRIb3RSZWxvYWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogaWYgc3BlY2lmaWVkIGFzIGB0cnVlYCwgd2hlbmV2ZXIgdGhlcmUncyBhbiBleGNlcHRpb24gaW4gcmVkdWNlcnMsIHRoZSBtb25pdG9ycyB3aWxsIHNob3cgdGhlIGVycm9yIG1lc3NhZ2UsIGFuZCBuZXh0IGFjdGlvbnMgd2lsbCBub3QgYmUgZGlzcGF0Y2hlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3VsZENhdGNoRXJyb3JzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlc3RyaWN0IHRoZSBleHRlbnNpb24sIHNwZWNpZnkgdGhlIGZlYXR1cmVzIHlvdSBhbGxvdy5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgYWxsIG9mIHRoZSBmZWF0dXJlcyBhcmUgZW5hYmxlZC4gV2hlbiBzZXQgYXMgYW4gb2JqZWN0LCBvbmx5IHRob3NlIGluY2x1ZGVkIGFzIGB0cnVlYCB3aWxsIGJlIGFsbG93ZWQuXG4gICAqIE5vdGUgdGhhdCBleGNlcHQgYHRydWVgL2BmYWxzZWAsIGBpbXBvcnRgIGFuZCBgZXhwb3J0YCBjYW4gYmUgc2V0IGFzIGBjdXN0b21gICh3aGljaCBpcyBieSBkZWZhdWx0IGZvciBSZWR1eCBlbmhhbmNlciksIG1lYW5pbmcgdGhhdCB0aGUgaW1wb3J0aW5nL2V4cG9ydGluZyBvY2N1cnMgb24gdGhlIGNsaWVudCBzaWRlLlxuICAgKiBPdGhlcndpc2UsIHlvdSdsbCBnZXQvc2V0IHRoZSBkYXRhIHJpZ2h0IGZyb20gdGhlIG1vbml0b3IgcGFydC5cbiAgICovXG4gIGZlYXR1cmVzPzoge1xuICAgIC8qKlxuICAgICAqIHN0YXJ0L3BhdXNlIHJlY29yZGluZyBvZiBkaXNwYXRjaGVkIGFjdGlvbnNcbiAgICAgKi9cbiAgICBwYXVzZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogbG9jay91bmxvY2sgZGlzcGF0Y2hpbmcgYWN0aW9ucyBhbmQgc2lkZSBlZmZlY3RzXG4gICAgICovXG4gICAgbG9jaz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogcGVyc2lzdCBzdGF0ZXMgb24gcGFnZSByZWxvYWRpbmdcbiAgICAgKi9cbiAgICBwZXJzaXN0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW4gfCAnY3VzdG9tJztcbiAgICAvKipcbiAgICAgKiBpbXBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGZyb20gYSBmaWxlXG4gICAgICovXG4gICAgaW1wb3J0PzogYm9vbGVhbiB8ICdjdXN0b20nO1xuICAgIC8qKlxuICAgICAqIGp1bXAgYmFjayBhbmQgZm9ydGggKHRpbWUgdHJhdmVsbGluZylcbiAgICAgKi9cbiAgICBqdW1wPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBza2lwIChjYW5jZWwpIGFjdGlvbnNcbiAgICAgKi9cbiAgICBza2lwPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAqL1xuICAgIHJlb3JkZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGRpc3BhdGNoIGN1c3RvbSBhY3Rpb25zIG9yIGFjdGlvbiBjcmVhdG9yc1xuICAgICAqL1xuICAgIGRpc3BhdGNoPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBnZW5lcmF0ZSB0ZXN0cyBmb3IgdGhlIHNlbGVjdGVkIGFjdGlvbnNcbiAgICAgKi9cbiAgICB0ZXN0PzogYm9vbGVhbjtcbiAgfTtcbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIG9yIGEgc3RhY2t0cmFjZS1yZXR1cm5pbmcgZnVuY3Rpb24gdG8gcmVjb3JkIGNhbGwgc3RhY2sgdHJhY2VzIGZvciBkaXNwYXRjaGVkIGFjdGlvbnMuXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgdHJhY2U/OiBib29sZWFuIHwgKDxBIGV4dGVuZHMgQWN0aW9uPihhY3Rpb246IEEpID0+IHN0cmluZyk7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc3RhY2sgdHJhY2UgZW50cmllcyB0byByZWNvcmQgcGVyIGFjdGlvbi4gRGVmYXVsdHMgdG8gMTAuXG4gICAqL1xuICB0cmFjZUxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldlRvb2xzQ29uZmlnIGV4dGVuZHMgRW5oYW5jZXJPcHRpb25zIHtcbiAgdHlwZT86IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvZGV2dG9vbHNUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEFjdGlvbiA9IGFueTtcbnR5cGUgQWN0aW9uQ3JlYXRvcjxUPiA9IGFueTtcblxuLy8gdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZWR1eC1kZXZ0b29scy9ibG9iL21haW4vcGFja2FnZXMvcmVkdXgtZGV2dG9vbHMtZXh0ZW5zaW9uL3NyYy9pbmRleC50c1xuXG5leHBvcnQgaW50ZXJmYWNlIEVuaGFuY2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiB0aGUgaW5zdGFuY2UgbmFtZSB0byBiZSBzaG93ZWQgb24gdGhlIG1vbml0b3IgcGFnZS4gRGVmYXVsdCB2YWx1ZSBpcyBgZG9jdW1lbnQudGl0bGVgLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkIGFuZCB0aGVyZSdzIG5vIGRvY3VtZW50IHRpdGxlLCBpdCB3aWxsIGNvbnNpc3Qgb2YgYHRhYklkYCBhbmQgYGluc3RhbmNlSWRgLlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIGFjdGlvbiBjcmVhdG9ycyBmdW5jdGlvbnMgdG8gYmUgYXZhaWxhYmxlIGluIHRoZSBEaXNwYXRjaGVyLlxuICAgKi9cbiAgYWN0aW9uQ3JlYXRvcnM/OiBBY3Rpb25DcmVhdG9yPGFueT5bXSB8IHsgW2tleTogc3RyaW5nXTogQWN0aW9uQ3JlYXRvcjxhbnk+IH07XG4gIC8qKlxuICAgKiBpZiBtb3JlIHRoYW4gb25lIGFjdGlvbiBpcyBkaXNwYXRjaGVkIGluIHRoZSBpbmRpY2F0ZWQgaW50ZXJ2YWwsIGFsbCBuZXcgYWN0aW9ucyB3aWxsIGJlIGNvbGxlY3RlZCBhbmQgc2VudCBhdCBvbmNlLlxuICAgKiBJdCBpcyB0aGUgam9pbnQgYmV0d2VlbiBwZXJmb3JtYW5jZSBhbmQgc3BlZWQuIFdoZW4gc2V0IHRvIGAwYCwgYWxsIGFjdGlvbnMgd2lsbCBiZSBzZW50IGluc3RhbnRseS5cbiAgICogU2V0IGl0IHRvIGEgaGlnaGVyIHZhbHVlIHdoZW4gZXhwZXJpZW5jaW5nIHBlcmYgaXNzdWVzIChhbHNvIGBtYXhBZ2VgIHRvIGEgbG93ZXIgdmFsdWUpLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDAgbXMuXG4gICAqL1xuICBsYXRlbmN5PzogbnVtYmVyO1xuICAvKipcbiAgICogKD4gMSkgLSBtYXhpbXVtIGFsbG93ZWQgYWN0aW9ucyB0byBiZSBzdG9yZWQgaW4gdGhlIGhpc3RvcnkgdHJlZS4gVGhlIG9sZGVzdCBhY3Rpb25zIGFyZSByZW1vdmVkIG9uY2UgbWF4QWdlIGlzIHJlYWNoZWQuIEl0J3MgY3JpdGljYWwgZm9yIHBlcmZvcm1hbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MFxuICAgKi9cbiAgbWF4QWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogQ3VzdG9taXplcyBob3cgYWN0aW9ucyBhbmQgc3RhdGUgYXJlIHNlcmlhbGl6ZWQgYW5kIGRlc2VyaWFsaXplZC4gQ2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3QuIElmIGdpdmVuIGEgYm9vbGVhbiwgdGhlIGJlaGF2aW9yIGlzIHRoZSBzYW1lIGFzIGlmIHlvdVxuICAgKiB3ZXJlIHRvIHBhc3MgYW4gb2JqZWN0IGFuZCBzcGVjaWZ5IGBvcHRpb25zYCBhcyBhIGJvb2xlYW4uIEdpdmluZyBhbiBvYmplY3QgYWxsb3dzIGZpbmUtZ3JhaW5lZCBjdXN0b21pemF0aW9uIHVzaW5nIHRoZSBgcmVwbGFjZXJgIGFuZCBgcmV2aXZlcmBcbiAgICogZnVuY3Rpb25zLlxuICAgKi9cbiAgc2VyaWFsaXplPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIC0gYHVuZGVmaW5lZGAgLSB3aWxsIHVzZSByZWd1bGFyIGBKU09OLnN0cmluZ2lmeWAgdG8gc2VuZCBkYXRhIChpdCdzIHRoZSBmYXN0IG1vZGUpLlxuICAgICAgICAgKiAtIGBmYWxzZWAgLSB3aWxsIGhhbmRsZSBhbHNvIGNpcmN1bGFyIHJlZmVyZW5jZXMuXG4gICAgICAgICAqIC0gYHRydWVgIC0gd2lsbCBoYW5kbGUgYWxzbyBkYXRlLCByZWdleCwgdW5kZWZpbmVkLCBlcnJvciBvYmplY3RzLCBzeW1ib2xzLCBtYXBzLCBzZXRzIGFuZCBmdW5jdGlvbnMuXG4gICAgICAgICAqIC0gb2JqZWN0LCB3aGljaCBjb250YWlucyBgZGF0ZWAsIGByZWdleGAsIGB1bmRlZmluZWRgLCBgZXJyb3JgLCBgc3ltYm9sYCwgYG1hcGAsIGBzZXRgIGFuZCBgZnVuY3Rpb25gIGtleXMuXG4gICAgICAgICAqICAgRm9yIGVhY2ggb2YgdGhlbSB5b3UgY2FuIGluZGljYXRlIGlmIHRvIGluY2x1ZGUgKGJ5IHNldHRpbmcgYXMgYHRydWVgKS5cbiAgICAgICAgICogICBGb3IgYGZ1bmN0aW9uYCBrZXkgeW91IGNhbiBhbHNvIHNwZWNpZnkgYSBjdXN0b20gZnVuY3Rpb24gd2hpY2ggaGFuZGxlcyBzZXJpYWxpemF0aW9uLlxuICAgICAgICAgKiAgIFNlZSBbYGpzYW5gXShodHRwczovL2dpdGh1Yi5jb20va29sb2RueS9qc2FuKSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICAgKi9cbiAgICAgICAgb3B0aW9ucz86XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IGJvb2xlYW5cbiAgICAgICAgICB8IHtcbiAgICAgICAgICAgICAgZGF0ZT86IHRydWU7XG4gICAgICAgICAgICAgIHJlZ2V4PzogdHJ1ZTtcbiAgICAgICAgICAgICAgdW5kZWZpbmVkPzogdHJ1ZTtcbiAgICAgICAgICAgICAgZXJyb3I/OiB0cnVlO1xuICAgICAgICAgICAgICBzeW1ib2w/OiB0cnVlO1xuICAgICAgICAgICAgICBtYXA/OiB0cnVlO1xuICAgICAgICAgICAgICBzZXQ/OiB0cnVlO1xuICAgICAgICAgICAgICBmdW5jdGlvbj86IHRydWUgfCAoKGZuOiAoLi4uYXJnczogYW55W10pID0+IGFueSkgPT4gc3RyaW5nKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbSlNPTiByZXBsYWNlciBmdW5jdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSlNPTi9zdHJpbmdpZnkjVGhlX3JlcGxhY2VyX3BhcmFtZXRlcikgdXNlZCBmb3IgYm90aCBhY3Rpb25zIGFuZCBzdGF0ZXMgc3RyaW5naWZ5LlxuICAgICAgICAgKiBJbiBhZGRpdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGEgZGF0YSB0eXBlIGJ5IGFkZGluZyBhIFtgX19zZXJpYWxpemVkVHlwZV9fYF0oaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVtb3RlZGV2LXNlcmlhbGl6ZS9ibG9iL21hc3Rlci9oZWxwZXJzL2luZGV4LmpzI0w0KVxuICAgICAgICAgKiBrZXkuIFNvIHlvdSBjYW4gZGVzZXJpYWxpemUgaXQgYmFjayB3aGlsZSBpbXBvcnRpbmcgb3IgcGVyc2lzdGluZyBkYXRhLlxuICAgICAgICAgKiBNb3Jlb3ZlciwgaXQgd2lsbCBhbHNvIFtzaG93IGEgbmljZSBwcmV2aWV3IHNob3dpbmcgdGhlIHByb3ZpZGVkIGN1c3RvbSB0eXBlXShodHRwczovL2Nsb3VkLmdpdGh1YnVzZXJjb250ZW50LmNvbS9hc3NldHMvNzk1Nzg1OS8yMTgxNDMzMC9hMTdkNTU2YS1kNzYxLTExZTYtODVlZi0xNTlkZDEyZjM2YzUucG5nKTpcbiAgICAgICAgICovXG4gICAgICAgIHJlcGxhY2VyPzogKGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bikgPT4gYW55O1xuICAgICAgICAvKipcbiAgICAgICAgICogW0pTT04gYHJldml2ZXJgIGZ1bmN0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9KU09OL3BhcnNlI1VzaW5nX3RoZV9yZXZpdmVyX3BhcmFtZXRlcilcbiAgICAgICAgICogdXNlZCBmb3IgcGFyc2luZyB0aGUgaW1wb3J0ZWQgYWN0aW9ucyBhbmQgc3RhdGVzLiBTZWUgW2ByZW1vdGVkZXYtc2VyaWFsaXplYF0oaHR0cHM6Ly9naXRodWIuY29tL3phbG1veGlzdXMvcmVtb3RlZGV2LXNlcmlhbGl6ZS9ibG9iL21hc3Rlci9pbW11dGFibGUvc2VyaWFsaXplLmpzI0w4LUw0MSlcbiAgICAgICAgICogYXMgYW4gZXhhbXBsZSBvbiBob3cgdG8gc2VyaWFsaXplIHNwZWNpYWwgZGF0YSB0eXBlcyBhbmQgZ2V0IHRoZW0gYmFjay5cbiAgICAgICAgICovXG4gICAgICAgIHJldml2ZXI/OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSA9PiBhbnk7XG4gICAgICB9O1xuICAvKipcbiAgICogZnVuY3Rpb24gd2hpY2ggdGFrZXMgYGFjdGlvbmAgb2JqZWN0IGFuZCBpZCBudW1iZXIgYXMgYXJndW1lbnRzLCBhbmQgc2hvdWxkIHJldHVybiBgYWN0aW9uYCBvYmplY3QgYmFjay5cbiAgICovXG4gIGFjdGlvblNhbml0aXplcj86IDxBIGV4dGVuZHMgQWN0aW9uPihhY3Rpb246IEEsIGlkOiBudW1iZXIpID0+IEE7XG4gIC8qKlxuICAgKiBmdW5jdGlvbiB3aGljaCB0YWtlcyBgc3RhdGVgIG9iamVjdCBhbmQgaW5kZXggYXMgYXJndW1lbnRzLCBhbmQgc2hvdWxkIHJldHVybiBgc3RhdGVgIG9iamVjdCBiYWNrLlxuICAgKi9cbiAgc3RhdGVTYW5pdGl6ZXI/OiA8Uz4oc3RhdGU6IFMsIGluZGV4OiBudW1iZXIpID0+IFM7XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc1doaXRlbGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0JsYWNrbGlzdGAgaXMgaWdub3JlZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGFjdGlvbnNEZW55bGlzdCBpbnN0ZWFkLlxuICAgKi9cbiAgYWN0aW9uc0JsYWNrbGlzdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogKnN0cmluZyBvciBhcnJheSBvZiBzdHJpbmdzIGFzIHJlZ2V4KiAtIGFjdGlvbnMgdHlwZXMgdG8gYmUgaGlkZGVuIC8gc2hvd24gaW4gdGhlIG1vbml0b3JzICh3aGlsZSBwYXNzZWQgdG8gdGhlIHJlZHVjZXJzKS5cbiAgICogSWYgYGFjdGlvbnNXaGl0ZWxpc3RgIHNwZWNpZmllZCwgYGFjdGlvbnNCbGFja2xpc3RgIGlzIGlnbm9yZWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBhY3Rpb25zQWxsb3dsaXN0IGluc3RlYWQuXG4gICAqL1xuICBhY3Rpb25zV2hpdGVsaXN0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc0FsbG93bGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0RlbnlsaXN0YCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYWN0aW9uc0RlbnlsaXN0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiAqc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXgqIC0gYWN0aW9ucyB0eXBlcyB0byBiZSBoaWRkZW4gLyBzaG93biBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBgYWN0aW9uc0FsbG93bGlzdGAgc3BlY2lmaWVkLCBgYWN0aW9uc0RlbnlsaXN0YCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYWN0aW9uc0FsbG93bGlzdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogY2FsbGVkIGZvciBldmVyeSBhY3Rpb24gYmVmb3JlIHNlbmRpbmcsIHRha2VzIGBzdGF0ZWAgYW5kIGBhY3Rpb25gIG9iamVjdCwgYW5kIHJldHVybnMgYHRydWVgIGluIGNhc2UgaXQgYWxsb3dzIHNlbmRpbmcgdGhlIGN1cnJlbnQgZGF0YSB0byB0aGUgbW9uaXRvci5cbiAgICogVXNlIGl0IGFzIGEgbW9yZSBhZHZhbmNlZCB2ZXJzaW9uIG9mIGBhY3Rpb25zRGVueWxpc3RgL2BhY3Rpb25zQWxsb3dsaXN0YCBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHJlZGljYXRlPzogPFMsIEEgZXh0ZW5kcyBBY3Rpb24+KHN0YXRlOiBTLCBhY3Rpb246IEEpID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpZiBzcGVjaWZpZWQgYXMgYGZhbHNlYCwgaXQgd2lsbCBub3QgcmVjb3JkIHRoZSBjaGFuZ2VzIHRpbGwgY2xpY2tpbmcgb24gYFN0YXJ0IHJlY29yZGluZ2AgYnV0dG9uLlxuICAgKiBBdmFpbGFibGUgb25seSBmb3IgUmVkdXggZW5oYW5jZXIsIGZvciBvdGhlcnMgdXNlIGBhdXRvUGF1c2VgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBzaG91bGRSZWNvcmRDaGFuZ2VzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGlmIHNwZWNpZmllZCwgd2hlbmV2ZXIgY2xpY2tpbmcgb24gYFBhdXNlIHJlY29yZGluZ2AgYnV0dG9uIGFuZCB0aGVyZSBhcmUgYWN0aW9ucyBpbiB0aGUgaGlzdG9yeSBsb2csIHdpbGwgYWRkIHRoaXMgYWN0aW9uIHR5cGUuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHdpbGwgY29tbWl0IHdoZW4gcGF1c2VkLiBBdmFpbGFibGUgb25seSBmb3IgUmVkdXggZW5oYW5jZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiQEBQQVVTRURcIlwiXG4gICAqL1xuICBwYXVzZUFjdGlvblR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhdXRvIHBhdXNlcyB3aGVuIHRoZSBleHRlbnNpb27igJlzIHdpbmRvdyBpcyBub3Qgb3BlbmVkLCBhbmQgc28gaGFzIHplcm8gaW1wYWN0IG9uIHlvdXIgYXBwIHdoZW4gbm90IGluIHVzZS5cbiAgICogTm90IGF2YWlsYWJsZSBmb3IgUmVkdXggZW5oYW5jZXIgKGFzIGl0IGFscmVhZHkgZG9lcyBpdCBidXQgc3RvcmluZyB0aGUgZGF0YSB0byBiZSBzZW50KS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGF1dG9QYXVzZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBpZiBzcGVjaWZpZWQgYXMgYHRydWVgLCBpdCB3aWxsIG5vdCBhbGxvdyBhbnkgbm9uLW1vbml0b3IgYWN0aW9ucyB0byBiZSBkaXNwYXRjaGVkIHRpbGwgY2xpY2tpbmcgb24gYFVubG9jayBjaGFuZ2VzYCBidXR0b24uXG4gICAqIEF2YWlsYWJsZSBvbmx5IGZvciBSZWR1eCBlbmhhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3VsZFN0YXJ0TG9ja2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGlmIHNldCB0byBgZmFsc2VgLCB3aWxsIG5vdCByZWNvbXB1dGUgdGhlIHN0YXRlcyBvbiBob3QgcmVsb2FkaW5nIChvciBvbiByZXBsYWNpbmcgdGhlIHJlZHVjZXJzKS4gQXZhaWxhYmxlIG9ubHkgZm9yIFJlZHV4IGVuaGFuY2VyLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBzaG91bGRIb3RSZWxvYWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogaWYgc3BlY2lmaWVkIGFzIGB0cnVlYCwgd2hlbmV2ZXIgdGhlcmUncyBhbiBleGNlcHRpb24gaW4gcmVkdWNlcnMsIHRoZSBtb25pdG9ycyB3aWxsIHNob3cgdGhlIGVycm9yIG1lc3NhZ2UsIGFuZCBuZXh0IGFjdGlvbnMgd2lsbCBub3QgYmUgZGlzcGF0Y2hlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3VsZENhdGNoRXJyb3JzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlc3RyaWN0IHRoZSBleHRlbnNpb24sIHNwZWNpZnkgdGhlIGZlYXR1cmVzIHlvdSBhbGxvdy5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgYWxsIG9mIHRoZSBmZWF0dXJlcyBhcmUgZW5hYmxlZC4gV2hlbiBzZXQgYXMgYW4gb2JqZWN0LCBvbmx5IHRob3NlIGluY2x1ZGVkIGFzIGB0cnVlYCB3aWxsIGJlIGFsbG93ZWQuXG4gICAqIE5vdGUgdGhhdCBleGNlcHQgYHRydWVgL2BmYWxzZWAsIGBpbXBvcnRgIGFuZCBgZXhwb3J0YCBjYW4gYmUgc2V0IGFzIGBjdXN0b21gICh3aGljaCBpcyBieSBkZWZhdWx0IGZvciBSZWR1eCBlbmhhbmNlciksIG1lYW5pbmcgdGhhdCB0aGUgaW1wb3J0aW5nL2V4cG9ydGluZyBvY2N1cnMgb24gdGhlIGNsaWVudCBzaWRlLlxuICAgKiBPdGhlcndpc2UsIHlvdSdsbCBnZXQvc2V0IHRoZSBkYXRhIHJpZ2h0IGZyb20gdGhlIG1vbml0b3IgcGFydC5cbiAgICovXG4gIGZlYXR1cmVzPzoge1xuICAgIC8qKlxuICAgICAqIHN0YXJ0L3BhdXNlIHJlY29yZGluZyBvZiBkaXNwYXRjaGVkIGFjdGlvbnNcbiAgICAgKi9cbiAgICBwYXVzZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogbG9jay91bmxvY2sgZGlzcGF0Y2hpbmcgYWN0aW9ucyBhbmQgc2lkZSBlZmZlY3RzXG4gICAgICovXG4gICAgbG9jaz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogcGVyc2lzdCBzdGF0ZXMgb24gcGFnZSByZWxvYWRpbmdcbiAgICAgKi9cbiAgICBwZXJzaXN0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBleHBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGluIGEgZmlsZVxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW4gfCAnY3VzdG9tJztcbiAgICAvKipcbiAgICAgKiBpbXBvcnQgaGlzdG9yeSBvZiBhY3Rpb25zIGZyb20gYSBmaWxlXG4gICAgICovXG4gICAgaW1wb3J0PzogYm9vbGVhbiB8ICdjdXN0b20nO1xuICAgIC8qKlxuICAgICAqIGp1bXAgYmFjayBhbmQgZm9ydGggKHRpbWUgdHJhdmVsbGluZylcbiAgICAgKi9cbiAgICBqdW1wPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBza2lwIChjYW5jZWwpIGFjdGlvbnNcbiAgICAgKi9cbiAgICBza2lwPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBkcmFnIGFuZCBkcm9wIGFjdGlvbnMgaW4gdGhlIGhpc3RvcnkgbGlzdFxuICAgICAqL1xuICAgIHJlb3JkZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGRpc3BhdGNoIGN1c3RvbSBhY3Rpb25zIG9yIGFjdGlvbiBjcmVhdG9yc1xuICAgICAqL1xuICAgIGRpc3BhdGNoPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBnZW5lcmF0ZSB0ZXN0cyBmb3IgdGhlIHNlbGVjdGVkIGFjdGlvbnNcbiAgICAgKi9cbiAgICB0ZXN0PzogYm9vbGVhbjtcbiAgfTtcbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIG9yIGEgc3RhY2t0cmFjZS1yZXR1cm5pbmcgZnVuY3Rpb24gdG8gcmVjb3JkIGNhbGwgc3RhY2sgdHJhY2VzIGZvciBkaXNwYXRjaGVkIGFjdGlvbnMuXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKi9cbiAgdHJhY2U/OiBib29sZWFuIHwgKDxBIGV4dGVuZHMgQWN0aW9uPihhY3Rpb246IEEpID0+IHN0cmluZyk7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc3RhY2sgdHJhY2UgZW50cmllcyB0byByZWNvcmQgcGVyIGFjdGlvbi4gRGVmYXVsdHMgdG8gMTAuXG4gICAqL1xuICB0cmFjZUxpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldlRvb2xzQ29uZmlnIGV4dGVuZHMgRW5oYW5jZXJPcHRpb25zIHtcbiAgdHlwZT86IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -3,4 +3,4 @@ export { default as PollingSubscription } from './PollingSubscription.js';
3
3
  export { default as SubscriptionManager } from './SubscriptionManager.js';
4
4
  export { default as DevToolsManager } from './DevtoolsManager.js';
5
5
  export { default as LogoutManager } from './LogoutManager.js';
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciIsIlBvbGxpbmdTdWJzY3JpcHRpb24iLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiRGV2VG9vbHNNYW5hZ2VyIiwiTG9nb3V0TWFuYWdlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBDb25uZWN0aW9uTGlzdGVuZXIgfSBmcm9tICcuL0Nvbm5lY3Rpb25MaXN0ZW5lci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgfSBmcm9tICcuL0RlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQb2xsaW5nU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9Qb2xsaW5nU3Vic2NyaXB0aW9uLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3Vic2NyaXB0aW9uTWFuYWdlciB9IGZyb20gJy4vU3Vic2NyaXB0aW9uTWFuYWdlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERldlRvb2xzTWFuYWdlciB9IGZyb20gJy4vRGV2dG9vbHNNYW5hZ2VyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTG9nb3V0TWFuYWdlciB9IGZyb20gJy4vTG9nb3V0TWFuYWdlci5qcyc7XG5leHBvcnQgdHlwZSB7IERldlRvb2xzQ29uZmlnIH0gZnJvbSAnLi9EZXZ0b29sc01hbmFnZXIuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxPQUFPLElBQUlDLHlCQUF5QixRQUFRLGdDQUFnQztBQUNyRixTQUFTRCxPQUFPLElBQUlFLG1CQUFtQixRQUFRLDBCQUEwQjtBQUN6RSxTQUFTRixPQUFPLElBQUlHLG1CQUFtQixRQUFRLDBCQUEwQjtBQUN6RSxTQUFTSCxPQUFPLElBQUlJLGVBQWUsUUFBUSxzQkFBc0I7QUFDakUsU0FBU0osT0FBTyxJQUFJSyxhQUFhLFFBQVEsb0JBQW9CIn0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciIsIlBvbGxpbmdTdWJzY3JpcHRpb24iLCJTdWJzY3JpcHRpb25NYW5hZ2VyIiwiRGV2VG9vbHNNYW5hZ2VyIiwiTG9nb3V0TWFuYWdlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBDb25uZWN0aW9uTGlzdGVuZXIgfSBmcm9tICcuL0Nvbm5lY3Rpb25MaXN0ZW5lci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIgfSBmcm9tICcuL0RlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQb2xsaW5nU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9Qb2xsaW5nU3Vic2NyaXB0aW9uLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3Vic2NyaXB0aW9uTWFuYWdlciB9IGZyb20gJy4vU3Vic2NyaXB0aW9uTWFuYWdlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIERldlRvb2xzTWFuYWdlciB9IGZyb20gJy4vRGV2dG9vbHNNYW5hZ2VyLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTG9nb3V0TWFuYWdlciB9IGZyb20gJy4vTG9nb3V0TWFuYWdlci5qcyc7XG5leHBvcnQgdHlwZSB7IERldlRvb2xzQ29uZmlnIH0gZnJvbSAnLi9EZXZ0b29sc01hbmFnZXIuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxPQUFPLElBQUlDLHlCQUF5QixRQUFRLGdDQUFnQztBQUNyRixTQUFTRCxPQUFPLElBQUlFLG1CQUFtQixRQUFRLDBCQUEwQjtBQUN6RSxTQUFTRixPQUFPLElBQUlHLG1CQUFtQixRQUFRLDBCQUEwQjtBQUN6RSxTQUFTSCxPQUFPLElBQUlJLGVBQWUsUUFBUSxzQkFBc0I7QUFDakUsU0FBU0osT0FBTyxJQUFJSyxhQUFhLFFBQVEsb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"middlewareTypes.d.ts","sourceRoot":"","sources":["../src/middlewareTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,UAAU,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAC5E,SAAQ,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;CAAG;AAChD,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,WAAW,CACzD,SAAQ,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAAG;AAE5C,MAAM,MAAM,UAAU,CAAC,OAAO,GAAG,GAAG,IAAI,CACtC,CAAC,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAEvC,UAAU,EAAE,CAAC,KACV,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,EAAE,WAAW,KAChB,KAAK,CAAC,OAAO,CAAC,CAAC;AAGpB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAClD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CACvE,MAAM,CAAC,EACP,GAAG,CACJ,GACG,CAAC,GACD,KAAK,CAAC;AACV,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CACxE,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"middlewareTypes.d.ts","sourceRoot":"","sources":["../src/middlewareTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,UAAU,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAC5E,SAAQ,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;CAAG;AAChD,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,WAAW,CACzD,SAAQ,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAAG;AAE5C,MAAM,MAAM,UAAU,CAAC,OAAO,GAAG,GAAG,IAAI,CACtC,CAAC,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAEvC,UAAU,EAAE,CAAC,KACV,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EACzB,MAAM,EAAE,WAAW,KAChB,KAAK,CAAC,OAAO,CAAC,CAAC;AAGpB,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAClD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAClD,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC9C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IACnD,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IEFjdGlvblR5cGVzLCBTdGF0ZSB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIFJIRGlzcGF0Y2g8QWN0aW9ucyA9IGFueT4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSTxSIGV4dGVuZHMgRGF0YUNsaWVudFJlZHVjZXIgPSBEYXRhQ2xpZW50UmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zID0gQWN0aW9uVHlwZXM+XG4gIGV4dGVuZHMgQ29udHJvbGxlcjxSSERpc3BhdGNoPEFjdGlvbnM+PiB7fVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBDIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgRGF0YUNsaWVudFJlZHVjZXIgPSAoXG4gIHByZXZTdGF0ZTogU3RhdGU8dW5rbm93bj4sXG4gIGFjdGlvbjogQWN0aW9uVHlwZXMsXG4pID0+IFN0YXRlPHVua25vd24+O1xuXG4vKiBUaGUgbmV4dCBhcmUgdHlwZXMgZnJvbSBSZWFjdDsgYnV0IHdlIGRvbid0IHdhbnQgZGVwZW5kZW5jaWVzIG9uIGl0ICovXG5leHBvcnQgdHlwZSBEaXNwYXRjaDxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gKFxuICBhY3Rpb246IFJlZHVjZXJBY3Rpb248Uj4sXG4pID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCB0eXBlIFJlZHVjZXI8UywgQT4gPSAocHJldlN0YXRlOiBTLCBhY3Rpb246IEEpID0+IFM7XG5leHBvcnQgdHlwZSBSZWR1Y2VyU3RhdGU8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9IFIgZXh0ZW5kcyBSZWR1Y2VyPFxuICBpbmZlciBTLFxuICBhbnlcbj5cbiAgPyBTXG4gIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBSZWR1Y2VyQWN0aW9uPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPSBSIGV4dGVuZHMgUmVkdWNlcjxcbiAgYW55LFxuICBpbmZlciBBXG4+XG4gID8gQVxuICA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiIn0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL21pZGRsZXdhcmVUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4vY29udHJvbGxlci9Db250cm9sbGVyLmpzJztcbmltcG9ydCB7IEFjdGlvblR5cGVzLCBTdGF0ZSB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIFJIRGlzcGF0Y2g8QWN0aW9ucyA9IGFueT4gPSAodmFsdWU6IEFjdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlkZGxld2FyZUFQSTxSIGV4dGVuZHMgRGF0YUNsaWVudFJlZHVjZXIgPSBEYXRhQ2xpZW50UmVkdWNlcj5cbiAgZXh0ZW5kcyBDb250cm9sbGVyPFJIRGlzcGF0Y2g8QWN0aW9uVHlwZXM+PiB7fVxuZXhwb3J0IGludGVyZmFjZSBNaWRkbGV3YXJlQ29udHJvbGxlcjxBY3Rpb25zID0gQWN0aW9uVHlwZXM+XG4gIGV4dGVuZHMgQ29udHJvbGxlcjxSSERpc3BhdGNoPEFjdGlvbnM+PiB7fVxuXG5leHBvcnQgdHlwZSBNaWRkbGV3YXJlPEFjdGlvbnMgPSBhbnk+ID0gPFxuICBDIGV4dGVuZHMgTWlkZGxld2FyZUNvbnRyb2xsZXI8QWN0aW9ucz4sXG4+KFxuICBjb250cm9sbGVyOiBDLFxuKSA9PiAobmV4dDogQ1snZGlzcGF0Y2gnXSkgPT4gQ1snZGlzcGF0Y2gnXTtcblxuZXhwb3J0IHR5cGUgRGF0YUNsaWVudFJlZHVjZXIgPSAoXG4gIHByZXZTdGF0ZTogU3RhdGU8dW5rbm93bj4sXG4gIGFjdGlvbjogQWN0aW9uVHlwZXMsXG4pID0+IFN0YXRlPHVua25vd24+O1xuXG4vKiBUaGUgbmV4dCBhcmUgdHlwZXMgZnJvbSBSZWFjdDsgYnV0IHdlIGRvbid0IHdhbnQgZGVwZW5kZW5jaWVzIG9uIGl0ICovXG5leHBvcnQgdHlwZSBEaXNwYXRjaDxSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGFueT4+ID0gKFxuICBhY3Rpb246IFJlZHVjZXJBY3Rpb248Uj4sXG4pID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCB0eXBlIFJlZHVjZXI8UywgQT4gPSAocHJldlN0YXRlOiBTLCBhY3Rpb246IEEpID0+IFM7XG5leHBvcnQgdHlwZSBSZWR1Y2VyU3RhdGU8UiBleHRlbmRzIFJlZHVjZXI8YW55LCBhbnk+PiA9XG4gIFIgZXh0ZW5kcyBSZWR1Y2VyPGluZmVyIFMsIGFueT4gPyBTIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBSZWR1Y2VyQWN0aW9uPFIgZXh0ZW5kcyBSZWR1Y2VyPGFueSwgYW55Pj4gPVxuICBSIGV4dGVuZHMgUmVkdWNlcjxhbnksIGluZmVyIEE+ID8gQSA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
package/lib/next/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIl0sIm1hcHBpbmdzIjoiIn0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"RIC.d.ts","sourceRoot":"","sources":["../../src/state/RIC.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,IAInD,CAAC;AACT,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"RIC.d.ts","sourceRoot":"","sources":["../../src/state/RIC.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,IAGhD,CAAC;AACZ,eAAe,GAAG,CAAC"}
package/lib/state/RIC.js CHANGED
@@ -1,3 +1,3 @@
1
1
  const RIC = typeof requestIdleCallback === 'function' ? requestIdleCallback : cb => setTimeout(cb, 0);
2
2
  export default RIC;
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSSUMiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2IiLCJzZXRUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlL1JJQy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSSUM6IChjYjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkLCBvcHRpb25zOiBhbnkpID0+IHZvaWQgPSAoXG4gIHR5cGVvZiByZXF1ZXN0SWRsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nXG4gICAgPyByZXF1ZXN0SWRsZUNhbGxiYWNrXG4gICAgOiAoY2I6IGFueSkgPT4gc2V0VGltZW91dChjYiwgMClcbikgYXMgYW55O1xuZXhwb3J0IGRlZmF1bHQgUklDO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxHQUF5RCxHQUM3RCxPQUFPQyxtQkFBbUIsS0FBSyxVQUFVLEdBQ3JDQSxtQkFBbUIsR0FDbEJDLEVBQU8sSUFBS0MsVUFBVSxDQUFDRCxFQUFFLEVBQUUsQ0FBQyxDQUMzQjtBQUNSLGVBQWVGLEdBQUcifQ==
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSSUMiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2IiLCJzZXRUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlL1JJQy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBSSUM6IChjYjogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkLCBvcHRpb25zOiBhbnkpID0+IHZvaWQgPSAoXG4gIHR5cGVvZiByZXF1ZXN0SWRsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nID8gcmVxdWVzdElkbGVDYWxsYmFjayA6IChcbiAgICAoY2I6IGFueSkgPT4gc2V0VGltZW91dChjYiwgMClcbiAgKSkgYXMgYW55O1xuZXhwb3J0IGRlZmF1bHQgUklDO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxHQUF5RCxHQUM3RCxPQUFPQyxtQkFBbUIsS0FBSyxVQUFVLEdBQUdBLG1CQUFtQixHQUM1REMsRUFBTyxJQUFLQyxVQUFVLENBQUNELEVBQUUsRUFBRSxDQUFDLENBQ3RCO0FBQ1gsZUFBZUYsR0FBRyIsImlnbm9yZUxpc3QiOltdfQ==