{"_id":"intertext-lexer","_rev":"34-f7a5cb2e0f41d6df179d01f429725729","name":"intertext-lexer","dist-tags":{"latest":"0.31.0"},"versions":{"0.0.1":{"name":"intertext-lexer","version":"0.0.1","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.0.1","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"1c7cd8b2db9352d673dd31796b25a9ed146089a4","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.0.1.tgz","fileCount":11,"integrity":"sha512-SintG2I3Rnm3+nr/WANduM1HxWY9ZgK82ekcyEJkG8o6BKgAOWsVBjERCitQqKphXToFUywkZGRUzS32UJdjyw==","signatures":[{"sig":"MEQCIEoIJGNSpJeZnu42ZD7M/C6n8bQ/gJDdOlvtzZQfEfvCAiBsTQ2cDkFUDLwg/3X54q0Wct/Mwnht9PilgaMRVgzJSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyniuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokthAAnZePwLlKLCTmbCUbSTLo/WXQ3Dw5bq8mIKk/GibQwYC0cBmv\r\ntvGLb2/+Nm6B8pOCY/nMwBc0mKl9SdfTn1dvB/9fuQ3FWSnoaqWgkQbgBnTM\r\niPG+3AKOoMgQUZNtqfw2hsNrVddiE+dYTOS7f1Lfbq4voBxClgylv7zR39yb\r\nXi27pfhh3UMQASlZeq9qUQChnOwAhqxvkIDBNAUJboxK9gG4+j/NwC3MSPhT\r\nFEsAoORNH34cn70lPvpIuxVbyVP3FPJyTjEK9VO2b6HndE90kWF6MSzWdNYe\r\nwv+14JYArggTAJoHMIWdddHAULWNnogM5CmR77vEGI+2CE/XFoiq8ea387+7\r\ni7u84dNRyJLeB9ev8P5q24eTrSggZSqcUs3tiJqzusvHSudpG7gKJ7ZaveSl\r\nFlEjp5H77uZH0l94WOq74AIFtIcj4GtsUPSMX22TKdFR9UirVyN3z6kxUOTY\r\nf/+UGfdBXE7IPhLwTdFBwKam21wnOGE9FG5enOPl2xr9TdWnLarXRZfDZIqW\r\n19lgpZkCRLrZAeuV0colKZa87WijbRi9s5SRF82568vDFHd2v2iOU0NaO1UP\r\nkpQedHAQJuR7GxxsW6qg1yRf83ckmIijqXVkTgrkcf3Yr3WNyTnGKd2+FlMt\r\nZg/OwT40v/M4D0TlDmVz8pn41iqohLx6XiU=\r\n=rJw4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.0.1.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/802a55411677d3ae3a12c5ddbf76e403/intertext-lexer-0.0.1.tgz","_integrity":"sha512-SintG2I3Rnm3+nr/WANduM1HxWY9ZgK82ekcyEJkG8o6BKgAOWsVBjERCitQqKphXToFUywkZGRUzS32UJdjyw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^12.7.0","datom":"^11.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.0.1_1674213550231_0.4325433566785728","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"intertext-lexer","version":"0.0.2","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.0.2","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"302198d41de663deffc5ad489fa0f6dd575ada62","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.0.2.tgz","fileCount":17,"integrity":"sha512-q+AoimT1ygA2GJ7ZcerLycqHltDjeTXFWrz5/o3AFQrf6J1EXigcuMnzMFYS6xjhpOVhSnrZSOcw1NbHSQvO5Q==","signatures":[{"sig":"MEUCIC5sDKX+5ekuU1tdNpzpP32pF4/4O1DYw2G3S6OEGLGwAiEAivRVvnbUCUc/z+SH2cy9j0G1UeRHYqZNzOoy3WZNUPE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2Q1aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1QQ/+LX8Q1e65zL3+ftDAuvTRGNxcNcfoW69fLDGj9/yiAQRKT2j4\r\nldXsT6KwiXB1QywUEVB+L7TzlGobprV2MOU0BjBfUe+7khhVHxXF3U70qdrS\r\nDDiadqIW/5bJxgqp0p9IhU9a8Wevv8S2V+kjjrTZ9whdd0qXnYA4rqDPA1IA\r\nru1AKqG/l+frae5oMbJJI+qMaEcmn8OFQSOa6X65WfRhEseDQrGCk90pcYzr\r\nHLCtqR8sJZ/c+KWM5bKD+7SnZI3dmlntrzjOrrClsDaC6N1/3T/ErI2vLJtY\r\ns29s+NXG1sToxvqMPv5ZW7kkRuU5u5he4IdOHf3GMlUGi4YhC/tGZbRNCxmP\r\nrmlLSicq1HrKKSwksPMqvKOovuVL5M4KTNNzZXDje7C6lCLTqP6z9Chf4bUh\r\nny1yjdTHX4NraGBI+/Yx2QBh7nSVneYQNqVHGH5ap8mI3gcYmGCDBfW5Ih4y\r\nLZoJcD/k9fyIWbe3dkS569oYr1OXVXkiPutPL6Vkcb62UAejbiDmTcOS+YSd\r\nbuTaLrEbf4+wZ7TlX27yzvQlhSbR39cehhqmhpAwM5e+5LA6Wsf+Tr7ijvhD\r\nKRu0LlokuIHQgQ+XT8urFrNOafR43mHnemJLick+JX0zUk+SZMRlTfMijcDW\r\nkun4Lurti5LGVzLFwY3aOZ4mrOoOFjeKh1Q=\r\n=Tueu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.0.2.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/465270cba282df99c313e80d5dbc66ad/intertext-lexer-0.0.2.tgz","_integrity":"sha512-q+AoimT1ygA2GJ7ZcerLycqHltDjeTXFWrz5/o3AFQrf6J1EXigcuMnzMFYS6xjhpOVhSnrZSOcw1NbHSQvO5Q==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^12.7.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.0.2_1675169114553_0.9010397911895429","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"intertext-lexer","version":"0.1.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.1.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"dacd3b02355abb4bf346108ef2c401f21b4f46fe","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.1.0.tgz","fileCount":17,"integrity":"sha512-OhF3zKa3GT/EQ99QA6GsXErmGeedfRbo7YNexq2LKd4RC2Rp+xkTvVUjGnZZ+nj+gpxn5SlFxbL7/VTAbR4RkA==","signatures":[{"sig":"MEUCIAaJDAyn/f2Ao2wwsmo8uxvTAL5ZV5/tG3bzzVQA4TRXAiEA0q7OTS39OlQdfRsPmCq1m4NPQqFZbcXK1C6KX17D8sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj34ZMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoDRAAmCRPM1n31D5EJGwmHBqFymvBoclrO2QKsLXCLijFS3wl75SG\r\nHNFGkEIC/F98Rh+w4Qhz+5m60vMm5uJEPdtUacdJCiUQ3MOo37OBcJGZHeyR\r\nCBDFT3F3HhI0EzON3MMVWgXxqv4uemHWJfx8riaiGvQcdnaQ1oE3H/LNZJH/\r\ne94PDhr+hrCafuPag1o+RabbPK03N7dAHLhMiEe0u+fsCPwEC2ltLD3r5J1x\r\n4O9IkpQW+BRpHn46KO0SfDdNbl+zUanEu2PFD8YfiF4im3UltkcZ1P7l27oj\r\nNDs49xi1H1OXo56tmRPjPFzbuCe/cnKyq9kHgNq6r7eqAw7ZbPvRWkE8VRvX\r\nRHHH202Xi8MbwUbSGsv4uxufYoF4M8PmPho4DfPerWV1ZJR8+l4Dc/OxP533\r\nbdK9DybO0AePxIfqISecmjhkL4drgoy1nCmvuZjqRSVWrRoLf2OjAYW1yrpd\r\nlqjxxgddMcArcNxCL00u8aMOman3RCqVpHt6oyYLmDNI6WdLhzebBVUgpTGM\r\n7EzgjLFqFOk4iL3CKKSGOS3DpoSd3Md0qainIbjN55zZN4G+iA0qwYPel4yi\r\nUUiY8V6kGTdUSu38zdjaPS5hWgmGRlSyhq0wlBkl4MiHRyLr/YoD6H3CqufC\r\nAyS7mbvhmD5U++G2e2Mu3gsaS7qr4kjBZ68=\r\n=XDQf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.1.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/3a6f001806192acde3ee75fb2a73d51c/intertext-lexer-0.1.0.tgz","_integrity":"sha512-OhF3zKa3GT/EQ99QA6GsXErmGeedfRbo7YNexq2LKd4RC2Rp+xkTvVUjGnZZ+nj+gpxn5SlFxbL7/VTAbR4RkA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^12.9.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.1.0_1675593291783_0.6785379643991072","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"intertext-lexer","version":"0.2.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.2.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"13c0fcc90ac525b1f0fe2bcd52652d9f1a8a62d2","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.2.0.tgz","fileCount":17,"integrity":"sha512-Th+rVIKnWWwmr0qFD9Jw7G5lgA3b4ilN4vVXQbsZcu23SazTeOhJCCNHN74CuxNbrajX45yDmi8E25TXZe8sOQ==","signatures":[{"sig":"MEUCIGpaF3hhrKN1U25KilCwjizuNy5mM5mCjQI584AY5gErAiEAmlYT1fqFwQiLJxxiuLMXXHuO3GaYOk8M4dRU9SWrv8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":139259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj39TKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6rw/+Mkql1W+thypWq2xneSqAqywEUjLOuLbjbP7z9DVj2FtbPx/K\r\nwMlqT30j8cZs/Nd3wVJRI1baFOWSqe9QHom4CtTmKDQeTs1y8hDekplakxLU\r\n6fXvzvTjb724pYHRY874AM8BRPhW1quJLZerUmLuLBUBlagbk3702qCpqZ//\r\nkJmL3lfnrS0W3o0zE5pxMFKBkH6ivY4C0MZI5ewuuZral5mMvjq2xbcsUTvN\r\nnCwUYIoASr3U7jEI5mNAZ0Z4HZeD0op2aK0jFZL011FNxQS1dbosjPibyRWK\r\nKJ5ezXNT1CV+RpWsTtrlQ5VM5/Tmqq/jNWWf7pD0rC3qlWzFpd9565iJDEzW\r\nvrloa4PJ8EThvNi4DPXNsZOrl3tXGeKKX+bYVhTPxzLzO/f6USSf1oUzVF6R\r\nrmmX++C6Kx7U4HiGCoLCqBe63B7LBnjwvdf4RaxzLJ95Hl2dIlYVyor81HV5\r\nnkKvGX9y7fg6M5BND/rM49icft0NQ6zwy3tmp3bxB4ra6Wx0s3vfnm5kY/ec\r\nLAoN6JObzj9PFnhTR1mCFldKG9EqcUqp33QQcYjTXsYt1HLatAR3ZXbs6UXr\r\nPXQbamRr77rdxt+TFIe9v/xmjAuaPyy0hcASMQUw04oAl9oBPLUEGAKf9xBt\r\nSBAI4AOuxEqszSTC1wCsj5Pg/hskqQuV67U=\r\n=iM39\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.2.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/00b3b749f67acd0509bb196f05fd2d7c/intertext-lexer-0.2.0.tgz","_integrity":"sha512-Th+rVIKnWWwmr0qFD9Jw7G5lgA3b4ilN4vVXQbsZcu23SazTeOhJCCNHN74CuxNbrajX45yDmi8E25TXZe8sOQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^12.10.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.2.0_1675613386186_0.2569864593915012","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"intertext-lexer","version":"0.2.1","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.2.1","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"bce60d48064ec7df456e7b5dc297238962004936","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.2.1.tgz","fileCount":17,"integrity":"sha512-Wa3/308whw3u4EhLp7lyWmbTzfA0t4SXMiLzP73uf1O329psIikah+7Gdm1PsiNwN4zbGzufQfGYqnONp/21Uw==","signatures":[{"sig":"MEUCIQCzHzWqzxpEgXNHv43NxjVqv2lYSe3ZQlBZgioCbZrnGQIgazPq8nP8loem3MwBDJMVpcXFl9ilnQwq3w8Ht2CkoL4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7M3rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqm/w//bKsd91/ZLMmdRsVcK2o6iQQxp+ufu3YRYPP0ec0Dds+PGEhI\r\nc+elJRlN+t53cyJgmroG/Jaf5nvidex1nX722gQpBOJecyZaw91ahMpq5kSo\r\n9NDv3eWr1rElnKLL9TZaoK6J/1pn2WON28roHXqz9ZVKqPk09OYqzK8xTELh\r\nQBvucOtJP+MitC1gUm4FzZLqjsAveBCmdxpEgjK0GbJajNHLklB24quf1i6w\r\nVZTwj49YyMd/M8hXdvcVS4hSJoUBCRTqmzHProMDxokpmb9+OVibcrF8WRxB\r\n2sCqMlITPXGvimSHnSvHLaGt0JQYXRQeJqQOpXaMFlcNKj3qsuSqa+JLmfhz\r\nKCO4xiBk0/X21ohJ184CNzSmIKMaMI7vdPXCrrEUQvBKoRsAPqO8DCmXQXws\r\nLn0VEWuYtZ4/LUl8jLOBn0RrzcLWeete/ye3n8BHoIPcYR3xNmYJCWu+28S+\r\nut4i5cR0H1knhaZXjrJLxFi6lYwG5CE0In7mLAmxYWvbCtYwGkNCTuneE4Kn\r\nHLG+jjHD701BNeJUbtanPMGPo5mzec4p+O+PkbUJgpSXAkuUZuPju16DNSMG\r\nH9ojnaNJ9UieHbUBvroPPQnnUEzegK5qLSvB2zyopFFtu4lIjg3BNlo0wPEb\r\nvOh9GPAO0LmehLDZvGcC3XahexzUCT/z6eg=\r\n=muQ7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.2.1.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/1414ec75c37c4affe352a8ce4763d3cf/intertext-lexer-0.2.1.tgz","_integrity":"sha512-Wa3/308whw3u4EhLp7lyWmbTzfA0t4SXMiLzP73uf1O329psIikah+7Gdm1PsiNwN4zbGzufQfGYqnONp/21Uw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.0.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.2.1_1676463595229_0.19604975561032623","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"intertext-lexer","version":"0.3.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.3.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"acc9640f34bcce00cd09e085776c926a7ead920c","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.3.0.tgz","fileCount":17,"integrity":"sha512-WKDmZ6iUGXuT8119ynHuGR+05cXNF4UGp5jVR3kcueWyhHbPKZbnRESD/fKbAjVOarZI3qoRWszrsvrWi7aBNw==","signatures":[{"sig":"MEUCIQCDzHNPfkHc4RaZDEHfc824PK7uLclk2X2ca0hg9+jfAAIgYN8tJf4y6xdP6IZ1ZQO7+mvglO2oUOci2qi3xqd1AfU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":157374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7P0/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTRQ//dOqiVptJns46knJPihvX2WUOsvKcebVOgN0+3vT63HW1BEar\r\nu/4yEU74L0xFY2AuOJ/3Li4P2HWwg5AO2SRAMKNVzGqHI2OE1we/nUtmiOlg\r\nHak6mDL4VcVIv0JXxXb3prnyxiJqctrp2dXEGfqqP2uazLfrGPfBU4j8dDUX\r\nkz+BKfJdZPxLTYKlZOG/nCmTFmkMxjY6Z3+h6IJYaqAqK9+cI6hrZOv/JFTx\r\n7z97lfDfVLr7Elhku9zojq8RNaylu6UdQ4y0xcuwfe0kyRhZhNFtTJ4fi1d4\r\nSqd6o/WoeX4gx1ittRIogWX5Lt9t2+pkyVUwoklKDyM9SCqKmo7/bwM52Zkf\r\nuDmK13Tz63u23PLndK+TcVdO6uE0wSYkXgdx8bmQsucBlDyItty9w15v2D4W\r\nr3NBMjEn+l/4pPUR0BMhXmEfNJ4kGPhTCzdvpJy5LlsMlTwVoRkBV9Inl4Wi\r\ny/oNkDvM5ySgcrhU1jtHRg/DPd+NllkYIWTb73KKZGZti6Kb7vGfWbna34Bq\r\njQHmwTZ4Sa2rhFwzDDcK0WAn+QWIvBNyY60kuJkYm/03IurSR1rHu/eQ/68l\r\nU579rjAF6EUcptBoYjPHaASP0QmNRLbF3DOE1zmoZBmlqQ68OkVc0zqOHC+d\r\nCMxD2YZ5nIV2p4Gy8yC/BbnqiRKkvAJu3WY=\r\n=IVeA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.3.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/7c8480b697a0bd539b41270438237b43/intertext-lexer-0.3.0.tgz","_integrity":"sha512-WKDmZ6iUGXuT8119ynHuGR+05cXNF4UGp5jVR3kcueWyhHbPKZbnRESD/fKbAjVOarZI3qoRWszrsvrWi7aBNw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.0.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.3.0_1676475710983_0.9254295389682172","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"intertext-lexer","version":"0.4.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.4.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"59b42822f93558f8a0b1e747d1ae7eebc38e4529","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.4.0.tgz","fileCount":17,"integrity":"sha512-s84XaR2YDfpa7S1oQ13jwBoEJ4cY4Aa7knMviMVR+yGcvT/gvYwOUezSFMqqn8gkjcC8LJIPfkB5Ffk6HL96NQ==","signatures":[{"sig":"MEQCIHHLFAKzhVLcvzWwIaqQNM37rnAl6fBejIWnK0CeTpN3AiBDLytcs4GHN7ITe8nDWomj+QvVs7RcuRzCNnvxICUo7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":158799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7SEMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN5hAAnfrCA+iaofxS2nrWFezqLiT1cEwPdOzJ+I1yDT/MV48WyKs5\r\n/Jngk6U1ClYlSnts0b3gtARLKuHULO3zSo9nMbEZkP4oeSa93XcoVob2vJ4g\r\n0o2pWABN9X3VXMFyzJaQusLECK+GfxTNTBFvTjoQpujWDEqqGLKFx1Ws2tr4\r\nvN66xjNHLLeYoOE2YOYJ+OZ6boTTlo6K33xdDaV+7I1bqDNK6sBySgyUIVsm\r\ndt6EGrJzjOgxDPeK5TwzzJLFG2eR8viD4/CUkwxp8E0EpexcjXd1oj4KW/Cp\r\nneQ/kk20UdZoJjWTBj46Iu5wSBUpL41f9uJSEdJ0lZ0NpWbtXsThgECXCG8d\r\ndKX7OGL77xeGtdg1WcJjgYaMucacfZJXaVhlO2cFsKU2MQ7yvp4l70MOwiwm\r\nuAOYHaN/B0GNq2jhmKSyZU3SgiK+yRjioI1tWs+YDLvbUhjoVOAYF5WBqcvG\r\nuTsZ9ZVpioEaryVYXMaB1iS/yRjrZ9JFXa4ZEmY6NVWc2VhKp6lge8U9B7Ml\r\nPUdMdHizRzhl2Vep/72CylA3GSp/Ysj06VcJTz0NP96Tegz0elFjO4F5kDWr\r\nixMGohIGIGVI2n8YiB7njo6Bck4vfeQBCbgT83X1GBKMLQ1SR8rSvHPXPWmP\r\nCKj00EBP1mxKujxh3YIUQw63NOHwT4wDreQ=\r\n=3qLJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.4.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/6957d35c5040f8b6b07c84ff10b1187f/intertext-lexer-0.4.0.tgz","_integrity":"sha512-s84XaR2YDfpa7S1oQ13jwBoEJ4cY4Aa7knMviMVR+yGcvT/gvYwOUezSFMqqn8gkjcC8LJIPfkB5Ffk6HL96NQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.0.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.4.0_1676484876417_0.2349780265460164","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"intertext-lexer","version":"0.5.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.5.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"9b6b6d618f444520bec842f121af9c30bd407204","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.5.0.tgz","fileCount":17,"integrity":"sha512-hmmXgoEJcCsACQy6yjN6H+hEqFTGtRFuJDndEaWwp1QgwHTGO7oP+rGkVnXlTywrPWoSqADcppcg9AbcdmIunQ==","signatures":[{"sig":"MEUCICzyMVMFE7kbTnkkoeE5RVdseZInS+nSZgbCiUgBT4GlAiEAo+DrwOBg9ds/uFZFfY24C3ERifJEvW4OmhlVm2id7jA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":167729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj79dZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6Xg/+KRiazHsQDWAWKB8Ui23oaMkmAEmjnFuyVeeCqTjsLN7Cv1iq\r\nnra+pj79ECirptVaQoJh240g6B+qFpdd+J5Mt1wY/TGLSf3onn5dEk3MfITu\r\nsfmMyOymiYQQqwRV0VWq2Qj1sWa++NrwxfAcpUb97hzzKNbF6Mj5JjYUeJJ2\r\nR3U8v6/CE3iEdLstDhd6FCEQYsXyRuWzzguFS3uwZPMp+2dQEHJL1UsQ9pgl\r\nC8H/U5fQexAgYxZkyfD1iTWiashnVcoGz7asehvXlS/1Id8WyP4Oii9+a0Ma\r\nwv+hsR0pOUmnykqDyeRDLCBZWOO47nMYEO28UAGYVxKlqMl0nFEbaiwWRIU5\r\nkRY4aYhKNoer0iZu4rI9RcZUjWKXi7edayLe8nWnQk7VXmaNEAY1wHcs7pBQ\r\n8plvf0aKsNkb/UICtSnwpkA2fWXq0UMGuMHZJtGig0p/w2KzKEcUeUpxsrZf\r\npXrnjqmvJUkT/KFcB1BQIGT+1e8uMAR/RPx6L4pUbUOkdsTYlfMGstv/8y4M\r\nfIBm+OdHBeJHfBP99ZiyuLoVv2ZpEJQapdMbAzt+SeJqohOAvYV+zeMIY2Ze\r\n12nmdZj//jz3FdI/N4Mo0RC1JcbF2+wjLvTiKCq3uCaiWxX03rWGtue0Delz\r\nzLculCzMI2JOXoEg+Wd4gvItnflOeOphu4s=\r\n=Gdng\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.5.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/6c2ccecce82027ded4e9ea5d1bc26390/intertext-lexer-0.5.0.tgz","_integrity":"sha512-hmmXgoEJcCsACQy6yjN6H+hEqFTGtRFuJDndEaWwp1QgwHTGO7oP+rGkVnXlTywrPWoSqADcppcg9AbcdmIunQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.0.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.5.0_1676662617495_0.03228841602959753","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"intertext-lexer","version":"0.6.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.6.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"13f76d081a1e851497119d9657963564978daedd","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.6.0.tgz","fileCount":17,"integrity":"sha512-O+QGQGswfQWtQGxls8iefWhbaOTnecSP2HBfGrR6Zy/hU3tGh+L80SGTnM4CiIeFZL5WF9Muyk0k3QbE52PoPQ==","signatures":[{"sig":"MEYCIQDZIkatk9kcK4LDS3R0XjFlRiJ/LmGNRxxyUg1Kg8jvPAIhAI+DyGuvKQDSUT329bKMSWoGm3AdebA8LacZWMRx13W0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8Ml/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQmg/8C7N38t8D4T+WcmEvfQ1/eWJVDZXDcCO/TVlZFRSeug6tJm8H\r\nlS3BtIt/iD/qIaCpJQe5WPISX4lLu0C0hyPgMQsqbqR6mpUSX+4wHPsiOQkG\r\nYpM6n0yAZCOpYxQasl6NK04eYhr3TmUwoP5+o6E27f7f2zboGHaSRp6Mr72F\r\nLGVHdN8M5/iq6LoUUlhyiPNOrP5bzKQCNWUJGCnniBkwjGVy0+pVMjgx0uFE\r\nXGAdJOzpSBxePvqp5r8swR2alc2TSSQN/lnldHaVJk6NKJUdqYEeWim3LNzN\r\nC6Un6Vy366J+9m27Whwx37vP2LzSmD9lNvrmVVmG6SwzgV8nj56co1FNBybr\r\nlB6GhtpDQp0z+WoKsJeFKK37SUs6O2bz/ByikkzXBZuIySeaB1LQjnKDIiC8\r\n+tyRNQK8r0FhA3qzN5y175biaH10hGhG8LsBOPfTAkmt/0DFrmyCp5etglhn\r\nvzTJqZeBDvBZ7mMjZlAiI8wdHhT1piDubUu9xksxKtvjyjEwy8el7+uHxD22\r\n6lhYkEWgq+hHm16yExAM2CkTnU79qBEEEIKLIhx2r6VqIfi1dYgrD7BCy9tx\r\n0CgwIBF9dr6ce2ObVnGs9pFijhoeWxng/1hks8CV8IN4EgICgaH3+8M986a3\r\nWqK/6cfqPGB9nE81kC3niHn0c5W+lIYuhcY=\r\n=xhQP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.6.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/238c074165d72f81f6e8aa57f4e92c2f/intertext-lexer-0.6.0.tgz","_integrity":"sha512-O+QGQGswfQWtQGxls8iefWhbaOTnecSP2HBfGrR6Zy/hU3tGh+L80SGTnM4CiIeFZL5WF9Muyk0k3QbE52PoPQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.6.0_1676724607604_0.8762986277601534","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"intertext-lexer","version":"0.7.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.7.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"051c4ea4528f268829e263e3ae7b0b7f3cd8175d","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.7.0.tgz","fileCount":17,"integrity":"sha512-JIODw7dSMM1b/j8td4ejmoBBDspSIJ07xCIm/giSxPgrA+kpKDpudx7WmMK/fHzySZJYlwi3m+KGLkeXb6XaLA==","signatures":[{"sig":"MEUCIFrw6CN/CakmhbWCL/c1g3bFPjsxMG6US5LuvrEMAbsIAiEAuj3VbrfzL3d2aQGqNs77u9bD8hY0ybolSykMGKRPN2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8PKUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCbxAAkZ2j35DZQN6NlA7vyy6pEe2yF5P1DpaeyjCU/s5rDhjDfJhZ\r\nHRmBcTYrqJViFpUKeT1DuDe42+LTL9FrrxV0RDR7c039jk6CQMmGVdSFKaYB\r\ngJZ3TDnpixzRB3rXAasaNZklErn+txO/QZcmVvGHKRg1HBWzDL93SxuJHJz+\r\nFmfJietcv2APnFFa28FbS4dXW3jHlRlfqDpz22L/vJvm69JlJXcFWaxP3JMM\r\nVqb06Ar6gqAvKHf3kwObZZR336Doe6kDlMESGBGYz497oLkm91EmuGZGLJwX\r\nre3M943ap6fAgJUpht+62+m2XJ2KHQgu5fx1aJayI1247tmox9jtNIKZChF3\r\nm6c924BKdRZh6bamZ1E/77c81vBB3SkutEwEbXF7ZYK2rds2qxiqRmiN50D4\r\nUXw/Wx/WVrTW4D6lJ53uCtm4y4HV4d6RTxZkVyXMRlI0iwdN4om72Qvs0GL1\r\nfzXi53ZJIPvrcCxO+ZW81gLFVn0TR546yVzMXEY1SqdQYn0eit6gaqPd88yo\r\nUBymoBvtabePf/10FKThHN+AjA86vlMDSfaSgC/pt/c03eEPvDIu4vh26fc5\r\nQt+zv8STJgmtOc0AypND4PHAM6JMtLHc684emocsnnmA71fkYqIbGoOPdWf3\r\n6pNum+Z1kR+pcHei1b+UnSMdx9Br86+bOF8=\r\n=ZJhZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.7.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/050770007c12e3a5ea40c58a0b070fea/intertext-lexer-0.7.0.tgz","_integrity":"sha512-JIODw7dSMM1b/j8td4ejmoBBDspSIJ07xCIm/giSxPgrA+kpKDpudx7WmMK/fHzySZJYlwi3m+KGLkeXb6XaLA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.7.0_1676735124418_0.6709628914381902","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"intertext-lexer","version":"0.8.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.8.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"4baac12dd6f018c26577d18b31574cb28a2c07a8","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.8.0.tgz","fileCount":17,"integrity":"sha512-75yWRBeZivltNCdCT0m5fKNuzdymHegbi0/ncJYAbzLbfoUQMjfiJzzDo/SViyrAFac101qLqPAUcMZYXNPcIw==","signatures":[{"sig":"MEUCIQCt20uGoHxPFAEOnGcGRnOWq1wDwu/avBcm1GDvtScSpAIgMaLOH89oRwHft+aS4i0KEPGA3PW6U2z42rUNhqMwxYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":177721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8mQ/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBEg/8DR288ROLm/U4/4ZAiGMN89c4suGgnBENRjKmqMf4YY0sJIY7\r\n0ppzmMu8TNBkZCJU4hU/bB3cvphRVpiLxZoSofEst0T4Pl+43j7+Od8rky1p\r\ng680nv2aDWeYTSRNRVIKIN37HI5lYGy3FDKpRTrBHnd6h8VytBODLvLRWCYz\r\n9iPlml9wRF3RjqRov4fqeou+Y366as3/6UUcUdJEVfmTU+fZcA+reN4oW8xo\r\n7B41Q7Nq77kSKLfVkAfiWw7ksGnZJGJyripEHf7A609x9sEcMeKgL/egwjit\r\nqNvZc6ro33VTTJIPklORi75bLT08DAabc/VlrwF7hEt1ta8M4YqQi5BLDAU9\r\nffA114rlU+pw8uM/HjRKpja04HffCZl0SKBrsOk7vKO6bLJ3jEbgfJbXBzpp\r\n1lERjwRFVPws5+XtdRFYiHSQLIJ09WpnvHyl2vSflN4xkOLz0K+ZpjyYdxH7\r\nEC8Gua5zxM4zNAjF73ZBi+yV4rcEKMA8PkFAqLXK80uWz0YD19ShYb+M7Ylw\r\n+AVxjMAqSlJoT6sPKxMOa1yevOuipPlNYvKsfutFn4CMpwQSOZ+ec4TaLDbi\r\nKFotWJnKW6105ohrSE1Sxbb/HTxYSQpAINXOSfEc0n3TMdlJ8Dh2/UVkpemH\r\nOYwSPAdPFYsnZYgdiknYipFSyeOioO1KT34=\r\n=pVtn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.8.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/be6c62b8de0f7fa2c6b62b780a22c0cc/intertext-lexer-0.8.0.tgz","_integrity":"sha512-75yWRBeZivltNCdCT0m5fKNuzdymHegbi0/ncJYAbzLbfoUQMjfiJzzDo/SViyrAFac101qLqPAUcMZYXNPcIw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.8.0_1676829759624_0.8732378389155122","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"intertext-lexer","version":"0.9.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.9.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"aae3881cd501dd5115adde3cb4688320d7d07f7f","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.9.0.tgz","fileCount":17,"integrity":"sha512-ApWOD3zLLVKG3fwrUy5V9h1WVIkcneJw1hiZrNDkLQzADMLt3LNbzo2WCsWtv9Jst3+PzeL0bld3pv6EbOaQSw==","signatures":[{"sig":"MEQCIF59YH701kQFE0I/L0Zn81a1Fq2zDKx6YOxvzhqeMZpJAiAopX68lYZP0GXMAypcNZdvn7aXvkklnexRb5XJo0qOLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":178154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8zDFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq4g//ZiACB/TTxCnLnNx+RkhACsktXy+uerErVdHm49Ac/2NFsGgg\r\n9O/1q8v0rOEaJKXhzUhs03vOYv29rzKA9hMccv4rHdYvWQEMoN03xh5kByiW\r\nzJSpuWNJgvBDjoN/x/y4LC7lM6dmmcXWyJSbGfAUb56plXOE3tiOeLWS4bRw\r\n/p0bFkwNasSrKCa0uKNizYjL+7WA6y/PB/kMs0yNm3UE22JPglovXhAzAVm3\r\n3xEeq+WBV4BJwwXOmzgDuISr/5lvUwEzMCel0UUZLg6M3If6M6VZtuqeQZEX\r\n9hSxzuvre39IUwiEnu+IT/7icgIrS0q9X37PMNr/kO72p4WLhNtCXYPZ4SHX\r\n1VFZrzjcCzsawa8EKcOhjjHOG0pUymqI4H05LHnJPCWvCZ3ueu+Ey8XY2H6a\r\n0Wop3JuK1pdkvb55o1TYp4NeHtIK0ht6jQKs3qKut4mGn2x8sgsNaGgiZcL5\r\nBwohiuBcx5b4WFDJ5rdSzY6jbbD4QXaYtDIvHKBC6uM5jYGDi/pYru2I0v1e\r\nkySihYI1+8DfpWs0ZmdTYa8DSrqrVcCeXwG9R5fOuxVlvqVDrJIDMp+JPl2e\r\nkrwTCpEfRKRccLACcAupY60xpjbUkvDEiYhGWjvkXi9Pwdi64uJtMdkeVdgy\r\nhXsGk9XvWaNj1i/PZTQte2nG3ooJFiVaPcc=\r\n=mGS+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.9.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/6f25ba71ecfc838a72dc0c4987fa9691/intertext-lexer-0.9.0.tgz","_integrity":"sha512-ApWOD3zLLVKG3fwrUy5V9h1WVIkcneJw1hiZrNDkLQzADMLt3LNbzo2WCsWtv9Jst3+PzeL0bld3pv6EbOaQSw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.9.0_1676882117281_0.4613733821652659","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"intertext-lexer","version":"0.10.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.10.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"da904516b3de67b211207de31e0c5723d3cee3be","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.10.0.tgz","fileCount":20,"integrity":"sha512-iIpgTvH2tASWnX7b8rf0eGuFLEN6A+v9negCH6UnA39IzHp0MAjoHZvQq3/0UCJ0TbLYehGho0OtE+SLItnwmQ==","signatures":[{"sig":"MEUCIFpsvyytfwQ9MkY/Ksdtlo43/F2Z8GFsRzEmuV6qcvsmAiEA9SCQ2vKnSGtseA5bYJxYMxoA06EU/glv34Edui+7QfA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9I80ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoUg/+IQhC+OuBQnhhDwt7mNqiErPTW8JvFy9oq3ZezwaUU6aGivsf\r\n30vFwSVJS2b3ceuykR1PaENNTLtIWkRc8WGcK9/N1Zb8TDO1pSwLSnjAmRDg\r\nq4LMjjt3qMovxRJx64jOrtNnbkTvFxAWUzgs7ErgYbwEzwmFGMl+kqIqy/ym\r\nCmOgaRee+cuIETgr/ONaXyguI57jaGwn4nWZG+y/+4Nx9hMJ/0GbMXFhOzku\r\n+5u9NZVkr6aKkcr2I19U/DPey3LgM5aumN18X2jF2xkTrMC5wCdmiCLR3xwo\r\n8oyTEN8Fo5/rkh+eGt8FSMnyMS0cZlBELeY2FFopIcWXXvGi0G1JeHKdgDo0\r\nogNDEom4dPUvFgfSSFH0fk3poaNl6XYvEF5lvEGwW4WE/orcZolt8V3Azq1P\r\noSkkCeWIANwTh60+wyqsyO26qpxUgGLq9tMCjKmKPUje4MiiKmBWCppwpxlg\r\nDmo1Mn8IA/tPTbxCf++RAg4Hf+MPTz4/EhiT3WaZcjUltoAdARXgOsnQ81ai\r\nze7hFsBOssbTHsdA/XgMqGZIKVnvsd3pe3fRJcs8hgCbZER+j1Y7QDV7zF5E\r\nzDmdTetPtmd215rOnjIrQuIqJJKPAaCY+h7KWByhkQ3rlKAGpxuG+5BXSoLs\r\n8EpVZhdd2pAd3cgBnTsVgh6JiZYEtQawJL0=\r\n=4y+p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.10.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/0c0bee34a97ba6119b2fbb8bf9522a92/intertext-lexer-0.10.0.tgz","_integrity":"sha512-iIpgTvH2tASWnX7b8rf0eGuFLEN6A+v9negCH6UnA39IzHp0MAjoHZvQq3/0UCJ0TbLYehGho0OtE+SLItnwmQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.10.0_1676971827927_0.8530567500684054","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"intertext-lexer","version":"0.11.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.11.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"4c1ce3c0cd36be094bbcea7ea388ad9ff80ecd17","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.11.0.tgz","fileCount":20,"integrity":"sha512-DKpTv49Mekx/Tj23Yq4e/HiK6ebXynpNmso5CGhvpImgeZ1P4SLIAT0eHMHz0RkOYyOTi+Ns7cD8m7DmaBRnIg==","signatures":[{"sig":"MEUCIQDOFxMvzpuY1bcMvfzBeETBOpajtR1Atl7jkhSvZHT/OgIgalzaKbhiaWCsBovAS8xraFbs7VXxJcN0uFKDD/cRg0Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9JPaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTEQ/9GqdqghQhdf2C4oIrO3bfML/XI26kW3IuKxvXFzQjIyi9dqtC\r\nZXybFPmkcbeBWkF4dUpkhI2pOnhmY/mYzdEOchRwRumQyaE6hfFUpSfU5rnW\r\nkdMLyl+wnc0KcozuYrhw4I2GedJfQmwd3iEtN6/XLYMbGmvgllWnVZgbtWJ+\r\n9ol2ZMY/Vg0odKiPdbA8DQw2XC3rnCP70+kz5EjRq/lCYgr/etdffVsfjw+m\r\nZ4YaWNH/jINTB9eXAc+kQ6C6CMKvwgD/cMaVugkPUE/qfeS6j1oeyVG8tEkw\r\nDgJ31nwcfCSNywKu9rdab3lChw6R0s16Buna4jQboPeNyc+ZnSi84yTsNtEp\r\nvL8UWo7JjEtsN84W+++YylRFoNaAtrH5L0GWAgGIEpqx1xmxC65qrTn1cuD9\r\ntSRZgVEabds6pSsleWZuprTG5tCujZ4ScMHfaE7q1o1KP2KkI5urEXlJwC5F\r\nnXEaKe69xB42TAXbxQpdiCpg92iQullymCTDFaguoYWWUzERaRa+adu8+SyW\r\ns6iSXbw0dXlgFzxkORO6c/Jj9GVvmJM8ueC31UlL9E4qmbDrB/ctwWhBYAOa\r\nm3+LdJgcalBiczjVZ/s3JFHV+ZzDtXmvMMPjHGT8bwG2c/mGEQ3uekhl8cR0\r\ngDfEld5xb2CjaX266Hckr51RyHH+iA8icUQ=\r\n=SHSj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.11.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/6e65027abdf1056523ee7707692df70b/intertext-lexer-0.11.0.tgz","_integrity":"sha512-DKpTv49Mekx/Tj23Yq4e/HiK6ebXynpNmso5CGhvpImgeZ1P4SLIAT0eHMHz0RkOYyOTi+Ns7cD8m7DmaBRnIg==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.2.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.3.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.11.0_1676973018482_0.8837233089847945","host":"s3://npm-registry-packages"}},"0.12.0":{"name":"intertext-lexer","version":"0.12.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.12.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"01c52d05f5d5410fd90396d9cdf121f30849ccb2","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.12.0.tgz","fileCount":20,"integrity":"sha512-n9y0hxLmoxWX+zAfLBPAB/P189YGciVYu1B2jGQUxrLbdlEoNbEQG7vKivsCkRP5UTPsf4GvlpCRovGFXmUarg==","signatures":[{"sig":"MEUCIQCla0EAcSpJoyh1NT9ttC25EpIw7Oc2OEGcvbrFuoP7mQIgceyZgtz4tRsqQmPHkuEM1Qd09jxmE/3Ikm97pxTME6A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":191850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+3GFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmob3A//X4PXKxJXChkxJEr/K/nIAfaX7dJUScuIFvdJUMMhwAUGR+dZ\r\nL96tAIE0CR67d/yru2By8mdgVgvmYSU6/vRUdQCEMulPdWs/T1w/39fNvUXy\r\n1uqQWJN/VscDDQFhVZ/HOGtrJeQU2WYLvmIqj/KaEGTzsun0ayuXqtWVlMs+\r\n9PdYI7jOoaZk7fxIZibzv5BkaCfN8L31WeC+8yPgo0s/u3oKdVG0iBS7bMjy\r\n/U6yGWOqMyP12M7wqPeWm7MJBqC33p/Aouh3lvcr/YGusjALpw9vwVkdu4sI\r\n1sKbUi43zMQM4jWHiPd7JfjScV7TlcvROw5FF6ukiS7Yy9j4jK1oUrNbOqbm\r\npVyISzwrnH4khn9VK/y/DQ6hMAeMmTCgBaqNDeenqB3eJyOJMeAfCvnTqmg1\r\net59nKiJPvUXbJfJ9xVR4OeYfog7iRD3N04YoT87vNuwb2kLj5BVP2UNOVkx\r\nB+1rTxwMkvTiFli/PwrxpEibLNhFSlE2AM0FrVy36/OQ/N4lvzQKJL7c7H3O\r\nbW2AFFird/PPwejhxFGM8ujtq6q+pU/K1DIqmI66+0r9QRWboe/RyCPmZWcq\r\nWSL6DIgIxelJQ/Tq+occ5bFOs5F/Ew33nsNDzNJ7G8fQUXHPMbsWQuOl4MAV\r\nza4+iTsHo+RIyWP1bgPkxrXqlK7AoVyj6kU=\r\n=kv9s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.12.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/6bb8fc46b2d3a3d3351767448d395a35/intertext-lexer-0.12.0.tgz","_integrity":"sha512-n9y0hxLmoxWX+zAfLBPAB/P189YGciVYu1B2jGQUxrLbdlEoNbEQG7vKivsCkRP5UTPsf4GvlpCRovGFXmUarg==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.12.0_1677422981026_0.8062088557020368","host":"s3://npm-registry-packages"}},"0.13.0":{"name":"intertext-lexer","version":"0.13.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.13.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"8b39c2b8ba8fbd98413d5e90ab2d4496cee46d30","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.13.0.tgz","fileCount":20,"integrity":"sha512-hJJ18N3Zi1K5LauEmPelQdA9hHWdIE3sQXLbQZpz9Foz8fuqZf6Id97pg25DludqgxnbNKwHliJi6lfgwxh0MQ==","signatures":[{"sig":"MEUCIQDyyfpPZn4rQ10NTINQUEOMFDtcGih4kbYyR8KXWAkpfQIgFyyQEIVcCiJpw+DQwiRtyHLWDXQBwfV8/C73SjmUO+I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":193149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/gEFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz5A//QesyuKM49UiH/sjFp40S0xvE3dtRREHtLgZn02OFPfdX2QL5\r\nB/v3XMQuB7zO4YYhEAKxxp7p6WAn17l+ZahOq+MDhtvYuZ7g0OPlj/6bE0qE\r\nRUBTW0IkigszaiMvhMH2ObM10SOQoH5fkpq/WIH1qNv4pbRH6EmWmjcf5alx\r\nlrPpbZbmFxhpPypLtjQoYXFboWIOORT0SsJtX/NkW9QjK+3xKEMlfdHg69mm\r\n1HMt0UkfUBCkVrnMcFTtK363sK8hx4SNJ0ZN3FwyW2gs8USZmkK2AlfLZnQO\r\nN4b515iOUvl7WNKkCxa7W4EtRb9gqVvjuOLm/U8owRyVKl7+3pMqqRMu1n+O\r\n0zHsn1UYpj7Y4JWoDr5B84S78Qz6u4IKE4jjqd35Bl0Fimex7WXj3+ihZ+uO\r\nBQ94BGxM/nZMofz90iIXQzerk2UztNtgfu6QNESZ6meaOn6ISkx8jsHBeGLX\r\nM6AYZGfbJQI5x4h032n2ocP4ZV3bf2IYeGh1ouR+wAc88pduAEaLCgfwCOza\r\nj7WAz1xawZX37YFj4nffIFdCsC37pgoVd/iNe1aQrzu3NkCyV+QBqytf73De\r\nDPG0N8oM6h7Xrbkltv1iemI3bimWjAN/b1UWqtLitAR7tc8XD/RLRRB01z6g\r\n+Noxs/2mJ5VbKQ1eRwbdR+clcBvUR5Wmbk4=\r\n=4mbM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.13.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/680d7b371dcdd2fa1a684401a4dfd863/intertext-lexer-0.13.0.tgz","_integrity":"sha512-hJJ18N3Zi1K5LauEmPelQdA9hHWdIE3sQXLbQZpz9Foz8fuqZf6Id97pg25DludqgxnbNKwHliJi6lfgwxh0MQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.13.0_1677590789687_0.7023442655712477","host":"s3://npm-registry-packages"}},"0.14.0":{"name":"intertext-lexer","version":"0.14.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.14.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"8f30b694647ba551ca1ca01ccbde43bd04ebe25f","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.14.0.tgz","fileCount":20,"integrity":"sha512-AjJaTkCCJiUJhL+XMfnMOcl8UpCpX7tC2mdlXTHDS8wAv0zo2k7aIBX9UnGd8R0NBk8p+4YyE6gLiErhu/cmNQ==","signatures":[{"sig":"MEUCICxKzNhQpXmG3fcJzc1uB5GrzeWz00LfDjlWT4ne4JU7AiEA+TajMkoacnI5t6Xli0vCigEOxcjnuAqxEIhg5ZJ1i+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":202775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/56fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrx3Q//W+ouBNtb3n81buR6/JbBXEx3Ds12dnZx07+CmVSIP34lF3LE\r\nn24g+OK+myEXcFteAjlrKVEYSNziJ/JRf0wgtYJOz2Zh1MCdBQxFh5wt51G+\r\nBr44nku48gKqtrF54twKTbHWIunVsT5CR5t24SPCJZZb6EozW8dFrGI7jSZg\r\n8Ohr2YGIQ+vw4r4tjIibypdBhQEEbsgi1uZBTondQYbcYYLvOF3eR4OeC7sc\r\nT68jq/Kj3A60u+gdIKzsw3vRjYQMi5sq35r/OSN+k/kqz9Wr8cMy7dK0lUq/\r\nmL6JPtfYf+XL0pPa9WxBu53HrmAEUtaF8+lA+fBc+hll8UaQxhgifHgHNHQA\r\n7U9y8x8laaC1l544vrhLw8wMf2iOqxckzBpGU7xtwoxbmjMMoJvFwQqNXv8o\r\ncfh25f9yZ5fenRoETx+wBfHoyFYKlR/1rPlUbFJpXGJF3pZjlvohU5dDP7+6\r\n8K3xhKATREdJooGTRujzC5SaJ6QwopOObvQ57zY+B9rvvGZs8OI3vMWhWLdG\r\nyPv+q6F4onJEQUQZVyVItfA5fKxnyL0fCAZgXrGwUcQST9YWmuJeCk4i3kO/\r\nK/EW9Py15YrxmVoHDpNdnKTEa3lujpsf+74S6qi2X9q1sh3vpM/BnrJGrUrL\r\ny89n83K+WDS5Q4aoqQDO2qBsrpMuPhvmNHw=\r\n=ed7h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.14.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/b05c37489b07822a030e82dd152affbc/intertext-lexer-0.14.0.tgz","_integrity":"sha512-AjJaTkCCJiUJhL+XMfnMOcl8UpCpX7tC2mdlXTHDS8wAv0zo2k7aIBX9UnGd8R0NBk8p+4YyE6gLiErhu/cmNQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.14.0_1677696670853_0.5546082007366486","host":"s3://npm-registry-packages"}},"0.16.0":{"name":"intertext-lexer","version":"0.16.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.16.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"8ddf474cea52d8ca20043a242173aa391cd7e2f9","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.16.0.tgz","fileCount":20,"integrity":"sha512-gNAT0WutBHN6c3a6OcR1zTTKDgGMzc3r1g1rsd0MwehqM2OjnRdUKZyv0zyxuY0FTjkVQio/nv4Fi/NutpfGWA==","signatures":[{"sig":"MEUCIQDEXYJWPe92RzIfuz7DE/ur3sAmKb39RZ9tczhCgCM7bQIgVWqquBeVm6ngo4NUzBgKpOLkBzCZmwVaN1y1tVZAjJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAgbtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6+w/+KbnsNhNfsEcQkk6eJh7W+GJwiB/U3Uq+ujYGbWNIixQPjC3A\r\nhr9izxF4MxJ7Pjv29qJFUVHoT3tOTKpFnTyZ2853Flt8uFSdzup7N7noNwJ0\r\nWqkwHghKoq/+8/PqGzSF6/vH7ZhX5lSBWGcIEwBb6TO658BB/MEDttwsnXYu\r\n7mu9G4QSc9nDcCXHmnqdwfUWcdy6jAQm2/Qc1xf+xvNRbZU930z++N00YY51\r\nkmuWOyqvmKT+QuNA3UZPpP2U2fTm8pq5dSAj5iYxjT6v5VSYbgKPM0E1K5Oh\r\npOP4qbyYJwpdocm9JtHPStoSSrh2bz/KXrJ2fJQtORXvLwmekeli6tmcX/Ds\r\n3oueHim6lUucmF8obVdI9sFBqaIc67ciiBkkiRIow0FTaFHlk4jWnNyFrpQg\r\nj+IHz/0099OVCt+frIFyAj3vDtrbSpXxaKeXcazYj5MOcLcTkqkVOB6xX+kw\r\nHPcuxwEUr30OVhvGlZhD9K2Ny/fGAsf+nQzl5jwgUylduhsFB+jNKWmR9KNG\r\npTit7/3rdWJ+fc0TjD5MK7l0Iy82HcVa7K8NW2mvQljg8B6HqO15IE6KGnJR\r\nh8BLsAljIY51WyHXS3ShA0/TcVG9nF97kXkS1mNCrbkgM7pxCLAuwtxJoqAQ\r\nZEoT1TLB01DcpRGAQ0WkK3KyeYcsTh1KH3c=\r\n=aXYi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.16.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/61d4590399542a73b1ac3dee27e2790b/intertext-lexer-0.16.0.tgz","_integrity":"sha512-gNAT0WutBHN6c3a6OcR1zTTKDgGMzc3r1g1rsd0MwehqM2OjnRdUKZyv0zyxuY0FTjkVQio/nv4Fi/NutpfGWA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.16.0_1677854445536_0.86385705073339","host":"s3://npm-registry-packages"}},"0.17.0":{"name":"intertext-lexer","version":"0.17.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.17.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"5be08238dc4fd509fa58577f028470442af6c4b3","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.17.0.tgz","fileCount":20,"integrity":"sha512-Ku34Nzx+zZKxWRluysgv5vSvEWG0wz+R9TM9OwnG093FWQvqHraQ3wNXEVR9m2vxNcCDsixVlGaQQFFjM8y1bA==","signatures":[{"sig":"MEUCID0e3RVA8+wlB1gg9I2jHdWHKXdPmiHowo5Yq1uZJPEgAiEAn6SS5E+JtPZtNJILExvfc79X+1eWXNtGOqFhw/sIxLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA3ozACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEqA/9GSVaOu6baWMXIMChtvLUPcr2Eh0isRtORR9Qlk0kPkCTglkS\r\nY36/iHwlZdxn3wD003PVKxafgAD6+tpX4a9xxlSBoRwECgYRR8EyTQ+NBIxr\r\nCSWbNPpg/xpNKv/b+UhaYM5UY2fxpTLP9PshmDqX7m7wqaJsWrKlNivLWehF\r\ntAVylUN3I2ZCzwRyZfpDYtZV+MCZYmSzxXgwxt8CLu3MvriIgPVN9SCYuce+\r\nojp6yeABmc9WDAvnLdjYuh/ryWHugSjo2thIgeQICgkfRqUZfmTIj0xTPrKv\r\n68cCE60w6B3r8sS+eiJ7RGG4LH5qSA9UHSRqiMewpFVWIVVcsUIku+uI0Jln\r\n3cxfgvKf53UXSGDdcqdx1rM2PHH0gf8kPK+vTJ+/AMPvH50LcwfKKUkoqAwC\r\nNOvGkt+CQIZGbOBYiyJn5HftYVM0aLZJ3JNdzkGO7XpZDByhtEMdOcCx0KzV\r\noEXvUmO9e7RYWEjJ/l/4EI1wCfAHewsL2n7VNe1iO7O+j0uSfD+GQAcgmn/2\r\niifWZS4tEEWmCAufBmR5QbW+g4PRGmarcdilqLkWubwTK7osdWasAICKcOju\r\ny9L5d7iKGV8XPxHH7e7n739PSNTNNnMdmvak641KTI7Pb03756L/lYnpS9fd\r\n9B5IVwrqebm+6iXJ5UqTtwJUoMqSlJ00SFw=\r\n=015K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.17.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/91ac7d9480665456b2ac4dacd732cbb2/intertext-lexer-0.17.0.tgz","_integrity":"sha512-Ku34Nzx+zZKxWRluysgv5vSvEWG0wz+R9TM9OwnG093FWQvqHraQ3wNXEVR9m2vxNcCDsixVlGaQQFFjM8y1bA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.17.0_1677949491481_0.19736066888175863","host":"s3://npm-registry-packages"}},"0.18.0":{"name":"intertext-lexer","version":"0.18.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.18.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"a1dbddc80eb22f79f2b3918bbc6105e4f0eca5ed","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.18.0.tgz","fileCount":20,"integrity":"sha512-ACXMQbsz1Dk7q7HaFtzcm4y3MaYAjHzapaotUAExxLHQp62D/USY9YY0Wg4hW3R/iyA+6Iyav8NKQi6MUvPCVw==","signatures":[{"sig":"MEYCIQCNpHz9IPB2d3SsGL/mKMIoqIoipyv9TQQ893cYwH+xPwIhAOcUXvka5bEWHwHeZUW41SSgCdns4wh1A6XpKhl5OdJJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkA5huACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrXhAAnYNyUIhvB9Gt5Zx0gRaXoKzKxAMpRhy2iMwYrKcWgVX36aFh\r\nCvDy5fKuFtiP26pmI+dXDOhybr494RVqh0IPzXRxbhjQMR114GMU+QN1y+p+\r\nAsvrpmK8CzoL1rzFIKrE8Pc+octup0LacbHc0hR13idaOvEKc3ztAYksz7IM\r\nKA5PajR1MK+9THYa3kEylLlIzRhmTHauoeSzDH2spbOgzv9EbfYM0t42k/Ef\r\nJsoNzvSYyHqP8rurgl1Qclr5Rv+eCwRROUHN6E7JG53rvAImCpMrjfC4V40Z\r\nGJZCQY/MnUbNFWkSJ4fIgDFAPCBns176n4sozCgi07I/mKk8oh87nlaptRoM\r\nABerQ8XoMZavCSzqkmQjD2ytA3vsMwcEK2uMbS+Ub7ZtwA8DBc50q+YKv5vZ\r\nrQ6WZ2vqsNQyLCo3/y8CT62bwE2hx5mButS42FaK78Iw0ImsyOpIcLqXq+Ab\r\nDlPL+2e1d5KT2mcTUfrzAoSrVw2juRyPt6LRXYmk2YAfrBn0/jTish1aXa2N\r\nTirtWH7ALK1ZE3/kq2nQR1Q1/ARElc8/o/MJk7AvC5AnFcT1D+vAReWFG9ZG\r\nfko5BzIQ2ikqdGXLV0M3/bt5fHZptw80kmMrmrau8A4OvveTfbvj+V27Xbtz\r\n1zf+ncVAIwAW+TZUOhzV7z33CTPs4XX+6uc=\r\n=BiSM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.18.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/c9015ef809ce0da4e992faa2e3aed404/intertext-lexer-0.18.0.tgz","_integrity":"sha512-ACXMQbsz1Dk7q7HaFtzcm4y3MaYAjHzapaotUAExxLHQp62D/USY9YY0Wg4hW3R/iyA+6Iyav8NKQi6MUvPCVw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.18.0_1677957230469_0.8725290753512926","host":"s3://npm-registry-packages"}},"0.19.0":{"name":"intertext-lexer","version":"0.19.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.19.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"6f1570d86f78c605473094098884a9fb542887c6","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.19.0.tgz","fileCount":20,"integrity":"sha512-ohJgvCgJsqS0UBovlNevZfOYjHxMKyR2jjKthcMGIjrNimDxNJHRSgClBGr2zcTequbAX2hHM6W6hQyXX8qW8g==","signatures":[{"sig":"MEUCIQCSeMIxMB4SPrTGk/aZV0aFqZpgSHb9Pjp1eAUO1KbTwwIgL7K/hYJB2JtPdZqTAgHfJLkK3lgg6lJzZeYEQnZZ4lw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBhN3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqP6w//eyv6wtdVxMDPuJFPygPyZosEIEOe+2x52os/K5vNRvcvrVjV\r\ncfHFBZUOqq0qoJECWaDbhj5at/tEqCBS7krGHIWI+KcnnTeEdYUgSNJtujRB\r\nK4j3nCyg69WZY6npobF/PE4bV8MSgtvTSm7yvn8Z0kBGDCOrkeS3I2gN38je\r\n5oHGKj97ZfoWvjJkp0/ySVtUe+K2qsfYapZpEQestvULFFTWtf60XtwX0uv9\r\npVTEI7VkRRFpnjAd4qKLu6+TJ87q4IdKfmzHx0mjfZ1+MmZFvANj8hniVkZq\r\nRd3a3uX1qvRPoaVmGA7ZLLF3xzV+ET5vjb8o7ke071gr7U89oZYA2EDVkHBu\r\nDVKYYpQo/7OAOEb16FXAevp0Cpo9oBReuv9wcvOFgenJGB4OLmOvOT6q8i6V\r\nTZfeQqyLUpmEuiRI9ZmxdXy3igbli+X3X0P7z5Sd3Y2tbe/73AdK0Y0hjvtz\r\nvyagQ+Znnnn4jBmk5YJELPZm6yAiBRCPSuXaiatF/dx7wDYG7Q0QWaqZmSsj\r\nb0Bt9i3D/3L2RDOWjeMLwg18ptu6Kk32wknnp9Sctjs+CKH98PoveehLcBxY\r\n+ZC/5Fgkayb6wkZ12a0y578hmtPWkJNjeNj4cFXTE0SSyp1s/BgYV8NAN1A1\r\nkrDEpDcHSg+WRngIp8OR0qFyywlrBYpTwvk=\r\n=J+pO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.19.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/5bebc55f56b4da0d00d1df46a692dd0c/intertext-lexer-0.19.0.tgz","_integrity":"sha512-ohJgvCgJsqS0UBovlNevZfOYjHxMKyR2jjKthcMGIjrNimDxNJHRSgClBGr2zcTequbAX2hHM6W6hQyXX8qW8g==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.19.0_1678119799403_0.2370516882005258","host":"s3://npm-registry-packages"}},"0.20.0":{"name":"intertext-lexer","version":"0.20.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.20.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"88030c57372625ca0be32dd306ed6f348ff637ca","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.20.0.tgz","fileCount":23,"integrity":"sha512-DL+URYT2PD2nB6XqREz2E1/l04LAYcGtkvG2qv95ItlX/BnViZnVLha7AKu8fxIh9JYQxai64RHDqYGM8uDedg==","signatures":[{"sig":"MEYCIQDaFK+V1HSnflbDYbCf4BLd7a11V+MWgs2psrXT4DbpVgIhAIRLqLbRTOGq+jHEau+V8nOXRQ7Dl8vv56O8eqqJ1iBg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":237790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkC07zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo62xAApMbA0lgIW9xm/TdeFOc9MP96RHvXAlyJYUTCJqYDBA+ykhl/\r\nP9wgEGcRYVbe0bpr1KZ1Wbq2eYvWD82IKl7mfdWcqjbsAF88mBvsEnlM6Z0c\r\nbB0BN0/Tu/VaEgfQnPBM/5Zy05Z1u96b/B2ZAE1ZxIXQTm5lARvpeZqATwY0\r\nb2ELFjhq8ER68S12MXIJll9cUZuNJWAquVecxdVuGHlmAi1dwX1JMGBGkIE7\r\nidv/rOqjEI4kc9gZFw6smGAOY6IujLxVRXzC7Kv7UYdaDh9nZKE4gfis32Hn\r\noC/5HWv3Z0Cm8JEUAsh9S/zYKIRSu66N52VO341FboA79XSqO3aCdBMqLbQB\r\ny3jJ50IpZJD7M24nUI0ThiIEsUuIKVvTFlL1es7ydpAf9jL1M7AQPdZcSMOp\r\nuFCr8UqiF19To7ODNSJUqqzCH2KRAo/ozUv3a/hwSb9yB2FN8+Q6/Kprr7DP\r\nT7hGR/5W2wGEQX8go8325r460COkeXshtaWgKy/ggnlDd7v7Jan3orRqhK7S\r\nj1xJGPI6Te5wkhl6sBgmwQGtPD/u8GK48YZhC09Qa5bxqv10gJFWO9l6SMx/\r\nR3MUq8aHKGnfbgnSwH/0LGRCFyfz0JhCWwXkPzCqg7G3Mot3WhVcAv5Uli1T\r\n9DxcffX5meX1IOPXeZx+ksc3wzjoaWNLvdw=\r\n=v5rU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.20.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/bb8b4c29a08c39f56097cad575d14d79/intertext-lexer-0.20.0.tgz","_integrity":"sha512-DL+URYT2PD2nB6XqREz2E1/l04LAYcGtkvG2qv95ItlX/BnViZnVLha7AKu8fxIh9JYQxai64RHDqYGM8uDedg==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.1.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","moonriver":"^4.0.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.20.0_1678462707243_0.2490987418842936","host":"s3://npm-registry-packages"}},"0.21.0":{"name":"intertext-lexer","version":"0.21.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.21.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"c0206d16a911d34bd2360d6b79c54854f741ccc4","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.21.0.tgz","fileCount":23,"integrity":"sha512-5s9TF9r/7nU19ibhRYDz/gIh54gHLyl0+sQ1Rl0OAsRPQnw+sIRplkh6JhlS4OKrW5rA6eUttCg0JKr9mFkHpw==","signatures":[{"sig":"MEMCH29Yaf2C8MEZh7dJopQ3bO2NWEPlqjdNRE0sJbARPfACIERXfsIllVcar886M9e3VRWDmxtUy+KWnKuxlP/14smo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":261765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEIpcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU+g//dEAQyrnILkjTzaOhxqboy6mWj8CUYyCwLnUeAP/lU6Rdi/w7\r\n93h72SQMBTHFNSttXSgFgaHnF2AyJz5wIwGKPeTnJi38F/e1Nm/gKnexZlgV\r\n7ooOH82z8mjjOv8gYlI9DjO38AcBmCwkHQzW5l7N7yu+coaNdRH+Tar8U0qS\r\nWp83ghv0TVmAcVJNyJT8pUXSeH+yyoHM6rFe2U/hrRX9kL9HOag9G+PVPr4j\r\n0x8w2UnA3FFSGpyg58gzGJI8hJon8IhyXCnXBXVxlqnu58Q6CP9SW+UWB9oz\r\nMJtQ3bTaNoBvbNavJ0zB2+ifKQNG7vckz7Vr65iUYCQG3h4aQVJA0E6YdFuU\r\nr0ayqFDHDIkzeosrLdx+AIdzjgxBl7D2zApEToUPCskvwIWKQw81+dHyFaQD\r\n6p/Q+zaeiYm9Rwi/FGYquuVJlZz1wfxhGSDOaodCBk+nQmY4O3+malhlFoxB\r\nLgtDUUNq3sCAIG2zhvRVT5ggDyST0u9ABkzqUNb+ovk1mtlMB4gRNAchWYbK\r\nYU22sDzJUwjvyMIeEBEu2BETXzGgzemtWEZNKo7qOme5QtgMnWwNfHerfRE+\r\n63tGs85dSmPI+3AS2xjnPjbS3Suf18SfO7kGM4WLSvs5xX1U8KubQkV1HQca\r\nVioph+e8sRvRbmdxXlumG+qfFY1VnYAtRHE=\r\n=IYK+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.21.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/fa8bf4f5a4075efc247a38c492b6fa98/intertext-lexer-0.21.0.tgz","_integrity":"sha512-5s9TF9r/7nU19ibhRYDz/gIh54gHLyl0+sQ1Rl0OAsRPQnw+sIRplkh6JhlS4OKrW5rA6eUttCg0JKr9mFkHpw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.2.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.111.0","moonriver":"^4.0.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.21.0_1678805596351_0.1637233440389152","host":"s3://npm-registry-packages"}},"0.23.0":{"name":"intertext-lexer","version":"0.23.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.23.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"b6222d3d76c2556a1800b59ac156f96f76f48a64","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.23.0.tgz","fileCount":26,"integrity":"sha512-F06NkxMIOXM78FWcpZFBZ5zYwAM3KsGOIqvN5CCW2PL9aWqIMnRkXzf6yhMh2h3rKyOqopLD41omUAo0jtdO+g==","signatures":[{"sig":"MEUCIAGl0Qm90Jv13I4EZbQ88IhHcaF5fgnyHCcIY/AxwkNRAiEA/FWgWdH7RuG+NLRY4SZG2RDZyFeRfnbeAHqjy1bxOKU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":299782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJDeuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwHA/8D9nuXRy8D1qintzCEIF2xReHZ7amLihzf4cQvb5WPaX3rdQ8\r\noudpiEC7c0oIsxr/gJoSoxJ3n6rJAZOArdX/sI4T7EedbKAuggdGLIq/kPpR\r\nojIklrT9mRaro3lXWB/5moMplAigqaV/wxmOt2Sxqeqzv8tLYIRKmI9RgYnA\r\nu+8m6dU8ksznjbnqrvUZ20uKr/Bjfsd2TfKKKvRF0RVC1TZq5rMw67BmRn/p\r\nB2jV3eUMNdgnfapFJA8YlxuXQCoCjw5G2cXlWMfBtHFFNr5OxA6D8wO4Euvp\r\nDee1nlh7vOLmxwUPOAiUvs6H5zC17dTBA8GKgEdEinozz29s+2I03o9gz2BX\r\n6PSnWADNSZGlcvmu95LiuMdcF5ob3CARHhzDj8yD+2kGzQ0Ujm+GNgSn2Q4U\r\nUjbT0gnXpZ5Mu/hnhlzou+lw17c7Kw91VQnMhhPkwKyKDVLNY//0tMuSkiAv\r\n5tm2YM4S66+gNrDQccbTVy8vzP8xKVznZs175oIQaAXxCWB6q4lt2SJ2KMZv\r\ngAMHdCpqO6n0u52gAZm9nkwB+yA6p3iXsYUk55n9jD//X3VbDw3HDxksTMWB\r\nePrPU8KfXbdIF37syxa4VYMDB7Rtud/+kI84JWfS/e7TTgZ/BE0MQqwIthDO\r\nodxkf2rK5J/S/xZwiZnWQK62R8EvAq3i36Q=\r\n=QMRY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.23.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/4d9b0b851e3ea41bfd355825a53af10c/intertext-lexer-0.23.0.tgz","_integrity":"sha512-F06NkxMIOXM78FWcpZFBZ5zYwAM3KsGOIqvN5CCW2PL9aWqIMnRkXzf6yhMh2h3rKyOqopLD41omUAo0jtdO+g==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.5.0","datom":"^11.0.0","ltsort":"^4.0.0","intertype":"^0.113.0","moonriver":"^4.8.0","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.23.0_1680095149943_0.4395502916223173","host":"s3://npm-registry-packages"}},"0.24.0":{"name":"intertext-lexer","version":"0.24.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.24.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"4f4dfe60b060c2b5e692ea4c906c977c5279baa1","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.24.0.tgz","fileCount":26,"integrity":"sha512-mZTujGaQxmeAHwkJRnew2IrCY5bDcpxd1XbLfFPhUHSOCpKZ7A9HkNXwNibt5EXsmwqMswqBTVAidniZQdux+g==","signatures":[{"sig":"MEQCIGosIB/MEKroUIGqUcQmvFwGifOR39CAL97fMcikryorAiBvnRs8eT11wWbq/NROEefxVXLe/5J/KA9SMyfKHx2g7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":307917,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKEgkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqAg//SCiGL+YrlDB9xk9T4dMapjsbl8vFfNFllQ20uZDS/v4KUlbM\r\nHG6nNf5y7Ciia2AFJrueMcQAhwCizSAWTQTyl791tEjcowikKfkqK5ETi7yi\r\nYXZWWOBUBZXecBVvgHVZGjff0udQWO/nV200ZPpr2+etihuvtu6i03BZs2e4\r\n0Y6r3v7V+wjXyDE7R16KPVPCNNSCGUKr0nRTFCCp+45vlwQ2O4zA2iXHeyZz\r\nLvEMopKmcj/p1ruEQPJ8QIS2vbUU+edPhUDnmkY1dOQMbpJFqWa5L33FH9Po\r\nN0MVWoRcoTOP8O2z+DhNj8N2T+rHEm+1yqcajHCZeYDgXJXu0ZBBTNI2vIdP\r\nzL/3KePjxWChjxfY6p64nzBYElhVJtmVoY/53ShW/AlBbGRg9iVePOVIcl/i\r\ngHS8jJD/aKHy8iAfyFeiWDQw4Vob3l03OGvCu/NysrK85a7bNnTiNI7S76cG\r\nCiNhz4VbnIO1IUfEGhA3HM/7OcIO3oByw625SdKl7Iz3fQHpONRxzVRaGeJf\r\n2CzQd1OrtA1/8Ae3uW3Hu3p4JwSAVIfjy+7L74K6FXNTX3B3TefcLbC18nZR\r\ntMYHFp6FIMizH5PxmMefy11UIjVE5nWVWq7jWuDk5BxROQ8VBdgiXddr5ob5\r\nU4VcHlwJVdOzU9QDO6iVTEMqPtzLdNbqISg=\r\n=zR2P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/main.js","_from":"file:intertext-lexer-0.24.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/1497bc0ead10c6897b0b966f32733bc1/intertext-lexer-0.24.0.tgz","_integrity":"sha512-mZTujGaQxmeAHwkJRnew2IrCY5bDcpxd1XbLfFPhUHSOCpKZ7A9HkNXwNibt5EXsmwqMswqBTVAidniZQdux+g==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.5.0","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.7.0","dependencies":{"guy":"^13.5.0","datom":"^12.0.1","ltsort":"^4.0.0","intertype":"^0.114.0","moonriver":"^4.8.2","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.24.0_1680361508105_0.6821487559719044","host":"s3://npm-registry-packages"}},"0.25.0":{"name":"intertext-lexer","version":"0.25.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.25.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"e8ec7bf00b0bfae9a9857b2023f9db9a8a838059","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.25.0.tgz","fileCount":26,"integrity":"sha512-oBzhX5/2bO/r/kMEQJ0yezZ5lQDdzOnQ2KbCTLUrsAcTod5rWF9F2hhtkTosil70Te75lfPuMBgxrvf3xx0zsQ==","signatures":[{"sig":"MEUCIQCBI5C84nakOn/w2ofIpi/4IC0QrJBSkyLlftOh1gpFRQIgDw0EVwcJH9/NWdab5wEkUBlEpaMjpC2z/ExpqXarNfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315097},"main":"lib/main.js","_from":"file:intertext-lexer-0.25.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/78ab2e50306fbd174f0b6d42997b16f4/intertext-lexer-0.25.0.tgz","_integrity":"sha512-oBzhX5/2bO/r/kMEQJ0yezZ5lQDdzOnQ2KbCTLUrsAcTod5rWF9F2hhtkTosil70Te75lfPuMBgxrvf3xx0zsQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"9.6.3","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"19.9.0","dependencies":{"guy":"^13.5.0","datom":"^12.1.1","ltsort":"^4.0.0","intertype":"^0.116.0","moonriver":"^4.8.2","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.25.0_1683374123187_0.07284078309586062","host":"s3://npm-registry-packages"}},"0.26.0":{"name":"intertext-lexer","version":"0.26.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.26.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"8667b03431029c96ef6085509901451840cf40fd","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.26.0.tgz","fileCount":26,"integrity":"sha512-qvhDl9cluL+eFd2DEF1+sMi0AjjpBuMpCG02j4NEhTDXDHt/yBALVamZZ1kDr/L7VzW6Vfjm29lmTfJvTTIiow==","signatures":[{"sig":"MEQCIDJaKyPAXv984nHQWjfpgqoLEesELE6luMZ1evACeVOSAiAoH0ntfJiYzq+OfKsfKntqoJUu1NtzLGa58Wo/AScTpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315097},"main":"lib/main.js","_from":"file:intertext-lexer-0.26.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/988dfd2a60f6459b8f40e470f303ae9f/intertext-lexer-0.26.0.tgz","_integrity":"sha512-qvhDl9cluL+eFd2DEF1+sMi0AjjpBuMpCG02j4NEhTDXDHt/yBALVamZZ1kDr/L7VzW6Vfjm29lmTfJvTTIiow==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.0","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.26.0_1720537681671_0.07644533967900746","host":"s3://npm-registry-packages"}},"0.26.1":{"name":"intertext-lexer","version":"0.26.1","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.26.1","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"675752cf2a8941f0bfaea7d226c0db706c8278d4","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.26.1.tgz","fileCount":26,"integrity":"sha512-7wnhOtiL+RC/uZZfXO0Xdct/xWXf0p0o+eJOT7kfBBPjdeZ5ilkY7hCvAyySltZDy9UT7tDJGIr+hc35X/gEYA==","signatures":[{"sig":"MEQCIG16aWbI+G8w7zLqmOBnPqayE7YzrcOow1ehFYZhhczlAiB7wIZ5FZNj9Ede193CJ6RJL4DETOWmqso8hKHuvFCNvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315945},"main":"lib/main.js","_from":"file:intertext-lexer-0.26.1.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/ce6d29c0ec382dd9c9a2f0651ebf9d61/intertext-lexer-0.26.1.tgz","_integrity":"sha512-7wnhOtiL+RC/uZZfXO0Xdct/xWXf0p0o+eJOT7kfBBPjdeZ5ilkY7hCvAyySltZDy9UT7tDJGIr+hc35X/gEYA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.1","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.26.1_1721197735826_0.635922647544678","host":"s3://npm-registry-packages"}},"0.27.0":{"name":"intertext-lexer","version":"0.27.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.27.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"2d095d6c777969b5c9ccc109e3326d1f442965b5","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.27.0.tgz","fileCount":26,"integrity":"sha512-4Zcdtcq8PQXZOukJBw+wN2HVyh7EUBijnvZEkI797t7SVUoSosEGaq1Kx1nVrlUOi7kkMJi/fYY3TCbZordQnA==","signatures":[{"sig":"MEYCIQDCBt2UWrJ89P/YdZYJGyik0l/uAOkeNs7EX98Xyz8xqAIhAMtM/AIoiW0YdRyA6CZU06+fW0LgnDXIpwZel8VmE+es","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321269},"main":"lib/main.js","_from":"file:intertext-lexer-0.27.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/253f9a7b9b990fa037451d861c83524b/intertext-lexer-0.27.0.tgz","_integrity":"sha512-4Zcdtcq8PQXZOukJBw+wN2HVyh7EUBijnvZEkI797t7SVUoSosEGaq1Kx1nVrlUOi7kkMJi/fYY3TCbZordQnA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.1","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.27.0_1721315971658_0.04424612356680657","host":"s3://npm-registry-packages"}},"0.28.0":{"name":"intertext-lexer","version":"0.28.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.28.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"9c9d26f77e39383672b12f1b6c4f877ee518fa5f","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.28.0.tgz","fileCount":26,"integrity":"sha512-eJsqTfX7UZ3BQoJbcATmKo9p3hQCsd5j3Wg4X7cZ+DMVQ31mJHPmm02d44UuNhHZoe7TzCI0W8OheaIMFVn2rQ==","signatures":[{"sig":"MEUCIQDbYkokpipR/uHxrGcomSEBv+n8PewT0twi4f6dNaFO8AIgLIu1rtEYNs1G8ajqxVMd9TnCSD1dlv/FZa5hPOdb8R4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322067},"main":"lib/main.js","_from":"file:intertext-lexer-0.28.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/cd03fdb6b940b935cc33db3f11349a9e/intertext-lexer-0.28.0.tgz","_integrity":"sha512-eJsqTfX7UZ3BQoJbcATmKo9p3hQCsd5j3Wg4X7cZ+DMVQ31mJHPmm02d44UuNhHZoe7TzCI0W8OheaIMFVn2rQ==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.1","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.28.0_1721326938653_0.05155977946679147","host":"s3://npm-registry-packages"}},"0.29.0":{"name":"intertext-lexer","version":"0.29.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.29.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"547510fcfd2314008d2e1764758a63ace3d91b56","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.29.0.tgz","fileCount":26,"integrity":"sha512-TVKwHt+4eEVQw8e2PE9kngjDwdzhqc0v6fj7IXZYjKYEYzHeUxdVXyyDboTcKOXKtqgs732foZUw1UObX3VpDA==","signatures":[{"sig":"MEQCIEDeuGYAe08uNGd0P2xKttFq/6uRTIjH+h/ojLZqbqn3AiAIkDoSdcFLRpfVBDORwc952mEf3gVgYrE9HavCBgsgIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322331},"main":"lib/main.js","_from":"file:intertext-lexer-0.29.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/4e263417e903e52f60b31b7845948d32/intertext-lexer-0.29.0.tgz","_integrity":"sha512-TVKwHt+4eEVQw8e2PE9kngjDwdzhqc0v6fj7IXZYjKYEYzHeUxdVXyyDboTcKOXKtqgs732foZUw1UObX3VpDA==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.1","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.29.0_1721327753546_0.2795959916758828","host":"s3://npm-registry-packages"}},"0.30.0":{"name":"intertext-lexer","version":"0.30.0","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.30.0","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"abf7d53651d8e9ab246dc662ffd279661752a0bc","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.30.0.tgz","fileCount":26,"integrity":"sha512-NW793vnRhPopNKs9Tf9yTKRoZu7Vw0Xq9v3uZcWkEM9Zb9pn5JTogb88zpMx8FcwM/WbbwNp5cIGdr6PexLcdg==","signatures":[{"sig":"MEYCIQDyWZ4JdoP+dm1MZLPFk6hdTPWXDFff9bSNepSaotYCDwIhAJj5Lx50vLAxPyhfFBeM3Z1tk2qYBkIMTlxyqreRTFJD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322725},"main":"lib/main.js","_from":"file:intertext-lexer-0.30.0.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/0d0e9be22f38a06bff8dfa856c5f849f/intertext-lexer-0.30.0.tgz","_integrity":"sha512-NW793vnRhPopNKs9Tf9yTKRoZu7Vw0Xq9v3uZcWkEM9Zb9pn5JTogb88zpMx8FcwM/WbbwNp5cIGdr6PexLcdg==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.8.1","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"22.4.1","dependencies":{"guy":"^13.7.2","datom":"^12.3.0","ltsort":"^4.0.0","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.30.0_1721331175519_0.2971038359999494","host":"s3://npm-registry-packages"}},"0.30.1":{"name":"intertext-lexer","version":"0.30.1","keywords":[],"author":"","license":"MIT","_id":"intertext-lexer@0.30.1","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"homepage":"https://github.com/loveencounterflow/intertext-lexer","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"dist":{"shasum":"993fcdf7e905e3c22529f16dd7894a314724335b","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.30.1.tgz","fileCount":26,"integrity":"sha512-koS0ZvTQk+RtTAjjBQURElcpDWdtaKOEa8o4rk5m3u8pgWyPcPdIxZTGGKqJkTnHHJh699nG2FZY0GcvWwG3dw==","signatures":[{"sig":"MEQCIEBTvglZTnFYtxrqxs0CenZfcbgmG50uJT11B3cO7mEXAiABlxCbka1NlsCLa0nhu/+hC0sZSjTqJnSL19HfwFdYsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323042},"main":"lib/main.js","_from":"file:intertext-lexer-0.30.1.tgz","scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"_resolved":"/tmp/e76eb7edf2bbe1a4fc4013df0d0bd043/intertext-lexer-0.30.1.tgz","_integrity":"sha512-koS0ZvTQk+RtTAjjBQURElcpDWdtaKOEa8o4rk5m3u8pgWyPcPdIxZTGGKqJkTnHHJh699nG2FZY0GcvWwG3dw==","repository":{"url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git","type":"git"},"_npmVersion":"10.9.2","description":"A multimodal lexer based on sticky regexes","directories":{},"_nodeVersion":"23.11.0","dependencies":{"guy":"^14.2.0","datom":"^12.3.0","ltsort":"^4.0.2","intertype":"^0.119.1","moonriver":"^4.8.4","compose-regexp-commonjs":"^0.6.24"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/intertext-lexer_0.30.1_1746897154146_0.7080059241752168","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"intertext-lexer","version":"0.31.0","description":"A multimodal lexer based on sticky regexes","main":"lib/main.js","keywords":[],"author":"","license":"MIT","homepage":"https://github.com/loveencounterflow/intertext-lexer","repository":{"type":"git","url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git"},"dependencies":{"compose-regexp-commonjs":"^0.6.24","datom":"^12.3.0","guy":"^14.2.0","intertype":"^0.119.1","ltsort":"^4.0.2"},"scripts":{"test":"echo see 'https://github.com/loveencounterflow/hengist/tree/master/dev/intertext-lexer'"},"_id":"intertext-lexer@0.31.0","bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"_integrity":"sha512-1HiHHuydl8LkJfAZpNmwY4dmYXpG4uCXEWGYx9sTaYr24qttZi+71QQQUJp0aWPuWgmcs2027sfvU03QUek6Aw==","_resolved":"/tmp/476972dd58f01761344ff0348ffa07d2/intertext-lexer-0.31.0.tgz","_from":"file:intertext-lexer-0.31.0.tgz","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-1HiHHuydl8LkJfAZpNmwY4dmYXpG4uCXEWGYx9sTaYr24qttZi+71QQQUJp0aWPuWgmcs2027sfvU03QUek6Aw==","shasum":"d1789849ff56b77cd4dedc15e1e12ef7df2fefa9","tarball":"https://registry.npmjs.org/intertext-lexer/-/intertext-lexer-0.31.0.tgz","fileCount":20,"unpackedSize":258018,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGR2xGEmj/w0qfDpNFsl7IccSDXo0ms0WhrSnVyyoA+yAiBeGeqzRtgGask49N9tdOyXW9J4Gf6gOX2ozJJvZXeO9A=="}]},"_npmUser":{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"},"directories":{},"maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/intertext-lexer_0.31.0_1746898654344_0.14454061807399254"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-20T11:19:10.152Z","modified":"2025-05-10T17:37:35.099Z","0.0.1":"2023-01-20T11:19:10.375Z","0.0.2":"2023-01-31T12:45:14.668Z","0.1.0":"2023-02-05T10:34:51.969Z","0.2.0":"2023-02-05T16:09:46.376Z","0.2.1":"2023-02-15T12:19:55.443Z","0.3.0":"2023-02-15T15:41:51.113Z","0.4.0":"2023-02-15T18:14:36.584Z","0.5.0":"2023-02-17T19:36:57.646Z","0.6.0":"2023-02-18T12:50:07.776Z","0.7.0":"2023-02-18T15:45:24.621Z","0.8.0":"2023-02-19T18:02:39.840Z","0.9.0":"2023-02-20T08:35:17.436Z","0.10.0":"2023-02-21T09:30:28.123Z","0.11.0":"2023-02-21T09:50:18.610Z","0.12.0":"2023-02-26T14:49:41.231Z","0.13.0":"2023-02-28T13:26:29.862Z","0.14.0":"2023-03-01T18:51:11.020Z","0.16.0":"2023-03-03T14:40:45.740Z","0.17.0":"2023-03-04T17:04:51.677Z","0.18.0":"2023-03-04T19:13:50.645Z","0.19.0":"2023-03-06T16:23:19.607Z","0.20.0":"2023-03-10T15:38:27.442Z","0.21.0":"2023-03-14T14:53:16.673Z","0.23.0":"2023-03-29T13:05:50.200Z","0.24.0":"2023-04-01T15:05:08.316Z","0.25.0":"2023-05-06T11:55:23.373Z","0.26.0":"2024-07-09T15:08:01.850Z","0.26.1":"2024-07-17T06:28:56.042Z","0.27.0":"2024-07-18T15:19:31.855Z","0.28.0":"2024-07-18T18:22:18.850Z","0.29.0":"2024-07-18T18:35:53.760Z","0.30.0":"2024-07-18T19:32:55.694Z","0.30.1":"2025-05-10T17:12:34.383Z","0.31.0":"2025-05-10T17:37:34.579Z"},"bugs":{"url":"https://github.com/loveencounterflow/intertext-lexer/issues"},"license":"MIT","homepage":"https://github.com/loveencounterflow/intertext-lexer","keywords":[],"repository":{"type":"git","url":"git+ssh://git@github.com/loveencounterflow/intertext-lexer.git"},"description":"A multimodal lexer based on sticky regexes","maintainers":[{"name":"loveencounterflow","email":"johnfrazer783@gmail.com"}],"readme":"\n\n# InterText Lexer `Interlex`\n\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [InterText Lexer `Interlex`](#intertext-lexer-interlex)\n  - [Notes](#notes)\n  - [Adding Lexemes](#adding-lexemes)\n    - [Jumps](#jumps)\n  - [Example](#example)\n  - [Topological Sorting](#topological-sorting)\n  - [Reserved and Catchall Lexemes](#reserved-and-catchall-lexemes)\n  - [Linewise Lexing and State-Keeping](#linewise-lexing-and-state-keeping)\n    - [CFG Settings `first`, `last`, `start_of_line`, `end_of_line`](#cfg-settings-first-last-start_of_line-end_of_line)\n    - [The `reset()` Method](#the-reset-method)\n    - [Linewise Lexing](#linewise-lexing)\n  - [Prepending and Appending to Chunks and Lines](#prepending-and-appending-to-chunks-and-lines)\n  - [Comparing Token Positions](#comparing-token-positions)\n  - [Positioning](#positioning)\n  - [Tools](#tools)\n    - [Start-Stop Preprocessor](#start-stop-preprocessor)\n  - [To Do](#to-do)\n  - [Is Done](#is-done)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n# InterText Lexer `Interlex`\n\n\n<!-- A collection of *lexemes* defines a *syntax* -->\n\n## Notes\n\n* An 'empty lexer' (i.e. a lexer without any lexemes) will match the empty string and nothing else;\n  depending on the lexer's configuration, the former may contain `$start` and / or `$end` tokens, and the\n  latter, in addition, may either contain a single `$error` token or else throw an error, as the case may\n  be.\n\n## Adding Lexemes\n\n* ATM adding lexemes one by one is supported by calling `lexer.add_lexeme()`\n* in the future, defining entire grammars in one go should become possible\n* `lexer.add_lexeme()` expects a `cfg` ('configuration') object with the following keys:\n  * `cfg.mode`: a valid JS identifier to identify the lexing mode;\n    * if no base mode was passed on instantiation of the lexer, the mode named in the first call\n      to `lexer.add_lexeme()` will become the base mode\n    * lexing will start from the base mode, which thereby becomes the initial mode (but note that the base\n      mode may be re-assumed later without it becoming the initial mode)\n  * `cfg.lxid` (**L**e**x**eme **ID**): a valid JS identifier to identify the matched lexeme;\n  * `cfg.pattern`: a string or a regular expression to describe a constant or variable pattern. Strings will\n    be converted to regexes, using proper escaping for all characters that are special in regexes (like `*`,\n    `(` and so on);\n    * **named groups (captures)**: when a regular expression has named groups (as in\n      `/abc(?<letter>[a-z]+)/`), those matches will be put into an object named `g` of the token (so if the\n      above matches, `token.g.letter` will contain a string matching one or more of the basic 26 lower case\n      Latin letters)\n  * names of modes and lexemes will be used to construct regex group names; therefore, they must all be\n    [valid JS identifiers](https://mathiasbynens.be/notes/javascript-identifiers-es6)\n  * `cfg.jump`: see [Jumps](#jumps)\n  * `cfg.create`: an optional function that will be called right after a token is created from the lexeme\n    (and right before it is frozen and yielded to the caller); whatever `create()` returns will become\n    the next token\n  * `cfg.value` and `cfg.empty_value` allow to set the `value` property of a token; both can be either\n    `null` (the default), a text or a function whose return value will become `token.value`.\n    * when defined, `cfg.value` will always override the token value; `cfg.empty_value` will only be\n      considered when the token value would be an empty string\n    * when `cfg.value` or `cfg.empty_value` are functions, they will be called in the context of the lexer\n      and with the token as only argument\n    * `cfg.value` or `cfg.empty_value` will be considered immediately before `cfg.create()` is called (where\n      applicable)\n\n### Jumps\n\nThe `jump` property of a lexeme declaration indicates which new mode the lexer should switch to when\nit encounters a matching pattern. It is either a string or a function. Allowed strings take one of four forms\n(assuming we're in mode `plain` in the below):\n\n* **entry jumps** (jumps that mandate a jump to a new mode): say we're looking for left pointy brackets `<`\n  and want to switch to mode `tag`. Depending on whether the *boundary itself* should belong to the current\n  or the upcoming mode, the value for `jump` should have either a leading or a trailing left square bracket\n  `[`:\n  * `{ jump: '[tag', }`: an *inclusive entry jump*; the 'boundary post' (the token for the `<`) will belong\n    to the *new* mode, `tag`). This is called 'inclusive' because the new mode already includes the upcoming\n    token (although it is declared with `mode: 'plain'`). The jump target `tag` appears 'inside' the square\n    bracket.\n  * `{ jump: 'tag[', }`: an *exclusive entry jump*; the 'boundary post' (the token for the `<`) will belong\n    to the *old* mode, `plain`). This is called 'exclusive' because the new mode will *not* include the\n    upcoming token. The jump target appears 'outside' the square bracket.\n\n* **exit jumps** (jumps that mandate a jump out of the current mode back to the previous one): say we're\n  inside a pair of pointy brackets `<...>` that we're lexing in mode `tag`; now we encounter the right\n  pointy bracket `>` that signals the end of that stretch, so it's time to revert to `plain`. This can be\n  symbolized by a `jump` value that either starts or ends with a `]` (right square bracket) and has a `.`\n  (dot) symbolizing the location of the mode the 'boundary post' will belong to:\n  * `{ jump: '.]', }`: an *inclusive exit jump*; 'boundary post' belongs to the *old* mode, `tag`\n  * `{ jump: '].', }`: an *exclusive exit jump*; 'boundary post' belongs to the *new* mode, `plain`\n\n* **singleton (or virtual) jumps**: lexemes that are declared with a mode name enclosed by a left and a\n  right bracket as in `jump: '[foo]'` will, when a match occurs, cause a token to be emitted for that match\n  whose mode is set to the jump target (here `foo`). For example, when declaring tokens and modes for\n  typical `\"string literals\"`, it is possible to fast-track, as it were, the special case of an empty string\n  literal, `\"\"`, in plain mode, but still make that lexeme and token belong to the string literal mode (say,\n  `dqstr` for 'double quoted string'): `lexer.add_lexeme { mode: 'plain', lxid: 'dq2', jump: '[dqstr]',\n  pattern: /(?<!\")\"\"(?!\")/u, reserved: '\"', }`.\n  * Singleton jumps will cause border tokens to be emitted just as with regular jumps (when the lexer is\n    configured with `border_tokens: true`).\n\n* In case the value of the `jump` property is a function, it will be called with an object `{ token, match,\n  lexer, }`. It should return one of:\n  * `null` in case nothing should be done; the token will be used as passed into this function, and the\n    mode will not be changed, or\n  * an object with two optional properties, `jump` and `token`, in which case\n    * `jump` should be an optional string whose be interpreted as described above, and\n    * `token` which could be the token passed in or a completely new one.\n    * In any event, the token's `jump`, `mode` and `mk` properties will be adjusted as appropriate which means\n      that setting or not setting these values makes no difference.\n  * **Note**: You can only change the lexer's mode by returning an allowable value for `jump`; a returned\n    `token`'s `mode` will be ignored.\n\n## Example\n\nHere is a minimal lexer that understands a tiny fraction of the Markdown grammar, namely, single stars `*`\nfor emphasis and single backticks `` ` `` for code spans. The single star will be passed through\nas-is inside code spans:\n\n```coffee\n{ Interlex\n  compose  }        = require 'intertext-lexer'\nfirst               = Symbol 'first'\nlast                = Symbol 'last'\n#.........................................................................................................\nnew_toy_md_lexer = ( mode = 'plain' ) ->\n  lexer   = new Interlex { dotall: false, }\n  #.........................................................................................................\n  lexer.add_lexeme { mode: 'plain',   lxid: 'escchr',    jump: null,       pattern:  /\\\\(?<chr>.)/u,     }\n  lexer.add_lexeme { mode: 'plain',   lxid: 'star1',     jump: null,       pattern:  /(?<!\\*)\\*(?!\\*)/u, }\n  lexer.add_lexeme { mode: 'plain',   lxid: 'codespan',  jump: 'literal[', pattern:  /(?<!`)`(?!`)/u,    }\n  lexer.add_lexeme { mode: 'plain',   lxid: 'other',     jump: null,       pattern:  /[^*`\\\\]+/u,        }\n  lexer.add_lexeme { mode: 'literal', lxid: 'codespan',  jump: '.]',       pattern:  /(?<!`)`(?!`)/u,    }\n  lexer.add_lexeme { mode: 'literal', lxid: 'text',      jump: null,       pattern:  /(?:\\\\`|[^`])+/u,   }\n  #.........................................................................................................\n  return lexer\n```\n\n## Topological Sorting\n\nInterlex optionally uses topological sorting (provided by\n[`ltsort`](https://github.com/loveencounterflow/ltsort), q.v.) of lexemes. This is triggered by adding a\n`before` or `after` attribute when calling `leyer.add_lexeme()`. Either attribute may be a TID (which\nidentifies a lexeme in the same mode) or a list (array) of TIDs. Both values may also be a star `*` meaning\n'before' or 'after everything else'. These dependency indicators don't have to be exhaustive; where left\nunspecified, the relative ordering of addition of the lexemes is kept.\n\nObserve that ordering is only defined for lexemes *within the same lexer mode*; there's no notion of\nrelative ordering between lexer modes or lexemes across modes.\n\n## Reserved and Catchall Lexemes\n\nEach lexeme can announce so-called 'reserved' characters or words; these are for now restricted to strings and\nlists of strings, but could support regexes in the future as well. The idea is to collect those characters\nand character sequences that are 'triggers' for a given lexeme and, when the mode has been defined, to\nautomatically construct two lexemes that will capture\n\n* all the remaining sequences of non-reserved characters; this is called a *catchall* lexeme (whose default\n  TID is set to `$catchall` unless overriden by a `lxid` setting). The catchall lexeme's function lies in\n  explicitly capturing any part of the input that has not been covered by any other lexemer higher up in the\n  chain of patterns, thereby avoiding a more unhelpful `$error` token that would just say 'no match at\n  position so-and-so' and terminate lexing.\n\n* all the remaining *reserved* characters (default TID: `$reserved`); these could conceivably be used to\n  produce a list of fishy parts in the source, and / or to highlight such places in the output, or, if one\n  feels so inclined, terminate parsing with an error message. For example, when one wants to translate\n  Markdown-like markup syntax to HTML, one could decide that double stars start and end bold type\n  (`<strong>...</strong>`), or, when a single asterisk is used at the start of a line, indicate unordered\n  list items (`<ul>...<li>...</ul>`), and are considered illegal in any other position except inside code\n  stretches and when escaped with a backslash. Such a mechanism can help to uncover problems with the source\n  text instead of just glancing over dubious markup and 'just do something', possibly leading to subtle\n  errors.\n\nWhether the catchall and the reserved lexemes should match single occurrences or contiguous stretches of\noccurrences of reserved items can be set with `concat: true` and `concat: false`. In the below lexer these\nhave been left to their defaults (no concatenation called for), but in the last tabular output below the\nresult for a string of 'foreign' and 'reserved' characters with `concat: true` is shown.\n\n\n\n```coffee\n{ Interlex, } = require 'intertext-lexer'\n### NOTE these are the default settings, shown here for clarity ###\nlexer = new Interlex()\n#.........................................................................................................\nmode    = 'plain'\nlexer.add_lexeme { mode, lxid: 'escchr',           pattern:  /\\\\(?<chr>.)/u, reserved: '\\\\', }\nlexer.add_lexeme { mode, lxid: 'star2',            pattern: ( /(?<!\\*)\\*\\*(?!\\*)/u   ), reserved: '*', }\nlexer.add_lexeme { mode, lxid: 'heading',          pattern: ( /^(?<hashes>#+)\\s+/u ), reserved: '#', }\nlexer.add_lexeme { mode, lxid: 'word',             pattern: ( /\\p{Letter}+/u ), }\nlexer.add_lexeme { mode, lxid: 'number_symbol',    pattern: ( /#(?=\\p{Number})/u ), }\nlexer.add_lexeme { mode, lxid: 'number',           pattern: ( /\\p{Number}+/u ), }\nlexer.add_lexeme { mode, lxid: 'ws',               pattern: ( /\\s+/u ), }\nlexer.add_catchall_lexeme { mode, concat: false, }\nlexer.add_reserved_lexeme { mode, concat: false, }\n#.........................................................................................................\nH.tabulate \"lexer\", ( x for _, x of lexer.registry.plain.lexemes )\nfor probe in [ 'helo', 'helo*x', '*x', \"## question #1 and a hash: #\", \"## question #1 and a hash: \\\\#\", ]\n  debug GUY.trm.reverse GUY.trm.steel probe\n  H.tabulate ( rpr probe ), lexer.run probe\n```\n\nThe lexer's `plain` mode now has a `$catchall` and a `reserved` lexeme:\n\n```\n lexer\n┌───────┬───────────────┬─────────────────────────────────────────┬──────┬──────────┬──────────────┐\n│mode   │lxid           │pattern                                  │jump  │reserved  │type_of_jump  │\n├───────┼───────────────┼─────────────────────────────────────────┼──────┼──────────┼──────────────┤\n│plain  │escchr         │/(?<𝔛escchr>\\\\(?<escchr𝔛chr>.))/u        │●     │\\         │nojump        │\n│plain  │star2          │/(?<𝔛star2>(?<!\\*)\\*\\*(?!\\*))/u          │●     │*         │nojump        │\n│plain  │heading        │/(?<𝔛heading>^(?<heading𝔛hashes>#+)\\s+)/u│●     │#         │nojump        │\n│plain  │word           │/(?<𝔛word>\\p{Letter}+)/u                 │●     │●         │nojump        │\n│plain  │number_symbol  │/(?<𝔛number_symbol>#(?=\\p{Number}))/u    │●     │●         │nojump        │\n│plain  │number         │/(?<𝔛number>\\p{Number}+)/u               │●     │●         │nojump        │\n│plain  │ws             │/(?<𝔛ws>\\s+)/u                           │●     │●         │nojump        │\n│plain  │$catchall      │/(?<𝔛$catchall>(?!\\\\|\\*|#)[^])/          │●     │●         │nojump        │\n│plain  │$reserved      │/(?<𝔛$reserved>\\\\|\\*|#)/                 │●     │●         │nojump        │\n└───────┴───────────────┴─────────────────────────────────────────┴──────┴──────────┴──────────────┘\n```\n\nResults:\n\n```\n 'helo'\n┌───────┬──────┬────────────┬──────┬───────┬───────┬──────┬────┬────────┐\n│mode   │lxid  │mk          │jump  │value  │x1     │x2    │g   │$key    │\n├───────┼──────┼────────────┼──────┼───────┼───────┼──────┼────┼────────┤\n│plain  │word  │plain:word  │●     │helo   │0      │4     │●   │^plain  │\n└───────┴──────┴────────────┴──────┴───────┴───────┴──────┴────┴────────┘\n```\n\n```\n 'helo*x'\n┌───────┬───────────┬─────────────────┬──────┬───────┬───────┬──────┬────┬────────┐\n│mode   │lxid       │mk               │jump  │value  │x1     │x2    │g   │$key    │\n├───────┼───────────┼─────────────────┼──────┼───────┼───────┼──────┼────┼────────┤\n│plain  │word       │plain:word       │●     │helo   │0      │4     │●   │^plain  │\n│plain  │$reserved  │plain:$reserved  │●     │*      │4      │5     │●   │^plain  │\n│plain  │word       │plain:word       │●     │x      │5      │6     │●   │^plain  │\n└───────┴───────────┴─────────────────┴──────┴───────┴───────┴──────┴────┴────────┘\n```\n\n```\n '*x'\n┌───────┬───────────┬─────────────────┬──────┬───────┬───────┬──────┬────┬────────┐\n│mode   │lxid       │mk               │jump  │value  │x1     │x2    │g   │$key    │\n├───────┼───────────┼─────────────────┼──────┼───────┼───────┼──────┼────┼────────┤\n│plain  │$reserved  │plain:$reserved  │●     │*      │0      │1     │●   │^plain  │\n│plain  │word       │plain:word       │●     │x      │1      │2     │●   │^plain  │\n└───────┴───────────┴─────────────────┴──────┴───────┴───────┴──────┴────┴────────┘\n```\n\n```\n '## question #1 and a hash: #'\n┌───────┬───────────────┬─────────────────────┬──────┬──────────┬───────┬──────┬────────────────┬────────┐\n│mode   │lxid           │mk                   │jump  │value     │x1     │x2    │g               │$key    │\n├───────┼───────────────┼─────────────────────┼──────┼──────────┼───────┼──────┼────────────────┼────────┤\n│plain  │heading        │plain:heading        │●     │##        │0      │3     │{ hashes: '##' }│^plain  │\n│plain  │word           │plain:word           │●     │question  │3      │11    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │11     │12    │●               │^plain  │\n│plain  │number_symbol  │plain:number_symbol  │●     │#         │12     │13    │●               │^plain  │\n│plain  │number         │plain:number         │●     │1         │13     │14    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │14     │15    │●               │^plain  │\n│plain  │word           │plain:word           │●     │and       │15     │18    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │18     │19    │●               │^plain  │\n│plain  │word           │plain:word           │●     │a         │19     │20    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │20     │21    │●               │^plain  │\n│plain  │word           │plain:word           │●     │hash      │21     │25    │●               │^plain  │\n│plain  │$catchall      │plain:$catchall      │●     │:         │25     │27    │●               │^plain  │\n│plain  │$reserved      │plain:$reserved      │●     │#         │27     │28    │●               │^plain  │\n└───────┴───────────────┴─────────────────────┴──────┴──────────┴───────┴──────┴────────────────┴────────┘\n```\n\n```\n '## question #1 and a hash: \\\\#'\n┌───────┬───────────────┬─────────────────────┬──────┬──────────┬───────┬──────┬────────────────┬────────┐\n│mode   │lxid           │mk                   │jump  │value     │x1     │x2    │g               │$key    │\n├───────┼───────────────┼─────────────────────┼──────┼──────────┼───────┼──────┼────────────────┼────────┤\n│plain  │heading        │plain:heading        │●     │##        │0      │3     │{ hashes: '##' }│^plain  │\n│plain  │word           │plain:word           │●     │question  │3      │11    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │11     │12    │●               │^plain  │\n│plain  │number_symbol  │plain:number_symbol  │●     │#         │12     │13    │●               │^plain  │\n│plain  │number         │plain:number         │●     │1         │13     │14    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │14     │15    │●               │^plain  │\n│plain  │word           │plain:word           │●     │and       │15     │18    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │18     │19    │●               │^plain  │\n│plain  │word           │plain:word           │●     │a         │19     │20    │●               │^plain  │\n│plain  │ws             │plain:ws             │●     │          │20     │21    │●               │^plain  │\n│plain  │word           │plain:word           │●     │hash      │21     │25    │●               │^plain  │\n│plain  │$catchall      │plain:$catchall      │●     │:         │25     │27    │●               │^plain  │\n│plain  │escchr         │plain:escchr         │●     │\\#        │27     │29    │{ chr: '#' }    │^plain  │\n└───────┴───────────────┴─────────────────────┴──────┴──────────┴───────┴──────┴────────────────┴────────┘\n```\n\nResult with `add_catchall_lexeme { mode, concat: false, }`, `add_reserved_lexeme { mode, concat: false, }`:\n\n```\n ':.;*#'\n┌───────┬───────────┬─────────────────┬──────┬───────┬───────┬──────┬────┬────────┐\n│mode   │lxid       │mk               │jump  │value  │x1     │x2    │g   │$key    │\n├───────┼───────────┼─────────────────┼──────┼───────┼───────┼──────┼────┼────────┤\n│plain  │$catchall  │plain:$catchall  │●     │:      │0      │1     │●   │^plain  │\n│plain  │$catchall  │plain:$catchall  │●     │.      │1      │2     │●   │^plain  │\n│plain  │$catchall  │plain:$catchall  │●     │;      │2      │3     │●   │^plain  │\n│plain  │$reserved  │plain:$reserved  │●     │*      │3      │4     │●   │^plain  │\n│plain  │$reserved  │plain:$reserved  │●     │#      │4      │5     │●   │^plain  │\n└───────┴───────────┴─────────────────┴──────┴───────┴───────┴──────┴────┴────────┘\n```\n\nResult with `add_catchall_lexeme { mode, concat: true, }`, `add_reserved_lexeme { mode, concat: true, }`:\n\n```\n ':.;*#'\n┌───────┬───────────┬─────────────────┬──────┬───────┬───────┬──────┬────┬────────┐\n│mode   │lxid       │mk               │jump  │value  │x1     │x2    │g   │$key    │\n├───────┼───────────┼─────────────────┼──────┼───────┼───────┼──────┼────┼────────┤\n│plain  │$catchall  │plain:$catchall  │●     │:.;    │0      │3     │●   │^plain  │\n│plain  │$reserved  │plain:$reserved  │●     │*#     │3      │5     │●   │^plain  │\n└───────┴───────────┴─────────────────┴──────┴───────┴───────┴──────┴────┴────────┘\n```\n\n* it is possible to give `$catchall` and `$reserved` lexemes a custom TID by settting the `lxid` parameter\n  when calling `lexer.add_catchall_lexeme()` and `lexer.add_reserved_lexeme()`\n\n## Linewise Lexing and State-Keeping\n\n* `state`:\n  * `state: 'keep'`—do not reset lexer state implicitly (except once before the very first chunk of\n    source is passed to the lexer with `lexer.walk()` or `lexer.run()`)\n    * this is the default for both `split: 'lines'` and `split: false`, so modes (but not lexemes) may\n      stretch across line or chunk boundaries\n  * `state: 'reset'`—reset lexer state before processing each new chunk of source. This happens always\n    when `lexer.walk()` (or `lexer.run()`) is called, and, if `split: 'lines'` is set, before each new line\n    of input\n\n* `split`:\n  * `split: 'lines'`—the default; when `lexer.walk { source, }` (or `lexer.run { source, }`) is called, the\n    lexer will internally use `GUY.str.walk_lines source` to split the source into line-sized chunks (with\n    line endings such as `\\n` removed)\n  * `split: false`—no splitting of `source` is attempted.\n    * when `lexer.walk { path, }` is used with `split: false` (not recommended), then *the entire content of\n      the corresponding file* are first (synchronously) read into memory and then lexed in its entirety.\n      This may be suboptimal when files get big in comparison to available RAM.\n\n* automatic `$border` tokens:\n  * enabled with `cfg.border_tokens: true`\n  * issued whenever a jump from one mode to the other occurs\n  * when jump lexemes are declared as inclusive, just looking at the stream of tokens may make it impossible\n    to determine stretches of contiguous tokens; e.g. when `<` starts and `>` ends `tag` mode inclusively,\n    then `<t1><t2>` will have a sequence of `{ value: '>', mode: 'tag', }`, `{ value: '<', mode: 'tag', }`\n    with no change in mode. Enable border tokens and now you get a sequence\n\n      ```coffee\n      { mode: 'tag', lxid: 'rightpointy',  value: '>', }\n      { mode: 'tag', lxid: '$border',      value: '', atrs: { prv: 'tag',   nxt: 'plain', }, }\n      { mode: 'tag', lxid: '$border',      value: '', atrs: { prv: 'plain', nxt: 'tag',   }, }\n      { mode: 'tag', lxid: 'leftpointy',   value: '<', }`\n      ```\n\n  * `value` of border tokens can be set with e.g. `cfg.border_value: '|'` (can then concatenate all `value`\n    properties of all tokens to visualize where lexer mode was changed)\n\n* Behavior of automatic `$eof` tokens:\n  * only when enabled at instantiation with `eof_token: true`\n  * when start tokens are enabled, they will be sent\n    * when `state` is `reset`: each time `lexer.walk()` is called\n    * when `state` is `keep`: only when `lexer.walk()` is called for the first time after an implicit or\n      explicit reset of the lexer state (an implicit call only occurs once after a lexer has been\n      instantiated and is used for the first time, or is triggered by a prior explicit call to\n      `lexer.end()`)\n  * in any event, 'reset of lexer state' means that mode stack is emptied and the lexing mode is set to the\n    base mode; however, the line number will not be reset to `1`\n  * when EOF tokens are enabled, they will be sent\n    * when `state` is `reset`: each time `lexer.walk()` is called and has exhausted the current source\n    * when `state` is `keep`: any time when `lexer.end()` is called (explicitly)\n  * there's the edge case that a reset of the lexer state caused by an explicit call to `lexer.start()` from\n    application code *within* a `for token from lexer.walk source` loop; this is a question that will have\n    to be dealt with later\n\n* using `{ state: 'reset', }` can be advantageous when lexing line-oriented code such as CSV because it\n  guarantees that at the start of each line, the lexer is reset to its base mode and hence things like an\n  erroneously forgotten closing quote will not affect the entire rest of the result; in other words, it\n  makes lexing a little more robust.\n\n### CFG Settings `first`, `last`, `start_of_line`, `end_of_line`\n\nIt is possible to include any kind of values when lexing starts or ends and also before and after each line;\nin each case, no value is sent if the respective setting is `null` or `undefined`; when the setting has been\nset to a function, that function is called without arguments; all other values are sent as-is. In order to\nsend `null`, `undefined` or a function, use a function with that return value.\n\n* **`first`**: emitted as first token\n* **`last`**: emitted as last token when end of source has been reached\n* **`start_of_line`**: only when `split: 'lines'` is set: emitted before first token (if any) of each line\n* **`end_of_line`**: only when `split: 'lines'` is set: emitted after last token (if any) of each line\n\n### The `reset()` Method\n\nThe `reset()` method of the Lexer will be called at the beginning of lexing and, additionally when `split:\n'lines'` is set, before each new line.\n\n### Linewise Lexing\n\n***TO BE UPDATED***\n\n\n* advantages\n  * no more struggling with [different end-of-line (EOL) standards](https://en.wikipedia.org/wiki/Newline)\n  * lexeme definitions can simply assume `/^/` will match start-of-line and `/$/` will match end-of-line,\n    forget about the 'dot match all' flag (`/.../s`)\n  * oftentimes, 'lines of text' will be reasonably small and meaningful chunks of data to work with, as\n    certified by the success of decades of Posix-style line-oriented data processing; the alternative is\n    handling the content of an entire (arbitrarily huge) file, or abitrary chunks of a file derived from a\n    running offsets + some byte lengths (which always risks cutting through a multibyte UTF-8-encoded\n    character and needs some sort of careful state-keeping)\n  * most of time, lexers will have no need to look at EOL characters; many languages do not care for\n    newlines (outside of string literals) at all and those that do care only (at least at the lexing level)\n    about whether something comes close to the start or the end of a given line, or that something like a\n    line comment will extend to the end of the present line\n* initialize with `lexer = new Interlex { linewise: true, }`\n* each time `lexer.feed()`, `lexer.walk()`, or `lexer.run()` is called, internal line counter is incremented\n* therefore, should call `lexer.feed()`, `lexer.walk()`, and `lexer.run()` only with a single line of text\n* observe that one can always call `lexer.walk { path, }`, then lexer will iterate over lines of the file\n* lexer will yield lexemes in the shape `{ mode, lxid, mk, jump, value, lnr1, x1, lnr2, x2, g, source, }` as\n  with non-linewise lexing, but with `source` representing the current line (not the entire lexed text),\n  `lnr1` indicating the 1-based line number of the start of the match, `lnr2` the same for the end of the\n  match, and `x1` and `x2` indexing into those lines in terms of exclusive 0-based [UTF-16 code unit\n  indexes](https://mathiasbynens.be/notes/javascript-encoding)) (so if the first letter on the first line is\n  matched, its token will contain `{ lnr1: 1, x1: 0, lnr2: 1, x2: 1, }`)\n  * since `lnr1` and `lnr2` are only present in linewise lexing which implies that the lexer only gets to\n    see a single line at a time, `lnr1` and `lnr2` must always be equal (IOW there can be no tokens across\n    linebreaks in linewise mode). However, if those tokens are then fed to a parser, that parser may match\n    tokens across linebreaks, and in that case it will be convenient to derive the position of the resulting\n    region by `{ lnr1, x1, } = first_token; { lnr2, x2, } = last_token`\n\n## Prepending and Appending to Chunks and Lines\n\n* Can instantiate lexer with `prepend`, `append` settings\n* this will prefix, suffix each line or chunk with the string given, if any\n* may choose to instantiate as `lexer = new Interlex { split: 'lines', append: '\\n', }` to ensure each line\n  is properly terminated depending on use case\n* when prepending, `x` positions will take prefix length into account and will not match positions in the\n  source\n\n\n## Comparing Token Positions\n\n* import as **`{ sorter } = require 'intertext-lexer'`**\n* **`sorter.sort: ( tokens... ) ->`**—sort tokens according to their relative positions as given by\n  the attributes `lnr1`, `x1`\n* **`sorter.cmp: ( a, b ) =>`**—compare the positions of two tokens `a`, `b` according to their\n  attributes `lnr1`, `x1`; returns `-1` if `a` starts before `b`, `0` if `a` and `b` start at the same point\n  (not possible if `a ≠ b` and both tokens came out of the same lexer running over the same source), and\n  `+1` if `a` starts after `b`\n* **`sorter.ordering_is: ( a, b ) -> ( @cmp a, b ) is -1`**—returns `true` if the ordering of the two\n  tokens `a`, `b` is as given in the call, otherwise `false`. If JavaScript allowed for custom operators or\n  operator overrides, then maybe I would've implemented this as `a << b` or `a precedes b` instead of\n  `ordering_is a, b`\n\n## Positioning\n\n* can increase (but not decrease) line number `lnr1`, `lnr2`, code unit index `x1`, `x2` by calling\n  `lexer.set_offset { lnr, x, }` before lexing a chunk of source\n* `lnr` must be a one-based line number; it will be decremented by `1` and added to both `lnr1` and `lnr2`\n* `x` must be a zero-based code unit index (JS string index); it will be added to both `x1` and `x2`\n* both `lnr` and `x` are optional; their defaults are `{ lnr: 1, x: 0, }`\n* this is useful when parts of a file or a string are to be lexed with some parts omitted\n* output of `Start_stop_preprocessor` can be used, line and column positions will be those in the original\n  source\n\n## Tools\n\n(experimental)\n\nCollection of useful stuff\n\n### Start-Stop Preprocessor\n\n* use it to find start, stop tokens in source before applying your main lexer\n* currently fixed to recognize XML processing instruction-like `<?start?>`, `<?stop?>`, `<?stop-all?>` (with\n  variant `<?stop_all?>` to avoid risk of line breaks when re-flowing text in editor); no whitespace may be\n  used inside these\n* could be extended to accept custom lexer or custom lexemes\n* will yield tokens with `{ data: { active: true, }, }` (or `false`) depending on whether source text\n  followed more close a start or a stop instruction\n* the tokens containing the relevant processing instructions will always be set to `active: false`\n* uses linewise mode\n* initialize as\n\n  ```coffee\n  { tools } = require 'intertext-lexer'\n  prepro    = new tools.Start_stop_preprocessor { active: true, eraser: ' ', }\n  ```\n\n  Shown here are the defaults:\n    * set `active: false` to only start when a `<?start?>` marker is found\n    * `eraser` and `joiner` control how gaps in the source are treated\n    * consider a source like `abc<?start?>xyz` being processed with initial `active: true`\n    * the `<?start?>` marker is redundant in that case and will be 'elided', meaning a token with `value:\n      <?start?>, $stamped: true, data: { active: false, }` is yielded (and may be discarded as seen fit)\n    * but that leaves a hole in the source: `abc❓❓❓xyz`, how to deal with it?\n    * the MVP solution was to send one active chunk `abc`, one inactive chunk `<?start?>`, then one active\n      chunk `xyz`. But this is not a good solution if the downstream lexer operates in linewise fashion\n      because it then will treat `abc` and `xyz` as appearing on two consecutive lines and mess up their\n      position data\n    * most of the time one would prefer all `lnr1, x1` positions to be preserved as faithfully as feasable\n    * `xyz` occurred at `x1: 12` in the input; if we now pass on `abcxyz` that would change its position to\n      `x1: 3`. What's more, it isn't quite clear whether we should treat `abc` and `xyz` as separate\n      stretches / words (because they were separated by a marker) or as a single stretch / word (because the\n      marker was elided). Only the consumer can tell what they want\n    * The preprocessor tries to err on the side of the 'safe' and practical assumption that the consumer\n      probably wants their source positions be preserved and won't mind extraneous inline spaces (true for a\n      lot or source code, HTML &c) and will replace each elided character by a `\\x20` (U+0020 Space),\n      yielding<br>`abc         xyz`.\n    * This behavior is called 'erasing' and is controlled by the `eraser` configuration setting. This can be\n      any string, including the empty string; it will be repeated for as many times as the number of code\n      units (JS string index, length) the erased part comprised (so any codepoint in U+0000..U+FFFF will\n      preserve positions)\n    * The alternative to 'erasing' is 'joining' which will put a single copy of whatever text is present in\n      the `joiner` configuration setting into the spot where a marker was found, so processing\n      `abc<?start?>xyz` with `joiner: ' '` will produce `abc xyz`\n    * settings `eraser: ''` and `joiner: ''` are equivalent and will produce `abcxyz`\n    * if the default setting of `eraser: ' '` is no good fit for your use case consider to use something\n      like `eraser: '\\x00'`; U+0000 should not normally be part of any human-readable text source; a pattern\n      `/\\x00+/` will preserve the information that the source has a hole in this spot, and the resulting\n      line `abc␀␀␀␀␀␀␀␀␀xyz` will preserve positions\n    * Because the preprocessor will keep lines with 'holes' rather than breaking up lines that have\n      intermittend start/stop marks, the relative ordering of active and inactive chunks is not guaranteed;\n      only the ordering relative to other active (respectively inactive) tokens is preserved\n\n<!--\n## Practical Example: The Prompt Parser\n\n* Match anything except the sequence `p#` followed by a digit: (thx to [this top-rated SO answer](https://stackoverflow.com/a/977294/7568091))\n\n```coffee\n  lexer.add_lexeme { mode: 'marks', lxid: 'comment',    jump: null,     pattern:  /(?:(?!p#[0-9]|\\]).)+/u,              }\n```\n\n -->\n\n## To Do\n\n* **[–]** documentation\n* **[–]** allow to configure `start`, `stop`, `error` tokens, implicit `finalize()`\n* **[–]** introduce aliases for names of `compose` that don't use snake case &c\n* **[–]** group renaming has a fault in that it will wrongly accept things looking like a named group inside\n  a square-bracket character class, as in `/[?<abc>)]`\n* **[–]** we cannot mix regexes with and without `s` / `dotall` flag; configure that per mode, per instance?\n* **[–]** allow to add lexemes w/out explicit mode, will provide default / add to base mode\n* **[–]** use [`datom`s](https://github.com/loveencounterflow/datom)\n* **[–]** provide collection of standard lexers for recurring tasks, including an abstracted version of\n  Markdown star lexer\n* **[–]** clarify whether to use 'lexeme ID' or 'token ID'; whould really be the former because a lexeme is\n  the description ('class' or 'type' if you will) of its instances (the tokens); tokens with the same `lxid`\n  may repeat while there can only be at most one lexeme with a given `lxid` in a given namespace / mode\n* **[–]** implement readable representation / RPR for lexers, maybe as table\n* **[–]** safeguard against undefined lexemes mentioned by `before`, `after`\n* **[–]** distinguish between\n  * proto-lexemes (which are lexeme definitions may be incomplete and have not yet been compiled; they are\n    'dormant' and stateless),\n  * (proper) lexemes (which are lexemes in the registry lexer that is ready to be used; these may be\n    stateful), and\n  * tokens (the results of certain lexemes having matched at some point in the source text)\n* **[–]** allow symbolic mode, jump values as in `'$codespan_mode'` that refer to values in `@cfg`?\n* **[–]** allow to set prefixes for input (as class members) and output (as instance members, object\n  properties, or list elements)\n* **[–]** implement `add_lexemes()` for adding single and multiple lexemes\n* **[–]** make use of mode names in `lx_*` properties mandatory to avoid name conflicts\n* **[–]** implement `set_lnr()`\n\n* **[–]** offer text normalization that includes removing trailing whitespace, different line endings\n  ```coffee\n  echo '–––'; echo \"a1 xyz123\\nb1\"\n  echo '–––'; echo \"a2 xyz123\\n\\rb2\"\n  echo '–––'; echo \"a3 xyz123\\r\\nb3\"\n  echo '–––'; echo \"a4 xyz123\\n\\nb4\"\n  echo '–––'; echo \"a5 xyz123\\n\\r\\n\\rb5\"\n  echo '–––'; echo \"a6 xyz123\\n\\n\\r\\rb6\"\n  echo '–––'; echo \"a7 xyz123\\r\\n\\r\\nb7\"\n  echo '–––'; echo \"a8 xyz123\\r\\n\\n\\rb8\"\n  /(\\n\\r|\\r\\n|\\n)/ -> '\\n'\n  /\\r/ -> ''\n  ```\n\n  * pay attention to the excellent SO answer https://stackoverflow.com/a/3469155/7568091 who suggests using\n    `/[^\\S\\r\\n]/` with double negative (`[^]` plus `\\S`) to match linear whitespace only\n* **[–]** export `GUY.*.walk_lines()` to promote easy use of line-wise lexing\n* **[–]** should we walk over entire file content when `lexer.cfg.linewise` is `false`? Needed to keep\n  parity with walking over texts\n* **[–]** implement `reset()` method that is equivalent to instantiating a new lexer with the same settings\n* **[–]** already possible to use `:` within mode names to indicate multi-level hierarchy (modes and\n  submodes); possible / necessary / useful to formalize this?\n* **[–]** allow lexeme declarations to declare errors with a `code`\n* **[–]** optionally (but less importantly), could demand implicit catchall and reserved lexemes for all\n  modes, then allow overrides per mode\n* **[–]** add public API `new_token()` (can be used as `new_token t` to produce copy of `t`, or `new_token {\n  t..., value: 'xxx', }` to derive from `t`, so don't need explicit arguments for that)\n* **[–]** review role of Datom, `$key` element\n* **[–]** introduce new value for `cfg.split` which is like `lines` but foregoes the implicit application of\n  `GUY.str.walk_lines()` and trimming, assuming this has been properly done by the consumer; this mainly as\n  a minor optimization\n* **[–]** how to mark borders when two inclusive jumps appear with no separation as in `<tag1><tag2>`?\n* **[–]** implement method to add standard lexemes:\n  * **[–]** for escaped characters, like `{ mode, lxid: 'escchr', pattern:\n  /\\\\(?<chr>.)/u, reserved: '\\\\', }`\n  * **[–]** for line ends / newlines, like `{ mode, lxid: 'nl', jump: null, pattern: /$/u, value: '\\n', }`\n* **[–]** add tests to ensure positive, negative lookbehinds, lookaheads are not recognized as capturing\n  groups\n* **[–]** might want to have tokens that cause one or two border tokens to be emitted, notation:\n  * `jump: '].['`: emit one token `{ lxid: '$border, data: { prv: 'plain', nxt: 'plain', }, }`\n  * `jump: ']..['`: emit two tokens `{ lxid: '$border, data: { prv: 'plain', nxt: 'plain', }, }`\n  * `jump: ']xyz['`: emit two tokens `{ lxid: '$border, data: { prv: 'plain', nxt: 'xyz', }, }` and `{ lxid:\n    '$border, data: { prv: 'xyz', nxt: 'plain', }, }`; the mode `xyz` introduced here need not be declared\n* **[–]** implement positioning API to ensure correct positioning of tokens obtained from a lexer that\n  consumes output of a `Start_stop_preprocessor`:\n  * **[–]** `lexer.set_position()`\n  * **[–]** ❓`lexer.get_position()`\n  * **[–]** ❓`lexer.get_position_1()`\n  * **[–]** ❓`lexer.set_position_1()`\n  * **[–]** ❓`lexer.get_position_2()`\n  * **[–]** ❓`lexer.set_position_2()`\n  * **[–]** <del>`lexer.get_offset()`</del>\n  * **[+]** <del>`lexer.set_offset()`</del>\n* **[–]** allow parsing of 'minimal token' with mandatory attribute, `value`, optional attributes `lnr1`,\n  `x1`; this will implicitly call `lexer.set_offset { lnr: t.lnr1, x: t.x1, }`. Useful for consuming tokens\n  from `Start_stop_preprocessor`\n  * should offset be reset or carried on when intermittently lexing w/out positions?\n* **[–]** consider to rename `token.source -> token.input`, `token.value -> token.source`\n  * **[–]** FTTB, allow minimal token to have either `value` and / or `source` attributes, prefer `value`\n    where present\n  * **[–]** importantly, **input shape should match output shape** (with the exception that input may also\n    come from strings or a file instead of a token-like object)\n* **[–]** implement declarative chaining of preprocessors and lexers, lexers and lexers\n* **[–]** implement using regexes in `reserved` when possible\n* **[–]** disallow lexing with an 'empty' lexer (that has no lexemes); must explicitly declare a\n  'match-nothing' lexeme if that's what you want (unlikely)\n* **[–]** remove `set_offset()`, implement `set_position()`\n* **[–]** in test `start_stop_preprocessor/start_stop_preprocessor_basic()` some tests show active, inactive\n  tokens out of order; try to fix in preprocessor `$assemble_lines()`?\n* **[–]** just as `denchg` tokens are emitted at the very start and end of each document, so should\n  `$border` tokens be emitted\n* **[–]** use `$meta` (or similar), `$outline` as mode names in preprocessors to avoid name clashes with\n  userland modes\n* **[–]** allow for longest-first matches that, starting from the left end, always return the longest\n  matching sequence, such that `list of integers` is split into `list of`, `integers` when matchers are\n  `/list\\b/`, `list\\s+of\\b`, `integers?\\b` (and, indeed, `/of\\s+integers?\\b/`)\n  * alternatively, and simpler, require that all lexemes are bounded by a separator to the left and right as\n    motivated by [Regular-Expressions.info: *Alternation with The Vertical Bar or Pipe\n    Symbol*](https://www.regular-expressions.info/alternation.html)\n* **[–]** use [`slevithan/regex`](https://github.com/slevithan/regex) internally to escape strings etc.;\n  export it for the benefit of the user\n* **[–]** what can be done to improve the story about line numbers, difficulties around which have been\n  cropped up with `promptparser`? Basically one should be able to send in a fragment of text together with a\n  `lnr` and then the lexer will count from there; how do line numbers interact with `state: 'reset'`?\n\n\n## Is Done\n\n* **[+]** demo in\n  [`hengist/dev/snippets/src/demo-compose-regexp.coffee`](https://github.com/loveencounterflow/hengist/blob/master/dev/snippets/src/demo-compose-regexp.coffee)\n  and\n  [`hengist/blob/master/dev/intertext-lexer/src/first-demo.coffee`](https://github.com/loveencounterflow/hengist/blob/master/dev/intertext-lexer/src/first-demo.coffee)\n* **[+]** prefix named groups for parameters with rule name (token key) to enable re-use of parameter names\n* **[+]** allow multiple `gosub_*`, `return` tokens in a single lexer mode; use API rather than naming\n  convention for these\n* **[+]** implement `cfg`-based API for `add_lexeme()` that provides `jump` argument to replace\n  `gosub_`/`return` naming convention\n* **[+]** implement `step()`\n* **[+]** rename `autoreset`, `reset()` -> `autostart`, `start()`\n* **[+]** make calls to `finalize()` implicit\n* **[+]** with `cfg.autostart`, `feed()` and `reset()` behave identically\n* **[+]** implement `feed()` to add new source\n* **[+]** implement functions for `jump`\n* **[+]** implement topological sorting of lexemes\n* **[+]** allow lexemes to announce 'reserved' / 'forbidden' / 'active' characters (such as `<` that signals\n  start of an HTML tag) that can later be used to formulate a fallback pattern to capture otherwise\n  unmatched text portions\n  * **[+]** at any point, allow to construct a pattern that *only* matches reserved characters and a pattern\n    that matches anything *except* reserved characters\n* **[+]** <del>**(?)** consider to reset `lexer.cfg.linewise` to `true` when `lexer.walk()` gets called with\n  `path` or else throw error (because results will likely be not as expected).</del> <ins>**Contra**:\n  legitimate to parse with local positions, no line numbers</ins>\n* **[+]** implement lexeme property `create`\n* **[+]** disallow lexemes to be accidentally overwritten\n* **[+]** allow lexeme declarations to override `value` by setting either `value` or `empty_value` to\n* **[+]** modify behavior of catchall and reserved:\n  * **[+]** catchall and reserved are 'declared', not 'added', meaning they will be created implicitly when\n    `_finalize()` is called\n  * **[+]** catchall and reserved alway come last (in this order)\n  * **[+]** prevent re-ordering of catchall and reserved when doing topological sorting\n  * **[+]** <del>the instantiation settings `catchall_concat` and `reserved_concat` can be overriden when\n    either is declared</del>\n  constant or function\n* **[+]** <del>implement `line`, `col` coordinates for tokens</del>\n* **[+]** change indexing shape from `lnr`, `start`, `stop` to `l1`, `x1`, `l2`, `x2`, since in the general\n  case, a token may start one one line and end on another. `x1`, `x2` are zero-based, exclusive, code unit\n  indexes (JS string indices), while `l1`, `l2` are one-based, inclusive line numbers. Observe that it can\n  be quite difficult to give correct column numbers when complex scripts are used; for Latin script sources\n  that do not use combining characters but may be intermingled e.g. with symbols and CJK characters from\n  SMP, SIP and TIP , `( Array.from 'string'[ ... x1 ] ).length` converts correctly from 0-based code units\n  to human-readable column counts (but throw in combining characters, RTL scripts or complex emoji and they\n  will be incorrect)\n* **[+]** <del>consider to introduce 'pre-jumps' (?) such that the occurrence of a match (say, `<` in `plain`\n  mode) means that the match is already in the jump-target mode (say, `tag`). This should make some things\n  cleaner / more logical when both the left and the right delimiters of a mode are within that mode</del>\n  <ins>Implement syntax, semantics for inclusive, exclusive jumps:</ins>\n  * <del>fast, slow jump;</del> inclusive, exclusive jump; <del>early, late jump</del>\n  * syntax (assuming mode `plain`):\n    * entry jumps:\n      * `{ jump: '[tag', }` (inclusive entry jump; boundary 'post' belongs to *new* mode `tag`),\n      * `{ jump: 'tag[', }` (exclusive entry jump; boundary 'post' belongs to *old* mode `plain`),\n    * exit jumps; the location of the `.` (dot) symbolizes the location of the mode the 'post' will belong\n      to:\n      * `{ jump: '.]',   }` (inclusive exit jump; boundary 'post' belongs to *old* mode `tag`),\n      * `{ jump: '].',   }` (exclusive exit jump; boundary 'post' belongs to *new* mode `plain`)\n  * documentation\n* **[+]** rename `x` -> `atrs`\n* **[+]** rename `atrs` -> `data`\n* **[+]** implement 'singleton' / 'virtual' jumps:\n  * `jump: '[str]'` will return a token in mode `str` without jumping into that mode (or, by 'virtually'\n    jumping to that mode and then immediately back); the `value` of the token will be the matched substring\n    (as usual)\n  * optionally: `jump: 'str[]'`, same as above, but value will always be the empty string (can also be done\n    as `jump: '[str]', value: ''` so not essential)\n* **[+]** add MVP version of `tools/start-stop-preprocessor` to implement start/stop roughly as detailed\n  below\n\n  <del>implement a preprocessing mode and a binary property `lexer.state.active`, the rule being\n  that</del>\n  * <del>until the preprocessing mode has brought the lexer from `active == false` to `active == true`, all\n    material is rendered, as-is, as `value` property of special `$raw` tokens, without being scanned by the\n    regular mode patterns</del>\n  * <del>as soon as the preprocessing mode can bring `lexer.state.active` from `true` to `false` and vice\n    versa any number of times, which means that we can use the lexer to determine regions for lexing</del>\n  * <del>the reason the above is not feasable with regular modes is that</del>\n    * <del>once we jump from preprocessing to regular, the lexer will stay in that regular mode (when\n      `state: 'keep'` is set)</del>\n    * <del>when preprocessing has found a `start` meta-token, one does know that only material after that\n      token will have to be lexed by an regular mode—but one does *not* yet know whether another meta-token\n      can be matched within that remaining region of the source; therefore, one has to first exhaust the\n      preprocessor (for the current chunk or line at least) before regular lexing can start</del>\n    * <del>this is essentially the behavior of `Interlex` itself, so one could implement preprocessing by\n      instantiating a separate `Interlex` instance</del>\n* **[+]** tokens should never have the jump function as value for the `jump` property\n\n\n","readmeFilename":"README.md"}