stream-chat-react-native-core 5.18.0-beta.6 → 5.18.1-beta.1

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.
@@ -154,15 +154,31 @@ var renderText = function renderText(params) {
154
154
  };
155
155
  var paragraphText = function paragraphText(node, output, _ref2) {
156
156
  var state = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref2), _ref2));
157
+ if (messageTextNumberOfLines !== undefined) {
158
+ if (state.key === '0' || state.key === 0) {
159
+ return _react["default"].createElement(_reactNative.Text, {
160
+ key: state.key,
161
+ numberOfLines: messageTextNumberOfLines,
162
+ style: styles.paragraph,
163
+ __self: _this,
164
+ __source: {
165
+ fileName: _jsxFileName,
166
+ lineNumber: 207,
167
+ columnNumber: 11
168
+ }
169
+ }, output(node.content, state));
170
+ } else {
171
+ return null;
172
+ }
173
+ }
157
174
  return _react["default"].createElement(_reactNative.Text, {
158
175
  key: state.key,
159
- numberOfLines: messageTextNumberOfLines,
160
176
  style: styles.paragraph,
161
177
  __self: _this,
162
178
  __source: {
163
179
  fileName: _jsxFileName,
164
- lineNumber: 202,
165
- columnNumber: 5
180
+ lineNumber: 217,
181
+ columnNumber: 7
166
182
  }
167
183
  }, output(node.content, state));
168
184
  };
@@ -210,7 +226,7 @@ var renderText = function renderText(params) {
210
226
  __self: _this,
211
227
  __source: {
212
228
  fileName: _jsxFileName,
213
- lineNumber: 247,
229
+ lineNumber: 263,
214
230
  columnNumber: 7
215
231
  }
216
232
  }, Array.isArray(node.content) ? node.content.reduce(function (acc, current) {
@@ -227,7 +243,7 @@ var renderText = function renderText(params) {
227
243
  __self: _this,
228
244
  __source: {
229
245
  fileName: _jsxFileName,
230
- lineNumber: 256,
246
+ lineNumber: 272,
231
247
  columnNumber: 5
232
248
  }
233
249
  });
@@ -271,7 +287,7 @@ var renderText = function renderText(params) {
271
287
  __self: _this,
272
288
  __source: {
273
289
  fileName: _jsxFileName,
274
- lineNumber: 288,
290
+ lineNumber: 304,
275
291
  columnNumber: 5
276
292
  }
277
293
  }, newText);
