@solidtv/renderer 1.2.9 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/src/common/EventEmitter.d.ts +6 -0
  2. package/dist/src/common/EventEmitter.js +29 -11
  3. package/dist/src/common/EventEmitter.js.map +1 -1
  4. package/dist/src/core/CoreNode.d.ts +7 -0
  5. package/dist/src/core/CoreNode.js +30 -9
  6. package/dist/src/core/CoreNode.js.map +1 -1
  7. package/dist/src/core/CoreTextNode.js +3 -1
  8. package/dist/src/core/CoreTextNode.js.map +1 -1
  9. package/dist/src/core/CoreTextureManager.d.ts +10 -0
  10. package/dist/src/core/CoreTextureManager.js +38 -5
  11. package/dist/src/core/CoreTextureManager.js.map +1 -1
  12. package/dist/src/core/Stage.d.ts +19 -0
  13. package/dist/src/core/Stage.js +28 -1
  14. package/dist/src/core/Stage.js.map +1 -1
  15. package/dist/src/core/lib/ImageWorker.js +22 -6
  16. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  17. package/dist/src/core/lib/textureSvg.js +4 -1
  18. package/dist/src/core/lib/textureSvg.js.map +1 -1
  19. package/dist/src/core/lib/validateImageBitmap.d.ts +18 -0
  20. package/dist/src/core/lib/validateImageBitmap.js +66 -0
  21. package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
  22. package/dist/src/core/platforms/web/WebPlatform.js +6 -0
  23. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  24. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +5 -1
  25. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  26. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +15 -0
  27. package/dist/src/core/renderers/webgl/WebGlRenderer.js +24 -0
  28. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  29. package/dist/src/core/textures/ImageTexture.js +21 -7
  30. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  31. package/dist/src/main-api/Renderer.d.ts +41 -0
  32. package/dist/src/main-api/Renderer.js +8 -0
  33. package/dist/src/main-api/Renderer.js.map +1 -1
  34. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -0
  36. package/package.json +1 -1
  37. package/src/common/EventEmitter.ts +29 -11
  38. package/src/core/CoreNode.test.ts +66 -0
  39. package/src/core/CoreNode.ts +32 -9
  40. package/src/core/CoreTextNode.test.ts +145 -0
  41. package/src/core/CoreTextNode.ts +3 -1
  42. package/src/core/CoreTextureManager.ts +61 -8
  43. package/src/core/Stage.contextLoss.test.ts +45 -0
  44. package/src/core/Stage.ts +30 -0
  45. package/src/core/lib/ImageWorker.ts +30 -6
  46. package/src/core/lib/textureSvg.ts +4 -1
  47. package/src/core/lib/validateImageBitmap.test.ts +119 -0
  48. package/src/core/lib/validateImageBitmap.ts +89 -0
  49. package/src/core/platforms/web/WebPlatform.contextLoss.test.ts +80 -0
  50. package/src/core/platforms/web/WebPlatform.ts +7 -0
  51. package/src/core/renderers/webgl/WebGlCtxTexture.ts +5 -1
  52. package/src/core/renderers/webgl/WebGlRenderer.ts +28 -0
  53. package/src/core/textures/ImageTexture.ts +25 -7
  54. package/src/main-api/Renderer.ts +50 -0
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/env.d.ts","../src/core/lib/contextspy.ts","../src/utils.ts","../src/common/ianimationcontroller.ts","../src/core/utils.ts","../src/core/animations/animationmanager.ts","../src/core/renderers/coreshadernode.ts","../src/core/renderers/coreshaderprogram.ts","../src/core/coreshadermanager.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/lib/webglcontextwrapper.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/lib/utils.ts","../src/core/lib/texturecompression.ts","../src/core/lib/texturesvg.ts","../src/core/textures/imagetexture.ts","../src/core/textures/subtexture.ts","../src/common/ieventemitter.ts","../src/common/eventemitter.ts","../src/core/texturememorymanager.ts","../src/core/renderers/corecontexttexture.ts","../src/core/textureerror.ts","../src/core/textures/texture.ts","../src/core/renderers/corerenderer.ts","../src/core/lib/matrix3d.ts","../src/core/coretextnode.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglctxtexture.ts","../src/core/renderers/webgl/webglctxsubtexture.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglshadernode.ts","../src/core/shaders/webgl/default.ts","../src/core/renderers/webgl/webglshaderprogram.ts","../src/core/textures/rendertexture.ts","../src/core/renderers/webgl/webglctxrendertexture.ts","../src/core/renderers/webgl/webglrenderer.ts","../src/core/renderers/webgl/sdfrenderop.ts","../src/core/text-rendering/textrenderer.ts","../src/core/text-rendering/textlayoutengine.ts","../src/main-api/utils.ts","../src/core/textures/colortexture.ts","../src/core/platforms/web/webplatform.ts","../src/core/animations/coreanimation.ts","../src/main-api/inode.ts","../src/core/lib/colorparser.ts","../src/core/renderers/canvas/canvastexture.ts","../src/core/lib/colorcache.ts","../src/core/renderers/canvas/canvasshadernode.ts","../src/core/renderers/canvas/canvasrenderer.ts","../src/main-api/inspector.ts","../src/main-api/renderer.ts","../src/core/stage.ts","../src/core/platforms/platform.ts","../src/core/lib/validateimagebitmap.ts","../src/core/lib/imageworker.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/lib/rendercoords.ts","../src/core/autosizer.ts","../src/core/lib/collectionutils.ts","../src/core/corenode.ts","../src/common/commontypes.ts","../src/core/shaders/utils.ts","../src/core/shaders/templates/blurtemplate.ts","../src/core/shaders/canvas/blur.ts","../src/core/shaders/templates/bordertemplate.ts","../src/core/shaders/canvas/border.ts","../src/core/shaders/templates/holepunchtemplate.ts","../src/core/shaders/canvas/utils/render.ts","../src/core/shaders/canvas/holepunch.ts","../src/core/shaders/templates/lineargradienttemplate.ts","../src/core/shaders/canvas/lineargradient.ts","../src/core/shaders/templates/radialgradienttemplate.ts","../src/core/shaders/canvas/radialgradient.ts","../src/core/shaders/templates/radialprogresstemplate.ts","../src/core/shaders/canvas/radialprogress.ts","../src/core/shaders/templates/roundedtemplate.ts","../src/core/shaders/canvas/rounded.ts","../src/core/shaders/templates/roundedwithbordertemplate.ts","../src/core/shaders/canvas/roundedwithborder.ts","../src/core/shaders/templates/shadowtemplate.ts","../src/core/shaders/templates/roundedwithborderandshadowtemplate.ts","../src/core/shaders/canvas/shadow.ts","../src/core/shaders/canvas/roundedwithborderandshadow.ts","../src/core/shaders/templates/roundedwithshadowtemplate.ts","../src/core/shaders/canvas/roundedwithshadow.ts","../src/core/shaders/webgl/blur.ts","../src/core/shaders/webgl/border.ts","../src/core/shaders/webgl/holepunch.ts","../src/core/shaders/webgl/lineargradient.ts","../src/core/shaders/webgl/radialgradient.ts","../src/core/shaders/webgl/radialprogress.ts","../src/core/shaders/webgl/rounded.ts","../src/core/shaders/webgl/roundedwithborder.ts","../src/core/shaders/webgl/roundedwithborderandshadow.ts","../src/core/shaders/webgl/roundedwithshadow.ts","../src/core/shaders/webgl/sdfshader.ts","../src/core/shaders/webgl/shadow.ts","../src/core/text-rendering/utils.ts","../src/core/text-rendering/canvasfonthandler.ts","../src/core/text-rendering/canvastextrenderer.ts","../src/core/text-rendering/sdffonthandler.ts","../src/core/text-rendering/sdftextrenderer.ts","../exports/canvas-shaders.ts","../exports/canvas.ts","../exports/index.ts","../exports/inspector.ts","../exports/utils.ts","../exports/webgl-shaders.ts","../exports/webgl.ts"],"fileIdsList":[[107,124,126,129,131,133,135,137,139,142,143,145],[105,107,108,160],[62,63,65,70,74,78,80,81,87,92,95,102,103,109,110,111,116,120,121,125,127,130,132,136,140],[109],[61,63,71,77],[90,91,146,147,148,149,150,151,152,153,154,155,157],[87,90,95,162,168],[80,120],[76],[61,62,63,120],[63,64,120],[71,120],[61,62,64,65,71,77,81,82,83,87,89,95,102,111,116,117,118,119,121],[61,65,66,111],[61,71,81,82,83,97,111,120,121],[74,75,77,80,81,82,93,100,111,112,113,114,115],[120],[104],[81,113],[69,81],[61,71,81],[70],[112],[68,70],[111],[111,112],[75,79,81,82,104,105,106,107,120,121],[65,106,111,120],[61,79,104,121],[78,81],[60,65,66,79,81,111,120],[61,111,120],[69],[61,71,85,87,89,90,95,111,121],[69,71,78,87,93,121],[61,69,75,78,81,87,121],[61,69,71,72,78,79,81,86,121],[61,69,71,75,79,81,82,86,87,88,89,90,91,92,93,94,96,97,120,121],[65,70,71,92,95,111,120],[61,66,69,70,87,89,90,91,95,120],[107,123],[70,71,104,107,125],[70,71,107,127,128],[107,130],[107,132],[107,134],[70,71,107,128,136],[70,71,107,126,128,137,138],[70,71,107,128,139,141,142],[70,71,107,128,137,142,144],[70,107,128,140],[65],[65,70,122],[65,122],[65,122,125,136,140],[65,122,125,136],[65,122,136,140],[61,70],[90,123],[70,90,125],[90],[70,71,90,127],[71,90,95,130],[71,90,95,120,132],[71,90,95,120,134],[70,71,90,120,136],[70,71,90,120,138],[70,71,90,120,141],[70,71,90,120,144],[90,140],[60,61,64,65,67,71,77,78,81,82,83,84,97,98,99,100,101,110,112,116,120,121],[84,97,98,111,120,158],[61,84,97,98,111,158,159],[61,74,84,97,98,111,120,158],[61,71,82,84,87,90,95,97,98,111,121,156,158,161],[97],[71,82,84,96,111,121],[61,63,81,111],[81,116],[61,71,72,73,81,112,116],[61,74,81,116],[71,75,77,79,80,116,121],[62,65,84,102,120],[61,62,81,84,102,110,120],[61,65,67,77,78,84,95,97,101,103,108,109,111,112,116,120],[60]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"5ba0a094f93834bf1d227ddfb621d45ffe5b37e4dfe0b8518cdb769713f86633","affectsGlobalScope":true,"impliedFormat":99},{"version":"0fb789e71544b33050f556c483b82704450a1f5ed8277c35674891aaaa6a95ef","signature":"826d87ec474ecd59c827441df44d49f420dbe099333c3344e31dfada8cc39902","impliedFormat":99},{"version":"49e958d30eddbc54789eb540bd08c00b6ec4782a488935e8f29218796375fae6","signature":"f881a1a2b219f636190a264c5e6c61c8860b5f4c8a803d76d3729cfd97072d13","impliedFormat":99},{"version":"725cf9cb38ff2000cd2156e28dc06fb265cb6fc79f3a9d83141940b502f0fca6","signature":"fa40725ac8d2fe1f3e11590e2f2bd0ac523256d9f6805bc425c2286c7c93f894","impliedFormat":99},{"version":"0dcf0b8b29a5e0a4f5a592adea458990b22354a1a4c2766d0b024df0aebd71ff","signature":"ee40f42d658eb673fa53ff333ab90b838d3d4397fcf6a4ce49cfba5202f7c4ab","impliedFormat":99},{"version":"eea8be5c1eea68d449669b540be53f89e6cb749871fd8c13f2ae7869e167dbed","signature":"8d84c9cf16816327dc926a3b63fb8eb67ad6b2bb632f524154189b7320c30863","impliedFormat":99},{"version":"6ae1dbd5661f184b6f78a55e139365b2fbee940b12e895fe16b272a850ff3459","signature":"c1a0fd4511bbf56aedef22aba390ce4fffcef26adaec16684eea65a35e408b66","impliedFormat":99},{"version":"26eee6d5475b7bf6ab5b0e8ee2cbefddd6c4d34a6b80ca12ee6511c943c7bb43","signature":"97326a2f5f0fce22509018fe77795cb2313d61f1ef71eff134612c81ec2ac600","impliedFormat":99},{"version":"37a82a1b7644b8436ffc2874bf3d0409421e2a8f75d46c3a4be4efc4e4b6f5db","signature":"6dde36af67f486d0925af4ba0339e7a66b7f71fd36f1a4d928869ccbf4dfdda0","impliedFormat":99},{"version":"c8f5eef1076cae8cad73dd1a8190f82c97d6a1de46e9938c72dcb4b81a5ed39a","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"4390f97af17953beb997b03612d879037f6eb6ca5d07bf936d3eb1d320988335","signature":"f545065826625494d5c4c06f4adb3d185eb09cd9bf2e10b350d8be29e0ad253a","impliedFormat":99},{"version":"484020cbddfda5f115d9b125cfbdfcc78c12d6c29df37619ef061265c12ec452","signature":"180c58440d1372a281aec09fb5ab5c917f3533457b4338a8b3e4c7725fd8b3ec","impliedFormat":99},{"version":"7f60a8144692040141d8ad8b40f3d51a0319a4534418e2c336de5cf3cd9a85d3","signature":"b27c828b11871b674bd5db3bd09361c457ad98622683c1738f9481d6a70206af","impliedFormat":99},{"version":"8c72604442ade45e80db4becc8b15cb6a62279797dba0aa114ab8b830befbf4e","signature":"afcf49d3e0bfb93f7ba0802ac21a8cdee4cb9f08e66aeef6dd7de60e5db2754b","impliedFormat":99},{"version":"81ee4667d79dcde76b4bbf26a9f60a0fbc9a58187bd235d2b699c14054c39784","signature":"4fe26dc4bac065bdc055fd26f9ab411f282f020052ef557761cd96160810f442","impliedFormat":99},{"version":"fb4b8f208df83c61aac41020685e9bc3326907fb0a89a0b3b29fde8e984c22ab","signature":"9aa36325cd99649318217f9f9a87ad3cf4951520cfae47869cebc1e7d80820f4","impliedFormat":99},{"version":"43047924269396afc5170868cdb10570c26543a7a06c70f147bbd8f65d3c265f","signature":"178bbaca724c8e19c6e3be26bbacb719daad5c0f3a5e3a2a645bae5b187edc48","impliedFormat":99},{"version":"e73d693dbc420ea2f5525275bf48a1a958c00c14f4d310938c6ff562171084b4","signature":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"a1e8c72948ccf0e99a0f1641ff068e0fe555543393af68bf2b6c191c64fa9253","signature":"881f25b23cf946459048e2d76abdbb7056c728a15d92d20f2e76af12725cee7e","impliedFormat":99},{"version":"a6d792902b0358d3bc432aeed4a4ebdc57b430586f7b29de874ad2ba98647e69","signature":"5f667194f03e5a9d5f6ca1990e810fc4ff1c5d855d97f9672d16c9ec552c5d53","impliedFormat":99},{"version":"b1aa12a696499aec7886bad670c0d61ab1bbfb7010f509aad0a33976a43bb7a7","signature":"7fa0036a92ef198a2140758b695b615596e7860cde2f8f50dc8772f1ae23fde0","impliedFormat":99},{"version":"8751c170b7d20979afe81c6848afa318cd65c3d9026a4addb68b5f3271d21844","signature":"5fbb8d7443bd5a5b303f62cef8ce4b65cd729647d59916fb69f202c60db3f562","impliedFormat":99},{"version":"9bd418a3b1f15c943ef303056a6a3b41bb842df1e83d15c37acbd17f08f904b4","signature":"fbc5a1c492e70c7900022a3d16cb26fc667e8d737e73ac8843228d0bd6430d78","impliedFormat":99},{"version":"fb59c6f631b40827eea29db3b2821c7366f8171867d5040fa02f1aabbd798233","signature":"02060965fe18f16f2fc5e21d36664cbae3f682b9a3c2b0bc39f537f36cade535","impliedFormat":99},{"version":"619f7047ca3a1ec65a3398cd2d71717f6ecb3a579a46268366854142afad55a5","signature":"5a652125462bca72ea748d3bc73c458a9776fb3ad492674336f6d83df791c42d","impliedFormat":99},{"version":"a58886fabc2f5ae69eba9970cadc8522de08100a0f3fcfffaa972fbc786503ee","signature":"ed16135617242f809c2200d4c4b18610b4d0d7b7043903373da1f7cb27e394e8","impliedFormat":99},{"version":"03eb47e1e2969c3fc52fa7fdbd5c5841ffc3f7139fffc30d771d2b87e855b2fe","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"8aa68ab45644a07f6fe68c029b00e26bd5b5f7e827746bebc732d8e2b1eed9f5","signature":"09c1c14f42b1256cbaf80ca607b054643c379418bd61468f996d16be81823aeb","impliedFormat":99},{"version":"9bc409b45885db009d8c204169165b18cd4d463e7561cd7b3003e7f9c2707536","signature":"655c31a1722747d229233819701c97a0d0eb45de1c402d2af099ef6209823228","impliedFormat":99},{"version":"35a18cb45a375acffd7fd9924694a0fe490aff7e0456eaecfd8f06967b9b75a5","signature":"4d678bf8cab921c2d080b75126762897254dcc9424dd4527d9ed232a69258b11","impliedFormat":99},{"version":"412a870bb718eb9415faec7bc11ec73e104ded0dd8bacd66184ac0474dc806e8","signature":"c71fac303272beaa89b727174d0aa688665f420a8fbfdbdabd70d37ff1306ec2","impliedFormat":99},{"version":"2d3f1fc034914539bd2bad14c8f0dd12d4f3e832f52cd23c152d57a44e6666b6","signature":"b820bb0c5f5a8b50f7d5392f0a1f0457b9ec986cc00f3284f5f5bdf5cdb5876f","impliedFormat":99},{"version":"e1c1814eeb96c78e2437e92b81bdf82840424b0a4b22b600fd80c0c4ea936069","signature":"11d90ddf914600d7cdba80dc93576c8e4b9590b42542a4e4db56e36af1c3c341","impliedFormat":99},{"version":"67b5a4da6a79c61edcd3a85fe124d649e01625241aa3afe1fca4ffb5c941d786","signature":"a9b406401e27ed6a749e670f16fc41f52dbf9bc15d8f798d15288292978b113c","impliedFormat":99},{"version":"b63eef02fb6f5bc004aeb338f6cb4fb6648cafcf9841396432738f2f3cfecf07","signature":"8adbddff6d8303fdf5de01602f8c2b9a28efc3bf60530eeba3857aa7f550f655","impliedFormat":99},{"version":"309b37dd89c078c27286180d57ef951f21363d029e475d9f8d6b436e2a31a62e","signature":"babf579da841813feb2c91dcd842f39537eb0371fb903b24eda3cdecba2bf14f","impliedFormat":99},{"version":"f4faf77a2f03581e0905fa4c49ae73681ad399742980df1c00efa0b416013808","signature":"8082e7d42a02c29ac91a8809220da4090be2558ee15bacb6dce80adf2d0f304c","impliedFormat":99},{"version":"61fd0c318cdcb7d3c33b1a4ce9672b8265622a5df2ad6c9afdccbc9f4c1c0c0b","signature":"31f1e85b7793907da145a21c1b8a4b197c4e83ca8071c41f866224d5c85a34e1","impliedFormat":99},{"version":"aa94f2208e3f629a8ca43fdec9c93599f1836d4e700ae3ccd86410eaf97aa073","signature":"000ce5f4e14f39fbcbbf39ef99a9eac02954e0e1d67798972d9ca15b5d1bd98b","impliedFormat":99},{"version":"f914faa3b6c2fe1ce1f307a5d780f2021ff2211737e17adc3de047ea242e9e54","signature":"3eaee23f112a80139af770d0a6b7623f33675966ec3dca3cdab74a0ea071064b","impliedFormat":99},{"version":"7f6e6e6104931e7907c74e53d336094350978646d9c02c2a205ffcea90b58e61","signature":"f02942f8ae408270e572fa4c23aca8f42b496b83a836bfc8cec4f559e8ce1125","impliedFormat":99},{"version":"45a3d03cb79677851a1597d31d0936c706cb80d3731b68677012520d555de2e6","signature":"68cfd7feb1396181cc75d8cfbd95ae5e76e2ffee3c99aeb04e4d3175737c7a97","impliedFormat":99},{"version":"0c7db9b0b50d77c89ba027221815d572b212361cf9a814cce7a3de898b098857","signature":"4efda82c758514a08d950cbc7079752d18f74223fd28014d62a9009694c019dd","impliedFormat":99},{"version":"7381e02deaa54cca84fd5829a7abe72b9aea79739cef50d2ef45e7133e46a245","signature":"bdfe37f9178a0c445385afef820471496de4d62381ceab44090e1d2f7cbf9d57","impliedFormat":99},{"version":"d41aef2354b7b9bbbd538909867a16826b1111f88d82b3db7669904d88f01938","signature":"378b818788219a531c09232dc8246ed3d0b70113a75770eb1d2847084edc7eae","impliedFormat":99},{"version":"5e65666e88324e800f5351c15893a29855f637211aca9e1cd3f7cccd372e9370","signature":"566b53d6bd25dd8a6d93ef387b4a0ae8a795c1ea4854298c3a328fc6712aebb5","impliedFormat":99},{"version":"6312d7814c2348514827f1f6b942395cc4a850c951cf9f16225c6629482c85f7","signature":"a3802aaf9d8320c01fa1156886402ae5383f9e49f104c261b1e3203c72c89dbc","impliedFormat":99},{"version":"f309bd228e2982f60f7ed817323e80d1187c1520248ae02059bd93d23eaa1acf","signature":"2885b4f117dd1d518624b16d3993749c17042fe5d799b60a46d9654d45fc1be1","impliedFormat":99},{"version":"210f9a2eb41a6287335c968326b468b84a3e17bfc55d32df581203ec83601a1e","signature":"70dd0bd75de1a7b08011eddfacc2d0f1787ff28e7c588b860af4579a0dbc941f","impliedFormat":99},{"version":"a0005ed81335778bed8be7c07b40bdaf54d1809c9bde50a222b41e6dd99495b6","signature":"585041232f0311c18636450c43208c0da6e56dc657404ad3c2d24c678a390377","impliedFormat":99},{"version":"1385d95114ceab2550ef26b7b997d8e83c05fe2e6df7ca75d42068fbd97b3118","signature":"0ac7bb457ac07cb746a4cd0f9056cd13d06ac92515df7f4d04fdb426c0d04789","impliedFormat":99},{"version":"af497fa6d27df838acce0ce0e7e2c0d4aa5e93e11cb545564d71b4969cbc1125","signature":"50541d9cce5c398b7d7004a03c37baa2a660ed4738d197d409062b75f0810f05","impliedFormat":99},{"version":"1fb708692983d36f60f098692100d95e7c64506e8432d2e384c2fb8598f63d7b","signature":"3f850899e86a7f0e3930cec30c667bd3133bc96949a3eb8110cecab050fbd43a","impliedFormat":99},{"version":"9fd52944f4d0748affc7601ddcd21af6e8c622d2e2855c9a5ad215ca3e09a7ae","signature":"1bc91777d9c68f9f46697b1859f11ea39e6c51e1eb135336d81289eb25c97623","impliedFormat":99},{"version":"61a74ff5fd1fe43a7f6d0b814e387d4290a7d65c2ac4ceac5429206a0c785674","signature":"eeef00ab0bf9b8c1a261f3717c846dc15287871e325227fa4bbb8c0ad4c52e53","impliedFormat":99},{"version":"ac7c75716198b421673bfd24458237ee71b8393f87d584aa19cb5bf65831eea5","signature":"bb577b7c883e070fa151937440e054902e74ed58186bd044296f2e1b4be386ce","impliedFormat":99},{"version":"5bc4d797c4c00430b4e7cea2ca1ffa7d8e3223fb526997bb4a3b73b556b344f5","signature":"46d6995fa6153325dae9fcaf8eb7fdc183936a42a3fb851efcda43cc0bf7edef","impliedFormat":99},{"version":"42d1fd5fa52ae441597bbdbcd2962b0387bcbab393b865253da30c7c8a101f8f","signature":"6cc7d39c95d684259215e7fa3ee1ceeb58abd4622a19abe0ecd0a17ddb717355","impliedFormat":99},{"version":"1e434b5f963ca54162c007922a664c33c058045e1f8258bc47ca7b10b0df25a3","signature":"9b47d61d6e847112cf7e9f2fb1631d36e81d966b79b46ede120eaf85058f6a97","impliedFormat":99},{"version":"d3601402d82e419617b77fb8364e5192eb7f1d685288f09ff39d63cde4c9e51c","signature":"3ea67cb40367de619dc4addce96f4d5e80160ea305c6afe526d44a1b7988a3ea","impliedFormat":99},{"version":"6dd145cdae9cca3d1dd9c077f79bf64f486a5d6dd851a80b53a638c3ed0353fb","signature":"bd205ae001b9e85aad4aeb1755b24591dc12372fe660fe31ee315074062eea0d","impliedFormat":99},{"version":"41255ac4f20d3db92ffe7ed2a2772a2e7729d773a2f7912d32ab600b9930d654","signature":"c9117f90675fb665846e5341c6177e08a7644cfc0269a7049fb3056661b5b764","impliedFormat":99},{"version":"dac0403c3ff87860d7b130e4d46797b3a14b8491a2d483cdd3939b36a465c71c","signature":"b76a00a0d000ba2ad5b9ecaf389922e8135c8087180aa769fd517bd404ad5459","impliedFormat":99},{"version":"ef58c75d40fb4394e68971549eb3351058cb0b275db2738ae67df13ffc150cc8","signature":"6b38678a012f8055e5f0a8aa9c1ca13d8a6d60110541d60e244a132b31f1fec2","impliedFormat":99},{"version":"387288e860f965c2862d17c155ad361b1c2ceaff5f97761d179262336b88580d","signature":"872937c6cd92ad2ca1548878c5c2325dc0ba3339a93a31ed1947884908dd8aa8","impliedFormat":99},{"version":"f47ba4df2de5c263e2a7c95464685602b0db64ad88bc1f62a477dc98311f88ab","signature":"98a1f2a3ec600dc06f82c4fe120b7d2ef6aa8ec258b1c4fb77e44a913cc6e233","impliedFormat":99},{"version":"4c92257cc7c9b722720be143ed2b5b8387267854c67017372b09e2bcbbea6063","signature":"c0e70bcea10f408ecc8833d2aa2c3af825d13e470d74990ba538d0a81cf56a7b","impliedFormat":99},{"version":"c3c7389b117ec2f370d63fd673a8fc379b335b73666ea9c481848043d27e85d3","signature":"47e1b725b6d55b6284e63568e9074f195005f8b79e066b28449663aef9aed95c","impliedFormat":99},{"version":"3c0e1904a08a9f573980fc9cabc22e76657990ee395bac9a6bb50a6c102e52bd","signature":"42e936ecc3b9b7ad5a489eeaea7c25af8d7b71162a08e00ad638648e87a7ee51","impliedFormat":99},{"version":"77099443b054b22cb41374e020cf0ec8bbc3b077c25d5afb2d73e2207c661b80","signature":"e6f972dc162ead1d86897a3488316aab8b034472695d40eac74b6557e184919d","impliedFormat":99},{"version":"ea4c2e9deca942ae568c64e85d74cd5eb67c40b827956fd9a82e81d70e70585c","signature":"d91415fa00b3eef01ae2e08e8ffaf7cef9fa568515c83ac1474a22cc55bb3718","impliedFormat":99},{"version":"137618331aa4f4dd38c93e26a20b43dc8dc25a95485cdfd496f1a104b1b07c3b","signature":"912202a19d5e8972357af639e5e65d06c9171e30d4bf077fcdfe184c30effc7c","impliedFormat":99},{"version":"aa7446683810dffa2f3379a2e3a4ad3bcdc59d8da258ceac844ad6b68d3b418a","signature":"16ea4109bf543dd521c2e9cd4ff0f8c498250ce26f6fe55739e077e0761c8807","impliedFormat":99},{"version":"8130e89488ac70797bd1737f59ab9d4ca43805a6886ec3e600eb29cfd681c96e","signature":"9ab0406e79c8ae7a4f552c6609b8ce436242d74abbeebd1f4303a63c53ccb56a","impliedFormat":99},{"version":"0d2f8deb225e2cb7c3a818ff1a6e2aaaaf2104a0af8104d8c3e112cb9856f3ae","signature":"76fdce1e19f5cf3a2243a37f1778f534dc527e73c25100a14d63994c2f0b8760","impliedFormat":99},{"version":"df3b85e40aa11deae5e4e9094927c0ddc7a768c10f8d2e4f793558d7c832337c","signature":"dca314f637b4d88b884e8a6d76fb82cbf2b896e28f69feae8da56046045cf278","impliedFormat":99},{"version":"484cf35592b2c8be3608d937a5238c1fef88315cedc853cc817c1333ad316e35","signature":"e7181fa8e23ed61baefe346d52c8e0eaa94ab0c495c50933f3d0b1de1f949230","impliedFormat":99},{"version":"79604b209f32f23345daab19964a53d8dc9488d1ed7e23bad0ff08fc2c772da8","signature":"4dcaec244d4486f21fa7800fd6853c914df66154d4ca6b7cf0aa0370c5e6a656","impliedFormat":99},{"version":"019abfb86e2f8f44b9f78ebe1ada8748f2bf578caaf9536475531cf4eb4bde62","signature":"5111e2e2ffb1264243951a0c15fa3498e2c0c23e74599f535ad2227a16d8c503","impliedFormat":99},{"version":"8a6aecc7b7cd01b03424ea5e4755f8abceb433c7cac3c4cc74aea2df676ca32a","signature":"2c6c2e2996661a1558d5ce4040ec63a12913ea0c52fd071adc079fb1f3fc125c","impliedFormat":99},{"version":"3e87e6d2e51b392e59034bf46547bd13ffbf54301ccf98cada6692eec7261860","signature":"b6c5cb675d41673f3d27982b79d6b96033d9f0976ff9c62a49b4d61bbfc71b1f","impliedFormat":99},{"version":"950cb741daec5e63de1500aa3db70f9879fa16164fbb8cbc100437a258643f84","signature":"db5ff6f8ae2b0a4ff8cb16b43646b5561304b219fcc10ab1c470965743fe7662","impliedFormat":99},{"version":"f6ce18c4659b7e933d0e0289ee01d20eabc88543587ba71e3ee59ea2560e8294","signature":"e4bf9388266333a7b08b77dfc53f0bd5cc25da0e148c7a896aaac443c6becb47","impliedFormat":99},{"version":"d316f795ecc284e4a91622cd71635ba3964cd3ee5fa4bcca828173767520113e","signature":"986c6fa0b20de6185466d165274d7896f8734b92302b70ffccf4614be069db61","impliedFormat":99},{"version":"c5da010a38dec8e8569cf895d9dfaf1432e1d29d7f9f73644eb01f33f097e89d","signature":"02fad959da0f7217696defb6dead5557228c3ef9791e4cbb28164d4bea2a8245","impliedFormat":99},{"version":"85f4bc1f1eea3a08f8abc20c7dc41671a8c4ba35860c9e948ef7ca39eff18dc2","signature":"43065306646acc1b02890238154e075cb4e2a6cbc73e213e1f56fcc6ad568d37","impliedFormat":99},{"version":"3f24a1b9dce9699930f668b87e564ff8fbdd5742fffee6dc35e5e6e6a7c3af78","signature":"ccd53c52eddd8eaa19baaf4ac4224f18b3c9ee90cbdb62001f1477e59c5006be","impliedFormat":99},{"version":"7a55412506f0f9dc36fb71e3cc6e6781526deb1a759038ff8fd08c45d99326f4","signature":"e83ecc19d67e55848641650aa73755b88b0085d526fefdace51ddb11da8a4e92","impliedFormat":99},{"version":"6620bc01f2502a0cc57ab81250183715cff09aa568e747c62ed05911b1cdeb17","signature":"fc4560cb792ceead9e3fea2f6af6cfc1f6c3ae85091f1857c7d268a11c01b948","impliedFormat":99},{"version":"cef86916072eb96932fc00f390dde6c6bd57243adf5b936946adb7ab3b88c7d6","signature":"e7f707dc443bc70c46576168b519c3ba5479373575af4399855ca8b0b3013a02","impliedFormat":99},{"version":"2de3c458fe2feecfaf56cb658616504d7484f0cdfdcb150c45d7cce4172b05b4","signature":"8b97d49f33fb21b2b6616c0600cb2e3968deede70049dd50e38e7d5e60258e48","impliedFormat":99},{"version":"729ae253baca9b66f161e5d741763d835c190717a18714a4cc10033be270e566","signature":"a61270eb38bce478ba85ad3126a149e7d178fdfc02d91d901ec450ca2a08a3c9","impliedFormat":99},{"version":"4e0c892416db776abe7394b8d8c870bd9a0130712e6939e7bb97ff1dfa68f5f1","signature":"5be8d9fadb8846ec9529a9a0839940b7ed8667d9473d37fcaddf5a5407046bb8","impliedFormat":99},{"version":"1029ff8709b714292e9e06f2c7a61ef03249cd622dc0a14b9ef090eb4f5440e3","signature":"b02e020e0ad1378e97a9e1d26795695ac5527087e5c174e8aea70ec0d00192e9","impliedFormat":99},{"version":"784a7c50aee5402707d9acaccc422eb7fdc49d099e4b9eef79985a8cda49c11f","signature":"b34ecdba664a2ec3b8dbf9e941b6dbe316902ba0e406a7c31299e7eb959fb7e9","impliedFormat":99},{"version":"f022ac45c7b49f346c7a4aec7035380a6c20e864c3a3c9b093a0749214fdd972","signature":"66fc58d212375c49354827feb93cf399644bddf49c6d5aa7cd716cd81cf5b691","impliedFormat":99},{"version":"e0b193eaf469545abda1cf3ca86cb25992513dfff1c993b4032f1c80e4848427","signature":"0c184d4bfd1585aefffd168cf5f09cd420bebc653e912e418c24cab332f186e3","impliedFormat":99},{"version":"582dc809d8b93a8fc16c77e1ffc53850f3f84b40f8cb2a3cdf1996f79f1b3088","signature":"5ba57c948c9666d17638efae14ac47877ede75629fe17a412e5d6d1a4c505fd1","impliedFormat":99},{"version":"355bafe303bae845767ef24a37f7b2c711c250c7448895c0c938875f7f9c2032","signature":"5cf4cc52274a28bd8ab9406ed3e98fa53551f4b4cf1a34bd65b78b5e1439414f","impliedFormat":99},{"version":"b9108c4d92c7ffe8546ebd753ef6901b2abd197367e64f6826c3897ac541c3ae","signature":"48706ca10c8d5d293d1546c75598d177ec2e218aadc913c0c0e22d140788e167","impliedFormat":99},{"version":"6037175802f6e7c6b202d884a482efcfa807b3892fff2e474b9724db9d40785c","signature":"9ea3d311a1dd736d63c38632d4a4af2019f41fcec61243ebf8e9f5a9ffaf2cbe","impliedFormat":99},{"version":"18633262d83bb15d3358612f8e1d462d7a20e4a2a7dff5f7b338e60050334a51","signature":"d0834cf9a78b1f400b3ccec7478bb74b8eb31957c6a9da0dfd945a28e00f89a0","impliedFormat":99},{"version":"ab462e1e57cc0eec812eed471d54f139399058eff1a77347d0203105a73962bf","signature":"2b82423c06b300d8612dffe4c1c8b8a0e11c4f1459d69798fe14479617c28afe","impliedFormat":99},{"version":"42fb6a9cfd536d31b7dbfb0d633aa8361027766b84ac0617fcf0b58172fbb0b0","signature":"362677ee9197e53169019163a877690167e5750b2f693f13ec4d0bf95ce7afc4","impliedFormat":99},{"version":"eb8ae88b6da33af8ee9b9497c3e01d2ff5679b60f68972a4101abb0e795aa138","signature":"43ea4830a704b847b6a91de852d511b6d6606d4a21f7baac811abeb0f13428d7","impliedFormat":99},{"version":"96dba49c7ca675ef31b5e4fbfb040472e1399e7579756cbe75bc467fd818b725","signature":"a34189c39e64e75e77d978d1c1705f53c585e7598705ffb45487f46c26b2cae1","impliedFormat":99},{"version":"d7e5fa867a59ea2dd844ac46134b6200bec7be5bf9caa24ad818a8c1cb9960c6","signature":"c92b068c8e0d743f3e2a7508f27874062fa902ca054369176acbc9502015e4bf","impliedFormat":99},{"version":"7ab5ea0a0fee1f29e1fac8686e28f007d043ba95d7e3b632f8cc7301c37e6811","signature":"db959774546bdddc7101c53894e3138cd245b33175f7c9377f9343eec1a8d680","impliedFormat":99},{"version":"c27b65f34815f9448a64c605dd63f6e03af85ccb2ad4bdcd0cf5332b645c9705","signature":"8c826192b6757cbc3ffc140a36dc8ada7957796bd2242467287ae231450b4f99","impliedFormat":99},{"version":"4ace5a8e6261759a5cbd617cae0cbd88c0c5193bb5345673b0a5a48dcf51f640","signature":"32a2e5d5fbfd8d6d2851fc644c4f1051c2ab5f068adb276e8cdc1fb67774fe5f","impliedFormat":99},{"version":"eb54d8688792ecc441056d4150a5da1dba8815050829d8cf74d08d50aa40b8a9","signature":"10c7bdc6518b5f312287ce56e2ad08318c9c6a205f70fc51138764c9f0579ccd","impliedFormat":99}],"root":[[59,169]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitAny":false,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":true},"referencedMap":[[163,1],[164,2],[165,3],[166,4],[167,5],[168,6],[169,7],[121,8],[77,9],[64,10],[102,11],[118,12],[120,13],[67,14],[84,15],[116,16],[119,17],[106,18],[114,19],[72,20],[73,21],[71,22],[113,23],[69,24],[112,25],[101,26],[108,27],[107,28],[105,29],[79,30],[82,31],[65,32],[89,22],[86,33],[70,33],[96,34],[94,35],[88,36],[87,37],[95,38],[90,39],[92,40],[124,41],[126,42],[129,43],[131,44],[133,45],[135,46],[137,47],[139,48],[143,49],[145,50],[142,51],[128,22],[123,52],[125,53],[127,54],[130,52],[132,52],[134,52],[136,53],[141,55],[138,56],[144,57],[140,54],[122,58],[146,59],[147,60],[91,61],[148,62],[149,63],[150,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,61],[157,70],[111,71],[159,72],[160,73],[161,74],[162,75],[98,76],[97,77],[78,78],[100,79],[74,80],[115,79],[93,79],[75,81],[81,82],[103,83],[109,84],[110,85],[99,17],[61,86]],"latestChangedDtsFile":"./src/core/CoreNode.d.ts","version":"5.9.2"}
1
+ {"fileNames":["../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/env.d.ts","../src/core/lib/contextspy.ts","../src/utils.ts","../src/common/ianimationcontroller.ts","../src/core/utils.ts","../src/core/animations/animationmanager.ts","../src/core/renderers/coreshadernode.ts","../src/core/renderers/coreshaderprogram.ts","../src/core/coreshadermanager.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/lib/webglcontextwrapper.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/lib/utils.ts","../src/core/lib/texturecompression.ts","../src/core/lib/texturesvg.ts","../src/core/textures/imagetexture.ts","../src/core/textures/subtexture.ts","../src/common/ieventemitter.ts","../src/common/eventemitter.ts","../src/core/texturememorymanager.ts","../src/core/renderers/corecontexttexture.ts","../src/core/textureerror.ts","../src/core/textures/texture.ts","../src/core/renderers/corerenderer.ts","../src/core/lib/matrix3d.ts","../src/core/coretextnode.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglctxtexture.ts","../src/core/renderers/webgl/webglctxsubtexture.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglshadernode.ts","../src/core/shaders/webgl/default.ts","../src/core/renderers/webgl/webglshaderprogram.ts","../src/core/textures/rendertexture.ts","../src/core/renderers/webgl/webglctxrendertexture.ts","../src/core/renderers/webgl/webglrenderer.ts","../src/core/renderers/webgl/sdfrenderop.ts","../src/core/text-rendering/textrenderer.ts","../src/core/text-rendering/textlayoutengine.ts","../src/main-api/utils.ts","../src/core/textures/colortexture.ts","../src/core/platforms/web/webplatform.ts","../src/core/animations/coreanimation.ts","../src/main-api/inode.ts","../src/core/lib/colorparser.ts","../src/core/renderers/canvas/canvastexture.ts","../src/core/lib/colorcache.ts","../src/core/renderers/canvas/canvasshadernode.ts","../src/core/renderers/canvas/canvasrenderer.ts","../src/main-api/inspector.ts","../src/main-api/renderer.ts","../src/core/stage.ts","../src/core/platforms/platform.ts","../src/core/lib/validateimagebitmap.ts","../src/core/lib/imageworker.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/lib/rendercoords.ts","../src/core/autosizer.ts","../src/core/lib/collectionutils.ts","../src/core/corenode.ts","../src/common/commontypes.ts","../src/core/shaders/utils.ts","../src/core/shaders/templates/blurtemplate.ts","../src/core/shaders/canvas/blur.ts","../src/core/shaders/templates/bordertemplate.ts","../src/core/shaders/canvas/border.ts","../src/core/shaders/templates/holepunchtemplate.ts","../src/core/shaders/canvas/utils/render.ts","../src/core/shaders/canvas/holepunch.ts","../src/core/shaders/templates/lineargradienttemplate.ts","../src/core/shaders/canvas/lineargradient.ts","../src/core/shaders/templates/radialgradienttemplate.ts","../src/core/shaders/canvas/radialgradient.ts","../src/core/shaders/templates/radialprogresstemplate.ts","../src/core/shaders/canvas/radialprogress.ts","../src/core/shaders/templates/roundedtemplate.ts","../src/core/shaders/canvas/rounded.ts","../src/core/shaders/templates/roundedwithbordertemplate.ts","../src/core/shaders/canvas/roundedwithborder.ts","../src/core/shaders/templates/shadowtemplate.ts","../src/core/shaders/templates/roundedwithborderandshadowtemplate.ts","../src/core/shaders/canvas/shadow.ts","../src/core/shaders/canvas/roundedwithborderandshadow.ts","../src/core/shaders/templates/roundedwithshadowtemplate.ts","../src/core/shaders/canvas/roundedwithshadow.ts","../src/core/shaders/webgl/blur.ts","../src/core/shaders/webgl/border.ts","../src/core/shaders/webgl/holepunch.ts","../src/core/shaders/webgl/lineargradient.ts","../src/core/shaders/webgl/radialgradient.ts","../src/core/shaders/webgl/radialprogress.ts","../src/core/shaders/webgl/rounded.ts","../src/core/shaders/webgl/roundedwithborder.ts","../src/core/shaders/webgl/roundedwithborderandshadow.ts","../src/core/shaders/webgl/roundedwithshadow.ts","../src/core/shaders/webgl/sdfshader.ts","../src/core/shaders/webgl/shadow.ts","../src/core/text-rendering/utils.ts","../src/core/text-rendering/canvasfonthandler.ts","../src/core/text-rendering/canvastextrenderer.ts","../src/core/text-rendering/sdffonthandler.ts","../src/core/text-rendering/sdftextrenderer.ts","../exports/canvas-shaders.ts","../exports/canvas.ts","../exports/index.ts","../exports/inspector.ts","../exports/utils.ts","../exports/webgl-shaders.ts","../exports/webgl.ts"],"fileIdsList":[[107,124,126,129,131,133,135,137,139,142,143,145],[105,107,108,160],[62,63,65,70,74,78,80,81,87,92,95,102,103,109,110,111,116,120,121,125,127,130,132,136,140],[109],[61,63,71,77],[90,91,146,147,148,149,150,151,152,153,154,155,157],[87,90,95,162,168],[80,120],[76],[61,62,63,120],[63,64,120],[71,120],[61,62,64,65,71,77,81,82,83,87,89,95,102,111,116,117,118,119,121],[61,65,66,111],[61,71,81,82,83,97,111,120,121],[74,75,77,80,81,82,93,100,111,112,113,114,115],[120],[104],[81,113],[69,81],[61,71,81],[70],[112],[68,70],[111],[111,112],[75,79,81,82,104,105,106,107,120,121],[65,106,111,120],[61,79,104,121],[78,81],[60,65,66,79,81,111,120],[61,111,120],[69],[61,71,85,87,89,90,95,111,121],[69,71,78,87,93,121],[61,69,75,78,81,87,121],[61,69,71,72,78,79,81,86,121],[61,69,71,75,79,81,82,86,87,88,89,90,91,92,93,94,96,97,120,121],[65,70,71,92,95,111,120],[61,66,69,70,87,89,90,91,95,120],[107,123],[70,71,104,107,125],[70,71,107,127,128],[107,130],[107,132],[107,134],[70,71,107,128,136],[70,71,107,126,128,137,138],[70,71,107,128,139,141,142],[70,71,107,128,137,142,144],[70,107,128,140],[65],[65,70,122],[65,122],[65,122,125,136,140],[65,122,125,136],[65,122,136,140],[61,70],[90,123],[70,90,125],[90],[70,71,90,127],[71,90,95,130],[71,90,95,120,132],[71,90,95,120,134],[70,71,90,120,136],[70,71,90,120,138],[70,71,90,120,141],[70,71,90,120,144],[90,140],[60,61,64,65,67,71,77,78,81,82,83,84,97,98,99,100,101,110,112,116,120,121],[84,97,98,111,120,158],[61,84,97,98,111,158,159],[61,74,84,97,98,111,120,158],[61,71,82,84,87,90,95,97,98,111,121,156,158,161],[97],[71,82,84,96,111,121],[61,63,81,111],[81,116],[61,71,72,73,81,112,116],[61,74,81,116],[71,75,77,79,80,116,121],[62,65,84,102,120],[61,62,81,84,102,110,120],[61,65,67,77,78,84,95,97,101,103,108,109,111,112,116,120],[60]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"5ba0a094f93834bf1d227ddfb621d45ffe5b37e4dfe0b8518cdb769713f86633","affectsGlobalScope":true,"impliedFormat":99},{"version":"0fb789e71544b33050f556c483b82704450a1f5ed8277c35674891aaaa6a95ef","signature":"826d87ec474ecd59c827441df44d49f420dbe099333c3344e31dfada8cc39902","impliedFormat":99},{"version":"49e958d30eddbc54789eb540bd08c00b6ec4782a488935e8f29218796375fae6","signature":"f881a1a2b219f636190a264c5e6c61c8860b5f4c8a803d76d3729cfd97072d13","impliedFormat":99},{"version":"725cf9cb38ff2000cd2156e28dc06fb265cb6fc79f3a9d83141940b502f0fca6","signature":"fa40725ac8d2fe1f3e11590e2f2bd0ac523256d9f6805bc425c2286c7c93f894","impliedFormat":99},{"version":"0dcf0b8b29a5e0a4f5a592adea458990b22354a1a4c2766d0b024df0aebd71ff","signature":"ee40f42d658eb673fa53ff333ab90b838d3d4397fcf6a4ce49cfba5202f7c4ab","impliedFormat":99},{"version":"eea8be5c1eea68d449669b540be53f89e6cb749871fd8c13f2ae7869e167dbed","signature":"8d84c9cf16816327dc926a3b63fb8eb67ad6b2bb632f524154189b7320c30863","impliedFormat":99},{"version":"6ae1dbd5661f184b6f78a55e139365b2fbee940b12e895fe16b272a850ff3459","signature":"c1a0fd4511bbf56aedef22aba390ce4fffcef26adaec16684eea65a35e408b66","impliedFormat":99},{"version":"26eee6d5475b7bf6ab5b0e8ee2cbefddd6c4d34a6b80ca12ee6511c943c7bb43","signature":"97326a2f5f0fce22509018fe77795cb2313d61f1ef71eff134612c81ec2ac600","impliedFormat":99},{"version":"37a82a1b7644b8436ffc2874bf3d0409421e2a8f75d46c3a4be4efc4e4b6f5db","signature":"6dde36af67f486d0925af4ba0339e7a66b7f71fd36f1a4d928869ccbf4dfdda0","impliedFormat":99},{"version":"c8f5eef1076cae8cad73dd1a8190f82c97d6a1de46e9938c72dcb4b81a5ed39a","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"4390f97af17953beb997b03612d879037f6eb6ca5d07bf936d3eb1d320988335","signature":"f545065826625494d5c4c06f4adb3d185eb09cd9bf2e10b350d8be29e0ad253a","impliedFormat":99},{"version":"484020cbddfda5f115d9b125cfbdfcc78c12d6c29df37619ef061265c12ec452","signature":"180c58440d1372a281aec09fb5ab5c917f3533457b4338a8b3e4c7725fd8b3ec","impliedFormat":99},{"version":"7f60a8144692040141d8ad8b40f3d51a0319a4534418e2c336de5cf3cd9a85d3","signature":"b27c828b11871b674bd5db3bd09361c457ad98622683c1738f9481d6a70206af","impliedFormat":99},{"version":"8c72604442ade45e80db4becc8b15cb6a62279797dba0aa114ab8b830befbf4e","signature":"afcf49d3e0bfb93f7ba0802ac21a8cdee4cb9f08e66aeef6dd7de60e5db2754b","impliedFormat":99},{"version":"83d66848c8099c9fa05d49999db1dc0ee07072bdbd98675055a0ee8e48c61431","signature":"4fe26dc4bac065bdc055fd26f9ab411f282f020052ef557761cd96160810f442","impliedFormat":99},{"version":"8c3788b3cff20b5d8fb3bd347894549ef85e1d533f32c5ceedc190f39ed0a977","signature":"9aa36325cd99649318217f9f9a87ad3cf4951520cfae47869cebc1e7d80820f4","impliedFormat":99},{"version":"43047924269396afc5170868cdb10570c26543a7a06c70f147bbd8f65d3c265f","signature":"178bbaca724c8e19c6e3be26bbacb719daad5c0f3a5e3a2a645bae5b187edc48","impliedFormat":99},{"version":"e73d693dbc420ea2f5525275bf48a1a958c00c14f4d310938c6ff562171084b4","signature":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"3ab55b4335654f11edfac43e7479c2113cec980539ab9f184b95f75a5e516e4c","signature":"4b877099c30f57cee49f5563d6c98ef6aa28f558549d6390ad542b7d7aee6a57","impliedFormat":99},{"version":"a6d792902b0358d3bc432aeed4a4ebdc57b430586f7b29de874ad2ba98647e69","signature":"5f667194f03e5a9d5f6ca1990e810fc4ff1c5d855d97f9672d16c9ec552c5d53","impliedFormat":99},{"version":"b1aa12a696499aec7886bad670c0d61ab1bbfb7010f509aad0a33976a43bb7a7","signature":"7fa0036a92ef198a2140758b695b615596e7860cde2f8f50dc8772f1ae23fde0","impliedFormat":99},{"version":"8751c170b7d20979afe81c6848afa318cd65c3d9026a4addb68b5f3271d21844","signature":"5fbb8d7443bd5a5b303f62cef8ce4b65cd729647d59916fb69f202c60db3f562","impliedFormat":99},{"version":"9bd418a3b1f15c943ef303056a6a3b41bb842df1e83d15c37acbd17f08f904b4","signature":"fbc5a1c492e70c7900022a3d16cb26fc667e8d737e73ac8843228d0bd6430d78","impliedFormat":99},{"version":"fb59c6f631b40827eea29db3b2821c7366f8171867d5040fa02f1aabbd798233","signature":"02060965fe18f16f2fc5e21d36664cbae3f682b9a3c2b0bc39f537f36cade535","impliedFormat":99},{"version":"619f7047ca3a1ec65a3398cd2d71717f6ecb3a579a46268366854142afad55a5","signature":"5a652125462bca72ea748d3bc73c458a9776fb3ad492674336f6d83df791c42d","impliedFormat":99},{"version":"8c3d3f7bbe1a90ead329bacae504d84d27a5e25ef21d34bfb8d796c62c983e1f","signature":"ed16135617242f809c2200d4c4b18610b4d0d7b7043903373da1f7cb27e394e8","impliedFormat":99},{"version":"03eb47e1e2969c3fc52fa7fdbd5c5841ffc3f7139fffc30d771d2b87e855b2fe","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"8aa68ab45644a07f6fe68c029b00e26bd5b5f7e827746bebc732d8e2b1eed9f5","signature":"09c1c14f42b1256cbaf80ca607b054643c379418bd61468f996d16be81823aeb","impliedFormat":99},{"version":"6a05a62105154317ffd4f9deca628c8c3d2bbb7ef34b92c61b994a5929a7a70b","signature":"655c31a1722747d229233819701c97a0d0eb45de1c402d2af099ef6209823228","impliedFormat":99},{"version":"35a18cb45a375acffd7fd9924694a0fe490aff7e0456eaecfd8f06967b9b75a5","signature":"4d678bf8cab921c2d080b75126762897254dcc9424dd4527d9ed232a69258b11","impliedFormat":99},{"version":"412a870bb718eb9415faec7bc11ec73e104ded0dd8bacd66184ac0474dc806e8","signature":"c71fac303272beaa89b727174d0aa688665f420a8fbfdbdabd70d37ff1306ec2","impliedFormat":99},{"version":"2d3f1fc034914539bd2bad14c8f0dd12d4f3e832f52cd23c152d57a44e6666b6","signature":"b820bb0c5f5a8b50f7d5392f0a1f0457b9ec986cc00f3284f5f5bdf5cdb5876f","impliedFormat":99},{"version":"e1c1814eeb96c78e2437e92b81bdf82840424b0a4b22b600fd80c0c4ea936069","signature":"11d90ddf914600d7cdba80dc93576c8e4b9590b42542a4e4db56e36af1c3c341","impliedFormat":99},{"version":"67b5a4da6a79c61edcd3a85fe124d649e01625241aa3afe1fca4ffb5c941d786","signature":"a9b406401e27ed6a749e670f16fc41f52dbf9bc15d8f798d15288292978b113c","impliedFormat":99},{"version":"b63eef02fb6f5bc004aeb338f6cb4fb6648cafcf9841396432738f2f3cfecf07","signature":"8adbddff6d8303fdf5de01602f8c2b9a28efc3bf60530eeba3857aa7f550f655","impliedFormat":99},{"version":"309b37dd89c078c27286180d57ef951f21363d029e475d9f8d6b436e2a31a62e","signature":"babf579da841813feb2c91dcd842f39537eb0371fb903b24eda3cdecba2bf14f","impliedFormat":99},{"version":"74a18b681ac91628e54a1168d54681b7de5af005c4a67ffbdf9cb4eaad866462","signature":"4bfbb39eb058e207839a94c205b46a2980b59ccc5a585d15f5f3c2764a866a87","impliedFormat":99},{"version":"61fd0c318cdcb7d3c33b1a4ce9672b8265622a5df2ad6c9afdccbc9f4c1c0c0b","signature":"31f1e85b7793907da145a21c1b8a4b197c4e83ca8071c41f866224d5c85a34e1","impliedFormat":99},{"version":"aa94f2208e3f629a8ca43fdec9c93599f1836d4e700ae3ccd86410eaf97aa073","signature":"000ce5f4e14f39fbcbbf39ef99a9eac02954e0e1d67798972d9ca15b5d1bd98b","impliedFormat":99},{"version":"f914faa3b6c2fe1ce1f307a5d780f2021ff2211737e17adc3de047ea242e9e54","signature":"3eaee23f112a80139af770d0a6b7623f33675966ec3dca3cdab74a0ea071064b","impliedFormat":99},{"version":"7f6e6e6104931e7907c74e53d336094350978646d9c02c2a205ffcea90b58e61","signature":"f02942f8ae408270e572fa4c23aca8f42b496b83a836bfc8cec4f559e8ce1125","impliedFormat":99},{"version":"45a3d03cb79677851a1597d31d0936c706cb80d3731b68677012520d555de2e6","signature":"68cfd7feb1396181cc75d8cfbd95ae5e76e2ffee3c99aeb04e4d3175737c7a97","impliedFormat":99},{"version":"b5dd8ad40606307ab9bea1b776dfab76970576a01e6942464f4bb08adef4f5c8","signature":"4efda82c758514a08d950cbc7079752d18f74223fd28014d62a9009694c019dd","impliedFormat":99},{"version":"7381e02deaa54cca84fd5829a7abe72b9aea79739cef50d2ef45e7133e46a245","signature":"bdfe37f9178a0c445385afef820471496de4d62381ceab44090e1d2f7cbf9d57","impliedFormat":99},{"version":"d41aef2354b7b9bbbd538909867a16826b1111f88d82b3db7669904d88f01938","signature":"378b818788219a531c09232dc8246ed3d0b70113a75770eb1d2847084edc7eae","impliedFormat":99},{"version":"5e65666e88324e800f5351c15893a29855f637211aca9e1cd3f7cccd372e9370","signature":"566b53d6bd25dd8a6d93ef387b4a0ae8a795c1ea4854298c3a328fc6712aebb5","impliedFormat":99},{"version":"6312d7814c2348514827f1f6b942395cc4a850c951cf9f16225c6629482c85f7","signature":"a3802aaf9d8320c01fa1156886402ae5383f9e49f104c261b1e3203c72c89dbc","impliedFormat":99},{"version":"f309bd228e2982f60f7ed817323e80d1187c1520248ae02059bd93d23eaa1acf","signature":"2885b4f117dd1d518624b16d3993749c17042fe5d799b60a46d9654d45fc1be1","impliedFormat":99},{"version":"210f9a2eb41a6287335c968326b468b84a3e17bfc55d32df581203ec83601a1e","signature":"70dd0bd75de1a7b08011eddfacc2d0f1787ff28e7c588b860af4579a0dbc941f","impliedFormat":99},{"version":"a0005ed81335778bed8be7c07b40bdaf54d1809c9bde50a222b41e6dd99495b6","signature":"585041232f0311c18636450c43208c0da6e56dc657404ad3c2d24c678a390377","impliedFormat":99},{"version":"1385d95114ceab2550ef26b7b997d8e83c05fe2e6df7ca75d42068fbd97b3118","signature":"0ac7bb457ac07cb746a4cd0f9056cd13d06ac92515df7f4d04fdb426c0d04789","impliedFormat":99},{"version":"e8089c65cb21a808e1afff90da5bb70766ecbed6d3bc1c88c901fab26d427ff9","signature":"02641c99d5376c104a8a8fce116edd55569c1569bde121318360dd62771362a4","impliedFormat":99},{"version":"c8244eda43f79abceb8477803e9b6db5deaa38fd1444ab1c1e65d94a218126d6","signature":"3f8ec2883b15909c5186c120ebc75d02cc1be5dcf8b5fe81d5399981882d688d","impliedFormat":99},{"version":"9fd52944f4d0748affc7601ddcd21af6e8c622d2e2855c9a5ad215ca3e09a7ae","signature":"1bc91777d9c68f9f46697b1859f11ea39e6c51e1eb135336d81289eb25c97623","impliedFormat":99},{"version":"7f4d58b40b9fb2850c7807263b7f76ab025ee11099ce8f193f5ee4a6fbc48023","signature":"9b5e43a8d86d0bd41f3efb075e415d1f239702b02afb90e34abb868d82a0f5d6","impliedFormat":99},{"version":"f8f8cb7ad87c549b0eeb9a74478f7ed75e347aca8db55989162ccba37d6308d6","signature":"bb577b7c883e070fa151937440e054902e74ed58186bd044296f2e1b4be386ce","impliedFormat":99},{"version":"5bc4d797c4c00430b4e7cea2ca1ffa7d8e3223fb526997bb4a3b73b556b344f5","signature":"46d6995fa6153325dae9fcaf8eb7fdc183936a42a3fb851efcda43cc0bf7edef","impliedFormat":99},{"version":"c82e75185b0709ec0b4ba2b1dc62ec92b60c064c457510e2de266f9cea2ef22a","signature":"95e6bad556a8ac48fc21c4587a5d4ab66d736dd1859ca05d5f62cf76558f7a1b","impliedFormat":99},{"version":"1e434b5f963ca54162c007922a664c33c058045e1f8258bc47ca7b10b0df25a3","signature":"9b47d61d6e847112cf7e9f2fb1631d36e81d966b79b46ede120eaf85058f6a97","impliedFormat":99},{"version":"d3601402d82e419617b77fb8364e5192eb7f1d685288f09ff39d63cde4c9e51c","signature":"3ea67cb40367de619dc4addce96f4d5e80160ea305c6afe526d44a1b7988a3ea","impliedFormat":99},{"version":"6dd145cdae9cca3d1dd9c077f79bf64f486a5d6dd851a80b53a638c3ed0353fb","signature":"bd205ae001b9e85aad4aeb1755b24591dc12372fe660fe31ee315074062eea0d","impliedFormat":99},{"version":"c1322f87621775e300aa72037d45c58105bc1a8cbe1198be0e5f463864499241","signature":"0c09a9bd6f678b6a20bfa0281004aa3b7d01a962f98394047698acdbdb5b17c4","impliedFormat":99},{"version":"dac0403c3ff87860d7b130e4d46797b3a14b8491a2d483cdd3939b36a465c71c","signature":"b76a00a0d000ba2ad5b9ecaf389922e8135c8087180aa769fd517bd404ad5459","impliedFormat":99},{"version":"ef58c75d40fb4394e68971549eb3351058cb0b275db2738ae67df13ffc150cc8","signature":"6b38678a012f8055e5f0a8aa9c1ca13d8a6d60110541d60e244a132b31f1fec2","impliedFormat":99},{"version":"387288e860f965c2862d17c155ad361b1c2ceaff5f97761d179262336b88580d","signature":"872937c6cd92ad2ca1548878c5c2325dc0ba3339a93a31ed1947884908dd8aa8","impliedFormat":99},{"version":"f47ba4df2de5c263e2a7c95464685602b0db64ad88bc1f62a477dc98311f88ab","signature":"98a1f2a3ec600dc06f82c4fe120b7d2ef6aa8ec258b1c4fb77e44a913cc6e233","impliedFormat":99},{"version":"4c92257cc7c9b722720be143ed2b5b8387267854c67017372b09e2bcbbea6063","signature":"c0e70bcea10f408ecc8833d2aa2c3af825d13e470d74990ba538d0a81cf56a7b","impliedFormat":99},{"version":"c3c7389b117ec2f370d63fd673a8fc379b335b73666ea9c481848043d27e85d3","signature":"47e1b725b6d55b6284e63568e9074f195005f8b79e066b28449663aef9aed95c","impliedFormat":99},{"version":"3c0e1904a08a9f573980fc9cabc22e76657990ee395bac9a6bb50a6c102e52bd","signature":"42e936ecc3b9b7ad5a489eeaea7c25af8d7b71162a08e00ad638648e87a7ee51","impliedFormat":99},{"version":"77099443b054b22cb41374e020cf0ec8bbc3b077c25d5afb2d73e2207c661b80","signature":"e6f972dc162ead1d86897a3488316aab8b034472695d40eac74b6557e184919d","impliedFormat":99},{"version":"ea4c2e9deca942ae568c64e85d74cd5eb67c40b827956fd9a82e81d70e70585c","signature":"d91415fa00b3eef01ae2e08e8ffaf7cef9fa568515c83ac1474a22cc55bb3718","impliedFormat":99},{"version":"137618331aa4f4dd38c93e26a20b43dc8dc25a95485cdfd496f1a104b1b07c3b","signature":"912202a19d5e8972357af639e5e65d06c9171e30d4bf077fcdfe184c30effc7c","impliedFormat":99},{"version":"aa7446683810dffa2f3379a2e3a4ad3bcdc59d8da258ceac844ad6b68d3b418a","signature":"16ea4109bf543dd521c2e9cd4ff0f8c498250ce26f6fe55739e077e0761c8807","impliedFormat":99},{"version":"8130e89488ac70797bd1737f59ab9d4ca43805a6886ec3e600eb29cfd681c96e","signature":"9ab0406e79c8ae7a4f552c6609b8ce436242d74abbeebd1f4303a63c53ccb56a","impliedFormat":99},{"version":"0d2f8deb225e2cb7c3a818ff1a6e2aaaaf2104a0af8104d8c3e112cb9856f3ae","signature":"76fdce1e19f5cf3a2243a37f1778f534dc527e73c25100a14d63994c2f0b8760","impliedFormat":99},{"version":"df3b85e40aa11deae5e4e9094927c0ddc7a768c10f8d2e4f793558d7c832337c","signature":"dca314f637b4d88b884e8a6d76fb82cbf2b896e28f69feae8da56046045cf278","impliedFormat":99},{"version":"484cf35592b2c8be3608d937a5238c1fef88315cedc853cc817c1333ad316e35","signature":"e7181fa8e23ed61baefe346d52c8e0eaa94ab0c495c50933f3d0b1de1f949230","impliedFormat":99},{"version":"79604b209f32f23345daab19964a53d8dc9488d1ed7e23bad0ff08fc2c772da8","signature":"4dcaec244d4486f21fa7800fd6853c914df66154d4ca6b7cf0aa0370c5e6a656","impliedFormat":99},{"version":"019abfb86e2f8f44b9f78ebe1ada8748f2bf578caaf9536475531cf4eb4bde62","signature":"5111e2e2ffb1264243951a0c15fa3498e2c0c23e74599f535ad2227a16d8c503","impliedFormat":99},{"version":"8a6aecc7b7cd01b03424ea5e4755f8abceb433c7cac3c4cc74aea2df676ca32a","signature":"2c6c2e2996661a1558d5ce4040ec63a12913ea0c52fd071adc079fb1f3fc125c","impliedFormat":99},{"version":"3e87e6d2e51b392e59034bf46547bd13ffbf54301ccf98cada6692eec7261860","signature":"b6c5cb675d41673f3d27982b79d6b96033d9f0976ff9c62a49b4d61bbfc71b1f","impliedFormat":99},{"version":"950cb741daec5e63de1500aa3db70f9879fa16164fbb8cbc100437a258643f84","signature":"db5ff6f8ae2b0a4ff8cb16b43646b5561304b219fcc10ab1c470965743fe7662","impliedFormat":99},{"version":"f6ce18c4659b7e933d0e0289ee01d20eabc88543587ba71e3ee59ea2560e8294","signature":"e4bf9388266333a7b08b77dfc53f0bd5cc25da0e148c7a896aaac443c6becb47","impliedFormat":99},{"version":"d316f795ecc284e4a91622cd71635ba3964cd3ee5fa4bcca828173767520113e","signature":"986c6fa0b20de6185466d165274d7896f8734b92302b70ffccf4614be069db61","impliedFormat":99},{"version":"c5da010a38dec8e8569cf895d9dfaf1432e1d29d7f9f73644eb01f33f097e89d","signature":"02fad959da0f7217696defb6dead5557228c3ef9791e4cbb28164d4bea2a8245","impliedFormat":99},{"version":"85f4bc1f1eea3a08f8abc20c7dc41671a8c4ba35860c9e948ef7ca39eff18dc2","signature":"43065306646acc1b02890238154e075cb4e2a6cbc73e213e1f56fcc6ad568d37","impliedFormat":99},{"version":"3f24a1b9dce9699930f668b87e564ff8fbdd5742fffee6dc35e5e6e6a7c3af78","signature":"ccd53c52eddd8eaa19baaf4ac4224f18b3c9ee90cbdb62001f1477e59c5006be","impliedFormat":99},{"version":"7a55412506f0f9dc36fb71e3cc6e6781526deb1a759038ff8fd08c45d99326f4","signature":"e83ecc19d67e55848641650aa73755b88b0085d526fefdace51ddb11da8a4e92","impliedFormat":99},{"version":"6620bc01f2502a0cc57ab81250183715cff09aa568e747c62ed05911b1cdeb17","signature":"fc4560cb792ceead9e3fea2f6af6cfc1f6c3ae85091f1857c7d268a11c01b948","impliedFormat":99},{"version":"cef86916072eb96932fc00f390dde6c6bd57243adf5b936946adb7ab3b88c7d6","signature":"e7f707dc443bc70c46576168b519c3ba5479373575af4399855ca8b0b3013a02","impliedFormat":99},{"version":"2de3c458fe2feecfaf56cb658616504d7484f0cdfdcb150c45d7cce4172b05b4","signature":"8b97d49f33fb21b2b6616c0600cb2e3968deede70049dd50e38e7d5e60258e48","impliedFormat":99},{"version":"729ae253baca9b66f161e5d741763d835c190717a18714a4cc10033be270e566","signature":"a61270eb38bce478ba85ad3126a149e7d178fdfc02d91d901ec450ca2a08a3c9","impliedFormat":99},{"version":"4e0c892416db776abe7394b8d8c870bd9a0130712e6939e7bb97ff1dfa68f5f1","signature":"5be8d9fadb8846ec9529a9a0839940b7ed8667d9473d37fcaddf5a5407046bb8","impliedFormat":99},{"version":"1029ff8709b714292e9e06f2c7a61ef03249cd622dc0a14b9ef090eb4f5440e3","signature":"b02e020e0ad1378e97a9e1d26795695ac5527087e5c174e8aea70ec0d00192e9","impliedFormat":99},{"version":"784a7c50aee5402707d9acaccc422eb7fdc49d099e4b9eef79985a8cda49c11f","signature":"b34ecdba664a2ec3b8dbf9e941b6dbe316902ba0e406a7c31299e7eb959fb7e9","impliedFormat":99},{"version":"f022ac45c7b49f346c7a4aec7035380a6c20e864c3a3c9b093a0749214fdd972","signature":"66fc58d212375c49354827feb93cf399644bddf49c6d5aa7cd716cd81cf5b691","impliedFormat":99},{"version":"e0b193eaf469545abda1cf3ca86cb25992513dfff1c993b4032f1c80e4848427","signature":"0c184d4bfd1585aefffd168cf5f09cd420bebc653e912e418c24cab332f186e3","impliedFormat":99},{"version":"582dc809d8b93a8fc16c77e1ffc53850f3f84b40f8cb2a3cdf1996f79f1b3088","signature":"5ba57c948c9666d17638efae14ac47877ede75629fe17a412e5d6d1a4c505fd1","impliedFormat":99},{"version":"355bafe303bae845767ef24a37f7b2c711c250c7448895c0c938875f7f9c2032","signature":"5cf4cc52274a28bd8ab9406ed3e98fa53551f4b4cf1a34bd65b78b5e1439414f","impliedFormat":99},{"version":"b9108c4d92c7ffe8546ebd753ef6901b2abd197367e64f6826c3897ac541c3ae","signature":"48706ca10c8d5d293d1546c75598d177ec2e218aadc913c0c0e22d140788e167","impliedFormat":99},{"version":"6037175802f6e7c6b202d884a482efcfa807b3892fff2e474b9724db9d40785c","signature":"9ea3d311a1dd736d63c38632d4a4af2019f41fcec61243ebf8e9f5a9ffaf2cbe","impliedFormat":99},{"version":"18633262d83bb15d3358612f8e1d462d7a20e4a2a7dff5f7b338e60050334a51","signature":"d0834cf9a78b1f400b3ccec7478bb74b8eb31957c6a9da0dfd945a28e00f89a0","impliedFormat":99},{"version":"ab462e1e57cc0eec812eed471d54f139399058eff1a77347d0203105a73962bf","signature":"2b82423c06b300d8612dffe4c1c8b8a0e11c4f1459d69798fe14479617c28afe","impliedFormat":99},{"version":"42fb6a9cfd536d31b7dbfb0d633aa8361027766b84ac0617fcf0b58172fbb0b0","signature":"362677ee9197e53169019163a877690167e5750b2f693f13ec4d0bf95ce7afc4","impliedFormat":99},{"version":"eb8ae88b6da33af8ee9b9497c3e01d2ff5679b60f68972a4101abb0e795aa138","signature":"43ea4830a704b847b6a91de852d511b6d6606d4a21f7baac811abeb0f13428d7","impliedFormat":99},{"version":"96dba49c7ca675ef31b5e4fbfb040472e1399e7579756cbe75bc467fd818b725","signature":"a34189c39e64e75e77d978d1c1705f53c585e7598705ffb45487f46c26b2cae1","impliedFormat":99},{"version":"d7e5fa867a59ea2dd844ac46134b6200bec7be5bf9caa24ad818a8c1cb9960c6","signature":"c92b068c8e0d743f3e2a7508f27874062fa902ca054369176acbc9502015e4bf","impliedFormat":99},{"version":"7ab5ea0a0fee1f29e1fac8686e28f007d043ba95d7e3b632f8cc7301c37e6811","signature":"db959774546bdddc7101c53894e3138cd245b33175f7c9377f9343eec1a8d680","impliedFormat":99},{"version":"c27b65f34815f9448a64c605dd63f6e03af85ccb2ad4bdcd0cf5332b645c9705","signature":"8c826192b6757cbc3ffc140a36dc8ada7957796bd2242467287ae231450b4f99","impliedFormat":99},{"version":"4ace5a8e6261759a5cbd617cae0cbd88c0c5193bb5345673b0a5a48dcf51f640","signature":"32a2e5d5fbfd8d6d2851fc644c4f1051c2ab5f068adb276e8cdc1fb67774fe5f","impliedFormat":99},{"version":"eb54d8688792ecc441056d4150a5da1dba8815050829d8cf74d08d50aa40b8a9","signature":"10c7bdc6518b5f312287ce56e2ad08318c9c6a205f70fc51138764c9f0579ccd","impliedFormat":99}],"root":[[59,169]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitAny":false,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":true},"referencedMap":[[163,1],[164,2],[165,3],[166,4],[167,5],[168,6],[169,7],[121,8],[77,9],[64,10],[102,11],[118,12],[120,13],[67,14],[84,15],[116,16],[119,17],[106,18],[114,19],[72,20],[73,21],[71,22],[113,23],[69,24],[112,25],[101,26],[108,27],[107,28],[105,29],[79,30],[82,31],[65,32],[89,22],[86,33],[70,33],[96,34],[94,35],[88,36],[87,37],[95,38],[90,39],[92,40],[124,41],[126,42],[129,43],[131,44],[133,45],[135,46],[137,47],[139,48],[143,49],[145,50],[142,51],[128,22],[123,52],[125,53],[127,54],[130,52],[132,52],[134,52],[136,53],[141,55],[138,56],[144,57],[140,54],[122,58],[146,59],[147,60],[91,61],[148,62],[149,63],[150,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,61],[157,70],[111,71],[159,72],[160,73],[161,74],[162,75],[98,76],[97,77],[78,78],[100,79],[74,80],[115,79],[93,79],[75,81],[81,82],[103,83],[109,84],[110,85],[99,17],[61,86]],"latestChangedDtsFile":"./src/core/CoreTextureManager.d.ts","version":"5.9.2"}
@@ -0,0 +1 @@
1
+ {"fileNames":[],"fileInfos":[],"root":[],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitAny":false,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":true},"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidtv/renderer",
3
- "version": "1.2.9",
3
+ "version": "1.3.0",
4
4
  "description": "SolidTV Renderer",
