@ecency/render-helper 2.3.8 → 2.3.9

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.
@@ -20,7 +20,8 @@ exports.ALLOWED_ATTRIBUTES = {
20
20
  'data-is-inline',
21
21
  'class',
22
22
  'title',
23
- 'data-id'
23
+ 'data-id',
24
+ 'id'
24
25
  ],
25
26
  'img': [
26
27
  'src',
@@ -31,9 +32,9 @@ exports.ALLOWED_ATTRIBUTES = {
31
32
  'decoding',
32
33
  'itemprop'
33
34
  ],
34
- 'span': ['class'],
35
+ 'span': ['class', 'id'],
35
36
  'iframe': ['src', 'class', 'frameborder', 'allowfullscreen', 'webkitallowfullscreen', 'mozallowfullscreen', 'sandbox'],
36
- 'div': ['class'],
37
+ 'div': ['class', 'id'],
37
38
  'strong': [],
38
39
  'b': [],
39
40
  'i': [],
@@ -44,13 +45,13 @@ exports.ALLOWED_ATTRIBUTES = {
44
45
  'blockquote': ['class'],
45
46
  'sup': [],
46
47
  'sub': [],
47
- 'h1': ['dir'],
48
- 'h2': ['dir'],
49
- 'h3': ['dir'],
50
- 'h4': ['dir'],
51
- 'h5': ['dir'],
52
- 'h6': ['dir'],
53
- 'p': ['dir'],
48
+ 'h1': ['dir', 'id'],
49
+ 'h2': ['dir', 'id'],
50
+ 'h3': ['dir', 'id'],
51
+ 'h4': ['dir', 'id'],
52
+ 'h5': ['dir', 'id'],
53
+ 'h6': ['dir', 'id'],
54
+ 'p': ['dir', 'id'],
54
55
  'center': [],
55
56
  'ul': [],
56
57
  'ol': [],
@@ -1 +1 @@
1
- {"version":3,"file":"allowed-attributes.const.js","sourceRoot":"","sources":["../../src/consts/allowed-attributes.const.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAiB;IAC9C,GAAG,EAAE;QACH,MAAM;QACN,QAAQ;QACR,KAAK;QACL,eAAe;QACf,UAAU;QACV,aAAa;QACb,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,OAAO;QACP,OAAO;QACP,SAAS;KACV;IACD,KAAK,EAAE;QACL,KAAK;QACL,KAAK;QACL,OAAO;QACP,SAAS;QACT,eAAe;QACf,UAAU;QACV,UAAU;KACX;IACD,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,SAAS,CAAC;IACtH,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;IACb,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACV,CAAA"}
1
+ {"version":3,"file":"allowed-attributes.const.js","sourceRoot":"","sources":["../../src/consts/allowed-attributes.const.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAiB;IAC9C,GAAG,EAAE;QACH,MAAM;QACN,QAAQ;QACR,KAAK;QACL,eAAe;QACf,UAAU;QACV,aAAa;QACb,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,OAAO;QACP,OAAO;QACP,SAAS;QACT,IAAI;KACL;IACD,KAAK,EAAE;QACL,KAAK;QACL,KAAK;QACL,OAAO;QACP,SAAS;QACT,eAAe;QACf,UAAU;QACV,UAAU;KACX;IACD,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,SAAS,CAAC;IACtH,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;IACtB,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACV,CAAA"}
@@ -41,3 +41,4 @@ export declare const LOOM_EMBED_REGEX: RegExp;
41
41
  export declare const AUREAL_EMBED_REGEX: RegExp;
42
42
  export declare const ENTITY_REGEX: RegExp;
43
43
  export declare const SECTION_REGEX: RegExp;
44
+ export declare const ID_WHITELIST: RegExp;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SECTION_REGEX = exports.ENTITY_REGEX = exports.AUREAL_EMBED_REGEX = exports.LOOM_EMBED_REGEX = exports.LOOM_REGEX = exports.BRAND_NEW_TUBE_REGEX = exports.TWITCH_EMBED_REGEX = exports.SOUNDCLOUD_EMBED_REGEX = exports.SPOTIFY_EMBED_REGEX = exports.VIMM_EMBED_REGEX = exports.BRIGHTEON_REGEX = exports.RUMBLE_REGEX = exports.SPOTIFY_REGEX = exports.TWITTER_REGEX = exports.SPEAK_EMBED_REGEX = exports.SPEAK_REGEX = exports.ARCH_REGEX = exports.SKATEHIVE_IPFS_REGEX = exports.ODYSEE_REGEX = exports.LBRY_REGEX = exports.TRUVVL_REGEX = exports.DAPPLR_REGEX = exports.TWITCH_REGEX = exports.D_TUBE_EMBED_REGEX = exports.D_TUBE_REGEX2 = exports.D_TUBE_REGEX = exports.BITCHUTE_REGEX = exports.VIMEO_EMBED_REGEX = exports.VIMEO_REGEX = exports.YOUTUBE_EMBED_REGEX = exports.YOUTUBE_REGEX = exports.CUSTOM_COMMUNITY_REGEX = exports.INTERNAL_POST_REGEX = exports.INTERNAL_POST_TAG_REGEX = exports.INTERNAL_TOPIC_REGEX = exports.INTERNAL_MENTION_REGEX = exports.TOPIC_REGEX = exports.MENTION_REGEX = exports.CCC_REGEX = exports.POST_REGEX = exports.IPFS_REGEX = exports.IMG_REGEX = exports.URL_REGEX = void 0;
3
+ exports.ID_WHITELIST = exports.SECTION_REGEX = exports.ENTITY_REGEX = exports.AUREAL_EMBED_REGEX = exports.LOOM_EMBED_REGEX = exports.LOOM_REGEX = exports.BRAND_NEW_TUBE_REGEX = exports.TWITCH_EMBED_REGEX = exports.SOUNDCLOUD_EMBED_REGEX = exports.SPOTIFY_EMBED_REGEX = exports.VIMM_EMBED_REGEX = exports.BRIGHTEON_REGEX = exports.RUMBLE_REGEX = exports.SPOTIFY_REGEX = exports.TWITTER_REGEX = exports.SPEAK_EMBED_REGEX = exports.SPEAK_REGEX = exports.ARCH_REGEX = exports.SKATEHIVE_IPFS_REGEX = exports.ODYSEE_REGEX = exports.LBRY_REGEX = exports.TRUVVL_REGEX = exports.DAPPLR_REGEX = exports.TWITCH_REGEX = exports.D_TUBE_EMBED_REGEX = exports.D_TUBE_REGEX2 = exports.D_TUBE_REGEX = exports.BITCHUTE_REGEX = exports.VIMEO_EMBED_REGEX = exports.VIMEO_REGEX = exports.YOUTUBE_EMBED_REGEX = exports.YOUTUBE_REGEX = exports.CUSTOM_COMMUNITY_REGEX = exports.INTERNAL_POST_REGEX = exports.INTERNAL_POST_TAG_REGEX = exports.INTERNAL_TOPIC_REGEX = exports.INTERNAL_MENTION_REGEX = exports.TOPIC_REGEX = exports.MENTION_REGEX = exports.CCC_REGEX = exports.POST_REGEX = exports.IPFS_REGEX = exports.IMG_REGEX = exports.URL_REGEX = void 0;
4
4
  // link regex
5
5
  exports.URL_REGEX = /(https?:\/\/[^\s]+)/g;
6
6
  exports.IMG_REGEX = /(https?:\/\/.*\.(?:tiff?|jpe?g|gif|png|svg|ico|heic|webp))(.*)/gim;
@@ -45,4 +45,5 @@ exports.LOOM_EMBED_REGEX = /^(https?:)?\/\/www.loom.com\/embed\/(.*)/i;
45
45
  exports.AUREAL_EMBED_REGEX = /^(https?:\/\/)?(www\.)?(?:aureal-embed)\.web\.app\/([0-9]+)/i;
46
46
  exports.ENTITY_REGEX = /&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-fA-F]{1,6});/ig;
47
47
  exports.SECTION_REGEX = /\B(\#[\da-zA-Z-_]+\b)(?!;)/i;
48
+ exports.ID_WHITELIST = /^[A-Za-z][-A-Za-z0-9_]*$/;
48
49
  //# sourceMappingURL=regexes.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexes.const.js","sourceRoot":"","sources":["../../src/consts/regexes.const.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACA,QAAA,SAAS,GAAG,sBAAsB,CAAA;AAClC,QAAA,SAAS,GAAG,mEAAmE,CAAA;AAC/E,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,UAAU,GAAG,6CAA6C,CAAA;AAC1D,QAAA,SAAS,GAAG,2CAA2C,CAAA;AACvD,QAAA,aAAa,GAAG,kCAAkC,CAAA;AAClD,QAAA,WAAW,GAAG,wEAAwE,CAAA;AACtF,QAAA,sBAAsB,GAAG,iBAAiB,CAAA;AAC1C,QAAA,oBAAoB,GAAG,yDAAyD,CAAA;AAChF,QAAA,uBAAuB,GAAG,2BAA2B,CAAA;AACrD,QAAA,mBAAmB,GAAG,yBAAyB,CAAA;AAC/C,QAAA,sBAAsB,GAAG,sCAAsC,CAAA;AAC/D,QAAA,aAAa,GAAG,sGAAsG,CAAA;AACtH,QAAA,mBAAmB,GAAG,qDAAqD,CAAA;AAC3E,QAAA,WAAW,GAAG,4EAA4E,CAAA;AAC1F,QAAA,iBAAiB,GAAG,+CAA+C,CAAA;AACnE,QAAA,cAAc,GAAG,wEAAwE,CAAA;AACzF,QAAA,YAAY,GAAG,0CAA0C,CAAA;AACzD,QAAA,aAAa,GAAG,uCAAuC,CAAA;AACvD,QAAA,kBAAkB,GAAG,4BAA4B,CAAA;AACjD,QAAA,YAAY,GAAG,wEAAwE,CAAA;AACvF,QAAA,YAAY,GAAG,4DAA4D,CAAA;AAC3E,QAAA,YAAY,GAAG,mDAAmD,CAAA;AAClE,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,YAAY,GAAG,oDAAoD,CAAA;AACnE,QAAA,oBAAoB,GAAG,oDAAoD,CAAA;AAC3E,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,WAAW,GAAG,2GAA2G,CAAA;AACzH,QAAA,iBAAiB,GAAG,4CAA4C,CAAA;AAChE,QAAA,aAAa,GAAG,4DAA4D,CAAA;AAC5E,QAAA,aAAa,GAAG,mDAAmD,CAAA;AACnE,QAAA,YAAY,GAAI,0DAA0D,CAAA;AAC1E,QAAA,eAAe,GAAG,8DAA8D,CAAA;AAChF,QAAA,gBAAgB,GAAG,6BAA6B,CAAA;AAChD,QAAA,mBAAmB,GAAG,kGAAkG,CAAA;AACxH,QAAA,sBAAsB,GAAG,0CAA0C,CAAA;AACnE,QAAA,kBAAkB,GAAG,sCAAsC,CAAA;AAC3D,QAAA,oBAAoB,GAAG,kDAAkD,CAAA;AACzE,QAAA,UAAU,GAAG,2CAA2C,CAAA;AACxD,QAAA,gBAAgB,GAAG,2CAA2C,CAAA;AAC9D,QAAA,kBAAkB,GAAG,8DAA8D,CAAA;AACnF,QAAA,YAAY,GAAG,gDAAgD,CAAA;AAC/D,QAAA,aAAa,GAAG,6BAA6B,CAAA"}
1
+ {"version":3,"file":"regexes.const.js","sourceRoot":"","sources":["../../src/consts/regexes.const.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACA,QAAA,SAAS,GAAG,sBAAsB,CAAA;AAClC,QAAA,SAAS,GAAG,mEAAmE,CAAA;AAC/E,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,UAAU,GAAG,6CAA6C,CAAA;AAC1D,QAAA,SAAS,GAAG,2CAA2C,CAAA;AACvD,QAAA,aAAa,GAAG,kCAAkC,CAAA;AAClD,QAAA,WAAW,GAAG,wEAAwE,CAAA;AACtF,QAAA,sBAAsB,GAAG,iBAAiB,CAAA;AAC1C,QAAA,oBAAoB,GAAG,yDAAyD,CAAA;AAChF,QAAA,uBAAuB,GAAG,2BAA2B,CAAA;AACrD,QAAA,mBAAmB,GAAG,yBAAyB,CAAA;AAC/C,QAAA,sBAAsB,GAAG,sCAAsC,CAAA;AAC/D,QAAA,aAAa,GAAG,sGAAsG,CAAA;AACtH,QAAA,mBAAmB,GAAG,qDAAqD,CAAA;AAC3E,QAAA,WAAW,GAAG,4EAA4E,CAAA;AAC1F,QAAA,iBAAiB,GAAG,+CAA+C,CAAA;AACnE,QAAA,cAAc,GAAG,wEAAwE,CAAA;AACzF,QAAA,YAAY,GAAG,0CAA0C,CAAA;AACzD,QAAA,aAAa,GAAG,uCAAuC,CAAA;AACvD,QAAA,kBAAkB,GAAG,4BAA4B,CAAA;AACjD,QAAA,YAAY,GAAG,wEAAwE,CAAA;AACvF,QAAA,YAAY,GAAG,4DAA4D,CAAA;AAC3E,QAAA,YAAY,GAAG,mDAAmD,CAAA;AAClE,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,YAAY,GAAG,oDAAoD,CAAA;AACnE,QAAA,oBAAoB,GAAG,oDAAoD,CAAA;AAC3E,QAAA,UAAU,GAAG,wCAAwC,CAAA;AACrD,QAAA,WAAW,GAAG,2GAA2G,CAAA;AACzH,QAAA,iBAAiB,GAAG,4CAA4C,CAAA;AAChE,QAAA,aAAa,GAAG,4DAA4D,CAAA;AAC5E,QAAA,aAAa,GAAG,mDAAmD,CAAA;AACnE,QAAA,YAAY,GAAI,0DAA0D,CAAA;AAC1E,QAAA,eAAe,GAAG,8DAA8D,CAAA;AAChF,QAAA,gBAAgB,GAAG,6BAA6B,CAAA;AAChD,QAAA,mBAAmB,GAAG,kGAAkG,CAAA;AACxH,QAAA,sBAAsB,GAAG,0CAA0C,CAAA;AACnE,QAAA,kBAAkB,GAAG,sCAAsC,CAAA;AAC3D,QAAA,oBAAoB,GAAG,kDAAkD,CAAA;AACzE,QAAA,UAAU,GAAG,2CAA2C,CAAA;AACxD,QAAA,gBAAgB,GAAG,2CAA2C,CAAA;AAC9D,QAAA,kBAAkB,GAAG,8DAA8D,CAAA;AACnF,QAAA,YAAY,GAAG,gDAAgD,CAAA;AAC/D,QAAA,aAAa,GAAG,6BAA6B,CAAA;AAC7C,QAAA,YAAY,GAAG,0BAA0B,CAAA"}
@@ -27,6 +27,10 @@ function sanitizeHtml(html) {
27
27
  return '';
28
28
  if (tag === 'span' && name === 'class' && value === 'wr')
29
29
  return '';
30
+ if (name === 'id') {
31
+ if (!consts_1.ID_WHITELIST.test(decoded))
32
+ return '';
33
+ }
30
34
  return undefined;
31
35
  }
32
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-html.method.js","sourceRoot":"","sources":["../../src/methods/sanitize-html.method.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAqB;AACrB,oCAA8C;AAE9C,IAAM,cAAc,GAAG,UAAC,KAAa;IACnC,OAAA,KAAK;SACF,OAAO,CAAC,YAAY,EAAE,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAxB,CAAwB,CAAC;SAC3D,OAAO,CAAC,oBAAoB,EAAE,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAtC,CAAsC,CAAC;AAFpF,CAEoF,CAAC;AAEvF,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAA,aAAG,EAAC,IAAI,EAAE;QACf,SAAS,EAAE,2BAAkB;QAC7B,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,CAAC,OAAO,CAAC;QAC7B,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK;YAC1B,IAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,oBAAoB;YAC1D,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvH,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACpE,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAEpE,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"sanitize-html.method.js","sourceRoot":"","sources":["../../src/methods/sanitize-html.method.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAqB;AACrB,oCAA0D;AAE1D,IAAM,cAAc,GAAG,UAAC,KAAa;IACnC,OAAA,KAAK;SACF,OAAO,CAAC,YAAY,EAAE,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAxB,CAAwB,CAAC;SAC3D,OAAO,CAAC,oBAAoB,EAAE,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAtC,CAAsC,CAAC;AAFpF,CAEoF,CAAC;AAEvF,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAA,aAAG,EAAC,IAAI,EAAE;QACf,SAAS,EAAE,2BAAkB;QAC7B,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,CAAC,OAAO,CAAC;QAC7B,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,UAAC,GAAG,EAAE,IAAI,EAAE,KAAK;YAC1B,IAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,oBAAoB;YAC1D,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvH,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACpE,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YACpE,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,qBAAY,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,OAAO,EAAE,CAAC;aAC5C;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAnBD,oCAmBC"}