punctilio 5.4.8 → 5.4.10

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 (62) hide show
  1. package/README.md +12 -2
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +156 -48
  5. package/dist/cli.js.map +1 -1
  6. package/dist/constants.d.ts +2 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +3 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/dashes.d.ts.map +1 -1
  11. package/dist/dashes.js +3 -3
  12. package/dist/dashes.js.map +1 -1
  13. package/dist/html.d.ts +4 -3
  14. package/dist/html.d.ts.map +1 -1
  15. package/dist/html.js +55 -17
  16. package/dist/html.js.map +1 -1
  17. package/dist/markdown.d.ts +1 -2
  18. package/dist/markdown.d.ts.map +1 -1
  19. package/dist/markdown.js +52 -5
  20. package/dist/markdown.js.map +1 -1
  21. package/dist/nbsp.d.ts.map +1 -1
  22. package/dist/nbsp.js +26 -39
  23. package/dist/nbsp.js.map +1 -1
  24. package/dist/peer-dependencies.d.ts +21 -0
  25. package/dist/peer-dependencies.d.ts.map +1 -0
  26. package/dist/peer-dependencies.js +40 -0
  27. package/dist/peer-dependencies.js.map +1 -0
  28. package/dist/prettier-plugin.d.ts.map +1 -1
  29. package/dist/prettier-plugin.js +1 -2
  30. package/dist/prettier-plugin.js.map +1 -1
  31. package/dist/prose-view.d.ts +7 -0
  32. package/dist/prose-view.d.ts.map +1 -1
  33. package/dist/prose-view.js +11 -1
  34. package/dist/prose-view.js.map +1 -1
  35. package/dist/quote-classifier.d.ts.map +1 -1
  36. package/dist/quote-classifier.js +67 -20
  37. package/dist/quote-classifier.js.map +1 -1
  38. package/dist/symbols.d.ts.map +1 -1
  39. package/dist/symbols.js +7 -3
  40. package/dist/symbols.js.map +1 -1
  41. package/dist/transform-options.d.ts +3 -2
  42. package/dist/transform-options.d.ts.map +1 -1
  43. package/dist/transform-options.js +6 -0
  44. package/dist/transform-options.js.map +1 -1
  45. package/dist/utils.d.ts +5 -0
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +10 -0
  48. package/dist/utils.js.map +1 -1
  49. package/package.json +4 -2
  50. package/src/cli.ts +180 -48
  51. package/src/constants.ts +4 -1
  52. package/src/dashes.ts +3 -2
  53. package/src/html.ts +60 -19
  54. package/src/markdown.ts +58 -9
  55. package/src/nbsp.ts +26 -40
  56. package/src/peer-dependencies.ts +58 -0
  57. package/src/prettier-plugin.ts +1 -2
  58. package/src/prose-view.ts +12 -1
  59. package/src/quote-classifier.ts +68 -19
  60. package/src/symbols.ts +8 -4
  61. package/src/transform-options.ts +11 -2
  62. package/src/utils.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dashes.js","sourceRoot":"","sources":["../src/dashes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashes.js","sourceRoot":"","sources":["../src/dashes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACpN,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAkB,gBAAgB,EAA0B,MAAM,iBAAiB,CAAA;AAEvM,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AAQnE,MAAM,EACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EACnD,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAC5E,0BAA0B,EAAE,cAAc,GAC3C,GAAG,eAAe,CAAA;AAEnB,mEAAmE;AACnE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAU,CAAA;AAEpF,0EAA0E;AAC1E,MAAM,gCAAgC,GAAG,6BAA6B;KACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;KACnF,IAAI,CAAC,EAAE,CAAC,CAAA;AAEX,MAAM,MAAM,GAAsB;IAChC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IACtD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IAChE,iEAAiE;IACjE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACjC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;CACjD,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAErC;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IAC5C,eAAe,CAAC,WAAW;IAC3B,eAAe,CAAC,aAAa;IAC7B,eAAe,CAAC,UAAU;IAC1B,eAAe,CAAC,SAAS;IACzB,eAAe,CAAC,UAAU;CAC3B,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,eAAe,CAAC,UAAU;IAC1B,eAAe,CAAC,UAAU;CAC3B,CAAC,CAAA;AAEF;6BAC6B;AAC7B,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;AAE/E;;;;GAIG;AACH,SAAS,IAAI,CACX,IAAe,EACf,KAAa,EACb,QAAoE,EACpE,OAA2B;IAE3B,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAChD,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,CAAC;AAED,8EAA8E;AAC9E,8CAA8C;AAC9C,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,qFAAqF;AACrF,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,yBAAyB;AACzB,8EAA8E;AAE9E,oFAAoF;AACpF,SAAS,uBAAuB,CAAC,KAAsB,EAAE,IAAe;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACzC,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,QAAQ,GAAG,KAAK,IAAI,QAAQ,GAAG,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACzD,IAAI,QAAQ,IAAI,GAAG;YAAE,MAAK;IACjC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,KAAsB,EACtB,IAAe,EACf,SAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,MAAM,IAAI,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM;YAAE,OAAO,KAAK,CAAA;IAC1D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,IAAe,EAAE,UAAkB;IAC9D,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAA,CAAC,8CAA8C;IAC7E,6EAA6E;IAC7E,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,IAAI,EAAE,GAAG,uBAAuB,CAAA;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAe,EAAE,GAAW;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1C,yEAAyE;IACzE,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACjG,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3C,yEAAyE;IACzE,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAA;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA,CAAC,UAAU;IACnD,6EAA6E;IAC7E,OAAO,CAAC,CAAC,EAAE,IAAI,uBAAuB,IAAI,aAAa,CAAC,CAAA;AAC1D,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,WAAW,GAAG,SAAS,CAAA;AAE7B,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;IACtD,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC3B,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,IAAe;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,2EAA2E;QAC3E,sEAAsE;QACtE,2CAA2C;QAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAQ;QAAC,CAAC;QACzD,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,CAAC;AAED,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,oBAAoB,CAAC,IAAe,EAAE,CAAS;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3E,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,MAAM,EAAE,CAAA;IAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;QAAE,OAAO,MAAM,CAAA;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAe,EAAE,CAAS;IACtD,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,+EAA+E;IAC/E,uDAAuD;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAA;IACjG,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC7C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;IAChC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,eAAe,GAAG,SAAS,CAAA;AACjC,MAAM,yBAAyB,GAAG,aAAa,CAAA;AAE/C,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,IAAe,EAAE,CAAS;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,kEAAkE;IAClE,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;WAChE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,6CAA6C;IAC7C,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAe,EAAE,UAAkB;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IACvD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAClD,oEAAoE;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,YAAY,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAA;IAC9C,yEAAyE;IACzE,IAAI,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1D,6EAA6E;IAC7E,0CAA0C;IAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAC3C,IAAI,OAAO,GAAG,YAAY,GAAG,CAAC,CAAA;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,OAAO,GAAG,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACnG,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IAErD,4EAA4E;IAC5E,gEAAgE;IAChE,EAAE;IACF,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,wEAAwE;IACxE,kDAAkD;IAClD,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAA;QACxC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC9C,IAAI,IAAI,KAAK,IAAI;YAAE,SAAQ;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC1C,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,IAAe,EAAE,GAAW;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,GAAG,GAAG,CAAA;IACX,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,2EAA2E;QAC3E,uDAAuD;QACvD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACxC,CAAC,EAAE,CAAA;QACH,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YACxC,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,mEAAmE;IACnE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,CAAC,EAAE,CAAA;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAA;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAA;AAC5B,CAAC;AASD,gFAAgF;AAChF,SAAS,UAAU,CAAC,IAAe,EAAE,GAAW;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,GAAG,GAAG,CAAA;IACX,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACpC,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACxC,CAAC,EAAE,CAAA;IACL,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,eAAe,GAAG,CAAC,CAAA;IACzB,CAAC,EAAE,CAAA;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAA;IAChE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,GAAG,eAAe,EAAE,CAAA;AACzD,CAAC;AAQD;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,IAAe,EAAE,MAAc;IAC1D,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1D,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACzD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,IAAe;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzB,SAAQ;YACV,CAAC;QACH,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAe,EAAE,CAAS;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,yEAAyE;IACzE,mDAAmD;IACnD,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1B,IAAI,MAAM,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;IACvE,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;IACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAAE,QAAQ,EAAE,CAAA;IACrF,yEAAyE;IACzE,IAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAEvC,0EAA0E;IAC1E,kFAAkF;IAClF,IAAI,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAA;IAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,UAAU,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAAE,UAAU,EAAE,CAAA;IAC3G,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;IACxC,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAA;IACzB,8CAA8C;IAC9C,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,gFAAgF;IAChF,+EAA+E;IAC/E,KAAK,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAA;QACxC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAC3D,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YAC1D,IAAI,SAAS,KAAK,IAAI;gBAAE,SAAQ;YAChC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAOD,iFAAiF;AACjF,SAAS,aAAa,CAAC,IAAe,EAAE,GAAW;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACf,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAA;IAChE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAA;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAe,EAAE,UAAkB,EAAE,UAAmB;IACnF,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,IAAI,GAAG,GAAG,UAAU,CAAA;IACpB,SAAS,CAAC;QACR,IAAI,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,MAAK;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,KAAK,KAAK,CAAC;YAAE,MAAK;QAC9D,MAAM,UAAU,GAAG,GAAG,GAAG,CAAC,CAAA;QAC1B,IAAI,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC;YAAE,MAAK;QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAAE,MAAK;QAClD,IAAI,GAAG,GAAG,UAAU,GAAG,CAAC,CAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,GAAG,EAAE,CAAA;QACvE,GAAG,GAAG,GAAG,CAAA;QACT,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,WAAW,CAAA;AAEnC;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAe,EAAE,GAAW,EAAE,SAAkB;IACpE,IAAI,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAC5C,kEAAkE;IAClE,6EAA6E;IAC7E,sBAAsB;IACtB,IAAI,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,6EAA6E;IAC7E,UAAU;IACV,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/G,OAAO,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1C,OAAO,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,IAAI,gCAAgC,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,KAAK,CAAC,CAAA;AAE7H;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAe,EAAE,QAAgB;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC/B,wDAAwD;QACxD,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,wEAAwE;IACxE,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;WAC/F,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,OAAO,QAAQ,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,uEAAuE;AACvE,SAAS,wBAAwB,CAAC,IAAe,EAAE,QAAgB;IACjE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC9C,OAAO,MAAM,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CAAC,IAAe,EAAE,WAAmB;IAC1D,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,IAAI,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;IACvC,2EAA2E;IAC3E,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACpG,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACpE,IAAI,IAAI,KAAK,GAAG,IAAI,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAChF,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,CAAA;IACjC,IAAI,IAAI,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;WACxD,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1G,OAAO,IAAI,CAAA;IACb,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,OAAO,IAAI,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;WAC3D,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,IAAe,EAAE,OAAe;IACjE,IAAI,CAAC,GAAG,OAAO,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,CAAC,EAAE,CAAA;IAC7C,OAAO,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IAC3D,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACzF,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,UAAU;IACV,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACpE,6EAA6E;IAC7E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IACpF,OAAO,IAAI,CAAA;AACb,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,KAAyB,EAAE,UAAuB,EAAE;IAClF,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAA;AACnG,CAAC;AAWD,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,KAAsB;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAoC,CAAA;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;IAC1F,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;AACjG,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAe,EAAE,SAAoB;IACpE,IAAI,SAAS,KAAK,MAAM;QAAE,OAAM;IAChC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAEnE,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,gBAAgB;IAChB,MAAM,SAAS,GAAG,qBAAqB,UAAU,0BAA0B,CAAA;IAC3E,MAAM,OAAO,GAAG,mBAAmB,UAAU,wBAAwB,CAAA;IACrE,MAAM,OAAO,GAAG,oBAAoB,YAAY,IAAI,SAAS,+CAA+C,YAAY,IAAI,OAAO,KAAK,CAAA;IACxI,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACvD,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC,EACD;QACE,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5B,wEAAwE;YACxE,yCAAyC;YACzC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;YACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;YAC3C,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YAC3B,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACzB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAA;YACjE,OAAO,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;KACF,CACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;IACjD,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAChC,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC5B,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEF,gFAAgF;AAChF,SAAS,0BAA0B,CAAC,IAAe;IACjD,8EAA8E;IAC9E,qEAAqE;IACrE,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,kCAAkC,EAAE,GAAG,CAAC,EACrD,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,kEAAkE;QAClE,gDAAgD;QAChD,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACvD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;IACb,CAAC,EACD,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAChC,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAe;IAC7C,qEAAqE;IACrE,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,iCAAiC,EAAE,GAAG,CAAC,EACpD,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACvD,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACb,CAAC,EACD,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAChC,CAAA;AACH,CAAC;AAED,MAAM,WAAW,GAAG,YAAY,CAAA;AAEhC;;;;;;;;;;GAUG;AACH,SAAS,wBAAwB,CAAC,KAAsB,EAAE,IAAe,EAAE,SAAiB;IAC1F,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;IACxC,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACzE,wEAAwE;IACxE,IAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9D,MAAM,YAAY,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;IACtD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,UAAU,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,cAAc,GAAG,CAAC,CAAA;AACvJ,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,0BAA0B,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClE,MAAM,0BAA0B,GAAG,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtE,MAAM,8BAA8B,GAAG;IACrC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,oBAAoB;IAC/F,eAAe,CAAC,oBAAoB,EAAE,eAAe,CAAC,kBAAkB,EAAE,eAAe,CAAC,WAAW,EAAE,GAAG;CAC3G,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACV,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,SAAS,aAAa,GAAG,0BAA0B,GAAG,0BAA0B,GAAG,8BAA8B,GAAG,CAAC,CAAA;AAE/J;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAe;IAC1C,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAC3C,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,yEAAyE;QACzE,+DAA+D;QAC/D,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAA;QACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACX,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;YACpE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;gBAChC,IAAI,MAAM,KAAK,SAAS,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;YAC9E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAChC,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAA;YAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAA;QACtE,CAAC;QACD,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC,EACD,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAChC,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,0BAA0B,CAAC,IAAe,EAAE,KAAgB;IACnE,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7D,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACjD,MAAM,QAAQ,GAAG,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,EAAE,CAAA;IAE7D,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACrC,wBAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,WAAW,GAAG,KAAK,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,0BAA0B,EAAE,CAAA;AAEvI,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAEvD,SAAS,UAAU,CAAC,EAAsB;IACxC,OAAO,EAAE,KAAK,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,IAAe,EAAE,QAAgB;IAC5D,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,8BAA8B,OAAO,GAAG,OAAO,IAAI,CAAA;IACnE,+EAA+E;IAC/E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,eAAe,GAAG,CAAC,CAAC,CAAA;IACxB,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA+B,CAAA;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAA;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,sEAAsE;QACtE,4EAA4E;QAC5E,WAAW;QACX,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACvD,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAC9D,IAAI,kBAAkB,GAAG,UAAU;YAAE,UAAU,GAAG,kBAAkB,CAAA;QACpE;sFAC8E;QAC9E,IAAI,UAAU,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,wEAAwE;QACxE,oDAAoD;QACpD,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC;eAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;eAC5B,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7E,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,wEAAwE;QACxE,4DAA4D;QAC5D,sEAAsE;QACtE,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAC7C,IAAI,UAAU,GAAG,CAAC;eACb,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QACnG,0EAA0E;QAC1E,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACzC,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,2EAA2E;QAC3E,2BAA2B;QAC3B,IAAI,UAAU,GAAG,SAAS,GAAG,CAAC,CAAA;QAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YAAE,UAAU,EAAE,CAAA;QAC/E,2EAA2E;QAC3E,2EAA2E;QAC3E,iDAAiD;QACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAChC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAA;QACpC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC,EACD,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAChC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAe,EAAE,SAAiB,EAAE,UAAkB;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC3C,8EAA8E;QAC9E,8EAA8E;QAC9E,+DAA+D;QAC/D,KAAK,IAAI,GAAG,GAAG,UAAU,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;YAClD,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,SAAQ;YACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,QAAQ,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,8EAA8E;IAC9E,2EAA2E;IAC3E,gDAAgD;IAChD,IAAI,YAAY,GAAG,SAAS,CAAA;IAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,GAAG,UAAU;QAAE,YAAY,EAAE,CAAA;IAC9E,qEAAqE;IACrE,KAAK,IAAI,GAAG,GAAG,YAAY,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;QACpD,IAAI,GAAG,GAAG,SAAS,KAAK,CAAC,EAAE,CAAC;YAC1B,4EAA4E;YAC5E,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QACrE,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,SAAQ;QACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAA;IACxC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AASD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,IAAe,EAAE,MAAc;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,OAAO,GAAG,MAAM,CAAA;IACpB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACrE,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,WAAW,GAAG,OAAO,CAAA;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAAE,WAAW,EAAE,CAAA;QAC9G,IAAI,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;IAC3E,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;IAC9E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,IAAe,EAAE,GAAW;IACrD,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACxF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAe,EAAE,MAAc;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,GAAG,MAAM,CAAA;IACd,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA,CAAC,qBAAqB;QACzE,CAAC,EAAE,CAAA;IACL,CAAC;IACD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACjB,oEAAoE;QACpE,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;IACrD,CAAC;SAAM,CAAC;QACN,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA,CAAC,aAAa;QACnE,IAAI,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA,CAAC,cAAc;IACjE,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,aAAa,CAAA;AACrE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,wBAAwB,CAAC,IAAe,EAAE,QAAgB;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACzB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;IACnB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,WAAW,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,UAAU,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,GAAG,gBAAgB;YAAE,SAAQ;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,SAAQ;QAClC,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,8CAA8C;QAC9C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1B,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAQ;QAC9F,CAAC;QACD,+DAA+D;QAC/D,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAA;QACtE,mDAAmD;QACnD,IAAI,QAAQ,GAAG,MAAM,CAAA;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAAE,QAAQ,EAAE,CAAA;QACxE,IAAI,QAAQ,KAAK,MAAM;YAAE,SAAQ,CAAC,oBAAoB;QACtD,qEAAqE;QACrE,qEAAqE;QACrE,gEAAgE;QAChE,uEAAuE;QACvE,oEAAoE;QACpE,UAAU;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;eACvD,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;eACzC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAAE,SAAQ;QACrF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACzB,gBAAgB,GAAG,QAAQ,CAAA;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAChE,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,IAAe,EAAE,QAAgB;IAC9D,MAAM,MAAM,GAAG,IAAI,cAAc,GAAG,WAAW,GAAG,CAAA;IAClD,MAAM,KAAK,GAAG,IAAI,aAAa,GAAG,WAAW,IAAI,CAAA;IACjD,mEAAmE;IACnE,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,OAAO,GAAG,OAAO,cAAc,KAAK,GAAG,CAAA;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACvC,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,0EAA0E;QAC1E,IAAI,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/C,2EAA2E;QAC3E,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAA;QACnE,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;QAC1D,wEAAwE;QACxE,4DAA4D;QAC5D,IAAI,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC1D,yEAAyE;QACzE,sEAAsE;QACtE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,uEAAuE;QACvE,oEAAoE;QACpE,gBAAgB;QAChB,IAAI,OAAO,GAAG,MAAM,CAAA;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAA;QAClE,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;QACjC,IAAI,OAAO,GAAG,MAAM,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;eACvE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;eACzC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,GAAG,MAAM,CAAA;QAClB,CAAC;QACD,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC,EACD,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAChC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,IAAe,EAAE,aAAqB;IACtE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,CAAA;AACnE,CAAC;AAED,2EAA2E;AAC3E,SAAS,uBAAuB,CAAC,IAAe,EAAE,QAAgB;IAChE,MAAM,OAAO,GAAG,QAAQ,aAAa,UAAU,OAAO,OAAO,aAAa,IAAI,CAAA;IAC9E,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,qEAAqE;QACrE,uCAAuC;QACvC,IAAI,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACtD,IAAI,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAA;IACb,CAAC,CACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E,4EAA4E;AAC5E,qEAAqE;AACrE,SAAS,sBAAsB,CAAC,IAAe;IAC7C,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC9B,8BAA8B,CAAC,IAAI,CAAC,CAAA;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,IAAe;IAC/C,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;QACnB,uDAAuD;QACvD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAA;QACzE,wDAAwD;QACxD,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,CAAA;QACnF,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;QACpF,MAAM,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9F,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;QAChD,oEAAoE;QACpE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7G,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACxH,OAAO,IAAI,CAAA;IACb,CAAC,CACF,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,8BAA8B,CAAC,IAAe;IACrD,IAAI,CACF,IAAI,EACJ,YAAY,CAAC,IAAI,OAAO,oBAAoB,EAAE,IAAI,CAAC,EACnD,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACX,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B,CAAA;QAChD,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAA;IACrC,CAAC,CACF,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,aAAa,CAAC,KAAyB,EAAE,UAAuB,EAAE;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAA;IAC7C,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,KAAK,KAAK,MAAM;YAAE,OAAM;QAC5B,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACpC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvB,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,KAAK,UAAU;YAAE,sBAAsB,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;IACnD,MAAM,EAAE,GAAG,YAAY,CAAC,YAAY,WAAW,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC,CAAA;IAChF,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACpE,CAAC,CAAC,CAAA"}
