defuddle 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +49 -29
  2. package/dist/cli.js +15 -46
  3. package/dist/cli.js.map +1 -1
  4. package/dist/constants.d.ts +9 -0
  5. package/dist/constants.js +33 -9
  6. package/dist/constants.js.map +1 -1
  7. package/dist/defuddle.d.ts +50 -2
  8. package/dist/defuddle.js +615 -238
  9. package/dist/defuddle.js.map +1 -1
  10. package/dist/elements/code.js +31 -9
  11. package/dist/elements/code.js.map +1 -1
  12. package/dist/elements/footnotes.js +2 -1
  13. package/dist/elements/footnotes.js.map +1 -1
  14. package/dist/elements/headings.js +42 -50
  15. package/dist/elements/headings.js.map +1 -1
  16. package/dist/extractor-registry.d.ts +1 -0
  17. package/dist/extractor-registry.js +3 -0
  18. package/dist/extractor-registry.js.map +1 -1
  19. package/dist/extractors/_base.d.ts +6 -0
  20. package/dist/extractors/_base.js +8 -0
  21. package/dist/extractors/_base.js.map +1 -1
  22. package/dist/extractors/github.d.ts +10 -2
  23. package/dist/extractors/github.js +158 -71
  24. package/dist/extractors/github.js.map +1 -1
  25. package/dist/extractors/hackernews.js +18 -72
  26. package/dist/extractors/hackernews.js.map +1 -1
  27. package/dist/extractors/reddit.d.ts +1 -2
  28. package/dist/extractors/reddit.js +41 -94
  29. package/dist/extractors/reddit.js.map +1 -1
  30. package/dist/extractors/x-oembed.d.ts +0 -1
  31. package/dist/extractors/x-oembed.js +20 -27
  32. package/dist/extractors/x-oembed.js.map +1 -1
  33. package/dist/extractors/youtube.d.ts +57 -0
  34. package/dist/extractors/youtube.js +619 -10
  35. package/dist/extractors/youtube.js.map +1 -1
  36. package/dist/index.full.js +1 -1
  37. package/dist/index.js +1 -1
  38. package/dist/markdown.js +5 -0
  39. package/dist/markdown.js.map +1 -1
  40. package/dist/metadata.d.ts +5 -0
  41. package/dist/metadata.js +28 -0
  42. package/dist/metadata.js.map +1 -1
  43. package/dist/node.d.ts +12 -5
  44. package/dist/node.js +53 -22
  45. package/dist/node.js.map +1 -1
  46. package/dist/scoring.d.ts +6 -1
  47. package/dist/scoring.js +69 -22
  48. package/dist/scoring.js.map +1 -1
  49. package/dist/standardize.js +152 -63
  50. package/dist/standardize.js.map +1 -1
  51. package/dist/types.d.ts +9 -0
  52. package/dist/utils/comments.d.ts +44 -0
  53. package/dist/utils/comments.js +103 -0
  54. package/dist/utils/comments.js.map +1 -0
  55. package/dist/utils/dom.d.ts +9 -0
  56. package/dist/utils/dom.js +20 -0
  57. package/dist/utils/dom.js.map +1 -1
  58. package/dist/utils/linkedom-compat.d.ts +5 -0
  59. package/dist/utils/linkedom-compat.js +23 -0
  60. package/dist/utils/linkedom-compat.js.map +1 -0
  61. package/dist/utils/transcript.d.ts +37 -0
  62. package/dist/utils/transcript.js +61 -0
  63. package/dist/utils/transcript.js.map +1 -0
  64. package/dist/utils.d.ts +6 -0
  65. package/dist/utils.js +36 -0
  66. package/dist/utils.js.map +1 -1
  67. package/package.json +3 -4
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RedditExtractor = void 0;
4
4
  const _base_1 = require("./_base");
5
5
  const dom_1 = require("../utils/dom");
