studiokit-scaffolding-js 7.2.0-next.2.6 → 7.2.0-next.2.7

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.
@@ -65,7 +65,7 @@ function* getTokenFromCode(code) {
65
65
  yield (0, _effects.put)({
66
66
  type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
67
67
  modelName: getTokenModelName,
68
- body: formBody,
68
+ body: formBody.toString(),
69
69
  noStore: true
70
70
  });
71
71
  const {
@@ -113,7 +113,7 @@ function* getTokenFromCodeAndState(code, state) {
113
113
  yield (0, _effects.put)({
114
114
  type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
115
115
  modelName: getTokenModelName,
116
- body: formBody,
116
+ body: formBody.toString(),
117
117
  noStore: true
118
118
  });
119
119
  const {
@@ -146,7 +146,7 @@ function* getTokenFromRefreshToken(oauthTokenParam) {
146
146
  yield (0, _effects.put)({
147
147
  type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
148
148
  modelName: getTokenModelName,
149
- body: formBody,
149
+ body: formBody.toString(),
150
150
  noStore: true
151
151
  });
152
152
  const {
@@ -411,4 +411,4 @@ function authSaga() {
411
411
  } while (true);
412
412
  }();
413
413
  }
414
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWZmZWN0cyIsInJlcXVpcmUiLCJfdXVpZCIsIl9jb25zdGFudHMiLCJfY29kZVByb3ZpZGVyU2VydmljZSIsIl9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSIsIl90aWNrZXRQcm92aWRlclNlcnZpY2UiLCJfd2luZG93U2VydmljZSIsIl90eXBlcyIsIl9sb2dnZXIiLCJfdXJsIiwiX2FjdGlvbnMiLCJtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiYWN0aW9uIiwibW9kZWxOYW1lIiwiaXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uIiwibW9kZWxQYXRoIiwiZXhwb3J0cyIsInRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiaW5jb21pbmdBY3Rpb24iLCJtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCIsImlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uIiwidGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkIiwib2F1dGhUb2tlbiIsIm9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwicmVmcmVzaExvY2siLCJsb2dnZXIiLCJnZXRUb2tlbkZyb21Db2RlIiwiY29kZSIsImFwcENvbmZpZyIsImdldEFwcENvbmZpZyIsIkNMSUVOVF9JRCIsIkNMSUVOVF9TRUNSRVQiLCJFcnJvciIsImdldFRva2VuTW9kZWxOYW1lIiwiZm9ybUJvZHkiLCJVUkxTZWFyY2hQYXJhbXMiLCJncmFudF90eXBlIiwiY2xpZW50X2lkIiwiY2xpZW50X3NlY3JldCIsInB1dCIsInR5cGUiLCJNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFIiwiRkVUQ0hfUkVRVUVTVCIsImJvZHkiLCJub1N0b3JlIiwiZmV0Y2hSZXN1bHRBY3Rpb24iLCJmZXRjaEVycm9yQWN0aW9uIiwicmFjZSIsInRha2UiLCJkYXRhIiwiZ2V0VG9rZW5Gcm9tQ29kZUFuZFN0YXRlIiwic3RhdGUiLCJPQVVUSF9QS0NFX1NDT1BFIiwiT0FVVEhfUEtDRV9FTkRQT0lOVCIsImNvZGVWZXJpZmllciIsImNhbGwiLCJnZXRQZXJzaXN0ZWRDb2RlVmVyaWZpZXIiLCJwZXJzaXN0ZWRTdGF0ZSIsImdldFBlcnNpc3RlZFN0YXRlIiwicGVyc2lzdFN0YXRlIiwicGVyc2lzdENvZGVWZXJpZmllciIsImxvY2F0aW9uIiwid2luZG93U2VydmljZSIsImdldExvY2F0aW9uIiwic2NvcGUiLCJjb2RlX3ZlcmlmaWVyIiwicmVkaXJlY3RfdXJpIiwib3JpZ2luIiwiZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuIiwib2F1dGhUb2tlblBhcmFtIiwicmVmcmVzaF90b2tlbiIsImFwcGVuZCIsImVycm9yRGF0YSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTX0NPREUiLCJJTlRFUk5BTF9TRVJWRVJfRVJST1IiLCJwZXJmb3JtVG9rZW5SZWZyZXNoIiwicmVmcmVzaFN1Y2Nlc3MiLCJBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUiLCJUT0tFTl9SRUZSRVNIX1NVQ0NFRURFRCIsInJlZnJlc2hGYWlsZWQiLCJBVVRIX0FDVElPTl9UWVBFIiwiVE9LRU5fUkVGUkVTSF9GQUlMRUQiLCJkZWJ1ZyIsIm9yaWdpbmFsQWNjZXNzVG9rZW4iLCJhY2Nlc3NfdG9rZW4iLCJwZXJzaXN0VG9rZW4iLCJhbGwiLCJsb2dPdXQiLCJMT0dfT1VUX1JFUVVFU1RFRCIsImxvZ2luRmxvdyIsIm1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uIiwiY3JlZGVudGlhbHNMb2dpbkZsb3ciLCJub1JldHJ5IiwiY2FzVjFMb2dpbkZsb3ciLCJsb2NhbExvZ2luRmxvdyIsImNhc1RpY2tldExvZ2luRmxvdyIsInRpY2tldCIsInNlcnZpY2UiLCJxdWVyeVBhcmFtcyIsInBrY2VMb2dpbkZsb3ciLCJfIiwidXVpZHY0Iiwic2hhMjU2Q29kZVZlcmlmaWVyIiwic2hhMjU2QXN5bmMiLCJjb2RlQ2hhbGxlbmdlIiwiYmFzZTY0VXJsRW5jb2RlIiwicGtjZUF1dGhSZWRpcmVjdFVSTCIsInJlc3BvbnNlX3R5cGUiLCJjb2RlX2NoYWxsZW5nZSIsImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsInJlcGxhY2UiLCJoYW5kbGVBdXRoRmFpbHVyZSIsIlVOQVVUSE9SSVpFRCIsImdldE9BdXRoVG9rZW4iLCJ0aGlydHlTZWNvbmRzRnJvbU5vdyIsIkRhdGUiLCJzZXRTZWNvbmRzIiwiZ2V0U2Vjb25kcyIsImF1dGhTYWdhIiwib2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2VQYXJhbSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImRlZmF1bHRPQXV0aFBlcnNpc3RlbmNlU2VydmljZSIsInRpY2tldFByb3ZpZGVyU2VydmljZSIsImRlZmF1bHRUaWNrZXRQcm92aWRlclNlcnZpY2UiLCJjb2RlUHJvdmlkZXJTZXJ2aWNlIiwiZGVmYXVsdENvZGVQcm92aWRlclNlcnZpY2UiLCJnZXRMb2dnZXIiLCJnZXRQZXJzaXN0ZWRUb2tlbiIsImNhc1RpY2tldCIsImdldFRpY2tldCIsInJlbW92ZVRpY2tldCIsImdldEFwcFNlcnZpY2VOYW1lIiwiZ2V0Q29kZSIsImNsZWFyVXNlckRhdGEiLCJNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFIiwiY2xlYXJQZXJzaXN0ZW50VG9rZW4iLCJnZXRTdGF0ZSIsInJlbW92ZUNvZGVBbmRTdGF0ZSIsIkFVVEhfVE9LRU5fQUNUSU9OX1RZUEUiLCJBVVRIX0lOSVRJQUxJWkVEIiwidGFrZUV2ZXJ5IiwiTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUiLCJUUllfRkVUQ0hfRkFJTEVEIiwiY2FzVjFBY3Rpb24iLCJsb2NhbExvZ2luQWN0aW9uIiwicGtjZUxvZ2luQWN0aW9uIiwiQVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSIsIkNBU19WMV9MT0dJTl9SRVFVRVNUIiwiQVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiTE9DQUxfTE9HSU5fUkVRVUVTVCIsIkFVVEhfUEtDRV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiUEtDRV9MT0dJTl9SRVFVRVNUIiwiTE9HSU5fUkVRVUVTVEVEIiwibG9naW5TdWNjZXNzIiwiR0VUX1RPS0VOX1NVQ0NFRURFRCIsIkxPR0lOX0ZBSUxFRCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWR1eC9zYWdhcy9hdXRoU2FnYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWdhSXRlcmF0b3IgfSBmcm9tICdAcmVkdXgtc2FnYS9jb3JlJ1xuaW1wb3J0IHsgQW55QWN0aW9uIH0gZnJvbSAncmVkdXgnXG5pbXBvcnQgeyBhbGwsIGNhbGwsIHB1dCwgcmFjZSwgdGFrZSwgdGFrZUV2ZXJ5IH0gZnJvbSAncmVkdXgtc2FnYS9lZmZlY3RzJ1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cydcbmltcG9ydCB7IGNvZGVQcm92aWRlclNlcnZpY2UgYXMgZGVmYXVsdENvZGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb2RlUHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgYXMgZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UnXG5pbXBvcnQgeyB0aWNrZXRQcm92aWRlclNlcnZpY2UgYXMgZGVmYXVsdFRpY2tldFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldFByb3ZpZGVyU2VydmljZSdcbmltcG9ydCB7IHdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3dTZXJ2aWNlJ1xuaW1wb3J0IHtcblx0Q29kZVByb3ZpZGVyU2VydmljZSxcblx0SFRUUF9TVEFUVVNfQ09ERSxcblx0T0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UsXG5cdE9BdXRoVG9rZW4sXG5cdE9BdXRoVG9rZW5Pck51bGwsXG5cdFRpY2tldFByb3ZpZGVyU2VydmljZSxcblx0VG9rZW5BY2Nlc3NGdW5jdGlvblxufSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IGdldExvZ2dlciwgTG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyJ1xuaW1wb3J0IHsgYmFzZTY0VXJsRW5jb2RlLCBzaGEyNTZBc3luYyB9IGZyb20gJy4uLy4uL3V0aWxzL3VybCdcbmltcG9ydCB7XG5cdEFVVEhfQUNUSU9OX1RZUEUsXG5cdEFVVEhfQ0FTX1YxX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdEFVVEhfTE9DQUxfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdEFVVEhfVE9LRU5fQUNUSU9OX1RZUEUsXG5cdEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSxcblx0QXV0aEFjdGlvbixcblx0QXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uLFxuXHRBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhQS0NFTG9naW5SZXF1ZXN0QWN0aW9uLFxuXHRBdXRoVG9rZW5BY3Rpb24sXG5cdEF1dGhUb2tlblN1Y2Nlc3NBY3Rpb24sXG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uLFxuXHRpc1RyYW5zaWVudE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb24sXG5cdE1PREVMX0ZFVENIX0VSUk9SX0FDVElPTl9UWVBFLFxuXHRNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLFxuXHRNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFLFxuXHRNb2RlbEZldGNoRXJyb3JBY3Rpb24sXG5cdE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uLFxuXHRNb2RlbEZldGNoUmVzdWx0QWN0aW9uLFxuXHRNb2RlbFJlbW92ZUtleUFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJ1xuXG4vLyNyZWdpb24gSGVscGVyc1xuXG5leHBvcnQgY29uc3QgbWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZCA9IChhY3Rpb246IEFueUFjdGlvbiwgbW9kZWxOYW1lOiBzdHJpbmcpID0+XG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaFJlc3VsdEFjdGlvbihhY3Rpb24pICYmIGFjdGlvbi5tb2RlbFBhdGggPT09IG1vZGVsTmFtZVxuXG5leHBvcnQgY29uc3QgdGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQgPSAobW9kZWxOYW1lOiBzdHJpbmcpID0+IChpbmNvbWluZ0FjdGlvbjogQW55QWN0aW9uKSA9PlxuXHRtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGluY29taW5nQWN0aW9uLCBtb2RlbE5hbWUpXG5cbmV4cG9ydCBjb25zdCBtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCA9IChhY3Rpb246IEFueUFjdGlvbiwgbW9kZWxOYW1lOiBzdHJpbmcpID0+XG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gbW9kZWxOYW1lXG5cbmV4cG9ydCBjb25zdCB0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQgPSAobW9kZWxOYW1lOiBzdHJpbmcpID0+IChpbmNvbWluZ0FjdGlvbjogQW55QWN0aW9uKSA9PlxuXHRtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZChpbmNvbWluZ0FjdGlvbiwgbW9kZWxOYW1lKVxuXG4vLyNlbmRyZWdpb24gSGVscGVyc1xuXG4vLyNyZWdpb24gTG9jYWwgVmFyaWFibGVzXG5cbmxldCBvYXV0aFRva2VuOiBPQXV0aFRva2VuT3JOdWxsID0gbnVsbFxubGV0IG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlOiBPQXV0aFBlcnNpc3RlbmNlU2VydmljZVxubGV0IHJlZnJlc2hMb2NrOiBib29sZWFuXG5sZXQgbG9nZ2VyOiBMb2dnZXJcblxuLy8jZW5kcmVnaW9uIExvY2FsIFZhcmlhYmxlc1xuXG5leHBvcnQgZnVuY3Rpb24qIGdldFRva2VuRnJvbUNvZGUoY29kZTogc3RyaW5nKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcblx0aWYgKCFhcHBDb25maWcuQ0xJRU5UX0lEIHx8ICFhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lEIGFuZCBDTElFTlRfU0VDUkVUIGFyZSByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cdGNvbnN0IGdldFRva2VuTW9kZWxOYW1lID0gJ2dldFRva2VuJ1xuXHRjb25zdCBmb3JtQm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuXHRcdGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRjbGllbnRfc2VjcmV0OiBhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVCxcblx0XHRjb2RlOiBjb2RlXG5cdH0pXG5cdHlpZWxkIHB1dDxNb2RlbEZldGNoUmVxdWVzdEFjdGlvbj4oe1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6IGdldFRva2VuTW9kZWxOYW1lLFxuXHRcdGJvZHk6IGZvcm1Cb2R5LFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tQ29kZUFuZFN0YXRlKGNvZGU6IHN0cmluZywgc3RhdGU6IHN0cmluZyk6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCB8fCAhYXBwQ29uZmlnLk9BVVRIX1BLQ0VfU0NPUEUgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX0VORFBPSU5UKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDTElFTlRfSUQsIE9BVVRIX1BLQ0VfU0NPUEUsIGFuZCBPQVVUSF9QS0NFX0VORFBPSU5UIGFyZSByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Ly8gdmFsaWRhdGUgcGVyc2lzdGVkIHZhbHVlc1xuXHRjb25zdCBjb2RlVmVyaWZpZXIgPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZENvZGVWZXJpZmllcilcblx0aWYgKCFjb2RlVmVyaWZpZXIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY29kZV92ZXJpZmllcicpXG5cdH1cblx0Y29uc3QgcGVyc2lzdGVkU3RhdGUgPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZFN0YXRlKVxuXHRpZiAocGVyc2lzdGVkU3RhdGUgIT09IHN0YXRlKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHN0YXRlJylcblx0fVxuXHQvLyBjbGVhciBwZXJzaXN0ZWQgdmFsdWVzXG5cdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFN0YXRlLCBudWxsKVxuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RDb2RlVmVyaWZpZXIsIG51bGwpXG5cblx0Ly8gZGlzcGF0Y2ggcmVxdWVzdFxuXHRjb25zdCBnZXRUb2tlbk1vZGVsTmFtZSA9ICdnZXRUb2tlbidcblx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcblx0Y29uc3QgZm9ybUJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcblx0XHRncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJyxcblx0XHRjbGllbnRfaWQ6IGFwcENvbmZpZy5DTElFTlRfSUQsXG5cdFx0c2NvcGU6IGFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFLFxuXHRcdGNvZGVfdmVyaWZpZXI6IGNvZGVWZXJpZmllcixcblx0XHRyZWRpcmVjdF91cmk6IGxvY2F0aW9uLm9yaWdpbixcblx0XHRjb2RlOiBjb2RlXG5cdH0pXG5cdHlpZWxkIHB1dDxNb2RlbEZldGNoUmVxdWVzdEFjdGlvbj4oe1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6IGdldFRva2VuTW9kZWxOYW1lLFxuXHRcdGJvZHk6IGZvcm1Cb2R5LFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuKG9hdXRoVG9rZW5QYXJhbTogT0F1dGhUb2tlbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBpcyByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ3JlZnJlc2hfdG9rZW4nLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRyZWZyZXNoX3Rva2VuOiBvYXV0aFRva2VuUGFyYW0ucmVmcmVzaF90b2tlblxuXHR9KVxuXHQvLyBjcmVhdGUgdGhlIGZvcm0gYm9keSBiYXNlZCBvbiBpZiB1c2luZyBhIGNsaWVudF9zZWNyZXQ6IHRyYWRpdGlvbmFsIE9BdXRoIHZzLiBQS0NFIGZsb3dcblx0aWYgKGFwcENvbmZpZy5DTElFTlRfU0VDUkVUKSB7XG5cdFx0Zm9ybUJvZHkuYXBwZW5kKCdjbGllbnRfc2VjcmV0JywgYXBwQ29uZmlnLkNMSUVOVF9TRUNSRVQpXG5cdH1cblx0eWllbGQgcHV0PE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uPih7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogZ2V0VG9rZW5Nb2RlbE5hbWUsXG5cdFx0Ym9keTogZm9ybUJvZHksXG5cdFx0bm9TdG9yZTogdHJ1ZVxuXHR9KVxuXHRjb25zdCB7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb24sXG5cdFx0ZmV0Y2hFcnJvckFjdGlvblxuXHR9OiB7IGZldGNoUmVzdWx0QWN0aW9uPzogTW9kZWxGZXRjaFJlc3VsdEFjdGlvbjsgZmV0Y2hFcnJvckFjdGlvbj86IE1vZGVsRmV0Y2hFcnJvckFjdGlvbiB9ID0geWllbGQgcmFjZSh7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKSxcblx0XHRmZXRjaEVycm9yQWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaEZhaWxlZChnZXRUb2tlbk1vZGVsTmFtZSkpXG5cdH0pXG5cdC8vIGFueSBlcnJvciByZXNwb25zZVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbikge1xuXHRcdC8vIGlnbm9yZSBzZXJ2ZXIgZXJyb3JzXG5cdFx0aWYgKFxuXHRcdFx0ZmV0Y2hFcnJvckFjdGlvbi5lcnJvckRhdGE/LnN0YXR1cyAmJlxuXHRcdFx0ZmV0Y2hFcnJvckFjdGlvbi5lcnJvckRhdGEuc3RhdHVzID49IEhUVFBfU1RBVFVTX0NPREUuSU5URVJOQUxfU0VSVkVSX0VSUk9SXG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gb2F1dGhUb2tlblBhcmFtXG5cdFx0fVxuXHRcdHJldHVybiBudWxsXG5cdH1cblx0Ly8gZm9yIHNvbWUgcmVhc29uIHRoZSByZXNwb25zZSBoYWQgbm8gYm9keVxuXHRpZiAoIWZldGNoUmVzdWx0QWN0aW9uPy5kYXRhKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4gZmV0Y2hSZXN1bHRBY3Rpb24uZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHBlcmZvcm1Ub2tlblJlZnJlc2goKTogU2FnYUl0ZXJhdG9yIHtcblx0aWYgKHJlZnJlc2hMb2NrIHx8ICFvYXV0aFRva2VuKSB7XG5cdFx0Ly8gYWxyZWFkeSByZWZyZXNoaW5nLiB3YWl0IGZvciB0aGUgY3VycmVudCByZWZyZXNoIHRvIHN1Y2NlZWQgb3IgZmFpbC5cblx0XHR5aWVsZCByYWNlKHtcblx0XHRcdHJlZnJlc2hTdWNjZXNzOiB0YWtlKEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5UT0tFTl9SRUZSRVNIX1NVQ0NFRURFRCksXG5cdFx0XHRyZWZyZXNoRmFpbGVkOiB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9GQUlMRUQpXG5cdFx0fSlcblx0XHRyZXR1cm5cblx0fVxuXHRsb2dnZXIuZGVidWcoJ1JlZnJlc2hpbmcgT0F1dGggdG9rZW4nKVxuXHRyZWZyZXNoTG9jayA9IHRydWVcblx0Ly8gb2F1dGhUb2tlbiB3aWxsIGJlIHNldCB0bzpcblx0Ly8gMS4gbmV3IHRva2VuIChzdWNjZXNzKVxuXHQvLyAyLiBzYW1lIHRva2VuIChmYWlsZWQgZnJvbSB0aW1lb3V0IG9yIHNlcnZlciBlcnJvcilcblx0Ly8gMy4gbnVsbCAoZmFpbClcblx0Y29uc3Qgb3JpZ2luYWxBY2Nlc3NUb2tlbiA9IG9hdXRoVG9rZW4uYWNjZXNzX3Rva2VuXG5cdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGdldFRva2VuRnJvbVJlZnJlc2hUb2tlbiwgb2F1dGhUb2tlbilcblx0aWYgKCEhb2F1dGhUb2tlbiAmJiBvYXV0aFRva2VuLmFjY2Vzc190b2tlbiAhPT0gb3JpZ2luYWxBY2Nlc3NUb2tlbikge1xuXHRcdGxvZ2dlci5kZWJ1ZygnT0F1dGggdG9rZW4gcmVmcmVzaGVkJylcblx0XHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RUb2tlbiwgb2F1dGhUb2tlbilcblx0XHR5aWVsZCBwdXQ8QXV0aFRva2VuU3VjY2Vzc0FjdGlvbj4oeyB0eXBlOiBBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9TVUNDRUVERUQsIG9hdXRoVG9rZW4gfSlcblx0fSBlbHNlIGlmIChvYXV0aFRva2VuID09PSBudWxsKSB7XG5cdFx0bG9nZ2VyLmRlYnVnKCdPQXV0aCB0b2tlbiBmYWlsZWQgdG8gcmVmcmVzaCcpXG5cdFx0Ly8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuIG91dHNpZGUgb2YgdGhlIHRva2VuIGhhdmluZyBiZWVuIHJldm9rZWQgb24gdGhlIHNlcnZlciBzaWRlXG5cdFx0eWllbGQgYWxsKHtcblx0XHRcdHJlZnJlc2hGYWlsZWQ6IHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9GQUlMRUQgfSksXG5cdFx0XHRsb2dPdXQ6IHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQgfSlcblx0XHR9KVxuXHR9XG5cdHJlZnJlc2hMb2NrID0gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBsb2dpbkZsb3cobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0eWllbGQgcHV0KG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKVxuXHRjb25zdCB7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb24sXG5cdFx0ZmV0Y2hFcnJvckFjdGlvblxuXHR9OiB7IGZldGNoUmVzdWx0QWN0aW9uPzogTW9kZWxGZXRjaFJlc3VsdEFjdGlvbjsgZmV0Y2hFcnJvckFjdGlvbj86IE1vZGVsRmV0Y2hFcnJvckFjdGlvbiB9ID0geWllbGQgcmFjZSh7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24ubW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24ubW9kZWxOYW1lKSlcblx0fSlcblx0aWYgKGZldGNoRXJyb3JBY3Rpb24pIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdGNvbnN0IGNvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGZldGNoUmVzdWx0QWN0aW9uPy5kYXRhPy5jb2RlXG5cdGlmICghY29kZSkge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0cmV0dXJuIHlpZWxkIGNhbGwoZ2V0VG9rZW5Gcm9tQ29kZSwgY29kZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBjcmVkZW50aWFsc0xvZ2luRmxvdyhcblx0YWN0aW9uOiBBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb24gfCBBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb24sXG5cdG1vZGVsTmFtZTogc3RyaW5nXG4pOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbjogTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24gPSB7XG5cdFx0Ly8gc2V0IHJlcXVpcmVkIGRlZmF1bHRzXG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZSxcblx0XHRub1N0b3JlOiB0cnVlLFxuXHRcdC8vIGZvcmNlIG5vIHJldHJ5XG5cdFx0bm9SZXRyeTogdHJ1ZSxcblx0XHQvLyBwYXNzIHRocnUgYm9keVxuXHRcdGJvZHk6IGFjdGlvbi5ib2R5XG5cdH1cblx0cmV0dXJuIHlpZWxkIGNhbGwobG9naW5GbG93LCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBjYXNWMUxvZ2luRmxvdyhhY3Rpb246IEF1dGhDYXNWMUxvZ2luUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdHJldHVybiB5aWVsZCBjYWxsKGNyZWRlbnRpYWxzTG9naW5GbG93LCBhY3Rpb24sICdjb2RlRnJvbUNhc1YxJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBsb2NhbExvZ2luRmxvdyhhY3Rpb246IEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdHJldHVybiB5aWVsZCBjYWxsKGNyZWRlbnRpYWxzTG9naW5GbG93LCBhY3Rpb24sICdjb2RlRnJvbUxvY2FsQ3JlZGVudGlhbHMnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGNhc1RpY2tldExvZ2luRmxvdyh0aWNrZXQ6IHN0cmluZywgc2VydmljZTogc3RyaW5nKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgbW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uID0ge1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6ICdjb2RlRnJvbUNhc1RpY2tldCcsXG5cdFx0bm9TdG9yZTogdHJ1ZSxcblx0XHRxdWVyeVBhcmFtczoge1xuXHRcdFx0dGlja2V0LFxuXHRcdFx0c2VydmljZVxuXHRcdH1cblx0fVxuXHRyZXR1cm4geWllbGQgY2FsbChsb2dpbkZsb3csIG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHBrY2VMb2dpbkZsb3coXzogQXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFIHx8ICFhcHBDb25maWcuT0FVVEhfUEtDRV9FTkRQT0lOVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBPQVVUSF9QS0NFX1NDT1BFLCBhbmQgT0FVVEhfUEtDRV9FTkRQT0lOVCBhcmUgcmVxdWlyZWQgaW4gQXBwQ29uZmlnJylcblx0fVxuXG5cdC8vIEdlbmVyYXRlIHN0YXRlIGFuZCBjb2RlIHZlcmlmaWVyIHZhbHVlc1xuXHRjb25zdCBzdGF0ZSA9IHV1aWR2NCgpXG5cdGNvbnN0IGNvZGVWZXJpZmllciA9IHV1aWR2NCgpXG5cdGNvbnN0IHNoYTI1NkNvZGVWZXJpZmllciA9IHlpZWxkIGNhbGwoc2hhMjU2QXN5bmMsIGNvZGVWZXJpZmllcilcblx0Y29uc3QgY29kZUNoYWxsZW5nZSA9IHlpZWxkIGNhbGwoYmFzZTY0VXJsRW5jb2RlLCBzaGEyNTZDb2RlVmVyaWZpZXIpXG5cblx0Ly8gUGVyc2lzdCBzdGF0ZSBhbmQgY29kZSB2ZXJpZmllciBpbiBsb2NhbCBzdG9yYWdlIGZvciB1c2UgYWZ0ZXIgY29kZSBmbG93IHJlZGlyZWN0LlxuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RTdGF0ZSwgc3RhdGUpXG5cdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdENvZGVWZXJpZmllciwgY29kZVZlcmlmaWVyKVxuXG5cdC8vIFJlZGlyZWN0IHRvIEJTIGNvZGUgZmxvdyBhdXRoIGVuZHBvaW50ICh3aGljaCB3aWxsIHJlZGlyZWN0IGJhY2sgaGVyZSlcblx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcblx0Y29uc3QgcGtjZUF1dGhSZWRpcmVjdFVSTCA9IGAke2FwcENvbmZpZy5PQVVUSF9QS0NFX0VORFBPSU5UfT8ke25ldyBVUkxTZWFyY2hQYXJhbXMoe1xuXHRcdHJlc3BvbnNlX3R5cGU6ICdjb2RlJyxcblx0XHRjbGllbnRfaWQ6IGFwcENvbmZpZy5DTElFTlRfSUQsXG5cdFx0c3RhdGU6IHN0YXRlLFxuXHRcdHNjb3BlOiBhcHBDb25maWcuT0FVVEhfUEtDRV9TQ09QRSxcblx0XHRjb2RlX2NoYWxsZW5nZTogY29kZUNoYWxsZW5nZSxcblx0XHRjb2RlX2NoYWxsZW5nZV9tZXRob2Q6ICdTMjU2Jyxcblx0XHRyZWRpcmVjdF91cmk6IGxvY2F0aW9uLm9yaWdpblxuXHR9KX1gXG5cdHlpZWxkIGNhbGwod2luZG93U2VydmljZS5yZXBsYWNlLCBwa2NlQXV0aFJlZGlyZWN0VVJMKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGhhbmRsZUF1dGhGYWlsdXJlKGFjdGlvbjogTW9kZWxGZXRjaEVycm9yQWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0Ly8gVGhpcyBzaG91bGQgYmUgdW5saWtlbHkgc2luY2Ugd2Ugbm9ybWFsbHkgaGF2ZSBhIHJlZnJlc2ggdG9rZW4gbG9vcCBoYXBwZW5pbmdcblx0Ly8gYnV0IGlmIHRoZSBhcHAgaXMgYmFja2dyb3VuZGVkLCB0aGUgbG9vcCBtaWdodCBub3QgYmUgY2F1Z2h0IHVwIHlldFxuXHRpZiAob2F1dGhUb2tlbiAmJiBhY3Rpb24uZXJyb3JEYXRhICYmIGFjdGlvbi5lcnJvckRhdGEuc3RhdHVzID09PSBIVFRQX1NUQVRVU19DT0RFLlVOQVVUSE9SSVpFRCkge1xuXHRcdGxvZ2dlci5kZWJ1ZygndG9rZW4gZXhwaXJlZCAtIHJlZnJlc2hpbmcnKVxuXHRcdHlpZWxkIGNhbGwocGVyZm9ybVRva2VuUmVmcmVzaClcblx0fVxufVxuXG5leHBvcnQgY29uc3QgZ2V0T0F1dGhUb2tlbjogVG9rZW5BY2Nlc3NGdW5jdGlvbiA9IGZ1bmN0aW9uKiAobW9kZWxOYW1lOiBzdHJpbmcpIHtcblx0Ly8gRG9uJ3QgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuIGlmIHdlJ3JlIGFscmVhZHkgaW4gYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIHRva2VuXG5cdGlmIChtb2RlbE5hbWUgPT09ICdnZXRUb2tlbicpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdGlmIChvYXV0aFRva2VuICYmIG9hdXRoVG9rZW5bJy5leHBpcmVzJ10pIHtcblx0XHRjb25zdCB0aGlydHlTZWNvbmRzRnJvbU5vdyA9IG5ldyBEYXRlKClcblx0XHR0aGlydHlTZWNvbmRzRnJvbU5vdy5zZXRTZWNvbmRzKHRoaXJ0eVNlY29uZHNGcm9tTm93LmdldFNlY29uZHMoKSArIDMwKVxuXHRcdGlmIChuZXcgRGF0ZShvYXV0aFRva2VuWycuZXhwaXJlcyddKSA8IHRoaXJ0eVNlY29uZHNGcm9tTm93KSB7XG5cdFx0XHQvLyBzdGFydCBhIHRva2VuIHJlZnJlc2ggYW5kIHdhaXQgZm9yIHRoZSBzdWNjZXNzIGFjdGlvbiBpbiBjYXNlIGFub3RoZXIgcmVmcmVzaCBpcyBjdXJyZW50bHkgaGFwcGVuaW5nXG5cdFx0XHR5aWVsZCBjYWxsKHBlcmZvcm1Ub2tlblJlZnJlc2gpXG5cdFx0XHRyZXR1cm4gb2F1dGhUb2tlblxuXHRcdH1cblx0fVxuXHRyZXR1cm4gb2F1dGhUb2tlblxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiogYXV0aFNhZ2EoXG5cdG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlUGFyYW06IE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlID0gZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLFxuXHR0aWNrZXRQcm92aWRlclNlcnZpY2U6IFRpY2tldFByb3ZpZGVyU2VydmljZSA9IGRlZmF1bHRUaWNrZXRQcm92aWRlclNlcnZpY2UsXG5cdGNvZGVQcm92aWRlclNlcnZpY2U6IENvZGVQcm92aWRlclNlcnZpY2UgPSBkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZVxuKTogU2FnYUl0ZXJhdG9yIHtcblx0bG9nZ2VyID0gZ2V0TG9nZ2VyKClcblx0b2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgPSBvYXV0aFBlcnNpc3RlbmNlU2VydmljZVBhcmFtXG5cblx0Ly8gVHJ5IHRvIGdldCBwZXJzaXN0ZWQgdG9rZW4gKG5vcm1hbGx5IGluIEFzeW5jU3RvcmFnZSBvciBMb2NhbFN0b3JhZ2UpXG5cdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZFRva2VuKVxuXG5cdC8vIElmIG5vIHRva2VuLCB0cnkgdG8gZ2V0IENBUyB0aWNrZXQgKG5vcm1hbGx5IGluIHRoZSBVUkwpLCB1c2UgaXQgdG8gZ2V0IGEgdG9rZW5cblx0aWYgKCFvYXV0aFRva2VuKSB7XG5cdFx0Y29uc3QgY2FzVGlja2V0ID0gdGlja2V0UHJvdmlkZXJTZXJ2aWNlLmdldFRpY2tldCgpXG5cdFx0dGlja2V0UHJvdmlkZXJTZXJ2aWNlLnJlbW92ZVRpY2tldCgpXG5cdFx0Y29uc3Qgc2VydmljZSA9IHRpY2tldFByb3ZpZGVyU2VydmljZS5nZXRBcHBTZXJ2aWNlTmFtZSgpXG5cdFx0aWYgKGNhc1RpY2tldCAmJiBzZXJ2aWNlKSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChjYXNUaWNrZXRMb2dpbkZsb3csIGNhc1RpY2tldCwgc2VydmljZSlcblx0XHR9XG5cdH1cblxuXHQvLyBJZiBPQXV0aCBDb2RlIGV4aXN0cyAobm9ybWFsbHkgaW4gdGhlIFVSTCksIHVzZSBpdCB0byBnZXQgYSB0b2tlblxuXHRjb25zdCBjb2RlID0gY29kZVByb3ZpZGVyU2VydmljZS5nZXRDb2RlKClcblx0aWYgKGNvZGUpIHtcblx0XHQvLyBMb2cgb3V0IHRoZSBjdXJyZW50IHVzZXIgaWYgYSBuZXcgdG9rZW4gaXMgYWJvdXQgdG8gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIE9BdXRoIENvZGVcblx0XHRpZiAob2F1dGhUb2tlbikge1xuXHRcdFx0eWllbGQgYWxsKHtcblx0XHRcdFx0Y2xlYXJVc2VyRGF0YTogcHV0PE1vZGVsUmVtb3ZlS2V5QWN0aW9uPih7IHR5cGU6IE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsIG1vZGVsUGF0aDogJ3VzZXInIH0pLFxuXHRcdFx0XHRjbGVhclBlcnNpc3RlbnRUb2tlbjogY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG51bGwpXG5cdFx0XHR9KVxuXHRcdFx0b2F1dGhUb2tlbiA9IG51bGxcblx0XHR9XG5cblx0XHQvLyBJZiBPQXV0aCBzdGF0ZSBleGlzdHMgKG5vcm1hbGx5IGluIHRoZSBVUkwpLCB1c2UgaXQgaW4gYWRkaXRpb24gdG8gdGhlIGNvZGUgZm9yIFBLQ0UgbG9naW4gZmxvd1xuXHRcdGNvbnN0IHN0YXRlID0gY29kZVByb3ZpZGVyU2VydmljZS5nZXRTdGF0ZSgpXG5cdFx0aWYgKHN0YXRlKSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChnZXRUb2tlbkZyb21Db2RlQW5kU3RhdGUsIGNvZGUsIHN0YXRlKVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChnZXRUb2tlbkZyb21Db2RlLCBjb2RlKVxuXHRcdH1cblx0fVxuXHRjb2RlUHJvdmlkZXJTZXJ2aWNlLnJlbW92ZUNvZGVBbmRTdGF0ZSgpXG5cblx0eWllbGQgcHV0PEF1dGhUb2tlbkFjdGlvbj4oeyB0eXBlOiBBVVRIX1RPS0VOX0FDVElPTl9UWVBFLkFVVEhfSU5JVElBTElaRUQsIG9hdXRoVG9rZW4gfSlcblxuXHR5aWVsZCB0YWtlRXZlcnkoTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUuVFJZX0ZFVENIX0ZBSUxFRCwgaGFuZGxlQXV0aEZhaWx1cmUpXG5cblx0ZG8ge1xuXHRcdGlmICghb2F1dGhUb2tlbikge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRjYXNWMUFjdGlvbixcblx0XHRcdFx0bG9jYWxMb2dpbkFjdGlvbixcblx0XHRcdFx0cGtjZUxvZ2luQWN0aW9uXG5cdFx0XHR9OiB7XG5cdFx0XHRcdGNhc1YxQWN0aW9uPzogQXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uXG5cdFx0XHRcdGxvY2FsTG9naW5BY3Rpb24/OiBBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb25cblx0XHRcdFx0cGtjZUxvZ2luQWN0aW9uPzogQXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb25cblx0XHRcdH0gPSB5aWVsZCByYWNlKHtcblx0XHRcdFx0Y2FzVjFBY3Rpb246IHRha2UoQVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRS5DQVNfVjFfTE9HSU5fUkVRVUVTVCksXG5cdFx0XHRcdGxvY2FsTG9naW5BY3Rpb246IHRha2UoQVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLkxPQ0FMX0xPR0lOX1JFUVVFU1QpLFxuXHRcdFx0XHRwa2NlTG9naW5BY3Rpb246IHRha2UoQVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUuUEtDRV9MT0dJTl9SRVFVRVNUKVxuXHRcdFx0fSlcblxuXHRcdFx0eWllbGQgcHV0PEF1dGhBY3Rpb24+KHsgdHlwZTogQVVUSF9BQ1RJT05fVFlQRS5MT0dJTl9SRVFVRVNURUQgfSlcblx0XHRcdGlmIChjYXNWMUFjdGlvbikge1xuXHRcdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChjYXNWMUxvZ2luRmxvdywgY2FzVjFBY3Rpb24pXG5cdFx0XHR9IGVsc2UgaWYgKGxvY2FsTG9naW5BY3Rpb24pIHtcblx0XHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwobG9jYWxMb2dpbkZsb3csIGxvY2FsTG9naW5BY3Rpb24pXG5cdFx0XHR9IGVsc2UgaWYgKHBrY2VMb2dpbkFjdGlvbikge1xuXHRcdFx0XHQvLyBvYXV0aFRva2VuIGlzIG5vdCByZXR1cm5lZCBoZXJlLCBhcyB0aGlzIGZsb3cgd2lsbCByZXN1bHQgaW4gYSB3aW5kb3cgcmVkaXJlY3Rcblx0XHRcdFx0eWllbGQgY2FsbChwa2NlTG9naW5GbG93LCBwa2NlTG9naW5BY3Rpb24pXG5cdFx0XHRcdC8vIGJyZWFrIGV4ZWN1dGlvblxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAob2F1dGhUb2tlbikge1xuXHRcdFx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG9hdXRoVG9rZW4pXG5cdFx0XHR5aWVsZCBhbGwoe1xuXHRcdFx0XHRsb2dpblN1Y2Nlc3M6IHB1dDxBdXRoVG9rZW5TdWNjZXNzQWN0aW9uPih7XG5cdFx0XHRcdFx0dHlwZTogQVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLkdFVF9UT0tFTl9TVUNDRUVERUQsXG5cdFx0XHRcdFx0b2F1dGhUb2tlblxuXHRcdFx0XHR9KSxcblx0XHRcdFx0bG9nT3V0OiB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQpXG5cdFx0XHR9KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR5aWVsZCBwdXQ8QXV0aEFjdGlvbj4oeyB0eXBlOiBBVVRIX0FDVElPTl9UWVBFLkxPR0lOX0ZBSUxFRCB9KVxuXHRcdH1cblxuXHRcdHlpZWxkIGFsbCh7XG5cdFx0XHRjbGVhclVzZXJEYXRhOiBwdXQ8TW9kZWxSZW1vdmVLZXlBY3Rpb24+KHsgdHlwZTogTU9ERUxfUkVNT1ZFX0tFWV9BQ1RJT05fVFlQRSwgbW9kZWxQYXRoOiAndXNlcicgfSksXG5cdFx0XHRjbGVhclBlcnNpc3RlbnRUb2tlbjogY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG51bGwpXG5cdFx0fSlcblx0XHRvYXV0aFRva2VuID0gbnVsbFxuXHR9IHdoaWxlICh0cnVlKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSx3QkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssc0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQVNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLElBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQXdCQTs7QUFFTyxNQUFNVyx5QkFBeUIsR0FBR0EsQ0FBQ0MsTUFBaUIsRUFBRUMsU0FBaUIsS0FDN0UsSUFBQUMsMENBQWlDLEVBQUNGLE1BQU0sQ0FBQyxJQUFJQSxNQUFNLENBQUNHLFNBQVMsS0FBS0YsU0FBUztBQUFBRyxPQUFBLENBQUFMLHlCQUFBLEdBQUFB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
414
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWZmZWN0cyIsInJlcXVpcmUiLCJfdXVpZCIsIl9jb25zdGFudHMiLCJfY29kZVByb3ZpZGVyU2VydmljZSIsIl9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSIsIl90aWNrZXRQcm92aWRlclNlcnZpY2UiLCJfd2luZG93U2VydmljZSIsIl90eXBlcyIsIl9sb2dnZXIiLCJfdXJsIiwiX2FjdGlvbnMiLCJtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiYWN0aW9uIiwibW9kZWxOYW1lIiwiaXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uIiwibW9kZWxQYXRoIiwiZXhwb3J0cyIsInRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiaW5jb21pbmdBY3Rpb24iLCJtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCIsImlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uIiwidGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkIiwib2F1dGhUb2tlbiIsIm9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwicmVmcmVzaExvY2siLCJsb2dnZXIiLCJnZXRUb2tlbkZyb21Db2RlIiwiY29kZSIsImFwcENvbmZpZyIsImdldEFwcENvbmZpZyIsIkNMSUVOVF9JRCIsIkNMSUVOVF9TRUNSRVQiLCJFcnJvciIsImdldFRva2VuTW9kZWxOYW1lIiwiZm9ybUJvZHkiLCJVUkxTZWFyY2hQYXJhbXMiLCJncmFudF90eXBlIiwiY2xpZW50X2lkIiwiY2xpZW50X3NlY3JldCIsInB1dCIsInR5cGUiLCJNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFIiwiRkVUQ0hfUkVRVUVTVCIsImJvZHkiLCJ0b1N0cmluZyIsIm5vU3RvcmUiLCJmZXRjaFJlc3VsdEFjdGlvbiIsImZldGNoRXJyb3JBY3Rpb24iLCJyYWNlIiwidGFrZSIsImRhdGEiLCJnZXRUb2tlbkZyb21Db2RlQW5kU3RhdGUiLCJzdGF0ZSIsIk9BVVRIX1BLQ0VfU0NPUEUiLCJPQVVUSF9QS0NFX0VORFBPSU5UIiwiY29kZVZlcmlmaWVyIiwiY2FsbCIsImdldFBlcnNpc3RlZENvZGVWZXJpZmllciIsInBlcnNpc3RlZFN0YXRlIiwiZ2V0UGVyc2lzdGVkU3RhdGUiLCJwZXJzaXN0U3RhdGUiLCJwZXJzaXN0Q29kZVZlcmlmaWVyIiwibG9jYXRpb24iLCJ3aW5kb3dTZXJ2aWNlIiwiZ2V0TG9jYXRpb24iLCJzY29wZSIsImNvZGVfdmVyaWZpZXIiLCJyZWRpcmVjdF91cmkiLCJvcmlnaW4iLCJnZXRUb2tlbkZyb21SZWZyZXNoVG9rZW4iLCJvYXV0aFRva2VuUGFyYW0iLCJyZWZyZXNoX3Rva2VuIiwiYXBwZW5kIiwiZXJyb3JEYXRhIiwic3RhdHVzIiwiSFRUUF9TVEFUVVNfQ09ERSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsInBlcmZvcm1Ub2tlblJlZnJlc2giLCJyZWZyZXNoU3VjY2VzcyIsIkFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSIsIlRPS0VOX1JFRlJFU0hfU1VDQ0VFREVEIiwicmVmcmVzaEZhaWxlZCIsIkFVVEhfQUNUSU9OX1RZUEUiLCJUT0tFTl9SRUZSRVNIX0ZBSUxFRCIsImRlYnVnIiwib3JpZ2luYWxBY2Nlc3NUb2tlbiIsImFjY2Vzc190b2tlbiIsInBlcnNpc3RUb2tlbiIsImFsbCIsImxvZ091dCIsIkxPR19PVVRfUkVRVUVTVEVEIiwibG9naW5GbG93IiwibW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24iLCJjcmVkZW50aWFsc0xvZ2luRmxvdyIsIm5vUmV0cnkiLCJjYXNWMUxvZ2luRmxvdyIsImxvY2FsTG9naW5GbG93IiwiY2FzVGlja2V0TG9naW5GbG93IiwidGlja2V0Iiwic2VydmljZSIsInF1ZXJ5UGFyYW1zIiwicGtjZUxvZ2luRmxvdyIsIl8iLCJ1dWlkdjQiLCJzaGEyNTZDb2RlVmVyaWZpZXIiLCJzaGEyNTZBc3luYyIsImNvZGVDaGFsbGVuZ2UiLCJiYXNlNjRVcmxFbmNvZGUiLCJwa2NlQXV0aFJlZGlyZWN0VVJMIiwicmVzcG9uc2VfdHlwZSIsImNvZGVfY2hhbGxlbmdlIiwiY29kZV9jaGFsbGVuZ2VfbWV0aG9kIiwicmVwbGFjZSIsImhhbmRsZUF1dGhGYWlsdXJlIiwiVU5BVVRIT1JJWkVEIiwiZ2V0T0F1dGhUb2tlbiIsInRoaXJ0eVNlY29uZHNGcm9tTm93IiwiRGF0ZSIsInNldFNlY29uZHMiLCJnZXRTZWNvbmRzIiwiYXV0aFNhZ2EiLCJvYXV0aFBlcnNpc3RlbmNlU2VydmljZVBhcmFtIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwidGlja2V0UHJvdmlkZXJTZXJ2aWNlIiwiZGVmYXVsdFRpY2tldFByb3ZpZGVyU2VydmljZSIsImNvZGVQcm92aWRlclNlcnZpY2UiLCJkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZSIsImdldExvZ2dlciIsImdldFBlcnNpc3RlZFRva2VuIiwiY2FzVGlja2V0IiwiZ2V0VGlja2V0IiwicmVtb3ZlVGlja2V0IiwiZ2V0QXBwU2VydmljZU5hbWUiLCJnZXRDb2RlIiwiY2xlYXJVc2VyRGF0YSIsIk1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUiLCJjbGVhclBlcnNpc3RlbnRUb2tlbiIsImdldFN0YXRlIiwicmVtb3ZlQ29kZUFuZFN0YXRlIiwiQVVUSF9UT0tFTl9BQ1RJT05fVFlQRSIsIkFVVEhfSU5JVElBTElaRUQiLCJ0YWtlRXZlcnkiLCJNT0RFTF9GRVRDSF9FUlJPUl9BQ1RJT05fVFlQRSIsIlRSWV9GRVRDSF9GQUlMRUQiLCJjYXNWMUFjdGlvbiIsImxvY2FsTG9naW5BY3Rpb24iLCJwa2NlTG9naW5BY3Rpb24iLCJBVVRIX0NBU19WMV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiQ0FTX1YxX0xPR0lOX1JFUVVFU1QiLCJBVVRIX0xPQ0FMX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUiLCJMT0NBTF9MT0dJTl9SRVFVRVNUIiwiQVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUiLCJQS0NFX0xPR0lOX1JFUVVFU1QiLCJMT0dJTl9SRVFVRVNURUQiLCJsb2dpblN1Y2Nlc3MiLCJHRVRfVE9LRU5fU1VDQ0VFREVEIiwiTE9HSU5fRkFJTEVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3NhZ2FzL2F1dGhTYWdhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhZ2FJdGVyYXRvciB9IGZyb20gJ0ByZWR1eC1zYWdhL2NvcmUnXG5pbXBvcnQgeyBBbnlBY3Rpb24gfSBmcm9tICdyZWR1eCdcbmltcG9ydCB7IGFsbCwgY2FsbCwgcHV0LCByYWNlLCB0YWtlLCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgY29kZVByb3ZpZGVyU2VydmljZSBhcyBkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvZGVQcm92aWRlclNlcnZpY2UnXG5pbXBvcnQgeyBvYXV0aFBlcnNpc3RlbmNlU2VydmljZSBhcyBkZWZhdWx0T0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSdcbmltcG9ydCB7IHRpY2tldFByb3ZpZGVyU2VydmljZSBhcyBkZWZhdWx0VGlja2V0UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0UHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgd2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvd1NlcnZpY2UnXG5pbXBvcnQge1xuXHRDb2RlUHJvdmlkZXJTZXJ2aWNlLFxuXHRIVFRQX1NUQVRVU19DT0RFLFxuXHRPQXV0aFBlcnNpc3RlbmNlU2VydmljZSxcblx0T0F1dGhUb2tlbixcblx0T0F1dGhUb2tlbk9yTnVsbCxcblx0VGlja2V0UHJvdmlkZXJTZXJ2aWNlLFxuXHRUb2tlbkFjY2Vzc0Z1bmN0aW9uXG59IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0TG9nZ2VyLCBMb2dnZXIgfSBmcm9tICcuLi8uLi91dGlscy9sb2dnZXInXG5pbXBvcnQgeyBiYXNlNjRVcmxFbmNvZGUsIHNoYTI1NkFzeW5jIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXJsJ1xuaW1wb3J0IHtcblx0QVVUSF9BQ1RJT05fVFlQRSxcblx0QVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLFxuXHRBVVRIX1BLQ0VfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9UT0tFTl9BQ1RJT05fVFlQRSxcblx0QVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLFxuXHRBdXRoQWN0aW9uLFxuXHRBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvbixcblx0QXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhUb2tlbkFjdGlvbixcblx0QXV0aFRva2VuU3VjY2Vzc0FjdGlvbixcblx0aXNUcmFuc2llbnRNb2RlbEZldGNoRXJyb3JBY3Rpb24sXG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaFJlc3VsdEFjdGlvbixcblx0TU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUsXG5cdE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsXG5cdE1vZGVsRmV0Y2hFcnJvckFjdGlvbixcblx0TW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24sXG5cdE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb24sXG5cdE1vZGVsUmVtb3ZlS2V5QWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnXG5cbi8vI3JlZ2lvbiBIZWxwZXJzXG5cbmV4cG9ydCBjb25zdCBtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkID0gKGFjdGlvbjogQW55QWN0aW9uLCBtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0aXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gbW9kZWxOYW1lXG5cbmV4cG9ydCBjb25zdCB0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZCA9IChtb2RlbE5hbWU6IHN0cmluZykgPT4gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pID0+XG5cdG1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQoaW5jb21pbmdBY3Rpb24sIG1vZGVsTmFtZSlcblxuZXhwb3J0IGNvbnN0IG1hdGNoZXNNb2RlbEZldGNoRmFpbGVkID0gKGFjdGlvbjogQW55QWN0aW9uLCBtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0aXNUcmFuc2llbnRNb2RlbEZldGNoRXJyb3JBY3Rpb24oYWN0aW9uKSAmJiBhY3Rpb24ubW9kZWxQYXRoID09PSBtb2RlbE5hbWVcblxuZXhwb3J0IGNvbnN0IHRha2VNYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCA9IChtb2RlbE5hbWU6IHN0cmluZykgPT4gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pID0+XG5cdG1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKGluY29taW5nQWN0aW9uLCBtb2RlbE5hbWUpXG5cbi8vI2VuZHJlZ2lvbiBIZWxwZXJzXG5cbi8vI3JlZ2lvbiBMb2NhbCBWYXJpYWJsZXNcblxubGV0IG9hdXRoVG9rZW46IE9BdXRoVG9rZW5Pck51bGwgPSBudWxsXG5sZXQgb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2U6IE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlXG5sZXQgcmVmcmVzaExvY2s6IGJvb2xlYW5cbmxldCBsb2dnZXI6IExvZ2dlclxuXG4vLyNlbmRyZWdpb24gTG9jYWwgVmFyaWFibGVzXG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tQ29kZShjb2RlOiBzdHJpbmcpOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5DTElFTlRfU0VDUkVUKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDTElFTlRfSUQgYW5kIENMSUVOVF9TRUNSRVQgYXJlIHJlcXVpcmVkIGluIEFwcENvbmZpZycpXG5cdH1cblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ2F1dGhvcml6YXRpb25fY29kZScsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdGNsaWVudF9zZWNyZXQ6IGFwcENvbmZpZy5DTElFTlRfU0VDUkVULFxuXHRcdGNvZGU6IGNvZGVcblx0fSlcblx0eWllbGQgcHV0PE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uPih7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogZ2V0VG9rZW5Nb2RlbE5hbWUsXG5cdFx0Ym9keTogZm9ybUJvZHkudG9TdHJpbmcoKSxcblx0XHRub1N0b3JlOiB0cnVlXG5cdH0pXG5cdGNvbnN0IHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbixcblx0XHRmZXRjaEVycm9yQWN0aW9uXG5cdH06IHsgZmV0Y2hSZXN1bHRBY3Rpb24/OiBNb2RlbEZldGNoUmVzdWx0QWN0aW9uOyBmZXRjaEVycm9yQWN0aW9uPzogTW9kZWxGZXRjaEVycm9yQWN0aW9uIH0gPSB5aWVsZCByYWNlKHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZChnZXRUb2tlbk1vZGVsTmFtZSkpLFxuXHRcdGZldGNoRXJyb3JBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKGdldFRva2VuTW9kZWxOYW1lKSlcblx0fSlcblx0aWYgKGZldGNoRXJyb3JBY3Rpb24gfHwgIWZldGNoUmVzdWx0QWN0aW9uPy5kYXRhKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4gZmV0Y2hSZXN1bHRBY3Rpb24uZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGdldFRva2VuRnJvbUNvZGVBbmRTdGF0ZShjb2RlOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFIHx8ICFhcHBDb25maWcuT0FVVEhfUEtDRV9FTkRQT0lOVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBPQVVUSF9QS0NFX1NDT1BFLCBhbmQgT0FVVEhfUEtDRV9FTkRQT0lOVCBhcmUgcmVxdWlyZWQgaW4gQXBwQ29uZmlnJylcblx0fVxuXG5cdC8vIHZhbGlkYXRlIHBlcnNpc3RlZCB2YWx1ZXNcblx0Y29uc3QgY29kZVZlcmlmaWVyID0geWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5nZXRQZXJzaXN0ZWRDb2RlVmVyaWZpZXIpXG5cdGlmICghY29kZVZlcmlmaWVyKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNvZGVfdmVyaWZpZXInKVxuXHR9XG5cdGNvbnN0IHBlcnNpc3RlZFN0YXRlID0geWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5nZXRQZXJzaXN0ZWRTdGF0ZSlcblx0aWYgKHBlcnNpc3RlZFN0YXRlICE9PSBzdGF0ZSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdGF0ZScpXG5cdH1cblx0Ly8gY2xlYXIgcGVyc2lzdGVkIHZhbHVlc1xuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RTdGF0ZSwgbnVsbClcblx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0Q29kZVZlcmlmaWVyLCBudWxsKVxuXG5cdC8vIGRpc3BhdGNoIHJlcXVlc3Rcblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ2F1dGhvcml6YXRpb25fY29kZScsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdHNjb3BlOiBhcHBDb25maWcuT0FVVEhfUEtDRV9TQ09QRSxcblx0XHRjb2RlX3ZlcmlmaWVyOiBjb2RlVmVyaWZpZXIsXG5cdFx0cmVkaXJlY3RfdXJpOiBsb2NhdGlvbi5vcmlnaW4sXG5cdFx0Y29kZTogY29kZVxuXHR9KVxuXHR5aWVsZCBwdXQ8TW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24+KHtcblx0XHR0eXBlOiBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QsXG5cdFx0bW9kZWxOYW1lOiBnZXRUb2tlbk1vZGVsTmFtZSxcblx0XHRib2R5OiBmb3JtQm9keS50b1N0cmluZygpLFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuKG9hdXRoVG9rZW5QYXJhbTogT0F1dGhUb2tlbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBpcyByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ3JlZnJlc2hfdG9rZW4nLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRyZWZyZXNoX3Rva2VuOiBvYXV0aFRva2VuUGFyYW0ucmVmcmVzaF90b2tlblxuXHR9KVxuXHQvLyBjcmVhdGUgdGhlIGZvcm0gYm9keSBiYXNlZCBvbiBpZiB1c2luZyBhIGNsaWVudF9zZWNyZXQ6IHRyYWRpdGlvbmFsIE9BdXRoIHZzLiBQS0NFIGZsb3dcblx0aWYgKGFwcENvbmZpZy5DTElFTlRfU0VDUkVUKSB7XG5cdFx0Zm9ybUJvZHkuYXBwZW5kKCdjbGllbnRfc2VjcmV0JywgYXBwQ29uZmlnLkNMSUVOVF9TRUNSRVQpXG5cdH1cblx0eWllbGQgcHV0PE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uPih7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogZ2V0VG9rZW5Nb2RlbE5hbWUsXG5cdFx0Ym9keTogZm9ybUJvZHkudG9TdHJpbmcoKSxcblx0XHRub1N0b3JlOiB0cnVlXG5cdH0pXG5cdGNvbnN0IHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbixcblx0XHRmZXRjaEVycm9yQWN0aW9uXG5cdH06IHsgZmV0Y2hSZXN1bHRBY3Rpb24/OiBNb2RlbEZldGNoUmVzdWx0QWN0aW9uOyBmZXRjaEVycm9yQWN0aW9uPzogTW9kZWxGZXRjaEVycm9yQWN0aW9uIH0gPSB5aWVsZCByYWNlKHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZChnZXRUb2tlbk1vZGVsTmFtZSkpLFxuXHRcdGZldGNoRXJyb3JBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKGdldFRva2VuTW9kZWxOYW1lKSlcblx0fSlcblx0Ly8gYW55IGVycm9yIHJlc3BvbnNlXG5cdGlmIChmZXRjaEVycm9yQWN0aW9uKSB7XG5cdFx0Ly8gaWdub3JlIHNlcnZlciBlcnJvcnNcblx0XHRpZiAoXG5cdFx0XHRmZXRjaEVycm9yQWN0aW9uLmVycm9yRGF0YT8uc3RhdHVzICYmXG5cdFx0XHRmZXRjaEVycm9yQWN0aW9uLmVycm9yRGF0YS5zdGF0dXMgPj0gSFRUUF9TVEFUVVNfQ09ERS5JTlRFUk5BTF9TRVJWRVJfRVJST1Jcblx0XHQpIHtcblx0XHRcdHJldHVybiBvYXV0aFRva2VuUGFyYW1cblx0XHR9XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHQvLyBmb3Igc29tZSByZWFzb24gdGhlIHJlc3BvbnNlIGhhZCBubyBib2R5XG5cdGlmICghZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogcGVyZm9ybVRva2VuUmVmcmVzaCgpOiBTYWdhSXRlcmF0b3Ige1xuXHRpZiAocmVmcmVzaExvY2sgfHwgIW9hdXRoVG9rZW4pIHtcblx0XHQvLyBhbHJlYWR5IHJlZnJlc2hpbmcuIHdhaXQgZm9yIHRoZSBjdXJyZW50IHJlZnJlc2ggdG8gc3VjY2VlZCBvciBmYWlsLlxuXHRcdHlpZWxkIHJhY2Uoe1xuXHRcdFx0cmVmcmVzaFN1Y2Nlc3M6IHRha2UoQVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLlRPS0VOX1JFRlJFU0hfU1VDQ0VFREVEKSxcblx0XHRcdHJlZnJlc2hGYWlsZWQ6IHRha2UoQVVUSF9BQ1RJT05fVFlQRS5UT0tFTl9SRUZSRVNIX0ZBSUxFRClcblx0XHR9KVxuXHRcdHJldHVyblxuXHR9XG5cdGxvZ2dlci5kZWJ1ZygnUmVmcmVzaGluZyBPQXV0aCB0b2tlbicpXG5cdHJlZnJlc2hMb2NrID0gdHJ1ZVxuXHQvLyBvYXV0aFRva2VuIHdpbGwgYmUgc2V0IHRvOlxuXHQvLyAxLiBuZXcgdG9rZW4gKHN1Y2Nlc3MpXG5cdC8vIDIuIHNhbWUgdG9rZW4gKGZhaWxlZCBmcm9tIHRpbWVvdXQgb3Igc2VydmVyIGVycm9yKVxuXHQvLyAzLiBudWxsIChmYWlsKVxuXHRjb25zdCBvcmlnaW5hbEFjY2Vzc1Rva2VuID0gb2F1dGhUb2tlbi5hY2Nlc3NfdG9rZW5cblx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwoZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuLCBvYXV0aFRva2VuKVxuXHRpZiAoISFvYXV0aFRva2VuICYmIG9hdXRoVG9rZW4uYWNjZXNzX3Rva2VuICE9PSBvcmlnaW5hbEFjY2Vzc1Rva2VuKSB7XG5cdFx0bG9nZ2VyLmRlYnVnKCdPQXV0aCB0b2tlbiByZWZyZXNoZWQnKVxuXHRcdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFRva2VuLCBvYXV0aFRva2VuKVxuXHRcdHlpZWxkIHB1dDxBdXRoVG9rZW5TdWNjZXNzQWN0aW9uPih7IHR5cGU6IEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5UT0tFTl9SRUZSRVNIX1NVQ0NFRURFRCwgb2F1dGhUb2tlbiB9KVxuXHR9IGVsc2UgaWYgKG9hdXRoVG9rZW4gPT09IG51bGwpIHtcblx0XHRsb2dnZXIuZGVidWcoJ09BdXRoIHRva2VuIGZhaWxlZCB0byByZWZyZXNoJylcblx0XHQvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4gb3V0c2lkZSBvZiB0aGUgdG9rZW4gaGF2aW5nIGJlZW4gcmV2b2tlZCBvbiB0aGUgc2VydmVyIHNpZGVcblx0XHR5aWVsZCBhbGwoe1xuXHRcdFx0cmVmcmVzaEZhaWxlZDogcHV0PEF1dGhBY3Rpb24+KHsgdHlwZTogQVVUSF9BQ1RJT05fVFlQRS5UT0tFTl9SRUZSRVNIX0ZBSUxFRCB9KSxcblx0XHRcdGxvZ091dDogcHV0PEF1dGhBY3Rpb24+KHsgdHlwZTogQVVUSF9BQ1RJT05fVFlQRS5MT0dfT1VUX1JFUVVFU1RFRCB9KVxuXHRcdH0pXG5cdH1cblx0cmVmcmVzaExvY2sgPSBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGxvZ2luRmxvdyhtb2RlbEZldGNoUmVxdWVzdEFjdGlvbjogTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHR5aWVsZCBwdXQobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24pXG5cdGNvbnN0IHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbixcblx0XHRmZXRjaEVycm9yQWN0aW9uXG5cdH06IHsgZmV0Y2hSZXN1bHRBY3Rpb24/OiBNb2RlbEZldGNoUmVzdWx0QWN0aW9uOyBmZXRjaEVycm9yQWN0aW9uPzogTW9kZWxGZXRjaEVycm9yQWN0aW9uIH0gPSB5aWVsZCByYWNlKHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZChtb2RlbEZldGNoUmVxdWVzdEFjdGlvbi5tb2RlbE5hbWUpKSxcblx0XHRmZXRjaEVycm9yQWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaEZhaWxlZChtb2RlbEZldGNoUmVxdWVzdEFjdGlvbi5tb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbikge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0Y29uc3QgY29kZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGE/LmNvZGVcblx0aWYgKCFjb2RlKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4geWllbGQgY2FsbChnZXRUb2tlbkZyb21Db2RlLCBjb2RlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGNyZWRlbnRpYWxzTG9naW5GbG93KFxuXHRhY3Rpb246IEF1dGhDYXNWMUxvZ2luUmVxdWVzdEFjdGlvbiB8IEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvbixcblx0bW9kZWxOYW1lOiBzdHJpbmdcbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uOiBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbiA9IHtcblx0XHQvLyBzZXQgcmVxdWlyZWQgZGVmYXVsdHNcblx0XHR0eXBlOiBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QsXG5cdFx0bW9kZWxOYW1lLFxuXHRcdG5vU3RvcmU6IHRydWUsXG5cdFx0Ly8gZm9yY2Ugbm8gcmV0cnlcblx0XHRub1JldHJ5OiB0cnVlLFxuXHRcdC8vIHBhc3MgdGhydSBib2R5XG5cdFx0Ym9keTogYWN0aW9uLmJvZHlcblx0fVxuXHRyZXR1cm4geWllbGQgY2FsbChsb2dpbkZsb3csIG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGNhc1YxTG9naW5GbG93KGFjdGlvbjogQXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0cmV0dXJuIHlpZWxkIGNhbGwoY3JlZGVudGlhbHNMb2dpbkZsb3csIGFjdGlvbiwgJ2NvZGVGcm9tQ2FzVjEnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGxvY2FsTG9naW5GbG93KGFjdGlvbjogQXV0aExvY2FsTG9naW5SZXF1ZXN0QWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0cmV0dXJuIHlpZWxkIGNhbGwoY3JlZGVudGlhbHNMb2dpbkZsb3csIGFjdGlvbiwgJ2NvZGVGcm9tTG9jYWxDcmVkZW50aWFscycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogY2FzVGlja2V0TG9naW5GbG93KHRpY2tldDogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcpOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbjogTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24gPSB7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogJ2NvZGVGcm9tQ2FzVGlja2V0Jyxcblx0XHRub1N0b3JlOiB0cnVlLFxuXHRcdHF1ZXJ5UGFyYW1zOiB7XG5cdFx0XHR0aWNrZXQsXG5cdFx0XHRzZXJ2aWNlXG5cdFx0fVxuXHR9XG5cdHJldHVybiB5aWVsZCBjYWxsKGxvZ2luRmxvdywgbW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogcGtjZUxvZ2luRmxvdyhfOiBBdXRoUEtDRUxvZ2luUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCB8fCAhYXBwQ29uZmlnLk9BVVRIX1BLQ0VfU0NPUEUgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX0VORFBPSU5UKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDTElFTlRfSUQsIE9BVVRIX1BLQ0VfU0NPUEUsIGFuZCBPQVVUSF9QS0NFX0VORFBPSU5UIGFyZSByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Ly8gR2VuZXJhdGUgc3RhdGUgYW5kIGNvZGUgdmVyaWZpZXIgdmFsdWVzXG5cdGNvbnN0IHN0YXRlID0gdXVpZHY0KClcblx0Y29uc3QgY29kZVZlcmlmaWVyID0gdXVpZHY0KClcblx0Y29uc3Qgc2hhMjU2Q29kZVZlcmlmaWVyID0geWllbGQgY2FsbChzaGEyNTZBc3luYywgY29kZVZlcmlmaWVyKVxuXHRjb25zdCBjb2RlQ2hhbGxlbmdlID0geWllbGQgY2FsbChiYXNlNjRVcmxFbmNvZGUsIHNoYTI1NkNvZGVWZXJpZmllcilcblxuXHQvLyBQZXJzaXN0IHN0YXRlIGFuZCBjb2RlIHZlcmlmaWVyIGluIGxvY2FsIHN0b3JhZ2UgZm9yIHVzZSBhZnRlciBjb2RlIGZsb3cgcmVkaXJlY3QuXG5cdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFN0YXRlLCBzdGF0ZSlcblx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0Q29kZVZlcmlmaWVyLCBjb2RlVmVyaWZpZXIpXG5cblx0Ly8gUmVkaXJlY3QgdG8gQlMgY29kZSBmbG93IGF1dGggZW5kcG9pbnQgKHdoaWNoIHdpbGwgcmVkaXJlY3QgYmFjayBoZXJlKVxuXHRjb25zdCBsb2NhdGlvbiA9IHdpbmRvd1NlcnZpY2UuZ2V0TG9jYXRpb24oKVxuXHRjb25zdCBwa2NlQXV0aFJlZGlyZWN0VVJMID0gYCR7YXBwQ29uZmlnLk9BVVRIX1BLQ0VfRU5EUE9JTlR9PyR7bmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0cmVzcG9uc2VfdHlwZTogJ2NvZGUnLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRzdGF0ZTogc3RhdGUsXG5cdFx0c2NvcGU6IGFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFLFxuXHRcdGNvZGVfY2hhbGxlbmdlOiBjb2RlQ2hhbGxlbmdlLFxuXHRcdGNvZGVfY2hhbGxlbmdlX21ldGhvZDogJ1MyNTYnLFxuXHRcdHJlZGlyZWN0X3VyaTogbG9jYXRpb24ub3JpZ2luXG5cdH0pfWBcblx0eWllbGQgY2FsbCh3aW5kb3dTZXJ2aWNlLnJlcGxhY2UsIHBrY2VBdXRoUmVkaXJlY3RVUkwpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogaGFuZGxlQXV0aEZhaWx1cmUoYWN0aW9uOiBNb2RlbEZldGNoRXJyb3JBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHQvLyBUaGlzIHNob3VsZCBiZSB1bmxpa2VseSBzaW5jZSB3ZSBub3JtYWxseSBoYXZlIGEgcmVmcmVzaCB0b2tlbiBsb29wIGhhcHBlbmluZ1xuXHQvLyBidXQgaWYgdGhlIGFwcCBpcyBiYWNrZ3JvdW5kZWQsIHRoZSBsb29wIG1pZ2h0IG5vdCBiZSBjYXVnaHQgdXAgeWV0XG5cdGlmIChvYXV0aFRva2VuICYmIGFjdGlvbi5lcnJvckRhdGEgJiYgYWN0aW9uLmVycm9yRGF0YS5zdGF0dXMgPT09IEhUVFBfU1RBVFVTX0NPREUuVU5BVVRIT1JJWkVEKSB7XG5cdFx0bG9nZ2VyLmRlYnVnKCd0b2tlbiBleHBpcmVkIC0gcmVmcmVzaGluZycpXG5cdFx0eWllbGQgY2FsbChwZXJmb3JtVG9rZW5SZWZyZXNoKVxuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBnZXRPQXV0aFRva2VuOiBUb2tlbkFjY2Vzc0Z1bmN0aW9uID0gZnVuY3Rpb24qIChtb2RlbE5hbWU6IHN0cmluZykge1xuXHQvLyBEb24ndCB0cnkgdG8gcmVmcmVzaCB0aGUgdG9rZW4gaWYgd2UncmUgYWxyZWFkeSBpbiBhIHJlcXVlc3QgdG8gcmVmcmVzaCB0aGUgdG9rZW5cblx0aWYgKG1vZGVsTmFtZSA9PT0gJ2dldFRva2VuJykge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0aWYgKG9hdXRoVG9rZW4gJiYgb2F1dGhUb2tlblsnLmV4cGlyZXMnXSkge1xuXHRcdGNvbnN0IHRoaXJ0eVNlY29uZHNGcm9tTm93ID0gbmV3IERhdGUoKVxuXHRcdHRoaXJ0eVNlY29uZHNGcm9tTm93LnNldFNlY29uZHModGhpcnR5U2Vjb25kc0Zyb21Ob3cuZ2V0U2Vjb25kcygpICsgMzApXG5cdFx0aWYgKG5ldyBEYXRlKG9hdXRoVG9rZW5bJy5leHBpcmVzJ10pIDwgdGhpcnR5U2Vjb25kc0Zyb21Ob3cpIHtcblx0XHRcdC8vIHN0YXJ0IGEgdG9rZW4gcmVmcmVzaCBhbmQgd2FpdCBmb3IgdGhlIHN1Y2Nlc3MgYWN0aW9uIGluIGNhc2UgYW5vdGhlciByZWZyZXNoIGlzIGN1cnJlbnRseSBoYXBwZW5pbmdcblx0XHRcdHlpZWxkIGNhbGwocGVyZm9ybVRva2VuUmVmcmVzaClcblx0XHRcdHJldHVybiBvYXV0aFRva2VuXG5cdFx0fVxuXHR9XG5cdHJldHVybiBvYXV0aFRva2VuXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKiBhdXRoU2FnYShcblx0b2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2VQYXJhbTogT0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgPSBkZWZhdWx0T0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UsXG5cdHRpY2tldFByb3ZpZGVyU2VydmljZTogVGlja2V0UHJvdmlkZXJTZXJ2aWNlID0gZGVmYXVsdFRpY2tldFByb3ZpZGVyU2VydmljZSxcblx0Y29kZVByb3ZpZGVyU2VydmljZTogQ29kZVByb3ZpZGVyU2VydmljZSA9IGRlZmF1bHRDb2RlUHJvdmlkZXJTZXJ2aWNlXG4pOiBTYWdhSXRlcmF0b3Ige1xuXHRsb2dnZXIgPSBnZXRMb2dnZXIoKVxuXHRvYXV0aFBlcnNpc3RlbmNlU2VydmljZSA9IG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlUGFyYW1cblxuXHQvLyBUcnkgdG8gZ2V0IHBlcnNpc3RlZCB0b2tlbiAobm9ybWFsbHkgaW4gQXN5bmNTdG9yYWdlIG9yIExvY2FsU3RvcmFnZSlcblx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0UGVyc2lzdGVkVG9rZW4pXG5cblx0Ly8gSWYgbm8gdG9rZW4sIHRyeSB0byBnZXQgQ0FTIHRpY2tldCAobm9ybWFsbHkgaW4gdGhlIFVSTCksIHVzZSBpdCB0byBnZXQgYSB0b2tlblxuXHRpZiAoIW9hdXRoVG9rZW4pIHtcblx0XHRjb25zdCBjYXNUaWNrZXQgPSB0aWNrZXRQcm92aWRlclNlcnZpY2UuZ2V0VGlja2V0KClcblx0XHR0aWNrZXRQcm92aWRlclNlcnZpY2UucmVtb3ZlVGlja2V0KClcblx0XHRjb25zdCBzZXJ2aWNlID0gdGlja2V0UHJvdmlkZXJTZXJ2aWNlLmdldEFwcFNlcnZpY2VOYW1lKClcblx0XHRpZiAoY2FzVGlja2V0ICYmIHNlcnZpY2UpIHtcblx0XHRcdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGNhc1RpY2tldExvZ2luRmxvdywgY2FzVGlja2V0LCBzZXJ2aWNlKVxuXHRcdH1cblx0fVxuXG5cdC8vIElmIE9BdXRoIENvZGUgZXhpc3RzIChub3JtYWxseSBpbiB0aGUgVVJMKSwgdXNlIGl0IHRvIGdldCBhIHRva2VuXG5cdGNvbnN0IGNvZGUgPSBjb2RlUHJvdmlkZXJTZXJ2aWNlLmdldENvZGUoKVxuXHRpZiAoY29kZSkge1xuXHRcdC8vIExvZyBvdXQgdGhlIGN1cnJlbnQgdXNlciBpZiBhIG5ldyB0b2tlbiBpcyBhYm91dCB0byBiZSBnZW5lcmF0ZWQgZnJvbSB0aGUgT0F1dGggQ29kZVxuXHRcdGlmIChvYXV0aFRva2VuKSB7XG5cdFx0XHR5aWVsZCBhbGwoe1xuXHRcdFx0XHRjbGVhclVzZXJEYXRhOiBwdXQ8TW9kZWxSZW1vdmVLZXlBY3Rpb24+KHsgdHlwZTogTU9ERUxfUkVNT1ZFX0tFWV9BQ1RJT05fVFlQRSwgbW9kZWxQYXRoOiAndXNlcicgfSksXG5cdFx0XHRcdGNsZWFyUGVyc2lzdGVudFRva2VuOiBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RUb2tlbiwgbnVsbClcblx0XHRcdH0pXG5cdFx0XHRvYXV0aFRva2VuID0gbnVsbFxuXHRcdH1cblxuXHRcdC8vIElmIE9BdXRoIHN0YXRlIGV4aXN0cyAobm9ybWFsbHkgaW4gdGhlIFVSTCksIHVzZSBpdCBpbiBhZGRpdGlvbiB0byB0aGUgY29kZSBmb3IgUEtDRSBsb2dpbiBmbG93XG5cdFx0Y29uc3Qgc3RhdGUgPSBjb2RlUHJvdmlkZXJTZXJ2aWNlLmdldFN0YXRlKClcblx0XHRpZiAoc3RhdGUpIHtcblx0XHRcdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGdldFRva2VuRnJvbUNvZGVBbmRTdGF0ZSwgY29kZSwgc3RhdGUpXG5cdFx0fSBlbHNlIHtcblx0XHRcdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGdldFRva2VuRnJvbUNvZGUsIGNvZGUpXG5cdFx0fVxuXHR9XG5cdGNvZGVQcm92aWRlclNlcnZpY2UucmVtb3ZlQ29kZUFuZFN0YXRlKClcblxuXHR5aWVsZCBwdXQ8QXV0aFRva2VuQWN0aW9uPih7IHR5cGU6IEFVVEhfVE9LRU5fQUNUSU9OX1RZUEUuQVVUSF9JTklUSUFMSVpFRCwgb2F1dGhUb2tlbiB9KVxuXG5cdHlpZWxkIHRha2VFdmVyeShNT0RFTF9GRVRDSF9FUlJPUl9BQ1RJT05fVFlQRS5UUllfRkVUQ0hfRkFJTEVELCBoYW5kbGVBdXRoRmFpbHVyZSlcblxuXHRkbyB7XG5cdFx0aWYgKCFvYXV0aFRva2VuKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdGNhc1YxQWN0aW9uLFxuXHRcdFx0XHRsb2NhbExvZ2luQWN0aW9uLFxuXHRcdFx0XHRwa2NlTG9naW5BY3Rpb25cblx0XHRcdH06IHtcblx0XHRcdFx0Y2FzVjFBY3Rpb24/OiBBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb25cblx0XHRcdFx0bG9jYWxMb2dpbkFjdGlvbj86IEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvblxuXHRcdFx0XHRwa2NlTG9naW5BY3Rpb24/OiBBdXRoUEtDRUxvZ2luUmVxdWVzdEFjdGlvblxuXHRcdFx0fSA9IHlpZWxkIHJhY2Uoe1xuXHRcdFx0XHRjYXNWMUFjdGlvbjogdGFrZShBVVRIX0NBU19WMV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLkNBU19WMV9MT0dJTl9SRVFVRVNUKSxcblx0XHRcdFx0bG9jYWxMb2dpbkFjdGlvbjogdGFrZShBVVRIX0xPQ0FMX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUuTE9DQUxfTE9HSU5fUkVRVUVTVCksXG5cdFx0XHRcdHBrY2VMb2dpbkFjdGlvbjogdGFrZShBVVRIX1BLQ0VfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRS5QS0NFX0xPR0lOX1JFUVVFU1QpXG5cdFx0XHR9KVxuXG5cdFx0XHR5aWVsZCBwdXQ8QXV0aEFjdGlvbj4oeyB0eXBlOiBBVVRIX0FDVElPTl9UWVBFLkxPR0lOX1JFUVVFU1RFRCB9KVxuXHRcdFx0aWYgKGNhc1YxQWN0aW9uKSB7XG5cdFx0XHRcdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGNhc1YxTG9naW5GbG93LCBjYXNWMUFjdGlvbilcblx0XHRcdH0gZWxzZSBpZiAobG9jYWxMb2dpbkFjdGlvbikge1xuXHRcdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChsb2NhbExvZ2luRmxvdywgbG9jYWxMb2dpbkFjdGlvbilcblx0XHRcdH0gZWxzZSBpZiAocGtjZUxvZ2luQWN0aW9uKSB7XG5cdFx0XHRcdC8vIG9hdXRoVG9rZW4gaXMgbm90IHJldHVybmVkIGhlcmUsIGFzIHRoaXMgZmxvdyB3aWxsIHJlc3VsdCBpbiBhIHdpbmRvdyByZWRpcmVjdFxuXHRcdFx0XHR5aWVsZCBjYWxsKHBrY2VMb2dpbkZsb3csIHBrY2VMb2dpbkFjdGlvbilcblx0XHRcdFx0Ly8gYnJlYWsgZXhlY3V0aW9uXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChvYXV0aFRva2VuKSB7XG5cdFx0XHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RUb2tlbiwgb2F1dGhUb2tlbilcblx0XHRcdHlpZWxkIGFsbCh7XG5cdFx0XHRcdGxvZ2luU3VjY2VzczogcHV0PEF1dGhUb2tlblN1Y2Nlc3NBY3Rpb24+KHtcblx0XHRcdFx0XHR0eXBlOiBBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuR0VUX1RPS0VOX1NVQ0NFRURFRCxcblx0XHRcdFx0XHRvYXV0aFRva2VuXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRsb2dPdXQ6IHRha2UoQVVUSF9BQ1RJT05fVFlQRS5MT0dfT1VUX1JFUVVFU1RFRClcblx0XHRcdH0pXG5cdFx0fSBlbHNlIHtcblx0XHRcdHlpZWxkIHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HSU5fRkFJTEVEIH0pXG5cdFx0fVxuXG5cdFx0eWllbGQgYWxsKHtcblx0XHRcdGNsZWFyVXNlckRhdGE6IHB1dDxNb2RlbFJlbW92ZUtleUFjdGlvbj4oeyB0eXBlOiBNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFLCBtb2RlbFBhdGg6ICd1c2VyJyB9KSxcblx0XHRcdGNsZWFyUGVyc2lzdGVudFRva2VuOiBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RUb2tlbiwgbnVsbClcblx0XHR9KVxuXHRcdG9hdXRoVG9rZW4gPSBudWxsXG5cdH0gd2hpbGUgKHRydWUpXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsb0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLHdCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxzQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sY0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBU0EsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsSUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsUUFBQSxHQUFBVixPQUFBO0FBd0JBOztBQUVPLE1BQU1XLHlCQUF5QixHQUFHQSxDQUFDQyxNQUFpQixFQUFFQyxTQUFpQixLQUM3RSxJQUFBQywwQ0FBaUMsRUFBQ0YsTUFBTSxDQUFDLElBQUlBLE1BQU0sQ0FBQ0cs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "studiokit-scaffolding-js",
3
- "version": "7.2.0-next.2.6",
3
+ "version": "7.2.0-next.2.7",
4
4
  "description": "Common scaffolding for Studio apps at Purdue",
5
5
  "repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
6
6
  "license": "MIT",