package/dist/html.d.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  import { type RehypePunctilioOptions } from "./rehype.js";
2
- import { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS } from "./sink-option-keys.js";
2
+ export { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS } from "./sink-option-keys.js";
3
3
  export interface HtmlOptions extends RehypePunctilioOptions {
4
4
  /**
5
5
  * Whether to parse the input as an HTML fragment (no implicit `<html>`,
6
6
  * `<head>`, or `<body>` wrapping). Set to `false` to parse a complete
7
- * document. Default: `true`.
7
+ * document. When unset, input that begins with `<!doctype` or `<html`
8
+ * (after optional whitespace and comments) is parsed as a complete
9
+ * document and anything else as a fragment.
8
10
  */
9
11
  fragment?: boolean;
10
12
  }
11
- export { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS };
12
13
  /** @internal */
13
14
  export declare function clearProcessorCache(): void;
14
15
  export declare function transformHtml(input: string, options?: HtmlOptions): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG/E,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAA;AAgBlD,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAI1E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA6CD,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
package/dist/html.js CHANGED
@@ -1,15 +1,42 @@
1
+ import { Tokenizer } from "parse5";
1
2
  import { unified } from "unified";
2
3
  import rehypeParse from "rehype-parse";
3
4
  import rehypeStringify from "rehype-stringify";
