@wix/sdk 1.1.15 → 1.1.17

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,93 +1,81 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  const API_URL = 'www.wixapis.com';
3
-
4
- const wrapperBuilder = (origFunc, headers // @ts-expect-error
2
+ const wrapperBuilder = (origFunc, headers
3
+ // @ts-expect-error
5
4
  ) => {
6
5
  return origFunc({
7
6
  request: async factory => {
8
- if (!headers.Authorization) {
9
- // eslint-disable-next-line no-throw-literal
10
- throw errorBuilder(500, 'You must set Authorization header before triggering a call');
11
- }
12
-
13
7
  const requestOptions = factory({
14
8
  host: API_URL
15
9
  });
16
-
10
+ let url = "https://" + API_URL + requestOptions.url;
11
+ if (requestOptions.params) {
12
+ url += "?" + new URLSearchParams(requestOptions.params);
13
+ }
17
14
  try {
18
- const res = await fetch("https://" + API_URL + requestOptions.url, _extends({
19
- method: requestOptions.method
20
- }, requestOptions.data && {
21
- body: JSON.stringify(requestOptions.data)
22
- }, {
23
- headers: _extends({
24
- 'Content-Type': 'application/json'
25
- }, headers)
26
- }));
27
-
15
+ const res = await fetch(url, {
16
+ method: requestOptions.method,
17
+ ...(requestOptions.data && {
18
+ body: JSON.stringify(requestOptions.data)
19
+ }),
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ ...headers
23
+ }
24
+ });
28
25
  if (res.status !== 200) {
29
26
  var _dataError, _dataError2;
30
-
31
27
  let dataError = null;
32
-
33
28
  try {
34
29
  dataError = await res.json();
35
- } catch (e) {//
30
+ } catch (e) {
31
+ //
36
32
  }
37
-
38
33
  throw errorBuilder(res.status, (_dataError = dataError) == null ? void 0 : _dataError.message, (_dataError2 = dataError) == null ? void 0 : _dataError2.details);
39
34
  }
40
-
41
35
  const data = await res.json();
42
36
  return {
43
37
  data
44
38
  };
45
39
  } catch (e) {
46
40
  var _e$message;
47
-
48
41
  if ((_e$message = e.message) != null && _e$message.includes('fetch is not defined')) {
49
42
  console.error('Node.js v18+ is required');
50
43
  }
51
-
52
44
  throw e;
53
45
  }
54
46
  }
55
47
  });
56
48
  };
57
-
58
49
  const errorBuilder = (code, description, details) => {
59
50
  return {
60
51
  response: {
61
52
  data: {
62
- details: _extends({}, details, !(details != null && details.validationError) && {
63
- applicationError: {
64
- description,
65
- code
66
- }
67
- }),
53
+ details: {
54
+ ...details,
55
+ ...(!(details != null && details.validationError) && {
56
+ applicationError: {
57
+ description,
58
+ code
59
+ }
60
+ })
61
+ },
68
62
  message: description
69
63
  },
70
64
  status: code
71
65
  }
72
66
  };
73
67
  };