@@ -290,7 +306,7 @@ var ListOutput = function ListOutput(_ref4) {
290
306
  __self: _this,
291
307
  __source: {
292
308
  fileName: _jsxFileName,
293
- lineNumber: 323,
309
+ lineNumber: 339,
294
310
  columnNumber: 5
295
311
  }
296
312
  }, node.items.map(function (item, index) {
@@ -304,7 +320,7 @@ var ListOutput = function ListOutput(_ref4) {
304
320
  __self: _this,
305
321
  __source: {
306
322
  fileName: _jsxFileName,
307
- lineNumber: 329,
323
+ lineNumber: 345,
308
324
  columnNumber: 13
309
325
  }
310
326
  }, _react["default"].createElement(Bullet, {
@@ -313,7 +329,7 @@ var ListOutput = function ListOutput(_ref4) {
313
329
  __self: _this,
314
330
  __source: {
315
331
  fileName: _jsxFileName,
316
- lineNumber: 330,
332
+ lineNumber: 346,
317
333
  columnNumber: 15
318
334
  }
319
335
  }));
@@ -330,7 +346,7 @@ var ListOutput = function ListOutput(_ref4) {
330
346
  __self: _this,
331
347
  __source: {
332
348
  fileName: _jsxFileName,
333
- lineNumber: 343,
349
+ lineNumber: 359,
334
350
  columnNumber: 11
335
351
  }
336
352
  }, _react["default"].createElement(Bullet, {
@@ -339,7 +355,7 @@ var ListOutput = function ListOutput(_ref4) {
339
355
  __self: _this,
340
356
  __source: {
341
357
  fileName: _jsxFileName,
342
- lineNumber: 344,
358
+ lineNumber: 360,
343
359
  columnNumber: 13
344
360
  }
345
361
  }), _react["default"].createElement(ListItem, {
@@ -348,7 +364,7 @@ var ListOutput = function ListOutput(_ref4) {
348
364
  __self: _this,
349
365
  __source: {
350
366
  fileName: _jsxFileName,
351
- lineNumber: 348,
367
+ lineNumber: 364,
352
368
  columnNumber: 13
353
369
  }
354
370
  }, output(item, state)));
@@ -364,7 +380,7 @@ var Bullet = function Bullet(_ref5) {
364
380
  __self: _this,
365
381
  __source: {
366
382
  fileName: _jsxFileName,
367
- lineNumber: 363,
383
+ lineNumber: 379,
368
384
  columnNumber: 3
369
385
  }
370
386
  }, index ? index + ". " : "\u2022 ");
@@ -377,7 +393,7 @@ var ListRow = function ListRow(_ref6) {
377
393
  __self: _this,
378
394
  __source: {
379
395
  fileName: _jsxFileName,
380
- lineNumber: 369,
396
+ lineNumber: 385,
381
397
  columnNumber: 3
382
398
  }
383
399
  }, children);
@@ -390,7 +406,7 @@ var ListItem = function ListItem(_ref7) {
390
406
  __self: _this,
391
407
  __source: {
392
408
  fileName: _jsxFileName,
393
- lineNumber: 373,
409
+ lineNumber: 389,
394
410
  columnNumber: 3
395
411
  }
396
412
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeMarkdownPackage","_truncate","_simpleMarkdown","_parseLinks","_this","_jsxFileName","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","parseInline","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","markdown","encodedUrl","replace","styles","_extends2","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","pattern","RegExp","Linking","canOpenURL","then","canOpenUrl","openURL","link","node","output","_ref","_objectDestructuringEmpty2","target","event","additionalInfo","defaultHandler","emitter","createElement","Text","key","style","suppressHighlighting","__self","__source","fileName","lineNumber","columnNumber","withinLink","paragraphText","_ref2","numberOfLines","mentionedUsers","reduce","acc","cur","userName","id","replaceAll","regEx","match","source","exec","mentionsReact","_ref3","_node$content$","_node$content$$conten","substring","user","find","current","ListOutput","customRules","image","react","reflink","sublist","order","defaultRules","JSON","stringify","undefined","rules","exports","_ref4","isSublist","withinList","parentTypes","View","items","map","item","index","_item$","indexAfterStart","start","ListRow","testID","Bullet","ordered","listItemBullet","type","isSublistWithinText","includes","ListItem","_ref5","_ref6","children","_ref7"],"sources":["renderText.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { GestureResponderEvent, Linking, Text, TextProps, View, ViewProps } from 'react-native';\n\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\n\nimport truncate from 'lodash/truncate';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n ReactOutput,\n SingleASTNode,\n State,\n} from 'simple-markdown';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { parseLinksFromText } from './parseLinks';\n\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<StreamChatGenerics>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n params: RenderTextParams<StreamChatGenerics>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const linkInfos = parseLinksFromText(newText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;\n newText = newText.replace(linkInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) => {\n const pattern = new RegExp(/^\\S+:\\/\\//);\n if (!pattern.test(url)) {\n url = 'http://' + url;\n }\n\n return onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n };\n\n const link: ReactNodeOutput = (node, output, { ...state }) => {\n const url = node.target;\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: { url },\n defaultHandler: () => {\n onLink(url);\n },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n additionalInfo: { url },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphText: ReactNodeOutput = (node, output, { ...state }) => (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n /**removes the @ prefix of username */\n const userName = node.content[0]?.content?.substring(1);\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: {\n user: mentioned_users?.find(\n (user: UserResponse<StreamChatGenerics>) => userName === user.name,\n ),\n },\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content)\n ? node.content.reduce((acc, current) => acc + current.content, '') || ''\n : output(node.content, state)}\n </Text>\n );\n };\n\n const list: ReactNodeOutput = (node, output, state) => (\n <ListOutput\n key={`list-${state.key}`}\n node={node}\n output={output}\n state={state}\n styles={styles}\n />\n );\n\n const customRules = {\n // do not render images, we will scrape them out of the message and show on attachment card component\n image: { match: () => null },\n link: { react: link },\n list: { react: list },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphText } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: list },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n\nexport interface ListOutputProps {\n node: SingleASTNode;\n output: ReactOutput;\n state: State;\n styles?: Partial<MarkdownStyle>;\n}\n\n/**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n */\nexport const ListOutput = ({ node, output, state, styles }: ListOutputProps) => {\n let isSublist = state.withinList;\n const parentTypes = ['text', 'paragraph', 'strong'];\n\n return (\n <View key={state.key} style={isSublist ? styles?.sublist : styles?.list}>\n {node.items.map((item: SingleASTNode, index: number) => {\n const indexAfterStart = node.start + index;\n\n if (item === null) {\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n </ListRow>\n );\n }\n\n isSublist = item.length > 1 && item[1].type === 'list';\n const isSublistWithinText = parentTypes.includes((item[0] ?? {}).type) && isSublist;\n const style = isSublistWithinText ? { marginBottom: 0 } : {};\n\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n <ListItem key={1} style={[styles?.listItemText, style]}>\n {output(item, state)}\n </ListItem>\n </ListRow>\n );\n })}\n </View>\n );\n};\n\ninterface BulletProps extends TextProps {\n index?: number;\n}\n\nconst Bullet = ({ index, style }: BulletProps) => (\n <Text key={0} style={style}>\n {index ? `${index}. ` : '\\u2022 '}\n </Text>\n);\n\nconst ListRow = ({ children, style }: PropsWithChildren<ViewProps>) => (\n <Text style={style}>{children}</Text>\n);\n\nconst ListItem = ({ children, style }: PropsWithChildren<TextProps>) => (\n <Text style={style}>{children}</Text>\n);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,2BAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAcA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,KAAA;EAAAC,YAAA;AAAA,SAAAC,gCAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,oBAAAE,EAAA,UAAAA,EAAA,GAAAA,EAAA,CAAAG,IAAA,CAAAL,CAAA,GAAAM,IAAA,CAAAC,IAAA,CAAAL,EAAA,OAAAM,KAAA,CAAAC,OAAA,CAAAT,CAAA,MAAAE,EAAA,GAAAQ,2BAAA,CAAAV,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAW,MAAA,qBAAAT,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAU,CAAA,+BAAAA,CAAA,IAAAZ,CAAA,CAAAW,MAAA,WAAAE,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAY,CAAA,sBAAAG,SAAA;AAAA,SAAAL,4BAAAV,CAAA,EAAAgB,MAAA,SAAAhB,CAAA,qBAAAA,CAAA,sBAAAiB,iBAAA,CAAAjB,CAAA,EAAAgB,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAhB,IAAA,CAAAL,CAAA,EAAAsB,KAAA,aAAAJ,CAAA,iBAAAlB,CAAA,CAAAuB,WAAA,EAAAL,CAAA,GAAAlB,CAAA,CAAAuB,WAAA,CAAAC,IAAA,MAAAN,CAAA,cAAAA,CAAA,mBAAAV,KAAA,CAAAiB,IAAA,CAAAzB,CAAA,OAAAkB,CAAA,+DAAAQ,IAAA,CAAAR,CAAA,UAAAD,iBAAA,CAAAjB,CAAA,EAAAgB,MAAA;AAAA,SAAAC,kBAAAU,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAhB,MAAA,EAAAiB,GAAA,GAAAD,GAAA,CAAAhB,MAAA,WAAAC,CAAA,MAAAiB,IAAA,OAAArB,KAAA,CAAAoB,GAAA,GAAAhB,CAAA,GAAAgB,GAAA,EAAAhB,CAAA,IAAAiB,IAAA,CAAAjB,CAAA,IAAAe,GAAA,CAAAf,CAAA,UAAAiB,IAAA;AAOlD,IAAMC,qBAAoC,GAAG;EAC3CC,UAAU,EAAE;IACVC,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,CAAC;IACVC,iBAAiB,EAAE;EACrB,CAAC;EACDC,IAAI,EAAE;IACJC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACDC,YAAY,EAAE;IACZC,IAAI,EAAE;EACR,CAAC;EACDC,OAAO,EAAE;IACPC,aAAa,EAAE;EACjB,CAAC;EACDC,QAAQ,EAAE;IACRL,UAAU,EAAE;EACd,CAAC;EACDM,SAAS,EAAE;IACTT,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDS,eAAe,EAAE;IACfV,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDU,kBAAkB,EAAE;IAClBX,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb;AACF,CAAC;AAED,IAAMW,KAAoB,GAAG,SAAAA,MAACC,OAAO,EAAED,MAAK,EAAEE,KAAK;EAAA,OAAM;IACvDC,OAAO,EAAE,IAAAC,2BAAW,EAACJ,MAAK,EAAEC,OAAO,CAAC,CAAC,CAAC,EAAEC,KAAK;EAC/C,CAAC;AAAA,CAAC;AAmBK,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAGrBC,MAA4C,EACzC;EACH,IACEC,MAAM,GAWJD,MAAM,CAXRC,MAAM;IACNC,aAAa,GAUXF,MAAM,CAVRE,aAAa;IACbC,cAAc,GASZH,MAAM,CATRG,cAAc;IACdC,OAAO,GAQLJ,MAAM,CARRI,OAAO;IACPC,cAAc,GAOZL,MAAM,CAPRK,cAAc;IACdC,wBAAwB,GAMtBN,MAAM,CANRM,wBAAwB;IAChBC,YAAY,GAKlBP,MAAM,CALRQ,MAAM;IACOC,gBAAgB,GAI3BT,MAAM,CAJRU,WAAW;IACXC,UAAU,GAGRX,MAAM,CAHRW,UAAU;IACDC,YAAY,GAEnBZ,MAAM,CAFRa,OAAO;IACPC,YAAY,GACVd,MAAM,CADRc,YAAY;EAKd,IAAQC,eAAe,GAAWX,OAAO,CAAjCW,eAAe;IAAEC,IAAI,GAAKZ,OAAO,CAAhBY,IAAI;EAE7B,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtB,IAAIC,OAAO,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC;EACzB,IAAMC,SAAS,GAAG,IAAAC,8BAAkB,EAACH,OAAO,CAAC;EAE7C,SAAAI,SAAA,GAAA5E,+BAAA,CAAuB0E,SAAS,GAAAG,KAAA,IAAAA,KAAA,GAAAD,SAAA,IAAA9D,IAAA,GAAE;IAAA,IAAvBgE,QAAQ,GAAAD,KAAA,CAAA9D,KAAA;IACjB,IAAMgE,WAAW,GAAG,IAAAC,oBAAQ,EAACF,QAAQ,CAACG,GAAG,EAAE;MACzCrE,MAAM,EAAE,GAAG;MACXsE,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,IAAMC,QAAQ,SAAOJ,WAAW,UAAKD,QAAQ,CAACM,UAAU,MAAG;IAC3DZ,OAAO,GAAGA,OAAO,CAACa,OAAO,CAACP,QAAQ,CAACG,GAAG,EAAEE,QAAQ,CAAC;EACnD;EAEAX,OAAO,GAAGA,OAAO,CAACa,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;EAE7C,IAAMC,MAAqB,OAAAC,SAAA,iBACtBxD,qBAAqB,EACrB2B,cAAc;IACjB8B,QAAQ,MAAAD,SAAA,iBACHxD,qBAAqB,CAACyD,QAAQ;MACjCC,KAAK,EAAEjC,MAAM,CAACkC;IAAW,GACtBhC,cAAc,oBAAdA,cAAc,CAAE8B,QAAQ,CAC5B;IACDxD,UAAU,MAAAuD,SAAA,iBACLxD,qBAAqB,CAACC,UAAU;MACnC2D,eAAe,EAAEnC,MAAM,CAACoC,WAAW;MACnCC,WAAW,EAAErC,MAAM,CAACsC,cAAc;MAClCL,KAAK,EAAEjC,MAAM,CAACuC;IAAU,GACrBrC,cAAc,oBAAdA,cAAc,CAAE1B,UAAU,CAC9B;IACDa,QAAQ,MAAA0C,SAAA,iBACHxD,qBAAqB,CAACc,QAAQ;MACjC4C,KAAK,EAAEjC,MAAM,CAACkC;IAAW,GACtBhC,cAAc,oBAAdA,cAAc,CAAEb,QAAQ,CAC5B;IACD0B,IAAI,MAAAgB,SAAA,iBACCxD,qBAAqB,CAACwC,IAAI;MAC7BkB,KAAK,EAAEjC,MAAM,CAACwC;IAAK,GAChBtC,cAAc,oBAAdA,cAAc,CAAEa,IAAI;EACxB,EACF;EAED,IAAMR,MAAM,GAAG,SAATA,MAAMA,CAAIkC,GAAW,EAAK;IAC9B,IAAMC,OAAO,GAAG,IAAIC,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,CAACD,OAAO,CAACvE,IAAI,CAACsE,GAAG,CAAC,EAAE;MACtBA,GAAG,GAAG,SAAS,GAAGA,GAAG;IACvB;IAEA,OAAOnC,YAAY,GACfA,YAAY,CAACmC,GAAG,CAAC,GACjBG,oBAAO,CAACC,UAAU,CAACJ,GAAG,CAAC,CAACK,IAAI,CAAC,UAACC,UAAU;MAAA,OAAKA,UAAU,IAAIH,oBAAO,CAACI,OAAO,CAACP,GAAG,CAAC;IAAA,EAAC;EACtF,CAAC;EAED,IAAMQ,IAAqB,GAAG,SAAxBA,IAAqBA,CAAIC,IAAI,EAAEC,MAAM,EAAAC,IAAA,EAAmB;IAAA,IAAZzD,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAD,IAAA,GAAAA,IAAA;IACrD,IAAMX,GAAG,GAAGS,IAAI,CAACI,MAAM;IACvB,IAAM1C,OAAO,GAAG,SAAVA,OAAOA,CAAI2C,KAA4B,EAAK;MAChD,IAAI,CAAC1C,YAAY,IAAIF,YAAY,EAAE;QACjCA,YAAY,CAAC;UACX6C,cAAc,EAAE;YAAEf,GAAG,EAAHA;UAAI,CAAC;UACvBgB,cAAc,EAAE,SAAAA,eAAA,EAAM;YACpBlD,MAAM,CAACkC,GAAG,CAAC;UACb,CAAC;UACDiB,OAAO,EAAE,UAAU;UACnBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAM9C,WAAW,GAAG,SAAdA,WAAWA,CAAI8C,KAA4B,EAAK;MACpD,IAAI,CAAC1C,YAAY,IAAIL,gBAAgB,EAAE;QACrCA,gBAAgB,CAAC;UACfgD,cAAc,EAAE;YAAEf,GAAG,EAAHA;UAAI,CAAC;UACvBiB,OAAO,EAAE,UAAU;UACnBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,OACEzH,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MACHC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MACfpD,WAAW,EAAEA,WAAY;MACzBG,OAAO,EAAEA,OAAQ;MACjBkD,KAAK,EAAEhC,MAAM,CAACE,QAAS;MACvB+B,oBAAoB,EAAE,IAAK;MAAAC,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GAE1BjB,MAAM,CAACD,IAAI,CAACtD,OAAO,MAAAmC,SAAA,iBAAOpC,KAAK;MAAE0E,UAAU,EAAE;IAAI,EAAE,CAChD,CAAC;EAEX,CAAC;EAED,IAAMC,aAA8B,GAAG,SAAjCA,aAA8BA,CAAIpB,IAAI,EAAEC,MAAM,EAAAoB,KAAA;IAAA,IAAO5E,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAkB,KAAA,GAAAA,KAAA;IAAA,OAC9DzI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MAACC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MAACW,aAAa,EAAEnE,wBAAyB;MAACyD,KAAK,EAAEhC,MAAM,CAACxC,SAAU;MAAA0E,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GACpFjB,MAAM,CAACD,IAAI,CAACtD,OAAO,EAAED,KAAK,CACvB,CAAC;EAAA,CACR;EAED,IAAM8E,cAAc,GAAGxH,KAAK,CAACC,OAAO,CAAC4D,eAAe,CAAC,GACjDA,eAAe,CAAC4D,MAAM,CAAC,UAACC,GAAG,EAAEC,GAAG,EAAK;IACnC,IAAMC,QAAQ,GAAGD,GAAG,CAAC3G,IAAI,IAAI2G,GAAG,CAACE,EAAE,IAAI,EAAE;IACzC,IAAID,QAAQ,EAAE;MACZF,GAAG,KAAOA,GAAG,CAACvH,MAAM,GAAG,GAAG,GAAG,EAAE,UAAIyH,QAAU;IAC/C;IACA,OAAOF,GAAG,CAACI,UAAU,CAAC,qBAAqB,EAAE,MAAM,CAAC;EACtD,CAAC,EAAE,EAAE,CAAC,GACN,EAAE;EAEN,IAAMC,KAAK,GAAG,IAAIrC,MAAM,WAAS8B,cAAc,QAAK,GAAG,CAAC;EACxD,IAAMQ,KAAoB,GAAG,SAAvBA,KAAoBA,CAAIC,MAAM;IAAA,OAAKF,KAAK,CAACG,IAAI,CAACD,MAAM,CAAC;EAAA;EAE3D,IAAME,aAA8B,GAAG,SAAjCA,aAA8BA,CAAIlC,IAAI,EAAEC,MAAM,EAAAkC,KAAA,EAAmB;IAAA,IAAAC,cAAA,EAAAC,qBAAA;IAAA,IAAZ5F,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAgC,KAAA,GAAAA,KAAA;IAE9D,IAAMR,QAAQ,IAAAS,cAAA,GAAGpC,IAAI,CAACtD,OAAO,CAAC,CAAC,CAAC,sBAAA2F,qBAAA,GAAfD,cAAA,CAAiB1F,OAAO,qBAAxB2F,qBAAA,CAA0BC,SAAS,CAAC,CAAC,CAAC;IACvD,IAAM5E,OAAO,GAAG,SAAVA,OAAOA,CAAI2C,KAA4B,EAAK;MAChD,IAAI,CAAC1C,YAAY,IAAIF,YAAY,EAAE;QACjCA,YAAY,CAAC;UACX6C,cAAc,EAAE;YACdiC,IAAI,EAAE3E,eAAe,oBAAfA,eAAe,CAAE4E,IAAI,CACzB,UAACD,IAAsC;cAAA,OAAKZ,QAAQ,KAAKY,IAAI,CAACxH,IAAI;YAAA,CACpE;UACF,CAAC;UACDyF,OAAO,EAAE,aAAa;UACtBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAM9C,WAAW,GAAG,SAAdA,WAAWA,CAAI8C,KAA4B,EAAK;MACpD,IAAI,CAAC1C,YAAY,IAAIL,gBAAgB,EAAE;QACrCA,gBAAgB,CAAC;UACfkD,OAAO,EAAE,aAAa;UACtBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,OACEzH,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MAACC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MAACpD,WAAW,EAAEA,WAAY;MAACG,OAAO,EAAEA,OAAQ;MAACkD,KAAK,EAAEhC,MAAM,CAACzC,QAAS;MAAA2E,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GACtFnH,KAAK,CAACC,OAAO,CAACgG,IAAI,CAACtD,OAAO,CAAC,GACxBsD,IAAI,CAACtD,OAAO,CAAC8E,MAAM,CAAC,UAACC,GAAG,EAAEgB,OAAO;MAAA,OAAKhB,GAAG,GAAGgB,OAAO,CAAC/F,OAAO;IAAA,GAAE,EAAE,CAAC,IAAI,EAAE,GACtEuD,MAAM,CAACD,IAAI,CAACtD,OAAO,EAAED,KAAK,CAC1B,CAAC;EAEX,CAAC;EAED,IAAMf,IAAqB,GAAG,SAAxBA,IAAqBA,CAAIsE,IAAI,EAAEC,MAAM,EAAExD,KAAK;IAAA,OAChD7D,MAAA,YAAA6H,aAAA,CAACiC,UAAU;MACT/B,GAAG,YAAUlE,KAAK,CAACkE,GAAM;MACzBX,IAAI,EAAEA,IAAK;MACXC,MAAM,EAAEA,MAAO;MACfxD,KAAK,EAAEA,KAAM;MACbmC,MAAM,EAAEA,MAAO;MAAAkC,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,CAChB,CAAC;EAAA,CACH;EAED,IAAMyB,WAAW,OAAA9D,SAAA;IAEf+D,KAAK,EAAE;MAAEb,KAAK,EAAE,SAAAA,MAAA;QAAA,OAAM,IAAI;MAAA;IAAC,CAAC;IAC5BhC,IAAI,EAAE;MAAE8C,KAAK,EAAE9C;IAAK,CAAC;IACrBrE,IAAI,EAAE;MAAEmH,KAAK,EAAEnH;IAAK,CAAC;IAErBU,SAAS,EAAEe,wBAAwB,GAAG;MAAE0F,KAAK,EAAEzB;IAAc,CAAC,GAAG,CAAC,CAAC;IAEnE0B,OAAO,EAAE;MAAEf,KAAK,EAAE,SAAAA,MAAA;QAAA,OAAM,IAAI;MAAA;IAAC,CAAC;IAC9BgB,OAAO,EAAE;MAAEF,KAAK,EAAEnH;IAAK;EAAC,GACpB6F,cAAc,GACd;IACEpF,QAAQ,EAAE;MACR4F,KAAK,EAALA,KAAK;MACLiB,KAAK,EAAEC,4BAAY,CAACpF,IAAI,CAACmF,KAAK,GAAG,GAAG;MACpCzG,KAAK,EAALA,KAAK;MACLsG,KAAK,EAAEX;IACT;EACF,CAAC,GACD,CAAC,CAAC,CACP;EAED,OACEtJ,MAAA,YAAA6H,aAAA,CAACzH,2BAAA,WAAQ;IACP2H,GAAG,EAAKuC,IAAI,CAACC,SAAS,CAACvF,eAAe,CAAC,SAAIJ,UAAU,UACnDN,cAAc,GAAGgG,IAAI,CAACC,SAAS,CAACnG,cAAc,CAAC,GAAGoG,SAAS,UACzDF,IAAI,CAACC,SAAS,CAACrG,MAAM,CAAI;IAC7BO,MAAM,EAAEA,MAAO;IACfgG,KAAK,MAAAxE,SAAA,iBACA8D,WAAW,EACX5F,aAAa,CAChB;IACF6B,MAAM,EAAEA,MAAO;IAAAkC,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEdpD,OACO,CAAC;AAEf,CAAC;AAACwF,OAAA,CAAA1G,UAAA,GAAAA,UAAA;AAgBK,IAAM8F,UAAU,GAAG,SAAbA,UAAUA,CAAAa,KAAA,EAAyD;EAAA,IAAnDvD,IAAI,GAAAuD,KAAA,CAAJvD,IAAI;IAAEC,MAAM,GAAAsD,KAAA,CAANtD,MAAM;IAAExD,KAAK,GAAA8G,KAAA,CAAL9G,KAAK;IAAEmC,MAAM,GAAA2E,KAAA,CAAN3E,MAAM;EACtD,IAAI4E,SAAS,GAAG/G,KAAK,CAACgH,UAAU;EAChC,IAAMC,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;EAEnD,OACE9K,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA4K,IAAI;IAAChD,GAAG,EAAElE,KAAK,CAACkE,GAAI;IAACC,KAAK,EAAE4C,SAAS,GAAG5E,MAAM,oBAANA,MAAM,CAAEmE,OAAO,GAAGnE,MAAM,oBAANA,MAAM,CAAElD,IAAK;IAAAoF,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GACrElB,IAAI,CAAC4D,KAAK,CAACC,GAAG,CAAC,UAACC,IAAmB,EAAEC,KAAa,EAAK;IAAA,IAAAC,MAAA;IACtD,IAAMC,eAAe,GAAGjE,IAAI,CAACkE,KAAK,GAAGH,KAAK;IAE1C,IAAID,IAAI,KAAK,IAAI,EAAE;MACjB,OACElL,MAAA,YAAA6H,aAAA,CAAC0D,OAAO;QAACxD,GAAG,EAAEoD,KAAM;QAACnD,KAAK,EAAEhC,MAAM,oBAANA,MAAM,CAAE3C,OAAQ;QAACmI,MAAM,EAAC,WAAW;QAAAtD,MAAA,EAAA1H,KAAA;QAAA2H,QAAA;UAAAC,QAAA,EAAA3H,YAAA;UAAA4H,UAAA;UAAAC,YAAA;QAAA;MAAA,GAC7DtI,MAAA,YAAA6H,aAAA,CAAC4D,MAAM;QACLN,KAAK,EAAE/D,IAAI,CAACsE,OAAO,IAAIL,eAAgB;QACvCrD,KAAK,EAAEZ,IAAI,CAACsE,OAAO,GAAG1F,MAAM,oBAANA,MAAM,CAAE/C,cAAc,GAAG+C,MAAM,oBAANA,MAAM,CAAE2F,cAAe;QAAAzD,MAAA,EAAA1H,KAAA;QAAA2H,QAAA;UAAAC,QAAA,EAAA3H,YAAA;UAAA4H,UAAA;UAAAC,YAAA;QAAA;MAAA,CACvE,CACM,CAAC;IAEd;IAEAsC,SAAS,GAAGM,IAAI,CAAC5J,MAAM,GAAG,CAAC,IAAI4J,IAAI,CAAC,CAAC,CAAC,CAACU,IAAI,KAAK,MAAM;IACtD,IAAMC,mBAAmB,GAAGf,WAAW,CAACgB,QAAQ,CAAC,EAAAV,MAAA,GAACF,IAAI,CAAC,CAAC,CAAC,YAAAE,MAAA,GAAI,CAAC,CAAC,EAAEQ,IAAI,CAAC,IAAIhB,SAAS;IACnF,IAAM5C,KAAK,GAAG6D,mBAAmB,GAAG;MAAE9I,YAAY,EAAE;IAAE,CAAC,GAAG,CAAC,CAAC;IAE5D,OACE/C,MAAA,YAAA6H,aAAA,CAAC0D,OAAO;MAACxD,GAAG,EAAEoD,KAAM;MAACnD,KAAK,EAAEhC,MAAM,oBAANA,MAAM,CAAE3C,OAAQ;MAACmI,MAAM,EAAC,WAAW;MAAAtD,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC7DtI,MAAA,YAAA6H,aAAA,CAAC4D,MAAM;MACLN,KAAK,EAAE/D,IAAI,CAACsE,OAAO,IAAIL,eAAgB;MACvCrD,KAAK,EAAEZ,IAAI,CAACsE,OAAO,GAAG1F,MAAM,oBAANA,MAAM,CAAE/C,cAAc,GAAG+C,MAAM,oBAANA,MAAM,CAAE2F,cAAe;MAAAzD,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,CACvE,CAAC,EACFtI,MAAA,YAAA6H,aAAA,CAACkE,QAAQ;MAAChE,GAAG,EAAE,CAAE;MAACC,KAAK,EAAE,CAAChC,MAAM,oBAANA,MAAM,CAAE7C,YAAY,EAAE6E,KAAK,CAAE;MAAAE,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GACpDjB,MAAM,CAAC6D,IAAI,EAAErH,KAAK,CACX,CACH,CAAC;EAEd,CAAC,CACG,CAAC;AAEX,CAAC;AAAC6G,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAMF,IAAM2B,MAAM,GAAG,SAATA,MAAMA,CAAAO,KAAA;EAAA,IAAMb,KAAK,GAAAa,KAAA,CAALb,KAAK;IAAEnD,KAAK,GAAAgE,KAAA,CAALhE,KAAK;EAAA,OAC5BhI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACC,GAAG,EAAE,CAAE;IAACC,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GACxB6C,KAAK,GAAMA,KAAK,UAAO,SACpB,CAAC;AAAA,CACR;AAED,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAAU,KAAA;EAAA,IAAMC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAElE,KAAK,GAAAiE,KAAA,CAALjE,KAAK;EAAA,OAChChI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACE,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAE4D,QAAe,CAAC;AAAA,CACtC;AAED,IAAMH,QAAQ,GAAG,SAAXA,QAAQA,CAAAI,KAAA;EAAA,IAAMD,QAAQ,GAAAC,KAAA,CAARD,QAAQ;IAAElE,KAAK,GAAAmE,KAAA,CAALnE,KAAK;EAAA,OACjChI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACE,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAE4D,QAAe,CAAC;AAAA,CACtC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeMarkdownPackage","_truncate","_simpleMarkdown","_parseLinks","_this","_jsxFileName","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","parseInline","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","markdown","encodedUrl","replace","styles","_extends2","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","pattern","RegExp","Linking","canOpenURL","then","canOpenUrl","openURL","link","node","output","_ref","_objectDestructuringEmpty2","target","event","additionalInfo","defaultHandler","emitter","createElement","Text","key","style","suppressHighlighting","__self","__source","fileName","lineNumber","columnNumber","withinLink","paragraphText","_ref2","undefined","numberOfLines","mentionedUsers","reduce","acc","cur","userName","id","replaceAll","regEx","match","source","exec","mentionsReact","_ref3","_node$content$","_node$content$$conten","substring","user","find","current","ListOutput","customRules","image","react","reflink","sublist","order","defaultRules","JSON","stringify","rules","exports","_ref4","isSublist","withinList","parentTypes","View","items","map","item","index","_item$","indexAfterStart","start","ListRow","testID","Bullet","ordered","listItemBullet","type","isSublistWithinText","includes","ListItem","_ref5","_ref6","children","_ref7"],"sources":["renderText.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { GestureResponderEvent, Linking, Text, TextProps, View, ViewProps } from 'react-native';\n\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\n\nimport truncate from 'lodash/truncate';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n ReactOutput,\n SingleASTNode,\n State,\n} from 'simple-markdown';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { parseLinksFromText } from './parseLinks';\n\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<StreamChatGenerics>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n params: RenderTextParams<StreamChatGenerics>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const linkInfos = parseLinksFromText(newText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;\n newText = newText.replace(linkInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) => {\n const pattern = new RegExp(/^\\S+:\\/\\//);\n if (!pattern.test(url)) {\n url = 'http://' + url;\n }\n\n return onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n };\n\n const link: ReactNodeOutput = (node, output, { ...state }) => {\n const url = node.target;\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: { url },\n defaultHandler: () => {\n onLink(url);\n },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n additionalInfo: { url },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphText: ReactNodeOutput = (node, output, { ...state }) => {\n if (messageTextNumberOfLines !== undefined) {\n // If we want to truncate the message text, lets only truncate the first paragraph\n // and simply not render rest of the paragraphs.\n if (state.key === '0' || state.key === 0) {\n return (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n } else {\n return null;\n }\n }\n\n return (\n <Text key={state.key} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n };\n\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName}`;\n }\n return acc.replaceAll(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n /**removes the @ prefix of username */\n const userName = node.content[0]?.content?.substring(1);\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: {\n user: mentioned_users?.find(\n (user: UserResponse<StreamChatGenerics>) => userName === user.name,\n ),\n },\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content)\n ? node.content.reduce((acc, current) => acc + current.content, '') || ''\n : output(node.content, state)}\n </Text>\n );\n };\n\n const list: ReactNodeOutput = (node, output, state) => (\n <ListOutput\n key={`list-${state.key}`}\n node={node}\n output={output}\n state={state}\n styles={styles}\n />\n );\n\n const customRules = {\n // do not render images, we will scrape them out of the message and show on attachment card component\n image: { match: () => null },\n link: { react: link },\n list: { react: list },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphText } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: list },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n\nexport interface ListOutputProps {\n node: SingleASTNode;\n output: ReactOutput;\n state: State;\n styles?: Partial<MarkdownStyle>;\n}\n\n/**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n */\nexport const ListOutput = ({ node, output, state, styles }: ListOutputProps) => {\n let isSublist = state.withinList;\n const parentTypes = ['text', 'paragraph', 'strong'];\n\n return (\n <View key={state.key} style={isSublist ? styles?.sublist : styles?.list}>\n {node.items.map((item: SingleASTNode, index: number) => {\n const indexAfterStart = node.start + index;\n\n if (item === null) {\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n </ListRow>\n );\n }\n\n isSublist = item.length > 1 && item[1].type === 'list';\n const isSublistWithinText = parentTypes.includes((item[0] ?? {}).type) && isSublist;\n const style = isSublistWithinText ? { marginBottom: 0 } : {};\n\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n <ListItem key={1} style={[styles?.listItemText, style]}>\n {output(item, state)}\n </ListItem>\n </ListRow>\n );\n })}\n </View>\n );\n};\n\ninterface BulletProps extends TextProps {\n index?: number;\n}\n\nconst Bullet = ({ index, style }: BulletProps) => (\n <Text key={0} style={style}>\n {index ? `${index}. ` : '\\u2022 '}\n </Text>\n);\n\nconst ListRow = ({ children, style }: PropsWithChildren<ViewProps>) => (\n <Text style={style}>{children}</Text>\n);\n\nconst ListItem = ({ children, style }: PropsWithChildren<TextProps>) => (\n <Text style={style}>{children}</Text>\n);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,2BAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAcA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,KAAA;EAAAC,YAAA;AAAA,SAAAC,gCAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,oBAAAE,EAAA,UAAAA,EAAA,GAAAA,EAAA,CAAAG,IAAA,CAAAL,CAAA,GAAAM,IAAA,CAAAC,IAAA,CAAAL,EAAA,OAAAM,KAAA,CAAAC,OAAA,CAAAT,CAAA,MAAAE,EAAA,GAAAQ,2BAAA,CAAAV,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAW,MAAA,qBAAAT,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAU,CAAA,+BAAAA,CAAA,IAAAZ,CAAA,CAAAW,MAAA,WAAAE,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAY,CAAA,sBAAAG,SAAA;AAAA,SAAAL,4BAAAV,CAAA,EAAAgB,MAAA,SAAAhB,CAAA,qBAAAA,CAAA,sBAAAiB,iBAAA,CAAAjB,CAAA,EAAAgB,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAhB,IAAA,CAAAL,CAAA,EAAAsB,KAAA,aAAAJ,CAAA,iBAAAlB,CAAA,CAAAuB,WAAA,EAAAL,CAAA,GAAAlB,CAAA,CAAAuB,WAAA,CAAAC,IAAA,MAAAN,CAAA,cAAAA,CAAA,mBAAAV,KAAA,CAAAiB,IAAA,CAAAzB,CAAA,OAAAkB,CAAA,+DAAAQ,IAAA,CAAAR,CAAA,UAAAD,iBAAA,CAAAjB,CAAA,EAAAgB,MAAA;AAAA,SAAAC,kBAAAU,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAhB,MAAA,EAAAiB,GAAA,GAAAD,GAAA,CAAAhB,MAAA,WAAAC,CAAA,MAAAiB,IAAA,OAAArB,KAAA,CAAAoB,GAAA,GAAAhB,CAAA,GAAAgB,GAAA,EAAAhB,CAAA,IAAAiB,IAAA,CAAAjB,CAAA,IAAAe,GAAA,CAAAf,CAAA,UAAAiB,IAAA;AAOlD,IAAMC,qBAAoC,GAAG;EAC3CC,UAAU,EAAE;IACVC,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,CAAC;IACVC,iBAAiB,EAAE;EACrB,CAAC;EACDC,IAAI,EAAE;IACJC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDC,cAAc,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACDC,YAAY,EAAE;IACZC,IAAI,EAAE;EACR,CAAC;EACDC,OAAO,EAAE;IACPC,aAAa,EAAE;EACjB,CAAC;EACDC,QAAQ,EAAE;IACRL,UAAU,EAAE;EACd,CAAC;EACDM,SAAS,EAAE;IACTT,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDS,eAAe,EAAE;IACfV,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDU,kBAAkB,EAAE;IAClBX,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb;AACF,CAAC;AAED,IAAMW,KAAoB,GAAG,SAAAA,MAACC,OAAO,EAAED,MAAK,EAAEE,KAAK;EAAA,OAAM;IACvDC,OAAO,EAAE,IAAAC,2BAAW,EAACJ,MAAK,EAAEC,OAAO,CAAC,CAAC,CAAC,EAAEC,KAAK;EAC/C,CAAC;AAAA,CAAC;AAmBK,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAGrBC,MAA4C,EACzC;EACH,IACEC,MAAM,GAWJD,MAAM,CAXRC,MAAM;IACNC,aAAa,GAUXF,MAAM,CAVRE,aAAa;IACbC,cAAc,GASZH,MAAM,CATRG,cAAc;IACdC,OAAO,GAQLJ,MAAM,CARRI,OAAO;IACPC,cAAc,GAOZL,MAAM,CAPRK,cAAc;IACdC,wBAAwB,GAMtBN,MAAM,CANRM,wBAAwB;IAChBC,YAAY,GAKlBP,MAAM,CALRQ,MAAM;IACOC,gBAAgB,GAI3BT,MAAM,CAJRU,WAAW;IACXC,UAAU,GAGRX,MAAM,CAHRW,UAAU;IACDC,YAAY,GAEnBZ,MAAM,CAFRa,OAAO;IACPC,YAAY,GACVd,MAAM,CADRc,YAAY;EAKd,IAAQC,eAAe,GAAWX,OAAO,CAAjCW,eAAe;IAAEC,IAAI,GAAKZ,OAAO,CAAhBY,IAAI;EAE7B,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EAEtB,IAAIC,OAAO,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC;EACzB,IAAMC,SAAS,GAAG,IAAAC,8BAAkB,EAACH,OAAO,CAAC;EAE7C,SAAAI,SAAA,GAAA5E,+BAAA,CAAuB0E,SAAS,GAAAG,KAAA,IAAAA,KAAA,GAAAD,SAAA,IAAA9D,IAAA,GAAE;IAAA,IAAvBgE,QAAQ,GAAAD,KAAA,CAAA9D,KAAA;IACjB,IAAMgE,WAAW,GAAG,IAAAC,oBAAQ,EAACF,QAAQ,CAACG,GAAG,EAAE;MACzCrE,MAAM,EAAE,GAAG;MACXsE,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,IAAMC,QAAQ,SAAOJ,WAAW,UAAKD,QAAQ,CAACM,UAAU,MAAG;IAC3DZ,OAAO,GAAGA,OAAO,CAACa,OAAO,CAACP,QAAQ,CAACG,GAAG,EAAEE,QAAQ,CAAC;EACnD;EAEAX,OAAO,GAAGA,OAAO,CAACa,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;EAE7C,IAAMC,MAAqB,OAAAC,SAAA,iBACtBxD,qBAAqB,EACrB2B,cAAc;IACjB8B,QAAQ,MAAAD,SAAA,iBACHxD,qBAAqB,CAACyD,QAAQ;MACjCC,KAAK,EAAEjC,MAAM,CAACkC;IAAW,GACtBhC,cAAc,oBAAdA,cAAc,CAAE8B,QAAQ,CAC5B;IACDxD,UAAU,MAAAuD,SAAA,iBACLxD,qBAAqB,CAACC,UAAU;MACnC2D,eAAe,EAAEnC,MAAM,CAACoC,WAAW;MACnCC,WAAW,EAAErC,MAAM,CAACsC,cAAc;MAClCL,KAAK,EAAEjC,MAAM,CAACuC;IAAU,GACrBrC,cAAc,oBAAdA,cAAc,CAAE1B,UAAU,CAC9B;IACDa,QAAQ,MAAA0C,SAAA,iBACHxD,qBAAqB,CAACc,QAAQ;MACjC4C,KAAK,EAAEjC,MAAM,CAACkC;IAAW,GACtBhC,cAAc,oBAAdA,cAAc,CAAEb,QAAQ,CAC5B;IACD0B,IAAI,MAAAgB,SAAA,iBACCxD,qBAAqB,CAACwC,IAAI;MAC7BkB,KAAK,EAAEjC,MAAM,CAACwC;IAAK,GAChBtC,cAAc,oBAAdA,cAAc,CAAEa,IAAI;EACxB,EACF;EAED,IAAMR,MAAM,GAAG,SAATA,MAAMA,CAAIkC,GAAW,EAAK;IAC9B,IAAMC,OAAO,GAAG,IAAIC,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,CAACD,OAAO,CAACvE,IAAI,CAACsE,GAAG,CAAC,EAAE;MACtBA,GAAG,GAAG,SAAS,GAAGA,GAAG;IACvB;IAEA,OAAOnC,YAAY,GACfA,YAAY,CAACmC,GAAG,CAAC,GACjBG,oBAAO,CAACC,UAAU,CAACJ,GAAG,CAAC,CAACK,IAAI,CAAC,UAACC,UAAU;MAAA,OAAKA,UAAU,IAAIH,oBAAO,CAACI,OAAO,CAACP,GAAG,CAAC;IAAA,EAAC;EACtF,CAAC;EAED,IAAMQ,IAAqB,GAAG,SAAxBA,IAAqBA,CAAIC,IAAI,EAAEC,MAAM,EAAAC,IAAA,EAAmB;IAAA,IAAZzD,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAD,IAAA,GAAAA,IAAA;IACrD,IAAMX,GAAG,GAAGS,IAAI,CAACI,MAAM;IACvB,IAAM1C,OAAO,GAAG,SAAVA,OAAOA,CAAI2C,KAA4B,EAAK;MAChD,IAAI,CAAC1C,YAAY,IAAIF,YAAY,EAAE;QACjCA,YAAY,CAAC;UACX6C,cAAc,EAAE;YAAEf,GAAG,EAAHA;UAAI,CAAC;UACvBgB,cAAc,EAAE,SAAAA,eAAA,EAAM;YACpBlD,MAAM,CAACkC,GAAG,CAAC;UACb,CAAC;UACDiB,OAAO,EAAE,UAAU;UACnBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAM9C,WAAW,GAAG,SAAdA,WAAWA,CAAI8C,KAA4B,EAAK;MACpD,IAAI,CAAC1C,YAAY,IAAIL,gBAAgB,EAAE;QACrCA,gBAAgB,CAAC;UACfgD,cAAc,EAAE;YAAEf,GAAG,EAAHA;UAAI,CAAC;UACvBiB,OAAO,EAAE,UAAU;UACnBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,OACEzH,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MACHC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MACfpD,WAAW,EAAEA,WAAY;MACzBG,OAAO,EAAEA,OAAQ;MACjBkD,KAAK,EAAEhC,MAAM,CAACE,QAAS;MACvB+B,oBAAoB,EAAE,IAAK;MAAAC,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GAE1BjB,MAAM,CAACD,IAAI,CAACtD,OAAO,MAAAmC,SAAA,iBAAOpC,KAAK;MAAE0E,UAAU,EAAE;IAAI,EAAE,CAChD,CAAC;EAEX,CAAC;EAED,IAAMC,aAA8B,GAAG,SAAjCA,aAA8BA,CAAIpB,IAAI,EAAEC,MAAM,EAAAoB,KAAA,EAAmB;IAAA,IAAZ5E,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAkB,KAAA,GAAAA,KAAA;IAC9D,IAAIlE,wBAAwB,KAAKmE,SAAS,EAAE;MAG1C,IAAI7E,KAAK,CAACkE,GAAG,KAAK,GAAG,IAAIlE,KAAK,CAACkE,GAAG,KAAK,CAAC,EAAE;QACxC,OACE/H,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;UAACC,GAAG,EAAElE,KAAK,CAACkE,GAAI;UAACY,aAAa,EAAEpE,wBAAyB;UAACyD,KAAK,EAAEhC,MAAM,CAACxC,SAAU;UAAA0E,MAAA,EAAA1H,KAAA;UAAA2H,QAAA;YAAAC,QAAA,EAAA3H,YAAA;YAAA4H,UAAA;YAAAC,YAAA;UAAA;QAAA,GACpFjB,MAAM,CAACD,IAAI,CAACtD,OAAO,EAAED,KAAK,CACvB,CAAC;MAEX,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;IAEA,OACE7D,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MAACC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MAACC,KAAK,EAAEhC,MAAM,CAACxC,SAAU;MAAA0E,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC3CjB,MAAM,CAACD,IAAI,CAACtD,OAAO,EAAED,KAAK,CACvB,CAAC;EAEX,CAAC;EAED,IAAM+E,cAAc,GAAGzH,KAAK,CAACC,OAAO,CAAC4D,eAAe,CAAC,GACjDA,eAAe,CAAC6D,MAAM,CAAC,UAACC,GAAG,EAAEC,GAAG,EAAK;IACnC,IAAMC,QAAQ,GAAGD,GAAG,CAAC5G,IAAI,IAAI4G,GAAG,CAACE,EAAE,IAAI,EAAE;IACzC,IAAID,QAAQ,EAAE;MACZF,GAAG,KAAOA,GAAG,CAACxH,MAAM,GAAG,GAAG,GAAG,EAAE,UAAI0H,QAAU;IAC/C;IACA,OAAOF,GAAG,CAACI,UAAU,CAAC,qBAAqB,EAAE,MAAM,CAAC;EACtD,CAAC,EAAE,EAAE,CAAC,GACN,EAAE;EAEN,IAAMC,KAAK,GAAG,IAAItC,MAAM,WAAS+B,cAAc,QAAK,GAAG,CAAC;EACxD,IAAMQ,KAAoB,GAAG,SAAvBA,KAAoBA,CAAIC,MAAM;IAAA,OAAKF,KAAK,CAACG,IAAI,CAACD,MAAM,CAAC;EAAA;EAE3D,IAAME,aAA8B,GAAG,SAAjCA,aAA8BA,CAAInC,IAAI,EAAEC,MAAM,EAAAmC,KAAA,EAAmB;IAAA,IAAAC,cAAA,EAAAC,qBAAA;IAAA,IAAZ7F,KAAK,OAAAoC,SAAA,sBAAAsB,0BAAA,aAAAiC,KAAA,GAAAA,KAAA;IAE9D,IAAMR,QAAQ,IAAAS,cAAA,GAAGrC,IAAI,CAACtD,OAAO,CAAC,CAAC,CAAC,sBAAA4F,qBAAA,GAAfD,cAAA,CAAiB3F,OAAO,qBAAxB4F,qBAAA,CAA0BC,SAAS,CAAC,CAAC,CAAC;IACvD,IAAM7E,OAAO,GAAG,SAAVA,OAAOA,CAAI2C,KAA4B,EAAK;MAChD,IAAI,CAAC1C,YAAY,IAAIF,YAAY,EAAE;QACjCA,YAAY,CAAC;UACX6C,cAAc,EAAE;YACdkC,IAAI,EAAE5E,eAAe,oBAAfA,eAAe,CAAE6E,IAAI,CACzB,UAACD,IAAsC;cAAA,OAAKZ,QAAQ,KAAKY,IAAI,CAACzH,IAAI;YAAA,CACpE;UACF,CAAC;UACDyF,OAAO,EAAE,aAAa;UACtBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAM9C,WAAW,GAAG,SAAdA,WAAWA,CAAI8C,KAA4B,EAAK;MACpD,IAAI,CAAC1C,YAAY,IAAIL,gBAAgB,EAAE;QACrCA,gBAAgB,CAAC;UACfkD,OAAO,EAAE,aAAa;UACtBH,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAED,OACEzH,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;MAACC,GAAG,EAAElE,KAAK,CAACkE,GAAI;MAACpD,WAAW,EAAEA,WAAY;MAACG,OAAO,EAAEA,OAAQ;MAACkD,KAAK,EAAEhC,MAAM,CAACzC,QAAS;MAAA2E,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GACtFnH,KAAK,CAACC,OAAO,CAACgG,IAAI,CAACtD,OAAO,CAAC,GACxBsD,IAAI,CAACtD,OAAO,CAAC+E,MAAM,CAAC,UAACC,GAAG,EAAEgB,OAAO;MAAA,OAAKhB,GAAG,GAAGgB,OAAO,CAAChG,OAAO;IAAA,GAAE,EAAE,CAAC,IAAI,EAAE,GACtEuD,MAAM,CAACD,IAAI,CAACtD,OAAO,EAAED,KAAK,CAC1B,CAAC;EAEX,CAAC;EAED,IAAMf,IAAqB,GAAG,SAAxBA,IAAqBA,CAAIsE,IAAI,EAAEC,MAAM,EAAExD,KAAK;IAAA,OAChD7D,MAAA,YAAA6H,aAAA,CAACkC,UAAU;MACThC,GAAG,YAAUlE,KAAK,CAACkE,GAAM;MACzBX,IAAI,EAAEA,IAAK;MACXC,MAAM,EAAEA,MAAO;MACfxD,KAAK,EAAEA,KAAM;MACbmC,MAAM,EAAEA,MAAO;MAAAkC,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,CAChB,CAAC;EAAA,CACH;EAED,IAAM0B,WAAW,OAAA/D,SAAA;IAEfgE,KAAK,EAAE;MAAEb,KAAK,EAAE,SAAAA,MAAA;QAAA,OAAM,IAAI;MAAA;IAAC,CAAC;IAC5BjC,IAAI,EAAE;MAAE+C,KAAK,EAAE/C;IAAK,CAAC;IACrBrE,IAAI,EAAE;MAAEoH,KAAK,EAAEpH;IAAK,CAAC;IAErBU,SAAS,EAAEe,wBAAwB,GAAG;MAAE2F,KAAK,EAAE1B;IAAc,CAAC,GAAG,CAAC,CAAC;IAEnE2B,OAAO,EAAE;MAAEf,KAAK,EAAE,SAAAA,MAAA;QAAA,OAAM,IAAI;MAAA;IAAC,CAAC;IAC9BgB,OAAO,EAAE;MAAEF,KAAK,EAAEpH;IAAK;EAAC,GACpB8F,cAAc,GACd;IACErF,QAAQ,EAAE;MACR6F,KAAK,EAALA,KAAK;MACLiB,KAAK,EAAEC,4BAAY,CAACrF,IAAI,CAACoF,KAAK,GAAG,GAAG;MACpC1G,KAAK,EAALA,KAAK;MACLuG,KAAK,EAAEX;IACT;EACF,CAAC,GACD,CAAC,CAAC,CACP;EAED,OACEvJ,MAAA,YAAA6H,aAAA,CAACzH,2BAAA,WAAQ;IACP2H,GAAG,EAAKwC,IAAI,CAACC,SAAS,CAACxF,eAAe,CAAC,SAAIJ,UAAU,UACnDN,cAAc,GAAGiG,IAAI,CAACC,SAAS,CAACpG,cAAc,CAAC,GAAGsE,SAAS,UACzD6B,IAAI,CAACC,SAAS,CAACtG,MAAM,CAAI;IAC7BO,MAAM,EAAEA,MAAO;IACfgG,KAAK,MAAAxE,SAAA,iBACA+D,WAAW,EACX7F,aAAa,CAChB;IACF6B,MAAM,EAAEA,MAAO;IAAAkC,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEdpD,OACO,CAAC;AAEf,CAAC;AAACwF,OAAA,CAAA1G,UAAA,GAAAA,UAAA;AAgBK,IAAM+F,UAAU,GAAG,SAAbA,UAAUA,CAAAY,KAAA,EAAyD;EAAA,IAAnDvD,IAAI,GAAAuD,KAAA,CAAJvD,IAAI;IAAEC,MAAM,GAAAsD,KAAA,CAANtD,MAAM;IAAExD,KAAK,GAAA8G,KAAA,CAAL9G,KAAK;IAAEmC,MAAM,GAAA2E,KAAA,CAAN3E,MAAM;EACtD,IAAI4E,SAAS,GAAG/G,KAAK,CAACgH,UAAU;EAChC,IAAMC,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;EAEnD,OACE9K,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA4K,IAAI;IAAChD,GAAG,EAAElE,KAAK,CAACkE,GAAI;IAACC,KAAK,EAAE4C,SAAS,GAAG5E,MAAM,oBAANA,MAAM,CAAEoE,OAAO,GAAGpE,MAAM,oBAANA,MAAM,CAAElD,IAAK;IAAAoF,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GACrElB,IAAI,CAAC4D,KAAK,CAACC,GAAG,CAAC,UAACC,IAAmB,EAAEC,KAAa,EAAK;IAAA,IAAAC,MAAA;IACtD,IAAMC,eAAe,GAAGjE,IAAI,CAACkE,KAAK,GAAGH,KAAK;IAE1C,IAAID,IAAI,KAAK,IAAI,EAAE;MACjB,OACElL,MAAA,YAAA6H,aAAA,CAAC0D,OAAO;QAACxD,GAAG,EAAEoD,KAAM;QAACnD,KAAK,EAAEhC,MAAM,oBAANA,MAAM,CAAE3C,OAAQ;QAACmI,MAAM,EAAC,WAAW;QAAAtD,MAAA,EAAA1H,KAAA;QAAA2H,QAAA;UAAAC,QAAA,EAAA3H,YAAA;UAAA4H,UAAA;UAAAC,YAAA;QAAA;MAAA,GAC7DtI,MAAA,YAAA6H,aAAA,CAAC4D,MAAM;QACLN,KAAK,EAAE/D,IAAI,CAACsE,OAAO,IAAIL,eAAgB;QACvCrD,KAAK,EAAEZ,IAAI,CAACsE,OAAO,GAAG1F,MAAM,oBAANA,MAAM,CAAE/C,cAAc,GAAG+C,MAAM,oBAANA,MAAM,CAAE2F,cAAe;QAAAzD,MAAA,EAAA1H,KAAA;QAAA2H,QAAA;UAAAC,QAAA,EAAA3H,YAAA;UAAA4H,UAAA;UAAAC,YAAA;QAAA;MAAA,CACvE,CACM,CAAC;IAEd;IAEAsC,SAAS,GAAGM,IAAI,CAAC5J,MAAM,GAAG,CAAC,IAAI4J,IAAI,CAAC,CAAC,CAAC,CAACU,IAAI,KAAK,MAAM;IACtD,IAAMC,mBAAmB,GAAGf,WAAW,CAACgB,QAAQ,CAAC,EAAAV,MAAA,GAACF,IAAI,CAAC,CAAC,CAAC,YAAAE,MAAA,GAAI,CAAC,CAAC,EAAEQ,IAAI,CAAC,IAAIhB,SAAS;IACnF,IAAM5C,KAAK,GAAG6D,mBAAmB,GAAG;MAAE9I,YAAY,EAAE;IAAE,CAAC,GAAG,CAAC,CAAC;IAE5D,OACE/C,MAAA,YAAA6H,aAAA,CAAC0D,OAAO;MAACxD,GAAG,EAAEoD,KAAM;MAACnD,KAAK,EAAEhC,MAAM,oBAANA,MAAM,CAAE3C,OAAQ;MAACmI,MAAM,EAAC,WAAW;MAAAtD,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC7DtI,MAAA,YAAA6H,aAAA,CAAC4D,MAAM;MACLN,KAAK,EAAE/D,IAAI,CAACsE,OAAO,IAAIL,eAAgB;MACvCrD,KAAK,EAAEZ,IAAI,CAACsE,OAAO,GAAG1F,MAAM,oBAANA,MAAM,CAAE/C,cAAc,GAAG+C,MAAM,oBAANA,MAAM,CAAE2F,cAAe;MAAAzD,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,CACvE,CAAC,EACFtI,MAAA,YAAA6H,aAAA,CAACkE,QAAQ;MAAChE,GAAG,EAAE,CAAE;MAACC,KAAK,EAAE,CAAChC,MAAM,oBAANA,MAAM,CAAE7C,YAAY,EAAE6E,KAAK,CAAE;MAAAE,MAAA,EAAA1H,KAAA;MAAA2H,QAAA;QAAAC,QAAA,EAAA3H,YAAA;QAAA4H,UAAA;QAAAC,YAAA;MAAA;IAAA,GACpDjB,MAAM,CAAC6D,IAAI,EAAErH,KAAK,CACX,CACH,CAAC;EAEd,CAAC,CACG,CAAC;AAEX,CAAC;AAAC6G,OAAA,CAAAX,UAAA,GAAAA,UAAA;AAMF,IAAM0B,MAAM,GAAG,SAATA,MAAMA,CAAAO,KAAA;EAAA,IAAMb,KAAK,GAAAa,KAAA,CAALb,KAAK;IAAEnD,KAAK,GAAAgE,KAAA,CAALhE,KAAK;EAAA,OAC5BhI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACC,GAAG,EAAE,CAAE;IAACC,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GACxB6C,KAAK,GAAMA,KAAK,UAAO,SACpB,CAAC;AAAA,CACR;AAED,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAAU,KAAA;EAAA,IAAMC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAElE,KAAK,GAAAiE,KAAA,CAALjE,KAAK;EAAA,OAChChI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACE,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAE4D,QAAe,CAAC;AAAA,CACtC;AAED,IAAMH,QAAQ,GAAG,SAAXA,QAAQA,CAAAI,KAAA;EAAA,IAAMD,QAAQ,GAAAC,KAAA,CAARD,QAAQ;IAAElE,KAAK,GAAAmE,KAAA,CAALnE,KAAK;EAAA,OACjChI,MAAA,YAAA6H,aAAA,CAAC1H,YAAA,CAAA2H,IAAI;IAACE,KAAK,EAAEA,KAAM;IAAAE,MAAA,EAAA1H,KAAA;IAAA2H,QAAA;MAAAC,QAAA,EAAA3H,YAAA;MAAA4H,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAE4D,QAAe,CAAC;AAAA,CACtC"}