4
5
  import QuickLRU from "quick-lru";
5
6
  import { rehypePunctilio } from "./rehype.js";
6
- import { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS } from "./sink-option-keys.js";
7
- import { assertKnownOptionKeys, stableStringify } from "./utils.js";
8
- export { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS };
9
- function createProcessor(options) {
10
- const { fragment, ...punctilioOptions } = options;
7
+ import { HTML_OPTION_KEYS } from "./sink-option-keys.js";
8
+ import { assertKnownOptionKeys, omitKeys, stableStringify, transformPreservingBom } from "./utils.js";
9
+ export { HTML_ONLY_OPTION_KEYS, HTML_OPTION_KEYS } from "./sink-option-keys.js";
10
+ /** True when the first token that is not whitespace or a comment is a doctype
11
+ * or an `<html>` start tag. Stops tokenizing at that token. */
12
+ function startsFullDocument(input) {
13
+ let isFullDocument;
14
+ // Pausing takes effect after the current token, so a token the tokenizer
15
+ // emits in the same step (a doctype flushed behind text) must not overwrite
16
+ // the first verdict.
17
+ const decide = (verdict) => {
18
+ if (isFullDocument !== undefined)
19
+ return;
20
+ isFullDocument = verdict;
21
+ tokenizer.pause();
22
+ };
23
+ const tokenizer = new Tokenizer({}, {
24
+ onComment: () => { },
25
+ onWhitespaceCharacter: () => { },
26
+ onEof: () => { },
27
+ onDoctype: () => decide(true),
28
+ onStartTag: (token) => decide(token.tagName === "html"),
29
+ onEndTag: () => decide(false),
30
+ onCharacter: () => decide(false),
31
+ onNullCharacter: () => decide(false),
32
+ });
33
+ tokenizer.write(input, true);
34
+ return isFullDocument === true;
35
+ }
36
+ function createProcessor(options, fragment) {
37
+ const punctilioOptions = omitKeys(options, ["fragment"]);
11
38
  return unified()
12
- .use(rehypeParse, { fragment: fragment ?? true })
39
+ .use(rehypeParse, { fragment })
13
40
  .use(rehypePunctilio, punctilioOptions)
14
41
  .use(rehypeStringify);
15
42
  }
@@ -23,20 +50,31 @@ export function clearProcessorCache() {
23
50
  }
24
51
  export async function transformHtml(input, options = {}) {
25
52
  assertKnownOptionKeys(options, HTML_OPTION_KEYS, "transformHtml");
26
- // Function-valued options aren't JSON-serializable, so the cache key
27
- // can't distinguish them. Bypass the cache to avoid returning a
28
- // processor wired to a different shouldSkipText.
29
- if (typeof options.shouldSkipText === "function") {
30
- const result = await createProcessor(options).process(input);
31
- return String(result);
32
- }
33
- const optionsKey = stableStringify(options);
53
+ return transformPreservingBom(input, (text) => processHtml(text, options));
54
+ }
55
+ /** Function-valued options aren't JSON-serializable, so the cache key
56
+ * can't distinguish them; those bypass the cache to avoid returning a
57
+ * processor wired to a different shouldSkipText. */
58
+ function getProcessor(options, fragment) {
59
+ if (typeof options.shouldSkipText === "function")
60
+ return createProcessor(options, fragment);
61
+ const optionsKey = stableStringify({ ...options, fragment });
34
62
  let processor = processorCache.get(optionsKey);
35
63
  if (!processor) {
36
- processor = createProcessor(options);
64
+ processor = createProcessor(options, fragment);
37
65
  processorCache.set(optionsKey, processor);
38
66
  }
39
- const result = await processor.process(input);
40
- return String(result);
67
+ return processor;
68
+ }
69
+ // The HTML parser files whitespace after `</html>` inside <body>. Moving the
70
+ // input's final newline back out keeps repeated runs from adding a newline
71
+ // inside <body> each time.
72
+ const NEWLINE_INSIDE_DOCUMENT_END_RE = /\n(?<documentEnd><\/body><\/html>)$/;
73
+ async function processHtml(input, options) {
74
+ const fragment = options.fragment ?? !startsFullDocument(input);
75
+ const output = String(await getProcessor(options, fragment).process(input));
76
+ if (fragment || !input.endsWith("\n"))
77
+ return output;
78
+ return output.replace(NEWLINE_INSIDE_DOCUMENT_END_RE, "$<documentEnd>\n");
41
79
  }
42
80
  //# sourceMappingURL=html.js.map
package/dist/html.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWnE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAA;AAElD,SAAS,eAAe,CAAC,OAAoB;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAA;IACjD,OAAO,OAAO,EAAE;SACb,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAC;SAChD,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACtC,GAAG,CAAC,eAAe,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAElC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAA6C;IAC9E,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAA;AAEF,gBAAgB;AAChB,MAAM,UAAU,mBAAmB;IACjC,cAAc,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,UAAuB,EAAE;IAEzB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;IAEjE,qEAAqE;IACrE,gEAAgE;IAChE,iDAAiD;IACjD,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAE3C,IAAI,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACpC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type RemarkPunctilioOptions } from "./remark.js";
2
- import { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
2
+ export { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
3
3
  /**
4
4
  * Options for `transformMarkdown`. Inherits the Markdown-sink default of
5
5
  * `nbsp: false` from {@link RemarkPunctilioOptions}; pass `nbsp: true` to
@@ -21,7 +21,6 @@ export interface MarkdownOptions extends RemarkPunctilioOptions {
21
21
  /** Thematic break marker. Default: "-" */
22
22
  ruleMarker?: "-" | "*" | "_";
23
23
  }
24
- export { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS };
25
24
  /** @internal */
26
25
  export declare function clearProcessorCache(): void;
27
26
  export declare function transformMarkdown(input: string, options?: MarkdownOptions): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAGvF;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAExB,yDAAyD;IACzD,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAE9B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAC7B;AAED,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAA;AAoC1D,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAajB"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEvF;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAExB,yDAAyD;IACzD,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAE9B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAC7B;AAoCD,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAiDD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAGjB"}