74
-
75
68
  export function createClient(config) {
76
69
  if (!config.modules || Object.entries(config.modules).length < 1) {
77
70
  throw new Error('Missing modules');
78
71
  }
79
-
80
72
  const _headers = config.headers || {
81
73
  Authorization: ''
82
74
  };
83
-
84
75
  const isObject = val => val && typeof val === 'object' && !Array.isArray(val);
85
-
86
76
  const traverse = obj => {
87
77
  return Object.entries(obj).reduce((prev, _ref) => {
88
- let key = _ref[0],
89
- value = _ref[1];
90
-
78
+ let [key, value] = _ref;
91
79
  if (isObject(value)) {
92
80
  prev[key] = traverse(value);
93
81
  } else if (typeof obj[key] === 'function') {
@@ -95,18 +83,19 @@ export function createClient(config) {
95
83
  } else {
96
84
  prev[key] = value;
97
85
  }
98
-
99
86
  return prev;
100
87
  }, {});
101
88
  };
102
-
103
- const wrappedModules = traverse(config.modules);
104
- return _extends({}, wrappedModules, {
105
- setHeaders: headers => {
106
- for (const k in headers) {
107
- _headers[k] = headers[k];
108
- }
89
+ const setHeaders = headers => {
90
+ for (const k in headers) {
91
+ _headers[k] = headers[k];
109
92
  }
110
- });
93
+ };
94
+ const wrappedModules = traverse(config.modules);
95
+ return {
96
+ ...wrappedModules,
97
+ auth: config.auth == null ? void 0 : config.auth(setHeaders),
98
+ setHeaders
99
+ };
111
100
  }
112
101
  //# sourceMappingURL=wixClient.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["API_URL","wrapperBuilder","origFunc","headers","request","factory","Authorization","errorBuilder","requestOptions","host","res","fetch","url","method","data","body","JSON","stringify","status","dataError","json","e","message","details","includes","console","error","code","description","response","validationError","applicationError","createClient","config","modules","Object","entries","length","Error","_headers","isObject","val","Array","isArray","traverse","obj","reduce","prev","key","value","wrappedModules","setHeaders","k"],"sources":["../../src/wixClient.ts"],"sourcesContent":["import { Simplify } from 'type-fest';\n\ntype Headers = { Authorization: string } & Record<string, string>;\n\ntype WithoutFunctionWrapper<T> = {\n [Key in keyof T]: T[Key] extends (...args: any) => any\n ? ReturnType<T[Key]>\n : Simplify<WithoutFunctionWrapper<T[Key]>>;\n};\n\nexport interface IWrapper {\n setHeaders(headers: Headers): void;\n}\n\nconst API_URL = 'www.wixapis.com';\n\nconst wrapperBuilder = <T extends Function>(\n origFunc: T,\n headers: Headers,\n // @ts-expect-error\n): ReturnType<T> => {\n return origFunc({\n request: async (factory: any) => {\n if (!headers.Authorization) {\n // eslint-disable-next-line no-throw-literal\n throw errorBuilder(\n 500,\n 'You must set Authorization header before triggering a call',\n );\n }\n\n const requestOptions = factory({ host: API_URL });\n try {\n const res = await fetch(`https://${API_URL}${requestOptions.url}`, {\n method: requestOptions.method,\n ...(requestOptions.data && {\n body: JSON.stringify(requestOptions.data),\n }),\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n });\n if (res.status !== 200) {\n let dataError: any = null;\n try {\n dataError = await res.json();\n } catch (e) {\n //\n }\n throw errorBuilder(\n res.status,\n dataError?.message,\n dataError?.details,\n );\n }\n const data = await res.json();\n return { data };\n } catch (e: any) {\n if (e.message?.includes('fetch is not defined')) {\n console.error('Node.js v18+ is required');\n }\n throw e;\n }\n },\n });\n};\n\nconst errorBuilder = (code: number, description: string, details?: any) => {\n return {\n response: {\n data: {\n details: {\n ...details,\n ...(!details?.validationError && {\n applicationError: {\n description,\n code,\n },\n }),\n },\n message: description,\n },\n status: code,\n },\n };\n};\n\nexport function createClient<T = any>(config: {\n modules: T;\n headers?: Headers;\n}): WithoutFunctionWrapper<T> & IWrapper {\n if (!config.modules || Object.entries(config.modules).length < 1) {\n throw new Error('Missing modules');\n }\n\n const _headers: Headers = config.headers || { Authorization: '' };\n const isObject = (val: any) =>\n val && typeof val === 'object' && !Array.isArray(val);\n\n const traverse = (obj: any) => {\n return Object.entries(obj).reduce((prev: any, [key, value]) => {\n if (isObject(value)) {\n prev[key] = traverse(value);\n } else if (typeof obj[key] === 'function') {\n prev[key] = wrapperBuilder(value as Function, _headers);\n } else {\n prev[key] = value;\n }\n return prev;\n }, {});\n };\n\n const wrappedModules = traverse(config.modules);\n return {\n ...wrappedModules,\n setHeaders: (headers: Headers) => {\n for (const k in headers) {\n _headers[k] = headers[k];\n }\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["API_URL","wrapperBuilder","origFunc","headers","request","factory","requestOptions","host","url","params","URLSearchParams","res","fetch","method","data","body","JSON","stringify","status","dataError","json","e","errorBuilder","message","details","includes","console","error","code","description","response","validationError","applicationError","createClient","config","modules","Object","entries","length","Error","_headers","Authorization","isObject","val","Array","isArray","traverse","obj","reduce","prev","key","value","setHeaders","k","wrappedModules","auth"],"sources":["../../src/wixClient.ts"],"sourcesContent":["import { Simplify } from 'type-fest';\n\ntype Headers = { Authorization: string } & Record<string, string>;\n\ntype WithoutFunctionWrapper<T> = {\n [Key in keyof T]: T[Key] extends (...args: any) => any\n ? ReturnType<T[Key]>\n : Simplify<WithoutFunctionWrapper<T[Key]>>;\n};\n\nexport interface IWrapper<Z extends (...args: any) => any> {\n setHeaders(headers: Headers): void;\n auth: ReturnType<Z>;\n}\n\nconst API_URL = 'www.wixapis.com';\n\nconst wrapperBuilder = <T extends Function>(\n origFunc: T,\n headers: Headers,\n // @ts-expect-error\n): ReturnType<T> => {\n return origFunc({\n request: async (factory: any) => {\n const requestOptions = factory({ host: API_URL });\n let url = `https://${API_URL}${requestOptions.url}`;\n if (requestOptions.params) {\n url += `?${new URLSearchParams(requestOptions.params)}`;\n }\n try {\n const res = await fetch(url, {\n method: requestOptions.method,\n ...(requestOptions.data && {\n body: JSON.stringify(requestOptions.data),\n }),\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n });\n if (res.status !== 200) {\n let dataError: any = null;\n try {\n dataError = await res.json();\n } catch (e) {\n //\n }\n throw errorBuilder(\n res.status,\n dataError?.message,\n dataError?.details,\n );\n }\n const data = await res.json();\n return { data };\n } catch (e: any) {\n if (e.message?.includes('fetch is not defined')) {\n console.error('Node.js v18+ is required');\n }\n throw e;\n }\n },\n });\n};\n\nconst errorBuilder = (code: number, description: string, details?: any) => {\n return {\n response: {\n data: {\n details: {\n ...details,\n ...(!details?.validationError && {\n applicationError: {\n description,\n code,\n },\n }),\n },\n message: description,\n },\n status: code,\n },\n };\n};\n\nexport function createClient<\n T = any,\n Z extends (...args: any) => any = any,\n>(config: {\n modules: T;\n auth?: Z;\n headers?: Headers;\n}): WithoutFunctionWrapper<T> & IWrapper<Z> {\n if (!config.modules || Object.entries(config.modules).length < 1) {\n throw new Error('Missing modules');\n }\n\n const _headers: Headers = config.headers || { Authorization: '' };\n const isObject = (val: any) =>\n val && typeof val === 'object' && !Array.isArray(val);\n\n const traverse = (obj: any) => {\n return Object.entries(obj).reduce((prev: any, [key, value]) => {\n if (isObject(value)) {\n prev[key] = traverse(value);\n } else if (typeof obj[key] === 'function') {\n prev[key] = wrapperBuilder(value as Function, _headers);\n } else {\n prev[key] = value;\n }\n return prev;\n }, {});\n };\n\n const setHeaders = (headers: Headers) => {\n for (const k in headers) {\n _headers[k] = headers[k];\n }\n };\n\n const wrappedModules = traverse(config.modules);\n return {\n ...wrappedModules,\n auth: config.auth?.(setHeaders),\n setHeaders,\n };\n}\n"],"mappings":"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"}
@@ -1,40 +1,31 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import { sdk } from '@wix/image-kit';
3
2
  import { parse } from 'querystring';
4
3
  const URL_HASH_PREFIX = '#';
5
4
  const WIX_PROTOCOL = 'wix:';
6
5
  const WIX_IMAGE = 'image';
7
-
8
- function getScaleToFillImageUrl(wixMediaIdentifier, targetWidth, targetHeight, options) {
9
- const img = getRawImageUrl(wixMediaIdentifier);
6
+ function getScaledToFillImageUrl(wixMediaIdentifier, targetWidth, targetHeight, options) {
7
+ const img = getImageUrl(wixMediaIdentifier);
10
8
  return sdk.getScaleToFillImageURL(img.id, img.height, img.width, targetWidth, targetHeight, options);
11
9
  }
12
-
13
- function getScaleToFitImageURL(wixMediaIdentifier, targetWidth, targetHeight, options) {
14
- const img = getRawImageUrl(wixMediaIdentifier);
10
+ function getScaledToFitImageUrl(wixMediaIdentifier, targetWidth, targetHeight, options) {
11
+ const img = getImageUrl(wixMediaIdentifier);
15
12
  return sdk.getScaleToFitImageURL(img.id, img.height, img.width, targetWidth, targetHeight, options);
16
13
  }
17
-
18
- function getCropImageURL(wixMediaIdentifier, cropX, cropY, cropWidth, cropHeight, targetWidth, targetHeight, options) {
19
- const img = getRawImageUrl(wixMediaIdentifier);
14
+ function getCroppedImageUrl(wixMediaIdentifier, cropX, cropY, cropWidth, cropHeight, targetWidth, targetHeight, options) {
15
+ const img = getImageUrl(wixMediaIdentifier);
20
16
  return sdk.getCropImageURL(img.id, img.height, img.width, cropX, cropY, cropWidth, cropHeight, targetWidth, targetHeight, options);
21
17
  }
22
-
23
- function getRawImageUrl(val) {
18
+ function getImageUrl(val) {
24
19
  const alignedImage = alignIfLegacy(val, WIX_IMAGE);
25
-
26
- const _URL = new URL(alignedImage),
27
- hash = _URL.hash,
28
- pathname = _URL.pathname;
29
-
30
- const _parse = parse(hash.replace(URL_HASH_PREFIX, '')),
31
- height = _parse.originHeight,
32
- width = _parse.originWidth;
33
-
34
- const _pathname$replace$spl = pathname.replace(WIX_IMAGE + "://v1/", '').split('/'),
35
- id = _pathname$replace$spl[0],
36
- filenameOrAltText = _pathname$replace$spl[1];
37
-
20
+ const {
21
+ hash,
22
+ pathname
23
+ } = new URL(alignedImage);
24
+ const {
25
+ originHeight: height,
26
+ originWidth: width
27
+ } = parse(hash.replace(URL_HASH_PREFIX, ''));
28
+ const [id, filenameOrAltText] = pathname.replace(WIX_IMAGE + "://v1/", '').split('/');
38
29
  const decodedFilenameOrAltText = decodeText(filenameOrAltText);
39
30
  const res = {
40
31
  id,
@@ -42,36 +33,31 @@ function getRawImageUrl(val) {
42
33
  height: Number(height),
43
34
  width: Number(width)
44
35
  };
45
-
46
36
  if (!decodedFilenameOrAltText) {
47
37
  return res;
48
38
  }
49
-
50
- return _extends({}, res, {
39
+ return {
40
+ ...res,
51
41
  altText: decodedFilenameOrAltText,
52
42
  filename: decodedFilenameOrAltText
53
- });
43
+ };
54
44
  }
55
-
56
45
  export function decodeText(s) {
57
46
  if (!s) {
58
47
  return s;
59
48
  }
60
-
61
49
  return decodeURIComponent(s);
62
50
  }
63
-
64
51
  function alignIfLegacy(url, type) {
65
- const _URL2 = new URL(url),
66
- protocol = _URL2.protocol;
67
-
52
+ const {
53
+ protocol
54
+ } = new URL(url);
68
55
  return protocol === type + ":" ? "" + WIX_PROTOCOL + url : url;
69
56
  }
70
-
71
57
  export const media = {
72
- getCropImageURL,
73
- getScaleToFillImageUrl,
74
- getScaleToFitImageURL,
75
- getRawImageUrl
58
+ getCroppedImageUrl,
59
+ getScaledToFillImageUrl,
60
+ getScaledToFitImageUrl,
61
+ getImageUrl
76
62
  };
77
63
  //# sourceMappingURL=wixMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["sdk","parse","URL_HASH_PREFIX","WIX_PROTOCOL","WIX_IMAGE","getScaleToFillImageUrl","wixMediaIdentifier","targetWidth","targetHeight","options","img","getRawImageUrl","getScaleToFillImageURL","id","height","width","getScaleToFitImageURL","getCropImageURL","cropX","cropY","cropWidth","cropHeight","val","alignedImage","alignIfLegacy","URL","hash","pathname","replace","originHeight","originWidth","split","filenameOrAltText","decodedFilenameOrAltText","decodeText","res","url","Number","altText","filename","s","decodeURIComponent","type","protocol","media"],"sources":["../../src/wixMedia.ts"],"sourcesContent":["import { sdk, ImageTransformOptions } from '@wix/image-kit';\nimport { parse } from 'querystring';\n\nconst URL_HASH_PREFIX = '#';\nconst WIX_PROTOCOL = 'wix:';\nconst WIX_IMAGE = 'image';\n\nfunction getScaleToFillImageUrl(\n wixMediaIdentifier: string,\n targetWidth: number,\n targetHeight: number,\n options: ImageTransformOptions,\n) {\n const img = getRawImageUrl(wixMediaIdentifier);\n\n return sdk.getScaleToFillImageURL(\n img.id,\n img.height,\n img.width,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getScaleToFitImageURL(\n wixMediaIdentifier: string,\n targetWidth: number,\n targetHeight: number,\n options: ImageTransformOptions,\n) {\n const img = getRawImageUrl(wixMediaIdentifier);\n\n return sdk.getScaleToFitImageURL(\n img.id,\n img.height,\n img.width,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getCropImageURL(\n wixMediaIdentifier: string,\n cropX: number,\n cropY: number,\n cropWidth: number,\n cropHeight: number,\n targetWidth: number,\n targetHeight: number,\n options?: ImageTransformOptions,\n) {\n const img = getRawImageUrl(wixMediaIdentifier);\n\n return sdk.getCropImageURL(\n img.id,\n img.height,\n img.width,\n cropX,\n cropY,\n cropWidth,\n cropHeight,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getRawImageUrl(val: string) {\n const alignedImage = alignIfLegacy(val, WIX_IMAGE);\n\n const { hash, pathname } = new URL(alignedImage);\n\n const { originHeight: height, originWidth: width } = parse(\n hash.replace(URL_HASH_PREFIX, ''),\n );\n const [id, filenameOrAltText] = pathname\n .replace(`${WIX_IMAGE}://v1/`, '')\n .split('/');\n\n const decodedFilenameOrAltText = decodeText(filenameOrAltText);\n\n const res = {\n id,\n url: `https://static.wixstatic.com/media/${id}`,\n height: Number(height),\n width: Number(width),\n };\n\n if (!decodedFilenameOrAltText) {\n return res;\n }\n\n return {\n ...res,\n altText: decodedFilenameOrAltText,\n filename: decodedFilenameOrAltText,\n };\n}\n\nexport function decodeText(s: string) {\n if (!s) {\n return s;\n }\n\n return decodeURIComponent(s);\n}\n\nfunction alignIfLegacy(url: string, type: string): string {\n const { protocol } = new URL(url);\n\n return protocol === `${type}:` ? `${WIX_PROTOCOL}${url}` : url;\n}\n\nexport const media = {\n getCropImageURL,\n getScaleToFillImageUrl,\n getScaleToFitImageURL,\n getRawImageUrl,\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["sdk","parse","URL_HASH_PREFIX","WIX_PROTOCOL","WIX_IMAGE","getScaledToFillImageUrl","wixMediaIdentifier","targetWidth","targetHeight","options","img","getImageUrl","getScaleToFillImageURL","id","height","width","getScaledToFitImageUrl","getScaleToFitImageURL","getCroppedImageUrl","cropX","cropY","cropWidth","cropHeight","getCropImageURL","val","alignedImage","alignIfLegacy","hash","pathname","URL","originHeight","originWidth","replace","filenameOrAltText","split","decodedFilenameOrAltText","decodeText","res","url","Number","altText","filename","s","decodeURIComponent","type","protocol","media"],"sources":["../../src/wixMedia.ts"],"sourcesContent":["import { sdk, ImageTransformOptions } from '@wix/image-kit';\nimport { parse } from 'querystring';\n\nconst URL_HASH_PREFIX = '#';\nconst WIX_PROTOCOL = 'wix:';\nconst WIX_IMAGE = 'image';\n\nfunction getScaledToFillImageUrl(\n wixMediaIdentifier: string,\n targetWidth: number,\n targetHeight: number,\n options: ImageTransformOptions,\n) {\n const img = getImageUrl(wixMediaIdentifier);\n\n return sdk.getScaleToFillImageURL(\n img.id,\n img.height,\n img.width,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getScaledToFitImageUrl(\n wixMediaIdentifier: string,\n targetWidth: number,\n targetHeight: number,\n options: ImageTransformOptions,\n) {\n const img = getImageUrl(wixMediaIdentifier);\n\n return sdk.getScaleToFitImageURL(\n img.id,\n img.height,\n img.width,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getCroppedImageUrl(\n wixMediaIdentifier: string,\n cropX: number,\n cropY: number,\n cropWidth: number,\n cropHeight: number,\n targetWidth: number,\n targetHeight: number,\n options?: ImageTransformOptions,\n) {\n const img = getImageUrl(wixMediaIdentifier);\n\n return sdk.getCropImageURL(\n img.id,\n img.height,\n img.width,\n cropX,\n cropY,\n cropWidth,\n cropHeight,\n targetWidth,\n targetHeight,\n options,\n );\n}\n\nfunction getImageUrl(val: string) {\n const alignedImage = alignIfLegacy(val, WIX_IMAGE);\n\n const { hash, pathname } = new URL(alignedImage);\n\n const { originHeight: height, originWidth: width } = parse(\n hash.replace(URL_HASH_PREFIX, ''),\n );\n const [id, filenameOrAltText] = pathname\n .replace(`${WIX_IMAGE}://v1/`, '')\n .split('/');\n\n const decodedFilenameOrAltText = decodeText(filenameOrAltText);\n\n const res = {\n id,\n url: `https://static.wixstatic.com/media/${id}`,\n height: Number(height),\n width: Number(width),\n };\n\n if (!decodedFilenameOrAltText) {\n return res;\n }\n\n return {\n ...res,\n altText: decodedFilenameOrAltText,\n filename: decodedFilenameOrAltText,\n };\n}\n\nexport function decodeText(s: string) {\n if (!s) {\n return s;\n }\n\n return decodeURIComponent(s);\n}\n\nfunction alignIfLegacy(url: string, type: string): string {\n const { protocol } = new URL(url);\n\n return protocol === `${type}:` ? `${WIX_PROTOCOL}${url}` : url;\n}\n\nexport const media = {\n getCroppedImageUrl,\n getScaledToFillImageUrl,\n getScaledToFitImageUrl,\n getImageUrl,\n};\n"],"mappings":"AAAA,SAASA,GAAG,QAA+B,gBAAgB;AAC3D,SAASC,KAAK,QAAQ,aAAa;AAEnC,MAAMC,eAAe,GAAG,GAAG;AAC3B,MAAMC,YAAY,GAAG,MAAM;AAC3B,MAAMC,SAAS,GAAG,OAAO;AAEzB,SAASC,uBAAuB,CAC9BC,kBAA0B,EAC1BC,WAAmB,EACnBC,YAAoB,EACpBC,OAA8B,EAC9B;EACA,MAAMC,GAAG,GAAGC,WAAW,CAACL,kBAAkB,CAAC;EAE3C,OAAON,GAAG,CAACY,sBAAsB,CAC/BF,GAAG,CAACG,EAAE,EACNH,GAAG,CAACI,MAAM,EACVJ,GAAG,CAACK,KAAK,EACTR,WAAW,EACXC,YAAY,EACZC,OAAO,CACR;AACH;AAEA,SAASO,sBAAsB,CAC7BV,kBAA0B,EAC1BC,WAAmB,EACnBC,YAAoB,EACpBC,OAA8B,EAC9B;EACA,MAAMC,GAAG,GAAGC,WAAW,CAACL,kBAAkB,CAAC;EAE3C,OAAON,GAAG,CAACiB,qBAAqB,CAC9BP,GAAG,CAACG,EAAE,EACNH,GAAG,CAACI,MAAM,EACVJ,GAAG,CAACK,KAAK,EACTR,WAAW,EACXC,YAAY,EACZC,OAAO,CACR;AACH;AAEA,SAASS,kBAAkB,CACzBZ,kBAA0B,EAC1Ba,KAAa,EACbC,KAAa,EACbC,SAAiB,EACjBC,UAAkB,EAClBf,WAAmB,EACnBC,YAAoB,EACpBC,OAA+B,EAC/B;EACA,MAAMC,GAAG,GAAGC,WAAW,CAACL,kBAAkB,CAAC;EAE3C,OAAON,GAAG,CAACuB,eAAe,CACxBb,GAAG,CAACG,EAAE,EACNH,GAAG,CAACI,MAAM,EACVJ,GAAG,CAACK,KAAK,EACTI,KAAK,EACLC,KAAK,EACLC,SAAS,EACTC,UAAU,EACVf,WAAW,EACXC,YAAY,EACZC,OAAO,CACR;AACH;AAEA,SAASE,WAAW,CAACa,GAAW,EAAE;EAChC,MAAMC,YAAY,GAAGC,aAAa,CAACF,GAAG,EAAEpB,SAAS,CAAC;EAElD,MAAM;IAAEuB,IAAI;IAAEC;EAAS,CAAC,GAAG,IAAIC,GAAG,CAACJ,YAAY,CAAC;EAEhD,MAAM;IAAEK,YAAY,EAAEhB,MAAM;IAAEiB,WAAW,EAAEhB;EAAM,CAAC,GAAGd,KAAK,CACxD0B,IAAI,CAACK,OAAO,CAAC9B,eAAe,EAAE,EAAE,CAAC,CAClC;EACD,MAAM,CAACW,EAAE,EAAEoB,iBAAiB,CAAC,GAAGL,QAAQ,CACrCI,OAAO,CAAI5B,SAAS,aAAU,EAAE,CAAC,CACjC8B,KAAK,CAAC,GAAG,CAAC;EAEb,MAAMC,wBAAwB,GAAGC,UAAU,CAACH,iBAAiB,CAAC;EAE9D,MAAMI,GAAG,GAAG;IACVxB,EAAE;IACFyB,GAAG,0CAAwCzB,EAAI;IAC/CC,MAAM,EAAEyB,MAAM,CAACzB,MAAM,CAAC;IACtBC,KAAK,EAAEwB,MAAM,CAACxB,KAAK;EACrB,CAAC;EAED,IAAI,CAACoB,wBAAwB,EAAE;IAC7B,OAAOE,GAAG;EACZ;EAEA,OAAO;IACL,GAAGA,GAAG;IACNG,OAAO,EAAEL,wBAAwB;IACjCM,QAAQ,EAAEN;EACZ,CAAC;AACH;AAEA,OAAO,SAASC,UAAU,CAACM,CAAS,EAAE;EACpC,IAAI,CAACA,CAAC,EAAE;IACN,OAAOA,CAAC;EACV;EAEA,OAAOC,kBAAkB,CAACD,CAAC,CAAC;AAC9B;AAEA,SAAShB,aAAa,CAACY,GAAW,EAAEM,IAAY,EAAU;EACxD,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAIhB,GAAG,CAACS,GAAG,CAAC;EAEjC,OAAOO,QAAQ,KAAQD,IAAI,MAAG,QAAMzC,YAAY,GAAGmC,GAAG,GAAKA,GAAG;AAChE;AAEA,OAAO,MAAMQ,KAAK,GAAG;EACnB5B,kBAAkB;EAClBb,uBAAuB;EACvBW,sBAAsB;EACtBL;AACF,CAAC"}