@droppii-org/chat-mobile 0.2.109 → 0.2.110

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 (100) hide show
  1. package/lib/module/screens/chat-detail/ChatDetail.js +42 -7
  2. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  3. package/lib/module/screens/chat-detail/ChatListLegend.js +249 -49
  4. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  5. package/lib/module/screens/chat-detail/hooks/createUnreadMarkReadGate.js +32 -0
  6. package/lib/module/screens/chat-detail/hooks/createUnreadMarkReadGate.js.map +1 -0
  7. package/lib/module/screens/chat-detail/hooks/useMarkConversationRead.js +180 -0
  8. package/lib/module/screens/chat-detail/hooks/useMarkConversationRead.js.map +1 -0
  9. package/lib/module/screens/chat-detail/hooks/useUnreadAnchorSeen.js +88 -0
  10. package/lib/module/screens/chat-detail/hooks/useUnreadAnchorSeen.js.map +1 -0
  11. package/lib/module/screens/chat-detail/hooks/useUnreadDeeplinkCheck.js +59 -0
  12. package/lib/module/screens/chat-detail/hooks/useUnreadDeeplinkCheck.js.map +1 -0
  13. package/lib/module/screens/chat-detail/hooks/useUnreadIndicator.js +105 -0
  14. package/lib/module/screens/chat-detail/hooks/useUnreadIndicator.js.map +1 -0
  15. package/lib/module/screens/chat-detail/hooks/useUnreadIndicatorInList.js +157 -0
  16. package/lib/module/screens/chat-detail/hooks/useUnreadIndicatorInList.js.map +1 -0
  17. package/lib/module/screens/chat-detail/legend/LegendChatUnreadButton.js +140 -0
  18. package/lib/module/screens/chat-detail/legend/LegendChatUnreadButton.js.map +1 -0
  19. package/lib/module/screens/chat-detail/legend/LegendChatUnreadDivider.js +51 -0
  20. package/lib/module/screens/chat-detail/legend/LegendChatUnreadDivider.js.map +1 -0
  21. package/lib/module/services/message.js +30 -0
  22. package/lib/module/services/message.js.map +1 -1
  23. package/lib/module/store/message.js +25 -4
  24. package/lib/module/store/message.js.map +1 -1
  25. package/lib/module/store/unreadIndicator.js +26 -0
  26. package/lib/module/store/unreadIndicator.js.map +1 -0
  27. package/lib/module/translation/resources/i18n.js +2 -0
  28. package/lib/module/translation/resources/i18n.js.map +1 -1
  29. package/lib/module/types/chat.js.map +1 -1
  30. package/lib/module/types/unreadIndicator.js +2 -0
  31. package/lib/module/types/unreadIndicator.js.map +1 -0
  32. package/lib/module/utils/markReadPolicy.js +25 -0
  33. package/lib/module/utils/markReadPolicy.js.map +1 -0
  34. package/lib/module/utils/promise.js +16 -0
  35. package/lib/module/utils/promise.js.map +1 -1
  36. package/lib/module/utils/unreadAnchor.js +57 -0
  37. package/lib/module/utils/unreadAnchor.js.map +1 -0
  38. package/lib/module/utils/unreadIndicatorState.js +96 -0
  39. package/lib/module/utils/unreadIndicatorState.js.map +1 -0
  40. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  41. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts +4 -1
  42. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  43. package/lib/typescript/src/screens/chat-detail/hooks/createUnreadMarkReadGate.d.ts +9 -0
  44. package/lib/typescript/src/screens/chat-detail/hooks/createUnreadMarkReadGate.d.ts.map +1 -0
  45. package/lib/typescript/src/screens/chat-detail/hooks/useMarkConversationRead.d.ts +39 -0
  46. package/lib/typescript/src/screens/chat-detail/hooks/useMarkConversationRead.d.ts.map +1 -0
  47. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadAnchorSeen.d.ts +26 -0
  48. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadAnchorSeen.d.ts.map +1 -0
  49. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadDeeplinkCheck.d.ts +17 -0
  50. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadDeeplinkCheck.d.ts.map +1 -0
  51. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadIndicator.d.ts +21 -0
  52. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadIndicator.d.ts.map +1 -0
  53. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadIndicatorInList.d.ts +35 -0
  54. package/lib/typescript/src/screens/chat-detail/hooks/useUnreadIndicatorInList.d.ts.map +1 -0
  55. package/lib/typescript/src/screens/chat-detail/legend/LegendChatUnreadButton.d.ts +8 -0
  56. package/lib/typescript/src/screens/chat-detail/legend/LegendChatUnreadButton.d.ts.map +1 -0
  57. package/lib/typescript/src/screens/chat-detail/legend/LegendChatUnreadDivider.d.ts +7 -0
  58. package/lib/typescript/src/screens/chat-detail/legend/LegendChatUnreadDivider.d.ts.map +1 -0
  59. package/lib/typescript/src/services/message.d.ts +8 -0
  60. package/lib/typescript/src/services/message.d.ts.map +1 -1
  61. package/lib/typescript/src/store/message.d.ts.map +1 -1
  62. package/lib/typescript/src/store/unreadIndicator.d.ts +10 -0
  63. package/lib/typescript/src/store/unreadIndicator.d.ts.map +1 -0
  64. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  65. package/lib/typescript/src/types/chat.d.ts +3 -0
  66. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  67. package/lib/typescript/src/types/events.d.ts +17 -1
  68. package/lib/typescript/src/types/events.d.ts.map +1 -1
  69. package/lib/typescript/src/types/unreadIndicator.d.ts +45 -0
  70. package/lib/typescript/src/types/unreadIndicator.d.ts.map +1 -0
  71. package/lib/typescript/src/utils/markReadPolicy.d.ts +27 -0
  72. package/lib/typescript/src/utils/markReadPolicy.d.ts.map +1 -0
  73. package/lib/typescript/src/utils/promise.d.ts +6 -0
  74. package/lib/typescript/src/utils/promise.d.ts.map +1 -1
  75. package/lib/typescript/src/utils/unreadAnchor.d.ts +33 -0
  76. package/lib/typescript/src/utils/unreadAnchor.d.ts.map +1 -0
  77. package/lib/typescript/src/utils/unreadIndicatorState.d.ts +26 -0
  78. package/lib/typescript/src/utils/unreadIndicatorState.d.ts.map +1 -0
  79. package/package.json +2 -2
  80. package/src/screens/chat-detail/ChatDetail.tsx +58 -5
  81. package/src/screens/chat-detail/ChatListLegend.tsx +314 -46
  82. package/src/screens/chat-detail/hooks/createUnreadMarkReadGate.ts +41 -0
  83. package/src/screens/chat-detail/hooks/useMarkConversationRead.ts +197 -0
  84. package/src/screens/chat-detail/hooks/useUnreadAnchorSeen.ts +105 -0
  85. package/src/screens/chat-detail/hooks/useUnreadDeeplinkCheck.ts +68 -0
  86. package/src/screens/chat-detail/hooks/useUnreadIndicator.ts +112 -0
  87. package/src/screens/chat-detail/hooks/useUnreadIndicatorInList.ts +181 -0
  88. package/src/screens/chat-detail/legend/LegendChatUnreadButton.tsx +165 -0
  89. package/src/screens/chat-detail/legend/LegendChatUnreadDivider.tsx +52 -0
  90. package/src/services/message.ts +42 -0
  91. package/src/store/message.ts +23 -5
  92. package/src/store/unreadIndicator.ts +38 -0
  93. package/src/translation/resources/i18n.ts +2 -0
  94. package/src/types/chat.ts +3 -0
  95. package/src/types/events.ts +18 -1
  96. package/src/types/unreadIndicator.ts +49 -0
  97. package/src/utils/markReadPolicy.ts +55 -0
  98. package/src/utils/promise.ts +20 -0
  99. package/src/utils/unreadAnchor.ts +87 -0
  100. package/src/utils/unreadIndicatorState.ts +131 -0
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","KeyboardEvents","useGenericKeyboardHandler","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","getMessageRenderId","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","PeerType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","ChatTypingIndicator","useGuardedPress","useDismissKeyboardFirst","useTimelinePressGuard","perfMark","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ROW_MARGIN_CLUSTER_END","ROW_MARGIN_IN_CLUSTER","BUTTON_FADE_CONFIG","duration","easing","out","ease","CONTENT_PADDING_VERTICAL","FOLLOW_FALLBACK_MS","FOLLOW_SETTLE_MS","FOLLOW_TAIL_FRAMES","NEW_MESSAGE_ANCHOR_MS","DISABLE_NATIVE_KEYBOARD_INSET","getRowMarginBottom","position","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","hasMoreNew","onMediaPress","onMediaPressProp","onPressUrl","onPressUrlProp","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","renderConversationViewHeader","dismissAreaTouchProps","isComposerPanelOpen","onDismissAreaScrollBeginDrag","currentUserId","s","user","userID","windowWidth","width","isBotConversation","conversationFlow","conversation","isGroupConversation","peerType","Group","messageDataMap","shouldSwallowPress","retryMessage","retryMessageRaw","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","keyboardInsetRef","keyboardInset","setKeyboardInset","isFollowingKeyboardRef","anchorToEndUntilRef","lastContentHeightRef","liveKeyboardHeight","onMove","e","value","height","onEnd","rowRefsMap","Map","hasUserScrolledRef","hasCorrectedInitialPaddingRef","previousLastMessageIdRef","moreOldLoadingRef","current","messagesRef","showBadge","setShowBadge","highlightedId","setHighlightedId","highlightTimerRef","revealedMessageId","setRevealedMessageId","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","get","measureInWindow","x","y","groupPosition","onRunFlow","payload","onResetFlow","handleMessagePress","prev","handleRenderConversationViewHeader","View","style","styles","header","children","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","messageData","dayStart","timeBreak","createdAt","showSenderGutter","showName","showAvatar","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","ref","set","delete","messageRowRight","messageRowLeft","marginBottom","collapsable","createdAtTime","onRetry","onPress","isHighlighted","isTimeRevealed","nodeData","error","__DEV__","console","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","rowMargin","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","listExtraData","flowStepId","id","handleStartReached","getState","handleEndReached","moreNewLoading","handleScrollBeginDrag","handleScroll","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","grew","distanceFromEnd","Date","now","animated","closeKeyboard","clearTimeout","setTimeout","markConversationAsRead","handleScrollToBottom","contentContainerStyle","content","paddingBottom","contentNotHittable","animatedButtonStyle","opacity","pointerEvents","pendingSettle","pendingFrame","clearPending","cancelAnimationFrame","followKeyboard","to","startedAt","startedFrom","Math","max","abs","tailFrames","step","live","reached","timedOut","moved","done","settleTo","scrollToEnd","requestAnimationFrame","applyInset","nextInset","willShow","addListener","willHide","remove","previousLastMessageId","shouldFire","handleListLoad","bottomSubscription","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","finally","startClientMsgId","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","alignItemsAtEnd","alwaysRender","top","maintainScrollAtEnd","maintainVisibleContentPosition","drawDistance","automaticallyAdjustContentInsets","keyboardLiftBehavior","keyboardShouldPersistTaps","scrollEventThrottle","onScroll","onScrollBeginDrag","onLoad","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","initialScrollAtEnd","scrollToBottomButton","Touchable","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","left","zIndex","paddingVertical","flexGrow","bottom","borderRadius","round","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":";;AAAA,SACEA,IAAI,EACJC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,MAAM,EACNC,QAAQ,QAEH,OAAO;AACd,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,UAAU,EACVC,mBAAmB,QAEd,cAAc;AACrB,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,MAAM,QAED,yBAAyB;AAChC,SAASC,uBAAuB,QAAQ,0BAA0B;AAClE,SACEC,cAAc,EACdC,yBAAyB,QACpB,kCAAkC;AAKzC,SACEC,UAAU,EACVC,OAAO,EACPC,aAAa,EACbC,MAAM,EACNC,YAAY,EACZC,MAAM,QACD,eAAe;AACtB,SACEC,wBAAwB,QAEnB,kCAA+B;AACtC,SAASC,kBAAkB,QAAQ,wBAAqB;AAExD,SAASC,iBAAiB,QAAQ,+BAA4B;AAC9D,SAASC,aAAa,QAAQ,2BAAwB;AACtD,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,oBAAoB,QAAQ,oCAAiC;AACtE,SAASC,wBAAwB,QAAQ,sBAAmB;AAC5D,SAASC,eAAe,QAAQ,8CAAqC;AACrE,SAASC,YAAY,EAAEC,UAAU,QAAQ,8BAA2B;AAKpE,SAASC,cAAc,QAAQ,uCAAoC;AACnE,SAASC,SAAS,QAAqC,uBAAoB;AAC3E,SAASC,eAAe,QAAQ,wBAAqB;AACrD,SAASC,cAAc,QAAQ,wBAAe;AAC9C,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,WAAW,EAAEC,QAAQ,QAAQ,+BAA+B;AAErE,SAASC,YAAY,QAAQ,sBAAa;AAC1C,SAASC,cAAc,QAAQ,yBAAgB;AAC/C,SAASC,uBAAuB,QAAQ,iDAAwC;AAChF,OAAOC,eAAe,IACpBC,sBAAsB,QACjB,gCAA6B;AACpC,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,uBAAuB,QAAQ,wCAAqC;AAC7E,SAASC,qBAAqB,QAAQ,4CAAyC;AAC/E,SAASC,QAAQ,QAAQ,4BAAyB;;AAElD;AACA;AACA;AACA;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,sBAAsB,GAAGrC,aAAa,CAAC,QAAQ,CAAC;AACtD,MAAMsC,qBAAqB,GAAGtC,aAAa,CAAC,SAAS,CAAC;AAEtD,MAAMuC,kBAAkB,GAAG;EAAEC,QAAQ,EAAE,GAAG;EAAEC,MAAM,EAAE/C,MAAM,CAACgD,GAAG,CAAChD,MAAM,CAACiD,IAAI;AAAE,CAAC;AAE7E,MAAMC,wBAAwB,GAAG5C,aAAa,CAAC,SAAS,CAAC;;AAEzD;AACA;AACA;AACA;AACA,MAAM6C,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,GAAG;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,CAAC;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAG,IAAI;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,6BAA6B,GAAG,SAAS;AAE/C,MAAMC,kBAAkB,GAAIC,QAAuB,IACjDA,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM,GACtCd,sBAAsB,GACtBC,qBAAqB;AAkB3B,OAAO,MAAMc,cAAc,gBAAGxE,IAAI,CAChC,CAAC;EACCyE,QAAQ,GAAG,EAAE;EACbC,cAAc;EACdC,wBAAwB;EACxBC,aAAa;EACbC,cAAc;EACdC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,YAAY,EAAEC,gBAAgB;EAC9BC,UAAU,EAAEC,cAAc;EAC1BC,WAAW;EACXC,OAAO;EACPC,MAAM;EACNC,kBAAkB;EAClBC,cAAc;EACdC,SAAS;EACTC,4BAA4B;EAC5BC,qBAAqB;EACrBC,mBAAmB,GAAG,KAAK;EAC3BC;AAC2B,CAAC,KAAK;EACjC,MAAMC,aAAa,GAAGtD,YAAY,CAAEuD,CAAC,IAAKA,CAAC,CAACC,IAAI,EAAEC,MAAM,CAAC;EACzD,MAAMC,WAAW,GAAG1F,mBAAmB,CAAC,CAAC,CAAC2F,KAAK;EAC/C;EACA,MAAM;IAAEC,iBAAiB;IAAEC,gBAAgB;IAAEC;EAAa,CAAC,GACzD1E,oBAAoB,CAAC,CAAC;;EAExB;EACA;EACA,MAAM2E,mBAAmB,GACvBD,YAAY,EAAEE,QAAQ,KAAKjE,QAAQ,CAACkE,KAAK,IAAI,CAACL,iBAAiB;EAEjE,MAAMM,cAAc,GAAGzG,OAAO,CAC5B,MACEsB,wBAAwB,CAACiD,QAAQ,EAAE;IACjC4B,iBAAiB;IACjBN;EACF,CAAC,CAAC,EACJ,CAACtB,QAAQ,EAAE4B,iBAAiB,EAAEN,aAAa,CAC7C,CAAC;;EAED;EACA;EACA,MAAMa,kBAAkB,GAAG3D,qBAAqB,CAAC,CAAC;EAClD,MAAM;IAAE4D,YAAY,EAAEC;EAAgB,CAAC,GAAG5E,cAAc,CAAC,CAAC;EAC1D,MAAM2E,YAAY,GAAG9D,eAAe,CAAC+D,eAAe,EAAEF,kBAAkB,CAAC;EACzE,MAAM3B,YAAY,GAAGlC,eAAe,CAClCC,uBAAuB,CAACkC,gBAAgB,CAAC,EACzC0B,kBACF,CAAC;EACD,MAAMzB,UAAU,GAAGpC,eAAe,CAChCC,uBAAuB,CAACoC,cAAc,CAAC,EACvCwB,kBACF,CAAC;EAED,MAAMG,aAAa,GAAG7G,OAAO,CAAC,MAAM;IAClC,MAAM8G,IAAI,GAAGvC,QAAQ,CAACA,QAAQ,CAACwC,MAAM,GAAG,CAAC,CAAC;IAC1C,OAAOD,IAAI,EAAEE,WAAW,IAAIF,IAAI,EAAEG,WAAW,IAAI,IAAI;EACvD,CAAC,EAAE,CAAC1C,QAAQ,CAAC,CAAC;EACd,MAAM;IAAE2C,MAAM,EAAEC;EAAQ,CAAC,GAAGpF,UAAU,CAAC,CAAC;EACxC,MAAM;IAAEmF,MAAM,EAAEE;EAAU,CAAC,GAAGtF,YAAY,CAAC,CAAC;EAE5C,MAAMuF,aAAa,GAAG5G,cAAc,CAAC,CAAC,CAAC;EACvC,MAAM6G,aAAa,GAAGpH,MAAM,CAAC,IAAI,CAAC;EAClC,MAAMqH,iBAAiB,GAAGrH,MAAM,CAA6BsH,SAAS,CAAC;EACvE;EACA;EACA;EACA,MAAMC,gBAAgB,GAAGvH,MAAM,CAAC,CAAC,CAAC;EAClC,MAAM,CAACwH,aAAa,EAAEC,gBAAgB,CAAC,GAAGxH,QAAQ,CAAC,CAAC,CAAC;EACrD;EACA,MAAMyH,sBAAsB,GAAG1H,MAAM,CAAC,KAAK,CAAC;EAC5C;EACA;EACA,MAAM2H,mBAAmB,GAAG3H,MAAM,CAAC,CAAC,CAAC;EACrC,MAAM4H,oBAAoB,GAAG5H,MAAM,CAAC,CAAC,CAAC;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM6H,kBAAkB,GAAGtH,cAAc,CAAC,CAAC,CAAC;EAC5CM,yBAAyB,CACvB;IACEiH,MAAM,EAAGC,CAAC,IAAK;MACb,SAAS;;MACTF,kBAAkB,CAACG,KAAK,GAAGD,CAAC,CAACE,MAAM;IACrC,CAAC;IACDC,KAAK,EAAGH,CAAC,IAAK;MACZ,SAAS;;MACTF,kBAAkB,CAACG,KAAK,GAAGD,CAAC,CAACE,MAAM;IACrC;EACF,CAAC,EACD,EACF,CAAC;EACD,MAAME,UAAU,GAAGnI,MAAM,CAA2B,IAAIoI,GAAG,CAAC,CAAC,CAAC;EAC9D;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,kBAAkB,GAAGrI,MAAM,CAAC,KAAK,CAAC;EACxC;EACA;EACA;EACA;EACA,MAAMsI,6BAA6B,GAAGtI,MAAM,CAAC,KAAK,CAAC;EACnD;EACA;EACA;EACA,MAAMuI,wBAAwB,GAAGvI,MAAM,CAAgB,IAAI,CAAC;EAC5D;EACA;EACA,MAAMwI,iBAAiB,GAAGxI,MAAM,CAACyE,cAAc,CAAC;EAChD+D,iBAAiB,CAACC,OAAO,GAAGhE,cAAc;EAC1C;EACA;EACA;EACA;EACA,MAAMiE,WAAW,GAAG1I,MAAM,CAACqE,QAAQ,CAAC;EACpCqE,WAAW,CAACD,OAAO,GAAGpE,QAAQ;EAC9B,MAAM,CAACsE,SAAS,EAAEC,YAAY,CAAC,GAAG3I,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAAC4I,aAAa,EAAEC,gBAAgB,CAAC,GAAG7I,QAAQ,CAAgB,IAAI,CAAC;EACvE,MAAM8I,iBAAiB,GAAG/I,MAAM,CAC9B,IACF,CAAC;EACD;EACA;EACA,MAAM,CAACgJ,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGhJ,QAAQ,CACxD,IACF,CAAC;EAED,MAAM;IAAEiJ;EAAgB,CAAC,GAAGjH,cAAc,CAAC,CAAC;EAC5C,MAAMkH,cAAc,GAAGnH,eAAe,CAAE4D,CAAC,IAAKA,CAAC,CAACuD,cAAc,CAAC;EAE/D,MAAMC,sBAAsB,GAAGvJ,WAAW,CACxC,CAACwJ,SAAiB,EAAEC,OAAoB,KAAK;IAC3C,IAAI9C,kBAAkB,CAAC,CAAC,EAAE;IAC1B,MAAM+C,IAAI,GAAGpB,UAAU,CAACM,OAAO,CAACe,GAAG,CAACH,SAAS,CAAC;IAC9CE,IAAI,EAAEE,eAAe,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAE3D,KAAK,EAAEiC,MAAM,KAAK;MAC7C,IAAIyB,CAAC,IAAI,IAAI,IAAIC,CAAC,IAAI,IAAI,IAAI3D,KAAK,IAAI,IAAI,IAAIiC,MAAM,IAAI,IAAI,EAAE;MAC/D,MAAM2B,aAAa,GAAGrD,cAAc,CAACiD,GAAG,CAACH,SAAS,CAAC,EAAEO,aAAa;MAClE3E,WAAW,GAAGqE,OAAO,EAAE;QAAEI,CAAC;QAAEC,CAAC;QAAE3D,KAAK;QAAEiC;MAAO,CAAC,EAAE2B,aAAa,CAAC;IAChE,CAAC,CAAC;EACJ,CAAC,EACD,CAAC3E,WAAW,EAAEsB,cAAc,EAAEC,kBAAkB,CAClD,CAAC;EAED,MAAMqD,SAAS,GAAGhK,WAAW,CAC1BiK,OAAoC,IAAK;IACxC,IAAItD,kBAAkB,CAAC,CAAC,EAAE;IAC1BS,OAAO,CAAC6C,OAAO,CAAC;EAClB,CAAC,EACD,CAAC7C,OAAO,EAAET,kBAAkB,CAC9B,CAAC;EAED,MAAMuD,WAAW,GAAGlK,WAAW,CAAC,MAAM;IACpC,IAAI2G,kBAAkB,CAAC,CAAC,EAAE;IAC1BU,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACA,SAAS,EAAEV,kBAAkB,CAAC,CAAC;EAEnC,MAAMwD,kBAAkB,GAAGnK,WAAW,CACnCwJ,SAAiB,IAAK;IACrB,IAAI7C,kBAAkB,CAAC,CAAC,EAAE;IAC1ByC,oBAAoB,CAAEgB,IAAI,IAAMA,IAAI,KAAKZ,SAAS,GAAG,IAAI,GAAGA,SAAU,CAAC;EACzE,CAAC,EACD,CAAC7C,kBAAkB,CACrB,CAAC;EAED,MAAM0D,kCAAkC,GAAGrK,WAAW,CAAC,MAAM;IAC3D,IAAI,CAAC0F,4BAA4B,EAAE,OAAO,IAAI;IAC9C,oBACEvC,IAAA,CAAClC,UAAU,CAACqJ,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC,MAAO;MAAAC,QAAA,EACnChF,4BAA4B,CAAC;IAAC,CAChB,CAAC;EAEtB,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMiF,UAAU,GAAG3K,WAAW,CAC5B,CAAC;IAAE4K,IAAI;IAAEC;EAA4C,CAAC,KAAK;IACzD,IAAI;MACF,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;MAEtB,MAAMnB,OAAO,GAAGmB,IAAmB;MACnC,MAAME,UAAU,GAAGrB,OAAO,CAACsB,MAAM,KAAKjF,aAAa;MACnD,MAAMkF,aAAa,GACjB,CAACvB,OAAO,CAACxC,WAAW,IAAIwC,OAAO,CAACvC,WAAW,MAAMJ,aAAa;MAChE,MAAMmE,cAAc,GAAG,CAACH,UAAU,IAAIE,aAAa;MACnD,MAAMxB,SAAS,GAAGhI,kBAAkB,CAACiI,OAAO,EAAEoB,KAAK,CAAC;MAEpD,MAAMK,WAAW,GAAGxE,cAAc,CAACiD,GAAG,CAACH,SAAS,CAAC;MACjD,IAAI,CAAC0B,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,MAAM;QAAEC,QAAQ;QAAEC,SAAS;QAAEC,SAAS;QAAEtB;MAAc,CAAC,GAAGmB,WAAW;MAErE,MAAMI,gBAAgB,GAAG/E,mBAAmB,IAAI,CAACuE,UAAU;MAC3D,MAAMS,QAAQ,GACZD,gBAAgB,KACfvB,aAAa,KAAK,OAAO,IAAIA,aAAa,KAAK,MAAM,CAAC;MACzD,MAAMyB,UAAU,GACdF,gBAAgB,KACfvB,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,MAAM,CAAC;MAExD,IAAI0B,qBAAoD,GAAG,EAAE;MAC7D,IACE,CAAET,aAAa,IAAI3E,gBAAgB,EAAEqF,gBAAgB,KAAK,KAAK,IAC7DT,cAAc,KAChB7E,iBAAiB,EACjB;QACAqF,qBAAqB,GAAG5J,wBAAwB,CAC9CwE,gBAAgB,EAAEsF,eACpB,CAAC;MACH;MAEA,oBACEpI,KAAA,CAAAF,SAAA;QAAAqH,QAAA,GACG,CAACS,QAAQ,IAAIC,SAAS,kBACrBjI,IAAA,CAACzB,aAAa;UAAC2J,SAAS,EAAEA;QAAU,CAAE,CACvC,eACDlI,IAAA,CAAClC,UAAU,CAACqJ,IAAI;UACdsB,GAAG,EAAGlC,IAAiB,IAAK;YAC1B,IAAIA,IAAI,EAAEpB,UAAU,CAACM,OAAO,CAACiD,GAAG,CAACrC,SAAS,EAAEE,IAAI,CAAC,CAAC,KAC7CpB,UAAU,CAACM,OAAO,CAACkD,MAAM,CAACtC,SAAS,CAAC;UAC3C,CAAE;UACFe,KAAK,EAAE,CACLO,UAAU,GACNzI,aAAa,CAAC0J,eAAe,GAC7B1J,aAAa,CAAC2J,cAAc,EAChC;YAAEC,YAAY,EAAE5H,kBAAkB,CAAC0F,aAAa;UAAE,CAAC,CACnD;UACFmC,WAAW,EAAE,KAAM;UAAAxB,QAAA,eAEnBvH,IAAA,CAAC1B,iBAAiB;YAChBgI,OAAO,EAAEA,OAAQ;YACjBD,SAAS,EAAEA,SAAU;YACrBsB,UAAU,EAAEA,UAAW;YACvBqB,aAAa,EAAEd,SAAU;YACzBrG,YAAY,EAAEA,YAAa;YAC3BE,UAAU,EAAEA,UAAW;YACvBkH,OAAO,EAAExF,YAAa;YACtByF,OAAO,EAAElC,kBAAmB;YAC5B/E,WAAW,EAAEA,WAAW,GAAGmE,sBAAsB,GAAG9B,SAAU;YAC9D/C,wBAAwB,EAAEA,wBAAyB;YACnD4H,aAAa,EAAEtD,aAAa,KAAKQ,SAAU;YAC3C+C,cAAc,EAAEpD,iBAAiB,KAAKK,SAAU;YAChD+B,QAAQ,EAAEA,QAAS;YACnBC,UAAU,EAAEA,UAAW;YACvBF,gBAAgB,EAAEA,gBAAiB;YACnCvB,aAAa,EAAEA;UAAc,CAC9B;QAAC,CACa,CAAC,EACjB0B,qBAAqB,IAAIA,qBAAqB,CAACzE,MAAM,GAAG,CAAC,iBACxD7D,IAAA,CAACrB,eAAe;UACd0K,QAAQ,EAAEf,qBAAsB;UAChCvB,WAAW,EAAEA,WAAY;UACzBF,SAAS,EAAEA;QAAU,CACtB,CACF;MAAA,CACD,CAAC;IAEP,CAAC,CAAC,OAAOyC,KAAK,EAAE;MACd,IAAIC,OAAO,EACTC,OAAO,CAACF,KAAK,CAAC,oCAAoC,EAAEA,KAAK,CAAC;MAC5D,oBACEtJ,IAAA,CAAClC,UAAU,CAACqJ,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACoC,QAAS;QAAAlC,QAAA,eACtCvH,IAAA,CAAC/B,MAAM,CAACyL,IAAI;UAACC,IAAI,EAAC,cAAc;UAAApC,QAAA,EAAC;QAEjC,CAAa;MAAC,CACC,CAAC;IAEtB;EACF,CAAC,EACD,CACE5E,aAAa,EACbgB,aAAa,EACbJ,cAAc,EACdH,mBAAmB,EACnBH,iBAAiB,EACjBpB,YAAY,EACZE,UAAU,EACVE,WAAW,EACXmE,sBAAsB,EACtB7E,wBAAwB,EACxBwF,WAAW,EACXF,SAAS,EACT3D,gBAAgB,EAAEsF,eAAe,EACjCtF,gBAAgB,EAAEqF,gBAAgB,EAClC9E,YAAY,EACZoC,aAAa,EACbG,iBAAiB,EACjBgB,kBAAkB,CAEtB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM4C,6BAAmE,GACvE9M,OAAO,CAAC,OAAO;IAAE+M,IAAI,EAAE;EAAK,CAAC,CAAC,EAAE,EAAE,CAAC;;EAErC;EACA;EACA;EACA;EACA,MAAMC,WAAW,GAAGjN,WAAW,CAC5B4K,IAAiB,IAAK;IACrB,MAAMsC,QAAQ,GAAG,CAAC,CAACxI,wBAAwB,GAAGkG,IAAI,CAAC;IACnD,OAAO,GAAGA,IAAI,EAAEuC,WAAW,IAAI,SAAS,GAAGD,QAAQ,GAAG,SAAS,GAAG,EAAE,EAAE;EACxE,CAAC,EACD,CAACxI,wBAAwB,CAC3B,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA,MAAM0I,gBAAgB,GAAGpN,WAAW,CAClC,CAAC4K,IAAiB,EAAEC,KAAa,KAAyB;IACxD,MAAMpB,OAAO,GAAGmB,IAAI;IACpB,MAAMpB,SAAS,GAAGhI,kBAAkB,CAACiI,OAAO,EAAEoB,KAAK,CAAC;IAEpD,MAAMK,WAAW,GAAGxE,cAAc,CAACiD,GAAG,CAACH,SAAS,CAAC;IACjD;IACA;IACA,IAAI0B,WAAW,EAAEC,QAAQ,IAAID,WAAW,EAAEE,SAAS,EAAE,OAAO3D,SAAS;;IAErE;IACA;IACA,IAAIlB,mBAAmB,IAAIkD,OAAO,CAACsB,MAAM,KAAKjF,aAAa,EAAE;MAC3D,OAAO2B,SAAS;IAClB;IAEA,MAAM4F,SAAS,GAAGhJ,kBAAkB,CAClC6G,WAAW,EAAEnB,aAAa,IAAI,MAChC,CAAC;;IAED;IACA;IACA;IACA;IACA;IACA,IAAIuD,aAAqB;IACzB,QAAQ7D,OAAO,CAAC0D,WAAW;MACzB,KAAK7K,WAAW,CAACiL,cAAc;QAC7BD,aAAa,GACX5K,uBAAuB,CAAC+G,OAAO,EAAEvD,WAAW,CAAC,CAACkC,MAAM,GAAGiF,SAAS;QAClE;MACF,KAAK/K,WAAW,CAACkL,YAAY;QAC3BF,aAAa,GACX3K,eAAe,CAAC8K,aAAa,CAC3B7K,sBAAsB,CAAC8K,oBACzB,CAAC,CAACtF,MAAM,GAAGiF,SAAS;QACtB;MACF;MACA;MACA;MACA;MACA;QACE,OAAO5F,SAAS;IACpB;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAI/C,wBAAwB,GAAG+E,OAAO,CAAC,EAAE,OAAOhC,SAAS;IAEzD,MAAMqD,UAAU,GAAGrB,OAAO,CAACsB,MAAM,KAAKjF,aAAa;IACnD,MAAMmF,cAAc,GAAG,CAACH,UAAU,IAAItB,SAAS,KAAK1C,aAAa;IACjE,MAAM2E,qBAAqB,GAAG5J,wBAAwB,CACpDwE,gBAAgB,EAAEsF,eACpB,CAAC;IACD,IACEV,cAAc,IACd7E,iBAAiB,IACjBqF,qBAAqB,CAACzE,MAAM,GAAG,CAAC,EAChC;MACA,OAAOS,SAAS;IAClB;IAEA,OAAO6F,aAAa;EACtB,CAAC,EACD,CACE5G,cAAc,EACdhC,wBAAwB,EACxBoB,aAAa,EACbS,mBAAmB,EACnBO,aAAa,EACbV,iBAAiB,EACjBC,gBAAgB,EAAEsF,eAAe,EACjCzF,WAAW,CAEf,CAAC;;EAED;EACA;EACA;EACA;EACA,MAAMyH,aAAa,GAAG1N,OAAO,CAC3B,OAAO;IACLyG,cAAc;IACdkH,UAAU,EAAEvH,gBAAgB,EAAEsF,eAAe,EAAEkC,EAAE,IAAI,EAAE;IACvD/G,aAAa;IACbkC,aAAa;IACbG;EACF,CAAC,CAAC,EACF,CACEzC,cAAc,EACdL,gBAAgB,EAAEsF,eAAe,EAAEkC,EAAE,EACrC/G,aAAa,EACbkC,aAAa,EACbG,iBAAiB,CAErB,CAAC;EAED,MAAM2E,kBAAkB,GAAG9N,WAAW,CAAC,MAAM;IAC3C;IACA;IACA;IACA,IAAI,CAACwI,kBAAkB,CAACI,OAAO,EAAE;IACjC,IAAI/D,UAAU,IAAI,CAAC1C,eAAe,CAAC4L,QAAQ,CAAC,CAAC,CAACnJ,cAAc,EAAE;MAC5D3B,QAAQ,CAAC,uBAAuB,CAAC;MACjC0B,aAAa,GAAG,IAAI,CAAC;IACvB;EACF,CAAC,EAAE,CAACE,UAAU,EAAEF,aAAa,CAAC,CAAC;EAE/B,MAAMqJ,gBAAgB,GAAGhO,WAAW,CAAC,MAAM;IACzC,IAAI,CAACwI,kBAAkB,CAACI,OAAO,EAAE;IACjC,IAAI7D,UAAU,IAAI,CAAC5C,eAAe,CAAC4L,QAAQ,CAAC,CAAC,CAACE,cAAc,EAAE;MAC5DnJ,aAAa,GAAG,IAAI,CAAC;IACvB;EACF,CAAC,EAAE,CAACC,UAAU,EAAED,aAAa,CAAC,CAAC;EAE/B,MAAMoJ,qBAAqB,GAAGlO,WAAW,CAAC,MAAM;IAC9CwI,kBAAkB,CAACI,OAAO,GAAG,IAAI;IACjC/C,4BAA4B,GAAG,CAAC;EAClC,CAAC,EAAE,CAACA,4BAA4B,CAAC,CAAC;EAElC,MAAMsI,YAAY,GAAGnO,WAAW,CAC7BkI,CAAM,IAAK;IACV;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIL,sBAAsB,CAACe,OAAO,EAAE;IAEpC,MAAM;MAAEwF,aAAa;MAAEC,WAAW;MAAEC;IAAkB,CAAC,GAAGpG,CAAC,CAACqG,WAAW;IACvE,MAAMC,UAAU,GACdJ,aAAa,CAACtE,CAAC,GAAGwE,iBAAiB,CAAClG,MAAM,IAC1CiG,WAAW,CAACjG,MAAM,GAAG,GAAG;IAC1B;IACA;IACA;IACA;IACA;IACA,MAAMqG,IAAI,GAAGJ,WAAW,CAACjG,MAAM,GAAGL,oBAAoB,CAACa,OAAO;IAC9Db,oBAAoB,CAACa,OAAO,GAAGyF,WAAW,CAACjG,MAAM;IACjD;IACA;IACA;IACA;IACA,MAAMsG,eAAe,GACnBL,WAAW,CAACjG,MAAM,GAAGgG,aAAa,CAACtE,CAAC,GAAGwE,iBAAiB,CAAClG,MAAM;IACjE,IACEqG,IAAI,IACJC,eAAe,GAAG,CAAC,IACnBC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG9G,mBAAmB,CAACc,OAAO,EACxC;MACArD,kBAAkB,CAAC;QAAEsJ,QAAQ,EAAE,IAAI;QAAEC,aAAa,EAAE;MAAM,CAAC,CAAC;IAC9D;;IAEA;IACA,IAAItH,iBAAiB,CAACoB,OAAO,EAAE;MAC7BmG,YAAY,CAACvH,iBAAiB,CAACoB,OAAO,CAAC;IACzC;IAEApB,iBAAiB,CAACoB,OAAO,GAAGoG,UAAU,CAAC,MAAM;MAC3C,IAAIzH,aAAa,CAACqB,OAAO,KAAK4F,UAAU,EAAE;QACxCjH,aAAa,CAACqB,OAAO,GAAG4F,UAAU;QAClClH,aAAa,CAACa,KAAK,GAAGvH,UAAU,CAC9B4N,UAAU,GAAG,CAAC,GAAG,CAAC,EAClB9K,kBACF,CAAC;MACH;MACA,IAAI8K,UAAU,EAAE;QACd/L,cAAc,CAACwM,sBAAsB,CAACxK,cAAc,IAAI,EAAE,CAAC;MAC7D;IACF,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EACD,CAAC6C,aAAa,EAAE7C,cAAc,EAAEc,kBAAkB,CACpD,CAAC;EAED,MAAM2J,oBAAoB,GAAGlP,WAAW,CAAC,MAAM;IAC7C,IAAI+E,UAAU,EAAE;MACdJ,aAAa,GAAG,KAAK,CAAC;MACtB;IACF;IACA;IACA;IACA;IACA;IACA,IAAI4C,aAAa,CAACqB,OAAO,EAAE;IAC3BrD,kBAAkB,CAAC;MAAEsJ,QAAQ,EAAE,IAAI;MAAEC,aAAa,EAAE;IAAM,CAAC,CAAC;IAC5DxH,aAAa,CAACa,KAAK,GAAGvH,UAAU,CAAC,CAAC,EAAE8C,kBAAkB,CAAC;IACvD6D,aAAa,CAACqB,OAAO,GAAG,IAAI;IAC5BG,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,CAAChE,UAAU,EAAEJ,aAAa,EAAEY,kBAAkB,EAAE+B,aAAa,CAAC,CAAC;;EAElE;EACA;EACA;EACA,MAAM6H,qBAAqB,GAAGlP,OAAO,CACnC,MAAM,CACJuK,MAAM,CAAC4E,OAAO,EACd;IAAEC,aAAa,EAAEtL,wBAAwB,GAAG4D;EAAc,CAAC;EAC3D;EACA;EACA/B,mBAAmB,IAAI4E,MAAM,CAAC8E,kBAAkB,CACjD,EACD,CAAC3H,aAAa,EAAE/B,mBAAmB,CACrC,CAAC;EAED,MAAM2J,mBAAmB,GAAG5O,gBAAgB,CAAC,OAAO;IAClD6O,OAAO,EAAElI,aAAa,CAACa,KAAK;IAC5BsH,aAAa,EAAEnI,aAAa,CAACa,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG;EACtD,CAAC,CAAC,CAAC;;EAEH;EACAjI,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAIsH,iBAAiB,CAACoB,OAAO,EAAE;QAC7BmG,YAAY,CAACvH,iBAAiB,CAACoB,OAAO,CAAC;MACzC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA;EACA;EACA1I,SAAS,CAAC,MAAM;IACd,IAAIwP,aAAwD;IAC5D,IAAIC,YAAgC;IACpC,MAAMC,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAIF,aAAa,EAAE;QACjBX,YAAY,CAACW,aAAa,CAAC;QAC3BA,aAAa,GAAGjI,SAAS;MAC3B;MACA,IAAIkI,YAAY,KAAKlI,SAAS,EAAE;QAC9BoI,oBAAoB,CAACF,YAAY,CAAC;QAClCA,YAAY,GAAGlI,SAAS;MAC1B;MACAI,sBAAsB,CAACe,OAAO,GAAG,KAAK;IACxC,CAAC;;IAED;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkH,cAAc,GAAGA,CAACC,EAAU,EAAEpM,QAAgB,KAAK;MACvD,MAAMqM,SAAS,GAAGrB,IAAI,CAACC,GAAG,CAAC,CAAC;MAC5B,MAAMqB,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1BD,IAAI,CAACE,GAAG,CAACpI,kBAAkB,CAACG,KAAK,CAAC,GAAG3C,cAAc,EACnD,CACF,CAAC;MACD,IAAI6K,UAAU,GAAG,CAAC;MAClBxI,sBAAsB,CAACe,OAAO,GAAG,IAAI;MACrC,MAAM0H,IAAI,GAAGA,CAAA,KAAM;QACjB,MAAMC,IAAI,GAAGL,IAAI,CAACC,GAAG,CACnBD,IAAI,CAACE,GAAG,CAACpI,kBAAkB,CAACG,KAAK,CAAC,GAAG3C,cAAc,EACnD,CACF,CAAC;QACD;QACA;QACA;QACA;QACA,MAAMgL,OAAO,GAAGN,IAAI,CAACE,GAAG,CAACG,IAAI,GAAGR,EAAE,CAAC,IAAI,CAAC;QACxC,MAAMU,QAAQ,GACZ,CAACD,OAAO,IAAI7B,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGoB,SAAS,IAAIrM,QAAQ,GAAGK,kBAAkB;QACrE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAM0M,KAAK,GAAGR,IAAI,CAACE,GAAG,CAACG,IAAI,GAAGN,WAAW,CAAC,GAAG,CAAC;QAC9C,IAAIO,OAAO,EAAE;UACXH,UAAU,IAAI,CAAC;QACjB;QACA,MAAMM,IAAI,GAAGF,QAAQ,IAAIJ,UAAU,IAAInM,kBAAkB;QACzD,MAAM0M,QAAQ,GAAGJ,OAAO,IAAKC,QAAQ,IAAIC,KAAM,GAAGX,EAAE,GAAGQ,IAAI;QAE3D3I,gBAAgB,CAACgJ,QAAQ,CAAC;QAC1B,IAAIA,QAAQ,KAAKb,EAAE,EAAE;UACnB;UACA;UACArI,gBAAgB,CAACkB,OAAO,GAAGgI,QAAQ;QACrC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACAvL,OAAO,CAACuD,OAAO,EAAEiI,WAAW,CAAC;UAAEhC,QAAQ,EAAE;QAAM,CAAC,CAAC;QAEjD,IAAI8B,IAAI,EAAE;UACRhB,YAAY,GAAGlI,SAAS;UACxB;UACA;UACA;UACAF,aAAa,CAACqB,OAAO,GAAG,IAAI;UAC5BtB,aAAa,CAACa,KAAK,GAAGvH,UAAU,CAAC,CAAC,EAAE8C,kBAAkB,CAAC;UACvDqF,YAAY,CAAC,KAAK,CAAC;UACnB2G,aAAa,GAAGV,UAAU,CAAC,MAAM;YAC/BU,aAAa,GAAGjI,SAAS;YACzBI,sBAAsB,CAACe,OAAO,GAAG,KAAK;UACxC,CAAC,EAAE3E,gBAAgB,CAAC;UACpB;QACF;QACA0L,YAAY,GAAGmB,qBAAqB,CAACR,IAAI,CAAC;MAC5C,CAAC;MACDX,YAAY,GAAGmB,qBAAqB,CAACR,IAAI,CAAC;IAC5C,CAAC;IAED,MAAMS,UAAU,GAAGA,CAACC,SAAiB,EAAErN,QAAgB,KAAK;MAC1D;MACA;MACA;MACA,IAAI+D,gBAAgB,CAACkB,OAAO,KAAKoI,SAAS,EAAE;MAC5CtJ,gBAAgB,CAACkB,OAAO,GAAGoI,SAAS;;MAEpC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,CAACzJ,aAAa,CAACqB,OAAO,EAAE;QAC1BhB,gBAAgB,CAACoJ,SAAS,CAAC;QAC3B;MACF;MACAlB,cAAc,CAACkB,SAAS,EAAErN,QAAQ,CAAC;IACrC,CAAC;IAED,MAAMsN,QAAQ,GAAGlQ,cAAc,CAACmQ,WAAW,CAAC,kBAAkB,EAAGhJ,CAAC,IAAK;MACrE0H,YAAY,CAAC,CAAC;MACdmB,UAAU,CAACb,IAAI,CAACC,GAAG,CAACjI,CAAC,CAACE,MAAM,GAAG5C,cAAc,EAAE,CAAC,CAAC,EAAE0C,CAAC,CAACvE,QAAQ,CAAC;IAChE,CAAC,CAAC;IACF,MAAMwN,QAAQ,GAAGpQ,cAAc,CAACmQ,WAAW,CAAC,kBAAkB,EAAGhJ,CAAC,IAAK;MACrE0H,YAAY,CAAC,CAAC;MACdmB,UAAU,CAAC,CAAC,EAAE7I,CAAC,CAACvE,QAAQ,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,MAAM;MACXiM,YAAY,CAAC,CAAC;MACdqB,QAAQ,CAACG,MAAM,CAAC,CAAC;MACjBD,QAAQ,CAACC,MAAM,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAAC9J,aAAa,EAAE9B,cAAc,EAAEH,OAAO,EAAE2C,kBAAkB,CAAC,CAAC;;EAEhE;EACA;EACA;EACA;EACA;EACA9H,SAAS,CAAC,MAAM;IACdsI,kBAAkB,CAACI,OAAO,GAAG,KAAK;IAClCH,6BAA6B,CAACG,OAAO,GAAG,KAAK;IAC7CF,wBAAwB,CAACE,OAAO,GAAG,IAAI;EACzC,CAAC,EAAE,CAACnE,cAAc,CAAC,CAAC;;EAEpB;EACA;EACA;EACA;EACAvE,SAAS,CAAC,MAAM;IACd,MAAMmR,qBAAqB,GAAG3I,wBAAwB,CAACE,OAAO;IAC9DF,wBAAwB,CAACE,OAAO,GAAG9B,aAAa;;IAEhD;IACA;IACA;IACA,MAAMwK,UAAU,GACdD,qBAAqB,KAAK,IAAI,IAC9B,CAAC,CAACvK,aAAa,IACf,CAAC6B,iBAAiB,CAACC,OAAO,IAC1BrB,aAAa,CAACqB,OAAO;IAEvB,IAAI,CAAC0I,UAAU,EAAE;IAEjBxJ,mBAAmB,CAACc,OAAO,GAAG+F,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGzK,qBAAqB;IAChEoB,kBAAkB,CAAC;MAAEsJ,QAAQ,EAAE,IAAI;MAAEC,aAAa,EAAE;IAAM,CAAC,CAAC;EAC9D,CAAC,EAAE,CAAChI,aAAa,EAAEvB,kBAAkB,CAAC,CAAC;EAEvC,MAAMgM,cAAc,GAAGvR,WAAW,CAAC,MAAM;IACvC,IAAIyI,6BAA6B,CAACG,OAAO,EAAE;IAC3CH,6BAA6B,CAACG,OAAO,GAAG,IAAI;IAC5C3F,QAAQ,CAAC,qBAAqB,CAAC;IAE/BsC,kBAAkB,CAAC;MAAEsJ,QAAQ,EAAE,KAAK;MAAEC,aAAa,EAAE;IAAM,CAAC,CAAC;EAC/D,CAAC,EAAE,CAACvJ,kBAAkB,CAAC,CAAC;EAExBrF,SAAS,CAAC,MAAM;IACd,MAAMsR,kBAAkB,GAAGlR,kBAAkB,CAAC4Q,WAAW,CACvDhP,SAAS,CAACuP,cAAc,EACxBvC,oBACF,CAAC;IAED,MAAMwC,YAAY,GAAGpR,kBAAkB,CAAC4Q,WAAW,CACjDhP,SAAS,CAACyP,eAAe,EACzB,CAAC;MAAEC;IAAwC,CAAC,KAAK;MAC/C,MAAM/G,KAAK,GAAGhC,WAAW,CAACD,OAAO,CAACiJ,SAAS,CACxCC,CAAC,IAAKA,CAAC,CAAC7K,WAAW,KAAK2K,eAC3B,CAAC;MAED,IAAI/G,KAAK,IAAI,CAAC,EAAE;QACd,IAAI;UACFxF,OAAO,CAACuD,OAAO,EACXmJ,aAAa,CAAC;YACdlH,KAAK;YACLgE,QAAQ,EAAE,IAAI;YACdmD,YAAY,EAAE;UAChB,CAAC,CAAC,CACDC,OAAO,CAAC,MAAM;YACb,IAAI/I,iBAAiB,CAACN,OAAO,EAC3BmG,YAAY,CAAC7F,iBAAiB,CAACN,OAAO,CAAC;YACzCK,gBAAgB,CAAC2I,eAAe,CAAC;YACjC1I,iBAAiB,CAACN,OAAO,GAAGoG,UAAU,CACpC,MAAM/F,gBAAgB,CAAC,IAAI,CAAC,EAC5B,IACF,CAAC;UACH,CAAC,CAAC;QACN,CAAC,CAAC,MAAM;UACN;UACAK,cAAc,CAAC;YACbD,eAAe;YACf5E,cAAc;YACdyN,gBAAgB,EAAEN;UACpB,CAAC,CAAC;QACJ;QACA;MACF;MAEAtI,cAAc,CAAC;QACbD,eAAe;QACf5E,cAAc;QACdyN,gBAAgB,EAAEN;MACpB,CAAC,CAAC;IACJ,CACF,CAAC;IAED,OAAO,MAAM;MACXJ,kBAAkB,CAACJ,MAAM,CAAC,CAAC;MAC3BM,YAAY,CAACN,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CACD/H,eAAe,EACfC,cAAc,EACd7E,cAAc,EACdyK,oBAAoB,EACpB7J,OAAO,CACR,CAAC;EAEF,IAAII,SAAS,EAAE;IACb,oBACEtC,IAAA,CAAClC,UAAU,CAACqJ,IAAI;MAAC6H,IAAI;MAACC,MAAM;MAACC,UAAU,EAAEnR,OAAO,CAACoR,KAAM;MAAA5H,QAAA,eACrDvH,IAAA,CAAC9C,iBAAiB;QAACkS,KAAK,EAAErR,OAAO,CAACsR,OAAO,CAACC,MAAO;QAACC,IAAI,EAAC;MAAO,CAAE;IAAC,CAClD,CAAC;EAEtB;EAEA,oBACEnP,KAAA,CAACtC,UAAU,CAACqJ,IAAI;IAAC6H,IAAI;IAACE,UAAU,EAAEnR,OAAO,CAACoR,KAAM;IAAC/H,KAAK,EAAEC,MAAM,CAACmI,SAAU;IAAAjI,QAAA,GACtEL,kCAAkC,CAAC,CAAC,eACrClH,IAAA,CAAClC,UAAU,CAACqJ,IAAI;MAAC6H,IAAI;MAAA,GAAKxM,qBAAqB;MAAA+E,QAAA,eAC7CvH,IAAA,CAACrC,uBAAuB;QACtB8K,GAAG,EAAEvG,OAAQ;QACb2H,IAAI,EAAExI,QAAS;QACfmG,UAAU,EAAEA;QACZ;QACA;QACA;QAAA;QACAiI,iBAAiB,EAAE,EAAG;QACtB3F,WAAW,EAAEA,WAAY;QACzBG,gBAAgB,EAAEA,gBAAiB;QACnCyF,YAAY,EAAGjI,IAAI,IACjBkI,MAAM,CAAClI,IAAI,CAAC3D,WAAW,IAAI2D,IAAI,CAAC1D,WAAW,CAC5C;QACD6L,YAAY;QACZC,SAAS,EAAErF,aAAc;QACzBsF,eAAe;QACfC,YAAY,EAAE;UACZC,GAAG,EAAE;QACP,CAAE;QACFC,mBAAmB;QACnBC,8BAA8B,EAAEtG;QAChC;QACA;QACA;QAAA;QACAuG,YAAY,EAAE,GAAI;QAClBhO,MAAM,EAAEA,MAAO;QACfE,cAAc,EAAEpB;QAChB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QAAA;QACAmP,gCAAgC,EAAE;QAClC;QACA;QACA;QAAA;QACAC,oBAAoB,EAAC;QACrB;QACA;QACA;QACA;QAAA;QACAC,yBAAyB,EAAC,SAAS;QACnCC,mBAAmB,EAAE,EAAG;QACxBC,QAAQ,EAAExF,YAAa;QACvByF,iBAAiB,EAAE1F,qBAAsB;QACzC2F,MAAM,EAAEtC,cAAe;QACvBpC,qBAAqB,EAAEA,qBAAsB;QAC7C2E,qBAAqB,EAAE;UAAEC,KAAK,EAAE;QAAE,CAAE;QACpCC,mBAAmB,eACjB7Q,IAAA,CAACxB,qBAAqB;UAAC8D,SAAS,EAAEb;QAAe,CAAE,CACpD;QACDqP,cAAc,EAAEnG;QAChB;QACA;QACA;QACA;QACA;QACA;QAAA;QACAoG,uBAAuB,EAAE,GAAI;QAC7BC,YAAY,EAAEnG,gBAAiB;QAC/BoG,qBAAqB,EAAE,GAAI;QAC3BC,kBAAkB;MAAA,CACnB;IAAC,CACa,CAAC,eAClBlR,IAAA,CAAC1C,QAAQ,CAAC6J,IAAI;MACZC,KAAK,EAAE,CAACC,MAAM,CAAC8J,oBAAoB,EAAE/E,mBAAmB,CAAE;MAAA7E,QAAA,eAE1DnH,KAAA,CAACtC,UAAU,CAACsT,SAAS;QACnBlI,OAAO,EAAE6C,oBAAqB;QAC9BsF,aAAa,EAAE,GAAI;QACnBjK,KAAK,EAAEC,MAAM,CAACiK,WAAY;QAC1BC,UAAU;QACVC,kBAAkB,EAAC,2BAA2B;QAC9CC,iBAAiB,EAAC,QAAQ;QAAAlK,QAAA,gBAE1BvH,IAAA,CAAC7B,MAAM,CAACuT,WAAW;UACjBC,IAAI,EAAC,cAAc;UACnBpC,IAAI,EAAE,EAAG;UACTH,KAAK,EAAErR,OAAO,CAAC6T;QAAM,CACtB,CAAC,EACDjM,SAAS,iBAAI3F,IAAA,CAAClC,UAAU,CAACqJ,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACwK;QAAM,CAAE,CAAC;MAAA,CAClC;IAAC,CACV,CAAC,eAChB7R,IAAA,CAACN,mBAAmB,IAAE,CAAC;EAAA,CACR,CAAC;AAEtB,CACF,CAAC;AAED0B,cAAc,CAAC0Q,WAAW,GAAG,gBAAgB;AAE7C,MAAMzK,MAAM,GAAGjK,UAAU,CAAC2U,MAAM,CAAC;EAC/BvC,SAAS,EAAE;IACTrO,QAAQ,EAAE;EACZ,CAAC;EACDgL,kBAAkB,EAAE;IAClBG,aAAa,EAAE;EACjB,CAAC;EACDhF,MAAM,EAAE;IACNnG,QAAQ,EAAE,UAAU;IACpB6O,GAAG,EAAE,CAAC;IACNgC,IAAI,EAAE,CAAC;IACPpB,KAAK,EAAE,CAAC;IACRqB,MAAM,EAAE;EACV,CAAC;EACDhG,OAAO,EAAE;IACPiG,eAAe,EAAEtR,wBAAwB;IACzCuR,QAAQ,EAAE;EACZ,CAAC;EACDhB,oBAAoB,EAAE;IACpBhQ,QAAQ,EAAE,UAAU;IACpBiR,MAAM,EAAE,EAAE;IACVxB,KAAK,EAAE,EAAE;IACTqB,MAAM,EAAE;EACV,CAAC;EACDX,WAAW,EAAE;IACXnQ,QAAQ,EAAE,UAAU;IACpB6B,KAAK,EAAE,EAAE;IACTiC,MAAM,EAAE,EAAE;IACVoN,YAAY,EAAEnU,YAAY,CAACoU,KAAK;IAChCC,eAAe,EAAExU,OAAO,CAACoR,KAAK;IAC9BqD,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE3U,OAAO,CAAC6T,KAAK;IAC1Be,YAAY,EAAE;MAAE3P,KAAK,EAAE,CAAC;MAAEiC,MAAM,EAAE;IAAE,CAAC;IACrC2N,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDrJ,QAAQ,EAAE;IACRsJ,OAAO,EAAE,EAAE;IACXP,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDZ,KAAK,EAAE;IACL1Q,QAAQ,EAAE,UAAU;IACpB6O,GAAG,EAAE,CAAC,CAAC;IACPY,KAAK,EAAE,CAAC,CAAC;IACT5N,KAAK,EAAE,EAAE;IACTiC,MAAM,EAAE,EAAE;IACVoN,YAAY,EAAE,CAAC;IACfE,eAAe,EAAExU,OAAO,CAACiV,OAAO,CAAC3D,OAAO,CAAC4D,IAAI;IAC7CC,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","KeyboardEvents","useGenericKeyboardHandler","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","getMessageRenderId","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","PeerType","useUserStore","resolveImageDisplayDims","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","ChatTypingIndicator","useGuardedPress","useDismissKeyboardFirst","useTimelinePressGuard","perfMark","useMarkConversationRead","createUnreadMarkReadGate","useUnreadIndicatorInList","LegendChatUnreadDivider","LegendChatUnreadButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","JUMP_IN_FLIGHT_TIMEOUT_MS","ROW_MARGIN_CLUSTER_END","ROW_MARGIN_IN_CLUSTER","BUTTON_FADE_CONFIG","duration","easing","out","ease","CONTENT_PADDING_VERTICAL","FOLLOW_FALLBACK_MS","FOLLOW_SETTLE_MS","FOLLOW_TAIL_FRAMES","NEW_MESSAGE_ANCHOR_MS","DISABLE_NATIVE_KEYBOARD_INSET","getRowMarginBottom","position","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","hasMoreNew","onMediaPress","onMediaPressProp","onPressUrl","onPressUrlProp","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","renderConversationViewHeader","dismissAreaTouchProps","isComposerPanelOpen","onDismissAreaScrollBeginDrag","unreadToken","unreadTokenRef","deeplinkTargetId","currentUserId","s","user","userID","windowWidth","width","isBotConversation","conversationFlow","conversation","isGroupConversation","peerType","Group","messageDataMap","shouldSwallowPress","retryMessage","retryMessageRaw","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","keyboardInsetRef","keyboardInset","setKeyboardInset","isFollowingKeyboardRef","anchorToEndUntilRef","lastContentHeightRef","liveKeyboardHeight","onMove","e","value","height","onEnd","rowRefsMap","Map","hasUserScrolledRef","hasCorrectedInitialPaddingRef","previousLastMessageIdRef","moreOldLoadingRef","current","messagesRef","showBadge","setShowBadge","highlightedId","setHighlightedId","highlightTimerRef","revealedMessageId","setRevealedMessageId","applicationType","searchMessages","listLoadedRef","jumpInFlightRef","scrollEventSeqRef","jumpInFlightTimerRef","setJumpInFlight","inFlight","clearTimeout","setTimeout","markReadGate","requestMarkRead","flushMarkRead","gate","unreadAnchorRowId","isPillVisible","viewabilityConfig","handleViewableItemsChanged","checkAnchorSeen","markPositionSettled","jumpToFirstUnread","onPressUnreadPill","handleMessageLongPress","messageId","message","node","get","measureInWindow","x","y","groupPosition","onRunFlow","payload","onResetFlow","handleMessagePress","prev","handleRenderConversationViewHeader","View","style","styles","header","children","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","messageData","dayStart","timeBreak","createdAt","showSenderGutter","showName","showAvatar","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","isUnreadAnchor","ref","set","delete","messageRowRight","messageRowLeft","marginBottom","collapsable","createdAtTime","onRetry","onPress","isHighlighted","isTimeRevealed","nodeData","error","__DEV__","console","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","rowMargin","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","listExtraData","flowStepId","id","handleStartReached","getState","handleEndReached","moreNewLoading","handleScrollBeginDrag","handleScroll","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","grew","distanceFromEnd","Date","now","animated","closeKeyboard","wasAtBottom","handleScrollToBottom","contentContainerStyle","content","paddingBottom","contentNotHittable","animatedButtonStyle","opacity","pointerEvents","pendingSettle","pendingFrame","clearPending","cancelAnimationFrame","followKeyboard","to","startedAt","startedFrom","Math","max","abs","tailFrames","step","live","reached","timedOut","moved","done","settleTo","scrollToEnd","requestAnimationFrame","applyInset","nextInset","willShow","addListener","willHide","remove","prevLoadingRef","wasLoading","previousLastMessageId","shouldFire","prevUnreadRowIdRef","handleListLoad","finally","bottomSubscription","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","highlight","viewPosition","viewOffset","exitOnUnavailable","reemitAfterSearch","fromSearch","search","seq","startClientMsgId","scrollOptions","findIndex","m","scrollToTarget","scrollToIndex","Promise","resolve","then","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","alignItemsAtEnd","alwaysRender","top","maintainScrollAtEnd","maintainVisibleContentPosition","drawDistance","automaticallyAdjustContentInsets","keyboardLiftBehavior","keyboardShouldPersistTaps","scrollEventThrottle","onScroll","onScrollBeginDrag","onLoad","onViewableItemsChanged","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","initialScrollAtEnd","visible","scrollToBottomButton","Touchable","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","left","zIndex","paddingVertical","flexGrow","bottom","borderRadius","round","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { FIRST_UNREAD_TIMEOUT_MS } from "../../../services/message.js";
4
+ import { useUnreadIndicatorStore } from "../../../store/unreadIndicator.js";
5
+ import { getUnreadGateDeadline, isUnreadGateClosed } from "../../../utils/unreadIndicatorState.js";
6
+ /**
7
+ * Holds mark-read back until this screen's first-unread lookup has answered,
8
+ * so the thread is never marked read before the anchor is captured. Scoped to
9
+ * the token in `tokenRef`: another screen's session never opens or closes it.
10
+ */
11
+ export const createUnreadMarkReadGate = tokenRef => ({
12
+ isClosed: () => isUnreadGateClosed(useUnreadIndicatorStore.getState(), tokenRef.current, Date.now(), FIRST_UNREAD_TIMEOUT_MS),
13
+ openDeadline: () => {
14
+ const s = useUnreadIndicatorStore.getState();
15
+ if (tokenRef.current == null || s.token !== tokenRef.current) return null;
16
+ return s.pending ? getUnreadGateDeadline(s, FIRST_UNREAD_TIMEOUT_MS) : null;
17
+ },
18
+ subscribe: ({
19
+ onOpen,
20
+ onClear
21
+ }) => useUnreadIndicatorStore.subscribe((next, prev) => {
22
+ if (tokenRef.current == null || next.token !== tokenRef.current) return;
23
+ // A session that just began (token change) is not an open.
24
+ if (prev.token !== next.token) return;
25
+ // `clear` is never a catch-up: it only runs the 'leave' flush.
26
+ if (prev.pending && !next.pending && next.settledBy === 'resolve') {
27
+ onOpen();
28
+ }
29
+ if (prev.settledBy !== 'clear' && next.settledBy === 'clear') onClear();
30
+ })
31
+ });
32
+ //# sourceMappingURL=createUnreadMarkReadGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FIRST_UNREAD_TIMEOUT_MS","useUnreadIndicatorStore","getUnreadGateDeadline","isUnreadGateClosed","createUnreadMarkReadGate","tokenRef","isClosed","getState","current","Date","now","openDeadline","s","token","pending","subscribe","onOpen","onClear","next","prev","settledBy"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/createUnreadMarkReadGate.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,uBAAuB,QAAQ,mCAAgC;AACxE,SACEC,qBAAqB,EACrBC,kBAAkB,QACb,wCAAqC;AAG5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GACnCC,QAAkC,KAChB;EAClBC,QAAQ,EAAEA,CAAA,KACRH,kBAAkB,CAChBF,uBAAuB,CAACM,QAAQ,CAAC,CAAC,EAClCF,QAAQ,CAACG,OAAO,EAChBC,IAAI,CAACC,GAAG,CAAC,CAAC,EACVV,uBACF,CAAC;EACHW,YAAY,EAAEA,CAAA,KAAM;IAClB,MAAMC,CAAC,GAAGX,uBAAuB,CAACM,QAAQ,CAAC,CAAC;IAC5C,IAAIF,QAAQ,CAACG,OAAO,IAAI,IAAI,IAAII,CAAC,CAACC,KAAK,KAAKR,QAAQ,CAACG,OAAO,EAAE,OAAO,IAAI;IACzE,OAAOI,CAAC,CAACE,OAAO,GAAGZ,qBAAqB,CAACU,CAAC,EAAEZ,uBAAuB,CAAC,GAAG,IAAI;EAC7E,CAAC;EACDe,SAAS,EAAEA,CAAC;IAAEC,MAAM;IAAEC;EAAQ,CAAC,KAC7BhB,uBAAuB,CAACc,SAAS,CAAC,CAACG,IAAI,EAAEC,IAAI,KAAK;IAChD,IAAId,QAAQ,CAACG,OAAO,IAAI,IAAI,IAAIU,IAAI,CAACL,KAAK,KAAKR,QAAQ,CAACG,OAAO,EAAE;IACjE;IACA,IAAIW,IAAI,CAACN,KAAK,KAAKK,IAAI,CAACL,KAAK,EAAE;IAC/B;IACA,IAAIM,IAAI,CAACL,OAAO,IAAI,CAACI,IAAI,CAACJ,OAAO,IAAII,IAAI,CAACE,SAAS,KAAK,SAAS,EAAE;MACjEJ,MAAM,CAAC,CAAC;IACV;IACA,IAAIG,IAAI,CAACC,SAAS,KAAK,OAAO,IAAIF,IAAI,CAACE,SAAS,KAAK,OAAO,EAAEH,OAAO,CAAC,CAAC;EACzE,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useRef } from 'react';
4
+ import { AppState } from 'react-native';
5
+ import { useNavigation } from '@react-navigation/native';
6
+ import { ChatMessageAPI } from "../../../services/message.js";
7
+ import { perfMark } from "../../../utils/perf-marker.js";
8
+ import { isListLoadReason, nextMarkReadDelay, shouldRequestMarkRead } from "../../../utils/markReadPolicy.js";
9
+
10
+ /**
11
+ * Something mark-read has to wait for. Optional, so the edge-triggered
12
+ * mark-read works on its own (gate open) without the unread indicator.
13
+ */
14
+
15
+ /**
16
+ * Edge-triggered, throttled mark-read. A trigger marks the conversation dirty
17
+ * and tries to flush; the flush only calls the SDK when `shouldRequestMarkRead`
18
+ * allows it, at most once per `MARK_READ_THROTTLE_MS` (trailing). The dirty
19
+ * flag is cleared only by a successful call, so a suppressed or failed one is
20
+ * retried by the next trigger. Everything is read through refs, so the
21
+ * returned callbacks are stable.
22
+ *
23
+ * Deeplink entry: the first list load of each deeplink target never marks the
24
+ * thread dirty — the list rests at the window end only until the jump runs.
25
+ */
26
+ export const useMarkConversationRead = ({
27
+ conversationId,
28
+ isAtBottomRef,
29
+ listLoadedRef,
30
+ hasMoreNew,
31
+ deeplinkTargetId,
32
+ gate
33
+ }) => {
34
+ const navigation = useNavigation();
35
+ const dirtyRef = useRef(false);
36
+ const dirtyWhileFocusedRef = useRef(false);
37
+ const lastCallAtRef = useRef(0);
38
+ const timerRef = useRef(undefined);
39
+ const timerDueRef = useRef(0);
40
+ // The next list load is a deeplink's first (pending the jump).
41
+ const deeplinkLoadHeldRef = useRef(!!deeplinkTargetId);
42
+ const latest = useRef({
43
+ conversationId,
44
+ hasMoreNew,
45
+ gate
46
+ });
47
+ latest.current = {
48
+ conversationId,
49
+ hasMoreNew,
50
+ gate
51
+ };
52
+ const tryFlushRef = useRef(() => {});
53
+ const clearTimer = () => {
54
+ clearTimeout(timerRef.current);
55
+ timerRef.current = undefined;
56
+ };
57
+
58
+ // Single timer: a sooner deadline replaces a later one; the timer
59
+ // re-evaluates everything when it fires.
60
+ const schedule = (delay, reason) => {
61
+ const due = Date.now() + delay;
62
+ if (timerRef.current && timerDueRef.current <= due) return;
63
+ clearTimer();
64
+ timerDueRef.current = due;
65
+ timerRef.current = setTimeout(() => {
66
+ timerRef.current = undefined;
67
+ tryFlushRef.current(reason);
68
+ }, delay);
69
+ };
70
+ const callMarkRead = () => {
71
+ const id = latest.current.conversationId;
72
+ if (!id) return;
73
+ const wasDirtyWhileFocused = dirtyWhileFocusedRef.current;
74
+ lastCallAtRef.current = Date.now();
75
+ dirtyRef.current = false;
76
+ dirtyWhileFocusedRef.current = false;
77
+ // At the SDK call site: 1 marker = 2 SDK requests.
78
+ perfMark('mark_read_call');
79
+ ChatMessageAPI.markConversationAsRead(id).catch(error => {
80
+ dirtyRef.current = true; // retried by the next trigger
81
+ dirtyWhileFocusedRef.current ||= wasDirtyWhileFocused;
82
+ if (__DEV__) console.log('[mark-read] failed', error);
83
+ });
84
+ };
85
+ tryFlushRef.current = reason => {
86
+ if (!dirtyRef.current) return;
87
+ const {
88
+ hasMoreNew: moreNew,
89
+ gate: currentGate
90
+ } = latest.current;
91
+ const gateClosed = !!currentGate?.isClosed();
92
+ const allowed = shouldRequestMarkRead({
93
+ reason,
94
+ gateClosed,
95
+ focused: navigation.isFocused(),
96
+ appActive: AppState.currentState === 'active',
97
+ listLoaded: !!listLoadedRef.current,
98
+ hasMoreNew: moreNew,
99
+ atBottom: !!isAtBottomRef.current,
100
+ isDeeplinkFirstLoad: false,
101
+ // held loads never reach a flush
102
+ dirtyWhileFocused: dirtyWhileFocusedRef.current
103
+ });
104
+ if (!allowed) {
105
+ // Fail-safe: re-check when the gate's watchdog opens it.
106
+ const deadline = gateClosed ? currentGate?.openDeadline() : null;
107
+ if (deadline != null) {
108
+ schedule(Math.max(0, deadline - Date.now()) + 1, 'gate-open');
109
+ }
110
+ return;
111
+ }
112
+ // Bypass the throttle: the component is going away.
113
+ if (reason === 'leave') return callMarkRead();
114
+ const delay = nextMarkReadDelay(Date.now(), lastCallAtRef.current);
115
+ if (delay === 0) return callMarkRead();
116
+ schedule(delay, reason);
117
+ };
118
+
119
+ /** A trigger: something may now be read. */
120
+ const requestMarkRead = useCallback(reason => {
121
+ if (isListLoadReason(reason) && deeplinkLoadHeldRef.current) {
122
+ deeplinkLoadHeldRef.current = false;
123
+ return;
124
+ }
125
+ dirtyRef.current = true;
126
+ if (navigation.isFocused()) dirtyWhileFocusedRef.current = true;
127
+ tryFlushRef.current(reason);
128
+ }, [navigation]);
129
+
130
+ /** Flush-only: retry a pending mark-read without marking anything new. */
131
+ const flushMarkRead = useCallback(reason => {
132
+ tryFlushRef.current(reason);
133
+ }, []);
134
+
135
+ // A new conversation / deeplink target on the same instance starts over.
136
+ useEffect(() => {
137
+ dirtyRef.current = false;
138
+ dirtyWhileFocusedRef.current = false;
139
+ deeplinkLoadHeldRef.current = !!deeplinkTargetId;
140
+ clearTimer();
141
+ }, [conversationId, deeplinkTargetId]);
142
+
143
+ // Back on the screen (after a blur) / back in the app: messages may have
144
+ // arrived meanwhile. The initial focus is not a return.
145
+ useEffect(() => {
146
+ let hasBlurred = false;
147
+ const offBlur = navigation.addListener('blur', () => {
148
+ hasBlurred = true;
149
+ });
150
+ const offFocus = navigation.addListener('focus', () => {
151
+ if (hasBlurred) requestMarkRead('focus');
152
+ });
153
+ return () => {
154
+ offBlur();
155
+ offFocus();
156
+ };
157
+ }, [navigation, requestMarkRead]);
158
+ useEffect(() => {
159
+ const sub = AppState.addEventListener('change', state => {
160
+ if (state === 'active') requestMarkRead('app-active');
161
+ });
162
+ return () => sub.remove();
163
+ }, [requestMarkRead]);
164
+ useEffect(() => {
165
+ if (!gate) return;
166
+ return gate.subscribe({
167
+ onOpen: () => tryFlushRef.current('gate-open'),
168
+ onClear: () => tryFlushRef.current('leave')
169
+ });
170
+ }, [gate]);
171
+ useEffect(() => () => {
172
+ clearTimer();
173
+ tryFlushRef.current('leave');
174
+ }, []);
175
+ return {
176
+ requestMarkRead,
177
+ flushMarkRead
178
+ };
179
+ };
180
+ //# sourceMappingURL=useMarkConversationRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","AppState","useNavigation","ChatMessageAPI","perfMark","isListLoadReason","nextMarkReadDelay","shouldRequestMarkRead","useMarkConversationRead","conversationId","isAtBottomRef","listLoadedRef","hasMoreNew","deeplinkTargetId","gate","navigation","dirtyRef","dirtyWhileFocusedRef","lastCallAtRef","timerRef","undefined","timerDueRef","deeplinkLoadHeldRef","latest","current","tryFlushRef","clearTimer","clearTimeout","schedule","delay","reason","due","Date","now","setTimeout","callMarkRead","id","wasDirtyWhileFocused","markConversationAsRead","catch","error","__DEV__","console","log","moreNew","currentGate","gateClosed","isClosed","allowed","focused","isFocused","appActive","currentState","listLoaded","atBottom","isDeeplinkFirstLoad","dirtyWhileFocused","deadline","openDeadline","Math","max","requestMarkRead","flushMarkRead","hasBlurred","offBlur","addListener","offFocus","sub","addEventListener","state","remove","subscribe","onOpen","onClear"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/useMarkConversationRead.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import { useUnreadIndicatorStore } from "../../../store/unreadIndicator.js";
5
+ import { isRowTopInViewport } from "../../../utils/unreadAnchor.js";
6
+
7
+ // A candidate filter only; `isRowTopInViewport` decides.
8
+ const VIEWABILITY_CONFIG = {
9
+ itemVisiblePercentThreshold: 1
10
+ };
11
+
12
+ /**
13
+ * "The divider has been seen" = the anchor row's TOP edge (where the divider
14
+ * sits) is in the viewport, after initial positioning has settled. Before
15
+ * settle — Old Arch corrects the estimated `initialScrollAtEnd` later — a
16
+ * visible divider only hides the pill (render-time check), it doesn't dismiss
17
+ * it for good.
18
+ */
19
+ export const useUnreadAnchorSeen = ({
20
+ rowId,
21
+ unreadToken,
22
+ isLoading,
23
+ listRef
24
+ }) => {
25
+ const rowIdRef = useRef(rowId);
26
+ rowIdRef.current = rowId;
27
+ const tokenRef = useRef(unreadToken);
28
+ tokenRef.current = unreadToken;
29
+ const viewableKeysRef = useRef(new Set());
30
+ const settledRef = useRef(false);
31
+ const [positionSettled, setPositionSettled] = useState(false);
32
+ const [viewabilityReady, setViewabilityReady] = useState(false);
33
+ const isAnchorTopVisibleNow = useCallback(() => {
34
+ const id = rowIdRef.current;
35
+ if (!id || !viewableKeysRef.current.has(id)) return false;
36
+ const state = listRef.current?.getState?.();
37
+ if (!state) return false;
38
+ const rowTop = state.positionByKey(id);
39
+ return isRowTopInViewport(rowTop, state.scroll, state.scrollLength);
40
+ }, [listRef]);
41
+ const checkAnchorSeen = useCallback(() => {
42
+ if (!settledRef.current || tokenRef.current == null) return;
43
+ if (!isAnchorTopVisibleNow()) return;
44
+ useUnreadIndicatorStore.getState().dismissPill(tokenRef.current);
45
+ }, [isAnchorTopVisibleNow]);
46
+
47
+ // Stable identity: LegendList reads it once.
48
+ const handleViewableItemsChanged = useCallback(({
49
+ viewableItems
50
+ }) => {
51
+ viewableKeysRef.current = new Set(viewableItems.map(t => t.key));
52
+ setViewabilityReady(true);
53
+ checkAnchorSeen();
54
+ }, [checkAnchorSeen]);
55
+
56
+ // handleListLoad's scrollToEnd + 1 frame | first drag | a finished jump.
57
+ const markPositionSettled = useCallback(() => {
58
+ if (!settledRef.current) {
59
+ settledRef.current = true;
60
+ setPositionSettled(true);
61
+ }
62
+ checkAnchorSeen(); // the CURRENT snapshot, not an older one
63
+ }, [checkAnchorSeen]);
64
+
65
+ // Late anchor / a new window.
66
+ useEffect(() => {
67
+ checkAnchorSeen();
68
+ }, [rowId, checkAnchorSeen]);
69
+
70
+ // The list remounts under the spinner: start over.
71
+ useEffect(() => {
72
+ if (!isLoading) return;
73
+ viewableKeysRef.current = new Set();
74
+ settledRef.current = false;
75
+ setPositionSettled(false);
76
+ setViewabilityReady(false);
77
+ }, [isLoading]);
78
+ return {
79
+ positionSettled,
80
+ viewabilityReady,
81
+ viewabilityConfig: VIEWABILITY_CONFIG,
82
+ isAnchorTopVisibleNow,
83
+ checkAnchorSeen,
84
+ handleViewableItemsChanged,
85
+ markPositionSettled
86
+ };
87
+ };
88
+ //# sourceMappingURL=useUnreadAnchorSeen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","useUnreadIndicatorStore","isRowTopInViewport","VIEWABILITY_CONFIG","itemVisiblePercentThreshold","useUnreadAnchorSeen","rowId","unreadToken","isLoading","listRef","rowIdRef","current","tokenRef","viewableKeysRef","Set","settledRef","positionSettled","setPositionSettled","viewabilityReady","setViewabilityReady","isAnchorTopVisibleNow","id","has","state","getState","rowTop","positionByKey","scroll","scrollLength","checkAnchorSeen","dismissPill","handleViewableItemsChanged","viewableItems","map","t","key","markPositionSettled","viewabilityConfig"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/useUnreadAnchorSeen.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { useUnreadIndicatorStore } from "../../../store/unreadIndicator.js";
5
+ import { useMessageStore } from "../../../store/message.js";
6
+ import { isDeeplinkTargetBeforeAnchor } from "../../../utils/unreadAnchor.js";
7
+
8
+ /**
9
+ * D11: a deeplink to a message OLDER than the first unread hides the
10
+ * indicator; a deeplink at/after it (or whose target never shows up) shows it.
11
+ * Decided explicitly once the lookup has answered and the window has loaded,
12
+ * and re-decided — against the existing anchor, with no SDK call — when
13
+ * `targetMessageId` changes on the same screen.
14
+ *
15
+ * Must run above `useMessages` in ChatDetail: the re-arm effect has to land
16
+ * before `useMessages`' `reset()` in the same commit.
17
+ */
18
+ export const useUnreadDeeplinkCheck = ({
19
+ targetMessageId,
20
+ unreadToken,
21
+ tokenRef
22
+ }) => {
23
+ const awaiting = useUnreadIndicatorStore(s => unreadToken != null && s.token === unreadToken && s.awaitingDeeplinkCheck);
24
+ const pending = useUnreadIndicatorStore(s => s.pending);
25
+ const initLoading = useMessageStore(s => s.initLoading);
26
+ const rawMessages = useMessageStore(s => s.messages);
27
+ const prevTargetRef = useRef(targetMessageId);
28
+ // After a re-arm, wait until the new search has been seen loading and then
29
+ // finished, so the rule is never decided against the old window.
30
+ const needLoadCycleRef = useRef(false);
31
+ useEffect(() => {
32
+ const prev = prevTargetRef.current;
33
+ prevTargetRef.current = targetMessageId;
34
+ const token = tokenRef.current;
35
+ if (!targetMessageId || targetMessageId === prev || token == null) return;
36
+ const store = useUnreadIndicatorStore.getState();
37
+ if (store.token !== token || !store.anchor) return;
38
+ store.rearmDeeplinkCheck(token);
39
+ needLoadCycleRef.current = true;
40
+ }, [targetMessageId, tokenRef]);
41
+ useEffect(() => {
42
+ const token = tokenRef.current;
43
+ if (!targetMessageId || !awaiting || pending || token == null) return;
44
+ if (needLoadCycleRef.current) {
45
+ if (initLoading) needLoadCycleRef.current = false;
46
+ return;
47
+ }
48
+ if (initLoading) return;
49
+ const store = useUnreadIndicatorStore.getState();
50
+ if (!store.anchor) {
51
+ store.confirmDeeplinkCheck(token, false);
52
+ return;
53
+ }
54
+ const target = rawMessages.find(m => m.clientMsgID === targetMessageId);
55
+ // A missing target (search failed / not in window) shows normally.
56
+ store.confirmDeeplinkCheck(token, isDeeplinkTargetBeforeAnchor(target?.seq, store.anchor.seq));
57
+ }, [targetMessageId, awaiting, pending, initLoading, rawMessages, tokenRef]);
58
+ };
59
+ //# sourceMappingURL=useUnreadDeeplinkCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useUnreadIndicatorStore","useMessageStore","isDeeplinkTargetBeforeAnchor","useUnreadDeeplinkCheck","targetMessageId","unreadToken","tokenRef","awaiting","s","token","awaitingDeeplinkCheck","pending","initLoading","rawMessages","messages","prevTargetRef","needLoadCycleRef","prev","current","store","getState","anchor","rearmDeeplinkCheck","confirmDeeplinkCheck","target","find","m","clientMsgID","seq"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/hooks/useUnreadDeeplinkCheck.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAwB,OAAO;AACzD,SAASC,uBAAuB,QAAQ,mCAAgC;AACxE,SAASC,eAAe,QAAQ,2BAAwB;AACxD,SAASC,4BAA4B,QAAQ,gCAA6B;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACrCC,eAAe;EACfC,WAAW;EACXC;AAKF,CAAC,KAAK;EACJ,MAAMC,QAAQ,GAAGP,uBAAuB,CACrCQ,CAAC,IACAH,WAAW,IAAI,IAAI,IAAIG,CAAC,CAACC,KAAK,KAAKJ,WAAW,IAAIG,CAAC,CAACE,qBACxD,CAAC;EACD,MAAMC,OAAO,GAAGX,uBAAuB,CAAEQ,CAAC,IAAKA,CAAC,CAACG,OAAO,CAAC;EACzD,MAAMC,WAAW,GAAGX,eAAe,CAAEO,CAAC,IAAKA,CAAC,CAACI,WAAW,CAAC;EACzD,MAAMC,WAAW,GAAGZ,eAAe,CAAEO,CAAC,IAAKA,CAAC,CAACM,QAAQ,CAAC;EACtD,MAAMC,aAAa,GAAGhB,MAAM,CAACK,eAAe,CAAC;EAC7C;EACA;EACA,MAAMY,gBAAgB,GAAGjB,MAAM,CAAC,KAAK,CAAC;EAEtCD,SAAS,CAAC,MAAM;IACd,MAAMmB,IAAI,GAAGF,aAAa,CAACG,OAAO;IAClCH,aAAa,CAACG,OAAO,GAAGd,eAAe;IACvC,MAAMK,KAAK,GAAGH,QAAQ,CAACY,OAAO;IAC9B,IAAI,CAACd,eAAe,IAAIA,eAAe,KAAKa,IAAI,IAAIR,KAAK,IAAI,IAAI,EAAE;IACnE,MAAMU,KAAK,GAAGnB,uBAAuB,CAACoB,QAAQ,CAAC,CAAC;IAChD,IAAID,KAAK,CAACV,KAAK,KAAKA,KAAK,IAAI,CAACU,KAAK,CAACE,MAAM,EAAE;IAC5CF,KAAK,CAACG,kBAAkB,CAACb,KAAK,CAAC;IAC/BO,gBAAgB,CAACE,OAAO,GAAG,IAAI;EACjC,CAAC,EAAE,CAACd,eAAe,EAAEE,QAAQ,CAAC,CAAC;EAE/BR,SAAS,CAAC,MAAM;IACd,MAAMW,KAAK,GAAGH,QAAQ,CAACY,OAAO;IAC9B,IAAI,CAACd,eAAe,IAAI,CAACG,QAAQ,IAAII,OAAO,IAAIF,KAAK,IAAI,IAAI,EAAE;IAC/D,IAAIO,gBAAgB,CAACE,OAAO,EAAE;MAC5B,IAAIN,WAAW,EAAEI,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjD;IACF;IACA,IAAIN,WAAW,EAAE;IACjB,MAAMO,KAAK,GAAGnB,uBAAuB,CAACoB,QAAQ,CAAC,CAAC;IAChD,IAAI,CAACD,KAAK,CAACE,MAAM,EAAE;MACjBF,KAAK,CAACI,oBAAoB,CAACd,KAAK,EAAE,KAAK,CAAC;MACxC;IACF;IACA,MAAMe,MAAM,GAAGX,WAAW,CAACY,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,KAAKvB,eAAe,CAAC;IACzE;IACAe,KAAK,CAACI,oBAAoB,CACxBd,KAAK,EACLP,4BAA4B,CAACsB,MAAM,EAAEI,GAAG,EAAET,KAAK,CAACE,MAAM,CAACO,GAAG,CAC5D,CAAC;EACH,CAAC,EAAE,CAACxB,eAAe,EAAEG,QAAQ,EAAEI,OAAO,EAAEC,WAAW,EAAEC,WAAW,EAAEP,QAAQ,CAAC,CAAC;AAC9E,CAAC","ignoreList":[]}