6
+ const comments_1 = require("../utils/comments");
6
7
  class RedditExtractor extends _base_1.BaseExtractor {
7
8
  constructor(document, url) {
8
9
  super(document, url);
@@ -84,7 +85,8 @@ class RedditExtractor extends _base_1.BaseExtractor {
84
85
  const postBodyEl = thingLink?.querySelector('.usertext-body .md');
85
86
  const postBody = postBodyEl ? (0, dom_1.serializeHTML)(postBodyEl) : '';
86
87
  const commentArea = root.querySelector('.commentarea .sitetable');
87
- const comments = commentArea ? this.processOldRedditComments(commentArea) : '';
88
+ const commentData = commentArea ? this.collectOldRedditComments(commentArea) : [];
89
+ const comments = commentData.length > 0 ? (0, comments_1.buildCommentTree)(commentData) : '';
88
90
  const contentHtml = this.createContentHtml(postBody, comments);
89
91
  const description = this.createDescription(postBody);
90
92
  return {
@@ -110,20 +112,7 @@ class RedditExtractor extends _base_1.BaseExtractor {
110
112
  return textBody + mediaBody;
111
113
  }
112
114
  createContentHtml(postContent, comments) {
113
- return `
114
- <div class="reddit-post">
115
- <div class="post-content">
116
- ${postContent}
117
- </div>
118
- </div>
119
- ${comments ? `
120
- <hr>
121
- <h2>Comments</h2>
122
- <div class="reddit-comments">
123
- ${comments}
124
- </div>
125
- ` : ''}
126
- `.trim();
115
+ return (0, comments_1.buildContentHtml)('reddit', postContent, comments);
127
116
  }
128
117
  extractComments() {
129
118
  const comments = Array.from(this.document.querySelectorAll('shreddit-comment'));
@@ -149,43 +138,35 @@ class RedditExtractor extends _base_1.BaseExtractor {
149
138
  .slice(0, 140)
150
139
  .replace(/\s+/g, ' ') || '';
151
140
  }
152
- processOldRedditComments(container) {
153
- const topLevelComments = Array.from(container.querySelectorAll(':scope > .thing.comment'));
154
- return topLevelComments.map(comment => this.renderOldRedditComment(comment)).join('');
155
- }
156
- renderOldRedditComment(comment) {
157
- const author = comment.getAttribute('data-author') || '';
158
- const permalink = comment.getAttribute('data-permalink') || '';
159
- const score = comment.querySelector('.entry .tagline .score.unvoted')?.textContent?.trim() || '';
160
- const timeEl = comment.querySelector('.entry .tagline time[datetime]');
161
- const datetime = timeEl?.getAttribute('datetime') || '';
162
- const date = datetime ? new Date(datetime).toISOString().split('T')[0] : '';
163
- const bodyEl = comment.querySelector('.entry .usertext-body .md');
164
- const body = bodyEl ? (0, dom_1.serializeHTML)(bodyEl) : '';
165
- let html = '<blockquote>';
166
- html += `<div class="comment">
167
- <div class="comment-metadata">
168
- <span class="comment-author"><strong>${author}</strong></span> •
169
- <a href="https://reddit.com${permalink}" class="comment-link">${score}</a>
170
- <span class="comment-date">${date}</span>
171
- </div>
172
- <div class="comment-content">${body}</div>
173
- </div>`;
174
- // Recurse into child comments
175
- const childContainer = comment.querySelector('.child > .sitetable');
176
- if (childContainer) {
177
- const children = Array.from(childContainer.querySelectorAll(':scope > .thing.comment'));
178
- for (const child of children) {
179
- html += this.renderOldRedditComment(child);
141
+ collectOldRedditComments(container, depth = 0) {
142
+ const result = [];
143
+ const comments = Array.from(container.querySelectorAll(':scope > .thing.comment'));
144
+ for (const comment of comments) {
145
+ const author = comment.getAttribute('data-author') || '';
146
+ const permalink = comment.getAttribute('data-permalink') || '';
147
+ const score = comment.querySelector('.entry .tagline .score.unvoted')?.textContent?.trim() || '';
148
+ const timeEl = comment.querySelector('.entry .tagline time[datetime]');
149
+ const datetime = timeEl?.getAttribute('datetime') || '';
150
+ const date = datetime ? new Date(datetime).toISOString().split('T')[0] : '';
151
+ const bodyEl = comment.querySelector('.entry .usertext-body .md');
152
+ const body = bodyEl ? (0, dom_1.serializeHTML)(bodyEl) : '';
153
+ result.push({
154
+ author,
155
+ date,
156
+ content: body,
157
+ depth,
158
+ score: score || undefined,
159
+ url: permalink ? `https://reddit.com${permalink}` : undefined,
160
+ });
161
+ const childContainer = comment.querySelector('.child > .sitetable');
162
+ if (childContainer) {
163
+ result.push(...this.collectOldRedditComments(childContainer, depth + 1));
180
164
  }
181
165
  }
182
- html += '</blockquote>';
183
- return html;
166
+ return result;
184
167
  }
185
168
  processComments(comments) {
186
- let html = '';
187
- let currentDepth = -1;
188
- let blockquoteStack = []; // Keep track of open blockquotes at each depth
169
+ const commentData = [];
189
170
  for (const comment of comments) {
190
171
  const depth = parseInt(comment.getAttribute('depth') || '0');
191
172
  const author = comment.getAttribute('author') || '';
@@ -193,54 +174,20 @@ class RedditExtractor extends _base_1.BaseExtractor {
193
174
  const permalink = comment.getAttribute('permalink') || '';
194
175
  const commentEl = comment.querySelector('[slot="comment"]');
195
176
  const content = commentEl ? (0, dom_1.serializeHTML)(commentEl) : '';
196
- // Get timestamp from faceplate-timeago element
197
- const timeElement = comment.querySelector('faceplate-timeago');
198
- const timestamp = timeElement?.getAttribute('ts') || '';
177
+ const timestamp = comment.getAttribute('created')
178
+ || comment.querySelector('time')?.getAttribute('datetime')
179
+ || '';
199
180
  const date = timestamp ? new Date(timestamp).toISOString().split('T')[0] : '';
200
- // For top-level comments, close all previous blockquotes and start fresh
201
- if (depth === 0) {
202
- // Close all open blockquotes
203
- while (blockquoteStack.length > 0) {
204
- html += '</blockquote>';
205
- blockquoteStack.pop();
206
- }
207
- html += '<blockquote>';
208
- blockquoteStack = [0];
209
- currentDepth = 0;
210
- }
211
- // For nested comments
212
- else {
213
- // If we're moving back up the tree
214
- if (depth < currentDepth) {
215
- // Close blockquotes until we reach the current depth
216
- while (blockquoteStack.length > 0 && blockquoteStack[blockquoteStack.length - 1] >= depth) {
217
- html += '</blockquote>';
218
- blockquoteStack.pop();
219
- }
220
- }
221
- // If we're going deeper
222
- else if (depth > currentDepth) {
223
- html += '<blockquote>';
224
- blockquoteStack.push(depth);
225
- }
226
- // If we're at the same depth, no need to close or open blockquotes
227
- }
228
- html += `<div class="comment">
229
- <div class="comment-metadata">
230
- <span class="comment-author"><strong>${author}</strong></span> •
231
- <a href="https://reddit.com${permalink}" class="comment-link">${score} points</a> •
232
- <span class="comment-date">${date}</span>
233
- </div>
234
- <div class="comment-content">${content}</div>
235
- </div>`;
236
- currentDepth = depth;
237
- }
238
- // Close any remaining blockquotes
239
- while (blockquoteStack.length > 0) {
240
- html += '</blockquote>';
241
- blockquoteStack.pop();
181
+ commentData.push({
182
+ author,
183
+ date,
184
+ content,
185
+ depth,
186
+ score: `${score} points`,
187
+ url: permalink ? `https://reddit.com${permalink}` : undefined,
188
+ });
242
189
  }
243
- return html;
190
+ return (0, comments_1.buildCommentTree)(commentData);
244
191
  }
245
192
  }
246
193
  exports.RedditExtractor = RedditExtractor;
@@ -1 +1 @@
1
- {"version":3,"file":"reddit.js","sourceRoot":"","sources":["../../src/extractors/reddit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reddit.js","sourceRoot":"","sources":["../../src/extractors/reddit.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,4 @@ export declare class XOembedExtractor extends BaseExtractor {
17
17
  private renderBlock;
18
18
  private renderAtomicBlock;
19
19
  private renderInlineContent;
20
- private escapeHtml;
21
20
  }
@@ -48,10 +48,10 @@ class XOembedExtractor extends _base_1.BaseExtractor {
48
48
  const dateLink = blockquote?.querySelector('a:last-child');
49
49
  const dateText = dateLink?.textContent?.trim() || '';
50
50
  const permalink = dateLink?.getAttribute('href') || this.url;
51
- const escapedAuthorName = this.escapeHtml(data.author_name);
52
- const escapedHandle = this.escapeHtml(handle);
53
- const escapedDateText = this.escapeHtml(dateText);
54
- const escapedPermalink = this.escapeHtml(permalink);
51
+ const escapedAuthorName = (0, dom_1.escapeHtml)(data.author_name);
52
+ const escapedHandle = (0, dom_1.escapeHtml)(handle);
53
+ const escapedDateText = (0, dom_1.escapeHtml)(dateText);
54
+ const escapedPermalink = (0, dom_1.escapeHtml)(permalink);
55
55
  const contentHtml = `
56
56
  <div class="tweet-thread">
57
57
  <div class="main-tweet">
@@ -170,11 +170,11 @@ class XOembedExtractor extends _base_1.BaseExtractor {
170
170
  // Append media images
171
171
  if (tweet.media?.photos) {
172
172
  for (const photo of tweet.media.photos) {
173
- htmlParts.push(`<img src="${this.escapeHtml(photo.url)}" alt="">`);
173
+ htmlParts.push(`<img src="${(0, dom_1.escapeHtml)(photo.url)}" alt="">`);
174
174
  }
175
175
  }
176
- const handle = this.escapeHtml(`@${tweet.author.screen_name}`);
177
- const authorName = this.escapeHtml(tweet.author.name);
176
+ const handle = (0, dom_1.escapeHtml)(`@${tweet.author.screen_name}`);
177
+ const authorName = (0, dom_1.escapeHtml)(tweet.author.name);
178
178
  return `<div class="tweet-thread"><div class="main-tweet"><div class="tweet">` +
179
179
  `<div class="tweet-header"><span class="tweet-author"><strong>${authorName}</strong> <span class="tweet-handle">${handle}</span></span></div>` +
180
180
  `<div class="tweet-text">${htmlParts.join('\n')}</div>` +
@@ -182,7 +182,7 @@ class XOembedExtractor extends _base_1.BaseExtractor {
182
182
  }
183
183
  applyMarkers(text, markers) {
184
184
  if (markers.length === 0) {
185
- return this.escapeHtml(text);
185
+ return (0, dom_1.escapeHtml)(text);
186
186
  }
187
187
  markers.sort((a, b) => {
188
188
  if (a.offset !== b.offset)
@@ -197,13 +197,13 @@ class XOembedExtractor extends _base_1.BaseExtractor {
197
197
  let pos = 0;
198
198
  for (const marker of markers) {
199
199
  if (marker.offset > pos) {
200
- result += this.escapeHtml(text.slice(pos, marker.offset));
200
+ result += (0, dom_1.escapeHtml)(text.slice(pos, marker.offset));
201
201
  }
202
202
  result += marker.tag;
203
203
  pos = marker.offset;
204
204
  }
205
205
  if (pos < text.length) {
206
- result += this.escapeHtml(text.slice(pos));
206
+ result += (0, dom_1.escapeHtml)(text.slice(pos));
207
207
  }
208
208
  return result;
209
209
  }
@@ -220,12 +220,12 @@ class XOembedExtractor extends _base_1.BaseExtractor {
220
220
  markers.push({ offset: relEnd, type: 'close', tag: '</em>' });
221
221
  }
222
222
  else if (facet.type === 'mention' && facet.text) {
223
- const url = `https://x.com/${this.escapeHtml(facet.text)}`;
223
+ const url = `https://x.com/${(0, dom_1.escapeHtml)(facet.text)}`;
224
224
  markers.push({ offset: relStart, type: 'open', tag: `<a href="${url}">` });
225
225
  markers.push({ offset: relEnd, type: 'close', tag: '</a>' });
226
226
  }
227
227
  else if (facet.type === 'url' && facet.original) {
228
- const url = this.escapeHtml(facet.original);
228
+ const url = (0, dom_1.escapeHtml)(facet.original);
229
229
  markers.push({ offset: relStart, type: 'open', tag: `<a href="${url}">` });
230
230
  markers.push({ offset: relEnd, type: 'close', tag: '</a>' });
231
231
  }
@@ -236,7 +236,7 @@ class XOembedExtractor extends _base_1.BaseExtractor {
236
236
  const parts = [];
237
237
  // Add cover image if available
238
238
  if (coverMedia?.media_info?.original_img_url) {
239
- parts.push(`<img src="${this.escapeHtml(coverMedia.media_info.original_img_url)}" alt="Cover image">`);
239
+ parts.push(`<img src="${(0, dom_1.escapeHtml)(coverMedia.media_info.original_img_url)}" alt="Cover image">`);
240
240
  }
241
241
  let i = 0;
242
242
  while (i < blocks.length) {
@@ -290,7 +290,7 @@ class XOembedExtractor extends _base_1.BaseExtractor {
290
290
  case 'MEDIA': {
291
291
  const caption = entity.data.caption;
292
292
  if (caption) {
293
- return `<figure><figcaption>${this.escapeHtml(caption)}</figcaption></figure>`;
293
+ return `<figure><figcaption>${(0, dom_1.escapeHtml)(caption)}</figcaption></figure>`;
294
294
  }
295
295
  return '';
296
296
  }
@@ -301,10 +301,10 @@ class XOembedExtractor extends _base_1.BaseExtractor {
301
301
  if (codeMatch) {
302
302
  const lang = codeMatch[1];
303
303
  const code = codeMatch[2];
304
- const langAttr = lang ? ` class="language-${this.escapeHtml(lang)}" data-lang="${this.escapeHtml(lang)}"` : '';
305
- return `<pre><code${langAttr}>${this.escapeHtml(code)}</code></pre>`;
304
+ const langAttr = lang ? ` class="language-${(0, dom_1.escapeHtml)(lang)}" data-lang="${(0, dom_1.escapeHtml)(lang)}"` : '';
305
+ return `<pre><code${langAttr}>${(0, dom_1.escapeHtml)(code)}</code></pre>`;
306
306
  }
307
- return `<pre><code>${this.escapeHtml(markdown)}</code></pre>`;
307
+ return `<pre><code>${(0, dom_1.escapeHtml)(markdown)}</code></pre>`;
308
308
  }
309
309
  default:
310
310
  return '';
@@ -324,34 +324,27 @@ class XOembedExtractor extends _base_1.BaseExtractor {
324
324
  for (const range of block.entityRanges) {
325
325
  const entityEntry = entityMap.find(e => e.key === String(range.key));
326
326
  if (entityEntry?.value.type === 'LINK' && entityEntry.value.data.url) {
327
- const url = this.escapeHtml(entityEntry.value.data.url);
327
+ const url = (0, dom_1.escapeHtml)(entityEntry.value.data.url);
328
328
  markers.push({ offset: range.offset, type: 'open', tag: `<a href="${url}">` });
329
329
  markers.push({ offset: range.offset + range.length, type: 'close', tag: '</a>' });
330
330
  }
331
331
  }
332
332
  if (block.data?.mentions) {
333
333
  for (const mention of block.data.mentions) {
334
- const url = `https://x.com/${this.escapeHtml(mention.text)}`;
334
+ const url = `https://x.com/${(0, dom_1.escapeHtml)(mention.text)}`;
335
335
  markers.push({ offset: mention.fromIndex, type: 'open', tag: `<a href="${url}">` });
336
336
  markers.push({ offset: mention.toIndex, type: 'close', tag: '</a>' });
337
337
  }
338
338
  }
339
339
  if (block.data?.urls) {
340
340
  for (const urlData of block.data.urls) {
341
- const url = this.escapeHtml(urlData.text);
341
+ const url = (0, dom_1.escapeHtml)(urlData.text);
342
342
  markers.push({ offset: urlData.fromIndex, type: 'open', tag: `<a href="${url}">` });
343
343
  markers.push({ offset: urlData.toIndex, type: 'close', tag: '</a>' });
344
344
  }
345
345
  }
346
346
  return this.applyMarkers(text, markers);
347
347
  }
348
- escapeHtml(text) {
349
- return text
350
- .replace(/&/g, '&amp;')
351
- .replace(/</g, '&lt;')
352
- .replace(/>/g, '&gt;')
353
- .replace(/"/g, '&quot;');
354
- }
355
348
  }
356
349
  exports.XOembedExtractor = XOembedExtractor;
357
350
  //# sourceMappingURL=x-oembed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-oembed.js","sourceRoot":"","sources":["../../src/extractors/x-oembed.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,sCAAwD;AA4FxD,MAAa,gBAAiB,SAAQ,qBAAa;IAClD,UAAU;QACT,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACN,OAAO;YACN,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;SACf,CAAC;IACH,CAAC;IAED,eAAe;QACd,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,mEAAmE;QACnE,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,aAAa;QAC1B,MAAM,SAAS,GAAG,0CAA0C,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC5G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,GAAmB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnD,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,WAAW,CAAC,IAAA,eAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,iEAAiE;QACjE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAA,mBAAa,EAAC,CAAC,CAAC,MAAM,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QAEN,MAAM,QAAQ,GAAG,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;QAE7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG;;;;;4CAKsB,iBAAiB,wCAAwC,aAAa;SACzG,QAAQ,CAAC,CAAC,CAAC,YAAY,gBAAgB,wBAAwB,eAAe,MAAM,CAAC,CAAC,CAAC,EAAE;;QAE1F,SAAS,CAAC,CAAC,CAAC,2BAA2B,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE;;;;GAIlE,CAAC,IAAI,EAAE,CAAC;QAET,OAAO;YACN,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE;gBACV,KAAK,EAAE,WAAW,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9C,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,WAAW;gBAClC,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,oDAAoD;YACpD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,mDAAmD;YACnD,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,EAAU;QACxD,MAAM,MAAM,GAAG,6BAA6B,QAAQ,WAAW,EAAE,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACpC,OAAO,EAAE;gBACR,YAAY,EAAE,8DAA8D;aAC5E;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAEO,kBAAkB,CAAC,IAAuB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAQ,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEnD,OAAO;YACN,OAAO,EAAE,WAAW;YACpB,WAAW;YACX,SAAS,EAAE;gBACV,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,OAAO,CAAC,YAAY;aACjC;SACD,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAuB;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO;YACN,OAAO,EAAE,WAAW;YACpB,WAAW;YACX,SAAS,EAAE;gBACV,KAAK,EAAE,WAAW,MAAM,EAAE;gBAC1B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAiC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QAChD,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAE9E,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YACxC,MAAM,GAAG,OAAO,CAAC;YAEjB,0DAA0D;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3E,MAAM,aAAa,GAAG,YAAY;gBACjC,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;gBAC7I,CAAC,CAAC,SAAS,CAAC;YAEb,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE5E,sCAAsC;YACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEnD,IAAI,YAAY,EAAE,CAAC;gBAClB,SAAS,CAAC,IAAI,CAAC,kBAAkB,UAAU,mBAAmB,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,MAAM,UAAU,MAAM,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;QAED,sBAAsB;QACtB,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpE,CAAC;QACF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,uEAAuE;YAC7E,gEAAgE,UAAU,wCAAwC,MAAM,sBAAsB;YAC9I,2BAA2B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YACvD,oBAAoB,CAAC;IACvB,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,OAAiB;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACzB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC;YACrB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAwB;QAC7F,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,IAAI,IAAI,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO;gBAAE,SAAS;YAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;YAEvD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CACpB,MAAoB,EACpB,SAAgC,EAChC,UAA2D;QAE3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,+BAA+B;QAC/B,IAAI,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC1C,2CAA2C;gBAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBACtE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBACzE,CAAC,EAAE,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBACzC,SAAS;YACV,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAChD,IAAI,IAAI,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,CAAC,EAAE,CAAC;QACL,CAAC;QAED,OAAO,8BAA8B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;IACjE,CAAC;IAEO,WAAW,CAAC,KAAiB,EAAE,SAAgC;QACtE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO,EAAE,CAAC;gBAClC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;YAC/D,CAAC;YACD,KAAK,YAAY;gBAChB,OAAO,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACjE,KAAK,cAAc;gBAClB,OAAO,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACjE,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO,EAAE,CAAC;gBAClC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;YAC/D,CAAC;QACF,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,KAAiB,EAAE,SAAgC;QAC5E,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE/C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;QAEjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,uBAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAChF,CAAC;gBACD,OAAO,EAAE,CAAC;YACX,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5C,sCAAsC;gBACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACjE,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/G,OAAO,aAAa,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;gBACtE,CAAC;gBACD,OAAO,cAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC/D,CAAC;YACD;gBACC,OAAO,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAEO,mBAAmB,CAAC,KAAiB,EAAE,SAAgC;QAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAErB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACxF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACrE,IAAI,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC1B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI;aACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;CACD;AA/YD,4CA+YC"}
1
+ {"version":3,"file":"x-oembed.js","sourceRoot":"","sources":["../../src/extractors/x-oembed.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,25 @@ import { BaseExtractor } from './_base';
2
2
  import { ExtractorResult } from '../types/extractors';
3
3
  export declare class YoutubeExtractor extends BaseExtractor {
4
4
  private videoElement;
5
+ private inlineJsonCache;
5
6
  protected schemaOrgData: any;
6
7
  constructor(document: Document, url: string, schemaOrgData?: any);
7
8
  canExtract(): boolean;
9
+ canExtractAsync(): boolean;
10
+ prefersAsync(): boolean;
8
11
  extract(): ExtractorResult;
12
+ extractAsync(): Promise<ExtractorResult>;
13
+ private getCaptionTracks;
14
+ private pickCaptionTrack;
15
+ private getTrackDisplayName;
16
+ private normalizeLanguageLabel;
17
+ private getTranscriptLanguageCodeFromDom;
18
+ private getInlineChapters;
19
+ private getTranscriptContainer;
20
+ private buildTranscriptFromContainer;
21
+ private extractTranscriptFromExistingDom;
22
+ private canOpenTranscriptPanel;
23
+ private buildResult;
9
24
  private formatDescription;
10
25
  private getVideoData;
11
26
  private getChannelName;
@@ -13,5 +28,47 @@ export declare class YoutubeExtractor extends BaseExtractor {
13
28
  private getChannelNameFromMicrodata;
14
29
  private getChannelNameFromPlayerResponse;
15
30
  private parseInlineJson;
31
+ private fetchTranscript;
32
+ private waitForTranscriptContainer;
33
+ /**
34
+ * Fallback: open YouTube's transcript panel and read segments from the DOM.
35
+ * Used when fetch-based extraction fails and the transcript is not already rendered.
36
+ */
37
+ private extractTranscriptFromOpenedDom;
38
+ private fetchPlayerData;
39
+ private fetchChapters;
40
+ private extractChaptersFromPlayerBar;
41
+ private extractChaptersFromEngagementPanels;
42
+ private parseTimestamp;
43
+ private parseTranscriptXml;
44
+ private decodeEntities;
16
45
  private getVideoId;
46
+ /**
47
+ * Group raw transcript segments into readable blocks.
48
+ * If speaker markers (>>) are present, groups by speaker turn.
49
+ * Otherwise, groups by sentence boundaries.
50
+ */
51
+ private groupTranscriptSegments;
52
+ /**
53
+ * Group segments by speaker turns, then by sentences within each turn.
54
+ * Each ">>" or "- " marker starts a new speaker turn (with blank line separation).
55
+ * Within a turn, text is split at sentence boundaries for readability.
56
+ * Tracks alternating speaker identity (0/1).
57
+ */
58
+ private groupBySpeaker;
59
+ /**
60
+ * Split turns that start with a short affirmative response (e.g. "Mhm.", "Yeah.")
61
+ * followed by longer content. The affirmative belongs to the current speaker,
62
+ * but the rest is likely the other speaker (missed diarization in auto-captions).
63
+ */
64
+ private splitAffirmativeTurns;
65
+ private mergeSentenceGroupsWithinTurn;
66
+ private shouldMergeSentenceGroups;
67
+ private isShortStandaloneUtterance;
68
+ /**
69
+ * Group segments by sentence boundaries for transcripts without speaker markers.
70
+ * Accumulates text until a segment ends with sentence-ending punctuation (.!?),
71
+ * or until a very large time gap between segments.
72
+ */
73
+ private groupBySentence;
17
74
  }