Compare commits
	
		
			No commits in common. "6fc02a1f3e5f326a520d0dfd71d77d5784272650" and "773abb4d36cd27499c32d62768f55783f56ab1ae" have entirely different histories.
		
	
	
		
			6fc02a1f3e
			...
			773abb4d36
		
	
		
							
								
								
									
										585
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										585
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -6,10 +6,8 @@
 | 
				
			|||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@observablehq/framework": "^1.13.0",
 | 
					        "@observablehq/framework": "^1.13.0",
 | 
				
			||||||
        "d3": "^7.9.0",
 | 
					 | 
				
			||||||
        "d3-dsv": "^3.0.1",
 | 
					        "d3-dsv": "^3.0.1",
 | 
				
			||||||
        "d3-time-format": "^4.1.0",
 | 
					        "d3-time-format": "^4.1.0"
 | 
				
			||||||
        "jsdom": "^26.0.0"
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "devDependencies": {
 | 
					      "devDependencies": {
 | 
				
			||||||
        "rimraf": "^5.0.5"
 | 
					        "rimraf": "^5.0.5"
 | 
				
			||||||
@ -18,26 +16,6 @@
 | 
				
			|||||||
        "node": ">=18"
 | 
					        "node": ">=18"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@asamuzakjp/css-color": {
 | 
					 | 
				
			||||||
      "version": "2.8.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-2.8.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-RtWv9jFN2/bLExuZgFFZ0I3pWWeezAHGgrmjqGGWclATl1aDe3yhCUaI0Ilkp6OCk9zX7+FjvDasEX8Q9Rxc5w==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "@csstools/css-calc": "^2.1.1",
 | 
					 | 
				
			||||||
        "@csstools/css-color-parser": "^3.0.7",
 | 
					 | 
				
			||||||
        "@csstools/css-parser-algorithms": "^3.0.4",
 | 
					 | 
				
			||||||
        "@csstools/css-tokenizer": "^3.0.3",
 | 
					 | 
				
			||||||
        "lru-cache": "^11.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
 | 
					 | 
				
			||||||
      "version": "11.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": "20 || >=22"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@asamuzakjp/dom-selector": {
 | 
					    "node_modules/@asamuzakjp/dom-selector": {
 | 
				
			||||||
      "version": "2.0.2",
 | 
					      "version": "2.0.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz",
 | 
				
			||||||
@ -82,111 +60,6 @@
 | 
				
			|||||||
        "url": "https://github.com/sponsors/sindresorhus"
 | 
					        "url": "https://github.com/sponsors/sindresorhus"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@csstools/color-helpers": {
 | 
					 | 
				
			||||||
      "version": "5.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==",
 | 
					 | 
				
			||||||
      "funding": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "github",
 | 
					 | 
				
			||||||
          "url": "https://github.com/sponsors/csstools"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "opencollective",
 | 
					 | 
				
			||||||
          "url": "https://opencollective.com/csstools"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@csstools/css-calc": {
 | 
					 | 
				
			||||||
      "version": "2.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==",
 | 
					 | 
				
			||||||
      "funding": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "github",
 | 
					 | 
				
			||||||
          "url": "https://github.com/sponsors/csstools"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "opencollective",
 | 
					 | 
				
			||||||
          "url": "https://opencollective.com/csstools"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependencies": {
 | 
					 | 
				
			||||||
        "@csstools/css-parser-algorithms": "^3.0.4",
 | 
					 | 
				
			||||||
        "@csstools/css-tokenizer": "^3.0.3"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@csstools/css-color-parser": {
 | 
					 | 
				
			||||||
      "version": "3.0.7",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==",
 | 
					 | 
				
			||||||
      "funding": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "github",
 | 
					 | 
				
			||||||
          "url": "https://github.com/sponsors/csstools"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "opencollective",
 | 
					 | 
				
			||||||
          "url": "https://opencollective.com/csstools"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "@csstools/color-helpers": "^5.0.1",
 | 
					 | 
				
			||||||
        "@csstools/css-calc": "^2.1.1"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependencies": {
 | 
					 | 
				
			||||||
        "@csstools/css-parser-algorithms": "^3.0.4",
 | 
					 | 
				
			||||||
        "@csstools/css-tokenizer": "^3.0.3"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@csstools/css-parser-algorithms": {
 | 
					 | 
				
			||||||
      "version": "3.0.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==",
 | 
					 | 
				
			||||||
      "funding": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "github",
 | 
					 | 
				
			||||||
          "url": "https://github.com/sponsors/csstools"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "opencollective",
 | 
					 | 
				
			||||||
          "url": "https://opencollective.com/csstools"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependencies": {
 | 
					 | 
				
			||||||
        "@csstools/css-tokenizer": "^3.0.3"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@csstools/css-tokenizer": {
 | 
					 | 
				
			||||||
      "version": "3.0.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==",
 | 
					 | 
				
			||||||
      "funding": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "github",
 | 
					 | 
				
			||||||
          "url": "https://github.com/sponsors/csstools"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "type": "opencollective",
 | 
					 | 
				
			||||||
          "url": "https://opencollective.com/csstools"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@esbuild/aix-ppc64": {
 | 
					    "node_modules/@esbuild/aix-ppc64": {
 | 
				
			||||||
      "version": "0.20.2",
 | 
					      "version": "0.20.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
 | 
				
			||||||
@ -641,64 +514,6 @@
 | 
				
			|||||||
        "node": ">=18"
 | 
					        "node": ">=18"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/@observablehq/framework/node_modules/jsdom": {
 | 
					 | 
				
			||||||
      "version": "23.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "@asamuzakjp/dom-selector": "^2.0.1",
 | 
					 | 
				
			||||||
        "cssstyle": "^4.0.1",
 | 
					 | 
				
			||||||
        "data-urls": "^5.0.0",
 | 
					 | 
				
			||||||
        "decimal.js": "^10.4.3",
 | 
					 | 
				
			||||||
        "form-data": "^4.0.0",
 | 
					 | 
				
			||||||
        "html-encoding-sniffer": "^4.0.0",
 | 
					 | 
				
			||||||
        "http-proxy-agent": "^7.0.0",
 | 
					 | 
				
			||||||
        "https-proxy-agent": "^7.0.2",
 | 
					 | 
				
			||||||
        "is-potential-custom-element-name": "^1.0.1",
 | 
					 | 
				
			||||||
        "parse5": "^7.1.2",
 | 
					 | 
				
			||||||
        "rrweb-cssom": "^0.6.0",
 | 
					 | 
				
			||||||
        "saxes": "^6.0.0",
 | 
					 | 
				
			||||||
        "symbol-tree": "^3.2.4",
 | 
					 | 
				
			||||||
        "tough-cookie": "^4.1.3",
 | 
					 | 
				
			||||||
        "w3c-xmlserializer": "^5.0.0",
 | 
					 | 
				
			||||||
        "webidl-conversions": "^7.0.0",
 | 
					 | 
				
			||||||
        "whatwg-encoding": "^3.1.1",
 | 
					 | 
				
			||||||
        "whatwg-mimetype": "^4.0.0",
 | 
					 | 
				
			||||||
        "whatwg-url": "^14.0.0",
 | 
					 | 
				
			||||||
        "ws": "^8.16.0",
 | 
					 | 
				
			||||||
        "xml-name-validator": "^5.0.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=18"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependencies": {
 | 
					 | 
				
			||||||
        "canvas": "^2.11.2"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependenciesMeta": {
 | 
					 | 
				
			||||||
        "canvas": {
 | 
					 | 
				
			||||||
          "optional": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@observablehq/framework/node_modules/rrweb-cssom": {
 | 
					 | 
				
			||||||
      "version": "0.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@observablehq/framework/node_modules/tough-cookie": {
 | 
					 | 
				
			||||||
      "version": "4.1.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "psl": "^1.1.33",
 | 
					 | 
				
			||||||
        "punycode": "^2.1.1",
 | 
					 | 
				
			||||||
        "universalify": "^0.2.0",
 | 
					 | 
				
			||||||
        "url-parse": "^1.5.3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=6"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/@observablehq/inputs": {
 | 
					    "node_modules/@observablehq/inputs": {
 | 
				
			||||||
      "version": "0.12.0",
 | 
					      "version": "0.12.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@observablehq/inputs/-/inputs-0.12.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@observablehq/inputs/-/inputs-0.12.0.tgz",
 | 
				
			||||||
@ -1359,56 +1174,20 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/cssstyle": {
 | 
					    "node_modules/cssstyle": {
 | 
				
			||||||
      "version": "4.2.1",
 | 
					      "version": "4.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.2.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==",
 | 
					      "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@asamuzakjp/css-color": "^2.8.2",
 | 
					        "rrweb-cssom": "^0.7.1"
 | 
				
			||||||
        "rrweb-cssom": "^0.8.0"
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": ">=18"
 | 
					        "node": ">=18"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3": {
 | 
					    "node_modules/cssstyle/node_modules/rrweb-cssom": {
 | 
				
			||||||
      "version": "7.9.0",
 | 
					      "version": "0.7.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
 | 
					      "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg=="
 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-array": "3",
 | 
					 | 
				
			||||||
        "d3-axis": "3",
 | 
					 | 
				
			||||||
        "d3-brush": "3",
 | 
					 | 
				
			||||||
        "d3-chord": "3",
 | 
					 | 
				
			||||||
        "d3-color": "3",
 | 
					 | 
				
			||||||
        "d3-contour": "4",
 | 
					 | 
				
			||||||
        "d3-delaunay": "6",
 | 
					 | 
				
			||||||
        "d3-dispatch": "3",
 | 
					 | 
				
			||||||
        "d3-drag": "3",
 | 
					 | 
				
			||||||
        "d3-dsv": "3",
 | 
					 | 
				
			||||||
        "d3-ease": "3",
 | 
					 | 
				
			||||||
        "d3-fetch": "3",
 | 
					 | 
				
			||||||
        "d3-force": "3",
 | 
					 | 
				
			||||||
        "d3-format": "3",
 | 
					 | 
				
			||||||
        "d3-geo": "3",
 | 
					 | 
				
			||||||
        "d3-hierarchy": "3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "3",
 | 
					 | 
				
			||||||
        "d3-path": "3",
 | 
					 | 
				
			||||||
        "d3-polygon": "3",
 | 
					 | 
				
			||||||
        "d3-quadtree": "3",
 | 
					 | 
				
			||||||
        "d3-random": "3",
 | 
					 | 
				
			||||||
        "d3-scale": "4",
 | 
					 | 
				
			||||||
        "d3-scale-chromatic": "3",
 | 
					 | 
				
			||||||
        "d3-selection": "3",
 | 
					 | 
				
			||||||
        "d3-shape": "3",
 | 
					 | 
				
			||||||
        "d3-time": "3",
 | 
					 | 
				
			||||||
        "d3-time-format": "4",
 | 
					 | 
				
			||||||
        "d3-timer": "3",
 | 
					 | 
				
			||||||
        "d3-transition": "3",
 | 
					 | 
				
			||||||
        "d3-zoom": "3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3-array": {
 | 
					    "node_modules/d3-array": {
 | 
				
			||||||
      "version": "3.2.4",
 | 
					      "version": "3.2.4",
 | 
				
			||||||
@ -1421,90 +1200,6 @@
 | 
				
			|||||||
        "node": ">=12"
 | 
					        "node": ">=12"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3-axis": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-brush": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-dispatch": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-drag": "2 - 3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-selection": "3",
 | 
					 | 
				
			||||||
        "d3-transition": "3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-chord": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-path": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-color": {
 | 
					 | 
				
			||||||
      "version": "3.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-contour": {
 | 
					 | 
				
			||||||
      "version": "4.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-array": "^3.2.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-delaunay": {
 | 
					 | 
				
			||||||
      "version": "6.0.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "delaunator": "5"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-dispatch": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-drag": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-dispatch": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-selection": "3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-dsv": {
 | 
					    "node_modules/d3-dsv": {
 | 
				
			||||||
      "version": "3.0.1",
 | 
					      "version": "3.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
 | 
				
			||||||
@ -1529,57 +1224,6 @@
 | 
				
			|||||||
        "node": ">=12"
 | 
					        "node": ">=12"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3-ease": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-fetch": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-dsv": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-force": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-dispatch": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-quadtree": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-timer": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-format": {
 | 
					 | 
				
			||||||
      "version": "3.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-geo": {
 | 
					 | 
				
			||||||
      "version": "3.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-array": "2.5.0 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-hierarchy": {
 | 
					    "node_modules/d3-hierarchy": {
 | 
				
			||||||
      "version": "3.1.2",
 | 
					      "version": "3.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
 | 
				
			||||||
@ -1588,95 +1232,6 @@
 | 
				
			|||||||
        "node": ">=12"
 | 
					        "node": ">=12"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3-interpolate": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-color": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-path": {
 | 
					 | 
				
			||||||
      "version": "3.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-polygon": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-quadtree": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-random": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-scale": {
 | 
					 | 
				
			||||||
      "version": "4.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-array": "2.10.0 - 3",
 | 
					 | 
				
			||||||
        "d3-format": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "1.2.0 - 3",
 | 
					 | 
				
			||||||
        "d3-time": "2.1.1 - 3",
 | 
					 | 
				
			||||||
        "d3-time-format": "2 - 4"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-scale-chromatic": {
 | 
					 | 
				
			||||||
      "version": "3.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-color": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-selection": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-shape": {
 | 
					 | 
				
			||||||
      "version": "3.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-path": "^3.1.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-time": {
 | 
					    "node_modules/d3-time": {
 | 
				
			||||||
      "version": "3.1.0",
 | 
					      "version": "3.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
 | 
				
			||||||
@ -1699,47 +1254,6 @@
 | 
				
			|||||||
        "node": ">=12"
 | 
					        "node": ">=12"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/d3-timer": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-transition": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-color": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-dispatch": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-ease": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-timer": "1 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "peerDependencies": {
 | 
					 | 
				
			||||||
        "d3-selection": "2 - 3"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/d3-zoom": {
 | 
					 | 
				
			||||||
      "version": "3.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "d3-dispatch": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-drag": "2 - 3",
 | 
					 | 
				
			||||||
        "d3-interpolate": "1 - 3",
 | 
					 | 
				
			||||||
        "d3-selection": "2 - 3",
 | 
					 | 
				
			||||||
        "d3-transition": "2 - 3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=12"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/data-urls": {
 | 
					    "node_modules/data-urls": {
 | 
				
			||||||
      "version": "5.0.0",
 | 
					      "version": "5.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
 | 
				
			||||||
@ -1818,14 +1332,6 @@
 | 
				
			|||||||
        "url": "https://github.com/sponsors/sindresorhus"
 | 
					        "url": "https://github.com/sponsors/sindresorhus"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/delaunator": {
 | 
					 | 
				
			||||||
      "version": "5.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "robust-predicates": "^3.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/delayed-stream": {
 | 
					    "node_modules/delayed-stream": {
 | 
				
			||||||
      "version": "1.0.0",
 | 
					      "version": "1.0.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
				
			||||||
@ -2403,37 +1909,37 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/jsdom": {
 | 
					    "node_modules/jsdom": {
 | 
				
			||||||
      "version": "26.0.0",
 | 
					      "version": "23.2.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.0.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==",
 | 
					      "integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "cssstyle": "^4.2.1",
 | 
					        "@asamuzakjp/dom-selector": "^2.0.1",
 | 
				
			||||||
 | 
					        "cssstyle": "^4.0.1",
 | 
				
			||||||
        "data-urls": "^5.0.0",
 | 
					        "data-urls": "^5.0.0",
 | 
				
			||||||
        "decimal.js": "^10.4.3",
 | 
					        "decimal.js": "^10.4.3",
 | 
				
			||||||
        "form-data": "^4.0.1",
 | 
					        "form-data": "^4.0.0",
 | 
				
			||||||
        "html-encoding-sniffer": "^4.0.0",
 | 
					        "html-encoding-sniffer": "^4.0.0",
 | 
				
			||||||
        "http-proxy-agent": "^7.0.2",
 | 
					        "http-proxy-agent": "^7.0.0",
 | 
				
			||||||
        "https-proxy-agent": "^7.0.6",
 | 
					        "https-proxy-agent": "^7.0.2",
 | 
				
			||||||
        "is-potential-custom-element-name": "^1.0.1",
 | 
					        "is-potential-custom-element-name": "^1.0.1",
 | 
				
			||||||
        "nwsapi": "^2.2.16",
 | 
					        "parse5": "^7.1.2",
 | 
				
			||||||
        "parse5": "^7.2.1",
 | 
					        "rrweb-cssom": "^0.6.0",
 | 
				
			||||||
        "rrweb-cssom": "^0.8.0",
 | 
					 | 
				
			||||||
        "saxes": "^6.0.0",
 | 
					        "saxes": "^6.0.0",
 | 
				
			||||||
        "symbol-tree": "^3.2.4",
 | 
					        "symbol-tree": "^3.2.4",
 | 
				
			||||||
        "tough-cookie": "^5.0.0",
 | 
					        "tough-cookie": "^4.1.3",
 | 
				
			||||||
        "w3c-xmlserializer": "^5.0.0",
 | 
					        "w3c-xmlserializer": "^5.0.0",
 | 
				
			||||||
        "webidl-conversions": "^7.0.0",
 | 
					        "webidl-conversions": "^7.0.0",
 | 
				
			||||||
        "whatwg-encoding": "^3.1.1",
 | 
					        "whatwg-encoding": "^3.1.1",
 | 
				
			||||||
        "whatwg-mimetype": "^4.0.0",
 | 
					        "whatwg-mimetype": "^4.0.0",
 | 
				
			||||||
        "whatwg-url": "^14.1.0",
 | 
					        "whatwg-url": "^14.0.0",
 | 
				
			||||||
        "ws": "^8.18.0",
 | 
					        "ws": "^8.16.0",
 | 
				
			||||||
        "xml-name-validator": "^5.0.0"
 | 
					        "xml-name-validator": "^5.0.0"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": ">=18"
 | 
					        "node": ">=18"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "peerDependencies": {
 | 
					      "peerDependencies": {
 | 
				
			||||||
        "canvas": "^3.0.0"
 | 
					        "canvas": "^2.11.2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "peerDependenciesMeta": {
 | 
					      "peerDependenciesMeta": {
 | 
				
			||||||
        "canvas": {
 | 
					        "canvas": {
 | 
				
			||||||
@ -2628,11 +2134,6 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
 | 
					      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/nwsapi": {
 | 
					 | 
				
			||||||
      "version": "2.2.16",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.16.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/on-finished": {
 | 
					    "node_modules/on-finished": {
 | 
				
			||||||
      "version": "2.4.1",
 | 
					      "version": "2.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
 | 
				
			||||||
@ -2875,11 +2376,6 @@
 | 
				
			|||||||
        "url": "https://github.com/sponsors/isaacs"
 | 
					        "url": "https://github.com/sponsors/isaacs"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/robust-predicates": {
 | 
					 | 
				
			||||||
      "version": "3.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/rollup": {
 | 
					    "node_modules/rollup": {
 | 
				
			||||||
      "version": "4.29.1",
 | 
					      "version": "4.29.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz",
 | 
				
			||||||
@ -2936,9 +2432,9 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/rrweb-cssom": {
 | 
					    "node_modules/rrweb-cssom": {
 | 
				
			||||||
      "version": "0.8.0",
 | 
					      "version": "0.6.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw=="
 | 
					      "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/run-applescript": {
 | 
					    "node_modules/run-applescript": {
 | 
				
			||||||
      "version": "7.0.0",
 | 
					      "version": "7.0.0",
 | 
				
			||||||
@ -3288,22 +2784,6 @@
 | 
				
			|||||||
        "b4a": "^1.6.4"
 | 
					        "b4a": "^1.6.4"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/tldts": {
 | 
					 | 
				
			||||||
      "version": "6.1.71",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.71.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-LQIHmHnuzfZgZWAf2HzL83TIIrD8NhhI0DVxqo9/FdOd4ilec+NTNZOlDZf7EwrTNoutccbsHjvWHYXLAtvxjw==",
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "tldts-core": "^6.1.71"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "bin": {
 | 
					 | 
				
			||||||
        "tldts": "bin/cli.js"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/tldts-core": {
 | 
					 | 
				
			||||||
      "version": "6.1.71",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.71.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-LRbChn2YRpic1KxY+ldL1pGXN/oVvKfCVufwfVzEQdFYNo39uF7AJa/WXdo+gYO7PTvdfkCPCed6Hkvz/kR7jg=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/toidentifier": {
 | 
					    "node_modules/toidentifier": {
 | 
				
			||||||
      "version": "1.0.1",
 | 
					      "version": "1.0.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
 | 
				
			||||||
@ -3313,14 +2793,17 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/tough-cookie": {
 | 
					    "node_modules/tough-cookie": {
 | 
				
			||||||
      "version": "5.1.0",
 | 
					      "version": "4.1.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==",
 | 
					      "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "tldts": "^6.1.32"
 | 
					        "psl": "^1.1.33",
 | 
				
			||||||
 | 
					        "punycode": "^2.1.1",
 | 
				
			||||||
 | 
					        "universalify": "^0.2.0",
 | 
				
			||||||
 | 
					        "url-parse": "^1.5.3"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "engines": {
 | 
					      "engines": {
 | 
				
			||||||
        "node": ">=16"
 | 
					        "node": ">=6"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/tr46": {
 | 
					    "node_modules/tr46": {
 | 
				
			||||||
 | 
				
			|||||||
@ -10,10 +10,8 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@observablehq/framework": "^1.13.0",
 | 
					    "@observablehq/framework": "^1.13.0",
 | 
				
			||||||
    "d3": "^7.9.0",
 | 
					 | 
				
			||||||
    "d3-dsv": "^3.0.1",
 | 
					    "d3-dsv": "^3.0.1",
 | 
				
			||||||
    "d3-time-format": "^4.1.0",
 | 
					    "d3-time-format": "^4.1.0"
 | 
				
			||||||
    "jsdom": "^26.0.0"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "rimraf": "^5.0.5"
 | 
					    "rimraf": "^5.0.5"
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										96
									
								
								poptimal.js
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								poptimal.js
									
									
									
									
									
								
							@ -1,96 +0,0 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import jsdom from "jsdom";
 | 
					 | 
				
			||||||
import * as d3 from "d3";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const { JSDOM } = jsdom;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const xmlns = "http://www.w3.org/2000/xmlns/";
 | 
					 | 
				
			||||||
const xlinkns = "http://www.w3.org/1999/xlink";
 | 
					 | 
				
			||||||
const svgns = "http://www.w3.org/2000/svg";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const window = new JSDOM().window;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const document = window.document;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import {RADIUS_OPTS, DotMaker} from './src/components/dots.js';
 | 
					 | 
				
			||||||
//import {PALETTES, DotControls} from './src/components/controls.js';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const CELL = 10;
 | 
					 | 
				
			||||||
const MAG = 2;
 | 
					 | 
				
			||||||
const WIDTH = 20;
 | 
					 | 
				
			||||||
const HEIGHT = WIDTH;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function poptimal() {
 | 
					 | 
				
			||||||
	const container = d3.select(document.body).append("div");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const dm = new DotMaker(WIDTH);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const m1 = 2;
 | 
					 | 
				
			||||||
	const m2 = 3;
 | 
					 | 
				
			||||||
	const n1 = 4;
 | 
					 | 
				
			||||||
	const n2 = 5;
 | 
					 | 
				
			||||||
	const bg = "#ffffff";
 | 
					 | 
				
			||||||
	const fg1 = "#ff0000";
 | 
					 | 
				
			||||||
	const fg2 = "#000000";
 | 
					 | 
				
			||||||
	const f1 = "in";
 | 
					 | 
				
			||||||
	const f2 = "noise";
 | 
					 | 
				
			||||||
	const r1 = 0.5;
 | 
					 | 
				
			||||||
	const r2 = 0.19;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const dots1 = dm.dots(1 / m1, n1);
 | 
					 | 
				
			||||||
	const dots2 = dm.dots(1 / m2, n2);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const svg = container.append("svg")
 | 
					 | 
				
			||||||
	  .attr("width", WIDTH * CELL * MAG)
 | 
					 | 
				
			||||||
	  .attr("height", HEIGHT * CELL * MAG)
 | 
					 | 
				
			||||||
	  .attr("viewBox", [ 0, 0, WIDTH, HEIGHT ]);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const background = svg.append("rect")
 | 
					 | 
				
			||||||
	  .attr("x", 0)
 | 
					 | 
				
			||||||
	  .attr("y", 0)
 | 
					 | 
				
			||||||
	  .attr("width", WIDTH)
 | 
					 | 
				
			||||||
	  .attr("height", WIDTH)
 | 
					 | 
				
			||||||
	  .attr("fill", bg);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const dots_g1 = svg.append("g")
 | 
					 | 
				
			||||||
	  .attr("id", "dots1");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dots_g1.selectAll("circle")
 | 
					 | 
				
			||||||
	  .data(dots1)
 | 
					 | 
				
			||||||
	  .join("circle")
 | 
					 | 
				
			||||||
	  .attr("r", (d) => dm.radius(d, f1, r1))
 | 
					 | 
				
			||||||
	  .attr("fill", fg1)
 | 
					 | 
				
			||||||
	  .attr("cx", (d) => d.x)
 | 
					 | 
				
			||||||
	  .attr("cy", (d) => d.y);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const dots_g2 = svg.append("g")
 | 
					 | 
				
			||||||
	  .attr("id", "dots2");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	dots_g2.selectAll("circle")
 | 
					 | 
				
			||||||
	  .data(dots2)
 | 
					 | 
				
			||||||
	  .join("circle")
 | 
					 | 
				
			||||||
	  .attr("r", (d) => dm.radius(d, f2, r2))
 | 
					 | 
				
			||||||
	  .attr("fill", fg2)
 | 
					 | 
				
			||||||
	  .attr("cx", (d) => d.x)
 | 
					 | 
				
			||||||
	  .attr("cy", (d) => d.y);
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
	const node = svg.node();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  	node.setAttributeNS(xmlns, "xmlns", svgns);
 | 
					 | 
				
			||||||
  	node.setAttributeNS(xmlns, "xmlns:xlink", xlinkns);
 | 
					 | 
				
			||||||
  	const serializer = new window.XMLSerializer;
 | 
					 | 
				
			||||||
  	console.log(serializer.serializeToString(node));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//	console.log(download_as_svg(svg));
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
poptimal();
 | 
					 | 
				
			||||||
@ -61,6 +61,7 @@ export function svg_to_string(svg) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function download_as_svg(svg) {
 | 
					export function download_as_svg(svg) {
 | 
				
			||||||
 | 
					  console.log("HEY download_as_svg");
 | 
				
			||||||
  const str = svg_to_string(svg);
 | 
					  const str = svg_to_string(svg);
 | 
				
			||||||
  return new Blob([str], {type: "image/svg+xml"})
 | 
					  return new Blob([str], {type: "image/svg+xml"})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user