@workflow/sveltekit 4.0.13 → 4.0.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,WAAW,EAKX,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,gBAAiB,SAAQ,WAAW;;gBAGnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IA+B3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA4DvB,eAAe;YA4Cf,mBAAmB;YAyCnB,iBAAiB;YAqDjB,mBAAmB;CAMlC;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,WAAW,EAKX,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,gBAAiB,SAAQ,WAAW;;gBAGnC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IA+B3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA4DvB,eAAe;YA4Cf,mBAAmB;YAyCnB,iBAAiB;YAwDjB,mBAAmB;CAMlC;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
package/dist/builder.js CHANGED
@@ -149,11 +149,14 @@ export const POST = async ({request}) => {
149
149
  webhookRouteContent = webhookRouteContent.replace(/async function handler\(request\) \{[\s\S]*?const token = decodeURIComponent\(pathParts\[pathParts\.length - 1\]\);/, `async function handler(request, token) {`);
150
150
  // Remove the URL parsing code since we get token from params
151
151
  webhookRouteContent = webhookRouteContent.replace(/const url = new URL\(request\.url\);[\s\S]*?const pathParts = url\.pathname\.split\('\/'\);[\s\S]*?\n/, '');
152
- // Replace all HTTP method exports with SvelteKit-compatible handlers
153
- webhookRouteContent = webhookRouteContent.replace(/export const GET = handler;\nexport const POST = handler;\nexport const PUT = handler;\nexport const PATCH = handler;\nexport const DELETE = handler;\nexport const HEAD = handler;\nexport const OPTIONS = handler;/, `${NORMALIZE_REQUEST_CODE}
154
- const createSvelteKitHandler = (method) => async ({ request, params, platform }) => {
155
- const normalRequest = await normalizeRequest(request);
156
- const response = await handler(normalRequest, params.token);
152
+ // Replace all HTTP method exports with SvelteKit-compatible handlers.
153
+ // The `request` from SvelteKit is already a standard `Request`, so it is
154
+ // handed to the webhook handler as-is. Notably it must NOT be copied via
155
+ // a normalizer that buffers the body: this is a public route where the
156
+ // token is checked inside `handler`, so the body must stay unread until
157
+ // the token has been accepted.
158
+ webhookRouteContent = webhookRouteContent.replace(/export const GET = handler;\nexport const POST = handler;\nexport const PUT = handler;\nexport const PATCH = handler;\nexport const DELETE = handler;\nexport const HEAD = handler;\nexport const OPTIONS = handler;/, `const createSvelteKitHandler = (method) => async ({ request, params, platform }) => {
159
+ const response = await handler(request, params.token);
157
160
  return response;
158
161
  };
159
162
 
@@ -196,4 +199,4 @@ async function assertDirectory(path) {
196
199
  throw new Error(`Path exists but is not a directory: ${path}`);
197
200
  }
198
201
  }
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFFBQVEsRUFBRSxvQkFBb0I7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQjtDQUMvQixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDL0MsVUFBVSxDQUFxQjtJQUUvQixZQUFZLFNBQTRELEVBQUU7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSTtZQUMxQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFFBQVE7WUFDUixZQUFZO1NBQ2IsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsVUFB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QUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBhY2Nlc3MsXG4gIGNvcHlGaWxlLFxuICBta2RpcixcbiAgcmVhZEZpbGUsXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIGNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICByZXBsYWNlR2VuZXJhdGVkUm91dGVFeHBvcnQsXG4gIHJlc29sdmVQcm9qZWN0Um9vdCxcbiAgdHlwZSBTdmVsdGVLaXRDb25maWcsXG59IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5cbmNvbnN0IFNWRUxURUtJVF9WSVJUVUFMX01PRFVMRVMgPSBbXG4gICckZW52LyonLCAvLyBBbGwgJGVudiBzdWJwYXRoc1xuICAnJGxpYicsIC8vIEV4YWN0ICRsaWIgaW1wb3J0XG4gICckbGliLyonLCAvLyBBbGwgJGxpYiBzdWJwYXRoc1xuICAnJGFwcC8qJywgLy8gQWxsICRhcHAgc3VicGF0aHNcbl07XG5cbmV4cG9ydCBjbGFzcyBTdmVsdGVLaXRCdWlsZGVyIGV4dGVuZHMgQmFzZUJ1aWxkZXIge1xuICAjcm91dGVzRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPFN2ZWx0ZUtpdENvbmZpZz4gJiB7IHJvdXRlc0Rpcj86IHN0cmluZyB9ID0ge30pIHtcbiAgICBjb25zdCB3b3JraW5nRGlyID0gcmVzb2x2ZShjb25maWcud29ya2luZ0RpciB8fCBwcm9jZXNzLmN3ZCgpKTtcbiAgICBjb25zdCBkaXJzID0gY29uZmlnLmRpcnMgPz8gW1xuICAgICAgJ3dvcmtmbG93cycsXG4gICAgICAnc3JjL3dvcmtmbG93cycsXG4gICAgICAncm91dGVzJyxcbiAgICAgICdzcmMvcm91dGVzJyxcbiAgICBdO1xuICAgIGNvbnN0IHByb2plY3RSb290ID0gY29uZmlnLnByb2plY3RSb290ID8/IHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyKTtcbiAgICBjb25zdCByb3V0ZXNEaXIgPSBjb25maWcucm91dGVzRGlyXG4gICAgICA/IHJlc29sdmUod29ya2luZ0RpciwgY29uZmlnLnJvdXRlc0RpcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnKHtcbiAgICAgICAgd29ya2luZ0RpcixcbiAgICAgICAgcHJvamVjdFJvb3QsXG4gICAgICAgIGRpcnMsXG4gICAgICAgIHdhdGNoOiBjb25maWcud2F0Y2gsXG4gICAgICAgIGV4dGVybmFsUGFja2FnZXM6IFsuLi5TVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTXSxcbiAgICAgIH0pLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgZGlycyxcbiAgICAgIGJ1aWxkVGFyZ2V0OiAnc3ZlbHRla2l0JyBhcyBjb25zdCxcbiAgICAgIHdvcmtpbmdEaXIsXG4gICAgICBwcm9qZWN0Um9vdCxcbiAgICAgIG1vZHVsZVNwZWNpZmllclJvb3Q6IGNvbmZpZy5tb2R1bGVTcGVjaWZpZXJSb290ID8/IHdvcmtpbmdEaXIsXG4gICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgfSk7XG4gICAgdGhpcy4jcm91dGVzRGlyID0gcm91dGVzRGlyO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gYXdhaXQgdGhpcy5sb2FkUm91dGVzRGlyZWN0b3J5KCk7XG4gICAgY29uc3Qgd29ya2Zsb3dHZW5lcmF0ZWREaXIgPSBqb2luKHJvdXRlc0RpciwgJy53ZWxsLWtub3duL3dvcmtmbG93L3YxJyk7XG5cbiAgICAvLyBFbnN1cmUgb3V0cHV0IGRpcmVjdG9yaWVzIGV4aXN0XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dHZW5lcmF0ZWREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQWRkIC5naXRpZ25vcmUgdG8gZXhjbHVkZSBnZW5lcmF0ZWQgZmlsZXMgZnJvbSB2ZXJzaW9uIGNvbnRyb2xcbiAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IHdvcmtmbG93IGFuZCBzdGVwIGZpbGVzIHRvIGJ1bmRsZVxuICAgIGNvbnN0IGlucHV0RmlsZXMgPSBhd2FpdCB0aGlzLmdldElucHV0RmlsZXMoKTtcbiAgICBjb25zdCB0c2NvbmZpZ1BhdGggPSBhd2FpdCB0aGlzLmZpbmRUc0NvbmZpZ1BhdGgoKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpbnB1dEZpbGVzLFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHRoZSB0aHJlZSBTdmVsdGVLaXQgcm91dGUgaGFuZGxlcnNcbiAgICBjb25zdCBzdGVwc01hbmlmZXN0ID0gYXdhaXQgdGhpcy5idWlsZFN0ZXBzUm91dGUob3B0aW9ucyk7XG4gICAgY29uc3Qgd29ya2Zsb3dzTWFuaWZlc3QgPSBhd2FpdCB0aGlzLmJ1aWxkV29ya2Zsb3dzUm91dGUob3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5idWlsZFdlYmhvb2tSb3V0ZSh7IHdvcmtmbG93R2VuZXJhdGVkRGlyIH0pO1xuXG4gICAgLy8gTWVyZ2UgbWFuaWZlc3RzIGZyb20gYm90aCBidW5kbGVzXG4gICAgY29uc3QgbWFuaWZlc3QgPSB7XG4gICAgICBzdGVwczogeyAuLi5zdGVwc01hbmlmZXN0LnN0ZXBzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5zdGVwcyB9LFxuICAgICAgd29ya2Zsb3dzOiB7IC4uLnN0ZXBzTWFuaWZlc3Qud29ya2Zsb3dzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC53b3JrZmxvd3MgfSxcbiAgICAgIGNsYXNzZXM6IHsgLi4uc3RlcHNNYW5pZmVzdC5jbGFzc2VzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5jbGFzc2VzIH0sXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHVuaWZpZWQgbWFuaWZlc3RcbiAgICBjb25zdCB3b3JrZmxvd0J1bmRsZVBhdGggPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnZmxvdy8rc2VydmVyLmpzJyk7XG4gICAgY29uc3QgbWFuaWZlc3RKc29uID0gYXdhaXQgdGhpcy5jcmVhdGVNYW5pZmVzdCh7XG4gICAgICB3b3JrZmxvd0J1bmRsZVBhdGgsXG4gICAgICBtYW5pZmVzdERpcjogd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcblxuICAgIC8vIEV4cG9zZSBtYW5pZmVzdCBhcyBhIHN0YXRpYyBmaWxlIHdoZW4gV09SS0ZMT1dfUFVCTElDX01BTklGRVNUPTEuXG4gICAgLy8gU3ZlbHRlS2l0IHNlcnZlcyBmaWxlcyBmcm9tIHN0YXRpYy8gYXQgdGhlIHJvb3QgVVJMLlxuICAgIGlmICh0aGlzLnNob3VsZEV4cG9zZVB1YmxpY01hbmlmZXN0ICYmIG1hbmlmZXN0SnNvbikge1xuICAgICAgY29uc3Qgc3RhdGljTWFuaWZlc3REaXIgPSBqb2luKFxuICAgICAgICB0aGlzLmNvbmZpZy53b3JraW5nRGlyLFxuICAgICAgICAnc3RhdGljLy53ZWxsLWtub3duL3dvcmtmbG93L3YxJ1xuICAgICAgKTtcbiAgICAgIGF3YWl0IG1rZGlyKHN0YXRpY01hbmlmZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5WRVJDRUxfREVQTE9ZTUVOVF9JRCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKHN0YXRpY01hbmlmZXN0RGlyLCAnLmdpdGlnbm9yZScpLCAnKicpO1xuICAgICAgfVxuICAgICAgYXdhaXQgY29weUZpbGUoXG4gICAgICAgIGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdtYW5pZmVzdC5qc29uJyksXG4gICAgICAgIGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICdtYW5pZmVzdC5qc29uJylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZFN0ZXBzUm91dGUoe1xuICAgIGlucHV0RmlsZXMsXG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgdHNjb25maWdQYXRoLFxuICB9OiB7XG4gICAgaW5wdXRGaWxlczogc3RyaW5nW107XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgICB0c2NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgc3RlcHMgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL3N0ZXAvK3NlcnZlci5qc1xuICAgIGNvbnN0IHN0ZXBzUm91dGVEaXIgPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnc3RlcCcpO1xuICAgIGF3YWl0IG1rZGlyKHN0ZXBzUm91dGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgeyBtYW5pZmVzdCB9ID0gYXdhaXQgdGhpcy5jcmVhdGVTdGVwc0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIG91dGZpbGU6IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGV4dGVybmFsaXplTm9uU3RlcHM6IHRydWUsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCBzdGVwc1JvdXRlRmlsZSA9IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgc3RlcHNSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShzdGVwc1JvdXRlRmlsZSwgJ3V0Zi04Jyk7XG5cbiAgICAvLyBSZXBsYWNlIHRoZSBkZWZhdWx0IGV4cG9ydCB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJcbiAgICBzdGVwc1JvdXRlQ29udGVudCA9IHJlcGxhY2VHZW5lcmF0ZWRSb3V0ZUV4cG9ydChcbiAgICAgIHN0ZXBzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydFxccypcXHtcXHMqc3RlcEVudHJ5cG9pbnRcXHcqXFxzK2FzXFxzK0hFQURcXHMqLFxccypzdGVwRW50cnlwb2ludFxcdypcXHMrYXNcXHMrUE9TVFxccypcXH1cXHMqOz9cXHMqJC9tLFxuICAgICAgYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmNvbnN0IGhhbmRsZVN0ZXBSZXF1ZXN0ID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHN0ZXBFbnRyeXBvaW50KG5vcm1hbFJlcXVlc3QpO1xufTtcblxuZXhwb3J0IGNvbnN0IEhFQUQgPSBoYW5kbGVTdGVwUmVxdWVzdDtcbmV4cG9ydCBjb25zdCBQT1NUID0gaGFuZGxlU3RlcFJlcXVlc3Q7YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHN0ZXAgcm91dGUnXG4gICAgKTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZShzdGVwc1JvdXRlRmlsZSwgc3RlcHNSb3V0ZUNvbnRlbnQpO1xuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXb3JrZmxvd3NSb3V0ZSh7XG4gICAgaW5wdXRGaWxlcyxcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICB0c2NvbmZpZ1BhdGgsXG4gIH06IHtcbiAgICBpbnB1dEZpbGVzOiBzdHJpbmdbXTtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcjogc3RyaW5nO1xuICAgIHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3b3JrZmxvd3Mgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL2Zsb3cvK3NlcnZlci5qc1xuICAgIGNvbnN0IHdvcmtmbG93c1JvdXRlRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ2Zsb3cnKTtcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd3NSb3V0ZURpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCB7IG1hbmlmZXN0IH0gPSBhd2FpdCB0aGlzLmNyZWF0ZVdvcmtmbG93c0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgb3V0ZmlsZTogam9pbih3b3JrZmxvd3NSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGJ1bmRsZUZpbmFsT3V0cHV0OiBmYWxzZSxcbiAgICAgIGlucHV0RmlsZXMsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZUZpbGUgPSBqb2luKHdvcmtmbG93c1JvdXRlRGlyLCAnK3NlcnZlci5qcycpO1xuICAgIGxldCB3b3JrZmxvd3NSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh3b3JrZmxvd3NSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBleHBvcnQgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyXG4gICAgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gcmVwbGFjZUdlbmVyYXRlZFJvdXRlRXhwb3J0KFxuICAgICAgd29ya2Zsb3dzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydCBjb25zdCBQT1NUID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7PyQvbSxcbiAgICAgIChfbWF0Y2gsIG9wdGlvbnMgPSAnJykgPT4gYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmV4cG9ydCBjb25zdCBQT1NUID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn07YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHdvcmtmbG93IHJvdXRlJ1xuICAgICk7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHdvcmtmbG93c1JvdXRlRmlsZSwgd29ya2Zsb3dzUm91dGVDb250ZW50KTtcblxuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rUm91dGUoe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICB9OiB7XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3ZWJob29rIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS93ZWJob29rL1t0b2tlbl0vK3NlcnZlci5qc1xuICAgIGNvbnN0IHdlYmhvb2tSb3V0ZUZpbGUgPSBqb2luKFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICAnd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanMnXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2ViaG9va0J1bmRsZSh7XG4gICAgICBvdXRmaWxlOiB3ZWJob29rUm91dGVGaWxlLFxuICAgICAgYnVuZGxlOiBmYWxzZSwgLy8gU3ZlbHRlS2l0IHdpbGwgaGFuZGxlIGJ1bmRsaW5nXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBsZXQgd2ViaG9va1JvdXRlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gVXBkYXRlIGhhbmRsZXIgc2lnbmF0dXJlIHRvIGFjY2VwdCB0b2tlbiBhcyBwYXJhbWV0ZXJcbiAgICB3ZWJob29rUm91dGVDb250ZW50ID0gd2ViaG9va1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2FzeW5jIGZ1bmN0aW9uIGhhbmRsZXJcXChyZXF1ZXN0XFwpIFxce1tcXHNcXFNdKj9jb25zdCB0b2tlbiA9IGRlY29kZVVSSUNvbXBvbmVudFxcKHBhdGhQYXJ0c1xcW3BhdGhQYXJ0c1xcLmxlbmd0aCAtIDFcXF1cXCk7LyxcbiAgICAgIGBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcXVlc3QsIHRva2VuKSB7YFxuICAgICk7XG5cbiAgICAvLyBSZW1vdmUgdGhlIFVSTCBwYXJzaW5nIGNvZGUgc2luY2Ugd2UgZ2V0IHRva2VuIGZyb20gcGFyYW1zXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9jb25zdCB1cmwgPSBuZXcgVVJMXFwocmVxdWVzdFxcLnVybFxcKTtbXFxzXFxTXSo/Y29uc3QgcGF0aFBhcnRzID0gdXJsXFwucGF0aG5hbWVcXC5zcGxpdFxcKCdcXC8nXFwpO1tcXHNcXFNdKj9cXG4vLFxuICAgICAgJydcbiAgICApO1xuXG4gICAgLy8gUmVwbGFjZSBhbGwgSFRUUCBtZXRob2QgZXhwb3J0cyB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJzXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9leHBvcnQgY29uc3QgR0VUID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgUE9TVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBVVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBBVENIID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgREVMRVRFID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgSEVBRCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBoYW5kbGVyOy8sXG4gICAgICBgJHtOT1JNQUxJWkVfUkVRVUVTVF9DT0RFfVxuY29uc3QgY3JlYXRlU3ZlbHRlS2l0SGFuZGxlciA9IChtZXRob2QpID0+IGFzeW5jICh7IHJlcXVlc3QsIHBhcmFtcywgcGxhdGZvcm0gfSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBoYW5kbGVyKG5vcm1hbFJlcXVlc3QsIHBhcmFtcy50b2tlbik7XG4gIHJldHVybiByZXNwb25zZTtcbn07XG5cbmV4cG9ydCBjb25zdCBHRVQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdHRVQnKTtcbmV4cG9ydCBjb25zdCBQT1NUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUE9TVCcpO1xuZXhwb3J0IGNvbnN0IFBVVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ1BVVCcpO1xuZXhwb3J0IGNvbnN0IFBBVENIID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUEFUQ0gnKTtcbmV4cG9ydCBjb25zdCBERUxFVEUgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdERUxFVEUnKTtcbmV4cG9ydCBjb25zdCBIRUFEID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignSEVBRCcpO1xuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdPUFRJT05TJyk7YFxuICAgICk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUod2ViaG9va1JvdXRlRmlsZSwgd2ViaG9va1JvdXRlQ29udGVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSb3V0ZXNEaXJlY3RvcnkoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByb3V0ZXNEaXIgPVxuICAgICAgdGhpcy4jcm91dGVzRGlyID8/IChhd2FpdCBsb2FkU3ZlbHRlS2l0Um91dGVzRGlyKHRoaXMuY29uZmlnLndvcmtpbmdEaXIpKTtcbiAgICBhd2FpdCBhc3NlcnREaXJlY3Rvcnkocm91dGVzRGlyKTtcbiAgICByZXR1cm4gcm91dGVzRGlyO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkU3ZlbHRlS2l0Um91dGVzRGlyKFxuICB3b3JraW5nRGlyOiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4od29ya2luZ0RpciwgJ3BhY2thZ2UuanNvbicpKTtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcmVxdWlyZS5yZXNvbHZlKCdAc3ZlbHRlanMva2l0L3BhY2thZ2UuanNvbicpO1xuICBjb25zdCBsb2FkZXJQYXRoID0gam9pbihkaXJuYW1lKHBhY2thZ2VKc29uUGF0aCksICdzcmMvY29yZS9jb25maWcvaW5kZXguanMnKTtcblxuICBjb25zdCBjb25maWdNb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTChsb2FkZXJQYXRoKS5ocmVmKTtcbiAgLy8gU3ZlbHRlS2l0IDIuNjIrIGBsb2FkX2NvbmZpZygpYCByZXNvbHZlcyBWaXRlIGNvbmZpZyBmaXJzdC4gQ2FsbGluZyBpdFxuICAvLyB3aGlsZSBgd29ya2Zsb3cvc3ZlbHRla2l0YCBpcyBpbXBvcnRlZCBmcm9tIHZpdGUuY29uZmlnLnRzIHJlY3Vyc2l2ZWx5XG4gIC8vIHJlbG9hZHMgdml0ZS5jb25maWcudHMgYW5kIGxlYXZlcyB0aGlzIHRvcC1sZXZlbCBidWlsZCB1bnJlc29sdmVkLlxuICBjb25zdCBjb25maWcgPVxuICAgIGNvbmZpZ01vZHVsZS5sb2FkX3N2ZWx0ZV9jb25maWcgIT0gbnVsbFxuICAgICAgPyBhd2FpdCBjb25maWdNb2R1bGUubG9hZF9zdmVsdGVfY29uZmlnKHdvcmtpbmdEaXIpXG4gICAgICA6IGF3YWl0IGNvbmZpZ01vZHVsZS5sb2FkX2NvbmZpZyh7IGN3ZDogd29ya2luZ0RpciB9KTtcbiAgY29uc3Qgcm91dGVzRGlyID0gY29uZmlnLmtpdD8uZmlsZXM/LnJvdXRlcztcbiAgaWYgKHJvdXRlc0RpciA9PSBudWxsIHx8IHR5cGVvZiByb3V0ZXNEaXIgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0V4cGVjdGVkIFN2ZWx0ZUtpdCBjb25maWcgbG9hZGVyIHRvIHJldHVybiBraXQuZmlsZXMucm91dGVzIGFzIGEgc3RyaW5nLidcbiAgICApO1xuICB9XG4gIHJldHVybiByb3V0ZXNEaXI7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFzc2VydERpcmVjdG9yeShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgYWNjZXNzKHBhdGgsIGNvbnN0YW50cy5GX09LKTtcbiAgY29uc3Qgc3RhdHMgPSBhd2FpdCBzdGF0KHBhdGgpO1xuICBpZiAoIXN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggZXhpc3RzIGJ1dCBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7cGF0aH1gKTtcbiAgfVxufVxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEMsT0FBTyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLFFBQVEsRUFBRSxvQkFBb0I7SUFDOUIsUUFBUSxFQUFFLG9CQUFvQjtDQUMvQixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUFDL0MsVUFBVSxDQUFxQjtJQUUvQixZQUFZLFNBQTRELEVBQUU7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSTtZQUMxQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFFBQVE7WUFDUixZQUFZO1NBQ2IsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsVUFB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QUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBhY2Nlc3MsXG4gIGNvcHlGaWxlLFxuICBta2RpcixcbiAgcmVhZEZpbGUsXG4gIHN0YXQsXG4gIHdyaXRlRmlsZSxcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIGNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnLFxuICBOT1JNQUxJWkVfUkVRVUVTVF9DT0RFLFxuICByZXBsYWNlR2VuZXJhdGVkUm91dGVFeHBvcnQsXG4gIHJlc29sdmVQcm9qZWN0Um9vdCxcbiAgdHlwZSBTdmVsdGVLaXRDb25maWcsXG59IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5cbmNvbnN0IFNWRUxURUtJVF9WSVJUVUFMX01PRFVMRVMgPSBbXG4gICckZW52LyonLCAvLyBBbGwgJGVudiBzdWJwYXRoc1xuICAnJGxpYicsIC8vIEV4YWN0ICRsaWIgaW1wb3J0XG4gICckbGliLyonLCAvLyBBbGwgJGxpYiBzdWJwYXRoc1xuICAnJGFwcC8qJywgLy8gQWxsICRhcHAgc3VicGF0aHNcbl07XG5cbmV4cG9ydCBjbGFzcyBTdmVsdGVLaXRCdWlsZGVyIGV4dGVuZHMgQmFzZUJ1aWxkZXIge1xuICAjcm91dGVzRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPFN2ZWx0ZUtpdENvbmZpZz4gJiB7IHJvdXRlc0Rpcj86IHN0cmluZyB9ID0ge30pIHtcbiAgICBjb25zdCB3b3JraW5nRGlyID0gcmVzb2x2ZShjb25maWcud29ya2luZ0RpciB8fCBwcm9jZXNzLmN3ZCgpKTtcbiAgICBjb25zdCBkaXJzID0gY29uZmlnLmRpcnMgPz8gW1xuICAgICAgJ3dvcmtmbG93cycsXG4gICAgICAnc3JjL3dvcmtmbG93cycsXG4gICAgICAncm91dGVzJyxcbiAgICAgICdzcmMvcm91dGVzJyxcbiAgICBdO1xuICAgIGNvbnN0IHByb2plY3RSb290ID0gY29uZmlnLnByb2plY3RSb290ID8/IHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyKTtcbiAgICBjb25zdCByb3V0ZXNEaXIgPSBjb25maWcucm91dGVzRGlyXG4gICAgICA/IHJlc29sdmUod29ya2luZ0RpciwgY29uZmlnLnJvdXRlc0RpcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLmNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnKHtcbiAgICAgICAgd29ya2luZ0RpcixcbiAgICAgICAgcHJvamVjdFJvb3QsXG4gICAgICAgIGRpcnMsXG4gICAgICAgIHdhdGNoOiBjb25maWcud2F0Y2gsXG4gICAgICAgIGV4dGVybmFsUGFja2FnZXM6IFsuLi5TVkVMVEVLSVRfVklSVFVBTF9NT0RVTEVTXSxcbiAgICAgIH0pLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgZGlycyxcbiAgICAgIGJ1aWxkVGFyZ2V0OiAnc3ZlbHRla2l0JyBhcyBjb25zdCxcbiAgICAgIHdvcmtpbmdEaXIsXG4gICAgICBwcm9qZWN0Um9vdCxcbiAgICAgIG1vZHVsZVNwZWNpZmllclJvb3Q6IGNvbmZpZy5tb2R1bGVTcGVjaWZpZXJSb290ID8/IHdvcmtpbmdEaXIsXG4gICAgICBleHRlcm5hbFBhY2thZ2VzOiBbLi4uU1ZFTFRFS0lUX1ZJUlRVQUxfTU9EVUxFU10sXG4gICAgfSk7XG4gICAgdGhpcy4jcm91dGVzRGlyID0gcm91dGVzRGlyO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgcm91dGVzRGlyID0gYXdhaXQgdGhpcy5sb2FkUm91dGVzRGlyZWN0b3J5KCk7XG4gICAgY29uc3Qgd29ya2Zsb3dHZW5lcmF0ZWREaXIgPSBqb2luKHJvdXRlc0RpciwgJy53ZWxsLWtub3duL3dvcmtmbG93L3YxJyk7XG5cbiAgICAvLyBFbnN1cmUgb3V0cHV0IGRpcmVjdG9yaWVzIGV4aXN0XG4gICAgYXdhaXQgbWtkaXIod29ya2Zsb3dHZW5lcmF0ZWREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQWRkIC5naXRpZ25vcmUgdG8gZXhjbHVkZSBnZW5lcmF0ZWQgZmlsZXMgZnJvbSB2ZXJzaW9uIGNvbnRyb2xcbiAgICBpZiAocHJvY2Vzcy5lbnYuVkVSQ0VMX0RFUExPWU1FTlRfSUQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IHdvcmtmbG93IGFuZCBzdGVwIGZpbGVzIHRvIGJ1bmRsZVxuICAgIGNvbnN0IGlucHV0RmlsZXMgPSBhd2FpdCB0aGlzLmdldElucHV0RmlsZXMoKTtcbiAgICBjb25zdCB0c2NvbmZpZ1BhdGggPSBhd2FpdCB0aGlzLmZpbmRUc0NvbmZpZ1BhdGgoKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpbnB1dEZpbGVzLFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHRoZSB0aHJlZSBTdmVsdGVLaXQgcm91dGUgaGFuZGxlcnNcbiAgICBjb25zdCBzdGVwc01hbmlmZXN0ID0gYXdhaXQgdGhpcy5idWlsZFN0ZXBzUm91dGUob3B0aW9ucyk7XG4gICAgY29uc3Qgd29ya2Zsb3dzTWFuaWZlc3QgPSBhd2FpdCB0aGlzLmJ1aWxkV29ya2Zsb3dzUm91dGUob3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5idWlsZFdlYmhvb2tSb3V0ZSh7IHdvcmtmbG93R2VuZXJhdGVkRGlyIH0pO1xuXG4gICAgLy8gTWVyZ2UgbWFuaWZlc3RzIGZyb20gYm90aCBidW5kbGVzXG4gICAgY29uc3QgbWFuaWZlc3QgPSB7XG4gICAgICBzdGVwczogeyAuLi5zdGVwc01hbmlmZXN0LnN0ZXBzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5zdGVwcyB9LFxuICAgICAgd29ya2Zsb3dzOiB7IC4uLnN0ZXBzTWFuaWZlc3Qud29ya2Zsb3dzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC53b3JrZmxvd3MgfSxcbiAgICAgIGNsYXNzZXM6IHsgLi4uc3RlcHNNYW5pZmVzdC5jbGFzc2VzLCAuLi53b3JrZmxvd3NNYW5pZmVzdC5jbGFzc2VzIH0sXG4gICAgfTtcblxuICAgIC8vIEdlbmVyYXRlIHVuaWZpZWQgbWFuaWZlc3RcbiAgICBjb25zdCB3b3JrZmxvd0J1bmRsZVBhdGggPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnZmxvdy8rc2VydmVyLmpzJyk7XG4gICAgY29uc3QgbWFuaWZlc3RKc29uID0gYXdhaXQgdGhpcy5jcmVhdGVNYW5pZmVzdCh7XG4gICAgICB3b3JrZmxvd0J1bmRsZVBhdGgsXG4gICAgICBtYW5pZmVzdERpcjogd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcblxuICAgIC8vIEV4cG9zZSBtYW5pZmVzdCBhcyBhIHN0YXRpYyBmaWxlIHdoZW4gV09SS0ZMT1dfUFVCTElDX01BTklGRVNUPTEuXG4gICAgLy8gU3ZlbHRlS2l0IHNlcnZlcyBmaWxlcyBmcm9tIHN0YXRpYy8gYXQgdGhlIHJvb3QgVVJMLlxuICAgIGlmICh0aGlzLnNob3VsZEV4cG9zZVB1YmxpY01hbmlmZXN0ICYmIG1hbmlmZXN0SnNvbikge1xuICAgICAgY29uc3Qgc3RhdGljTWFuaWZlc3REaXIgPSBqb2luKFxuICAgICAgICB0aGlzLmNvbmZpZy53b3JraW5nRGlyLFxuICAgICAgICAnc3RhdGljLy53ZWxsLWtub3duL3dvcmtmbG93L3YxJ1xuICAgICAgKTtcbiAgICAgIGF3YWl0IG1rZGlyKHN0YXRpY01hbmlmZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5WRVJDRUxfREVQTE9ZTUVOVF9JRCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKHN0YXRpY01hbmlmZXN0RGlyLCAnLmdpdGlnbm9yZScpLCAnKicpO1xuICAgICAgfVxuICAgICAgYXdhaXQgY29weUZpbGUoXG4gICAgICAgIGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdtYW5pZmVzdC5qc29uJyksXG4gICAgICAgIGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICdtYW5pZmVzdC5qc29uJylcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZFN0ZXBzUm91dGUoe1xuICAgIGlucHV0RmlsZXMsXG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgdHNjb25maWdQYXRoLFxuICB9OiB7XG4gICAgaW5wdXRGaWxlczogc3RyaW5nW107XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgICB0c2NvbmZpZ1BhdGg/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICAvLyBDcmVhdGUgc3RlcHMgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL3N0ZXAvK3NlcnZlci5qc1xuICAgIGNvbnN0IHN0ZXBzUm91dGVEaXIgPSBqb2luKHdvcmtmbG93R2VuZXJhdGVkRGlyLCAnc3RlcCcpO1xuICAgIGF3YWl0IG1rZGlyKHN0ZXBzUm91dGVEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgeyBtYW5pZmVzdCB9ID0gYXdhaXQgdGhpcy5jcmVhdGVTdGVwc0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIG91dGZpbGU6IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGV4dGVybmFsaXplTm9uU3RlcHM6IHRydWUsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCBzdGVwc1JvdXRlRmlsZSA9IGpvaW4oc3RlcHNSb3V0ZURpciwgJytzZXJ2ZXIuanMnKTtcbiAgICBsZXQgc3RlcHNSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShzdGVwc1JvdXRlRmlsZSwgJ3V0Zi04Jyk7XG5cbiAgICAvLyBSZXBsYWNlIHRoZSBkZWZhdWx0IGV4cG9ydCB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJcbiAgICBzdGVwc1JvdXRlQ29udGVudCA9IHJlcGxhY2VHZW5lcmF0ZWRSb3V0ZUV4cG9ydChcbiAgICAgIHN0ZXBzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydFxccypcXHtcXHMqc3RlcEVudHJ5cG9pbnRcXHcqXFxzK2FzXFxzK0hFQURcXHMqLFxccypzdGVwRW50cnlwb2ludFxcdypcXHMrYXNcXHMrUE9TVFxccypcXH1cXHMqOz9cXHMqJC9tLFxuICAgICAgYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmNvbnN0IGhhbmRsZVN0ZXBSZXF1ZXN0ID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHN0ZXBFbnRyeXBvaW50KG5vcm1hbFJlcXVlc3QpO1xufTtcblxuZXhwb3J0IGNvbnN0IEhFQUQgPSBoYW5kbGVTdGVwUmVxdWVzdDtcbmV4cG9ydCBjb25zdCBQT1NUID0gaGFuZGxlU3RlcFJlcXVlc3Q7YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHN0ZXAgcm91dGUnXG4gICAgKTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZShzdGVwc1JvdXRlRmlsZSwgc3RlcHNSb3V0ZUNvbnRlbnQpO1xuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXb3JrZmxvd3NSb3V0ZSh7XG4gICAgaW5wdXRGaWxlcyxcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICB0c2NvbmZpZ1BhdGgsXG4gIH06IHtcbiAgICBpbnB1dEZpbGVzOiBzdHJpbmdbXTtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcjogc3RyaW5nO1xuICAgIHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3b3JrZmxvd3Mgcm91dGU6IC53ZWxsLWtub3duL3dvcmtmbG93L3YxL2Zsb3cvK3NlcnZlci5qc1xuICAgIGNvbnN0IHdvcmtmbG93c1JvdXRlRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ2Zsb3cnKTtcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd3NSb3V0ZURpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCB7IG1hbmlmZXN0IH0gPSBhd2FpdCB0aGlzLmNyZWF0ZVdvcmtmbG93c0J1bmRsZSh7XG4gICAgICBmb3JtYXQ6ICdlc20nLFxuICAgICAgb3V0ZmlsZTogam9pbih3b3JrZmxvd3NSb3V0ZURpciwgJytzZXJ2ZXIuanMnKSxcbiAgICAgIGJ1bmRsZUZpbmFsT3V0cHV0OiBmYWxzZSxcbiAgICAgIGlucHV0RmlsZXMsXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBjb25zdCB3b3JrZmxvd3NSb3V0ZUZpbGUgPSBqb2luKHdvcmtmbG93c1JvdXRlRGlyLCAnK3NlcnZlci5qcycpO1xuICAgIGxldCB3b3JrZmxvd3NSb3V0ZUNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh3b3JrZmxvd3NSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gUmVwbGFjZSB0aGUgZGVmYXVsdCBleHBvcnQgd2l0aCBTdmVsdGVLaXQtY29tcGF0aWJsZSBoYW5kbGVyXG4gICAgd29ya2Zsb3dzUm91dGVDb250ZW50ID0gcmVwbGFjZUdlbmVyYXRlZFJvdXRlRXhwb3J0KFxuICAgICAgd29ya2Zsb3dzUm91dGVDb250ZW50LFxuICAgICAgL2V4cG9ydCBjb25zdCBQT1NUID0gd29ya2Zsb3dFbnRyeXBvaW50XFwod29ya2Zsb3dDb2RlKD88b3B0aW9ucz5bXildKilcXCk7PyQvbSxcbiAgICAgIChfbWF0Y2gsIG9wdGlvbnMgPSAnJykgPT4gYCR7Tk9STUFMSVpFX1JFUVVFU1RfQ09ERX1cbmV4cG9ydCBjb25zdCBQT1NUID0gYXN5bmMgKHtyZXF1ZXN0fSkgPT4ge1xuICBjb25zdCBub3JtYWxSZXF1ZXN0ID0gYXdhaXQgbm9ybWFsaXplUmVxdWVzdChyZXF1ZXN0KTtcbiAgcmV0dXJuIHdvcmtmbG93RW50cnlwb2ludCh3b3JrZmxvd0NvZGUke29wdGlvbnN9KShub3JtYWxSZXF1ZXN0KTtcbn07YCxcbiAgICAgICdGYWlsZWQgdG8gd3JhcCBnZW5lcmF0ZWQgU3ZlbHRlS2l0IHdvcmtmbG93IHJvdXRlJ1xuICAgICk7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHdvcmtmbG93c1JvdXRlRmlsZSwgd29ya2Zsb3dzUm91dGVDb250ZW50KTtcblxuICAgIHJldHVybiBtYW5pZmVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rUm91dGUoe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICB9OiB7XG4gICAgd29ya2Zsb3dHZW5lcmF0ZWREaXI6IHN0cmluZztcbiAgfSkge1xuICAgIC8vIENyZWF0ZSB3ZWJob29rIHJvdXRlOiAud2VsbC1rbm93bi93b3JrZmxvdy92MS93ZWJob29rL1t0b2tlbl0vK3NlcnZlci5qc1xuICAgIGNvbnN0IHdlYmhvb2tSb3V0ZUZpbGUgPSBqb2luKFxuICAgICAgd29ya2Zsb3dHZW5lcmF0ZWREaXIsXG4gICAgICAnd2ViaG9vay9bdG9rZW5dLytzZXJ2ZXIuanMnXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuY3JlYXRlV2ViaG9va0J1bmRsZSh7XG4gICAgICBvdXRmaWxlOiB3ZWJob29rUm91dGVGaWxlLFxuICAgICAgYnVuZGxlOiBmYWxzZSwgLy8gU3ZlbHRlS2l0IHdpbGwgaGFuZGxlIGJ1bmRsaW5nXG4gICAgfSk7XG5cbiAgICAvLyBQb3N0LXByb2Nlc3MgdGhlIGdlbmVyYXRlZCBmaWxlIHRvIHdyYXAgd2l0aCBTdmVsdGVLaXQgcmVxdWVzdCBjb252ZXJ0ZXJcbiAgICBsZXQgd2ViaG9va1JvdXRlQ29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHdlYmhvb2tSb3V0ZUZpbGUsICd1dGYtOCcpO1xuXG4gICAgLy8gVXBkYXRlIGhhbmRsZXIgc2lnbmF0dXJlIHRvIGFjY2VwdCB0b2tlbiBhcyBwYXJhbWV0ZXJcbiAgICB3ZWJob29rUm91dGVDb250ZW50ID0gd2ViaG9va1JvdXRlQ29udGVudC5yZXBsYWNlKFxuICAgICAgL2FzeW5jIGZ1bmN0aW9uIGhhbmRsZXJcXChyZXF1ZXN0XFwpIFxce1tcXHNcXFNdKj9jb25zdCB0b2tlbiA9IGRlY29kZVVSSUNvbXBvbmVudFxcKHBhdGhQYXJ0c1xcW3BhdGhQYXJ0c1xcLmxlbmd0aCAtIDFcXF1cXCk7LyxcbiAgICAgIGBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcXVlc3QsIHRva2VuKSB7YFxuICAgICk7XG5cbiAgICAvLyBSZW1vdmUgdGhlIFVSTCBwYXJzaW5nIGNvZGUgc2luY2Ugd2UgZ2V0IHRva2VuIGZyb20gcGFyYW1zXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9jb25zdCB1cmwgPSBuZXcgVVJMXFwocmVxdWVzdFxcLnVybFxcKTtbXFxzXFxTXSo/Y29uc3QgcGF0aFBhcnRzID0gdXJsXFwucGF0aG5hbWVcXC5zcGxpdFxcKCdcXC8nXFwpO1tcXHNcXFNdKj9cXG4vLFxuICAgICAgJydcbiAgICApO1xuXG4gICAgLy8gUmVwbGFjZSBhbGwgSFRUUCBtZXRob2QgZXhwb3J0cyB3aXRoIFN2ZWx0ZUtpdC1jb21wYXRpYmxlIGhhbmRsZXJzLlxuICAgIC8vIFRoZSBgcmVxdWVzdGAgZnJvbSBTdmVsdGVLaXQgaXMgYWxyZWFkeSBhIHN0YW5kYXJkIGBSZXF1ZXN0YCwgc28gaXQgaXNcbiAgICAvLyBoYW5kZWQgdG8gdGhlIHdlYmhvb2sgaGFuZGxlciBhcy1pcy4gTm90YWJseSBpdCBtdXN0IE5PVCBiZSBjb3BpZWQgdmlhXG4gICAgLy8gYSBub3JtYWxpemVyIHRoYXQgYnVmZmVycyB0aGUgYm9keTogdGhpcyBpcyBhIHB1YmxpYyByb3V0ZSB3aGVyZSB0aGVcbiAgICAvLyB0b2tlbiBpcyBjaGVja2VkIGluc2lkZSBgaGFuZGxlcmAsIHNvIHRoZSBib2R5IG11c3Qgc3RheSB1bnJlYWQgdW50aWxcbiAgICAvLyB0aGUgdG9rZW4gaGFzIGJlZW4gYWNjZXB0ZWQuXG4gICAgd2ViaG9va1JvdXRlQ29udGVudCA9IHdlYmhvb2tSb3V0ZUNvbnRlbnQucmVwbGFjZShcbiAgICAgIC9leHBvcnQgY29uc3QgR0VUID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgUE9TVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBVVCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IFBBVENIID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgREVMRVRFID0gaGFuZGxlcjtcXG5leHBvcnQgY29uc3QgSEVBRCA9IGhhbmRsZXI7XFxuZXhwb3J0IGNvbnN0IE9QVElPTlMgPSBoYW5kbGVyOy8sXG4gICAgICBgY29uc3QgY3JlYXRlU3ZlbHRlS2l0SGFuZGxlciA9IChtZXRob2QpID0+IGFzeW5jICh7IHJlcXVlc3QsIHBhcmFtcywgcGxhdGZvcm0gfSkgPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGhhbmRsZXIocmVxdWVzdCwgcGFyYW1zLnRva2VuKTtcbiAgcmV0dXJuIHJlc3BvbnNlO1xufTtcblxuZXhwb3J0IGNvbnN0IEdFVCA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ0dFVCcpO1xuZXhwb3J0IGNvbnN0IFBPU1QgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdQT1NUJyk7XG5leHBvcnQgY29uc3QgUFVUID0gY3JlYXRlU3ZlbHRlS2l0SGFuZGxlcignUFVUJyk7XG5leHBvcnQgY29uc3QgUEFUQ0ggPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdQQVRDSCcpO1xuZXhwb3J0IGNvbnN0IERFTEVURSA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ0RFTEVURScpO1xuZXhwb3J0IGNvbnN0IEhFQUQgPSBjcmVhdGVTdmVsdGVLaXRIYW5kbGVyKCdIRUFEJyk7XG5leHBvcnQgY29uc3QgT1BUSU9OUyA9IGNyZWF0ZVN2ZWx0ZUtpdEhhbmRsZXIoJ09QVElPTlMnKTtgXG4gICAgKTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZSh3ZWJob29rUm91dGVGaWxlLCB3ZWJob29rUm91dGVDb250ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJvdXRlc0RpcmVjdG9yeSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJvdXRlc0RpciA9XG4gICAgICB0aGlzLiNyb3V0ZXNEaXIgPz8gKGF3YWl0IGxvYWRTdmVsdGVLaXRSb3V0ZXNEaXIodGhpcy5jb25maWcud29ya2luZ0RpcikpO1xuICAgIGF3YWl0IGFzc2VydERpcmVjdG9yeShyb3V0ZXNEaXIpO1xuICAgIHJldHVybiByb3V0ZXNEaXI7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRTdmVsdGVLaXRSb3V0ZXNEaXIoXG4gIHdvcmtpbmdEaXI6IHN0cmluZ1xuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbih3b3JraW5nRGlyLCAncGFja2FnZS5qc29uJykpO1xuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSByZXF1aXJlLnJlc29sdmUoJ0BzdmVsdGVqcy9raXQvcGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IGxvYWRlclBhdGggPSBqb2luKGRpcm5hbWUocGFja2FnZUpzb25QYXRoKSwgJ3NyYy9jb3JlL2NvbmZpZy9pbmRleC5qcycpO1xuXG4gIGNvbnN0IGNvbmZpZ01vZHVsZSA9IGF3YWl0IGltcG9ydChwYXRoVG9GaWxlVVJMKGxvYWRlclBhdGgpLmhyZWYpO1xuICAvLyBTdmVsdGVLaXQgMi42MisgYGxvYWRfY29uZmlnKClgIHJlc29sdmVzIFZpdGUgY29uZmlnIGZpcnN0LiBDYWxsaW5nIGl0XG4gIC8vIHdoaWxlIGB3b3JrZmxvdy9zdmVsdGVraXRgIGlzIGltcG9ydGVkIGZyb20gdml0ZS5jb25maWcudHMgcmVjdXJzaXZlbHlcbiAgLy8gcmVsb2FkcyB2aXRlLmNvbmZpZy50cyBhbmQgbGVhdmVzIHRoaXMgdG9wLWxldmVsIGJ1aWxkIHVucmVzb2x2ZWQuXG4gIGNvbnN0IGNvbmZpZyA9XG4gICAgY29uZmlnTW9kdWxlLmxvYWRfc3ZlbHRlX2NvbmZpZyAhPSBudWxsXG4gICAgICA/IGF3YWl0IGNvbmZpZ01vZHVsZS5sb2FkX3N2ZWx0ZV9jb25maWcod29ya2luZ0RpcilcbiAgICAgIDogYXdhaXQgY29uZmlnTW9kdWxlLmxvYWRfY29uZmlnKHsgY3dkOiB3b3JraW5nRGlyIH0pO1xuICBjb25zdCByb3V0ZXNEaXIgPSBjb25maWcua2l0Py5maWxlcz8ucm91dGVzO1xuICBpZiAocm91dGVzRGlyID09IG51bGwgfHwgdHlwZW9mIHJvdXRlc0RpciAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRXhwZWN0ZWQgU3ZlbHRlS2l0IGNvbmZpZyBsb2FkZXIgdG8gcmV0dXJuIGtpdC5maWxlcy5yb3V0ZXMgYXMgYSBzdHJpbmcuJ1xuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJvdXRlc0Rpcjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXNzZXJ0RGlyZWN0b3J5KHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBhY2Nlc3MocGF0aCwgY29uc3RhbnRzLkZfT0spO1xuICBjb25zdCBzdGF0cyA9IGF3YWl0IHN0YXQocGF0aCk7XG4gIGlmICghc3RhdHMuaXNEaXJlY3RvcnkoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCBleGlzdHMgYnV0IGlzIG5vdCBhIGRpcmVjdG9yeTogJHtwYXRofWApO1xuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAczC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAwEzC"}
package/dist/plugin.js CHANGED
@@ -9,6 +9,63 @@ export function workflowPlugin() {
9
9
  workflowTransformPlugin(),
10
10
  {
11
11
  name: 'workflow:sveltekit',
12
+ // SvelteKit bundles the server (including undici, via the world adapter)
13
+ // into ESM output. undici loads most node: builtins as ESM imports, but
14
+ // pulls in `node:http2` lazily via a bare `require('node:http2')` inside a
15
+ // try/catch — which the bundler leaves un-wired, so in the ESM bundle the
16
+ // require throws and undici silently falls back to a stub whose
17
+ // `http2.connect` is undefined. That breaks any HTTP/2 request (observed
18
+ // as the workflow flow-route callback failing with "fetch failed" ->
19
+ // runs never start). Provide a working CJS `require` for the *server*
20
+ // build so the real `node:http2` resolves.
21
+ //
22
+ // Detection runs in `configResolved` (not the `config` hook): SvelteKit
23
+ // does not set `env.isSsrBuild` for its server pass, but `build.ssr` is
24
+ // set on the resolved config. We gate to the SSR build because a
25
+ // `node:module` import in the client/browser bundle would break it.
26
+ //
27
+ // This is a Node-server-runtime-only shim. Note the deliberate global
28
+ // side effect: defining `globalThis.require` makes `typeof require` truthy
29
+ // for *every* bundled dependency in this ESM server output, so any library
30
+ // that feature-detects `require` will take its CJS path here. That is safe
31
+ // because (a) it never touches the client bundle, (b) the guard makes it a
32
+ // no-op where a real `require` already exists, and (c) the `require` we
33
+ // install is a working `createRequire`, so a library that switches to the
34
+ // require path gets a functional `require`, not a broken stub. The behavior
35
+ // to watch for is a bundled lib that, on seeing `require`, does `require()`
36
+ // of an ESM-only dependency on a Node version without `require(ESM)`
37
+ // support.
38
+ //
39
+ // The guard reads `globalThis.require` rather than the bare identifier: a
40
+ // bundled module may declare its own top-level `const require` (as
41
+ // `@workflow/core`'s runtime world loader does), and Rollup hoists that
42
+ // into the chunk's module scope without renaming it, since the banner isn't
43
+ // part of the module graph it analyzes. `typeof require` would then read a
44
+ // const in its temporal dead zone and throw on the bundle's first line. A
45
+ // property read is safe regardless of what the chunk declares; a chunk with
46
+ // its own `require` keeps using it, because the local binding shadows the
47
+ // global.
48
+ configResolved(config) {
49
+ if (!config.build?.ssr) {
50
+ return;
51
+ }
52
+ const banner = "import { createRequire as __wkfCreateRequire } from 'node:module'; if (typeof globalThis.require === 'undefined') { globalThis.require = __wkfCreateRequire(import.meta.url); }";
53
+ const rollupOptions = config.build.rollupOptions;
54
+ if (rollupOptions.output == null) {
55
+ rollupOptions.output = {};
56
+ }
57
+ const output = rollupOptions.output;
58
+ const outputs = Array.isArray(output) ? output : [output];
59
+ for (const o of outputs) {
60
+ const existing = o.banner;
61
+ o.banner =
62
+ existing == null
63
+ ? banner
64
+ : typeof existing === 'function'
65
+ ? async (chunk) => `${banner}\n${await existing(chunk)}`
66
+ : `${banner}\n${existing}`;
67
+ }
68
+ },
12
69
  },
13
70
  workflowHotUpdatePlugin({
14
71
  builder,
@@ -16,4 +73,4 @@ export function workflowPlugin() {
16
73
  }),
17
74
  ];
18
75
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFFbkMsT0FBTztRQUNMLHVCQUF1QixFQUFZO1FBQ25DO1lBQ0UsSUFBSSxFQUFFLG9CQUFvQjtTQUMzQjtRQUNELHVCQUF1QixDQUFDO1lBQ3RCLE9BQU87WUFDUCxPQUFPO1NBQ1IsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQnVpbGRRdWV1ZSB9IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5pbXBvcnQgeyB3b3JrZmxvd1RyYW5zZm9ybVBsdWdpbiB9IGZyb20gJ0B3b3JrZmxvdy9yb2xsdXAnO1xuaW1wb3J0IHsgd29ya2Zsb3dIb3RVcGRhdGVQbHVnaW4gfSBmcm9tICdAd29ya2Zsb3cvdml0ZSc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHsgU3ZlbHRlS2l0QnVpbGRlciB9IGZyb20gJy4vYnVpbGRlci5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvd1BsdWdpbigpOiBQbHVnaW5bXSB7XG4gIGNvbnN0IGJ1aWxkZXIgPSBuZXcgU3ZlbHRlS2l0QnVpbGRlcigpO1xuICBjb25zdCBlbnF1ZXVlID0gY3JlYXRlQnVpbGRRdWV1ZSgpO1xuXG4gIHJldHVybiBbXG4gICAgd29ya2Zsb3dUcmFuc2Zvcm1QbHVnaW4oKSBhcyBQbHVnaW4sXG4gICAge1xuICAgICAgbmFtZTogJ3dvcmtmbG93OnN2ZWx0ZWtpdCcsXG4gICAgfSxcbiAgICB3b3JrZmxvd0hvdFVwZGF0ZVBsdWdpbih7XG4gICAgICBidWlsZGVyLFxuICAgICAgZW5xdWV1ZSxcbiAgICB9KSxcbiAgXTtcbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFFbkMsT0FBTztRQUNMLHVCQUF1QixFQUFZO1FBQ25DO1lBQ0UsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQix5RUFBeUU7WUFDekUsd0VBQXdFO1lBQ3hFLDJFQUEyRTtZQUMzRSwwRUFBMEU7WUFDMUUsZ0VBQWdFO1lBQ2hFLHlFQUF5RTtZQUN6RSxxRUFBcUU7WUFDckUsc0VBQXNFO1lBQ3RFLDJDQUEyQztZQUMzQyxFQUFFO1lBQ0Ysd0VBQXdFO1lBQ3hFLHdFQUF3RTtZQUN4RSxpRUFBaUU7WUFDakUsb0VBQW9FO1lBQ3BFLEVBQUU7WUFDRixzRUFBc0U7WUFDdEUsMkVBQTJFO1lBQzNFLDJFQUEyRTtZQUMzRSwyRUFBMkU7WUFDM0UsMkVBQTJFO1lBQzNFLHdFQUF3RTtZQUN4RSwwRUFBMEU7WUFDMUUsNEVBQTRFO1lBQzVFLDRFQUE0RTtZQUM1RSxxRUFBcUU7WUFDckUsV0FBVztZQUNYLEVBQUU7WUFDRiwwRUFBMEU7WUFDMUUsbUVBQW1FO1lBQ25FLHdFQUF3RTtZQUN4RSw0RUFBNEU7WUFDNUUsMkVBQTJFO1lBQzNFLDBFQUEwRTtZQUMxRSw0RUFBNEU7WUFDNUUsMEVBQTBFO1lBQzFFLFVBQVU7WUFDVixjQUFjLENBQUMsTUFBTTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7b0JBQ3ZCLE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxNQUFNLE1BQU0sR0FDVixpTEFBaUwsQ0FBQztnQkFDcEwsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ2pELElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDakMsYUFBYSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQzVCLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztnQkFDcEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUN4QixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUMxQixDQUFDLENBQUMsTUFBTTt3QkFDTixRQUFRLElBQUksSUFBSTs0QkFDZCxDQUFDLENBQUMsTUFBTTs0QkFDUixDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssVUFBVTtnQ0FDOUIsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxLQUFLLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dDQUN4RCxDQUFDLENBQUMsR0FBRyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDO1NBQ0Y7UUFDRCx1QkFBdUIsQ0FBQztZQUN0QixPQUFPO1lBQ1AsT0FBTztTQUNSLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUJ1aWxkUXVldWUgfSBmcm9tICdAd29ya2Zsb3cvYnVpbGRlcnMnO1xuaW1wb3J0IHsgd29ya2Zsb3dUcmFuc2Zvcm1QbHVnaW4gfSBmcm9tICdAd29ya2Zsb3cvcm9sbHVwJztcbmltcG9ydCB7IHdvcmtmbG93SG90VXBkYXRlUGx1Z2luIH0gZnJvbSAnQHdvcmtmbG93L3ZpdGUnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICd2aXRlJztcbmltcG9ydCB7IFN2ZWx0ZUtpdEJ1aWxkZXIgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3dQbHVnaW4oKTogUGx1Z2luW10ge1xuICBjb25zdCBidWlsZGVyID0gbmV3IFN2ZWx0ZUtpdEJ1aWxkZXIoKTtcbiAgY29uc3QgZW5xdWV1ZSA9IGNyZWF0ZUJ1aWxkUXVldWUoKTtcblxuICByZXR1cm4gW1xuICAgIHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luKCkgYXMgUGx1Z2luLFxuICAgIHtcbiAgICAgIG5hbWU6ICd3b3JrZmxvdzpzdmVsdGVraXQnLFxuICAgICAgLy8gU3ZlbHRlS2l0IGJ1bmRsZXMgdGhlIHNlcnZlciAoaW5jbHVkaW5nIHVuZGljaSwgdmlhIHRoZSB3b3JsZCBhZGFwdGVyKVxuICAgICAgLy8gaW50byBFU00gb3V0cHV0LiB1bmRpY2kgbG9hZHMgbW9zdCBub2RlOiBidWlsdGlucyBhcyBFU00gaW1wb3J0cywgYnV0XG4gICAgICAvLyBwdWxscyBpbiBgbm9kZTpodHRwMmAgbGF6aWx5IHZpYSBhIGJhcmUgYHJlcXVpcmUoJ25vZGU6aHR0cDInKWAgaW5zaWRlIGFcbiAgICAgIC8vIHRyeS9jYXRjaCDigJQgd2hpY2ggdGhlIGJ1bmRsZXIgbGVhdmVzIHVuLXdpcmVkLCBzbyBpbiB0aGUgRVNNIGJ1bmRsZSB0aGVcbiAgICAgIC8vIHJlcXVpcmUgdGhyb3dzIGFuZCB1bmRpY2kgc2lsZW50bHkgZmFsbHMgYmFjayB0byBhIHN0dWIgd2hvc2VcbiAgICAgIC8vIGBodHRwMi5jb25uZWN0YCBpcyB1bmRlZmluZWQuIFRoYXQgYnJlYWtzIGFueSBIVFRQLzIgcmVxdWVzdCAob2JzZXJ2ZWRcbiAgICAgIC8vIGFzIHRoZSB3b3JrZmxvdyBmbG93LXJvdXRlIGNhbGxiYWNrIGZhaWxpbmcgd2l0aCBcImZldGNoIGZhaWxlZFwiIC0+XG4gICAgICAvLyBydW5zIG5ldmVyIHN0YXJ0KS4gUHJvdmlkZSBhIHdvcmtpbmcgQ0pTIGByZXF1aXJlYCBmb3IgdGhlICpzZXJ2ZXIqXG4gICAgICAvLyBidWlsZCBzbyB0aGUgcmVhbCBgbm9kZTpodHRwMmAgcmVzb2x2ZXMuXG4gICAgICAvL1xuICAgICAgLy8gRGV0ZWN0aW9uIHJ1bnMgaW4gYGNvbmZpZ1Jlc29sdmVkYCAobm90IHRoZSBgY29uZmlnYCBob29rKTogU3ZlbHRlS2l0XG4gICAgICAvLyBkb2VzIG5vdCBzZXQgYGVudi5pc1NzckJ1aWxkYCBmb3IgaXRzIHNlcnZlciBwYXNzLCBidXQgYGJ1aWxkLnNzcmAgaXNcbiAgICAgIC8vIHNldCBvbiB0aGUgcmVzb2x2ZWQgY29uZmlnLiBXZSBnYXRlIHRvIHRoZSBTU1IgYnVpbGQgYmVjYXVzZSBhXG4gICAgICAvLyBgbm9kZTptb2R1bGVgIGltcG9ydCBpbiB0aGUgY2xpZW50L2Jyb3dzZXIgYnVuZGxlIHdvdWxkIGJyZWFrIGl0LlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgaXMgYSBOb2RlLXNlcnZlci1ydW50aW1lLW9ubHkgc2hpbS4gTm90ZSB0aGUgZGVsaWJlcmF0ZSBnbG9iYWxcbiAgICAgIC8vIHNpZGUgZWZmZWN0OiBkZWZpbmluZyBgZ2xvYmFsVGhpcy5yZXF1aXJlYCBtYWtlcyBgdHlwZW9mIHJlcXVpcmVgIHRydXRoeVxuICAgICAgLy8gZm9yICpldmVyeSogYnVuZGxlZCBkZXBlbmRlbmN5IGluIHRoaXMgRVNNIHNlcnZlciBvdXRwdXQsIHNvIGFueSBsaWJyYXJ5XG4gICAgICAvLyB0aGF0IGZlYXR1cmUtZGV0ZWN0cyBgcmVxdWlyZWAgd2lsbCB0YWtlIGl0cyBDSlMgcGF0aCBoZXJlLiBUaGF0IGlzIHNhZmVcbiAgICAgIC8vIGJlY2F1c2UgKGEpIGl0IG5ldmVyIHRvdWNoZXMgdGhlIGNsaWVudCBidW5kbGUsIChiKSB0aGUgZ3VhcmQgbWFrZXMgaXQgYVxuICAgICAgLy8gbm8tb3Agd2hlcmUgYSByZWFsIGByZXF1aXJlYCBhbHJlYWR5IGV4aXN0cywgYW5kIChjKSB0aGUgYHJlcXVpcmVgIHdlXG4gICAgICAvLyBpbnN0YWxsIGlzIGEgd29ya2luZyBgY3JlYXRlUmVxdWlyZWAsIHNvIGEgbGlicmFyeSB0aGF0IHN3aXRjaGVzIHRvIHRoZVxuICAgICAgLy8gcmVxdWlyZSBwYXRoIGdldHMgYSBmdW5jdGlvbmFsIGByZXF1aXJlYCwgbm90IGEgYnJva2VuIHN0dWIuIFRoZSBiZWhhdmlvclxuICAgICAgLy8gdG8gd2F0Y2ggZm9yIGlzIGEgYnVuZGxlZCBsaWIgdGhhdCwgb24gc2VlaW5nIGByZXF1aXJlYCwgZG9lcyBgcmVxdWlyZSgpYFxuICAgICAgLy8gb2YgYW4gRVNNLW9ubHkgZGVwZW5kZW5jeSBvbiBhIE5vZGUgdmVyc2lvbiB3aXRob3V0IGByZXF1aXJlKEVTTSlgXG4gICAgICAvLyBzdXBwb3J0LlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBndWFyZCByZWFkcyBgZ2xvYmFsVGhpcy5yZXF1aXJlYCByYXRoZXIgdGhhbiB0aGUgYmFyZSBpZGVudGlmaWVyOiBhXG4gICAgICAvLyBidW5kbGVkIG1vZHVsZSBtYXkgZGVjbGFyZSBpdHMgb3duIHRvcC1sZXZlbCBgY29uc3QgcmVxdWlyZWAgKGFzXG4gICAgICAvLyBgQHdvcmtmbG93L2NvcmVgJ3MgcnVudGltZSB3b3JsZCBsb2FkZXIgZG9lcyksIGFuZCBSb2xsdXAgaG9pc3RzIHRoYXRcbiAgICAgIC8vIGludG8gdGhlIGNodW5rJ3MgbW9kdWxlIHNjb3BlIHdpdGhvdXQgcmVuYW1pbmcgaXQsIHNpbmNlIHRoZSBiYW5uZXIgaXNuJ3RcbiAgICAgIC8vIHBhcnQgb2YgdGhlIG1vZHVsZSBncmFwaCBpdCBhbmFseXplcy4gYHR5cGVvZiByZXF1aXJlYCB3b3VsZCB0aGVuIHJlYWQgYVxuICAgICAgLy8gY29uc3QgaW4gaXRzIHRlbXBvcmFsIGRlYWQgem9uZSBhbmQgdGhyb3cgb24gdGhlIGJ1bmRsZSdzIGZpcnN0IGxpbmUuIEFcbiAgICAgIC8vIHByb3BlcnR5IHJlYWQgaXMgc2FmZSByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIGNodW5rIGRlY2xhcmVzOyBhIGNodW5rIHdpdGhcbiAgICAgIC8vIGl0cyBvd24gYHJlcXVpcmVgIGtlZXBzIHVzaW5nIGl0LCBiZWNhdXNlIHRoZSBsb2NhbCBiaW5kaW5nIHNoYWRvd3MgdGhlXG4gICAgICAvLyBnbG9iYWwuXG4gICAgICBjb25maWdSZXNvbHZlZChjb25maWcpIHtcbiAgICAgICAgaWYgKCFjb25maWcuYnVpbGQ/LnNzcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBiYW5uZXIgPVxuICAgICAgICAgIFwiaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSBhcyBfX3drZkNyZWF0ZVJlcXVpcmUgfSBmcm9tICdub2RlOm1vZHVsZSc7IGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5yZXF1aXJlID09PSAndW5kZWZpbmVkJykgeyBnbG9iYWxUaGlzLnJlcXVpcmUgPSBfX3drZkNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTsgfVwiO1xuICAgICAgICBjb25zdCByb2xsdXBPcHRpb25zID0gY29uZmlnLmJ1aWxkLnJvbGx1cE9wdGlvbnM7XG4gICAgICAgIGlmIChyb2xsdXBPcHRpb25zLm91dHB1dCA9PSBudWxsKSB7XG4gICAgICAgICAgcm9sbHVwT3B0aW9ucy5vdXRwdXQgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdXRwdXQgPSByb2xsdXBPcHRpb25zLm91dHB1dDtcbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IEFycmF5LmlzQXJyYXkob3V0cHV0KSA/IG91dHB1dCA6IFtvdXRwdXRdO1xuICAgICAgICBmb3IgKGNvbnN0IG8gb2Ygb3V0cHV0cykge1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gby5iYW5uZXI7XG4gICAgICAgICAgby5iYW5uZXIgPVxuICAgICAgICAgICAgZXhpc3RpbmcgPT0gbnVsbFxuICAgICAgICAgICAgICA/IGJhbm5lclxuICAgICAgICAgICAgICA6IHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gYXN5bmMgKGNodW5rKSA9PiBgJHtiYW5uZXJ9XFxuJHthd2FpdCBleGlzdGluZyhjaHVuayl9YFxuICAgICAgICAgICAgICAgIDogYCR7YmFubmVyfVxcbiR7ZXhpc3Rpbmd9YDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIHdvcmtmbG93SG90VXBkYXRlUGx1Z2luKHtcbiAgICAgIGJ1aWxkZXIsXG4gICAgICBlbnF1ZXVlLFxuICAgIH0pLFxuICBdO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/sveltekit",
3
- "version": "4.0.13",
3
+ "version": "4.0.15",
4
4
  "description": "SvelteKit integration for Workflow SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,10 +24,10 @@
24
24
  "exsolve": "^1.0.8",
25
25
  "fs-extra": "^11.3.2",
26
26
  "pathe": "^2.0.3",
27
- "@workflow/builders": "4.1.3",
28
- "@workflow/rollup": "4.0.13",
27
+ "@workflow/builders": "4.1.5",
29
28
  "@workflow/swc-plugin": "4.1.2",
30
- "@workflow/vite": "4.0.13"
29
+ "@workflow/rollup": "4.0.15",
30
+ "@workflow/vite": "4.0.15"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/fs-extra": "11.0.4",