@8wave/ai-elements 0.82.0 → 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/_chunks/{PkToolShowComparison-D_DtpXRO.js → PkToolShowComparison-CGflZD9j.js} +2 -2
  2. package/dist/_chunks/PkToolShowComparison-CGflZD9j.js.map +1 -0
  3. package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js → PkToolShowProductList-DvSGk45f.js} +2 -2
  4. package/dist/_chunks/{PkToolShowProductList-Ds6ah3dL.js.map → PkToolShowProductList-DvSGk45f.js.map} +1 -1
  5. package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js → PkToolShowWebPages-C2VvN6sE.js} +2 -2
  6. package/dist/_chunks/{PkToolShowWebPages-C1ZXSB00.js.map → PkToolShowWebPages-C2VvN6sE.js.map} +1 -1
  7. package/dist/_chunks/{PkUrl-Dsi-Zezs.js → PkUrl-BVv89CMm.js} +2 -2
  8. package/dist/_chunks/{PkUrl-Dsi-Zezs.js.map → PkUrl-BVv89CMm.js.map} +1 -1
  9. package/dist/_chunks/{VvCheckbox.es-LSjS8_8K.js → VvCheckbox.es-BsF_JJw_.js} +2 -2
  10. package/dist/_chunks/VvCheckbox.es-BsF_JJw_.js.map +1 -0
  11. package/dist/_chunks/{VvCheckboxGroup.es-CR5ZTD2H.js → VvCheckboxGroup.es-Blgwe85A.js} +2 -2
  12. package/dist/_chunks/VvCheckboxGroup.es-Blgwe85A.js.map +1 -0
  13. package/dist/_chunks/{VvCombobox.es-B8E1RmUn.js → VvCombobox.es-BQ31qIIa.js} +2 -2
  14. package/dist/_chunks/VvCombobox.es-BQ31qIIa.js.map +1 -0
  15. package/dist/_chunks/{VvInputText.es-BYAhw1yP.js → VvInputText.es-DtzvbGMQ.js} +2 -2
  16. package/dist/_chunks/VvInputText.es-DtzvbGMQ.js.map +1 -0
  17. package/dist/_chunks/{VvRadio.es-CQj6S-QP.js → VvRadio.es-DJY-UZOw.js} +2 -2
  18. package/dist/_chunks/VvRadio.es-DJY-UZOw.js.map +1 -0
  19. package/dist/_chunks/{VvRadioGroup.es-9AWwbBXm.js → VvRadioGroup.es-2xgX8Gdu.js} +2 -2
  20. package/dist/_chunks/VvRadioGroup.es-2xgX8Gdu.js.map +1 -0
  21. package/dist/_chunks/{VvSelect.es-DAmZPvCV.js → VvSelect.es-D5RIWAgh.js} +2 -2
  22. package/dist/_chunks/VvSelect.es-D5RIWAgh.js.map +1 -0
  23. package/dist/_chunks/{VvTextarea.es-BfgLTEPk.js → VvTextarea.es-C_kKlPCs.js} +2 -2
  24. package/dist/_chunks/VvTextarea.es-C_kKlPCs.js.map +1 -0
  25. package/dist/_chunks/index.es-D6JnX5Jz.js.map +1 -1
  26. package/dist/ai-elements.es.js +5538 -5413
  27. package/dist/ai-elements.es.js.map +1 -1
  28. package/dist-vue/PkChatbot.js +1 -1
  29. package/dist-vue/PkChatbotError.js +1 -1
  30. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  31. package/dist-vue/PkChatbotFilePreview.js +1 -1
  32. package/dist-vue/PkChatbotInput.js +1 -1
  33. package/dist-vue/PkChatbotMessages.js +1 -1
  34. package/dist-vue/PkChatbotViewChat.js +1 -1
  35. package/dist-vue/PkChatbotViewConversations.js +1 -1
  36. package/dist-vue/PkChatbotViewProfile.js +1 -1
  37. package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js +191 -0
  38. package/dist-vue/_chunks/PkChatbot-C1gpRhfP.js.map +1 -0
  39. package/dist-vue/_chunks/{PkChatbotError-C1ZxZlwQ.js → PkChatbotError-BlZ4WNup.js} +2 -2
  40. package/dist-vue/_chunks/PkChatbotError-BlZ4WNup.js.map +1 -0
  41. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js → PkChatbotFeedbackForm-Buzwweuj.js} +2 -2
  42. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BFG5AcGR.js.map → PkChatbotFeedbackForm-Buzwweuj.js.map} +1 -1
  43. package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js → PkChatbotFilePreview-0N9ASbIp.js} +1 -1
  44. package/dist-vue/_chunks/{PkChatbotFilePreview-BPJwRxAC.js.map → PkChatbotFilePreview-0N9ASbIp.js.map} +1 -1
  45. package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js → PkChatbotInput-CsazCkTA.js} +3 -3
  46. package/dist-vue/_chunks/{PkChatbotInput-CEWPF7af.js.map → PkChatbotInput-CsazCkTA.js.map} +1 -1
  47. package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js +472 -0
  48. package/dist-vue/_chunks/PkChatbotMessages-NODnY9a2.js.map +1 -0
  49. package/dist-vue/_chunks/{PkChatbotViewChat-hqsvz_7X.js → PkChatbotViewChat-BROfuqG3.js} +23 -22
  50. package/dist-vue/_chunks/PkChatbotViewChat-BROfuqG3.js.map +1 -0
  51. package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js → PkChatbotViewConversations-B19iyIBD.js} +3 -3
  52. package/dist-vue/_chunks/{PkChatbotViewConversations-GNm8qoqA.js.map → PkChatbotViewConversations-B19iyIBD.js.map} +1 -1
  53. package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js → PkChatbotViewProfile-D2raknfo.js} +2 -2
  54. package/dist-vue/_chunks/{PkChatbotViewProfile-C605zDZy.js.map → PkChatbotViewProfile-D2raknfo.js.map} +1 -1
  55. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js → PkRelativeTime-WZ2aPcp_.js} +1 -1
  56. package/dist-vue/_chunks/{PkRelativeTime-jP41qAJ5.js.map → PkRelativeTime-WZ2aPcp_.js.map} +1 -1
  57. package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js → PkStreamingMarkdown-BUiAi-qv.js} +1 -1
  58. package/dist-vue/_chunks/{PkStreamingMarkdown-DvjHrpmN.js.map → PkStreamingMarkdown-BUiAi-qv.js.map} +1 -1
  59. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js → PkToolRequestOAuthConnection-CCVLUbiX.js} +2 -2
  60. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CsQc0Ju7.js.map → PkToolRequestOAuthConnection-CCVLUbiX.js.map} +1 -1
  61. package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js → PkToolShowArtifact-B13M7nEV.js} +3 -3
  62. package/dist-vue/_chunks/{PkToolShowArtifact-LwE9r0Dz.js.map → PkToolShowArtifact-B13M7nEV.js.map} +1 -1
  63. package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js → PkToolShowCalendarEvent-BuTDY0xa.js} +2 -2
  64. package/dist-vue/_chunks/{PkToolShowCalendarEvent-ze3jGmX5.js.map → PkToolShowCalendarEvent-BuTDY0xa.js.map} +1 -1
  65. package/dist-vue/_chunks/{PkToolShowComparison-CZ3kO6PT.js → PkToolShowComparison-By5K23oe.js} +3 -3
  66. package/dist-vue/_chunks/PkToolShowComparison-By5K23oe.js.map +1 -0
  67. package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js +122 -0
  68. package/dist-vue/_chunks/PkToolShowContactForm-D9mmqNvI.js.map +1 -0
  69. package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js → PkToolShowEmail-DFM6ClX-.js} +2 -2
  70. package/dist-vue/_chunks/{PkToolShowEmail-BfpB-rs5.js.map → PkToolShowEmail-DFM6ClX-.js.map} +1 -1
  71. package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js → PkToolShowImageGallery-By3Evwn4.js} +3 -3
  72. package/dist-vue/_chunks/{PkToolShowImageGallery-D78Uthkj.js.map → PkToolShowImageGallery-By3Evwn4.js.map} +1 -1
  73. package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js → PkToolShowLocation-DW55PIk2.js} +2 -2
  74. package/dist-vue/_chunks/{PkToolShowLocation-CsYef0jY.js.map → PkToolShowLocation-DW55PIk2.js.map} +1 -1
  75. package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js → PkToolShowMessage-BUujtIdB.js} +2 -2
  76. package/dist-vue/_chunks/{PkToolShowMessage-CWpjXtzt.js.map → PkToolShowMessage-BUujtIdB.js.map} +1 -1
  77. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js → PkToolShowMultipleChoice-DoQHEPc0.js} +2 -2
  78. package/dist-vue/_chunks/{PkToolShowMultipleChoice-DF0ub4qZ.js.map → PkToolShowMultipleChoice-DoQHEPc0.js.map} +1 -1
  79. package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js → PkToolShowProductList-C6pMC0td.js} +3 -3
  80. package/dist-vue/_chunks/{PkToolShowProductList-BQWK3I7I.js.map → PkToolShowProductList-C6pMC0td.js.map} +1 -1
  81. package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js → PkToolShowQrCode-DZNSI7WD.js} +2 -2
  82. package/dist-vue/_chunks/{PkToolShowQrCode-fGmIY8_T.js.map → PkToolShowQrCode-DZNSI7WD.js.map} +1 -1
  83. package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js → PkToolShowSources-9avCy0zx.js} +4 -4
  84. package/dist-vue/_chunks/{PkToolShowSources-DjvToy__.js.map → PkToolShowSources-9avCy0zx.js.map} +1 -1
  85. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js → PkToolShowSuggestedReply-BCdanuPg.js} +2 -2
  86. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DtOTPUVf.js.map → PkToolShowSuggestedReply-BCdanuPg.js.map} +1 -1
  87. package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js → PkToolShowWeather-BAHfvDAa.js} +1 -1
  88. package/dist-vue/_chunks/{PkToolShowWeather-a4_T7lIK.js.map → PkToolShowWeather-BAHfvDAa.js.map} +1 -1
  89. package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js → PkToolShowWebPages-CRnjWep6.js} +3 -3
  90. package/dist-vue/_chunks/{PkToolShowWebPages-C-ClBVZm.js.map → PkToolShowWebPages-CRnjWep6.js.map} +1 -1
  91. package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js → PkUrl-Da1k1VEM.js} +1 -1
  92. package/dist-vue/_chunks/{PkUrl-C8L1MG2A.js.map → PkUrl-Da1k1VEM.js.map} +1 -1
  93. package/dist-vue/_chunks/{apl-Q8pZMVVP.js → apl-BAiRVRB9.js} +1 -1
  94. package/dist-vue/_chunks/{apl-Q8pZMVVP.js.map → apl-BAiRVRB9.js.map} +1 -1
  95. package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js → asciiarmor-CDnl80Cc.js} +1 -1
  96. package/dist-vue/_chunks/{asciiarmor-Dgm0UqoJ.js.map → asciiarmor-CDnl80Cc.js.map} +1 -1
  97. package/dist-vue/_chunks/{asn1-D02Lu2iy.js → asn1-f4a3R9bP.js} +1 -1
  98. package/dist-vue/_chunks/{asn1-D02Lu2iy.js.map → asn1-f4a3R9bP.js.map} +1 -1
  99. package/dist-vue/_chunks/{asterisk-CNRpuZz9.js → asterisk-TbfcWk59.js} +1 -1
  100. package/dist-vue/_chunks/{asterisk-CNRpuZz9.js.map → asterisk-TbfcWk59.js.map} +1 -1
  101. package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js → brainfuck-4PV2XjYq.js} +1 -1
  102. package/dist-vue/_chunks/{brainfuck-B2UPzG6P.js.map → brainfuck-4PV2XjYq.js.map} +1 -1
  103. package/dist-vue/_chunks/{clike-D8bd4tzV.js → clike-BwgfIzU-.js} +1 -1
  104. package/dist-vue/_chunks/{clike-D8bd4tzV.js.map → clike-BwgfIzU-.js.map} +1 -1
  105. package/dist-vue/_chunks/{clojure-wIiobTMZ.js → clojure-D3pGxSKq.js} +1 -1
  106. package/dist-vue/_chunks/{clojure-wIiobTMZ.js.map → clojure-D3pGxSKq.js.map} +1 -1
  107. package/dist-vue/_chunks/{cmake-BXv0H94m.js → cmake-BCnKEIrD.js} +1 -1
  108. package/dist-vue/_chunks/{cmake-BXv0H94m.js.map → cmake-BCnKEIrD.js.map} +1 -1
  109. package/dist-vue/_chunks/{cobol-DHS--Q0E.js → cobol-BYaGw1Yw.js} +1 -1
  110. package/dist-vue/_chunks/{cobol-DHS--Q0E.js.map → cobol-BYaGw1Yw.js.map} +1 -1
  111. package/dist-vue/_chunks/{coffeescript-DuPphqba.js → coffeescript-BkiWHrll.js} +1 -1
  112. package/dist-vue/_chunks/{coffeescript-DuPphqba.js.map → coffeescript-BkiWHrll.js.map} +1 -1
  113. package/dist-vue/_chunks/{commonlisp-C978VsBx.js → commonlisp-BmB0kcsA.js} +1 -1
  114. package/dist-vue/_chunks/{commonlisp-C978VsBx.js.map → commonlisp-BmB0kcsA.js.map} +1 -1
  115. package/dist-vue/_chunks/{createChatbotApiClient-tAXyZCUx.js → createChatbotApiClient-Dcrje955.js} +211 -115
  116. package/dist-vue/_chunks/createChatbotApiClient-Dcrje955.js.map +1 -0
  117. package/dist-vue/_chunks/{crystal-BTi9IGqB.js → crystal-j2Uodr6G.js} +1 -1
  118. package/dist-vue/_chunks/{crystal-BTi9IGqB.js.map → crystal-j2Uodr6G.js.map} +1 -1
  119. package/dist-vue/_chunks/{css-Byc0XEOa.js → css-DikOvTi5.js} +1 -1
  120. package/dist-vue/_chunks/{css-Byc0XEOa.js.map → css-DikOvTi5.js.map} +1 -1
  121. package/dist-vue/_chunks/{cypher-DbIDcgjc.js → cypher-CocRBvf0.js} +1 -1
  122. package/dist-vue/_chunks/{cypher-DbIDcgjc.js.map → cypher-CocRBvf0.js.map} +1 -1
  123. package/dist-vue/_chunks/{d-CfpiXU_s.js → d-By563UA3.js} +1 -1
  124. package/dist-vue/_chunks/{d-CfpiXU_s.js.map → d-By563UA3.js.map} +1 -1
  125. package/dist-vue/_chunks/{diff-Chsz7v8H.js → diff-B1bbhSQg.js} +1 -1
  126. package/dist-vue/_chunks/{diff-Chsz7v8H.js.map → diff-B1bbhSQg.js.map} +1 -1
  127. package/dist-vue/_chunks/{dist-BX9gMnDv.js → dist-1VuiSmDe.js} +3 -3
  128. package/dist-vue/_chunks/{dist-BX9gMnDv.js.map → dist-1VuiSmDe.js.map} +1 -1
  129. package/dist-vue/_chunks/{dist--K3HVPFP.js → dist-4zE2m0cC.js} +2 -2
  130. package/dist-vue/_chunks/{dist--K3HVPFP.js.map → dist-4zE2m0cC.js.map} +1 -1
  131. package/dist-vue/_chunks/{dist-DKu5hMyS.js → dist-6CvrlmzR.js} +5 -5
  132. package/dist-vue/_chunks/{dist-DKu5hMyS.js.map → dist-6CvrlmzR.js.map} +1 -1
  133. package/dist-vue/_chunks/{dist-dGGJB751.js → dist-BDIP4oQC.js} +3 -3
  134. package/dist-vue/_chunks/{dist-dGGJB751.js.map → dist-BDIP4oQC.js.map} +1 -1
  135. package/dist-vue/_chunks/{dist-BAhi8JnF.js → dist-BYcMzoKR.js} +2 -2
  136. package/dist-vue/_chunks/{dist-BAhi8JnF.js.map → dist-BYcMzoKR.js.map} +1 -1
  137. package/dist-vue/_chunks/{dist-sJCKYKfx.js → dist-BxM_in4x.js} +3 -3
  138. package/dist-vue/_chunks/{dist-sJCKYKfx.js.map → dist-BxM_in4x.js.map} +1 -1
  139. package/dist-vue/_chunks/{dist-qpPts-lE.js → dist-ByBDQkx9.js} +4 -4
  140. package/dist-vue/_chunks/{dist-qpPts-lE.js.map → dist-ByBDQkx9.js.map} +1 -1
  141. package/dist-vue/_chunks/{dist-C4Q2oVwo.js → dist-CbDm9BNK.js} +2 -2
  142. package/dist-vue/_chunks/{dist-C4Q2oVwo.js.map → dist-CbDm9BNK.js.map} +1 -1
  143. package/dist-vue/_chunks/{dist-Tm13weGi.js → dist-CcI0VoWs.js} +3 -3
  144. package/dist-vue/_chunks/{dist-Tm13weGi.js.map → dist-CcI0VoWs.js.map} +1 -1
  145. package/dist-vue/_chunks/{dist-DyCRk5Sz2.js → dist-CkV64K6q2.js} +3 -3
  146. package/dist-vue/_chunks/{dist-DyCRk5Sz2.js.map → dist-CkV64K6q2.js.map} +1 -1
  147. package/dist-vue/_chunks/{dist-CIN_Avbm.js → dist-D-R9PvqV.js} +1 -1
  148. package/dist-vue/_chunks/{dist-CIN_Avbm.js.map → dist-D-R9PvqV.js.map} +1 -1
  149. package/dist-vue/_chunks/{dist-KnH97L2h2.js → dist-D0U7Raxc2.js} +4 -4
  150. package/dist-vue/_chunks/{dist-KnH97L2h2.js.map → dist-D0U7Raxc2.js.map} +1 -1
  151. package/dist-vue/_chunks/{dist-B0QmqS0N.js → dist-D0Wm5IxH.js} +3 -3
  152. package/dist-vue/_chunks/{dist-B0QmqS0N.js.map → dist-D0Wm5IxH.js.map} +1 -1
  153. package/dist-vue/_chunks/{dist-DFvVVU0-.js → dist-D1-E577I.js} +2 -2
  154. package/dist-vue/_chunks/{dist-DFvVVU0-.js.map → dist-D1-E577I.js.map} +1 -1
  155. package/dist-vue/_chunks/{dist-DBu5ECbV2.js → dist-DC8yN_w12.js} +2 -2
  156. package/dist-vue/_chunks/{dist-DBu5ECbV2.js.map → dist-DC8yN_w12.js.map} +1 -1
  157. package/dist-vue/_chunks/{dist-DfJ0x-DV.js → dist-DIVYK7vr.js} +2 -2
  158. package/dist-vue/_chunks/{dist-DfJ0x-DV.js.map → dist-DIVYK7vr.js.map} +1 -1
  159. package/dist-vue/_chunks/{dist-DnGUlg51.js → dist-DIujXFeP.js} +3 -3
  160. package/dist-vue/_chunks/{dist-DnGUlg51.js.map → dist-DIujXFeP.js.map} +1 -1
  161. package/dist-vue/_chunks/{dist-8Ba2NTwQ.js → dist-DNMuMsYA.js} +3 -3
  162. package/dist-vue/_chunks/{dist-8Ba2NTwQ.js.map → dist-DNMuMsYA.js.map} +1 -1
  163. package/dist-vue/_chunks/{dist-DpBbH8yX.js → dist-Dq2JgmgY.js} +3 -3
  164. package/dist-vue/_chunks/{dist-DpBbH8yX.js.map → dist-Dq2JgmgY.js.map} +1 -1
  165. package/dist-vue/_chunks/{dist-D1vdEteA.js → dist-DtMND9KH.js} +2 -2
  166. package/dist-vue/_chunks/{dist-D1vdEteA.js.map → dist-DtMND9KH.js.map} +1 -1
  167. package/dist-vue/_chunks/{dist-BXMdPs2n.js → dist-Dy4eir4A.js} +2 -2
  168. package/dist-vue/_chunks/{dist-BXMdPs2n.js.map → dist-Dy4eir4A.js.map} +1 -1
  169. package/dist-vue/_chunks/{dist-zSYkbMGo.js → dist-x0QhP1E9.js} +4 -4
  170. package/dist-vue/_chunks/{dist-zSYkbMGo.js.map → dist-x0QhP1E9.js.map} +1 -1
  171. package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js → dockerfile-DE9wt2dL.js} +2 -2
  172. package/dist-vue/_chunks/{dockerfile-Bctf8YOl.js.map → dockerfile-DE9wt2dL.js.map} +1 -1
  173. package/dist-vue/_chunks/{dtd-Bly5BFAf.js → dtd-CqxlpCqG.js} +1 -1
  174. package/dist-vue/_chunks/{dtd-Bly5BFAf.js.map → dtd-CqxlpCqG.js.map} +1 -1
  175. package/dist-vue/_chunks/{dylan-CzoYHa03.js → dylan-D1Gpc3L-.js} +1 -1
  176. package/dist-vue/_chunks/{dylan-CzoYHa03.js.map → dylan-D1Gpc3L-.js.map} +1 -1
  177. package/dist-vue/_chunks/{ebnf-4baG1T13.js → ebnf-DgP0YVa-.js} +1 -1
  178. package/dist-vue/_chunks/{ebnf-4baG1T13.js.map → ebnf-DgP0YVa-.js.map} +1 -1
  179. package/dist-vue/_chunks/{ecl-DUKN-Onz.js → ecl-KeBeM266.js} +1 -1
  180. package/dist-vue/_chunks/{ecl-DUKN-Onz.js.map → ecl-KeBeM266.js.map} +1 -1
  181. package/dist-vue/_chunks/{eiffel-Call-dqp.js → eiffel-C2i3fXO-.js} +1 -1
  182. package/dist-vue/_chunks/{eiffel-Call-dqp.js.map → eiffel-C2i3fXO-.js.map} +1 -1
  183. package/dist-vue/_chunks/{elm-DW-uVY9B.js → elm-Bv3L_mvL.js} +1 -1
  184. package/dist-vue/_chunks/{elm-DW-uVY9B.js.map → elm-Bv3L_mvL.js.map} +1 -1
  185. package/dist-vue/_chunks/{erlang-qvATK88s.js → erlang-DDXGK6MZ.js} +1 -1
  186. package/dist-vue/_chunks/{erlang-qvATK88s.js.map → erlang-DDXGK6MZ.js.map} +1 -1
  187. package/dist-vue/_chunks/{factor-DLyqB44S.js → factor-BMluBoEh.js} +2 -2
  188. package/dist-vue/_chunks/{factor-DLyqB44S.js.map → factor-BMluBoEh.js.map} +1 -1
  189. package/dist-vue/_chunks/{fcl-BrnRqE-k.js → fcl-Cmz-2giq.js} +1 -1
  190. package/dist-vue/_chunks/{fcl-BrnRqE-k.js.map → fcl-Cmz-2giq.js.map} +1 -1
  191. package/dist-vue/_chunks/{forth-DeYqvv5h.js → forth-DaWjj3JF.js} +1 -1
  192. package/dist-vue/_chunks/{forth-DeYqvv5h.js.map → forth-DaWjj3JF.js.map} +1 -1
  193. package/dist-vue/_chunks/{fortran-DdvDmAzM.js → fortran-Cjf1_njC.js} +1 -1
  194. package/dist-vue/_chunks/{fortran-DdvDmAzM.js.map → fortran-Cjf1_njC.js.map} +1 -1
  195. package/dist-vue/_chunks/{gas-BNdHmuUu.js → gas-Dw0EKIt6.js} +1 -1
  196. package/dist-vue/_chunks/{gas-BNdHmuUu.js.map → gas-Dw0EKIt6.js.map} +1 -1
  197. package/dist-vue/_chunks/{gherkin-CBC9qNkO.js → gherkin-BmhCQ-3F.js} +1 -1
  198. package/dist-vue/_chunks/{gherkin-CBC9qNkO.js.map → gherkin-BmhCQ-3F.js.map} +1 -1
  199. package/dist-vue/_chunks/{groovy-GC0PSVJU.js → groovy-Ce2VCAj0.js} +1 -1
  200. package/dist-vue/_chunks/{groovy-GC0PSVJU.js.map → groovy-Ce2VCAj0.js.map} +1 -1
  201. package/dist-vue/_chunks/{haskell-BKrhNlBi.js → haskell-CL9NsPDf.js} +1 -1
  202. package/dist-vue/_chunks/{haskell-BKrhNlBi.js.map → haskell-CL9NsPDf.js.map} +1 -1
  203. package/dist-vue/_chunks/{haxe-CPxacElW.js → haxe-Bbed1mIk.js} +1 -1
  204. package/dist-vue/_chunks/{haxe-CPxacElW.js.map → haxe-Bbed1mIk.js.map} +1 -1
  205. package/dist-vue/_chunks/{http-B_g6rpYy.js → http-CQ9T-AS4.js} +1 -1
  206. package/dist-vue/_chunks/{http-B_g6rpYy.js.map → http-CQ9T-AS4.js.map} +1 -1
  207. package/dist-vue/_chunks/{idl-nWWgQIyM.js → idl-CvhgP0zv.js} +1 -1
  208. package/dist-vue/_chunks/{idl-nWWgQIyM.js.map → idl-CvhgP0zv.js.map} +1 -1
  209. package/dist-vue/_chunks/{javascript-LK1o3VqT.js → javascript-Btb8UHXp.js} +1 -1
  210. package/dist-vue/_chunks/{javascript-LK1o3VqT.js.map → javascript-Btb8UHXp.js.map} +1 -1
  211. package/dist-vue/_chunks/{julia-BTozo5av.js → julia-DTNyuRVE.js} +1 -1
  212. package/dist-vue/_chunks/{julia-BTozo5av.js.map → julia-DTNyuRVE.js.map} +1 -1
  213. package/dist-vue/_chunks/{livescript-DpF2_JFC.js → livescript-CsLAR-Dk.js} +1 -1
  214. package/dist-vue/_chunks/{livescript-DpF2_JFC.js.map → livescript-CsLAR-Dk.js.map} +1 -1
  215. package/dist-vue/_chunks/{lua-tQN-2Pk0.js → lua-TjS61pff.js} +1 -1
  216. package/dist-vue/_chunks/{lua-tQN-2Pk0.js.map → lua-TjS61pff.js.map} +1 -1
  217. package/dist-vue/_chunks/{mathematica-CvawU267.js → mathematica-B36wjihf.js} +1 -1
  218. package/dist-vue/_chunks/{mathematica-CvawU267.js.map → mathematica-B36wjihf.js.map} +1 -1
  219. package/dist-vue/_chunks/{mbox-CoCfe6cW.js → mbox-l34D_Sup.js} +1 -1
  220. package/dist-vue/_chunks/{mbox-CoCfe6cW.js.map → mbox-l34D_Sup.js.map} +1 -1
  221. package/dist-vue/_chunks/{mirc-COd5tE63.js → mirc-ClsitdIY.js} +1 -1
  222. package/dist-vue/_chunks/{mirc-COd5tE63.js.map → mirc-ClsitdIY.js.map} +1 -1
  223. package/dist-vue/_chunks/{mllike-DDHxpeHd.js → mllike-CfQSkcI7.js} +1 -1
  224. package/dist-vue/_chunks/{mllike-DDHxpeHd.js.map → mllike-CfQSkcI7.js.map} +1 -1
  225. package/dist-vue/_chunks/{modelica-lMYNHoEu.js → modelica-CbCNcNrB.js} +1 -1
  226. package/dist-vue/_chunks/{modelica-lMYNHoEu.js.map → modelica-CbCNcNrB.js.map} +1 -1
  227. package/dist-vue/_chunks/{mscgen-BDVHHK85.js → mscgen-BEGyn8Kg.js} +1 -1
  228. package/dist-vue/_chunks/{mscgen-BDVHHK85.js.map → mscgen-BEGyn8Kg.js.map} +1 -1
  229. package/dist-vue/_chunks/{mumps-Cytx8qiy.js → mumps-Dr2ezLO-.js} +1 -1
  230. package/dist-vue/_chunks/{mumps-Cytx8qiy.js.map → mumps-Dr2ezLO-.js.map} +1 -1
  231. package/dist-vue/_chunks/{nginx-DkyUeyBK.js → nginx-Bi4gDD3m.js} +1 -1
  232. package/dist-vue/_chunks/{nginx-DkyUeyBK.js.map → nginx-Bi4gDD3m.js.map} +1 -1
  233. package/dist-vue/_chunks/{nsis-if-eCOXK.js → nsis-tIoKsxwO.js} +2 -2
  234. package/dist-vue/_chunks/{nsis-if-eCOXK.js.map → nsis-tIoKsxwO.js.map} +1 -1
  235. package/dist-vue/_chunks/{ntriples-D-c0_vEi.js → ntriples-BpLyHtBK.js} +1 -1
  236. package/dist-vue/_chunks/{ntriples-D-c0_vEi.js.map → ntriples-BpLyHtBK.js.map} +1 -1
  237. package/dist-vue/_chunks/{octave-Co_9SHXf.js → octave-BFLmhqOS.js} +1 -1
  238. package/dist-vue/_chunks/{octave-Co_9SHXf.js.map → octave-BFLmhqOS.js.map} +1 -1
  239. package/dist-vue/_chunks/{oz-0gSLg5tX.js → oz-DZWYUv0Q.js} +1 -1
  240. package/dist-vue/_chunks/{oz-0gSLg5tX.js.map → oz-DZWYUv0Q.js.map} +1 -1
  241. package/dist-vue/_chunks/{pascal-EFiy6L3H.js → pascal-C9E98ftD.js} +1 -1
  242. package/dist-vue/_chunks/{pascal-EFiy6L3H.js.map → pascal-C9E98ftD.js.map} +1 -1
  243. package/dist-vue/_chunks/{perl-6G11E8em.js → perl-BVKFqc1F.js} +1 -1
  244. package/dist-vue/_chunks/{perl-6G11E8em.js.map → perl-BVKFqc1F.js.map} +1 -1
  245. package/dist-vue/_chunks/{pig-BW1hm3XT.js → pig-D6QFO3WI.js} +1 -1
  246. package/dist-vue/_chunks/{pig-BW1hm3XT.js.map → pig-D6QFO3WI.js.map} +1 -1
  247. package/dist-vue/_chunks/{powershell-Bt-QJoDH.js → powershell-2IfoeWan.js} +1 -1
  248. package/dist-vue/_chunks/{powershell-Bt-QJoDH.js.map → powershell-2IfoeWan.js.map} +1 -1
  249. package/dist-vue/_chunks/{properties-D_XHdyRl.js → properties-C2B2ArUy.js} +1 -1
  250. package/dist-vue/_chunks/{properties-D_XHdyRl.js.map → properties-C2B2ArUy.js.map} +1 -1
  251. package/dist-vue/_chunks/{protobuf-B2341jP2.js → protobuf-B4WeH-l7.js} +1 -1
  252. package/dist-vue/_chunks/{protobuf-B2341jP2.js.map → protobuf-B4WeH-l7.js.map} +1 -1
  253. package/dist-vue/_chunks/{pug-16scRmP0.js → pug-CQ-5YOub.js} +2 -2
  254. package/dist-vue/_chunks/{pug-16scRmP0.js.map → pug-CQ-5YOub.js.map} +1 -1
  255. package/dist-vue/_chunks/{puppet-BnknQ9uc.js → puppet-C57db21O.js} +1 -1
  256. package/dist-vue/_chunks/{puppet-BnknQ9uc.js.map → puppet-C57db21O.js.map} +1 -1
  257. package/dist-vue/_chunks/{python-Dx6wyD-h.js → python-L3kdHi6C.js} +1 -1
  258. package/dist-vue/_chunks/{python-Dx6wyD-h.js.map → python-L3kdHi6C.js.map} +1 -1
  259. package/dist-vue/_chunks/{q-CwYXS2Js.js → q-DQI-vHRp.js} +1 -1
  260. package/dist-vue/_chunks/{q-CwYXS2Js.js.map → q-DQI-vHRp.js.map} +1 -1
  261. package/dist-vue/_chunks/{r-B31sqbQ3.js → r-DhKB-o8I.js} +1 -1
  262. package/dist-vue/_chunks/{r-B31sqbQ3.js.map → r-DhKB-o8I.js.map} +1 -1
  263. package/dist-vue/_chunks/{rpm-B0MmKWRw.js → rpm-D56QajaS.js} +1 -1
  264. package/dist-vue/_chunks/{rpm-B0MmKWRw.js.map → rpm-D56QajaS.js.map} +1 -1
  265. package/dist-vue/_chunks/{ruby-DXiHl-Yz.js → ruby-BcD3iVWj.js} +1 -1
  266. package/dist-vue/_chunks/{ruby-DXiHl-Yz.js.map → ruby-BcD3iVWj.js.map} +1 -1
  267. package/dist-vue/_chunks/{sas-B4XJ2693.js → sas-D1OuUIKN.js} +1 -1
  268. package/dist-vue/_chunks/{sas-B4XJ2693.js.map → sas-D1OuUIKN.js.map} +1 -1
  269. package/dist-vue/_chunks/{scheme-Df6d10fH.js → scheme-CUrJ3_0S.js} +1 -1
  270. package/dist-vue/_chunks/{scheme-Df6d10fH.js.map → scheme-CUrJ3_0S.js.map} +1 -1
  271. package/dist-vue/_chunks/{shell-BV8cKKHJ.js → shell-BPM0XoRU.js} +1 -1
  272. package/dist-vue/_chunks/{shell-BV8cKKHJ.js.map → shell-BPM0XoRU.js.map} +1 -1
  273. package/dist-vue/_chunks/{sieve-KCcjO0gU.js → sieve-n-ojLaJW.js} +1 -1
  274. package/dist-vue/_chunks/{sieve-KCcjO0gU.js.map → sieve-n-ojLaJW.js.map} +1 -1
  275. package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js → simple-mode-DGBVTMBE.js} +1 -1
  276. package/dist-vue/_chunks/{simple-mode-eFYrLHNd.js.map → simple-mode-DGBVTMBE.js.map} +1 -1
  277. package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js → smalltalk-CbOtG3J-.js} +1 -1
  278. package/dist-vue/_chunks/{smalltalk-TnIZTtVY.js.map → smalltalk-CbOtG3J-.js.map} +1 -1
  279. package/dist-vue/_chunks/{solr-D67CeY1D.js → solr-CC7GnBmE.js} +1 -1
  280. package/dist-vue/_chunks/{solr-D67CeY1D.js.map → solr-CC7GnBmE.js.map} +1 -1
  281. package/dist-vue/_chunks/{sparql-D0t-Guzg.js → sparql-DC2C8LuG.js} +1 -1
  282. package/dist-vue/_chunks/{sparql-D0t-Guzg.js.map → sparql-DC2C8LuG.js.map} +1 -1
  283. package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js → spreadsheet-rMh9jzuD.js} +1 -1
  284. package/dist-vue/_chunks/{spreadsheet-NH0IWwbw.js.map → spreadsheet-rMh9jzuD.js.map} +1 -1
  285. package/dist-vue/_chunks/{sql-B5Rl3TuV.js → sql-C15h02N-.js} +1 -1
  286. package/dist-vue/_chunks/{sql-B5Rl3TuV.js.map → sql-C15h02N-.js.map} +1 -1
  287. package/dist-vue/_chunks/{stex-Bu2gC9SM.js → stex-BQU7jli4.js} +1 -1
  288. package/dist-vue/_chunks/{stex-Bu2gC9SM.js.map → stex-BQU7jli4.js.map} +1 -1
  289. package/dist-vue/_chunks/{stylus-SIPLRHxF.js → stylus-Fj84CAVA.js} +1 -1
  290. package/dist-vue/_chunks/{stylus-SIPLRHxF.js.map → stylus-Fj84CAVA.js.map} +1 -1
  291. package/dist-vue/_chunks/{swift-B_JaBro8.js → swift-CrzZIdws.js} +1 -1
  292. package/dist-vue/_chunks/{swift-B_JaBro8.js.map → swift-CrzZIdws.js.map} +1 -1
  293. package/dist-vue/_chunks/{tcl-ChmdQusa.js → tcl-BvFcqrC1.js} +1 -1
  294. package/dist-vue/_chunks/{tcl-ChmdQusa.js.map → tcl-BvFcqrC1.js.map} +1 -1
  295. package/dist-vue/_chunks/{textile-BukFHU5C.js → textile-CAX0nrzJ.js} +1 -1
  296. package/dist-vue/_chunks/{textile-BukFHU5C.js.map → textile-CAX0nrzJ.js.map} +1 -1
  297. package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js → tiddlywiki-D5Gu8Cgp.js} +1 -1
  298. package/dist-vue/_chunks/{tiddlywiki-Cjof9i6e.js.map → tiddlywiki-D5Gu8Cgp.js.map} +1 -1
  299. package/dist-vue/_chunks/{tiki-DqShKWqG.js → tiki-BelGwBNb.js} +1 -1
  300. package/dist-vue/_chunks/{tiki-DqShKWqG.js.map → tiki-BelGwBNb.js.map} +1 -1
  301. package/dist-vue/_chunks/{toml-BATqZFcK.js → toml-BEm4Ctws.js} +1 -1
  302. package/dist-vue/_chunks/{toml-BATqZFcK.js.map → toml-BEm4Ctws.js.map} +1 -1
  303. package/dist-vue/_chunks/{troff-PbwxY1FZ.js → troff-lWffuAea.js} +1 -1
  304. package/dist-vue/_chunks/{troff-PbwxY1FZ.js.map → troff-lWffuAea.js.map} +1 -1
  305. package/dist-vue/_chunks/{ttcn-BSxIkHWh.js → ttcn-CJo3GWqH.js} +1 -1
  306. package/dist-vue/_chunks/{ttcn-BSxIkHWh.js.map → ttcn-CJo3GWqH.js.map} +1 -1
  307. package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js → ttcn-cfg-C9gCx5K3.js} +1 -1
  308. package/dist-vue/_chunks/{ttcn-cfg-pJEPzif5.js.map → ttcn-cfg-C9gCx5K3.js.map} +1 -1
  309. package/dist-vue/_chunks/{turtle-B0nZo8hJ.js → turtle-Bg3JtSZx.js} +1 -1
  310. package/dist-vue/_chunks/{turtle-B0nZo8hJ.js.map → turtle-Bg3JtSZx.js.map} +1 -1
  311. package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js → useChatbotStore-DE8leYO8.js} +3 -2
  312. package/dist-vue/_chunks/{useChatbotStore-C1gZgvam.js.map → useChatbotStore-DE8leYO8.js.map} +1 -1
  313. package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js +14 -0
  314. package/dist-vue/_chunks/useLocalizedString-CW0dVF2K.js.map +1 -0
  315. package/dist-vue/_chunks/{utils-BTa2h3WM.js → utils-CRojvghU.js} +26 -11
  316. package/dist-vue/_chunks/utils-CRojvghU.js.map +1 -0
  317. package/dist-vue/_chunks/{vb-BRq_7ZF9.js → vb-Xh1Jl3M6.js} +1 -1
  318. package/dist-vue/_chunks/{vb-BRq_7ZF9.js.map → vb-Xh1Jl3M6.js.map} +1 -1
  319. package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js → vbscript-NjJzWxN6.js} +1 -1
  320. package/dist-vue/_chunks/{vbscript-B6ZIwOLd.js.map → vbscript-NjJzWxN6.js.map} +1 -1
  321. package/dist-vue/_chunks/{velocity-BvxA2zsa.js → velocity-CRJkj7qc.js} +1 -1
  322. package/dist-vue/_chunks/{velocity-BvxA2zsa.js.map → velocity-CRJkj7qc.js.map} +1 -1
  323. package/dist-vue/_chunks/{verilog-B3osH5GQ.js → verilog-CBHbxdbo.js} +1 -1
  324. package/dist-vue/_chunks/{verilog-B3osH5GQ.js.map → verilog-CBHbxdbo.js.map} +1 -1
  325. package/dist-vue/_chunks/{vhdl-CR1z1JUE.js → vhdl-BxdacNfs.js} +1 -1
  326. package/dist-vue/_chunks/{vhdl-CR1z1JUE.js.map → vhdl-BxdacNfs.js.map} +1 -1
  327. package/dist-vue/_chunks/{webidl-C74Qva8l.js → webidl-BuFj0gB5.js} +1 -1
  328. package/dist-vue/_chunks/{webidl-C74Qva8l.js.map → webidl-BuFj0gB5.js.map} +1 -1
  329. package/dist-vue/_chunks/{xquery-hmT-vB1m.js → xquery-DA__vFXM.js} +1 -1
  330. package/dist-vue/_chunks/{xquery-hmT-vB1m.js.map → xquery-DA__vFXM.js.map} +1 -1
  331. package/dist-vue/_chunks/{yacas-B2_Uw5g-.js → yacas-C0zyYz-1.js} +1 -1
  332. package/dist-vue/_chunks/{yacas-B2_Uw5g-.js.map → yacas-C0zyYz-1.js.map} +1 -1
  333. package/dist-vue/_chunks/{z80-BDY8ScET.js → z80-D0C3d2Md.js} +1 -1
  334. package/dist-vue/_chunks/{z80-BDY8ScET.js.map → z80-D0C3d2Md.js.map} +1 -1
  335. package/dist-vue/api.js +1 -1
  336. package/dist-vue/apps/web-component/src/composables/index.d.ts +1 -0
  337. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +2 -2
  338. package/dist-vue/composables.js +62 -61
  339. package/dist-vue/composables.js.map +1 -1
  340. package/dist-vue/index.js +4536 -3897
  341. package/dist-vue/index.js.map +1 -1
  342. package/dist-vue/locales.js +72 -28
  343. package/dist-vue/packages/auth/src/index.d.ts +2 -2
  344. package/dist-vue/packages/components/src/PkEditorMedia.d.ts +1 -1
  345. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +135 -9
  346. package/dist-vue/packages/components/src/chat/PkReasoningSettings.d.ts +54 -0
  347. package/dist-vue/packages/components/src/chat/PkWebSearchSettings.d.ts +105 -0
  348. package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
  349. package/dist-vue/packages/components/src/chat/index.d.ts +3 -1
  350. package/dist-vue/packages/components/src/chat/utils.d.ts +6 -0
  351. package/dist-vue/packages/components/src/composables/index.d.ts +0 -2
  352. package/dist-vue/packages/composable/src/index.d.ts +2 -0
  353. package/dist-vue/packages/{components/src/composables → composable/src}/useChatbotError.d.ts +1 -1
  354. package/dist-vue/packages/{components/src/composables → composable/src}/useLocalizedString.d.ts +1 -1
  355. package/dist-vue/packages/models/src/schema/Agent.d.ts +633 -63
  356. package/dist-vue/packages/models/src/schema/AgentChatStatistics.d.ts +1 -1
  357. package/dist-vue/packages/models/src/schema/Chat.d.ts +104 -13
  358. package/dist-vue/packages/models/src/schema/Integration.d.ts +1 -1
  359. package/dist-vue/packages/models/src/schema/McpServer.d.ts +6 -6
  360. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +209 -27
  361. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +209 -27
  362. package/dist-vue/style.css +1 -1
  363. package/package.json +2 -2
  364. package/dist/_chunks/PkToolShowComparison-D_DtpXRO.js.map +0 -1
  365. package/dist/_chunks/VvCheckbox.es-LSjS8_8K.js.map +0 -1
  366. package/dist/_chunks/VvCheckboxGroup.es-CR5ZTD2H.js.map +0 -1
  367. package/dist/_chunks/VvCombobox.es-B8E1RmUn.js.map +0 -1
  368. package/dist/_chunks/VvInputText.es-BYAhw1yP.js.map +0 -1
  369. package/dist/_chunks/VvRadio.es-CQj6S-QP.js.map +0 -1
  370. package/dist/_chunks/VvRadioGroup.es-9AWwbBXm.js.map +0 -1
  371. package/dist/_chunks/VvSelect.es-DAmZPvCV.js.map +0 -1
  372. package/dist/_chunks/VvTextarea.es-BfgLTEPk.js.map +0 -1
  373. package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js +0 -191
  374. package/dist-vue/_chunks/PkChatbot-Cqu5lhyS.js.map +0 -1
  375. package/dist-vue/_chunks/PkChatbotError-C1ZxZlwQ.js.map +0 -1
  376. package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js +0 -468
  377. package/dist-vue/_chunks/PkChatbotMessages-DFgERA1l.js.map +0 -1
  378. package/dist-vue/_chunks/PkChatbotViewChat-hqsvz_7X.js.map +0 -1
  379. package/dist-vue/_chunks/PkToolShowComparison-CZ3kO6PT.js.map +0 -1
  380. package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js +0 -130
  381. package/dist-vue/_chunks/PkToolShowContactForm-CTbMiGnv.js.map +0 -1
  382. package/dist-vue/_chunks/createChatbotApiClient-tAXyZCUx.js.map +0 -1
  383. package/dist-vue/_chunks/utils-BTa2h3WM.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createChatbotApiClient-Dcrje955.js","names":["c","l","u","d","f","s","n","e","t","i","r"],"sources":["../../../../packages/models/src/schema/Agent.ts","../../../../node_modules/.pnpm/@ucast+core@2.0.0/node_modules/@ucast/core/dist/esm/index.mjs","../../../../node_modules/.pnpm/@ucast+mongo@3.0.0/node_modules/@ucast/mongo/dist/esm/index.mjs","../../../../packages/ability/src/types.ts","../../../../packages/ability/src/roles/User.ts","../../../../packages/ability/src/index.ts","../../../../packages/composable/src/chatbot/api/createChatbotApiClient.ts"],"sourcesContent":["import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport { LanguageModel } from './constants'\nimport { MediaSchema, MIME_TYPE_REGEX } from './Media'\n\nexport enum AgentStatus {\n Draft = 'draft',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum AgentVisibility {\n Public = 'public',\n Private = 'private',\n Organization = 'organization',\n}\n\nexport enum AgentType {\n Chat = 'chat',\n Reasoning = 'reasoning',\n}\n\nexport enum AgentSearchMode {\n Semantic = 'semantic',\n Balanced = 'balanced',\n Keyword = 'keyword',\n}\n\n/**\n * Provider-specific reasoning configurations.\n *\n * Each provider has its own reasoning API:\n * - OpenAI (GPT-5, o-series): `reasoningEffort` + `reasoningSummary`\n * - Anthropic (Claude 4.6+): adaptive thinking with `effort` levels, or legacy `budgetTokens`\n * - Google (Gemini 3/3.1): `thinkingLevel`; Gemini 2.5: `thinkingBudget`\n * - DeepSeek: on/off thinking toggle\n *\n * Only the matching provider's config is used at runtime (based on model prefix).\n * Admins can pre-configure multiple providers for easy model switching.\n */\n\nexport const OpenAIReasoningSchema = z.object({\n reasoningEffort: z\n .enum(['none', 'low', 'medium', 'high', 'xhigh'])\n .optional(),\n reasoningSummary: z.enum(['auto', 'detailed', 'concise']).optional(),\n})\nexport type OpenAIReasoning = z.infer<typeof OpenAIReasoningSchema>\n\nexport const AnthropicReasoningSchema = z.object({\n type: z.enum(['adaptive', 'enabled', 'disabled']).optional(),\n effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max']).optional(),\n display: z.enum(['summarized', 'omitted']).optional(),\n budgetTokens: z.number().int().positive().optional(),\n})\nexport type AnthropicReasoning = z.infer<typeof AnthropicReasoningSchema>\n\nexport const GoogleReasoningSchema = z.object({\n thinkingLevel: z.enum(['minimal', 'low', 'medium', 'high']).optional(),\n thinkingBudget: z.number().int().optional(),\n includeThoughts: z.boolean().optional(),\n})\nexport type GoogleReasoning = z.infer<typeof GoogleReasoningSchema>\n\nexport const DeepSeekReasoningSchema = z.object({\n type: z.enum(['enabled', 'disabled']).optional(),\n})\nexport type DeepSeekReasoning = z.infer<typeof DeepSeekReasoningSchema>\n\n/**\n * Migrates legacy format `{ effort: 'high', reasoningSummary: 'auto' }` to the new\n * per-provider format. Applied via preprocess so old DB data auto-migrates on parse.\n */\nfunction migrateReasoningConfig(val: unknown): unknown {\n if (!val || typeof val !== 'object') {\n return val\n }\n const obj = val as Record<string, unknown>\n // Detect legacy format: has `effort` key with old enum values\n if (\n 'effort' in obj &&\n !(\n 'openai' in obj ||\n 'anthropic' in obj ||\n 'google' in obj ||\n 'deepseek' in obj\n )\n ) {\n const effort = obj.effort as string | undefined\n const reasoningSummary = obj.reasoningSummary as string | undefined\n const migrated: Record<string, unknown> = {}\n\n if (effort && effort !== 'off') {\n migrated.openai = {\n reasoningEffort: effort,\n ...(reasoningSummary ? { reasoningSummary } : {}),\n }\n migrated.anthropic = {\n type: 'adaptive' as const,\n effort: effort as 'low' | 'medium' | 'high',\n }\n migrated.google = {\n thinkingLevel: effort as 'low' | 'medium' | 'high',\n }\n migrated.deepseek = { type: 'enabled' as const }\n } else {\n migrated.openai = { reasoningEffort: 'none' }\n migrated.deepseek = { type: 'disabled' as const }\n }\n return migrated\n }\n return val\n}\n\nexport const AgentReasoningSchema = z.preprocess(\n migrateReasoningConfig,\n z\n .object({\n openai: OpenAIReasoningSchema.optional(),\n anthropic: AnthropicReasoningSchema.optional(),\n google: GoogleReasoningSchema.optional(),\n deepseek: DeepSeekReasoningSchema.optional(),\n })\n .optional(),\n)\n\nexport type AgentReasoning = z.infer<typeof AgentReasoningSchema>\n\nexport enum AgentBuiltInTool {\n Geocode = 'geocode',\n GetWeather = 'getWeather',\n ReadDocumentFile = 'readDocumentFile',\n RequestGeolocation = 'requestGeolocation',\n RetrieveRevisedAnswers = 'retrieveRevisedAnswers',\n SearchInKnowledgeBase = 'searchInKnowledgeBase',\n ShowArtifact = 'showArtifact',\n ShowCalendarEvent = 'showCalendarEvent',\n ShowComparison = 'showComparison',\n ShowContactForm = 'showContactForm',\n ShowEmail = 'showEmail',\n ShowImageGallery = 'showImageGallery',\n ShowLocation = 'showLocation',\n ShowMessage = 'showMessage',\n ShowMultipleChoice = 'showMultipleChoice',\n ShowProductList = 'showProductList',\n ShowQrCode = 'showQrCode',\n ShowSources = 'showSources',\n ShowSuggestedReply = 'showSuggestedReply',\n ShowWeather = 'showWeather',\n ShowWebPages = 'showWebPages',\n}\n\n/**\n * Returns true if the tool renders a UI element (card, form, list, etc.).\n * Used in `prepareStep` to prevent duplicate UI elements across streaming steps.\n */\nexport function isPresentationTool(toolName: string): boolean {\n return (\n toolName === AgentBuiltInTool.ShowArtifact ||\n toolName === AgentBuiltInTool.ShowCalendarEvent ||\n toolName === AgentBuiltInTool.ShowComparison ||\n toolName === AgentBuiltInTool.ShowContactForm ||\n toolName === AgentBuiltInTool.ShowEmail ||\n toolName === AgentBuiltInTool.ShowImageGallery ||\n toolName === AgentBuiltInTool.ShowLocation ||\n toolName === AgentBuiltInTool.ShowMessage ||\n toolName === AgentBuiltInTool.ShowMultipleChoice ||\n toolName === AgentBuiltInTool.ShowProductList ||\n toolName === AgentBuiltInTool.ShowQrCode ||\n toolName === AgentBuiltInTool.ShowSources ||\n toolName === AgentBuiltInTool.ShowSuggestedReply ||\n toolName === AgentBuiltInTool.ShowWeather ||\n toolName === AgentBuiltInTool.ShowWebPages\n )\n}\n\nexport const AgentMultipleChoiceSettingsSchema = z.object({\n maxOptions: z.number().int().min(2).max(10).optional().default(5),\n allowCustomAnswer: z.boolean().optional().default(false),\n})\nexport type AgentMultipleChoiceSettings = z.infer<\n typeof AgentMultipleChoiceSettingsSchema\n>\n\nexport const DEFAULT_MAX_STEP_COUNT = 10\nexport const DEFAULT_SUB_AGENT_MAX_STEP_COUNT = 6\nexport const DEFAULT_ENDPOINT_MAX_STEP_COUNT = 5\n\nexport enum WebSearchProvider {\n Perplexity = 'perplexity',\n Parallel = 'parallel',\n Native = 'native',\n}\n\nexport const PerplexitySearchConfigSchema = z.object({\n maxResults: z.number().int().min(1).max(20).optional(),\n maxTokens: z.number().int().positive().max(1_000_000).optional(),\n maxTokensPerPage: z.number().int().positive().optional(),\n country: z.string().max(2).optional(),\n searchLanguageFilter: z.array(z.string().max(5)).max(10).optional(),\n searchDomainFilter: z.array(z.string()).max(20).optional(),\n searchRecencyFilter: z.enum(['day', 'week', 'month', 'year']).optional(),\n})\nexport type PerplexitySearchConfig = z.infer<\n typeof PerplexitySearchConfigSchema\n>\n\nexport const ParallelSearchConfigSchema = z.object({\n mode: z.enum(['one-shot', 'agentic']).optional(),\n maxResults: z.number().int().min(1).max(20).optional(),\n sourcePolicy: z\n .object({\n includeDomains: z.array(z.string()).optional(),\n excludeDomains: z.array(z.string()).optional(),\n afterDate: z.string().optional(),\n })\n .optional(),\n excerpts: z\n .object({\n maxCharsPerResult: z.number().int().positive().optional(),\n maxCharsTotal: z.number().int().positive().optional(),\n })\n .optional(),\n fetchPolicy: z\n .object({\n maxAgeSeconds: z.number().int().positive().optional(),\n })\n .optional(),\n})\nexport type ParallelSearchConfig = z.infer<typeof ParallelSearchConfigSchema>\n\nexport const NativeWebSearchConfigSchema = z.object({\n openai: z.object({}).optional(),\n anthropic: z\n .object({\n maxUses: z.number().int().positive().optional(),\n allowedDomains: z.array(z.string()).optional(),\n blockedDomains: z.array(z.string()).optional(),\n userLocation: z\n .object({\n type: z.literal('approximate').optional(),\n country: z.string().optional(),\n region: z.string().optional(),\n city: z.string().optional(),\n timezone: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n google: z.object({}).optional(),\n})\nexport type NativeWebSearchConfig = z.infer<typeof NativeWebSearchConfigSchema>\n\nexport const AgentWebSearchSchema = z.object({\n enabled: z.boolean().default(false),\n provider: z\n .enum(WebSearchProvider)\n .optional()\n .default(WebSearchProvider.Native),\n perplexity: PerplexitySearchConfigSchema.optional(),\n parallel: ParallelSearchConfigSchema.optional(),\n native: NativeWebSearchConfigSchema.optional(),\n})\nexport type AgentWebSearch = z.infer<typeof AgentWebSearchSchema>\n\nexport const AgentToolsSchema = z.object({\n disabled: z.array(z.enum(AgentBuiltInTool)).default([]),\n showMultipleChoice: AgentMultipleChoiceSettingsSchema.optional().default(\n () => AgentMultipleChoiceSettingsSchema.parse({}),\n ),\n webSearch: AgentWebSearchSchema.optional().default(() =>\n AgentWebSearchSchema.parse({}),\n ),\n})\nexport type AgentTools = z.infer<typeof AgentToolsSchema>\n\nexport const AgentModelSchema = z.object({\n prompt: z.string().optional(),\n temperature: z.number().min(0).max(2).optional().default(0.6),\n maxOutputTokens: z.number().positive().optional(),\n presencePenalty: z.number().min(-2).max(2).optional(),\n frequencyPenalty: z.number().min(-2).max(2).optional(),\n searchMode: z\n .enum(AgentSearchMode)\n .optional()\n .default(AgentSearchMode.Balanced),\n limit: z.number().positive().max(100).optional().default(10),\n maxStepCount: z\n .number()\n .int()\n .min(1)\n .max(20)\n .optional()\n .default(DEFAULT_MAX_STEP_COUNT),\n reasoning: AgentReasoningSchema,\n})\nexport type AgentModel = z.infer<typeof AgentModelSchema>\n\nexport const LocalizedStringSchema = z.preprocess(\n (val) => (typeof val === 'string' ? { it: val } : val),\n z.record(z.string(), z.string()),\n)\nexport type LocalizedString = z.infer<typeof LocalizedStringSchema>\n\nexport const DEFAULT_WIDGET_URL =\n 'https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js'\n\nexport enum AgentLoaderStrategy {\n InlineModule = 'inline-module',\n ScriptSrc = 'script-src',\n DynamicImport = 'dynamic-import',\n}\n\nexport enum AgentChannel {\n Frontoffice = 'frontoffice',\n App = 'app',\n Widget = 'widget',\n}\n\nexport const ALL_AGENT_CHANNELS = Object.values(AgentChannel) as AgentChannel[]\n\nexport const AgentInterfaceSchema = z.object({\n media: MediaSchema.optional(),\n logo: z.string().optional(),\n theme: z.enum(['light', 'dark', 'auto']).optional().default('auto'),\n mainColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/)\n .optional()\n .default('#000000'),\n textColor: z.enum(['auto', 'white', 'black']).optional().default('auto'),\n useColorsForAgentHeader: z.boolean().optional().default(false),\n initialMessage: LocalizedStringSchema.optional(),\n messagePlaceholder: LocalizedStringSchema.optional(),\n dismissableNotice: LocalizedStringSchema.optional(),\n footerMessage: LocalizedStringSchema.optional(),\n privacyPolicyNotice: LocalizedStringSchema.optional(),\n welcomePopup: z.boolean().optional().default(false),\n floatingButtonPosition: z\n .enum(['left', 'right'])\n .optional()\n .default('right'),\n maxMessageLength: z.number().int().positive().optional(),\n widgetUrl: z.url().default(DEFAULT_WIDGET_URL),\n loadDelay: z.number().int().min(0).max(30000).optional().default(0),\n loaderStrategy: z\n .enum(AgentLoaderStrategy)\n .optional()\n .default(AgentLoaderStrategy.InlineModule),\n customCss: z.string().optional(),\n smoothStream: z.boolean().optional().default(false),\n})\nexport type AgentInterface = z.infer<typeof AgentInterfaceSchema>\n\nexport const CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'application/pdf',\n 'text/plain',\n 'text/markdown',\n 'text/csv',\n] as const\n\nexport type ChatFileUploadMimeType =\n (typeof CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES)[number]\n\nexport const CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES = 104_857_600 // 100 MB\n\nexport const AgentFileUploadSchema = z.object({\n enabled: z.boolean().default(false),\n maxFileSizeBytes: z\n .number()\n .int()\n .positive()\n .max(CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES)\n .optional()\n .default(20_971_520),\n allowedMimeTypes: z\n .array(z.string().regex(MIME_TYPE_REGEX))\n .optional()\n .default([...CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES]),\n maxFilesPerMessage: z\n .number()\n .int()\n .positive()\n .max(10)\n .optional()\n .default(5),\n maxFilesPerChat: z.number().int().positive().max(50).optional().default(20),\n})\nexport type AgentFileUpload = z.infer<typeof AgentFileUploadSchema>\n\nexport const AgentGatewayOptionsSchema = z.object({\n zeroDataRetention: z.boolean().default(true),\n disallowPromptTraining: z.boolean().default(true),\n providerTimeoutMs: z.number().int().min(1000).max(789000).optional(),\n})\nexport type AgentGatewayOptions = z.infer<typeof AgentGatewayOptionsSchema>\n\nexport const AgentSettingsSchema = z.object({\n model: AgentModelSchema,\n interface: AgentInterfaceSchema,\n tools: AgentToolsSchema,\n fileUpload: AgentFileUploadSchema.optional().default(() =>\n AgentFileUploadSchema.parse({}),\n ),\n gatewayOptions: AgentGatewayOptionsSchema.optional().default(() =>\n AgentGatewayOptionsSchema.parse({}),\n ),\n channels: z\n .array(z.enum(AgentChannel))\n .optional()\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\nexport type AgentSettings = z.infer<typeof AgentSettingsSchema>\n\nexport const AgentSecuritySchema = z.object({\n rateLimits: z.object({\n minuteRateLimit: z.number().int().min(0).optional(),\n hourRateLimit: z.number().int().min(0).optional(),\n dayRateLimit: z.number().int().min(0).optional(),\n monthRateLimit: z.number().int().min(0).optional(),\n }),\n trustedOrigins: z\n .object({\n origins: z\n .array(z.url().or(z.literal('')))\n .transform((items) => {\n return items?.filter((item) => item?.trim())\n })\n .default([]),\n })\n .default({ origins: [] }),\n})\nexport type AgentSecurity = z.infer<typeof AgentSecuritySchema>\n\nexport const AgentDtoSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n prompt: z.string().optional(),\n model: z.string().default(LanguageModel.gpt52Chat),\n fallbackModels: z.array(z.string()).default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z.enum(AgentVisibility).default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullish(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n})\n\nexport const AgentSchema = z.lazy(() =>\n z.object({\n id: z.string(),\n name: z.string(),\n prompt: z.string(),\n model: z.string(),\n fallbackModels: z.array(z.string()).nullable().default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z\n .enum(AgentVisibility)\n .default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullable(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n createdAt: z.coerce.date(),\n createdBy: z.string(),\n updatedAt: z.coerce.date(),\n updatedBy: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n outOfBudget: z.boolean().optional().default(false),\n outOfBudgetReason: z.string().optional().default(''),\n }),\n)\n\nexport const AgentPublicSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.enum(AgentStatus),\n visibility: z.enum(AgentVisibility),\n organizationId: z.string(),\n interface: AgentInterfaceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n logo: z.string().optional(),\n capabilities: z.object({\n fileUpload: AgentFileUploadSchema,\n }),\n channels: z\n .array(z.enum(AgentChannel))\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\n\nexport const AgentsQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort([\n 'id',\n 'updatedAt',\n 'createdAt',\n 'name',\n 'type',\n 'status',\n 'visibility',\n 'model',\n ]),\n ...zodQs.filters(['done', 'type']),\n ...zodQs.filter('id'),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n})\n\nexport type AgentDto = z.infer<typeof AgentDtoSchema>\nexport type Agent = z.infer<typeof AgentSchema>\nexport type AgentPublic = z.infer<typeof AgentPublicSchema>\n\nexport type AgentQuerystring = z.infer<typeof AgentsQuerystringSchema>\n","var e=class{constructor(e,t){this.operator=e,this.value=t,Object.defineProperty(this,`_notes`,{writable:!0})}get notes(){return this._notes}addNote(e){this._notes=this._notes||[],this._notes.push(e)}},t=class extends e{},n=class extends t{constructor(e,t){if(!Array.isArray(t))throw Error(`\"${e}\" operator expects to receive an array of conditions`);super(e,t)}};const r=`__itself__`;var i=class extends e{constructor(e,t,n){super(e,n),this.field=t}};const a=new t(`__null__`,null),o=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));function s(e,t){return t instanceof n&&t.operator===e}function c(e,t){let r;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a instanceof n){if(a.operator!==e){r&&r.push(a);continue}if(a.value.length===0)continue;r||(r=t.slice(0,i));let n=a.value;for(let e=0,t=n.length;e<t;e++)r.push(n[e])}else r&&r.push(a)}return r||t}function l(e,t){if(t.length===1)return t[0];if(t.length===0)return new n(e,t);let r=c(e,t);return r.length===1?r[0]:(r.length,new n(e,r))}const u=e=>e,d=()=>Object.create(null),f=Object.defineProperty(d(),`__@type@__`,{value:`ignore value`});function p(e,t,n=!1){if(!e||e&&e.constructor!==Object)return!1;for(let r in e)if(o(e,r)&&o(t,r)&&(!n||e[r]!==f))return!0;return!1}function m(e){let t=[];for(let n in e)o(e,n)&&e[n]!==f&&t.push(n);return t}function h(e,t){t!==a&&e.push(t)}const g=e=>l(`and`,e),_=e=>l(`or`,e);function v(e,t){let n=e[t];if(typeof n!=`function`)throw Error(`Unable to interpret \"${String(t)}\" condition. Did you forget to register interpreter for it?`);return n}function y(e){return e.operator}function b(e,t){let n=t,r=n&&n.getInterpreterName||y,i;switch(n?n.numberOfArguments:0){case 1:i=(t=>v(e,r(t,n))(t,a));break;case 3:i=((t,i,o)=>v(e,r(t,n))(t,i,o,a));break;default:i=((t,i)=>v(e,r(t,n))(t,i,a));break}let a={...n,interpret:i};return a.interpret}const x={compound(e,t,r){let i=(Array.isArray(t)?t:[t]).map(e=>r.parse(e));return new n(e.name,i)},field(e,t,n){return new i(e.name,n.field,t)},document(e,n){return new t(e.name,n)}};var S=class{constructor(e,t=d()){this.parse=this.parse.bind(this),this._options={operatorToConditionName:t.operatorToConditionName||u,defaultOperatorName:t.defaultOperatorName||`eq`,mergeFinalConditions:t.mergeFinalConditions||g},this._instructions=Object.keys(e).reduce((t,n)=>(t[n]={name:this._options.operatorToConditionName(n),...e[n]},t),{}),this._fieldInstructionContext={...t.fieldContext,field:``,query:{},parse:this.parse,hasOperators:e=>p(e,this._instructions,t.useIgnoreValue)},this._documentInstructionContext={...t.documentContext,parse:this.parse,query:{}},this._objectKeys=t.useIgnoreValue?m:Object.keys}setParse(e){this.parse=e,this._fieldInstructionContext.parse=e,this._documentInstructionContext.parse=e}parseField(e,t,n,r){let i=this._instructions[t];if(!i)throw Error(`Unsupported operator \"${t}\"`);if(i.type!==`field`)throw Error(`Unexpected ${i.type} operator \"${t}\" at field level`);return this._fieldInstructionContext.field=e,this._fieldInstructionContext.query=r,this.parseInstruction(i,n,this._fieldInstructionContext)}parseInstruction(e,t,n){return typeof e.validate==`function`&&e.validate(e,t),(e.parse||x[e.type])(e,t,n)}parseFieldOperators(e,t){let n=[],r=this._objectKeys(t);for(let i=0,a=r.length;i<a;i++){let a=r[i];if(!this._instructions[a])throw Error(`Field query for \"${e}\" may contain only operators or a plain object as a value`);h(n,this.parseField(e,a,t[a],t))}return n}parse(e){let t=[],n=this._objectKeys(e);this._documentInstructionContext.query=e;for(let r=0,i=n.length;r<i;r++){let i=n[r],a=e[i],o=this._instructions[i];if(o){if(o.type!==`document`&&o.type!==`compound`)throw Error(`Cannot use parsing instruction for operator \"${i}\" in \"document\" context as it is supposed to be used in \"${o.type}\" context`);h(t,this.parseInstruction(o,a,this._documentInstructionContext))}else this._fieldInstructionContext.hasOperators(a)?t.push(...this.parseFieldOperators(i,a)):h(t,this.parseField(i,this._options.defaultOperatorName,a,e))}return this._options.mergeFinalConditions(t)}};function C(e,t){return(n,...r)=>{let i=e(n,...r),a=t.bind(null,i);return Object.defineProperty(a,`ast`,{value:i}),a}}export{n as CompoundCondition,e as Condition,t as DocumentCondition,i as FieldCondition,r as ITSELF,a as NULL_CONDITION,S as ObjectQueryParser,g as buildAnd,_ as buildOr,b as createInterpreter,C as createTranslatorFactory,x as defaultInstructionParsers,p as hasOperators,u as identity,f as ignoreValue,s as isCompound,d as object,l as optimizedCompoundCondition};\n//# sourceMappingURL=index.mjs.map","import{CompoundCondition as e,FieldCondition as t,ITSELF as n,NULL_CONDITION as r,ObjectQueryParser as i,buildAnd as a,defaultInstructionParsers as o,optimizedCompoundCondition as s}from\"@ucast/core\";var c=Object.defineProperty,l=((e,t)=>{let n={};for(var r in e)c(n,r,{get:e[r],enumerable:!0});return t||c(n,Symbol.toStringTag,{value:`Module`}),n})({$all:()=>y,$and:()=>u,$elemMatch:()=>h,$eq:()=>E,$exists:()=>x,$gt:()=>C,$gte:()=>S,$in:()=>_,$lt:()=>w,$lte:()=>T,$mod:()=>b,$ne:()=>D,$nin:()=>v,$nor:()=>f,$not:()=>m,$options:()=>k,$or:()=>d,$regex:()=>O,$size:()=>g,$where:()=>A});const u={type:`compound`,validate:M,parse(e,t,n){let r=p(e,t,n);return s(e.name,r)}},d=u,f={type:`compound`,validate:M,parse(t,n,r){let i=p(t,n,r);return new e(t.name,i)}};function p(e,t,n){let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i];F(e,a,i),r[i]=n.parse(a)}return r}const m={type:`field`,validate(e,t){if(!(t&&(t instanceof RegExp||t.constructor===Object)))throw Error(`\"${e.name}\" expects to receive either regular expression or object of field operators`)},parse(n,r,i){let a=r instanceof RegExp?new t(`regex`,i.field,r):i.parse(r,i);return new e(n.name,[a])}},h={type:`field`,validate(e,t){if(!t||t.constructor!==Object)throw Error(`\"${e.name}\" expects to receive an object with nested query or field level operators`)},parse(e,r,{parse:i,field:a,hasOperators:o}){let s=o(r)?i(r,{field:n}):i(r);return new t(e.name,a,s)}},g={type:`field`,validate:P(`number`)},_={type:`field`,validate:j},v=_,y=_,b={type:`field`,validate(e,t){if(!Array.isArray(t)||t.length!==2)throw Error(`\"${e.name}\" expects an array with 2 numeric elements`)}},x={type:`field`,validate:P(`boolean`)},S={type:`field`,validate:N},C=S,w=C,T=C,E={type:`field`},D=E,O={type:`field`,validate(e,t){if(!(t instanceof RegExp)&&typeof t!=`string`)throw Error(`\"${e.name}\" expects value to be a regular expression or a string that represents regular expression`)},parse(e,n,r){let i=typeof n==`string`?new RegExp(n,r.query.$options||``):n;return new t(e.name,r.field,i)}},k={type:`field`,parse:()=>r},A={type:`document`,validate:P(`function`)};function j(e,t){if(!Array.isArray(t))throw Error(`\"${e.name}\" expects value to be an array`)}function M(e,t){if(j(e,t),!t.length)throw Error(`\"${e.name}\" expects to have at least one element in array`)}function N(e,t){if(!(typeof t==`string`||typeof t==`number`||t instanceof Date))throw Error(`\"${e.name}\" expects value to be comparable (i.e., string, number or date)`)}function P(e){return(t,n)=>{if(typeof n!==e)throw Error(`\"${t.name}\" expects value to be a \"${e}\"`)}}function F(e,t,n){let r=t;if(!r||r.constructor!==Object)throw Error(`\"${e.name}\" expects item at index ${n} to be an object`)}var I=class extends i{constructor(e){super(e,{defaultOperatorName:`$eq`,operatorToConditionName:e=>e.slice(1)})}parse(e,t){return t&&t.field?a(this.parseFieldOperators(t.field,e)):super.parse(e)}};const L=l;export{y as $all,u as $and,h as $elemMatch,E as $eq,x as $exists,C as $gt,S as $gte,_ as $in,w as $lt,T as $lte,b as $mod,D as $ne,v as $nin,f as $nor,m as $not,k as $options,d as $or,O as $regex,g as $size,A as $where,I as MongoQueryParser,L as allParsingInstructions,o as defaultParsers};\n//# sourceMappingURL=index.mjs.map","import type { MongoQuery } from '@ucast/mongo2js'\nimport type { Session } from 'auth'\n\nexport enum Audience {\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Public = 'public',\n}\n\nexport enum Subject {\n All = 'all',\n Todo = 'todo',\n User = 'user',\n Chat = 'chat',\n Agent = 'agent',\n SubAgent = 'subAgent',\n Document = 'document',\n AgentDocument = 'agent_document',\n AgentAnalytic = 'agent_analytic',\n McpServer = 'mcp_server',\n Media = 'media',\n RevisedAnswer = 'revised_answer',\n Organization = 'organization',\n Member = 'member',\n Lead = 'lead',\n MessageFeedback = 'message_feedback',\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Invitation = 'invitation',\n Crawler = 'crawler',\n ReasoningChat = 'reasoning_chat',\n TimeTrackerChat = 'time_tracker_chat',\n OrganizationExternalAuth = 'organization_external_auth',\n AgentEndpoint = 'agent_endpoint',\n AgentEndpointLog = 'agent_endpoint_log',\n AgentApiTool = 'agent_api_tool',\n DocumentFolder = 'document_folder',\n Integration = 'integration',\n Notification = 'notification',\n}\n\n// action\nexport type Action =\n | 'create'\n | 'read'\n | 'update'\n | 'delete'\n | 'manage'\n | 'impersonate'\n | 'invite'\n | 'access'\n | 'clone'\n | 'ban'\n | 'unban'\n | 'change-role'\n | 'resend'\n | 'cancel'\n | 'execute'\n | 'refill'\n\nexport type Capability = {\n action: Action\n subject: Subject\n fields?: string[]\n condition?: MongoQuery\n inverted?: boolean\n}\n\nexport type CapabilitiesFactory = (\n currentSession?: Session | null,\n) => Capability[]\n","import { AgentStatus } from 'models'\nimport type { CapabilitiesFactory } from '../types'\nimport { Subject } from '../types'\n\nconst GuestCapabilities: CapabilitiesFactory = (currentSession) => {\n if (!currentSession) {\n return []\n }\n return [\n // chats\n {\n subject: Subject.Chat,\n action: 'create',\n },\n {\n subject: Subject.Chat,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n {\n subject: Subject.Chat,\n action: 'update',\n },\n {\n subject: Subject.Chat,\n action: 'delete',\n },\n // agents\n {\n subject: Subject.Agent,\n action: 'read',\n condition: {\n status: {\n $eq: AgentStatus.Active,\n },\n },\n },\n // feedbacks\n {\n subject: Subject.MessageFeedback,\n action: 'create',\n },\n {\n subject: Subject.MessageFeedback,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user.id,\n },\n },\n },\n ]\n}\nexport default GuestCapabilities\n","import type { MongoAbility, InferSubjects, ForcedSubject } from '@casl/ability'\nimport type { MongoQuery } from '@ucast/mongo2js'\nimport { Action, Capability, Subject } from './types'\nimport { $or } from '@ucast/mongo2js'\nimport {\n AbilityBuilder,\n createMongoAbility,\n buildMongoQueryMatcher,\n PureAbility,\n createAliasResolver,\n FieldMatcher,\n} from '@casl/ability'\nimport { organizationCapabilitiesByRole, userCapabilitiesByRole } from './roles'\nimport type { Session } from 'auth'\nimport DefaultCapabilities from './roles/User'\nimport { createAccessControl } from 'better-auth/plugins'\nimport {\n adminAc,\n defaultStatements,\n memberAc,\n ownerAc,\n} from 'better-auth/plugins/organization/access'\n\nexport const OrganizationRoles = {\n admin: 'admin',\n owner: 'owner',\n member: 'member',\n user: 'user',\n} as const\n\nexport const UserRoles = {\n admin: 'admin',\n user: 'user',\n} as const\n\n// action alias\nconst resolveAction = createAliasResolver({\n modify: ['read', 'update', 'delete'],\n})\n\n// subject\nexport type AbilitySubject =\n | InferSubjects<'all' | Subject, true>\n | ForcedSubject<InferSubjects<'all' | Subject, true>>\ntype Ability = MongoAbility<[Action, AbilitySubject]>\n\n// matcher\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst conditionsMatcher = buildMongoQueryMatcher({ $or } as Record<string, any>)\nconst fieldMatcher: FieldMatcher = (fields) => (field) => fields.includes(field)\n\n// ability\nexport const ability = new PureAbility<[Action, AbilitySubject], MongoQuery>(\n DefaultCapabilities(),\n {\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n },\n)\n\nexport const isValidOrganizationRole = (\n role?: string | null,\n): role is keyof typeof OrganizationRoles => {\n if (!role) {\n return false\n }\n return role in OrganizationRoles\n}\n\nexport const isValidUserRole = (\n role?: string | null,\n): role is keyof typeof UserRoles => {\n if (!role) {\n return false\n }\n return role in UserRoles\n}\n\nexport const getOrganizationRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidOrganizationRole(currentSession?.session.organizationRole)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities =\n organizationCapabilitiesByRole[currentSession.session.organizationRole]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const getUserRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n if (!isValidUserRole(currentSession?.user.role)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities = userCapabilitiesByRole[currentSession.user.role]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const updateAbilityFromSession = (currentSession?: Session | null) => {\n const { can, build, cannot } = new AbilityBuilder<Ability>(\n createMongoAbility,\n )\n const organizationRoleCapabilities =\n getOrganizationRoleCapabilities(currentSession)\n const userRoleCapabilities = getUserRoleCapabilities(currentSession)\n const capabilities = [\n ...organizationRoleCapabilities,\n ...userRoleCapabilities,\n ]\n capabilities.forEach((capability) => {\n const { action, subject, fields, condition, inverted } = capability\n if (inverted) {\n cannot(action, subject, fields, condition)\n return\n }\n can(action, subject, fields, condition)\n })\n ability.update(\n build({\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n }).rules,\n )\n}\n\nconst ac = createAccessControl(defaultStatements)\nconst adminRole = ac.newRole(adminAc.statements)\nconst ownerRole = ac.newRole(ownerAc.statements)\nconst memberRole = ac.newRole(memberAc.statements)\nconst userRole = ac.newRole(memberAc.statements)\n\nexport const betterAuthOrganizationSettings = {\n ac,\n roles: {\n owner: ownerRole,\n admin: adminRole,\n member: memberRole,\n user: userRole,\n },\n}\n\nexport * from './types'\nexport { subject } from '@casl/ability'\n","import { Audience } from 'ability'\nimport type { Chat, MessageFeedback, AgentPublic, MediaSource } from 'models'\nimport { addInitialSlash, removeTrailingSlash } from 'utils'\n\nexport interface ChatbotApiClientOptions {\n baseUrl: string\n basePath?: string\n headers?: () => Record<string, string> | undefined\n credentials?: RequestCredentials\n}\n\nexport interface SubmitFeedbackPayload {\n messageId: string\n chatId: string\n agentId: string\n vote?: 'upvote' | 'downvote'\n userQuestion: string\n assistantMessage: string\n comment?: string\n}\n\nexport interface SubmitLeadPayload {\n agentId: string\n chatId: string\n [key: string]: unknown\n}\n\nexport interface ChatbotApiClient {\n getConversations(\n agentId: string,\n userId: string | undefined,\n ): Promise<Chat[]>\n getChat(agentId: string, chatId: string): Promise<Chat | null>\n updateChatTitle(\n agentId: string,\n chatId: string,\n title: string,\n ): Promise<Chat>\n deleteChat(agentId: string, chatId: string): Promise<void>\n getMessageFeedbacks(chatId: string): Promise<MessageFeedback[]>\n submitMessageFeedback(\n payload: SubmitFeedbackPayload,\n ): Promise<MessageFeedback>\n submitLead(payload: SubmitLeadPayload): Promise<void>\n getAgent(orgSlug: string, agentId: string): Promise<AgentPublic>\n getMediaUrl(agentId: string, chatId: string, storedFileName: string): string\n appendAuthToken(url: string): string\n uploadMedia(\n agentId: string,\n chatId: string,\n file: File,\n ): Promise<MediaSource>\n getChatEndpoint(agentId: string, type?: 'chat' | 'reasoning'): string\n expandSourceContext(\n agentId: string,\n documentId: string,\n chunkIndex: number,\n windowSize?: number,\n ): Promise<{ content: string }>\n downloadSourceDocument(\n agentId: string,\n documentId: string,\n ): Promise<{ downloadUrl: string; filename: string; mimeType: string }>\n reverseGeocode(\n lat: number,\n lon: number,\n lang?: string,\n ): Promise<string | undefined>\n forwardGeocode(\n query: string,\n lang?: string,\n ): Promise<\n { latitude: number; longitude: number; displayName: string } | undefined\n >\n getOAuthAuthorizeUrl(\n agentId: string,\n serverName: string,\n ): Promise<{ mcpServerId: string; authorizeUrl: string }>\n}\n\nexport function createChatbotApiClient(\n options: ChatbotApiClientOptions,\n): ChatbotApiClient {\n const basePath = options.basePath\n ? addInitialSlash(options.basePath)\n : `/api/v1/${Audience.Public}`\n\n const baseUrl = `${removeTrailingSlash(options.baseUrl)}${basePath}`\n\n async function request<T>(\n url: string,\n init?: RequestInit,\n responseType: 'json' | 'void' = 'json',\n ): Promise<T> {\n const response = await fetch(`${baseUrl}${url}`, {\n credentials: options.credentials ?? 'include',\n ...init,\n headers: {\n ...options.headers?.(),\n ...init?.headers,\n },\n })\n\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n\n if (responseType === 'void' || response.status === 204) {\n return undefined as T\n }\n\n return response.json() as Promise<T>\n }\n\n return {\n async getConversations(agentId, userId) {\n const userFilter = userId\n ? `&filter[userId]=${encodeURIComponent(userId)}`\n : ''\n return request<Chat[]>(\n `/agents/${encodeURIComponent(agentId)}/chats?sort=-lastMessageAt&page[size]=100${userFilter}`,\n )\n },\n\n async getChat(agentId, chatId) {\n const result = await request<Chat | undefined>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n )\n return result ?? null\n },\n\n async updateChatTitle(agentId, chatId, title) {\n return request<Chat>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ title }),\n },\n )\n },\n\n async deleteChat(agentId, chatId) {\n await request<void>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n { method: 'DELETE' },\n 'void',\n )\n },\n\n async getMessageFeedbacks(chatId) {\n return request<MessageFeedback[]>(\n `/message-feedbacks?filter[chatId]=${encodeURIComponent(chatId)}&page[size]=200`,\n )\n },\n\n async submitMessageFeedback(payload) {\n return request<MessageFeedback>('/message-feedbacks', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n },\n\n async submitLead(payload) {\n await request<void>(\n '/leads',\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n },\n 'void',\n )\n },\n\n async getAgent(orgSlug, agentId) {\n return request<AgentPublic>(\n `/organizations/${encodeURIComponent(orgSlug)}/agents/${encodeURIComponent(agentId)}`,\n )\n },\n\n async uploadMedia(agentId, chatId, file) {\n const formData = new FormData()\n formData.append('file', file)\n const response = await fetch(\n `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/upload`,\n {\n method: 'POST',\n credentials: options.credentials ?? 'include',\n // Do NOT set Content-Type — browser sets multipart/form-data with boundary automatically\n headers: options.headers?.(),\n body: formData,\n },\n )\n if (!response.ok) {\n const text = await response.text().catch(() => '')\n let title = `Upload failed: ${response.status}`\n try {\n title =\n (JSON.parse(text) as { title?: string }).title ?? title\n } catch {\n // ignore parse errors\n }\n throw new Error(title)\n }\n return response.json() as Promise<MediaSource>\n },\n\n getChatEndpoint(agentId, type = 'chat') {\n const path = type === 'reasoning' ? 'reasoning-chat' : 'chat'\n return `${baseUrl}/agents/${encodeURIComponent(agentId)}/${path}`\n },\n\n appendAuthToken(url) {\n const bearer = options\n .headers?.()\n ?.[`Authorization`]?.slice('Bearer '.length)\n if (!bearer) {\n return url\n }\n const separator = url.includes('?') ? '&' : '?'\n return `${url}${separator}token=${encodeURIComponent(bearer)}`\n },\n\n getMediaUrl(agentId, chatId, storedFileName) {\n const base = `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/${encodeURIComponent(storedFileName)}/view`\n return this.appendAuthToken(base)\n },\n\n async expandSourceContext(\n agentId,\n documentId,\n chunkIndex,\n windowSize = 2,\n ) {\n return request<{ content: string }>(\n `/agents/${encodeURIComponent(agentId)}/sources/expand-context`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n documentId,\n chunkIndex,\n windowSize,\n }),\n },\n )\n },\n\n async downloadSourceDocument(agentId, documentId) {\n return request<{\n downloadUrl: string\n filename: string\n mimeType: string\n }>(\n `/agents/${encodeURIComponent(agentId)}/sources/documents/${encodeURIComponent(documentId)}/download`,\n )\n },\n\n async reverseGeocode(lat, lon, lang) {\n const params = new URLSearchParams({\n lat: String(lat),\n lon: String(lon),\n })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n const data = await request<{ displayName?: string }>(\n `/geocoder/reverse?${params}`,\n )\n return data.displayName\n } catch {\n return undefined\n }\n },\n\n async forwardGeocode(query, lang) {\n const params = new URLSearchParams({ q: query })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n return await request<{\n latitude: number\n longitude: number\n displayName: string\n }>(`/geocoder/forward?${params}`)\n } catch {\n return undefined\n }\n },\n\n async getOAuthAuthorizeUrl(agentId, serverName) {\n const params = new URLSearchParams({ serverName })\n return request<{ mcpServerId: string; authorizeUrl: string }>(\n `/agents/${encodeURIComponent(agentId)}/mcp-oauth/authorize?${params}`,\n )\n },\n }\n}\n"],"x_google_ignoreList":[1,2],"mappings":"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"}
@@ -159,4 +159,4 @@ var E = {
159
159
  //#endregion
160
160
  export { E as crystal };
161
161
 
162
- //# sourceMappingURL=crystal-BTi9IGqB.js.map
162
+ //# sourceMappingURL=crystal-j2Uodr6G.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crystal-BTi9IGqB.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/crystal.js"],"sourcesContent":["function wordRegExp(words, end) {\n return new RegExp((end ? \"\" : \"^\") + \"(?:\" + words.join(\"|\") + \")\" + (end ? \"$\" : \"\\\\b\"));\n}\n\nfunction chain(tokenize, stream, state) {\n state.tokenize.push(tokenize);\n return tokenize(stream, state);\n}\n\nvar operators = /^(?:[-+/%|&^]|\\*\\*?|[<>]{2})/;\nvar conditionalOperators = /^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/;\nvar indexingOperators = /^(?:\\[\\][?=]?)/;\nvar anotherOperators = /^(?:\\.(?:\\.{2})?|->|[?:])/;\nvar idents = /^[a-z_\\u009F-\\uFFFF][a-zA-Z0-9_\\u009F-\\uFFFF]*/;\nvar types = /^[A-Z_\\u009F-\\uFFFF][a-zA-Z0-9_\\u009F-\\uFFFF]*/;\nvar keywords = wordRegExp([\n \"abstract\", \"alias\", \"as\", \"asm\", \"begin\", \"break\", \"case\", \"class\", \"def\", \"do\",\n \"else\", \"elsif\", \"end\", \"ensure\", \"enum\", \"extend\", \"for\", \"fun\", \"if\",\n \"include\", \"instance_sizeof\", \"lib\", \"macro\", \"module\", \"next\", \"of\", \"out\", \"pointerof\",\n \"private\", \"protected\", \"rescue\", \"return\", \"require\", \"select\", \"sizeof\", \"struct\",\n \"super\", \"then\", \"type\", \"typeof\", \"uninitialized\", \"union\", \"unless\", \"until\", \"when\", \"while\", \"with\",\n \"yield\", \"__DIR__\", \"__END_LINE__\", \"__FILE__\", \"__LINE__\"\n]);\nvar atomWords = wordRegExp([\"true\", \"false\", \"nil\", \"self\"]);\nvar indentKeywordsArray = [\n \"def\", \"fun\", \"macro\",\n \"class\", \"module\", \"struct\", \"lib\", \"enum\", \"union\",\n \"do\", \"for\"\n];\nvar indentKeywords = wordRegExp(indentKeywordsArray);\nvar indentExpressionKeywordsArray = [\"if\", \"unless\", \"case\", \"while\", \"until\", \"begin\", \"then\"];\nvar indentExpressionKeywords = wordRegExp(indentExpressionKeywordsArray);\nvar dedentKeywordsArray = [\"end\", \"else\", \"elsif\", \"rescue\", \"ensure\"];\nvar dedentKeywords = wordRegExp(dedentKeywordsArray);\nvar dedentPunctualsArray = [\"\\\\)\", \"\\\\}\", \"\\\\]\"];\nvar dedentPunctuals = new RegExp(\"^(?:\" + dedentPunctualsArray.join(\"|\") + \")$\");\nvar nextTokenizer = {\n \"def\": tokenFollowIdent, \"fun\": tokenFollowIdent, \"macro\": tokenMacroDef,\n \"class\": tokenFollowType, \"module\": tokenFollowType, \"struct\": tokenFollowType,\n \"lib\": tokenFollowType, \"enum\": tokenFollowType, \"union\": tokenFollowType\n};\nvar matching = {\"[\": \"]\", \"{\": \"}\", \"(\": \")\", \"<\": \">\"};\n\nfunction tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n // Macros\n if (state.lastToken != \"\\\\\" && stream.match(\"{%\", false)) {\n return chain(tokenMacro(\"%\", \"%\"), stream, state);\n }\n\n if (state.lastToken != \"\\\\\" && stream.match(\"{{\", false)) {\n return chain(tokenMacro(\"{\", \"}\"), stream, state);\n }\n\n // Comments\n if (stream.peek() == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Variables and keywords\n var matched;\n if (stream.match(idents)) {\n stream.eat(/[?!]/);\n\n matched = stream.current();\n if (stream.eat(\":\")) {\n return \"atom\";\n } else if (state.lastToken == \".\") {\n return \"property\";\n } else if (keywords.test(matched)) {\n if (indentKeywords.test(matched)) {\n if (!(matched == \"fun\" && state.blocks.indexOf(\"lib\") >= 0) && !(matched == \"def\" && state.lastToken == \"abstract\")) {\n state.blocks.push(matched);\n state.currentIndent += 1;\n }\n } else if ((state.lastStyle == \"operator\" || !state.lastStyle) && indentExpressionKeywords.test(matched)) {\n state.blocks.push(matched);\n state.currentIndent += 1;\n } else if (matched == \"end\") {\n state.blocks.pop();\n state.currentIndent -= 1;\n }\n\n if (nextTokenizer.hasOwnProperty(matched)) {\n state.tokenize.push(nextTokenizer[matched]);\n }\n\n return \"keyword\";\n } else if (atomWords.test(matched)) {\n return \"atom\";\n }\n\n return \"variable\";\n }\n\n // Class variables and instance variables\n // or attributes\n if (stream.eat(\"@\")) {\n if (stream.peek() == \"[\") {\n return chain(tokenNest(\"[\", \"]\", \"meta\"), stream, state);\n }\n\n stream.eat(\"@\");\n stream.match(idents) || stream.match(types);\n return \"propertyName\";\n }\n\n // Constants and types\n if (stream.match(types)) {\n return \"tag\";\n }\n\n // Symbols or ':' operator\n if (stream.eat(\":\")) {\n if (stream.eat(\"\\\"\")) {\n return chain(tokenQuote(\"\\\"\", \"atom\", false), stream, state);\n } else if (stream.match(idents) || stream.match(types) ||\n stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators)) {\n return \"atom\";\n }\n stream.eat(\":\");\n return \"operator\";\n }\n\n // Strings\n if (stream.eat(\"\\\"\")) {\n return chain(tokenQuote(\"\\\"\", \"string\", true), stream, state);\n }\n\n // Strings or regexps or macro variables or '%' operator\n if (stream.peek() == \"%\") {\n var style = \"string\";\n var embed = true;\n var delim;\n\n if (stream.match(\"%r\")) {\n // Regexps\n style = \"string.special\";\n delim = stream.next();\n } else if (stream.match(\"%w\")) {\n embed = false;\n delim = stream.next();\n } else if (stream.match(\"%q\")) {\n embed = false;\n delim = stream.next();\n } else {\n if(delim = stream.match(/^%([^\\w\\s=])/)) {\n delim = delim[1];\n } else if (stream.match(/^%[a-zA-Z_\\u009F-\\uFFFF][\\w\\u009F-\\uFFFF]*/)) {\n // Macro variables\n return \"meta\";\n } else if (stream.eat('%')) {\n // '%' operator\n return \"operator\";\n }\n }\n\n if (matching.hasOwnProperty(delim)) {\n delim = matching[delim];\n }\n return chain(tokenQuote(delim, style, embed), stream, state);\n }\n\n // Here Docs\n if (matched = stream.match(/^<<-('?)([A-Z]\\w*)\\1/)) {\n return chain(tokenHereDoc(matched[2], !matched[1]), stream, state)\n }\n\n // Characters\n if (stream.eat(\"'\")) {\n stream.match(/^(?:[^']|\\\\(?:[befnrtv0'\"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\\{[0-9a-fA-F]{1,6}\\})))/);\n stream.eat(\"'\");\n return \"atom\";\n }\n\n // Numbers\n if (stream.eat(\"0\")) {\n if (stream.eat(\"x\")) {\n stream.match(/^[0-9a-fA-F_]+/);\n } else if (stream.eat(\"o\")) {\n stream.match(/^[0-7_]+/);\n } else if (stream.eat(\"b\")) {\n stream.match(/^[01_]+/);\n }\n return \"number\";\n }\n\n if (stream.eat(/^\\d/)) {\n stream.match(/^[\\d_]*(?:\\.[\\d_]+)?(?:[eE][+-]?\\d+)?/);\n return \"number\";\n }\n\n // Operators\n if (stream.match(operators)) {\n stream.eat(\"=\"); // Operators can follow assign symbol.\n return \"operator\";\n }\n\n if (stream.match(conditionalOperators) || stream.match(anotherOperators)) {\n return \"operator\";\n }\n\n // Parens and braces\n if (matched = stream.match(/[({[]/, false)) {\n matched = matched[0];\n return chain(tokenNest(matched, matching[matched], null), stream, state);\n }\n\n // Escapes\n if (stream.eat(\"\\\\\")) {\n stream.next();\n return \"meta\";\n }\n\n stream.next();\n return null;\n}\n\nfunction tokenNest(begin, end, style, started) {\n return function (stream, state) {\n if (!started && stream.match(begin)) {\n state.tokenize[state.tokenize.length - 1] = tokenNest(begin, end, style, true);\n state.currentIndent += 1;\n return style;\n }\n\n var nextStyle = tokenBase(stream, state);\n if (stream.current() === end) {\n state.tokenize.pop();\n state.currentIndent -= 1;\n nextStyle = style;\n }\n\n return nextStyle;\n };\n}\n\nfunction tokenMacro(begin, end, started) {\n return function (stream, state) {\n if (!started && stream.match(\"{\" + begin)) {\n state.currentIndent += 1;\n state.tokenize[state.tokenize.length - 1] = tokenMacro(begin, end, true);\n return \"meta\";\n }\n\n if (stream.match(end + \"}\")) {\n state.currentIndent -= 1;\n state.tokenize.pop();\n return \"meta\";\n }\n\n return tokenBase(stream, state);\n };\n}\n\nfunction tokenMacroDef(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n var matched;\n if (matched = stream.match(idents)) {\n if (matched == \"def\") {\n return \"keyword\";\n }\n stream.eat(/[?!]/);\n }\n\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenFollowIdent(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n if (stream.match(idents)) {\n stream.eat(/[!?]/);\n } else {\n stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators);\n }\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenFollowType(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n stream.match(types);\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenQuote(end, style, embed) {\n return function (stream, state) {\n var escaped = false;\n\n while (stream.peek()) {\n if (!escaped) {\n if (stream.match(\"{%\", false)) {\n state.tokenize.push(tokenMacro(\"%\", \"%\"));\n return style;\n }\n\n if (stream.match(\"{{\", false)) {\n state.tokenize.push(tokenMacro(\"{\", \"}\"));\n return style;\n }\n\n if (embed && stream.match(\"#{\", false)) {\n state.tokenize.push(tokenNest(\"#{\", \"}\", \"meta\"));\n return style;\n }\n\n var ch = stream.next();\n\n if (ch == end) {\n state.tokenize.pop();\n return style;\n }\n\n escaped = embed && ch == \"\\\\\";\n } else {\n stream.next();\n escaped = false;\n }\n }\n\n return style;\n };\n}\n\nfunction tokenHereDoc(phrase, embed) {\n return function (stream, state) {\n if (stream.sol()) {\n stream.eatSpace()\n if (stream.match(phrase)) {\n state.tokenize.pop();\n return \"string\";\n }\n }\n\n var escaped = false;\n while (stream.peek()) {\n if (!escaped) {\n if (stream.match(\"{%\", false)) {\n state.tokenize.push(tokenMacro(\"%\", \"%\"));\n return \"string\";\n }\n\n if (stream.match(\"{{\", false)) {\n state.tokenize.push(tokenMacro(\"{\", \"}\"));\n return \"string\";\n }\n\n if (embed && stream.match(\"#{\", false)) {\n state.tokenize.push(tokenNest(\"#{\", \"}\", \"meta\"));\n return \"string\";\n }\n\n escaped = stream.next() == \"\\\\\" && embed;\n } else {\n stream.next();\n escaped = false;\n }\n }\n\n return \"string\";\n }\n}\n\nexport const crystal = {\n name: \"crystal\",\n startState: function () {\n return {\n tokenize: [tokenBase],\n currentIndent: 0,\n lastToken: null,\n lastStyle: null,\n blocks: []\n };\n },\n\n token: function (stream, state) {\n var style = state.tokenize[state.tokenize.length - 1](stream, state);\n var token = stream.current();\n\n if (style && style != \"comment\") {\n state.lastToken = token;\n state.lastStyle = style;\n }\n\n return style;\n },\n\n indent: function (state, textAfter, cx) {\n textAfter = textAfter.replace(/^\\s*(?:\\{%)?\\s*|\\s*(?:%\\})?\\s*$/g, \"\");\n\n if (dedentKeywords.test(textAfter) || dedentPunctuals.test(textAfter)) {\n return cx.unit * (state.currentIndent - 1);\n }\n\n return cx.unit * state.currentIndent;\n },\n\n languageData: {\n indentOnInput: wordRegExp(dedentPunctualsArray.concat(dedentKeywordsArray), true),\n commentTokens: {line: \"#\"}\n }\n};\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,EAAW,GAAO,GAAK;CAC9B,OAAW,QAAQ,IAAM,KAAK,OAAO,QAAQ,EAAM,KAAK,GAAG,IAAI,OAAO,IAAM,MAAM,MAAM;AAC1F;AAEA,SAAS,EAAM,GAAU,GAAQ,GAAO;CAEtC,OADA,EAAM,SAAS,KAAK,CAAQ,GACrB,EAAS,GAAQ,CAAK;AAC/B;AAEA,IAAI,IAAY,gCACZ,IAAuB,yCACvB,IAAoB,kBACpB,IAAmB,6BACnB,IAAS,kDACT,IAAQ,kDACR,IAAW,EAAW,6WAO1B,CAAC,GACG,IAAY,EAAW;CAAC;CAAQ;CAAS;CAAO;AAAM,CAAC,GAMvD,IAAiB,EAAW;CAJ9B;CAAO;CAAO;CACd;CAAS;CAAU;CAAU;CAAO;CAAQ;CAC5C;CAAM;AAE0C,CAAC,GAE/C,IAA2B,EAAW;CADL;CAAM;CAAU;CAAQ;CAAS;CAAS;CAAS;AAClB,CAAC,GACnE,IAAsB;CAAC;CAAO;CAAQ;CAAS;CAAU;AAAQ,GACjE,IAAiB,EAAW,CAAmB,GAC/C,IAAuB;CAAC;CAAO;CAAO;AAAK,GAC3C,IAAsB,OAAO,SAAS,EAAqB,KAAK,GAAG,IAAI,IAAI,GAC3E,IAAgB;CAClB,KAAO;CAAkB,KAAO;CAAkB,OAAS;CAC3D,OAAS;CAAiB,QAAU;CAAiB,QAAU;CAC/D,KAAO;CAAiB,MAAQ;CAAiB,OAAS;AAC5D,GACI,IAAW;CAAC,KAAK;CAAK,KAAK;CAAK,KAAK;CAAK,KAAK;AAAG;AAEtD,SAAS,EAAU,GAAQ,GAAO;CAChC,IAAI,EAAO,SAAS,GAClB,OAAO;CAIT,IAAI,EAAM,aAAa,QAAQ,EAAO,MAAM,MAAM,EAAK,GACrD,OAAO,EAAM,EAAW,KAAK,GAAG,GAAG,GAAQ,CAAK;CAGlD,IAAI,EAAM,aAAa,QAAQ,EAAO,MAAM,MAAM,EAAK,GACrD,OAAO,EAAM,EAAW,KAAK,GAAG,GAAG,GAAQ,CAAK;CAIlD,IAAI,EAAO,KAAK,KAAK,KAEnB,OADA,EAAO,UAAU,GACV;CAIT,IAAI;CACJ,IAAI,EAAO,MAAM,CAAM,GA+BrB,OA9BA,EAAO,IAAI,MAAM,GAEjB,IAAU,EAAO,QAAQ,GACrB,EAAO,IAAI,GAAG,IACT,SACE,EAAM,aAAa,MACrB,aACE,EAAS,KAAK,CAAO,KAC1B,EAAe,KAAK,CAAO,IACzB,EAAE,KAAW,SAAS,EAAM,OAAO,QAAQ,KAAK,KAAK,MAAM,EAAE,KAAW,SAAS,EAAM,aAAa,gBACtG,EAAM,OAAO,KAAK,CAAO,GACzB,EAAM,iBAAiB,MAEf,EAAM,aAAa,cAAc,CAAC,EAAM,cAAc,EAAyB,KAAK,CAAO,KACrG,EAAM,OAAO,KAAK,CAAO,GACzB,EAAM,iBAAiB,KACd,KAAW,UACpB,EAAM,OAAO,IAAI,GACjB,IAAM,gBAGJ,EAAc,eAAe,CAAO,KACtC,EAAM,SAAS,KAAK,EAAc,EAAQ,GAGrC,aACE,EAAU,KAAK,CAAO,IACxB,SAGF;CAKT,IAAI,EAAO,IAAI,GAAG,GAOhB,OANI,EAAO,KAAK,KAAK,MACZ,EAAM,EAAU,KAAK,KAAK,MAAM,GAAG,GAAQ,CAAK,KAGzD,EAAO,IAAI,GAAG,GACd,EAAO,MAAM,CAAM,KAAK,EAAO,MAAM,CAAK,GACnC;CAIT,IAAI,EAAO,MAAM,CAAK,GACpB,OAAO;CAIT,IAAI,EAAO,IAAI,GAAG,GAQhB,OAPI,EAAO,IAAI,IAAI,IACV,EAAM,EAAW,MAAM,QAAQ,EAAK,GAAG,GAAQ,CAAK,IAClD,EAAO,MAAM,CAAM,KAAK,EAAO,MAAM,CAAK,KAC1C,EAAO,MAAM,CAAS,KAAK,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAiB,IACjG,UAET,EAAO,IAAI,GAAG,GACP;CAIT,IAAI,EAAO,IAAI,IAAI,GACjB,OAAO,EAAM,EAAW,MAAM,UAAU,EAAI,GAAG,GAAQ,CAAK;CAI9D,IAAI,EAAO,KAAK,KAAK,KAAK;EACxB,IAAI,IAAQ,UACR,IAAQ,IACR;EAEJ,IAAI,EAAO,MAAM,IAAI,GAGnB,AADA,IAAQ,kBACR,IAAQ,EAAO,KAAK;OACf,IAAI,EAAO,MAAM,IAAI,GAE1B,AADA,IAAQ,IACR,IAAQ,EAAO,KAAK;OACf,IAAI,EAAO,MAAM,IAAI,GAE1B,AADA,IAAQ,IACR,IAAQ,EAAO,KAAK;OAEpB,IAAG,IAAQ,EAAO,MAAM,cAAc,GACpC,IAAQ,EAAM;OACT,IAAI,EAAO,MAAM,4CAA4C,GAElE,OAAO;OACF,IAAI,EAAO,IAAI,GAAG,GAEvB,OAAO;EAOX,OAHI,EAAS,eAAe,CAAK,MAC/B,IAAQ,EAAS,KAEZ,EAAM,EAAW,GAAO,GAAO,CAAK,GAAG,GAAQ,CAAK;CAC7D;CAsDA,QAnDI,IAAU,EAAO,MAAM,sBAAsB,KACxC,EAAM,EAAa,EAAQ,IAAI,CAAC,EAAQ,EAAE,GAAG,GAAQ,CAAK,IAI/D,EAAO,IAAI,GAAG,KAChB,EAAO,MAAM,gFAAgF,GAC7F,EAAO,IAAI,GAAG,GACP,UAIL,EAAO,IAAI,GAAG,KACZ,EAAO,IAAI,GAAG,IAChB,EAAO,MAAM,gBAAgB,IACpB,EAAO,IAAI,GAAG,IACvB,EAAO,MAAM,UAAU,IACd,EAAO,IAAI,GAAG,KACvB,EAAO,MAAM,SAAS,GAEjB,YAGL,EAAO,IAAI,KAAK,KAClB,EAAO,MAAM,uCAAuC,GAC7C,YAIL,EAAO,MAAM,CAAS,KACxB,EAAO,IAAI,GAAG,GACP,cAGL,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAgB,IAC9D,cAIL,IAAU,EAAO,MAAM,SAAS,EAAK,MACvC,IAAU,EAAQ,IACX,EAAM,EAAU,GAAS,EAAS,IAAU,IAAI,GAAG,GAAQ,CAAK,KAIrE,EAAO,IAAI,IAAI,KACjB,EAAO,KAAK,GACL,WAGT,EAAO,KAAK,GACL;AACT;AAEA,SAAS,EAAU,GAAO,GAAK,GAAO,GAAS;CAC7C,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,CAAC,KAAW,EAAO,MAAM,CAAK,GAGhC,OAFA,EAAM,SAAS,EAAM,SAAS,SAAS,KAAK,EAAU,GAAO,GAAK,GAAO,EAAI,GAC7E,EAAM,iBAAiB,GAChB;EAGT,IAAI,IAAY,EAAU,GAAQ,CAAK;EAOvC,OANI,EAAO,QAAQ,MAAM,MACvB,EAAM,SAAS,IAAI,GACnB,IAAM,eACN,IAAY,IAGP;CACT;AACF;AAEA,SAAS,EAAW,GAAO,GAAK,GAAS;CACvC,OAAO,SAAU,GAAQ,GAAO;EAa9B,OAZI,CAAC,KAAW,EAAO,MAAM,MAAM,CAAK,KACtC,EAAM,iBAAiB,GACvB,EAAM,SAAS,EAAM,SAAS,SAAS,KAAK,EAAW,GAAO,GAAK,EAAI,GAChE,UAGL,EAAO,MAAM,IAAM,GAAG,KACxB,IAAM,eACN,EAAM,SAAS,IAAI,GACZ,UAGF,EAAU,GAAQ,CAAK;CAChC;AACF;AAEA,SAAS,EAAc,GAAQ,GAAO;CACpC,IAAI,EAAO,SAAS,GAClB,OAAO;CAGT,IAAI;CACJ,IAAI,IAAU,EAAO,MAAM,CAAM,GAAG;EAClC,IAAI,KAAW,OACb,OAAO;EAET,EAAO,IAAI,MAAM;CACnB;CAGA,OADA,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAiB,GAAQ,GAAO;CAWvC,OAVI,EAAO,SAAS,IACX,QAGL,EAAO,MAAM,CAAM,IACrB,EAAO,IAAI,MAAM,IAEjB,EAAO,MAAM,CAAS,KAAK,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAiB,GAEjG,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAgB,GAAQ,GAAO;CAOtC,OANI,EAAO,SAAS,IACX,QAGT,EAAO,MAAM,CAAK,GAClB,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAW,GAAK,GAAO,GAAO;CACrC,OAAO,SAAU,GAAQ,GAAO;EAG9B,KAFA,IAAI,IAAU,IAEP,EAAO,KAAK,IACjB,IAAK,GA0BH,AADA,EAAO,KAAK,GACZ,IAAU;OA1BE;GACZ,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,KAAS,EAAO,MAAM,MAAM,EAAK,GAEnC,OADA,EAAM,SAAS,KAAK,EAAU,MAAM,KAAK,MAAM,CAAC,GACzC;GAGT,IAAI,IAAK,EAAO,KAAK;GAErB,IAAI,KAAM,GAER,OADA,EAAM,SAAS,IAAI,GACZ;GAGT,IAAU,KAAS,KAAM;EAC3B;EAMF,OAAO;CACT;AACF;AAEA,SAAS,EAAa,GAAQ,GAAO;CACnC,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,EAAO,IAAI,MACb,EAAO,SAAS,GACZ,EAAO,MAAM,CAAM,IAErB,OADA,EAAM,SAAS,IAAI,GACZ;EAKX,KADA,IAAI,IAAU,IACP,EAAO,KAAK,IACjB,IAAK,GAmBH,AADA,EAAO,KAAK,GACZ,IAAU;OAnBE;GACZ,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,KAAS,EAAO,MAAM,MAAM,EAAK,GAEnC,OADA,EAAM,SAAS,KAAK,EAAU,MAAM,KAAK,MAAM,CAAC,GACzC;GAGT,IAAU,EAAO,KAAK,KAAK,QAAQ;EACrC;EAMF,OAAO;CACT;AACF;AAEA,IAAa,IAAU;CACrB,MAAM;CACN,YAAY,WAAY;EACtB,OAAO;GACL,UAAU,CAAC,CAAS;GACpB,eAAe;GACf,WAAW;GACX,WAAW;GACX,QAAQ,CAAC;EACX;CACF;CAEA,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,IAAQ,EAAM,SAAS,EAAM,SAAS,SAAS,GAAG,GAAQ,CAAK,GAC/D,IAAQ,EAAO,QAAQ;EAO3B,OALI,KAAS,KAAS,cACpB,EAAM,YAAY,GAClB,EAAM,YAAY,IAGb;CACT;CAEA,QAAQ,SAAU,GAAO,GAAW,GAAI;EAOtC,OANA,IAAY,EAAU,QAAQ,oCAAoC,EAAE,GAEhE,EAAe,KAAK,CAAS,KAAK,EAAgB,KAAK,CAAS,IAC3D,EAAG,QAAQ,EAAM,gBAAgB,KAGnC,EAAG,OAAO,EAAM;CACzB;CAEA,cAAc;EACZ,eAAe,EAAW,EAAqB,OAAO,CAAmB,GAAG,EAAI;EAChF,eAAe,EAAC,MAAM,IAAG;CAC3B;AACF"}
1
+ {"version":3,"file":"crystal-j2Uodr6G.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/crystal.js"],"sourcesContent":["function wordRegExp(words, end) {\n return new RegExp((end ? \"\" : \"^\") + \"(?:\" + words.join(\"|\") + \")\" + (end ? \"$\" : \"\\\\b\"));\n}\n\nfunction chain(tokenize, stream, state) {\n state.tokenize.push(tokenize);\n return tokenize(stream, state);\n}\n\nvar operators = /^(?:[-+/%|&^]|\\*\\*?|[<>]{2})/;\nvar conditionalOperators = /^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/;\nvar indexingOperators = /^(?:\\[\\][?=]?)/;\nvar anotherOperators = /^(?:\\.(?:\\.{2})?|->|[?:])/;\nvar idents = /^[a-z_\\u009F-\\uFFFF][a-zA-Z0-9_\\u009F-\\uFFFF]*/;\nvar types = /^[A-Z_\\u009F-\\uFFFF][a-zA-Z0-9_\\u009F-\\uFFFF]*/;\nvar keywords = wordRegExp([\n \"abstract\", \"alias\", \"as\", \"asm\", \"begin\", \"break\", \"case\", \"class\", \"def\", \"do\",\n \"else\", \"elsif\", \"end\", \"ensure\", \"enum\", \"extend\", \"for\", \"fun\", \"if\",\n \"include\", \"instance_sizeof\", \"lib\", \"macro\", \"module\", \"next\", \"of\", \"out\", \"pointerof\",\n \"private\", \"protected\", \"rescue\", \"return\", \"require\", \"select\", \"sizeof\", \"struct\",\n \"super\", \"then\", \"type\", \"typeof\", \"uninitialized\", \"union\", \"unless\", \"until\", \"when\", \"while\", \"with\",\n \"yield\", \"__DIR__\", \"__END_LINE__\", \"__FILE__\", \"__LINE__\"\n]);\nvar atomWords = wordRegExp([\"true\", \"false\", \"nil\", \"self\"]);\nvar indentKeywordsArray = [\n \"def\", \"fun\", \"macro\",\n \"class\", \"module\", \"struct\", \"lib\", \"enum\", \"union\",\n \"do\", \"for\"\n];\nvar indentKeywords = wordRegExp(indentKeywordsArray);\nvar indentExpressionKeywordsArray = [\"if\", \"unless\", \"case\", \"while\", \"until\", \"begin\", \"then\"];\nvar indentExpressionKeywords = wordRegExp(indentExpressionKeywordsArray);\nvar dedentKeywordsArray = [\"end\", \"else\", \"elsif\", \"rescue\", \"ensure\"];\nvar dedentKeywords = wordRegExp(dedentKeywordsArray);\nvar dedentPunctualsArray = [\"\\\\)\", \"\\\\}\", \"\\\\]\"];\nvar dedentPunctuals = new RegExp(\"^(?:\" + dedentPunctualsArray.join(\"|\") + \")$\");\nvar nextTokenizer = {\n \"def\": tokenFollowIdent, \"fun\": tokenFollowIdent, \"macro\": tokenMacroDef,\n \"class\": tokenFollowType, \"module\": tokenFollowType, \"struct\": tokenFollowType,\n \"lib\": tokenFollowType, \"enum\": tokenFollowType, \"union\": tokenFollowType\n};\nvar matching = {\"[\": \"]\", \"{\": \"}\", \"(\": \")\", \"<\": \">\"};\n\nfunction tokenBase(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n // Macros\n if (state.lastToken != \"\\\\\" && stream.match(\"{%\", false)) {\n return chain(tokenMacro(\"%\", \"%\"), stream, state);\n }\n\n if (state.lastToken != \"\\\\\" && stream.match(\"{{\", false)) {\n return chain(tokenMacro(\"{\", \"}\"), stream, state);\n }\n\n // Comments\n if (stream.peek() == \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Variables and keywords\n var matched;\n if (stream.match(idents)) {\n stream.eat(/[?!]/);\n\n matched = stream.current();\n if (stream.eat(\":\")) {\n return \"atom\";\n } else if (state.lastToken == \".\") {\n return \"property\";\n } else if (keywords.test(matched)) {\n if (indentKeywords.test(matched)) {\n if (!(matched == \"fun\" && state.blocks.indexOf(\"lib\") >= 0) && !(matched == \"def\" && state.lastToken == \"abstract\")) {\n state.blocks.push(matched);\n state.currentIndent += 1;\n }\n } else if ((state.lastStyle == \"operator\" || !state.lastStyle) && indentExpressionKeywords.test(matched)) {\n state.blocks.push(matched);\n state.currentIndent += 1;\n } else if (matched == \"end\") {\n state.blocks.pop();\n state.currentIndent -= 1;\n }\n\n if (nextTokenizer.hasOwnProperty(matched)) {\n state.tokenize.push(nextTokenizer[matched]);\n }\n\n return \"keyword\";\n } else if (atomWords.test(matched)) {\n return \"atom\";\n }\n\n return \"variable\";\n }\n\n // Class variables and instance variables\n // or attributes\n if (stream.eat(\"@\")) {\n if (stream.peek() == \"[\") {\n return chain(tokenNest(\"[\", \"]\", \"meta\"), stream, state);\n }\n\n stream.eat(\"@\");\n stream.match(idents) || stream.match(types);\n return \"propertyName\";\n }\n\n // Constants and types\n if (stream.match(types)) {\n return \"tag\";\n }\n\n // Symbols or ':' operator\n if (stream.eat(\":\")) {\n if (stream.eat(\"\\\"\")) {\n return chain(tokenQuote(\"\\\"\", \"atom\", false), stream, state);\n } else if (stream.match(idents) || stream.match(types) ||\n stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators)) {\n return \"atom\";\n }\n stream.eat(\":\");\n return \"operator\";\n }\n\n // Strings\n if (stream.eat(\"\\\"\")) {\n return chain(tokenQuote(\"\\\"\", \"string\", true), stream, state);\n }\n\n // Strings or regexps or macro variables or '%' operator\n if (stream.peek() == \"%\") {\n var style = \"string\";\n var embed = true;\n var delim;\n\n if (stream.match(\"%r\")) {\n // Regexps\n style = \"string.special\";\n delim = stream.next();\n } else if (stream.match(\"%w\")) {\n embed = false;\n delim = stream.next();\n } else if (stream.match(\"%q\")) {\n embed = false;\n delim = stream.next();\n } else {\n if(delim = stream.match(/^%([^\\w\\s=])/)) {\n delim = delim[1];\n } else if (stream.match(/^%[a-zA-Z_\\u009F-\\uFFFF][\\w\\u009F-\\uFFFF]*/)) {\n // Macro variables\n return \"meta\";\n } else if (stream.eat('%')) {\n // '%' operator\n return \"operator\";\n }\n }\n\n if (matching.hasOwnProperty(delim)) {\n delim = matching[delim];\n }\n return chain(tokenQuote(delim, style, embed), stream, state);\n }\n\n // Here Docs\n if (matched = stream.match(/^<<-('?)([A-Z]\\w*)\\1/)) {\n return chain(tokenHereDoc(matched[2], !matched[1]), stream, state)\n }\n\n // Characters\n if (stream.eat(\"'\")) {\n stream.match(/^(?:[^']|\\\\(?:[befnrtv0'\"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\\{[0-9a-fA-F]{1,6}\\})))/);\n stream.eat(\"'\");\n return \"atom\";\n }\n\n // Numbers\n if (stream.eat(\"0\")) {\n if (stream.eat(\"x\")) {\n stream.match(/^[0-9a-fA-F_]+/);\n } else if (stream.eat(\"o\")) {\n stream.match(/^[0-7_]+/);\n } else if (stream.eat(\"b\")) {\n stream.match(/^[01_]+/);\n }\n return \"number\";\n }\n\n if (stream.eat(/^\\d/)) {\n stream.match(/^[\\d_]*(?:\\.[\\d_]+)?(?:[eE][+-]?\\d+)?/);\n return \"number\";\n }\n\n // Operators\n if (stream.match(operators)) {\n stream.eat(\"=\"); // Operators can follow assign symbol.\n return \"operator\";\n }\n\n if (stream.match(conditionalOperators) || stream.match(anotherOperators)) {\n return \"operator\";\n }\n\n // Parens and braces\n if (matched = stream.match(/[({[]/, false)) {\n matched = matched[0];\n return chain(tokenNest(matched, matching[matched], null), stream, state);\n }\n\n // Escapes\n if (stream.eat(\"\\\\\")) {\n stream.next();\n return \"meta\";\n }\n\n stream.next();\n return null;\n}\n\nfunction tokenNest(begin, end, style, started) {\n return function (stream, state) {\n if (!started && stream.match(begin)) {\n state.tokenize[state.tokenize.length - 1] = tokenNest(begin, end, style, true);\n state.currentIndent += 1;\n return style;\n }\n\n var nextStyle = tokenBase(stream, state);\n if (stream.current() === end) {\n state.tokenize.pop();\n state.currentIndent -= 1;\n nextStyle = style;\n }\n\n return nextStyle;\n };\n}\n\nfunction tokenMacro(begin, end, started) {\n return function (stream, state) {\n if (!started && stream.match(\"{\" + begin)) {\n state.currentIndent += 1;\n state.tokenize[state.tokenize.length - 1] = tokenMacro(begin, end, true);\n return \"meta\";\n }\n\n if (stream.match(end + \"}\")) {\n state.currentIndent -= 1;\n state.tokenize.pop();\n return \"meta\";\n }\n\n return tokenBase(stream, state);\n };\n}\n\nfunction tokenMacroDef(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n var matched;\n if (matched = stream.match(idents)) {\n if (matched == \"def\") {\n return \"keyword\";\n }\n stream.eat(/[?!]/);\n }\n\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenFollowIdent(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n if (stream.match(idents)) {\n stream.eat(/[!?]/);\n } else {\n stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators);\n }\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenFollowType(stream, state) {\n if (stream.eatSpace()) {\n return null;\n }\n\n stream.match(types);\n state.tokenize.pop();\n return \"def\";\n}\n\nfunction tokenQuote(end, style, embed) {\n return function (stream, state) {\n var escaped = false;\n\n while (stream.peek()) {\n if (!escaped) {\n if (stream.match(\"{%\", false)) {\n state.tokenize.push(tokenMacro(\"%\", \"%\"));\n return style;\n }\n\n if (stream.match(\"{{\", false)) {\n state.tokenize.push(tokenMacro(\"{\", \"}\"));\n return style;\n }\n\n if (embed && stream.match(\"#{\", false)) {\n state.tokenize.push(tokenNest(\"#{\", \"}\", \"meta\"));\n return style;\n }\n\n var ch = stream.next();\n\n if (ch == end) {\n state.tokenize.pop();\n return style;\n }\n\n escaped = embed && ch == \"\\\\\";\n } else {\n stream.next();\n escaped = false;\n }\n }\n\n return style;\n };\n}\n\nfunction tokenHereDoc(phrase, embed) {\n return function (stream, state) {\n if (stream.sol()) {\n stream.eatSpace()\n if (stream.match(phrase)) {\n state.tokenize.pop();\n return \"string\";\n }\n }\n\n var escaped = false;\n while (stream.peek()) {\n if (!escaped) {\n if (stream.match(\"{%\", false)) {\n state.tokenize.push(tokenMacro(\"%\", \"%\"));\n return \"string\";\n }\n\n if (stream.match(\"{{\", false)) {\n state.tokenize.push(tokenMacro(\"{\", \"}\"));\n return \"string\";\n }\n\n if (embed && stream.match(\"#{\", false)) {\n state.tokenize.push(tokenNest(\"#{\", \"}\", \"meta\"));\n return \"string\";\n }\n\n escaped = stream.next() == \"\\\\\" && embed;\n } else {\n stream.next();\n escaped = false;\n }\n }\n\n return \"string\";\n }\n}\n\nexport const crystal = {\n name: \"crystal\",\n startState: function () {\n return {\n tokenize: [tokenBase],\n currentIndent: 0,\n lastToken: null,\n lastStyle: null,\n blocks: []\n };\n },\n\n token: function (stream, state) {\n var style = state.tokenize[state.tokenize.length - 1](stream, state);\n var token = stream.current();\n\n if (style && style != \"comment\") {\n state.lastToken = token;\n state.lastStyle = style;\n }\n\n return style;\n },\n\n indent: function (state, textAfter, cx) {\n textAfter = textAfter.replace(/^\\s*(?:\\{%)?\\s*|\\s*(?:%\\})?\\s*$/g, \"\");\n\n if (dedentKeywords.test(textAfter) || dedentPunctuals.test(textAfter)) {\n return cx.unit * (state.currentIndent - 1);\n }\n\n return cx.unit * state.currentIndent;\n },\n\n languageData: {\n indentOnInput: wordRegExp(dedentPunctualsArray.concat(dedentKeywordsArray), true),\n commentTokens: {line: \"#\"}\n }\n};\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,EAAW,GAAO,GAAK;CAC9B,OAAW,QAAQ,IAAM,KAAK,OAAO,QAAQ,EAAM,KAAK,GAAG,IAAI,OAAO,IAAM,MAAM,MAAM;AAC1F;AAEA,SAAS,EAAM,GAAU,GAAQ,GAAO;CAEtC,OADA,EAAM,SAAS,KAAK,CAAQ,GACrB,EAAS,GAAQ,CAAK;AAC/B;AAEA,IAAI,IAAY,gCACZ,IAAuB,yCACvB,IAAoB,kBACpB,IAAmB,6BACnB,IAAS,kDACT,IAAQ,kDACR,IAAW,EAAW,6WAO1B,CAAC,GACG,IAAY,EAAW;CAAC;CAAQ;CAAS;CAAO;AAAM,CAAC,GAMvD,IAAiB,EAAW;CAJ9B;CAAO;CAAO;CACd;CAAS;CAAU;CAAU;CAAO;CAAQ;CAC5C;CAAM;AAE0C,CAAC,GAE/C,IAA2B,EAAW;CADL;CAAM;CAAU;CAAQ;CAAS;CAAS;CAAS;AAClB,CAAC,GACnE,IAAsB;CAAC;CAAO;CAAQ;CAAS;CAAU;AAAQ,GACjE,IAAiB,EAAW,CAAmB,GAC/C,IAAuB;CAAC;CAAO;CAAO;AAAK,GAC3C,IAAsB,OAAO,SAAS,EAAqB,KAAK,GAAG,IAAI,IAAI,GAC3E,IAAgB;CAClB,KAAO;CAAkB,KAAO;CAAkB,OAAS;CAC3D,OAAS;CAAiB,QAAU;CAAiB,QAAU;CAC/D,KAAO;CAAiB,MAAQ;CAAiB,OAAS;AAC5D,GACI,IAAW;CAAC,KAAK;CAAK,KAAK;CAAK,KAAK;CAAK,KAAK;AAAG;AAEtD,SAAS,EAAU,GAAQ,GAAO;CAChC,IAAI,EAAO,SAAS,GAClB,OAAO;CAIT,IAAI,EAAM,aAAa,QAAQ,EAAO,MAAM,MAAM,EAAK,GACrD,OAAO,EAAM,EAAW,KAAK,GAAG,GAAG,GAAQ,CAAK;CAGlD,IAAI,EAAM,aAAa,QAAQ,EAAO,MAAM,MAAM,EAAK,GACrD,OAAO,EAAM,EAAW,KAAK,GAAG,GAAG,GAAQ,CAAK;CAIlD,IAAI,EAAO,KAAK,KAAK,KAEnB,OADA,EAAO,UAAU,GACV;CAIT,IAAI;CACJ,IAAI,EAAO,MAAM,CAAM,GA+BrB,OA9BA,EAAO,IAAI,MAAM,GAEjB,IAAU,EAAO,QAAQ,GACrB,EAAO,IAAI,GAAG,IACT,SACE,EAAM,aAAa,MACrB,aACE,EAAS,KAAK,CAAO,KAC1B,EAAe,KAAK,CAAO,IACzB,EAAE,KAAW,SAAS,EAAM,OAAO,QAAQ,KAAK,KAAK,MAAM,EAAE,KAAW,SAAS,EAAM,aAAa,gBACtG,EAAM,OAAO,KAAK,CAAO,GACzB,EAAM,iBAAiB,MAEf,EAAM,aAAa,cAAc,CAAC,EAAM,cAAc,EAAyB,KAAK,CAAO,KACrG,EAAM,OAAO,KAAK,CAAO,GACzB,EAAM,iBAAiB,KACd,KAAW,UACpB,EAAM,OAAO,IAAI,GACjB,IAAM,gBAGJ,EAAc,eAAe,CAAO,KACtC,EAAM,SAAS,KAAK,EAAc,EAAQ,GAGrC,aACE,EAAU,KAAK,CAAO,IACxB,SAGF;CAKT,IAAI,EAAO,IAAI,GAAG,GAOhB,OANI,EAAO,KAAK,KAAK,MACZ,EAAM,EAAU,KAAK,KAAK,MAAM,GAAG,GAAQ,CAAK,KAGzD,EAAO,IAAI,GAAG,GACd,EAAO,MAAM,CAAM,KAAK,EAAO,MAAM,CAAK,GACnC;CAIT,IAAI,EAAO,MAAM,CAAK,GACpB,OAAO;CAIT,IAAI,EAAO,IAAI,GAAG,GAQhB,OAPI,EAAO,IAAI,IAAI,IACV,EAAM,EAAW,MAAM,QAAQ,EAAK,GAAG,GAAQ,CAAK,IAClD,EAAO,MAAM,CAAM,KAAK,EAAO,MAAM,CAAK,KAC1C,EAAO,MAAM,CAAS,KAAK,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAiB,IACjG,UAET,EAAO,IAAI,GAAG,GACP;CAIT,IAAI,EAAO,IAAI,IAAI,GACjB,OAAO,EAAM,EAAW,MAAM,UAAU,EAAI,GAAG,GAAQ,CAAK;CAI9D,IAAI,EAAO,KAAK,KAAK,KAAK;EACxB,IAAI,IAAQ,UACR,IAAQ,IACR;EAEJ,IAAI,EAAO,MAAM,IAAI,GAGnB,AADA,IAAQ,kBACR,IAAQ,EAAO,KAAK;OACf,IAAI,EAAO,MAAM,IAAI,GAE1B,AADA,IAAQ,IACR,IAAQ,EAAO,KAAK;OACf,IAAI,EAAO,MAAM,IAAI,GAE1B,AADA,IAAQ,IACR,IAAQ,EAAO,KAAK;OAEpB,IAAG,IAAQ,EAAO,MAAM,cAAc,GACpC,IAAQ,EAAM;OACT,IAAI,EAAO,MAAM,4CAA4C,GAElE,OAAO;OACF,IAAI,EAAO,IAAI,GAAG,GAEvB,OAAO;EAOX,OAHI,EAAS,eAAe,CAAK,MAC/B,IAAQ,EAAS,KAEZ,EAAM,EAAW,GAAO,GAAO,CAAK,GAAG,GAAQ,CAAK;CAC7D;CAsDA,QAnDI,IAAU,EAAO,MAAM,sBAAsB,KACxC,EAAM,EAAa,EAAQ,IAAI,CAAC,EAAQ,EAAE,GAAG,GAAQ,CAAK,IAI/D,EAAO,IAAI,GAAG,KAChB,EAAO,MAAM,gFAAgF,GAC7F,EAAO,IAAI,GAAG,GACP,UAIL,EAAO,IAAI,GAAG,KACZ,EAAO,IAAI,GAAG,IAChB,EAAO,MAAM,gBAAgB,IACpB,EAAO,IAAI,GAAG,IACvB,EAAO,MAAM,UAAU,IACd,EAAO,IAAI,GAAG,KACvB,EAAO,MAAM,SAAS,GAEjB,YAGL,EAAO,IAAI,KAAK,KAClB,EAAO,MAAM,uCAAuC,GAC7C,YAIL,EAAO,MAAM,CAAS,KACxB,EAAO,IAAI,GAAG,GACP,cAGL,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAgB,IAC9D,cAIL,IAAU,EAAO,MAAM,SAAS,EAAK,MACvC,IAAU,EAAQ,IACX,EAAM,EAAU,GAAS,EAAS,IAAU,IAAI,GAAG,GAAQ,CAAK,KAIrE,EAAO,IAAI,IAAI,KACjB,EAAO,KAAK,GACL,WAGT,EAAO,KAAK,GACL;AACT;AAEA,SAAS,EAAU,GAAO,GAAK,GAAO,GAAS;CAC7C,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,CAAC,KAAW,EAAO,MAAM,CAAK,GAGhC,OAFA,EAAM,SAAS,EAAM,SAAS,SAAS,KAAK,EAAU,GAAO,GAAK,GAAO,EAAI,GAC7E,EAAM,iBAAiB,GAChB;EAGT,IAAI,IAAY,EAAU,GAAQ,CAAK;EAOvC,OANI,EAAO,QAAQ,MAAM,MACvB,EAAM,SAAS,IAAI,GACnB,IAAM,eACN,IAAY,IAGP;CACT;AACF;AAEA,SAAS,EAAW,GAAO,GAAK,GAAS;CACvC,OAAO,SAAU,GAAQ,GAAO;EAa9B,OAZI,CAAC,KAAW,EAAO,MAAM,MAAM,CAAK,KACtC,EAAM,iBAAiB,GACvB,EAAM,SAAS,EAAM,SAAS,SAAS,KAAK,EAAW,GAAO,GAAK,EAAI,GAChE,UAGL,EAAO,MAAM,IAAM,GAAG,KACxB,IAAM,eACN,EAAM,SAAS,IAAI,GACZ,UAGF,EAAU,GAAQ,CAAK;CAChC;AACF;AAEA,SAAS,EAAc,GAAQ,GAAO;CACpC,IAAI,EAAO,SAAS,GAClB,OAAO;CAGT,IAAI;CACJ,IAAI,IAAU,EAAO,MAAM,CAAM,GAAG;EAClC,IAAI,KAAW,OACb,OAAO;EAET,EAAO,IAAI,MAAM;CACnB;CAGA,OADA,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAiB,GAAQ,GAAO;CAWvC,OAVI,EAAO,SAAS,IACX,QAGL,EAAO,MAAM,CAAM,IACrB,EAAO,IAAI,MAAM,IAEjB,EAAO,MAAM,CAAS,KAAK,EAAO,MAAM,CAAoB,KAAK,EAAO,MAAM,CAAiB,GAEjG,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAgB,GAAQ,GAAO;CAOtC,OANI,EAAO,SAAS,IACX,QAGT,EAAO,MAAM,CAAK,GAClB,EAAM,SAAS,IAAI,GACZ;AACT;AAEA,SAAS,EAAW,GAAK,GAAO,GAAO;CACrC,OAAO,SAAU,GAAQ,GAAO;EAG9B,KAFA,IAAI,IAAU,IAEP,EAAO,KAAK,IACjB,IAAK,GA0BH,AADA,EAAO,KAAK,GACZ,IAAU;OA1BE;GACZ,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,KAAS,EAAO,MAAM,MAAM,EAAK,GAEnC,OADA,EAAM,SAAS,KAAK,EAAU,MAAM,KAAK,MAAM,CAAC,GACzC;GAGT,IAAI,IAAK,EAAO,KAAK;GAErB,IAAI,KAAM,GAER,OADA,EAAM,SAAS,IAAI,GACZ;GAGT,IAAU,KAAS,KAAM;EAC3B;EAMF,OAAO;CACT;AACF;AAEA,SAAS,EAAa,GAAQ,GAAO;CACnC,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,EAAO,IAAI,MACb,EAAO,SAAS,GACZ,EAAO,MAAM,CAAM,IAErB,OADA,EAAM,SAAS,IAAI,GACZ;EAKX,KADA,IAAI,IAAU,IACP,EAAO,KAAK,IACjB,IAAK,GAmBH,AADA,EAAO,KAAK,GACZ,IAAU;OAnBE;GACZ,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,EAAO,MAAM,MAAM,EAAK,GAE1B,OADA,EAAM,SAAS,KAAK,EAAW,KAAK,GAAG,CAAC,GACjC;GAGT,IAAI,KAAS,EAAO,MAAM,MAAM,EAAK,GAEnC,OADA,EAAM,SAAS,KAAK,EAAU,MAAM,KAAK,MAAM,CAAC,GACzC;GAGT,IAAU,EAAO,KAAK,KAAK,QAAQ;EACrC;EAMF,OAAO;CACT;AACF;AAEA,IAAa,IAAU;CACrB,MAAM;CACN,YAAY,WAAY;EACtB,OAAO;GACL,UAAU,CAAC,CAAS;GACpB,eAAe;GACf,WAAW;GACX,WAAW;GACX,QAAQ,CAAC;EACX;CACF;CAEA,OAAO,SAAU,GAAQ,GAAO;EAC9B,IAAI,IAAQ,EAAM,SAAS,EAAM,SAAS,SAAS,GAAG,GAAQ,CAAK,GAC/D,IAAQ,EAAO,QAAQ;EAO3B,OALI,KAAS,KAAS,cACpB,EAAM,YAAY,GAClB,EAAM,YAAY,IAGb;CACT;CAEA,QAAQ,SAAU,GAAO,GAAW,GAAI;EAOtC,OANA,IAAY,EAAU,QAAQ,oCAAoC,EAAE,GAEhE,EAAe,KAAK,CAAS,KAAK,EAAgB,KAAK,CAAS,IAC3D,EAAG,QAAQ,EAAM,gBAAgB,KAGnC,EAAG,OAAO,EAAM;CACzB;CAEA,cAAc;EACZ,eAAe,EAAW,EAAqB,OAAO,CAAmB,GAAG,EAAI;EAChF,eAAe,EAAC,MAAM,IAAG;CAC3B;AACF"}
@@ -315,4 +315,4 @@ var C = e({
315
315
  //#endregion
316
316
  export { C as gss };
317
317
 
318
- //# sourceMappingURL=css-Byc0XEOa.js.map
318
+ //# sourceMappingURL=css-DikOvTi5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-Byc0XEOa.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/css.js"],"sourcesContent":["export function mkCSS(parserConfig) {\n parserConfig = {...defaults, ...parserConfig}\n var inline = parserConfig.inline\n\n var tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = parserConfig.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"def\", \"variable-definition\");\n return ret(\"variableName\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variableName.function\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : stream.indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override = \"error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) {\n override = \"error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variableName.constant\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n name: parserConfig.name,\n startState: function() {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter, iCx) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - iCx.unit);\n }\n }\n return indent;\n },\n\n languageData: {\n indentOnInput: /^\\s*\\}$/,\n commentTokens: {line: lineComment, block: {open: \"/*\", close: \"*/\"}},\n autocomplete: allWords\n }\n };\n};\n\nfunction keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n}\n\nvar documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n], documentTypes = keySet(documentTypes_);\n\nvar mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n], mediaTypes = keySet(mediaTypes_);\n\nvar mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\",\n \"dynamic-range\", \"video-dynamic-range\"\n], mediaFeatures = keySet(mediaFeatures_);\n\nvar mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\",\n \"standard\", \"high\"\n], mediaValueKeywords = keySet(mediaValueKeywords_);\n\nvar propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n], propertyKeywords = keySet(propertyKeywords_);\n\nvar nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\nvar fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n], fontProperties = keySet(fontProperties_);\n\nvar counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n], counterDescriptors = keySet(counterDescriptors_);\n\nvar colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n], colorKeywords = keySet(colorKeywords_);\n\nvar valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"conic-gradient\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-play-button\", \"media-slider\", \"media-sliderthumb\",\n \"media-volume-slider\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\",\n \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\", \"repeating-radial-gradient\",\n \"repeating-conic-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n], valueKeywords = keySet(valueKeywords_);\n\nvar allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n\nexport const keywords = {properties: propertyKeywords_, colors: colorKeywords_,\n fonts: fontProperties_, values: valueKeywords_, all: allWords}\n\nconst defaults = {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n}\n\nexport const css = mkCSS({name: \"css\"})\n\nfunction tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n}\n\nexport const sCSS = mkCSS({\n name: \"scss\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName.special\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n }\n})\n\nexport const less = mkCSS({\n name: \"less\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n }\n})\n\nexport const gss = mkCSS({\n name: \"gss\",\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n})\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAgB,EAAM,GAAc;CAClC,IAAe;EAAC,GAAG;EAAU,GAAG;CAAY;CAC5C,IAAI,IAAS,EAAa,QAEtB,IAAa,EAAa,YAC1B,IAAgB,EAAa,iBAAiB,CAAC,GAC/C,IAAa,EAAa,cAAc,CAAC,GACzC,IAAgB,EAAa,iBAAiB,CAAC,GAC/C,IAAqB,EAAa,sBAAsB,CAAC,GACzD,IAAmB,EAAa,oBAAoB,CAAC,GACrD,IAA8B,EAAa,+BAA+B,CAAC,GAC3E,IAAiB,EAAa,kBAAkB,CAAC,GACjD,IAAqB,EAAa,sBAAsB,CAAC,GACzD,IAAgB,EAAa,iBAAiB,CAAC,GAC/C,IAAgB,EAAa,iBAAiB,CAAC,GAC/C,IAAc,EAAa,aAC3B,IAAc,EAAa,aAC3B,IAAsB,EAAa,wBAAwB,IAC3D,IAAuC,EAAa,yCAAyC,IAE7F,GAAM;CACV,SAAS,EAAI,GAAO,GAAI;EAAa,OAAX,IAAO,GAAW;CAAO;CAInD,SAAS,EAAU,GAAQ,GAAO;EAChC,IAAI,IAAK,EAAO,KAAK;EACrB,IAAI,EAAW,IAAK;GAClB,IAAI,IAAS,EAAW,GAAI,GAAQ,CAAK;GACzC,IAAI,MAAW,IAAO,OAAO;EAC/B;EACA,IAAI,KAAM,KAER,OADA,EAAO,SAAS,UAAU,GACnB,EAAI,OAAO,EAAO,QAAQ,CAAC;EAC7B,IAAI,KAAM,QAAQ,KAAM,OAAO,KAAM,QAAQ,EAAO,IAAI,GAAG,GAChE,OAAO,EAAI,MAAM,SAAS;EACrB,IAAI,KAAM,QAAQ,KAAM,KAE7B,OADA,EAAM,WAAW,EAAY,CAAE,GACxB,EAAM,SAAS,GAAQ,CAAK;EAC9B,IAAI,KAAM,KAEf,OADA,EAAO,SAAS,UAAU,GACnB,EAAI,QAAQ,MAAM;EACpB,IAAI,KAAM,KAEf,OADA,EAAO,MAAM,SAAS,GACf,EAAI,WAAW,WAAW;EAC5B,IAAI,KAAK,KAAK,CAAE,KAAK,KAAM,OAAO,EAAO,IAAI,IAAI,GAEtD,OADA,EAAO,SAAS,QAAQ,GACjB,EAAI,UAAU,MAAM;EACtB,IAAI,MAAO,KAChB;OAAI,QAAQ,KAAK,EAAO,KAAK,CAAC,GAE5B,OADA,EAAO,SAAS,QAAQ,GACjB,EAAI,UAAU,MAAM;GACtB,IAAI,EAAO,MAAM,aAAa,GAInC,OAHA,EAAO,SAAS,UAAU,GACtB,EAAO,MAAM,SAAS,EAAK,IACtB,EAAI,OAAO,qBAAqB,IAClC,EAAI,gBAAgB,UAAU;GAChC,IAAI,EAAO,MAAM,OAAO,GAC7B,OAAO,EAAI,QAAQ,MAAM;EAC3B,OACK,IAAI,WAAW,KAAK,CAAE,GAC3B,OAAO,EAAI,MAAM,WAAW;OACvB,IAAI,KAAM,OAAO,EAAO,MAAM,uBAAuB,GAC1D,OAAO,EAAI,aAAa,WAAW;OAC9B,IAAI,iBAAiB,KAAK,CAAE,GACjC,OAAO,EAAI,MAAM,CAAE;OACd,IAAI,EAAO,MAAM,gBAAgB,GAItC,OAHI,mCAAmC,KAAK,EAAO,QAAQ,CAAC,MAC1D,EAAM,WAAW,IAEZ,EAAI,yBAAyB,UAAU;OACzC,IAAI,WAAW,KAAK,CAAE,GAE3B,OADA,EAAO,SAAS,UAAU,GACnB,EAAI,YAAY,MAAM;OAE7B,OAAO,EAAI,MAAM,IAAI;CAEzB;CAEA,SAAS,EAAY,GAAO;EAC1B,OAAO,SAAS,GAAQ,GAAO;GAE7B,KADA,IAAI,IAAU,IAAO,IACb,IAAK,EAAO,KAAK,MAAM,OAAM;IACnC,IAAI,KAAM,KAAS,CAAC,GAAS;KAC3B,AAAI,KAAS,OAAK,EAAO,OAAO,CAAC;KACjC;IACF;IACA,IAAU,CAAC,KAAW,KAAM;GAC9B;GAEA,QADI,KAAM,KAAS,CAAC,KAAW,KAAS,SAAK,EAAM,WAAW,OACvD,EAAI,UAAU,QAAQ;EAC/B;CACF;CAEA,SAAS,EAAmB,GAAQ,GAAO;EAMzC,OALA,EAAO,KAAK,GACP,EAAO,MAAM,eAAe,EAAK,IAGpC,EAAM,WAAW,OAFjB,EAAM,WAAW,EAAY,GAAG,GAG3B,EAAI,MAAM,GAAG;CACtB;CAIA,SAAS,EAAQ,GAAM,GAAQ,GAAM;EAGnC,AAFA,KAAK,OAAO,GACZ,KAAK,SAAS,GACd,KAAK,OAAO;CACd;CAEA,SAAS,EAAY,GAAO,GAAQ,GAAM,GAAQ;EAEhD,OADA,EAAM,UAAU,IAAI,EAAQ,GAAM,EAAO,YAAY,KAAK,MAAW,KAAQ,IAAI,EAAO,aAAa,EAAM,OAAO,GAC3G;CACT;CAEA,SAAS,EAAW,GAAO;EAGzB,OAFI,EAAM,QAAQ,SAChB,EAAM,UAAU,EAAM,QAAQ,OACzB,EAAM,QAAQ;CACvB;CAEA,SAAS,EAAK,GAAM,GAAQ,GAAO;EACjC,OAAO,EAAO,EAAM,QAAQ,MAAM,GAAM,GAAQ,CAAK;CACvD;CACA,SAAS,EAAW,GAAM,GAAQ,GAAO,GAAG;EAC1C,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,KAC1B,EAAM,UAAU,EAAM,QAAQ;EAChC,OAAO,EAAK,GAAM,GAAQ,CAAK;CACjC;CAIA,SAAS,EAAY,GAAQ;EAC3B,IAAI,IAAO,EAAO,QAAQ,EAAE,YAAY;EACxC,AAKE,IALE,EAAc,eAAe,CAAI,IACxB,SACJ,EAAc,eAAe,CAAI,IAC7B,YAEA;CACf;CAEA,IAAI,IAAS,CAAC;CAoNd,OAlNA,EAAO,MAAM,SAAS,GAAM,GAAQ,GAAO;EACzC,IAAI,KAAQ,KACV,OAAO,EAAY,GAAO,GAAQ,OAAO;EACpC,IAAI,KAAQ,OAAO,EAAM,QAAQ,MACtC,OAAO,EAAW,CAAK;EAClB,IAAI,KAAuB,cAAc,KAAK,CAAI,GACvD,OAAO,EAAY,GAAO,GAAQ,kBAAkB;EAC/C,IAAI,uBAAuB,KAAK,CAAI,GACzC,OAAO,EAAY,GAAO,GAAQ,eAAe;EAC5C,IAAI,+CAA+C,KAAK,CAAI,GACjE,OAAO,EAAY,GAAO,GAAQ,SAAS;EACtC,IAAI,+BAA+B,KAAK,CAAI,GAEjD,OADA,EAAM,WAAW,GACV;EACF,IAAI,sCAAsC,KAAK,CAAI,GACxD,OAAO;EACF,IAAI,KAAQ,EAAK,OAAO,CAAC,KAAK,KACnC,OAAO,EAAY,GAAO,GAAQ,IAAI;EACjC,IAAI,KAAQ,QACjB,IAAW;OACN,IAAI,KAAQ,QACjB,IAAW;OACN,IAAI,KAAQ,uBACjB,OAAO;OACF,IAAI,KAAQ,iBACjB,OAAO,EAAY,GAAO,GAAQ,eAAe;OAC5C,IAAI,KAAQ,KACjB,OAAO;OACF,IAAI,KAAe,KAAQ,KAChC,OAAO,EAAY,GAAO,GAAQ,QAAQ;EAE5C,OAAO,EAAM,QAAQ;CACvB,GAEA,EAAO,QAAQ,SAAS,GAAM,GAAQ,GAAO;EAC3C,IAAI,KAAQ,QAAQ;GAClB,IAAI,IAAO,EAAO,QAAQ,EAAE,YAAY;GAYtC,OAXE,EAAiB,eAAe,CAAI,KACtC,IAAW,YACJ,eACE,EAA4B,eAAe,CAAI,KACxD,IAAW,IAAuC,mBAAmB,YAC9D,eACE,KACT,IAAW,EAAO,MAAM,iBAAiB,EAAK,IAAI,aAAa,OACxD,YAEP,IAAW,SACJ;EAEX,OAAO,IAAI,KAAQ,QACjB,OAAO;OACF,IAAI,CAAC,MAAgB,KAAQ,UAAU,KAAQ,cAEpD,OADA,IAAW,SACJ;OAEP,OAAO,EAAO,IAAI,GAAM,GAAQ,CAAK;CAEzC,GAEA,EAAO,YAAY,SAAS,GAAM,GAAQ,GAAO;EAE/C,OADI,KAAQ,MAAY,EAAY,GAAO,GAAQ,MAAM,IAClD,EAAK,GAAM,GAAQ,CAAK;CACjC,GAEA,EAAO,OAAO,SAAS,GAAM,GAAQ,GAAO;EAC1C,IAAI,KAAQ,KAAK,OAAO,EAAW,CAAK;EACxC,IAAI,KAAQ,OAAO,GAAa,OAAO,EAAY,GAAO,GAAQ,WAAW;EAC7E,IAAI,KAAQ,OAAO,KAAQ,KAAK,OAAO,EAAW,GAAM,GAAQ,CAAK;EACrE,IAAI,KAAQ,KAAK,OAAO,EAAY,GAAO,GAAQ,QAAQ;EAE3D,IAAI,KAAQ,UAAU,CAAC,sDAAsD,KAAK,EAAO,QAAQ,CAAC,GAChG,IAAW;OACN,IAAI,KAAQ,QACjB,EAAY,CAAM;OACb,IAAI,KAAQ,iBACjB,OAAO,EAAY,GAAO,GAAQ,eAAe;EAEnD,OAAO;CACT,GAEA,EAAO,YAAY,SAAS,GAAM,GAAS,GAAO;EAGhD,OAFI,KAAQ,MAAY,EAAW,CAAK,IACpC,KAAQ,UAAU,IAAW,YAAmB,eAC7C,EAAM,QAAQ;CACvB,GAEA,EAAO,SAAS,SAAS,GAAM,GAAQ,GAAO;EAM5C,OALI,KAAQ,OAAO,KAAQ,MAAY,EAAW,GAAM,GAAQ,CAAK,IACjE,KAAQ,MAAY,EAAW,CAAK,IACpC,KAAQ,MAAY,EAAY,GAAO,GAAQ,QAAQ,IACvD,KAAQ,kBAAwB,EAAY,GAAO,GAAQ,eAAe,KAC1E,KAAQ,UAAQ,EAAY,CAAM,GAC/B;CACT,GAEA,EAAO,SAAS,SAAS,GAAM,GAAQ,GAAO;EAO5C,OANI,KAAQ,SAAe,WAEvB,KAAQ,UACV,IAAW,yBACJ,EAAM,QAAQ,QAEhB,EAAK,GAAM,GAAQ,CAAK;CACjC,GAEA,EAAO,gBAAgB,SAAS,GAAM,GAAQ,GAAO;EAKjD,OAJE,KAAQ,UAAU,EAAc,eAAe,EAAO,QAAQ,CAAC,KACjE,IAAW,OACJ,EAAM,QAAQ,QAEd,EAAO,QAAQ,GAAM,GAAQ,CAAK;CAE7C,GAEA,EAAO,UAAU,SAAS,GAAM,GAAQ,GAAO;EAC7C,IAAI,KAAQ,KAAK,OAAO,EAAY,GAAO,GAAQ,gBAAgB;EACnE,IAAI,KAAQ,OAAO,KAAQ,KAAK,OAAO,EAAW,GAAM,GAAQ,CAAK;EACrE,IAAI,KAAQ,KAAK,OAAO,EAAW,CAAK,KAAK,EAAY,GAAO,GAAQ,IAAc,UAAU,KAAK;EAErG,IAAI,KAAQ,iBAAiB,OAAO,EAAY,GAAO,GAAQ,eAAe;EAE9E,IAAI,KAAQ,QAAQ;GAClB,IAAI,IAAO,EAAO,QAAQ,EAAE,YAAY;GACxC,AAiBE,IAjBE,KAAQ,UAAU,KAAQ,SAAS,KAAQ,SAAS,KAAQ,OACnD,YACJ,EAAW,eAAe,CAAI,IAC1B,cACJ,EAAc,eAAe,CAAI,IAC7B,aACJ,EAAmB,eAAe,CAAI,IAClC,YACJ,EAAiB,eAAe,CAAI,IAChC,aACJ,EAA4B,eAAe,CAAI,IAC3C,IAAuC,mBAAmB,aAC9D,EAAc,eAAe,CAAI,IAC7B,SACJ,EAAc,eAAe,CAAI,IAC7B,YAEA;EACf;EACA,OAAO,EAAM,QAAQ;CACvB,GAEA,EAAO,mBAAmB,SAAS,GAAM,GAAQ,GAAO;EAOtD,OANI,KAAQ,MACH,EAAW,GAAM,GAAQ,CAAK,IACnC,KAAQ,MACH,EAAW,CAAK,KAAK,EAAY,GAAO,GAAQ,IAAc,UAAU,OAAO,EAAK,KACzF,KAAQ,WACV,IAAW,UACN,EAAM,QAAQ;CACvB,GAEA,EAAO,iBAAiB,SAAS,GAAM,GAAQ,GAAO;EAGpD,OAFI,KAAQ,MAAY,EAAW,CAAK,IACpC,KAAQ,OAAO,KAAQ,MAAY,EAAW,GAAM,GAAQ,GAAO,CAAC,IACjE,EAAO,QAAQ,GAAM,GAAQ,CAAK;CAC3C,GAEA,EAAO,4BAA4B,SAAS,GAAM,GAAQ,GAAO;EAO/D,OANI,KAAQ,MACH,EAAY,GAAO,GAAQ,oBAAoB,IACpD,KAAQ,UAAU,EAAM,YAAY,oBACtC,IAAW,YACJ,+BAEF,EAAK,GAAM,GAAQ,CAAK;CACjC,GAEA,EAAO,qBAAqB,SAAS,GAAM,GAAQ,GAAO;EAaxD,OAZI,KAAQ,OACV,EAAM,WAAW,MACV,EAAW,CAAK,KAErB,KAAQ,UACV,AAIE,IAJG,EAAM,YAAY,gBAAgB,CAAC,EAAe,eAAe,EAAO,QAAQ,EAAE,YAAY,CAAC,KAC/F,EAAM,YAAY,oBAAoB,CAAC,EAAmB,eAAe,EAAO,QAAQ,EAAE,YAAY,CAAC,IAC/F,UAEA,YACN,eAEF;CACT,GAEA,EAAO,YAAY,SAAS,GAAM,GAAQ,GAAO;EAG/C,OAFI,KAAQ,UAAU,IAAW,YAAmB,eAChD,KAAQ,MAAY,EAAY,GAAO,GAAQ,KAAK,IACjD,EAAK,GAAM,GAAQ,CAAK;CACjC,GAEA,EAAO,KAAK,SAAS,GAAM,GAAQ,GAAO;EAKxC,OAJI,KAAQ,MAAY,EAAW,CAAK,IACpC,KAAQ,OAAO,KAAQ,MAAY,EAAW,GAAM,GAAQ,CAAK,KACjE,KAAQ,SAAQ,IAAW,QACtB,KAAQ,WAAQ,IAAW,YAC7B;CACT,GAEA,EAAO,gBAAgB,SAAS,GAAM,GAAQ,GAAO;EAKnD,OAJI,KAAQ,MAAY,EAAW,CAAK,IACpC,KAAQ,OAAO,KAAQ,MAAY,EAAW,GAAM,GAAQ,CAAK,KACjE,KAAQ,SAAQ,IAAW,aACtB,KAAQ,cAAc,KAAQ,OAAO,KAAQ,QAAK,IAAW,UAC/D;CACT,GAEO;EACL,MAAM,EAAa;EACnB,YAAY,WAAW;GACrB,OAAO;IAAC,UAAU;IACV,OAAO,IAAS,UAAU;IAC1B,UAAU;IACV,SAAS,IAAI,EAAQ,IAAS,UAAU,OAAO,GAAG,IAAI;GAAC;EACjE;EAEA,OAAO,SAAS,GAAQ,GAAO;GAC7B,IAAI,CAAC,EAAM,YAAY,EAAO,SAAS,GAAG,OAAO;GACjD,IAAI,KAAS,EAAM,YAAY,GAAW,GAAQ,CAAK;GAQvD,OAPI,KAAS,OAAO,KAAS,aAC3B,IAAO,EAAM,IACb,IAAQ,EAAM,KAEhB,IAAW,GACP,KAAQ,cACV,EAAM,QAAQ,EAAO,EAAM,OAAO,GAAM,GAAQ,CAAK,IAChD;EACT;EAEA,QAAQ,SAAS,GAAO,GAAW,GAAK;GACtC,IAAI,IAAK,EAAM,SAAS,IAAK,KAAa,EAAU,OAAO,CAAC,GACxD,IAAS,EAAG;GAchB,OAbI,EAAG,QAAQ,WAAW,KAAM,OAAO,KAAM,SAAM,IAAK,EAAG,OACvD,EAAG,SACD,KAAM,QAAQ,EAAG,QAAQ,WAAW,EAAG,QAAQ,SACjC,EAAG,QAAQ,mBAAmB,EAAG,QAAQ,yBAEzD,IAAK,EAAG,MACR,IAAS,EAAG,WACH,KAAM,QAAQ,EAAG,QAAQ,YAAY,EAAG,QAAQ,qBAChD,KAAM,QAAQ,EAAG,QAAQ,QAAQ,EAAG,QAAQ,gBAErD,IAAS,KAAK,IAAI,GAAG,EAAG,SAAS,EAAI,IAAI,KAGtC;EACT;EAEA,cAAc;GACZ,eAAe;GACf,eAAe;IAAC,MAAM;IAAa,OAAO;KAAC,MAAM;KAAM,OAAO;IAAI;GAAC;GACnE,cAAc;EAChB;CACF;AACF;AAEA,SAAS,EAAO,GAAO;CAErB,KAAK,IADD,IAAO,CAAC,GACH,IAAI,GAAG,IAAI,EAAM,QAAQ,EAAE,GAClC,EAAK,EAAM,GAAG,YAAY,KAAK;CAEjC,OAAO;AACT;AAEA,IAAI,IAAiB;CACnB;CAAU;CAAU;CAAO;AAC7B,GAAG,IAAgB,EAAO,CAAc,GAEpC,IAAc;CAChB;CAAO;CAAS;CAAW;CAAY;CAAS;CAAc;CAC9D;CAAO;CAAM;AACf,GAAG,IAAa,EAAO,CAAW,GAE9B,IAAiB,gnBAYrB,GAAG,IAAgB,EAAO,CAAc,GAEpC,IAAsB;CACxB;CAAa;CAAY;CAAQ;CAAU;CAAQ;CAAa;CAChE;CAAa;CACb;CAAQ;CACR;CAAY;AACd,GAAG,IAAqB,EAAO,CAAmB,GAE9C,IAAoB,wwMA6GxB,GAAG,IAAmB,EAAO,CAAiB,GAE1C,IAA+B,soCAkBnC,GAAG,IAA8B,EAAO,CAA4B,GAKjE,IAAiB,EAAO;CAFzB;CAAgB;CAAe;CAAO;CAAiB;CACvD;CAAyB;CAAgB;CAAe;AAC/B,CAAe,GAKvC,IAAqB,EAAO;CAF7B;CAAoB;CAAY;CAAY;CAAO;CAAU;CAC7D;CAAY;CAAU;CAAW;AACc,CAAC,GAE9C,IAAiB,y9CA2BrB,GAAG,IAAgB,EAAO,CAAc,GAEpC,IAAiB,u4KA2FrB,GAAG,IAAgB,EAAO,CAAc,GAEpC,IAAW,EAAe,OAAO,CAAW,EAAE,OAAO,CAAc,EAAE,OAAO,CAAmB,EAC9F,OAAO,CAAiB,EAAE,OAAO,CAA4B,EAAE,OAAO,CAAc,EACpF,OAAO,CAAc,GAKpB,IAAW;CACA;CACH;CACG;CACK;CACF;CACW;CACb;CACI;CACL;CACA;CACf,YAAY,EACV,KAAK,SAAS,GAAQ,GAAO;EAG3B,OAFK,EAAO,IAAI,GAAG,KACnB,EAAM,WAAW,GACV,EAAc,GAAQ,CAAK,KAFL;CAG/B,EACF;AACF;AAEmB,EAAM,EAAC,MAAM,MAAK,CAAC;AAEtC,SAAS,EAAc,GAAQ,GAAO;CAEpC,KADA,IAAI,IAAW,IAAO,IACd,IAAK,EAAO,KAAK,MAAM,OAAM;EACnC,IAAI,KAAY,KAAM,KAAK;GACzB,EAAM,WAAW;GACjB;EACF;EACA,IAAY,KAAM;CACpB;CACA,OAAO,CAAC,WAAW,SAAS;AAC9B;AAEoB,EAAM;CACxB,MAAM;CACM;CACG;CACK;CACF;CACW;CACd;CACA;CACC;CAChB,aAAa;CACb,aAAa;CACb,YAAY;EACV,KAAK,SAAS,GAAQ,GAAO;GAQzB,OAPE,EAAO,IAAI,GAAG,KAChB,EAAO,UAAU,GACV,CAAC,WAAW,SAAS,KACnB,EAAO,IAAI,GAAG,KACvB,EAAM,WAAW,GACV,EAAc,GAAQ,CAAK,KAE3B,CAAC,YAAY,UAAU;EAElC;EACA,KAAK,SAAS,GAAQ;GAGpB,OAFI,EAAO,MAAM,UAAU,EAAK,IACvB,CAAC,MAAM,IAAI,IACb;EACT;EACA,GAAK,SAAS,GAAQ;GAIpB,OAHA,EAAO,MAAM,SAAS,GAClB,EAAO,MAAM,SAAS,EAAK,IACtB,CAAC,OAAO,qBAAqB,IAC/B,CAAC,wBAAwB,UAAU;EAC5C;EACA,KAAK,SAAS,GAAQ;GAEpB,OADK,EAAO,IAAI,GAAG,IACZ,CAAC,MAAM,eAAe,IADA;EAE/B;CACF;AACF,CAAC,GAEmB,EAAM;CACxB,MAAM;CACM;CACG;CACK;CACF;CACW;CACd;CACA;CACC;CAChB,aAAa;CACb,aAAa;CACb,YAAY;EACV,KAAK,SAAS,GAAQ,GAAO;GAQzB,OAPE,EAAO,IAAI,GAAG,KAChB,EAAO,UAAU,GACV,CAAC,WAAW,SAAS,KACnB,EAAO,IAAI,GAAG,KACvB,EAAM,WAAW,GACV,EAAc,GAAQ,CAAK,KAE3B,CAAC,YAAY,UAAU;EAElC;EACA,KAAK,SAAS,GAAQ;GAMpB,OALI,EAAO,IAAI,GAAG,IAAU,CAAC,MAAM,eAAe,IAC9C,EAAO,MAAM,yGAAyG,EAAK,IAAU,MACzI,EAAO,SAAS,UAAU,GACtB,EAAO,MAAM,SAAS,EAAK,IACtB,CAAC,OAAO,qBAAqB,IAC/B,CAAC,gBAAgB,UAAU;EACpC;EACA,KAAK,WAAW;GACd,OAAO,CAAC,QAAQ,MAAM;EACxB;CACF;AACF,CAAC;AAED,IAAa,IAAM,EAAM;CACvB,MAAM;CACS;CACH;CACG;CACG;CACW;CACb;CACI;CACL;CACA;CACf,qBAAqB;CACrB,YAAY,EACV,KAAK,SAAS,GAAQ,GAAO;EAG3B,OAFK,EAAO,IAAI,GAAG,KACnB,EAAM,WAAW,GACV,EAAc,GAAQ,CAAK,KAFL;CAG/B,EACF;AACF,CAAC"}
1
+ {"version":3,"file":"css-DikOvTi5.js","names":[],"sources":["../../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/css.js"],"sourcesContent":["export function mkCSS(parserConfig) {\n parserConfig = {...defaults, ...parserConfig}\n var inline = parserConfig.inline\n\n var tokenHooks = parserConfig.tokenHooks,\n documentTypes = parserConfig.documentTypes || {},\n mediaTypes = parserConfig.mediaTypes || {},\n mediaFeatures = parserConfig.mediaFeatures || {},\n mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n propertyKeywords = parserConfig.propertyKeywords || {},\n nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n fontProperties = parserConfig.fontProperties || {},\n counterDescriptors = parserConfig.counterDescriptors || {},\n colorKeywords = parserConfig.colorKeywords || {},\n valueKeywords = parserConfig.valueKeywords || {},\n allowNested = parserConfig.allowNested,\n lineComment = parserConfig.lineComment,\n supportsAtComponent = parserConfig.supportsAtComponent === true,\n highlightNonStandardPropertyKeywords = parserConfig.highlightNonStandardPropertyKeywords !== false;\n\n var type, override;\n function ret(style, tp) { type = tp; return style; }\n\n // Tokenizers\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (tokenHooks[ch]) {\n var result = tokenHooks[ch](stream, state);\n if (result !== false) return result;\n }\n if (ch == \"@\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"def\", stream.current());\n } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n return ret(null, \"compare\");\n } else if (ch == \"\\\"\" || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \"#\") {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"atom\", \"hash\");\n } else if (ch == \"!\") {\n stream.match(/^\\s*\\w*/);\n return ret(\"keyword\", \"important\");\n } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (ch === \"-\") {\n if (/[\\d.]/.test(stream.peek())) {\n stream.eatWhile(/[\\w.%]/);\n return ret(\"number\", \"unit\");\n } else if (stream.match(/^-[\\w\\\\\\-]*/)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return ret(\"def\", \"variable-definition\");\n return ret(\"variableName\", \"variable\");\n } else if (stream.match(/^\\w+-/)) {\n return ret(\"meta\", \"meta\");\n }\n } else if (/[,+>*\\/]/.test(ch)) {\n return ret(null, \"select-op\");\n } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n return ret(\"qualifier\", \"qualifier\");\n } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n return ret(null, ch);\n } else if (stream.match(/^[\\w-.]+(?=\\()/)) {\n if (/^(url(-prefix)?|domain|regexp)$/i.test(stream.current())) {\n state.tokenize = tokenParenthesized;\n }\n return ret(\"variableName.function\", \"variable\");\n } else if (/[\\w\\\\\\-]/.test(ch)) {\n stream.eatWhile(/[\\w\\\\\\-]/);\n return ret(\"property\", \"word\");\n } else {\n return ret(null, null);\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, ch;\n while ((ch = stream.next()) != null) {\n if (ch == quote && !escaped) {\n if (quote == \")\") stream.backUp(1);\n break;\n }\n escaped = !escaped && ch == \"\\\\\";\n }\n if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenParenthesized(stream, state) {\n stream.next(); // Must be '('\n if (!stream.match(/^\\s*[\\\"\\')]/, false))\n state.tokenize = tokenString(\")\");\n else\n state.tokenize = null;\n return ret(null, \"(\");\n }\n\n // Context management\n\n function Context(type, indent, prev) {\n this.type = type;\n this.indent = indent;\n this.prev = prev;\n }\n\n function pushContext(state, stream, type, indent) {\n state.context = new Context(type, stream.indentation() + (indent === false ? 0 : stream.indentUnit), state.context);\n return type;\n }\n\n function popContext(state) {\n if (state.context.prev)\n state.context = state.context.prev;\n return state.context.type;\n }\n\n function pass(type, stream, state) {\n return states[state.context.type](type, stream, state);\n }\n function popAndPass(type, stream, state, n) {\n for (var i = n || 1; i > 0; i--)\n state.context = state.context.prev;\n return pass(type, stream, state);\n }\n\n // Parser\n\n function wordAsValue(stream) {\n var word = stream.current().toLowerCase();\n if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"variable\";\n }\n\n var states = {};\n\n states.top = function(type, stream, state) {\n if (type == \"{\") {\n return pushContext(state, stream, \"block\");\n } else if (type == \"}\" && state.context.prev) {\n return popContext(state);\n } else if (supportsAtComponent && /@component/i.test(type)) {\n return pushContext(state, stream, \"atComponentBlock\");\n } else if (/^@(-moz-)?document$/i.test(type)) {\n return pushContext(state, stream, \"documentTypes\");\n } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n return pushContext(state, stream, \"atBlock\");\n } else if (/^@(font-face|counter-style)/i.test(type)) {\n state.stateArg = type;\n return \"restricted_atBlock_before\";\n } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n return \"keyframes\";\n } else if (type && type.charAt(0) == \"@\") {\n return pushContext(state, stream, \"at\");\n } else if (type == \"hash\") {\n override = \"builtin\";\n } else if (type == \"word\") {\n override = \"tag\";\n } else if (type == \"variable-definition\") {\n return \"maybeprop\";\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n } else if (type == \":\") {\n return \"pseudo\";\n } else if (allowNested && type == \"(\") {\n return pushContext(state, stream, \"parens\");\n }\n return state.context.type;\n };\n\n states.block = function(type, stream, state) {\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (propertyKeywords.hasOwnProperty(word)) {\n override = \"property\";\n return \"maybeprop\";\n } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n return \"maybeprop\";\n } else if (allowNested) {\n override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n return \"block\";\n } else {\n override = \"error\";\n return \"maybeprop\";\n }\n } else if (type == \"meta\") {\n return \"block\";\n } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n override = \"error\";\n return \"block\";\n } else {\n return states.top(type, stream, state);\n }\n };\n\n states.maybeprop = function(type, stream, state) {\n if (type == \":\") return pushContext(state, stream, \"prop\");\n return pass(type, stream, state);\n };\n\n states.prop = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n if (type == \"hash\" && !/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(stream.current())) {\n override = \"error\";\n } else if (type == \"word\") {\n wordAsValue(stream);\n } else if (type == \"interpolation\") {\n return pushContext(state, stream, \"interpolation\");\n }\n return \"prop\";\n };\n\n states.propBlock = function(type, _stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n return state.context.type;\n };\n\n states.parens = function(type, stream, state) {\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \")\") return popContext(state);\n if (type == \"(\") return pushContext(state, stream, \"parens\");\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n if (type == \"word\") wordAsValue(stream);\n return \"parens\";\n };\n\n states.pseudo = function(type, stream, state) {\n if (type == \"meta\") return \"pseudo\";\n\n if (type == \"word\") {\n override = \"variableName.constant\";\n return state.context.type;\n }\n return pass(type, stream, state);\n };\n\n states.documentTypes = function(type, stream, state) {\n if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n override = \"tag\";\n return state.context.type;\n } else {\n return states.atBlock(type, stream, state);\n }\n };\n\n states.atBlock = function(type, stream, state) {\n if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n if (type == \"word\") {\n var word = stream.current().toLowerCase();\n if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n override = \"keyword\";\n else if (mediaTypes.hasOwnProperty(word))\n override = \"attribute\";\n else if (mediaFeatures.hasOwnProperty(word))\n override = \"property\";\n else if (mediaValueKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else if (propertyKeywords.hasOwnProperty(word))\n override = \"property\";\n else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n override = highlightNonStandardPropertyKeywords ? \"string.special\" : \"property\";\n else if (valueKeywords.hasOwnProperty(word))\n override = \"atom\";\n else if (colorKeywords.hasOwnProperty(word))\n override = \"keyword\";\n else\n override = \"error\";\n }\n return state.context.type;\n };\n\n states.atComponentBlock = function(type, stream, state) {\n if (type == \"}\")\n return popAndPass(type, stream, state);\n if (type == \"{\")\n return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n if (type == \"word\")\n override = \"error\";\n return state.context.type;\n };\n\n states.atBlock_parens = function(type, stream, state) {\n if (type == \")\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n return states.atBlock(type, stream, state);\n };\n\n states.restricted_atBlock_before = function(type, stream, state) {\n if (type == \"{\")\n return pushContext(state, stream, \"restricted_atBlock\");\n if (type == \"word\" && state.stateArg == \"@counter-style\") {\n override = \"variable\";\n return \"restricted_atBlock_before\";\n }\n return pass(type, stream, state);\n };\n\n states.restricted_atBlock = function(type, stream, state) {\n if (type == \"}\") {\n state.stateArg = null;\n return popContext(state);\n }\n if (type == \"word\") {\n if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n override = \"error\";\n else\n override = \"property\";\n return \"maybeprop\";\n }\n return \"restricted_atBlock\";\n };\n\n states.keyframes = function(type, stream, state) {\n if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n if (type == \"{\") return pushContext(state, stream, \"top\");\n return pass(type, stream, state);\n };\n\n states.at = function(type, stream, state) {\n if (type == \";\") return popContext(state);\n if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"tag\";\n else if (type == \"hash\") override = \"builtin\";\n return \"at\";\n };\n\n states.interpolation = function(type, stream, state) {\n if (type == \"}\") return popContext(state);\n if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n if (type == \"word\") override = \"variable\";\n else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n return \"interpolation\";\n };\n\n return {\n name: parserConfig.name,\n startState: function() {\n return {tokenize: null,\n state: inline ? \"block\" : \"top\",\n stateArg: null,\n context: new Context(inline ? \"block\" : \"top\", 0, null)};\n },\n\n token: function(stream, state) {\n if (!state.tokenize && stream.eatSpace()) return null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style && typeof style == \"object\") {\n type = style[1];\n style = style[0];\n }\n override = style;\n if (type != \"comment\")\n state.state = states[state.state](type, stream, state);\n return override;\n },\n\n indent: function(state, textAfter, iCx) {\n var cx = state.context, ch = textAfter && textAfter.charAt(0);\n var indent = cx.indent;\n if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n if (cx.prev) {\n if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n // Resume indentation from parent context.\n cx = cx.prev;\n indent = cx.indent;\n } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n // Dedent relative to current context.\n indent = Math.max(0, cx.indent - iCx.unit);\n }\n }\n return indent;\n },\n\n languageData: {\n indentOnInput: /^\\s*\\}$/,\n commentTokens: {line: lineComment, block: {open: \"/*\", close: \"*/\"}},\n autocomplete: allWords\n }\n };\n};\n\nfunction keySet(array) {\n var keys = {};\n for (var i = 0; i < array.length; ++i) {\n keys[array[i].toLowerCase()] = true;\n }\n return keys;\n}\n\nvar documentTypes_ = [\n \"domain\", \"regexp\", \"url\", \"url-prefix\"\n], documentTypes = keySet(documentTypes_);\n\nvar mediaTypes_ = [\n \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n \"tty\", \"tv\", \"embossed\"\n], mediaTypes = keySet(mediaTypes_);\n\nvar mediaFeatures_ = [\n \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n \"pointer\", \"any-pointer\", \"hover\", \"any-hover\", \"prefers-color-scheme\",\n \"dynamic-range\", \"video-dynamic-range\"\n], mediaFeatures = keySet(mediaFeatures_);\n\nvar mediaValueKeywords_ = [\n \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n \"interlace\", \"progressive\",\n \"dark\", \"light\",\n \"standard\", \"high\"\n], mediaValueKeywords = keySet(mediaValueKeywords_);\n\nvar propertyKeywords_ = [\n \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n \"alignment-baseline\", \"all\", \"anchor-point\", \"animation\", \"animation-delay\",\n \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n \"animation-timing-function\", \"appearance\", \"azimuth\", \"backdrop-filter\",\n \"backface-visibility\", \"background\", \"background-attachment\",\n \"background-blend-mode\", \"background-clip\", \"background-color\",\n \"background-image\", \"background-origin\", \"background-position\",\n \"background-position-x\", \"background-position-y\", \"background-repeat\",\n \"background-size\", \"baseline-shift\", \"binding\", \"bleed\", \"block-size\",\n \"bookmark-label\", \"bookmark-level\", \"bookmark-state\", \"bookmark-target\",\n \"border\", \"border-bottom\", \"border-bottom-color\", \"border-bottom-left-radius\",\n \"border-bottom-right-radius\", \"border-bottom-style\", \"border-bottom-width\",\n \"border-collapse\", \"border-color\", \"border-image\", \"border-image-outset\",\n \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n \"border-image-width\", \"border-left\", \"border-left-color\", \"border-left-style\",\n \"border-left-width\", \"border-radius\", \"border-right\", \"border-right-color\",\n \"border-right-style\", \"border-right-width\", \"border-spacing\", \"border-style\",\n \"border-top\", \"border-top-color\", \"border-top-left-radius\",\n \"border-top-right-radius\", \"border-top-style\", \"border-top-width\",\n \"border-width\", \"bottom\", \"box-decoration-break\", \"box-shadow\", \"box-sizing\",\n \"break-after\", \"break-before\", \"break-inside\", \"caption-side\", \"caret-color\",\n \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\", \"column-fill\",\n \"column-gap\", \"column-rule\", \"column-rule-color\", \"column-rule-style\",\n \"column-rule-width\", \"column-span\", \"column-width\", \"columns\", \"contain\",\n \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\", \"cue-after\",\n \"cue-before\", \"cursor\", \"direction\", \"display\", \"dominant-baseline\",\n \"drop-initial-after-adjust\", \"drop-initial-after-align\",\n \"drop-initial-before-adjust\", \"drop-initial-before-align\", \"drop-initial-size\",\n \"drop-initial-value\", \"elevation\", \"empty-cells\", \"fit\", \"fit-content\", \"fit-position\",\n \"flex\", \"flex-basis\", \"flex-direction\", \"flex-flow\", \"flex-grow\",\n \"flex-shrink\", \"flex-wrap\", \"float\", \"float-offset\", \"flow-from\", \"flow-into\",\n \"font\", \"font-family\", \"font-feature-settings\", \"font-kerning\",\n \"font-language-override\", \"font-optical-sizing\", \"font-size\",\n \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-synthesis\",\n \"font-variant\", \"font-variant-alternates\", \"font-variant-caps\",\n \"font-variant-east-asian\", \"font-variant-ligatures\", \"font-variant-numeric\",\n \"font-variant-position\", \"font-variation-settings\", \"font-weight\", \"gap\",\n \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\", \"grid-auto-rows\",\n \"grid-column\", \"grid-column-end\", \"grid-column-gap\", \"grid-column-start\",\n \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\", \"grid-row-start\",\n \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\", \"icon\",\n \"image-orientation\", \"image-rendering\", \"image-resolution\", \"inline-box-align\",\n \"inset\", \"inset-block\", \"inset-block-end\", \"inset-block-start\", \"inset-inline\",\n \"inset-inline-end\", \"inset-inline-start\", \"isolation\", \"justify-content\",\n \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\", \"line-break\",\n \"line-height\", \"line-height-step\", \"line-stacking\", \"line-stacking-ruby\",\n \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\", \"marks\",\n \"marquee-direction\", \"marquee-loop\", \"marquee-play-count\", \"marquee-speed\",\n \"marquee-style\", \"mask-clip\", \"mask-composite\", \"mask-image\", \"mask-mode\",\n \"mask-origin\", \"mask-position\", \"mask-repeat\", \"mask-size\",\"mask-type\",\n \"max-block-size\", \"max-height\", \"max-inline-size\",\n \"max-width\", \"min-block-size\", \"min-height\", \"min-inline-size\", \"min-width\",\n \"mix-blend-mode\", \"move-to\", \"nav-down\", \"nav-index\", \"nav-left\", \"nav-right\",\n \"nav-up\", \"object-fit\", \"object-position\", \"offset\", \"offset-anchor\",\n \"offset-distance\", \"offset-path\", \"offset-position\", \"offset-rotate\",\n \"opacity\", \"order\", \"orphans\", \"outline\", \"outline-color\", \"outline-offset\",\n \"outline-style\", \"outline-width\", \"overflow\", \"overflow-style\",\n \"overflow-wrap\", \"overflow-x\", \"overflow-y\", \"padding\", \"padding-bottom\",\n \"padding-left\", \"padding-right\", \"padding-top\", \"page\", \"page-break-after\",\n \"page-break-before\", \"page-break-inside\", \"page-policy\", \"pause\",\n \"pause-after\", \"pause-before\", \"perspective\", \"perspective-origin\", \"pitch\",\n \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\",\n \"position\", \"presentation-level\", \"punctuation-trim\", \"quotes\",\n \"region-break-after\", \"region-break-before\", \"region-break-inside\",\n \"region-fragment\", \"rendering-intent\", \"resize\", \"rest\", \"rest-after\",\n \"rest-before\", \"richness\", \"right\", \"rotate\", \"rotation\", \"rotation-point\",\n \"row-gap\", \"ruby-align\", \"ruby-overhang\", \"ruby-position\", \"ruby-span\",\n \"scale\", \"scroll-behavior\", \"scroll-margin\", \"scroll-margin-block\",\n \"scroll-margin-block-end\", \"scroll-margin-block-start\", \"scroll-margin-bottom\",\n \"scroll-margin-inline\", \"scroll-margin-inline-end\",\n \"scroll-margin-inline-start\", \"scroll-margin-left\", \"scroll-margin-right\",\n \"scroll-margin-top\", \"scroll-padding\", \"scroll-padding-block\",\n \"scroll-padding-block-end\", \"scroll-padding-block-start\",\n \"scroll-padding-bottom\", \"scroll-padding-inline\", \"scroll-padding-inline-end\",\n \"scroll-padding-inline-start\", \"scroll-padding-left\", \"scroll-padding-right\",\n \"scroll-padding-top\", \"scroll-snap-align\", \"scroll-snap-type\",\n \"shape-image-threshold\", \"shape-inside\", \"shape-margin\", \"shape-outside\",\n \"size\", \"speak\", \"speak-as\", \"speak-header\", \"speak-numeral\",\n \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\", \"tab-size\",\n \"table-layout\", \"target\", \"target-name\", \"target-new\", \"target-position\",\n \"text-align\", \"text-align-last\", \"text-combine-upright\", \"text-decoration\",\n \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n \"text-decoration-skip-ink\", \"text-decoration-style\", \"text-emphasis\",\n \"text-emphasis-color\", \"text-emphasis-position\", \"text-emphasis-style\",\n \"text-height\", \"text-indent\", \"text-justify\", \"text-orientation\",\n \"text-outline\", \"text-overflow\", \"text-rendering\", \"text-shadow\",\n \"text-size-adjust\", \"text-space-collapse\", \"text-transform\",\n \"text-underline-position\", \"text-wrap\", \"top\", \"touch-action\", \"transform\", \"transform-origin\",\n \"transform-style\", \"transition\", \"transition-delay\", \"transition-duration\",\n \"transition-property\", \"transition-timing-function\", \"translate\",\n \"unicode-bidi\", \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\",\n \"voice-duration\", \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\",\n \"voice-stress\", \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\",\n \"will-change\", \"word-break\", \"word-spacing\", \"word-wrap\", \"writing-mode\", \"z-index\",\n // SVG-specific\n \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n \"color-interpolation\", \"color-interpolation-filters\",\n \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"paint-order\", \"shape-rendering\", \"stroke\",\n \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\",\n], propertyKeywords = keySet(propertyKeywords_);\n\nvar nonStandardPropertyKeywords_ = [\n \"accent-color\", \"aspect-ratio\", \"border-block\", \"border-block-color\", \"border-block-end\",\n \"border-block-end-color\", \"border-block-end-style\", \"border-block-end-width\",\n \"border-block-start\", \"border-block-start-color\", \"border-block-start-style\",\n \"border-block-start-width\", \"border-block-style\", \"border-block-width\",\n \"border-inline\", \"border-inline-color\", \"border-inline-end\",\n \"border-inline-end-color\", \"border-inline-end-style\",\n \"border-inline-end-width\", \"border-inline-start\", \"border-inline-start-color\",\n \"border-inline-start-style\", \"border-inline-start-width\",\n \"border-inline-style\", \"border-inline-width\", \"content-visibility\", \"margin-block\",\n \"margin-block-end\", \"margin-block-start\", \"margin-inline\", \"margin-inline-end\",\n \"margin-inline-start\", \"overflow-anchor\", \"overscroll-behavior\", \"padding-block\", \"padding-block-end\",\n \"padding-block-start\", \"padding-inline\", \"padding-inline-end\",\n \"padding-inline-start\", \"scroll-snap-stop\", \"scrollbar-3d-light-color\",\n \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n \"scrollbar-track-color\", \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"shape-inside\", \"zoom\"\n], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\nvar fontProperties_ = [\n \"font-display\", \"font-family\", \"src\", \"unicode-range\", \"font-variant\",\n \"font-feature-settings\", \"font-stretch\", \"font-weight\", \"font-style\"\n], fontProperties = keySet(fontProperties_);\n\nvar counterDescriptors_ = [\n \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n \"speak-as\", \"suffix\", \"symbols\", \"system\"\n], counterDescriptors = keySet(counterDescriptors_);\n\nvar colorKeywords_ = [\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkgrey\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkslategrey\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dimgrey\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightgrey\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\", \"lightslategrey\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"slategrey\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n], colorKeywords = keySet(colorKeywords_);\n\nvar valueKeywords_ = [\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n \"bengali\", \"blink\", \"block\", \"block-axis\", \"blur\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"brightness\", \"bullets\", \"button\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n \"compact\", \"condensed\", \"conic-gradient\", \"contain\", \"content\", \"contents\",\n \"content-box\", \"context-menu\", \"continuous\", \"contrast\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n \"cross\", \"crosshair\", \"cubic-bezier\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n \"dot-dash\", \"dot-dot-dash\",\n \"dotted\", \"double\", \"down\", \"drop-shadow\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"grayscale\", \"graytext\", \"grid\", \"groove\",\n \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"hue-rotate\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"manipulation\", \"match\", \"matrix\", \"matrix3d\",\n \"media-play-button\", \"media-slider\", \"media-sliderthumb\",\n \"media-volume-slider\", \"media-volume-sliderthumb\", \"medium\",\n \"menu\", \"menulist\", \"menulist-button\",\n \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"myanmar\", \"n-resize\",\n \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\",\n \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n \"relative\", \"repeat\", \"repeating-linear-gradient\", \"repeating-radial-gradient\",\n \"repeating-conic-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n \"s-resize\", \"sans-serif\", \"saturate\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n \"searchfield-cancel-button\", \"searchfield-decoration\",\n \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n \"semi-condensed\", \"semi-expanded\", \"separate\", \"sepia\", \"serif\", \"show\", \"sidama\",\n \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\",\n \"subpixel-antialiased\", \"svg_masks\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n \"tamil\",\n \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\",\n \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\", \"visiblePainted\",\n \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n \"xx-large\", \"xx-small\"\n], valueKeywords = keySet(valueKeywords_);\n\nvar allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n .concat(valueKeywords_);\n\nexport const keywords = {properties: propertyKeywords_, colors: colorKeywords_,\n fonts: fontProperties_, values: valueKeywords_, all: allWords}\n\nconst defaults = {\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n}\n\nexport const css = mkCSS({name: \"css\"})\n\nfunction tokenCComment(stream, state) {\n var maybeEnd = false, ch;\n while ((ch = stream.next()) != null) {\n if (maybeEnd && ch == \"/\") {\n state.tokenize = null;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return [\"comment\", \"comment\"];\n}\n\nexport const sCSS = mkCSS({\n name: \"scss\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \":\": function(stream) {\n if (stream.match(/^\\s*\\{/, false))\n return [null, null]\n return false;\n },\n \"$\": function(stream) {\n stream.match(/^[\\w-]+/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName.special\", \"variable\"];\n },\n \"#\": function(stream) {\n if (!stream.eat(\"{\")) return false;\n return [null, \"interpolation\"];\n }\n }\n})\n\nexport const less = mkCSS({\n name: \"less\",\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n mediaValueKeywords: mediaValueKeywords,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n fontProperties: fontProperties,\n allowNested: true,\n lineComment: \"//\",\n tokenHooks: {\n \"/\": function(stream, state) {\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return [\"comment\", \"comment\"];\n } else if (stream.eat(\"*\")) {\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n } else {\n return [\"operator\", \"operator\"];\n }\n },\n \"@\": function(stream) {\n if (stream.eat(\"{\")) return [null, \"interpolation\"];\n if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n stream.eatWhile(/[\\w\\\\\\-]/);\n if (stream.match(/^\\s*:/, false))\n return [\"def\", \"variable-definition\"];\n return [\"variableName\", \"variable\"];\n },\n \"&\": function() {\n return [\"atom\", \"atom\"];\n }\n }\n})\n\nexport const gss = mkCSS({\n name: \"gss\",\n documentTypes: documentTypes,\n mediaTypes: mediaTypes,\n mediaFeatures: mediaFeatures,\n propertyKeywords: propertyKeywords,\n nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n fontProperties: fontProperties,\n counterDescriptors: counterDescriptors,\n colorKeywords: colorKeywords,\n valueKeywords: valueKeywords,\n supportsAtComponent: true,\n tokenHooks: {\n \"/\": function(stream, state) {\n if (!stream.eat(\"*\")) return false;\n state.tokenize = tokenCComment;\n return tokenCComment(stream, state);\n }\n }\n})\n"],"x_google_ignoreList":[0],"mappings":"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"}