package/dist/markdown.js CHANGED
@@ -3,10 +3,10 @@ import remarkParse from "remark-parse";
3
3
  import remarkGfm from "remark-gfm";
4
4
  import remarkStringify from "remark-stringify";
5
5
  import QuickLRU from "quick-lru";
6
+ import { MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
6
7
  import { remarkPunctilio } from "./remark.js";
7
- import { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
8
- import { assertKnownOptionKeys, stableStringify } from "./utils.js";
9
- export { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS };
8
+ import { assertKnownOptionKeys, stableStringify, transformPreservingBom } from "./utils.js";
9
+ export { MARKDOWN_ONLY_OPTION_KEYS, MARKDOWN_OPTION_KEYS } from "./sink-option-keys.js";
10
10
  function createProcessor(options) {
11
11
  const { emphasisMarker, strongMarker, bulletMarker, ruleMarker, ...punctilioOptions } = options;
12
12
  return unified()
@@ -35,8 +35,40 @@ const processorCache = new QuickLRU({
35
35
  export function clearProcessorCache() {
36
36
  processorCache.clear();
37
37
  }
38
- export async function transformMarkdown(input, options = {}) {
39
- assertKnownOptionKeys(options, MARKDOWN_OPTION_KEYS, "transformMarkdown");
38
+ // Opening fence → fences that may close the block (YAML accepts `...` too).
39
+ // A Map, so a first line like `constructor` cannot resolve to an inherited
40
+ // Object.prototype member.
41
+ const FRONTMATTER_CLOSING_FENCES = new Map([
42
+ ["---", ["---", "..."]],
43
+ ["+++", ["+++"]],
44
+ ]);
45
+ /**
46
+ * Length of the YAML (`---`) or TOML (`+++`) front matter block at the very
47
+ * start of `input`, through its closing fence line and newline. 0 when the
48
+ * input has no terminated front matter block.
49
+ */
50
+ function frontmatterLength(input) {
51
+ let lineStart = 0;
52
+ let closingFences;
53
+ while (lineStart < input.length) {
54
+ const newlineIndex = input.indexOf("\n", lineStart);
55
+ const lineEnd = newlineIndex === -1 ? input.length : newlineIndex + 1;
56
+ const fence = input.slice(lineStart, lineEnd).trimEnd();
57
+ if (closingFences === undefined) {
58
+ closingFences = FRONTMATTER_CLOSING_FENCES.get(fence);
59
+ if (closingFences === undefined)
60
+ return 0;
61
+ }
62
+ else if (closingFences.includes(fence)) {
63
+ return lineEnd;
64
+ }
65
+ lineStart = lineEnd;
66
+ }
67
+ return 0;
68
+ }
69
+ /** Matches blank lines that separate front matter from the document body. */
70
+ const LEADING_BLANK_LINES_RE = /^(?:[ \t]*\r?\n)*/;
71
+ async function processMarkdown(input, options) {
40
72
  const optionsKey = stableStringify(options);
41
73
  let processor = processorCache.get(optionsKey);
42
74
  if (!processor) {
@@ -46,4 +78,19 @@ export async function transformMarkdown(input, options = {}) {
46
78
  const result = await processor.process(input);
47
79
  return String(result);
48
80
  }
81
+ export async function transformMarkdown(input, options = {}) {
82
+ assertKnownOptionKeys(options, MARKDOWN_OPTION_KEYS, "transformMarkdown");
83
+ return transformPreservingBom(input, (text) => transformWithFrontmatter(text, options));
84
+ }
85
+ async function transformWithFrontmatter(input, options) {
86
+ const frontmatterEnd = frontmatterLength(input);
87
+ if (frontmatterEnd === 0)
88
+ return processMarkdown(input, options);
89
+ // Front matter is data (YAML/TOML), not prose; remark would parse it as a
90
+ // thematic break plus a heading and rewrite it.
91
+ const body = input.slice(frontmatterEnd);
92
+ const blankLines = LEADING_BLANK_LINES_RE.exec(body)[0];
93
+ const transformedBody = await processMarkdown(body.slice(blankLines.length), options);
94
+ return input.slice(0, frontmatterEnd) + blankLines + transformedBody;
95
+ }
49
96
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA2BnE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAA;AAE1D,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,GAAG,gBAAgB,EACpB,GAAG,OAAO,CAAA;IAEX,OAAO,OAAO,EAAE;SACb,GAAG,CAAC,WAAW,CAAC;SAChB,GAAG,CAAC,SAAS,CAAC;SACd,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACtC,GAAG,CAAC,eAAe,EAAE;QACpB,QAAQ,EAAE,cAAc,IAAI,GAAG;QAC/B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,IAAI,EAAE,UAAU,IAAI,GAAG;QACvB,kEAAkE;QAClE,uDAAuD;QACvD,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,sEAAsE;QACtE,sEAAsE;QACtE,6CAA6C;QAC7C,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;KACtD,CAAC,CAAA;AACN,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAElC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAA6C;IAC9E,OAAO,EAAE,wBAAwB;CAClC,CAAC,CAAA;AAEF,gBAAgB;AAChB,MAAM,UAAU,mBAAmB;IACjC,cAAc,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,UAA2B,EAAE;IAE7B,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAA;IAEzE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAE3C,IAAI,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACpC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"AACA,OAAO,EAA8F,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAuB9J,wEAAwE;AACxE,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAqClC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAcvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EASpD,CAAA;AA+ED,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAuC7E,eAAO,MAAM,wBAAwB,qCAAkD,CAAA;AAgFvF,eAAO,MAAM,kBAAkB,qCAA4C,CAAA;AAkI3E,eAAO,MAAM,+BAA+B,qCAAyD,CAAA;AAErG,eAAO,MAAM,uBAAuB,qCAAiD,CAAA;AAErF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAE7E,eAAO,MAAM,yBAAyB,qCAAmD,CAAA;AAEzF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAc7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"nbsp.d.ts","sourceRoot":"","sources":["../src/nbsp.ts"],"names":[],"mappings":"AACA,OAAO,EAAgH,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAwBhL,wEAAwE;AACxE,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAqClC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAcvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EASpD,CAAA;AA+ED,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AA6C7E,eAAO,MAAM,wBAAwB,qCAAkD,CAAA;AA2DvF,eAAO,MAAM,kBAAkB,qCAAuE,CAAA;AAkItG,eAAO,MAAM,+BAA+B,qCAAyD,CAAA;AAErG,eAAO,MAAM,uBAAuB,qCAAiD,CAAA;AAErF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAE7E,eAAO,MAAM,yBAAyB,qCAAmD,CAAA;AAEzF,eAAO,MAAM,mBAAmB,qCAA6C,CAAA;AAa7E,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA"}
package/dist/nbsp.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { cachedRegExp, LATIN_LETTER_RE, LATIN_LETTERS, NBSP_CHARS, SPACE_CHAR_RE, SPACE_CHARS, UNICODE_SYMBOLS } from "./constants.js";
2
- import { boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, replaceAllInView } from "./prose-view.js";
2
+ import { advanceScanIndex, boundaryCountAt, exceedsSingleBoundary, interiorBoundariesWithin, makeProsePass, overInput, replaceAllInView } from "./prose-view.js";
3
3
  const { NBSP, LEFT_DOUBLE_QUOTE, RIGHT_DOUBLE_QUOTE, LEFT_SINGLE_QUOTE, RIGHT_SINGLE_QUOTE, COPYRIGHT, REGISTERED, TRADEMARK, } = UNICODE_SYMBOLS;
4
4
  const SPACE = `[${SPACE_CHARS}]`;
5
5
  const UNICODE_UPPERCASE = "\\p{Lu}";
6
6
  // A word-forming character (any Unicode letter or number). Used for the
7
7
  // abbreviation-family word-start guard, which must span the same alphabets the
8
8
  // initial/honorific rules glue on (they key off `\p{Lu}`), so a non-Latin
9
- // acronym like "СССР." is guarded exactly as "NASA." is.
9
+ // acronym like "СССР." is guarded exactly as "NASA." is, and for the last-word
10
+ // rule's check that a word precedes the space.
10
11
  const WORD_CHAR_RE = /[\p{L}\p{N}]/u;
11
12
  /** Only specific abbreviations are matched to avoid false positives. */
12
13
  export const UNITS = [
@@ -143,7 +144,10 @@ function nextWordGluesForward(text, start) {
143
144
  // back-to-back with the previous match, or followed by a word that is itself
144
145
  // glued onward.
145
146
  export const nbspAfterShortWords = makeProsePass(nbspAfterShortWordsOverView);
147
+ // Returns the offsets of the spaces this pass turned into no-break spaces, so
148
+ // the last-word rule can tell its own pipeline's glue from the author's.
146
149
  function nbspAfterShortWordsOverView(view) {
150
+ const insertedGlue = new Set();
147
151
  const pattern = cachedRegExp(`(?<=^|${SPACE}|${PUNCTUATION_OR_QUOTE}|>)(?<shortWord>[${LATIN_LETTERS}]{1,2})${SPACE}`, "gmu");
148
152
  {
149
153
  const clean = view.text;
@@ -166,7 +170,10 @@ function nbspAfterShortWordsOverView(view) {
166
170
  return null;
167
171
  previousMatchEnd = offset + match[0].length;
168
172
  // Edit only the space so any boundary keeps its side of the NBSP.
169
- v.replace(offset + match[0].length - 1, offset + match[0].length, NBSP);
173
+ const spaceOffset = offset + match[0].length - 1;
174
+ if (!NBSP_CHARS.includes(clean[spaceOffset]))
175
+ insertedGlue.add(spaceOffset);
176
+ v.replace(spaceOffset, spaceOffset + 1, NBSP);
170
177
  return null;
171
178
  }, {
172
179
  allowBoundaries: (match, v) => boundariesOnlyAtSlots(v, match.index, match.index + match[0].length, [
@@ -175,6 +182,7 @@ function nbspAfterShortWordsOverView(view) {
175
182
  });
176
183
  }
177
184
  view.commit();
185
+ return insertedGlue;
178
186
  }
179
187
  export const nbspBetweenNumberAndUnit = makeProsePass(nbspBetweenNumberAndUnitOverView);
180
188
  function nbspBetweenNumberAndUnitOverView(view) {
@@ -218,34 +226,13 @@ function precedingGlueNbsp(view, spaceOffset) {
218
226
  return -1;
219
227
  return j >= 0 && NBSP_CHARS.includes(text[j]) ? j : -1;
220
228
  }
221
- /**
222
- * True when the word immediately before the NBSP at `nbspIndex` is a 1–2 letter
223
- * Latin word whose own left edge is a word boundary — an aesthetic short-word
224
- * glue that yields to last-word protection. Semantic glues (honorific `Dr.`,
225
- * abbreviation, unit `12`) carry a "."/digit/symbol right before the NBSP, so
226
- * the backward letter scan finds zero letters and returns false. The scan is
227
- * capped at three letters so it stays bounded on a long preceding word.
228
- */
229
- function isShortWordGlue(view, nbspIndex) {
230
- const text = view.text;
231
- let k = nbspIndex - 1;
232
- let letters = 0;
233
- while (k >= 0 && letters <= 2 && !view.hasBoundary(k + 1) && LATIN_LETTER_RE.test(text[k])) {
234
- k--;
235
- letters++;
236
- }
237
- if (letters === 0 || letters > 2 || view.hasBoundary(k + 1))
238
- return false;
239
- // The short word's left edge must be a real word boundary, matching
240
- // nbspAfterShortWords' lookbehind — not another NBSP.
241
- return !(k >= 0 && NBSP_CHARS.includes(text[k]));
242
- }
243
- // When the second-to-last word is already glued backwards, an aesthetic
244
- // short-word glue yields (reverts to a space) so the last word binds instead,
245
- // keeping the non-breaking run to two words; a semantic glue there blocks.
246
- export const nbspBeforeLastWord = makeProsePass(nbspBeforeLastWordOverView);
247
- function nbspBeforeLastWordOverView(view) {
248
- // The `(?<=\w|boundary)` lookbehind and the preceding-glue resolution are
229
+ // When the second-to-last word is already glued backwards, a short-word glue
230
+ // that `nbspAfterShortWords` inserted yields (reverts to a space) so the last
231
+ // word binds instead, keeping the non-breaking run to two words. Any other
232
+ // glue there (a semantic glue, or a no-break space the author wrote) blocks.
233
+ export const nbspBeforeLastWord = makeProsePass((view) => nbspBeforeLastWordOverView(view, new Set()));
234
+ function nbspBeforeLastWordOverView(view, insertedShortWordGlue) {
235
+ // The word-char-or-boundary lookbehind and the preceding-glue resolution are
249
236
  // enforced in the replacer, where boundaries are visible.
250
237
  const pattern = cachedRegExp(`${SPACE}(?<lastWord>(?:(?!\\s).){1,${MAX_LAST_WORD_LENGTH}})(?<ending>\\n\\n|$)`, "g");
251
238
  {
@@ -253,13 +240,13 @@ function nbspBeforeLastWordOverView(view) {
253
240
  replaceAllInView(view, pattern, (match, v) => {
254
241
  const start = match.index;
255
242
  const end = start + match[0].length;
256
- // `(?<=\w|sep)`: a word char before the space, or a boundary there.
257
- const precededByWord = start > 0 && /\w/.test(clean[start - 1]);
243
+ // A word char before the space, or a boundary there.
244
+ const precededByWord = start > 0 && WORD_CHAR_RE.test(clean[start - 1]);
258
245
  if (!precededByWord && !view.hasBoundary(start))
259
246
  return null;
260
247
  const glueNbsp = precedingGlueNbsp(v, start);
261
248
  if (glueNbsp >= 0) {
262
- if (!isShortWordGlue(v, glueNbsp))
249
+ if (!insertedShortWordGlue.has(glueNbsp))
263
250
  return null;
264
251
  // Revert the short word's glue so the last word binds in its place.
265
252
  v.replace(glueNbsp, glueNbsp + 1, " ");
@@ -312,7 +299,7 @@ function nbspBeforeContext(view, thingPattern, contextPattern, flags, thingGroup
312
299
  start > 0 &&
313
300
  !view.hasBoundary(start) &&
314
301
  WORD_CHAR_RE.test(clean[start - 1])) {
315
- pattern.lastIndex = start + 1;
302
+ pattern.lastIndex = advanceScanIndex(clean, start, pattern);
316
303
  continue;
317
304
  }
318
305
  // Slot between the `thing` literal and the space (offset = end - 1);
@@ -322,7 +309,7 @@ function nbspBeforeContext(view, thingPattern, contextPattern, flags, thingGroup
322
309
  if (!allowed) {
323
310
  // A boundary broke the (possibly longer) literal; let the scan re-anchor
324
311
  // one position later so a shorter sub-abbreviation can still match.
325
- pattern.lastIndex = start + 1;
312
+ pattern.lastIndex = advanceScanIndex(clean, start, pattern);
326
313
  continue;
327
314
  }
328
315
  // Edit only the trailing space so the slot/lookahead boundaries keep their
@@ -352,7 +339,8 @@ export const nbspAfterSectionSymbols = makeProsePass(nbspAfterSectionSymbolsOver
352
339
  export const nbspAfterHonorifics = makeProsePass(nbspAfterHonorificsOverView);
353
340
  export const nbspAfterCopyrightSymbols = makeProsePass(nbspAfterCopyrightSymbolsOverView);
354
341
  export const nbspBetweenInitials = makeProsePass(nbspBetweenInitialsOverView);
355
- // Specific patterns first so they claim matches before generic nbspAfterShortWords.
342
+ // Specific patterns first so they claim matches before the generic short-word
343
+ // rule, which nbspTransform runs after them.
356
344
  const NBSP_TRANSFORMS = [
357
345
  nbspAfterHonorificsOverView,
358
346
  nbspAfterReferenceAbbreviationsOverView,
@@ -360,8 +348,6 @@ const NBSP_TRANSFORMS = [
360
348
  nbspAfterCopyrightSymbolsOverView,
361
349
  nbspBetweenInitialsOverView,
362
350
  nbspBetweenNumberAndUnitOverView,
363
- nbspAfterShortWordsOverView,
364
- nbspBeforeLastWordOverView,
365
351
  ];
366
352
  export function nbspTransform(input) {
367
353
  return overInput(input, (view) => {
@@ -372,6 +358,7 @@ export function nbspTransform(input) {
372
358
  for (const fn of NBSP_TRANSFORMS) {
373
359
  fn(view);
374
360
  }
361
+ nbspBeforeLastWordOverView(view, nbspAfterShortWordsOverView(view));
375
362
  });
376
363
  }
377
364
  //# sourceMappingURL=nbsp.js.map