5
5
  "type": "module",
6
6
  "main": "./dist/exports/index.js",
@@ -8,24 +8,38 @@ import type { IEventEmitter } from './IEventEmitter.js';
8
8
  * EventEmitter base class
9
9
  */
10
10
  export class EventEmitter implements IEventEmitter {
11
- private eventListeners: { [eventName: string]: any } = {};
11
+ /**
12
+ * Lazily allocated on first `on`/`once` call. The vast majority of nodes in
13
+ * a scene graph never have a listener attached, so deferring the map avoids
14
+ * one object allocation per instance and keeps the hidden class smaller.
15
+ * `null` means no listeners have ever been registered.
16
+ */
17
+ private eventListeners: { [eventName: string]: any } | null = null;
12
18
 
13
19
  on(event: string, listener: (target: any, data: any) => void): void {
14
- let listeners = this.eventListeners[event];
15
- if (!listeners) {
20
+ let map = this.eventListeners;
21
+ if (map === null) {
22
+ map = this.eventListeners = {};
23
+ }
24
+ let listeners = map[event];
25
+ if (listeners === undefined) {
16
26
  listeners = [];
27
+ map[event] = listeners;
17
28
  }
18
29
  listeners.push(listener);
19
- this.eventListeners[event] = listeners;
20
30
  }
21
31
 
22
32
  off(event: string, listener?: (target: any, data: any) => void): void {
23
- const listeners = this.eventListeners[event];
24
- if (!listeners) {
33
+ const map = this.eventListeners;
34
+ if (map === null) {
35
+ return;
36
+ }
37
+ const listeners = map[event];
38
+ if (listeners === undefined) {
25
39
  return;
26
40
  }
27
- if (!listener) {
28
- delete this.eventListeners[event];
41
+ if (listener === undefined) {
42
+ map[event] = undefined;
29
43
  return;
30
44
  }
31
45
  const index = listeners.indexOf(listener);
@@ -43,8 +57,12 @@ export class EventEmitter implements IEventEmitter {
43
57
  }
44
58
 
45
59
  emit(event: string, data?: any): void {
46
- const listeners = this.eventListeners[event];
47
- if (!listeners) {
60
+ const map = this.eventListeners;
61
+ if (map === null) {
62
+ return;
63
+ }
64
+ const listeners = map[event];
65
+ if (listeners === undefined) {
48
66
  return;
49
67
  }
50
68
  [...listeners].forEach((listener) => {
@@ -53,6 +71,6 @@ export class EventEmitter implements IEventEmitter {
53
71
  }
54
72
 
55
73
  removeAllListeners() {
56
- this.eventListeners = {};
74
+ this.eventListeners = null;
57
75
  }
58
76
  }
@@ -1113,5 +1113,71 @@ describe('set color()', () => {
1113
1113
 
1114
1114
  expect(node.clippingRect.valid).toBe(false);
1115
1115
  });
1116
+
1117
+ it('shares the invalid default rect when neither node nor ancestor clips', () => {
1118
+ const parent = new CoreNode(stage, defaultProps());
1119
+ parent.globalTransform = Matrix3d.identity();
1120
+ parent.worldAlpha = 1;
1121
+
1122
+ const node = new CoreNode(stage, defaultProps({ parent }));
1123
+ node.alpha = 1;
1124
+ node.setUpdateType(UpdateType.Clipping);
1125
+
1126
+ node.update(0, { x: 0, y: 0, w: 0, h: 0, valid: false });
1127
+
1128
+ // No own allocation: the field still points at the shared default that
1129
+ // every freshly-constructed node starts with.
1130
+ const fresh = new CoreNode(stage, defaultProps());
1131
+ expect(node.clippingRect).toBe(fresh.clippingRect);
1132
+ expect(node.clippingRect.valid).toBe(false);
1133
+ });
1134
+
1135
+ it('never mutates the shared default when a sibling node clips', () => {
1136
+ const clipParent = new CoreNode(stage, defaultProps());
1137
+ clipParent.globalTransform = Matrix3d.identity();
1138
+ clipParent.worldAlpha = 1;
1139
+
1140
+ const clippingNode = new CoreNode(
1141
+ stage,
1142
+ defaultProps({ parent: clipParent }),
1143
+ );
1144
+ clippingNode.worldAlpha = 1;
1145
+ clippingNode.alpha = 1;
1146
+ clippingNode.x = 10;
1147
+ clippingNode.y = 20;
1148
+ clippingNode.w = 30;
1149
+ clippingNode.h = 40;
1150
+ clippingNode.clipping = true;
1151
+ clippingNode.update(0, { x: 0, y: 0, w: 1000, h: 1000, valid: true });
1152
+
1153
+ // A separate non-clipping node must still see a pristine invalid default.
1154
+ const plain = new CoreNode(stage, defaultProps());
1155
+ expect(plain.clippingRect.valid).toBe(false);
1156
+ expect(plain.clippingRect.x).toBe(0);
1157
+ expect(plain.clippingRect.y).toBe(0);
1158
+ expect(plain.clippingRect.w).toBe(0);
1159
+ expect(plain.clippingRect.h).toBe(0);
1160
+ });
1161
+
1162
+ it('allocates its own rect to inherit a valid ancestor clip rect', () => {
1163
+ const parent = new CoreNode(stage, defaultProps());
1164
+ parent.globalTransform = Matrix3d.identity();
1165
+ parent.worldAlpha = 1;
1166
+
1167
+ const node = new CoreNode(stage, defaultProps({ parent }));
1168
+ node.alpha = 1;
1169
+ node.setUpdateType(UpdateType.Clipping);
1170
+
1171
+ const fresh = new CoreNode(stage, defaultProps());
1172
+ node.update(0, { x: 5, y: 6, w: 20, h: 30, valid: true });
1173
+
1174
+ // Now owns a private rect carrying the parent's clip values.
1175
+ expect(node.clippingRect).not.toBe(fresh.clippingRect);
1176
+ expect(node.clippingRect.valid).toBe(true);
1177
+ expect(node.clippingRect.x).toBe(5);
1178
+ expect(node.clippingRect.y).toBe(6);
1179
+ expect(node.clippingRect.w).toBe(20);
1180
+ expect(node.clippingRect.h).toBe(30);
1181
+ });
1116
1182
  });
1117
1183
  });
@@ -808,13 +808,14 @@ export class CoreNode extends EventEmitter {
808
808
  public renderBound?: Bound;
809
809
  public strictBound?: Bound;
810
810
  public preloadBound?: Bound;
811
- public clippingRect: RectWithValid = {
812
- x: 0,
813
- y: 0,
814
- w: 0,
815
- h: 0,
816
- valid: false,
817
- };
811
+ /**
812
+ * Points at the shared `NO_CLIPPING_RECT` until this node actually
813
+ * participates in clipping (either it clips, or an ancestor's clip rect
814
+ * propagates down). Clipping is rare across the scene graph, so most nodes
815
+ * never allocate their own rect — `calculateClippingRect` swaps in a private
816
+ * object lazily the first time one is needed.
817
+ */
818
+ public clippingRect: RectWithValid = NO_CLIPPING_RECT;
818
819
  public textureCoords?: TextureCoords;
819
820
  public updateShaderUniforms: boolean = false;
820
821
  public isRenderable = false;
@@ -1933,11 +1934,33 @@ export class CoreNode extends EventEmitter {
1933
1934
  * Finally, the node's parentClippingRect and clippingRect properties are updated.
1934
1935
  */
1935
1936
  calculateClippingRect(parentClippingRect: RectWithValid) {
1936
- const { clippingRect, props, globalTransform: gt } = this;
1937
+ const { props, globalTransform: gt } = this;
1937
1938
  const { clipping } = props;
1938
1939
  const isRotated = gt!.tb !== 0 || gt!.tc !== 0;
1940
+ const nodeClips = clipping !== false && isRotated === false;
1941
+
1942
+ // Common case: this node doesn't clip and no ancestor clip rect needs to
1943
+ // propagate. No node-owned rect is required, so point at the shared
1944
+ // invalid default and skip the allocation entirely.
1945
+ if (nodeClips === false && parentClippingRect.valid === false) {
1946
+ this.clippingRect = NO_CLIPPING_RECT;
1947
+ return;
1948
+ }
1949
+
1950
+ // A node-owned, mutable rect is needed. Allocate one lazily the first time
1951
+ // (the default shares NO_CLIPPING_RECT, which must never be written to).
1952
+ let clippingRect = this.clippingRect;
1953
+ if (clippingRect === NO_CLIPPING_RECT) {
1954
+ clippingRect = this.clippingRect = {
1955
+ x: 0,
1956
+ y: 0,
1957
+ w: 0,
1958
+ h: 0,
1959
+ valid: false,
1960
+ };
1961
+ }
1939
1962
 
1940
- if (clipping !== false && isRotated === false) {
1963
+ if (nodeClips === true) {
1941
1964
  let mT = 0;
1942
1965
  let mR = 0;
1943
1966
  let mB = 0;
@@ -0,0 +1,145 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { mock } from 'vitest-mock-extended';
3
+ import { CoreTextNode, type CoreTextNodeProps } from './CoreTextNode.js';
4
+ import { Stage } from './Stage.js';
5
+ import { CoreRenderer } from './renderers/CoreRenderer.js';
6
+ import { createBound } from './lib/utils.js';
7
+ import type {
8
+ FontHandler,
9
+ TextRenderer,
10
+ TextRenderInfo,
11
+ } from './text-rendering/TextRenderer.js';
12
+ import type { Texture } from './textures/Texture.js';
13
+
14
+ const defaultProps = (
15
+ overrides?: Partial<CoreTextNodeProps>,
16
+ ): CoreTextNodeProps => ({
17
+ // CoreNodeProps
18
+ alpha: 1,
19
+ autosize: false,
20
+ boundsMargin: null,
21
+ clipping: false,
22
+ color: 0xffffffff,
23
+ colorBl: 0xffffffff,
24
+ colorBottom: 0xffffffff,
25
+ colorBr: 0xffffffff,
26
+ colorLeft: 0xffffffff,
27
+ colorRight: 0xffffffff,
28
+ colorTl: 0xffffffff,
29
+ colorTop: 0xffffffff,
30
+ colorTr: 0xffffffff,
31
+ h: 0,
32
+ mount: 0,
33
+ mountX: 0,
34
+ mountY: 0,
35
+ parent: null,
36
+ pivot: 0,
37
+ pivotX: 0,
38
+ pivotY: 0,
39
+ rotation: 0,
40
+ rtt: false,
41
+ scale: 1,
42
+ scaleX: 1,
43
+ scaleY: 1,
44
+ shader: null,
45
+ src: '',
46
+ texture: null,
47
+ textureOptions: {} as never,
48
+ w: 0,
49
+ x: 0,
50
+ y: 0,
51
+ zIndex: 0,
52
+ preventDestroy: false,
53
+ // TrProps
54
+ text: '',
55
+ textAlign: 'left',
56
+ fontFamily: 'Ubuntu',
57
+ fontStyle: 'normal',
58
+ fontSize: 100,
59
+ maxWidth: 0,
60
+ maxHeight: 0,
61
+ offsetY: 0,
62
+ letterSpacing: 0,
63
+ lineHeight: 0,
64
+ maxLines: 0,
65
+ verticalAlign: 'top',
66
+ overflowSuffix: '...',
67
+ wordBreak: 'break-word',
68
+ contain: 'none',
69
+ // CoreTextNodeProps
70
+ textRendererOverride: null,
71
+ forceLoad: false,
72
+ ...overrides,
73
+ });
74
+
75
+ const makeStage = (texture: Texture) =>
76
+ mock<Stage>({
77
+ strictBound: createBound(0, 0, 200, 200),
78
+ preloadBound: createBound(0, 0, 200, 200),
79
+ defaultTexture: { state: 'loaded' } as never,
80
+ defShaderNode: null as never,
81
+ renderer: mock<CoreRenderer>() as CoreRenderer,
82
+ txManager: { createTexture: vi.fn(() => texture) } as never,
83
+ });
84
+
85
+ const makeCanvasRenderer = (): TextRenderer => {
86
+ const font = mock<FontHandler>({ type: 'canvas' });
87
+ return {
88
+ type: 'canvas',
89
+ font,
90
+ renderText: vi.fn(),
91
+ addQuads: vi.fn(),
92
+ renderQuads: vi.fn(),
93
+ init: vi.fn(),
94
+ } as unknown as TextRenderer;
95
+ };
96
+
97
+ const makeLoadedTexture = () =>
98
+ ({
99
+ state: 'loaded',
100
+ dimensions: { w: 100, h: 50 },
101
+ retryCount: 0,
102
+ maxRetryCount: 0,
103
+ on: vi.fn(),
104
+ off: vi.fn(),
105
+ once: vi.fn(),
106
+ setRenderableOwner: vi.fn(),
107
+ } as unknown as Texture);
108
+
109
+ describe('CoreTextNode (canvas) clearing text', () => {
110
+ it('clears the stale texture when text becomes empty', () => {
111
+ const renderer = makeCanvasRenderer();
112
+ const texture = makeLoadedTexture();
113
+ const stage = makeStage(texture);
114
+
115
+ const node = new CoreTextNode(
116
+ stage,
117
+ defaultProps({ text: 'Hello' }),
118
+ renderer,
119
+ );
120
+
121
+ // Simulate "Hello" having been rendered: canvas returns ImageData and a
122
+ // texture is created/assigned.
123
+ const helloResult: TextRenderInfo = {
124
+ imageData: {} as ImageData,
125
+ width: 100,
126
+ height: 50,
127
+ };
128
+ (
129
+ node as unknown as { handleRenderResult(r: TextRenderInfo): void }
130
+ ).handleRenderResult(helloResult);
131
+
132
+ expect(node.texture).toBe(texture);
133
+
134
+ // Now set text to empty. The canvas renderer returns no imageData.
135
+ const emptyResult: TextRenderInfo = { width: 0, height: 0 };
136
+ (
137
+ node as unknown as { handleRenderResult(r: TextRenderInfo): void }
138
+ ).handleRenderResult(emptyResult);
139
+
140
+ // The previously-rendered texture must be cleared so the old text does not
141
+ // linger and get re-marked renderable by CoreNode.updateIsRenderable.
142
+ expect(node.texture).toBe(null);
143
+ expect(node.isRenderable).toBe(false);
144
+ });
145
+ });
@@ -245,8 +245,10 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
245
245
  // Handle Canvas renderer (uses ImageData)
246
246
  if (textRendererType === 'canvas') {
247
247
  if (result.imageData === undefined) {
248
- // Empty text returns no imageData — mark not renderable and continue
248
+ // Empty text returns no imageData — clear the stale texture so the
249
+ // previous text doesn't linger, then mark not renderable and continue
249
250
  // to update dimensions (w=0, h=0) rather than emitting a failure.
251
+ this.texture = null;
250
252
  this.setRenderable(false);
251
253
  } else {
252
254
  this.texture = this.stage.txManager.createTexture('ImageTexture', {