masterDotfile.svg 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <svg
  3. xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:cc="http://creativecommons.org/ns#"
  6. xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  7. xmlns:svg="http://www.w3.org/2000/svg"
  8. xmlns="http://www.w3.org/2000/svg"
  9. xmlns:xlink="http://www.w3.org/1999/xlink"
  10. xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  11. xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  12. width="2in"
  13. height="2in"
  14. viewBox="0 0 50.800001 50.800001"
  15. version="1.1"
  16. id="svg8"
  17. inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  18. sodipodi:docname="masterDotfile.svg"
  19. inkscape:export-filename="C:\Users\bad-p\Desktop\Work Folder\VS CODE\Qwixx\frontend\inkScape\sectionDecoration\dot-size6.png"
  20. inkscape:export-xdpi="96"
  21. inkscape:export-ydpi="96">
  22. <defs
  23. id="defs2">
  24. <linearGradient
  25. id="linearGradient2854"
  26. osb:paint="solid">
  27. <stop
  28. style="stop-color:#000000;stop-opacity:1;"
  29. offset="0"
  30. id="stop2852" />
  31. </linearGradient>
  32. <meshgradient
  33. inkscape:collect="always"
  34. id="meshgradient948"
  35. gradientUnits="userSpaceOnUse"
  36. x="2.6928208"
  37. y="3.3542788"
  38. gradientTransform="matrix(5.0799993,0,0,5.0799993,15.387687,11.682043)">
  39. <meshrow
  40. id="meshrow950">
  41. <meshpatch
  42. id="meshpatch952">
  43. <stop
  44. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  45. style="stop-color:#ffffff;stop-opacity:1"
  46. id="stop954" />
  47. <stop
  48. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  49. style="stop-color:#800080;stop-opacity:1"
  50. id="stop956" />
  51. <stop
  52. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  53. style="stop-color:#ffffff;stop-opacity:1"
  54. id="stop958" />
  55. <stop
  56. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  57. style="stop-color:#800080;stop-opacity:1"
  58. id="stop960" />
  59. </meshpatch>
  60. </meshrow>
  61. </meshgradient>
  62. <meshgradient
  63. inkscape:collect="always"
  64. id="meshgradient1001"
  65. gradientUnits="userSpaceOnUse"
  66. x="7.0867939"
  67. y="3.4251497"
  68. gradientTransform="matrix(5.0799993,0,0,5.0799993,-19.557996,-0.74083224)">
  69. <meshrow
  70. id="meshrow1003">
  71. <meshpatch
  72. id="meshpatch1005">
  73. <stop
  74. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  75. style="stop-color:#ffffff;stop-opacity:1"
  76. id="stop1007" />
  77. <stop
  78. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  79. style="stop-color:#800080;stop-opacity:1"
  80. id="stop1009" />
  81. <stop
  82. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  83. style="stop-color:#ffffff;stop-opacity:1"
  84. id="stop1011" />
  85. <stop
  86. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  87. style="stop-color:#800080;stop-opacity:1"
  88. id="stop1013" />
  89. </meshpatch>
  90. </meshrow>
  91. </meshgradient>
  92. <meshgradient
  93. inkscape:collect="always"
  94. id="meshgradient896"
  95. gradientUnits="userSpaceOnUse"
  96. x="1.8896213"
  97. y="2.1022332"
  98. gradientTransform="matrix(5.0799993,0,0,5.0799993,7.5636816,17.956325)">
  99. <meshrow
  100. id="meshrow898">
  101. <meshpatch
  102. id="meshpatch900">
  103. <stop
  104. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  105. style="stop-color:#ffffff;stop-opacity:1"
  106. id="stop902" />
  107. <stop
  108. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  109. style="stop-color:#800080;stop-opacity:1"
  110. id="stop904" />
  111. <stop
  112. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  113. style="stop-color:#ffffff;stop-opacity:1"
  114. id="stop906" />
  115. <stop
  116. path="c -0.248035,-0.248035 -0.248035,-0.650178 -2.22045e-16,-0.898213"
  117. style="stop-color:#800080;stop-opacity:1"
  118. id="stop908" />
  119. </meshpatch>
  120. </meshrow>
  121. </meshgradient>
  122. <meshgradient
  123. inkscape:collect="always"
  124. id="meshgradient2858"
  125. gradientUnits="userSpaceOnUse"
  126. x="3.5196438"
  127. y="0.87381029"
  128. gradientTransform="matrix(5.0799993,0,0,5.0799993,11.685268,12.192422)">
  129. <meshrow
  130. id="meshrow2860">
  131. <meshpatch
  132. id="meshpatch2862">
  133. <stop
  134. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  135. style="stop-color:#ffffff;stop-opacity:1"
  136. id="stop2864" />
  137. <stop
  138. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  139. style="stop-color:#800080;stop-opacity:1"
  140. id="stop2866" />
  141. <stop
  142. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  143. style="stop-color:#ffffff;stop-opacity:1"
  144. id="stop2868" />
  145. <stop
  146. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  147. style="stop-color:#800080;stop-opacity:1"
  148. id="stop2870" />
  149. </meshpatch>
  150. </meshrow>
  151. </meshgradient>
  152. <meshgradient
  153. inkscape:collect="always"
  154. id="meshgradient915"
  155. gradientUnits="userSpaceOnUse"
  156. x="7.6065111"
  157. y="2.7636912"
  158. gradientTransform="matrix(5.0799993,0,0,5.0799993,-15.621753,8.7397546)">
  159. <meshrow
  160. id="meshrow917">
  161. <meshpatch
  162. id="meshpatch919">
  163. <stop
  164. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  165. style="stop-color:#ffffff;stop-opacity:1"
  166. id="stop921" />
  167. <stop
  168. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  169. style="stop-color:#800080;stop-opacity:1"
  170. id="stop923" />
  171. <stop
  172. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  173. style="stop-color:#ffffff;stop-opacity:1"
  174. id="stop925" />
  175. <stop
  176. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  177. style="stop-color:#800080;stop-opacity:1"
  178. id="stop927" />
  179. </meshpatch>
  180. </meshrow>
  181. </meshgradient>
  182. <meshgradient
  183. inkscape:collect="always"
  184. id="meshgradient1138"
  185. gradientUnits="userSpaceOnUse"
  186. x="1.4901161e-08"
  187. y="1.4901161e-08"
  188. gradientTransform="matrix(5.0799993,0,0,5.0799993,12.7,12.7)">
  189. <meshrow
  190. id="meshrow1140">
  191. <meshpatch
  192. id="meshpatch1142">
  193. <stop
  194. path="c 1.66667,0 3.33333,0 5,0"
  195. style="stop-color:#ffffff;stop-opacity:1"
  196. id="stop1144" />
  197. <stop
  198. path="c 0,1.66667 0,3.33333 0,5"
  199. style="stop-color:#800080;stop-opacity:1"
  200. id="stop1146" />
  201. <stop
  202. path="c -1.66667,0 -3.33333,0 -5,0"
  203. style="stop-color:#ffffff;stop-opacity:1"
  204. id="stop1148" />
  205. <stop
  206. path="c 0,-1.66667 0,-3.33333 0,-5"
  207. style="stop-color:#800080;stop-opacity:1"
  208. id="stop1150" />
  209. </meshpatch>
  210. </meshrow>
  211. </meshgradient>
  212. <meshgradient
  213. inkscape:collect="always"
  214. id="meshgradient1152"
  215. gradientUnits="userSpaceOnUse"
  216. x="0.92105699"
  217. y="0.87381029"
  218. gradientTransform="matrix(5.0799993,0,0,5.0799993,12.699999,11.176422)">
  219. <meshrow
  220. id="meshrow1154">
  221. <meshpatch
  222. id="meshpatch1156">
  223. <stop
  224. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  225. style="stop-color:#ffffff;stop-opacity:1"
  226. id="stop1158" />
  227. <stop
  228. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  229. style="stop-color:#800080;stop-opacity:1"
  230. id="stop1160" />
  231. <stop
  232. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  233. style="stop-color:#ffffff;stop-opacity:1"
  234. id="stop1162" />
  235. <stop
  236. path="c -0.248035,-0.248035 -0.248035,-0.650178 -2.22045e-16,-0.898213"
  237. style="stop-color:#800080;stop-opacity:1"
  238. id="stop1164" />
  239. </meshpatch>
  240. </meshrow>
  241. </meshgradient>
  242. <meshgradient
  243. inkscape:collect="always"
  244. id="meshgradient1166"
  245. gradientUnits="userSpaceOnUse"
  246. x="0.89743388"
  247. y="2.385715"
  248. gradientTransform="matrix(5.0799993,0,0,5.0799993,12.699999,11.684906)">
  249. <meshrow
  250. id="meshrow1168">
  251. <meshpatch
  252. id="meshpatch1170">
  253. <stop
  254. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  255. style="stop-color:#ffffff;stop-opacity:1"
  256. id="stop1172" />
  257. <stop
  258. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  259. style="stop-color:#800080;stop-opacity:1"
  260. id="stop1174" />
  261. <stop
  262. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  263. style="stop-color:#ffffff;stop-opacity:1"
  264. id="stop1176" />
  265. <stop
  266. path="c -0.248035,-0.248035 -0.248035,-0.650178 -2.22045e-16,-0.898213"
  267. style="stop-color:#800080;stop-opacity:1"
  268. id="stop1178" />
  269. </meshpatch>
  270. </meshrow>
  271. </meshgradient>
  272. <meshgradient
  273. inkscape:collect="always"
  274. id="meshgradient1180"
  275. gradientUnits="userSpaceOnUse"
  276. x="0.77931619"
  277. y="3.6613851"
  278. gradientTransform="matrix(5.0799993,0,0,5.0799993,13.205851,12.189505)">
  279. <meshrow
  280. id="meshrow1182">
  281. <meshpatch
  282. id="meshpatch1184">
  283. <stop
  284. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  285. style="stop-color:#ffffff;stop-opacity:1"
  286. id="stop1186" />
  287. <stop
  288. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  289. style="stop-color:#800080;stop-opacity:1"
  290. id="stop1188" />
  291. <stop
  292. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  293. style="stop-color:#ffffff;stop-opacity:1"
  294. id="stop1190" />
  295. <stop
  296. path="c -0.248035,-0.248035 -0.248035,-0.650178 -2.22045e-16,-0.898213"
  297. style="stop-color:#800080;stop-opacity:1"
  298. id="stop1192" />
  299. </meshpatch>
  300. </meshrow>
  301. </meshgradient>
  302. <meshgradient
  303. inkscape:collect="always"
  304. id="meshgradient1194"
  305. gradientUnits="userSpaceOnUse"
  306. x="3.3070321"
  307. y="0.75569272"
  308. gradientTransform="matrix(5.0799993,0,0,5.0799993,12.191296,11.685019)">
  309. <meshrow
  310. id="meshrow1196">
  311. <meshpatch
  312. id="meshpatch1198">
  313. <stop
  314. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  315. style="stop-color:#ffffff;stop-opacity:1"
  316. id="stop1200" />
  317. <stop
  318. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  319. style="stop-color:#800080;stop-opacity:1"
  320. id="stop1202" />
  321. <stop
  322. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  323. style="stop-color:#ffffff;stop-opacity:1"
  324. id="stop1204" />
  325. <stop
  326. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  327. style="stop-color:#800080;stop-opacity:1"
  328. id="stop1206" />
  329. </meshpatch>
  330. </meshrow>
  331. </meshgradient>
  332. <meshgradient
  333. inkscape:collect="always"
  334. id="meshgradient1208"
  335. gradientUnits="userSpaceOnUse"
  336. x="3.2361617"
  337. y="2.1731036"
  338. gradientTransform="matrix(5.0799993,0,0,5.0799993,12.7,12.7)">
  339. <meshrow
  340. id="meshrow1210">
  341. <meshpatch
  342. id="meshpatch1212">
  343. <stop
  344. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  345. style="stop-color:#ffffff;stop-opacity:1"
  346. id="stop1214" />
  347. <stop
  348. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  349. style="stop-color:#800080;stop-opacity:1"
  350. id="stop1216" />
  351. <stop
  352. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  353. style="stop-color:#ffffff;stop-opacity:1"
  354. id="stop1218" />
  355. <stop
  356. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  357. style="stop-color:#800080;stop-opacity:1"
  358. id="stop1220" />
  359. </meshpatch>
  360. </meshrow>
  361. </meshgradient>
  362. <meshgradient
  363. inkscape:collect="always"
  364. id="meshgradient1222"
  365. gradientUnits="userSpaceOnUse"
  366. x="3.6141374"
  367. y="3.9212437"
  368. gradientTransform="matrix(5.0799993,0,0,5.0799993,10.666759,11.174221)">
  369. <meshrow
  370. id="meshrow1224">
  371. <meshpatch
  372. id="meshpatch1226">
  373. <stop
  374. path="c 0.248035,-0.248035 0.650178,-0.248035 0.898213,0"
  375. style="stop-color:#ffffff;stop-opacity:1"
  376. id="stop1228" />
  377. <stop
  378. path="c 0.248035,0.248035 0.248035,0.650178 0,0.898213"
  379. style="stop-color:#800080;stop-opacity:1"
  380. id="stop1230" />
  381. <stop
  382. path="c -0.248035,0.248035 -0.650178,0.248035 -0.898213,0"
  383. style="stop-color:#ffffff;stop-opacity:1"
  384. id="stop1232" />
  385. <stop
  386. path="c -0.248035,-0.248035 -0.248035,-0.650178 0,-0.898213"
  387. style="stop-color:#800080;stop-opacity:1"
  388. id="stop1234" />
  389. </meshpatch>
  390. </meshrow>
  391. </meshgradient>
  392. <meshgradient
  393. inkscape:collect="always"
  394. id="meshgradient144"
  395. gradientUnits="userSpaceOnUse"
  396. gradientTransform="matrix(1.3440831,0,0,1.3440831,11.27939,-20.848585)"
  397. x="1.4901161e-08"
  398. y="1.4901161e-08">
  399. <meshrow
  400. id="meshrow156">
  401. <meshpatch
  402. id="meshpatch154">
  403. <stop
  404. path="c 1.66667,0 3.33333,0 5,0"
  405. style="stop-color:#ffffff;stop-opacity:1"
  406. id="stop146" />
  407. <stop
  408. path="c 0,1.66667 0,3.33333 0,5"
  409. style="stop-color:#800080;stop-opacity:1"
  410. id="stop148" />
  411. <stop
  412. path="c -1.66667,0 -3.33333,0 -5,0"
  413. style="stop-color:#ffffff;stop-opacity:1"
  414. id="stop150" />
  415. <stop
  416. path="c 0,-1.66667 0,-3.33333 0,-5"
  417. style="stop-color:#800080;stop-opacity:1"
  418. id="stop152" />
  419. </meshpatch>
  420. </meshrow>
  421. </meshgradient>
  422. <meshgradient
  423. inkscape:collect="always"
  424. id="meshgradient174"
  425. gradientUnits="userSpaceOnUse"
  426. gradientTransform="matrix(0.35562198,0,0,0.35562198,4.5675562,-12.986531)"
  427. x="1.4901161e-08"
  428. y="1.4901161e-08">
  429. <meshrow
  430. id="meshrow186">
  431. <meshpatch
  432. id="meshpatch184">
  433. <stop
  434. path="c 1.66667,0 3.33333,0 5,0"
  435. style="stop-color:#ffffff;stop-opacity:1"
  436. id="stop176" />
  437. <stop
  438. path="c 0,1.66667 0,3.33333 0,5"
  439. style="stop-color:#800080;stop-opacity:1"
  440. id="stop178" />
  441. <stop
  442. path="c -1.66667,0 -3.33333,0 -5,0"
  443. style="stop-color:#ffffff;stop-opacity:1"
  444. id="stop180" />
  445. <stop
  446. path="c 0,-1.66667 0,-3.33333 0,-5"
  447. style="stop-color:#800080;stop-opacity:1"
  448. id="stop182" />
  449. </meshpatch>
  450. </meshrow>
  451. </meshgradient>
  452. <meshgradient
  453. inkscape:collect="always"
  454. id="meshgradient315"
  455. gradientUnits="userSpaceOnUse"
  456. gradientTransform="matrix(0.35562198,0,0,0.35562198,50.213044,-21.598494)"
  457. x="1.4901161e-08"
  458. y="1.4901161e-08">
  459. <meshrow
  460. id="meshrow327">
  461. <meshpatch
  462. id="meshpatch325">
  463. <stop
  464. path="c 1.66667,0 3.33333,0 5,0"
  465. style="stop-color:#ffffff;stop-opacity:1"
  466. id="stop317" />
  467. <stop
  468. path="c 0,1.66667 0,3.33333 0,5"
  469. style="stop-color:#800080;stop-opacity:1"
  470. id="stop319" />
  471. <stop
  472. path="c -1.66667,0 -3.33333,0 -5,0"
  473. style="stop-color:#ffffff;stop-opacity:1"
  474. id="stop321" />
  475. <stop
  476. path="c 0,-1.66667 0,-3.33333 0,-5"
  477. style="stop-color:#800080;stop-opacity:1"
  478. id="stop323" />
  479. </meshpatch>
  480. </meshrow>
  481. </meshgradient>
  482. <clipPath
  483. clipPathUnits="userSpaceOnUse"
  484. id="clipPath498">
  485. <rect
  486. style="display:inline;fill:#ff00ff;fill-opacity:1;stroke:url(#meshgradient502);stroke-width:0.983898;stroke-opacity:1"
  487. id="rect500"
  488. width="24.416101"
  489. height="24.4161"
  490. x="-11.224152"
  491. y="37.608047"
  492. ry="5.8395634"
  493. rx="5.4162478" />
  494. </clipPath>
  495. <meshgradient
  496. inkscape:collect="always"
  497. id="meshgradient502"
  498. gradientUnits="userSpaceOnUse"
  499. gradientTransform="matrix(0.35562199,0,0,0.35562199,-1.4643916,38.592265)"
  500. x="1.4901161e-08"
  501. y="1.4901161e-08">
  502. <meshrow
  503. id="meshrow514">
  504. <meshpatch
  505. id="meshpatch512">
  506. <stop
  507. path="c 1.66667,0 3.33333,0 5,0"
  508. style="stop-color:#ffffff;stop-opacity:1"
  509. id="stop504" />
  510. <stop
  511. path="c 0,1.66667 0,3.33333 0,5"
  512. style="stop-color:#800080;stop-opacity:1"
  513. id="stop506" />
  514. <stop
  515. path="c -1.66667,0 -3.33333,0 -5,0"
  516. style="stop-color:#ffffff;stop-opacity:1"
  517. id="stop508" />
  518. <stop
  519. path="c 0,-1.66667 0,-3.33333 0,-5"
  520. style="stop-color:#800080;stop-opacity:1"
  521. id="stop510" />
  522. </meshpatch>
  523. </meshrow>
  524. </meshgradient>
  525. <clipPath
  526. clipPathUnits="userSpaceOnUse"
  527. id="clipPath516">
  528. <rect
  529. style="display:inline;fill:#ff00ff;fill-opacity:1;stroke:url(#meshgradient520);stroke-width:0.983898;stroke-opacity:1"
  530. id="rect518"
  531. width="24.416101"
  532. height="24.4161"
  533. x="61.875282"
  534. y="23.888676"
  535. ry="5.8395634"
  536. rx="5.4162478" />
  537. </clipPath>
  538. <meshgradient
  539. inkscape:collect="always"
  540. id="meshgradient520"
  541. gradientUnits="userSpaceOnUse"
  542. gradientTransform="matrix(0.35562199,0,0,0.35562199,71.635041,24.872891)"
  543. x="1.4901161e-08"
  544. y="1.4901161e-08">
  545. <meshrow
  546. id="meshrow532">
  547. <meshpatch
  548. id="meshpatch530">
  549. <stop
  550. path="c 1.66667,0 3.33333,0 5,0"
  551. style="stop-color:#ffffff;stop-opacity:1"
  552. id="stop522" />
  553. <stop
  554. path="c 0,1.66667 0,3.33333 0,5"
  555. style="stop-color:#800080;stop-opacity:1"
  556. id="stop524" />
  557. <stop
  558. path="c -1.66667,0 -3.33333,0 -5,0"
  559. style="stop-color:#ffffff;stop-opacity:1"
  560. id="stop526" />
  561. <stop
  562. path="c 0,-1.66667 0,-3.33333 0,-5"
  563. style="stop-color:#800080;stop-opacity:1"
  564. id="stop528" />
  565. </meshpatch>
  566. </meshrow>
  567. </meshgradient>
  568. <clipPath
  569. clipPathUnits="userSpaceOnUse"
  570. id="clipPath534">
  571. <rect
  572. style="display:inline;fill:#ff00ff;fill-opacity:1;stroke:url(#meshgradient538);stroke-width:0.983898;stroke-opacity:1"
  573. id="rect536"
  574. width="24.416101"
  575. height="24.4161"
  576. x="56.016651"
  577. y="-25.531712"
  578. ry="5.8395634"
  579. rx="5.4162478" />
  580. </clipPath>
  581. <meshgradient
  582. inkscape:collect="always"
  583. id="meshgradient538"
  584. gradientUnits="userSpaceOnUse"
  585. gradientTransform="matrix(0.35562199,0,0,0.35562199,59.000991,-31.047899)"
  586. x="1.4901161e-08"
  587. y="1.4901161e-08">
  588. <meshrow
  589. id="meshrow550">
  590. <meshpatch
  591. id="meshpatch548">
  592. <stop
  593. path="c 1.66667,0 3.33333,0 5,0"
  594. style="stop-color:#ffffff;stop-opacity:1"
  595. id="stop540" />
  596. <stop
  597. path="c 0,1.66667 0,3.33333 0,5"
  598. style="stop-color:#800080;stop-opacity:1"
  599. id="stop542" />
  600. <stop
  601. path="c -1.66667,0 -3.33333,0 -5,0"
  602. style="stop-color:#ffffff;stop-opacity:1"
  603. id="stop544" />
  604. <stop
  605. path="c 0,-1.66667 0,-3.33333 0,-5"
  606. style="stop-color:#800080;stop-opacity:1"
  607. id="stop546" />
  608. </meshpatch>
  609. </meshrow>
  610. </meshgradient>
  611. <clipPath
  612. clipPathUnits="userSpaceOnUse"
  613. id="clipPath608">
  614. <rect
  615. style="display:inline;fill:#ff00ff;fill-opacity:1;stroke:url(#meshgradient612);stroke-width:0.983898;stroke-opacity:1"
  616. id="rect610"
  617. width="24.416101"
  618. height="24.4161"
  619. x="-26.760134"
  620. y="-21.751949"
  621. ry="5.8395634"
  622. rx="5.4162478" />
  623. </clipPath>
  624. <meshgradient
  625. inkscape:collect="always"
  626. id="meshgradient612"
  627. gradientUnits="userSpaceOnUse"
  628. gradientTransform="matrix(0.35562199,0,0,0.35562199,-23.775796,-27.268138)"
  629. x="1.4901161e-08"
  630. y="1.4901161e-08">
  631. <meshrow
  632. id="meshrow624">
  633. <meshpatch
  634. id="meshpatch622">
  635. <stop
  636. path="c 1.66667,0 3.33333,0 5,0"
  637. style="stop-color:#ffffff;stop-opacity:1"
  638. id="stop614" />
  639. <stop
  640. path="c 0,1.66667 0,3.33333 0,5"
  641. style="stop-color:#800080;stop-opacity:1"
  642. id="stop616" />
  643. <stop
  644. path="c -1.66667,0 -3.33333,0 -5,0"
  645. style="stop-color:#ffffff;stop-opacity:1"
  646. id="stop618" />
  647. <stop
  648. path="c 0,-1.66667 0,-3.33333 0,-5"
  649. style="stop-color:#800080;stop-opacity:1"
  650. id="stop620" />
  651. </meshpatch>
  652. </meshrow>
  653. </meshgradient>
  654. </defs>
  655. <sodipodi:namedview
  656. id="base"
  657. pagecolor="#ffffff"
  658. bordercolor="#666666"
  659. borderopacity="1.0"
  660. inkscape:pageopacity="0.0"
  661. inkscape:pageshadow="2"
  662. inkscape:zoom="1.4"
  663. inkscape:cx="55.656207"
  664. inkscape:cy="34.885362"
  665. inkscape:document-units="mm"
  666. inkscape:current-layer="layer14"
  667. inkscape:document-rotation="0"
  668. showgrid="false"
  669. inkscape:pagecheckerboard="true"
  670. inkscape:window-width="1920"
  671. inkscape:window-height="1017"
  672. inkscape:window-x="-8"
  673. inkscape:window-y="-8"
  674. inkscape:window-maximized="1"
  675. units="in" />
  676. <metadata
  677. id="metadata5">
  678. <rdf:RDF>
  679. <cc:Work
  680. rdf:about="">
  681. <dc:format>image/svg+xml</dc:format>
  682. <dc:type
  683. rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  684. <dc:title />
  685. </cc:Work>
  686. </rdf:RDF>
  687. </metadata>
  688. <g
  689. inkscape:label="box"
  690. inkscape:groupmode="layer"
  691. id="layer1"
  692. style="display:inline">
  693. <rect
  694. style="fill:none;fill-opacity:1;stroke:url(#meshgradient1138);stroke-width:0.983899;stroke-opacity:1"
  695. id="rect7"
  696. width="24.416101"
  697. height="24.416098"
  698. x="13.19195"
  699. y="13.19195"
  700. ry="5.8395634"
  701. rx="5.4162478" />
  702. </g>
  703. <g
  704. inkscape:groupmode="layer"
  705. id="layer12"
  706. inkscape:label="color">
  707. <g
  708. inkscape:groupmode="layer"
  709. id="layer13"
  710. inkscape:label="white"
  711. style="display:none">
  712. <rect
  713. style="display:inline;fill:#800080;fill-opacity:1;stroke:url(#meshgradient315);stroke-width:0.983898;stroke-opacity:1"
  714. id="rect7-7-7"
  715. width="24.416101"
  716. height="24.4161"
  717. x="47.228706"
  718. y="-16.082306"
  719. ry="5.8395634"
  720. rx="5.4162478" />
  721. </g>
  722. <g
  723. inkscape:groupmode="layer"
  724. id="layer14"
  725. inkscape:label="red"
  726. style="display:none">
  727. <image
  728. sodipodi:absref="C:\Users\bad-p\Desktop\Work Folder\VS CODE\Qwixx\frontend\inkScape\colorScapes\red.svg"
  729. xlink:href="../colorScapes/red.svg"
  730. transform="translate(39.952084,34.943897)"
  731. clip-path="url(#clipPath608)"
  732. y="-44.055"
  733. x="-37.855602"
  734. id="image580"
  735. height="89.999878"
  736. width="159.99989"
  737. inkscape:svg-dpi="96"
  738. preserveAspectRatio="none" />
  739. </g>
  740. <g
  741. inkscape:groupmode="layer"
  742. id="layer15"
  743. inkscape:label="yellow"
  744. style="display:none">
  745. <image
  746. sodipodi:absref="C:\Users\bad-p\Desktop\Work Folder\VS CODE\Qwixx\frontend\inkScape\colorScapes\yellow.svg"
  747. xlink:href="../colorScapes/yellow.svg"
  748. transform="translate(-42.824703,38.72366)"
  749. clip-path="url(#clipPath534)"
  750. y="-53.126427"
  751. x="-48.81691"
  752. id="image352"
  753. height="89.999878"
  754. width="159.99989"
  755. inkscape:svg-dpi="96"
  756. preserveAspectRatio="none" />
  757. </g>
  758. <g
  759. inkscape:groupmode="layer"
  760. id="g121"
  761. inkscape:label="blue"
  762. style="display:none">
  763. <image
  764. sodipodi:absref="C:\Users\bad-p\Desktop\Work Folder\VS CODE\Qwixx\frontend\inkScape\colorScapes\blue.svg"
  765. xlink:href="../colorScapes/blue.svg"
  766. transform="translate(-48.683332,-10.696726)"
  767. clip-path="url(#clipPath516)"
  768. y="-38.574345"
  769. x="-33.036404"
  770. id="image402"
  771. height="89.999878"
  772. width="159.99989"
  773. inkscape:svg-dpi="96"
  774. preserveAspectRatio="none" />
  775. </g>
  776. <g
  777. inkscape:groupmode="layer"
  778. id="g123"
  779. inkscape:label="green"
  780. style="display:none">
  781. <image
  782. sodipodi:absref="C:\Users\bad-p\Desktop\Work Folder\VS CODE\Qwixx\frontend\inkScape\colorScapes\green.svg"
  783. xlink:href="../colorScapes/green.svg"
  784. transform="translate(24.416101,-24.4161)"
  785. clip-path="url(#clipPath498)"
  786. y="1.1509594"
  787. x="-89.48719"
  788. id="image452"
  789. height="89.999878"
  790. width="159.99989"
  791. inkscape:svg-dpi="96"
  792. preserveAspectRatio="none" />
  793. </g>
  794. <g
  795. inkscape:groupmode="layer"
  796. id="g125"
  797. inkscape:label="orange"
  798. style="display:none">
  799. <rect
  800. style="display:inline;fill:#800080;fill-opacity:1;stroke:url(#meshgradient174);stroke-width:0.983898;stroke-opacity:1"
  801. id="rect7-7-2"
  802. width="24.416101"
  803. height="24.4161"
  804. x="-5.1922026"
  805. y="-13.970746"
  806. ry="5.8395634"
  807. rx="5.4162478" />
  808. </g>
  809. <g
  810. inkscape:groupmode="layer"
  811. id="g127"
  812. inkscape:label="purple"
  813. style="display:none">
  814. <rect
  815. style="display:inline;fill:#800080;fill-opacity:1;stroke:url(#meshgradient144);stroke-width:0.983898;stroke-opacity:1"
  816. id="rect7-7"
  817. width="24.416101"
  818. height="24.4161"
  819. x="7.9191823"
  820. y="-24.208794"
  821. ry="5.8395634"
  822. rx="5.4162478" />
  823. </g>
  824. </g>
  825. <g
  826. inkscape:groupmode="layer"
  827. id="layer10"
  828. inkscape:label="12345"
  829. style="display:inline">
  830. <g
  831. inkscape:groupmode="layer"
  832. id="layer3"
  833. inkscape:label="quad3"
  834. style="display:none">
  835. <ellipse
  836. style="fill:none;fill-opacity:1;stroke:url(#meshgradient896);stroke-width:1.16706;stroke-opacity:1"
  837. id="path2796-4-7"
  838. cx="19.444414"
  839. cy="30.917128"
  840. rx="3.2264714"
  841. ry="3.2264719" />
  842. </g>
  843. <g
  844. inkscape:groupmode="layer"
  845. id="layer11"
  846. inkscape:label="four"
  847. style="display:none">
  848. <g
  849. inkscape:groupmode="layer"
  850. id="layer5"
  851. inkscape:label="quad2"
  852. style="display:none">
  853. <ellipse
  854. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient2858);stroke-width:1.16706;stroke-opacity:1"
  855. id="path2796-4-7-8"
  856. cx="31.846516"
  857. cy="18.91284"
  858. rx="3.2264714"
  859. ry="3.2264719" />
  860. </g>
  861. <g
  862. inkscape:groupmode="layer"
  863. id="layer9"
  864. inkscape:label="two"
  865. style="display:inline">
  866. <g
  867. inkscape:groupmode="layer"
  868. id="layer4"
  869. inkscape:label="quad4"
  870. style="display:inline">
  871. <ellipse
  872. style="fill:none;fill-opacity:1;stroke:url(#meshgradient948);stroke-width:1.16706;stroke-opacity:1"
  873. id="path2796-4"
  874. cx="31.348675"
  875. cy="31.003235"
  876. rx="3.2264714"
  877. ry="3.2264719" />
  878. </g>
  879. <g
  880. inkscape:groupmode="layer"
  881. id="layer2"
  882. inkscape:label="quad1"
  883. style="display:inline">
  884. <ellipse
  885. style="fill:none;fill-opacity:1;stroke:url(#meshgradient1001);stroke-width:1.16706;stroke-opacity:1"
  886. id="path2796-4-6"
  887. cx="18.724369"
  888. cy="18.940388"
  889. rx="3.2264714"
  890. ry="3.2264719" />
  891. </g>
  892. </g>
  893. </g>
  894. <g
  895. inkscape:groupmode="layer"
  896. id="layer8"
  897. inkscape:label="one"
  898. style="display:none">
  899. <g
  900. inkscape:groupmode="layer"
  901. id="layer6"
  902. inkscape:label="center"
  903. style="display:inline">
  904. <ellipse
  905. style="fill:none;fill-opacity:1;stroke:url(#meshgradient915);stroke-width:1.16706;stroke-opacity:1"
  906. id="path2796-4-9"
  907. cx="25.300777"
  908. cy="25.060764"
  909. rx="3.2264714"
  910. ry="3.2264719" />
  911. </g>
  912. </g>
  913. </g>
  914. <g
  915. inkscape:groupmode="layer"
  916. id="layer7"
  917. inkscape:label="6"
  918. style="display:inline">
  919. <ellipse
  920. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1152);stroke-width:1.16706;stroke-opacity:1"
  921. id="path2796-4-9-5"
  922. cx="19.660427"
  923. cy="17.896839"
  924. rx="3.2264714"
  925. ry="3.2264719" />
  926. <ellipse
  927. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1166);stroke-width:1.16706;stroke-opacity:1"
  928. id="path2796-4-9-7"
  929. cx="19.540421"
  930. cy="26.0858"
  931. rx="3.2264714"
  932. ry="3.2264719" />
  933. <ellipse
  934. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1180);stroke-width:1.16706;stroke-opacity:1"
  935. id="path2796-4-9-9"
  936. cx="19.446236"
  937. cy="33.070801"
  938. rx="3.2264714"
  939. ry="3.2264719" />
  940. <ellipse
  941. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1194);stroke-width:1.16706;stroke-opacity:1"
  942. id="path2796-4-9-3"
  943. cx="31.272474"
  944. cy="17.805399"
  945. rx="3.2264714"
  946. ry="3.2264719" />
  947. <ellipse
  948. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1208);stroke-width:1.16706;stroke-opacity:1"
  949. id="path2796-4-9-1"
  950. cx="31.421158"
  951. cy="26.020824"
  952. rx="3.2264714"
  953. ry="3.2264719" />
  954. <ellipse
  955. style="display:inline;fill:none;fill-opacity:1;stroke:url(#meshgradient1222);stroke-width:1.16706;stroke-opacity:1"
  956. id="path2796-4-9-13"
  957. cx="31.308037"
  958. cy="33.375599"
  959. rx="3.2264714"
  960. ry="3.2264719" />
  961. </g>
  962. <script
  963. id="mesh_polyfill"
  964. type="text/javascript">
  965. !function(){const t=&quot;http://www.w3.org/2000/svg&quot;,e=&quot;http://www.w3.org/1999/xlink&quot;,s=&quot;http://www.w3.org/1999/xhtml&quot;,r=2;if(document.createElementNS(t,&quot;meshgradient&quot;).x)return;const n=(t,e,s,r)=&gt;{let n=new x(.5*(e.x+s.x),.5*(e.y+s.y)),o=new x(.5*(t.x+e.x),.5*(t.y+e.y)),i=new x(.5*(s.x+r.x),.5*(s.y+r.y)),a=new x(.5*(n.x+o.x),.5*(n.y+o.y)),h=new x(.5*(n.x+i.x),.5*(n.y+i.y)),l=new x(.5*(a.x+h.x),.5*(a.y+h.y));return[[t,o,a,l],[l,h,i,r]]},o=t=&gt;{let e=t[0].distSquared(t[1]),s=t[2].distSquared(t[3]),r=.25*t[0].distSquared(t[2]),n=.25*t[1].distSquared(t[3]),o=e&gt;s?e:s,i=r&gt;n?r:n;return 18*(o&gt;i?o:i)},i=(t,e)=&gt;Math.sqrt(t.distSquared(e)),a=(t,e)=&gt;t.scale(2/3).add(e.scale(1/3)),h=t=&gt;{let e,s,r,n,o,i,a,h=new g;return t.match(/(\w+\(\s*[^)]+\))+/g).forEach(t=&gt;{let l=t.match(/[\w.-]+/g),d=l.shift();switch(d){case&quot;translate&quot;:2===l.length?e=new g(1,0,0,1,l[0],l[1]):(console.error(&quot;mesh.js: translate does not have 2 arguments!&quot;),e=new g(1,0,0,1,0,0)),h=h.append(e);break;case&quot;scale&quot;:1===l.length?s=new g(l[0],0,0,l[0],0,0):2===l.length?s=new g(l[0],0,0,l[1],0,0):(console.error(&quot;mesh.js: scale does not have 1 or 2 arguments!&quot;),s=new g(1,0,0,1,0,0)),h=h.append(s);break;case&quot;rotate&quot;:if(3===l.length&amp;&amp;(e=new g(1,0,0,1,l[1],l[2]),h=h.append(e)),l[0]){r=l[0]*Math.PI/180;let t=Math.cos(r),e=Math.sin(r);Math.abs(t)&lt;1e-16&amp;&amp;(t=0),Math.abs(e)&lt;1e-16&amp;&amp;(e=0),a=new g(t,e,-e,t,0,0),h=h.append(a)}else console.error(&quot;math.js: No argument to rotate transform!&quot;);3===l.length&amp;&amp;(e=new g(1,0,0,1,-l[1],-l[2]),h=h.append(e));break;case&quot;skewX&quot;:l[0]?(r=l[0]*Math.PI/180,n=Math.tan(r),o=new g(1,0,n,1,0,0),h=h.append(o)):console.error(&quot;math.js: No argument to skewX transform!&quot;);break;case&quot;skewY&quot;:l[0]?(r=l[0]*Math.PI/180,n=Math.tan(r),i=new g(1,n,0,1,0,0),h=h.append(i)):console.error(&quot;math.js: No argument to skewY transform!&quot;);break;case&quot;matrix&quot;:6===l.length?h=h.append(new g(...l)):console.error(&quot;math.js: Incorrect number of arguments for matrix!&quot;);break;default:console.error(&quot;mesh.js: Unhandled transform type: &quot;+d)}}),h},l=t=&gt;{let e=[],s=t.split(/[ ,]+/);for(let t=0,r=s.length-1;t&lt;r;t+=2)e.push(new x(parseFloat(s[t]),parseFloat(s[t+1])));return e},d=(t,e)=&gt;{for(let s in e)t.setAttribute(s,e[s])},c=(t,e,s,r,n)=&gt;{let o,i,a=[0,0,0,0];for(let h=0;h&lt;3;++h)e[h]&lt;t[h]&amp;&amp;e[h]&lt;s[h]||t[h]&lt;e[h]&amp;&amp;s[h]&lt;e[h]?a[h]=0:(a[h]=.5*((e[h]-t[h])/r+(s[h]-e[h])/n),o=Math.abs(3*(e[h]-t[h])/r),i=Math.abs(3*(s[h]-e[h])/n),a[h]&gt;o?a[h]=o:a[h]&gt;i&amp;&amp;(a[h]=i));return a},u=[[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[-3,3,0,0,-2,-1,0,0,0,0,0,0,0,0,0,0],[2,-2,0,0,1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,-3,3,0,0,-2,-1,0,0],[0,0,0,0,0,0,0,0,2,-2,0,0,1,1,0,0],[-3,0,3,0,0,0,0,0,-2,0,-1,0,0,0,0,0],[0,0,0,0,-3,0,3,0,0,0,0,0,-2,0,-1,0],[9,-9,-9,9,6,3,-6,-3,6,-6,3,-3,4,2,2,1],[-6,6,6,-6,-3,-3,3,3,-4,4,-2,2,-2,-2,-1,-1],[2,0,-2,0,0,0,0,0,1,0,1,0,0,0,0,0],[0,0,0,0,2,0,-2,0,0,0,0,0,1,0,1,0],[-6,6,6,-6,-4,-2,4,2,-3,3,-3,3,-2,-1,-2,-1],[4,-4,-4,4,2,2,-2,-2,2,-2,2,-2,1,1,1,1]],f=t=&gt;{let e=[];for(let s=0;s&lt;16;++s){e[s]=0;for(let r=0;r&lt;16;++r)e[s]+=u[s][r]*t[r]}return e},p=(t,e,s)=&gt;{const r=e*e,n=s*s,o=e*e*e,i=s*s*s;return t[0]+t[1]*e+t[2]*r+t[3]*o+t[4]*s+t[5]*s*e+t[6]*s*r+t[7]*s*o+t[8]*n+t[9]*n*e+t[10]*n*r+t[11]*n*o+t[12]*i+t[13]*i*e+t[14]*i*r+t[15]*i*o},y=t=&gt;{let e=[],s=[],r=[];for(let s=0;s&lt;4;++s)e[s]=[],e[s][0]=n(t[0][s],t[1][s],t[2][s],t[3][s]),e[s][1]=[],e[s][1].push(...n(...e[s][0][0])),e[s][1].push(...n(...e[s][0][1])),e[s][2]=[],e[s][2].push(...n(...e[s][1][0])),e[s][2].push(...n(...e[s][1][1])),e[s][2].push(...n(...e[s][1][2])),e[s][2].push(...n(...e[s][1][3]));for(let t=0;t&lt;8;++t){s[t]=[];for(let r=0;r&lt;4;++r)s[t][r]=[],s[t][r][0]=n(e[0][2][t][r],e[1][2][t][r],e[2][2][t][r],e[3][2][t][r]),s[t][r][1]=[],s[t][r][1].push(...n(...s[t][r][0][0])),s[t][r][1].push(...n(...s[t][r][0][1])),s[t][r][2]=[],s[t][r][2].push(...n(...s[t][r][1][0])),s[t][r][2].push(...n(...s[t][r][1][1])),s[t][r][2].push(...n(...s[t][r][1][2])),s[t][r][2].push(...n(...s[t][r][1][3]))}for(let t=0;t&lt;8;++t){r[t]=[];for(let e=0;e&lt;8;++e)r[t][e]=[],r[t][e][0]=s[t][0][2][e],r[t][e][1]=s[t][1][2][e],r[t][e][2]=s[t][2][2][e],r[t][e][3]=s[t][3][2][e]}return r};class x{constructor(t,e){this.x=t||0,this.y=e||0}toString(){return`(x=${this.x}, y=${this.y})`}clone(){return new x(this.x,this.y)}add(t){return new x(this.x+t.x,this.y+t.y)}scale(t){return void 0===t.x?new x(this.x*t,this.y*t):new x(this.x*t.x,this.y*t.y)}distSquared(t){let e=this.x-t.x,s=this.y-t.y;return e*e+s*s}transform(t){let e=this.x*t.a+this.y*t.c+t.e,s=this.x*t.b+this.y*t.d+t.f;return new x(e,s)}}class g{constructor(t,e,s,r,n,o){void 0===t?(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0):(this.a=t,this.b=e,this.c=s,this.d=r,this.e=n,this.f=o)}toString(){return`affine: ${this.a} ${this.c} ${this.e} \n ${this.b} ${this.d} ${this.f}`}append(t){t instanceof g||console.error(&quot;mesh.js: argument to Affine.append is not affine!&quot;);let e=this.a*t.a+this.c*t.b,s=this.b*t.a+this.d*t.b,r=this.a*t.c+this.c*t.d,n=this.b*t.c+this.d*t.d,o=this.a*t.e+this.c*t.f+this.e,i=this.b*t.e+this.d*t.f+this.f;return new g(e,s,r,n,o,i)}}class w{constructor(t,e){this.nodes=t,this.colors=e}paintCurve(t,e){if(o(this.nodes)&gt;r){const s=n(...this.nodes);let r=[[],[]],o=[[],[]];for(let t=0;t&lt;4;++t)r[0][t]=this.colors[0][t],r[1][t]=(this.colors[0][t]+this.colors[1][t])/2,o[0][t]=r[1][t],o[1][t]=this.colors[1][t];let i=new w(s[0],r),a=new w(s[1],o);i.paintCurve(t,e),a.paintCurve(t,e)}else{let s=Math.round(this.nodes[0].x);if(s&gt;=0&amp;&amp;s&lt;e){let r=4*(~~this.nodes[0].y*e+s);t[r]=Math.round(this.colors[0][0]),t[r+1]=Math.round(this.colors[0][1]),t[r+2]=Math.round(this.colors[0][2]),t[r+3]=Math.round(this.colors[0][3])}}}}class m{constructor(t,e){this.nodes=t,this.colors=e}split(){let t=[[],[],[],[]],e=[[],[],[],[]],s=[[[],[]],[[],[]]],r=[[[],[]],[[],[]]];for(let s=0;s&lt;4;++s){const r=n(this.nodes[0][s],this.nodes[1][s],this.nodes[2][s],this.nodes[3][s]);t[0][s]=r[0][0],t[1][s]=r[0][1],t[2][s]=r[0][2],t[3][s]=r[0][3],e[0][s]=r[1][0],e[1][s]=r[1][1],e[2][s]=r[1][2],e[3][s]=r[1][3]}for(let t=0;t&lt;4;++t)s[0][0][t]=this.colors[0][0][t],s[0][1][t]=this.colors[0][1][t],s[1][0][t]=(this.colors[0][0][t]+this.colors[1][0][t])/2,s[1][1][t]=(this.colors[0][1][t]+this.colors[1][1][t])/2,r[0][0][t]=s[1][0][t],r[0][1][t]=s[1][1][t],r[1][0][t]=this.colors[1][0][t],r[1][1][t]=this.colors[1][1][t];return[new m(t,s),new m(e,r)]}paint(t,e){let s,n=!1;for(let t=0;t&lt;4;++t)if((s=o([this.nodes[0][t],this.nodes[1][t],this.nodes[2][t],this.nodes[3][t]]))&gt;r){n=!0;break}if(n){let s=this.split();s[0].paint(t,e),s[1].paint(t,e)}else{new w([...this.nodes[0]],[...this.colors[0]]).paintCurve(t,e)}}}class b{constructor(t){this.readMesh(t),this.type=t.getAttribute(&quot;type&quot;)||&quot;bilinear&quot;}readMesh(t){let e=[[]],s=[[]],r=Number(t.getAttribute(&quot;x&quot;)),n=Number(t.getAttribute(&quot;y&quot;));e[0][0]=new x(r,n);let o=t.children;for(let t=0,r=o.length;t&lt;r;++t){e[3*t+1]=[],e[3*t+2]=[],e[3*t+3]=[],s[t+1]=[];let r=o[t].children;for(let n=0,o=r.length;n&lt;o;++n){let o=r[n].children;for(let r=0,i=o.length;r&lt;i;++r){let i=r;0!==t&amp;&amp;++i;let h,d=o[r].getAttribute(&quot;path&quot;),c=&quot;l&quot;;null!=d&amp;&amp;(c=(h=d.match(/\s*([lLcC])\s*(.*)/))[1]);let u=l(h[2]);switch(c){case&quot;l&quot;:0===i?(e[3*t][3*n+3]=u[0].add(e[3*t][3*n]),e[3*t][3*n+1]=a(e[3*t][3*n],e[3*t][3*n+3]),e[3*t][3*n+2]=a(e[3*t][3*n+3],e[3*t][3*n])):1===i?(e[3*t+3][3*n+3]=u[0].add(e[3*t][3*n+3]),e[3*t+1][3*n+3]=a(e[3*t][3*n+3],e[3*t+3][3*n+3]),e[3*t+2][3*n+3]=a(e[3*t+3][3*n+3],e[3*t][3*n+3])):2===i?(0===n&amp;&amp;(e[3*t+3][3*n+0]=u[0].add(e[3*t+3][3*n+3])),e[3*t+3][3*n+1]=a(e[3*t+3][3*n],e[3*t+3][3*n+3]),e[3*t+3][3*n+2]=a(e[3*t+3][3*n+3],e[3*t+3][3*n])):(e[3*t+1][3*n]=a(e[3*t][3*n],e[3*t+3][3*n]),e[3*t+2][3*n]=a(e[3*t+3][3*n],e[3*t][3*n]));break;case&quot;L&quot;:0===i?(e[3*t][3*n+3]=u[0],e[3*t][3*n+1]=a(e[3*t][3*n],e[3*t][3*n+3]),e[3*t][3*n+2]=a(e[3*t][3*n+3],e[3*t][3*n])):1===i?(e[3*t+3][3*n+3]=u[0],e[3*t+1][3*n+3]=a(e[3*t][3*n+3],e[3*t+3][3*n+3]),e[3*t+2][3*n+3]=a(e[3*t+3][3*n+3],e[3*t][3*n+3])):2===i?(0===n&amp;&amp;(e[3*t+3][3*n+0]=u[0]),e[3*t+3][3*n+1]=a(e[3*t+3][3*n],e[3*t+3][3*n+3]),e[3*t+3][3*n+2]=a(e[3*t+3][3*n+3],e[3*t+3][3*n])):(e[3*t+1][3*n]=a(e[3*t][3*n],e[3*t+3][3*n]),e[3*t+2][3*n]=a(e[3*t+3][3*n],e[3*t][3*n]));break;case&quot;c&quot;:0===i?(e[3*t][3*n+1]=u[0].add(e[3*t][3*n]),e[3*t][3*n+2]=u[1].add(e[3*t][3*n]),e[3*t][3*n+3]=u[2].add(e[3*t][3*n])):1===i?(e[3*t+1][3*n+3]=u[0].add(e[3*t][3*n+3]),e[3*t+2][3*n+3]=u[1].add(e[3*t][3*n+3]),e[3*t+3][3*n+3]=u[2].add(e[3*t][3*n+3])):2===i?(e[3*t+3][3*n+2]=u[0].add(e[3*t+3][3*n+3]),e[3*t+3][3*n+1]=u[1].add(e[3*t+3][3*n+3]),0===n&amp;&amp;(e[3*t+3][3*n+0]=u[2].add(e[3*t+3][3*n+3]))):(e[3*t+2][3*n]=u[0].add(e[3*t+3][3*n]),e[3*t+1][3*n]=u[1].add(e[3*t+3][3*n]));break;case&quot;C&quot;:0===i?(e[3*t][3*n+1]=u[0],e[3*t][3*n+2]=u[1],e[3*t][3*n+3]=u[2]):1===i?(e[3*t+1][3*n+3]=u[0],e[3*t+2][3*n+3]=u[1],e[3*t+3][3*n+3]=u[2]):2===i?(e[3*t+3][3*n+2]=u[0],e[3*t+3][3*n+1]=u[1],0===n&amp;&amp;(e[3*t+3][3*n+0]=u[2])):(e[3*t+2][3*n]=u[0],e[3*t+1][3*n]=u[1]);break;default:console.error(&quot;mesh.js: &quot;+c+&quot; invalid path type.&quot;)}if(0===t&amp;&amp;0===n||r&gt;0){let e=window.getComputedStyle(o[r]).stopColor.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i),a=window.getComputedStyle(o[r]).stopOpacity,h=255;a&amp;&amp;(h=Math.floor(255*a)),e&amp;&amp;(0===i?(s[t][n]=[],s[t][n][0]=Math.floor(e[1]),s[t][n][1]=Math.floor(e[2]),s[t][n][2]=Math.floor(e[3]),s[t][n][3]=h):1===i?(s[t][n+1]=[],s[t][n+1][0]=Math.floor(e[1]),s[t][n+1][1]=Math.floor(e[2]),s[t][n+1][2]=Math.floor(e[3]),s[t][n+1][3]=h):2===i?(s[t+1][n+1]=[],s[t+1][n+1][0]=Math.floor(e[1]),s[t+1][n+1][1]=Math.floor(e[2]),s[t+1][n+1][2]=Math.floor(e[3]),s[t+1][n+1][3]=h):3===i&amp;&amp;(s[t+1][n]=[],s[t+1][n][0]=Math.floor(e[1]),s[t+1][n][1]=Math.floor(e[2]),s[t+1][n][2]=Math.floor(e[3]),s[t+1][n][3]=h))}}e[3*t+1][3*n+1]=new x,e[3*t+1][3*n+2]=new x,e[3*t+2][3*n+1]=new x,e[3*t+2][3*n+2]=new x,e[3*t+1][3*n+1].x=(-4*e[3*t][3*n].x+6*(e[3*t][3*n+1].x+e[3*t+1][3*n].x)+-2*(e[3*t][3*n+3].x+e[3*t+3][3*n].x)+3*(e[3*t+3][3*n+1].x+e[3*t+1][3*n+3].x)+-1*e[3*t+3][3*n+3].x)/9,e[3*t+1][3*n+2].x=(-4*e[3*t][3*n+3].x+6*(e[3*t][3*n+2].x+e[3*t+1][3*n+3].x)+-2*(e[3*t][3*n].x+e[3*t+3][3*n+3].x)+3*(e[3*t+3][3*n+2].x+e[3*t+1][3*n].x)+-1*e[3*t+3][3*n].x)/9,e[3*t+2][3*n+1].x=(-4*e[3*t+3][3*n].x+6*(e[3*t+3][3*n+1].x+e[3*t+2][3*n].x)+-2*(e[3*t+3][3*n+3].x+e[3*t][3*n].x)+3*(e[3*t][3*n+1].x+e[3*t+2][3*n+3].x)+-1*e[3*t][3*n+3].x)/9,e[3*t+2][3*n+2].x=(-4*e[3*t+3][3*n+3].x+6*(e[3*t+3][3*n+2].x+e[3*t+2][3*n+3].x)+-2*(e[3*t+3][3*n].x+e[3*t][3*n+3].x)+3*(e[3*t][3*n+2].x+e[3*t+2][3*n].x)+-1*e[3*t][3*n].x)/9,e[3*t+1][3*n+1].y=(-4*e[3*t][3*n].y+6*(e[3*t][3*n+1].y+e[3*t+1][3*n].y)+-2*(e[3*t][3*n+3].y+e[3*t+3][3*n].y)+3*(e[3*t+3][3*n+1].y+e[3*t+1][3*n+3].y)+-1*e[3*t+3][3*n+3].y)/9,e[3*t+1][3*n+2].y=(-4*e[3*t][3*n+3].y+6*(e[3*t][3*n+2].y+e[3*t+1][3*n+3].y)+-2*(e[3*t][3*n].y+e[3*t+3][3*n+3].y)+3*(e[3*t+3][3*n+2].y+e[3*t+1][3*n].y)+-1*e[3*t+3][3*n].y)/9,e[3*t+2][3*n+1].y=(-4*e[3*t+3][3*n].y+6*(e[3*t+3][3*n+1].y+e[3*t+2][3*n].y)+-2*(e[3*t+3][3*n+3].y+e[3*t][3*n].y)+3*(e[3*t][3*n+1].y+e[3*t+2][3*n+3].y)+-1*e[3*t][3*n+3].y)/9,e[3*t+2][3*n+2].y=(-4*e[3*t+3][3*n+3].y+6*(e[3*t+3][3*n+2].y+e[3*t+2][3*n+3].y)+-2*(e[3*t+3][3*n].y+e[3*t][3*n+3].y)+3*(e[3*t][3*n+2].y+e[3*t+2][3*n].y)+-1*e[3*t][3*n].y)/9}}this.nodes=e,this.colors=s}paintMesh(t,e){let s=(this.nodes.length-1)/3,r=(this.nodes[0].length-1)/3;if(&quot;bilinear&quot;===this.type||s&lt;2||r&lt;2){let n;for(let o=0;o&lt;s;++o)for(let s=0;s&lt;r;++s){let r=[];for(let t=3*o,e=3*o+4;t&lt;e;++t)r.push(this.nodes[t].slice(3*s,3*s+4));let i=[];i.push(this.colors[o].slice(s,s+2)),i.push(this.colors[o+1].slice(s,s+2)),(n=new m(r,i)).paint(t,e)}}else{let n,o,a,h,l,d,u;const x=s,g=r;s++,r++;let w=new Array(s);for(let t=0;t&lt;s;++t){w[t]=new Array(r);for(let e=0;e&lt;r;++e)w[t][e]=[],w[t][e][0]=this.nodes[3*t][3*e],w[t][e][1]=this.colors[t][e]}for(let t=0;t&lt;s;++t)for(let e=0;e&lt;r;++e)0!==t&amp;&amp;t!==x&amp;&amp;(n=i(w[t-1][e][0],w[t][e][0]),o=i(w[t+1][e][0],w[t][e][0]),w[t][e][2]=c(w[t-1][e][1],w[t][e][1],w[t+1][e][1],n,o)),0!==e&amp;&amp;e!==g&amp;&amp;(n=i(w[t][e-1][0],w[t][e][0]),o=i(w[t][e+1][0],w[t][e][0]),w[t][e][3]=c(w[t][e-1][1],w[t][e][1],w[t][e+1][1],n,o));for(let t=0;t&lt;r;++t){w[0][t][2]=[],w[x][t][2]=[];for(let e=0;e&lt;4;++e)n=i(w[1][t][0],w[0][t][0]),o=i(w[x][t][0],w[x-1][t][0]),w[0][t][2][e]=n&gt;0?2*(w[1][t][1][e]-w[0][t][1][e])/n-w[1][t][2][e]:0,w[x][t][2][e]=o&gt;0?2*(w[x][t][1][e]-w[x-1][t][1][e])/o-w[x-1][t][2][e]:0}for(let t=0;t&lt;s;++t){w[t][0][3]=[],w[t][g][3]=[];for(let e=0;e&lt;4;++e)n=i(w[t][1][0],w[t][0][0]),o=i(w[t][g][0],w[t][g-1][0]),w[t][0][3][e]=n&gt;0?2*(w[t][1][1][e]-w[t][0][1][e])/n-w[t][1][3][e]:0,w[t][g][3][e]=o&gt;0?2*(w[t][g][1][e]-w[t][g-1][1][e])/o-w[t][g-1][3][e]:0}for(let s=0;s&lt;x;++s)for(let r=0;r&lt;g;++r){let n=i(w[s][r][0],w[s+1][r][0]),o=i(w[s][r+1][0],w[s+1][r+1][0]),c=i(w[s][r][0],w[s][r+1][0]),x=i(w[s+1][r][0],w[s+1][r+1][0]),g=[[],[],[],[]];for(let t=0;t&lt;4;++t){(d=[])[0]=w[s][r][1][t],d[1]=w[s+1][r][1][t],d[2]=w[s][r+1][1][t],d[3]=w[s+1][r+1][1][t],d[4]=w[s][r][2][t]*n,d[5]=w[s+1][r][2][t]*n,d[6]=w[s][r+1][2][t]*o,d[7]=w[s+1][r+1][2][t]*o,d[8]=w[s][r][3][t]*c,d[9]=w[s+1][r][3][t]*x,d[10]=w[s][r+1][3][t]*c,d[11]=w[s+1][r+1][3][t]*x,d[12]=0,d[13]=0,d[14]=0,d[15]=0,u=f(d);for(let e=0;e&lt;9;++e){g[t][e]=[];for(let s=0;s&lt;9;++s)g[t][e][s]=p(u,e/8,s/8),g[t][e][s]&gt;255?g[t][e][s]=255:g[t][e][s]&lt;0&amp;&amp;(g[t][e][s]=0)}}h=[];for(let t=3*s,e=3*s+4;t&lt;e;++t)h.push(this.nodes[t].slice(3*r,3*r+4));l=y(h);for(let s=0;s&lt;8;++s)for(let r=0;r&lt;8;++r)(a=new m(l[s][r],[[[g[0][s][r],g[1][s][r],g[2][s][r],g[3][s][r]],[g[0][s][r+1],g[1][s][r+1],g[2][s][r+1],g[3][s][r+1]]],[[g[0][s+1][r],g[1][s+1][r],g[2][s+1][r],g[3][s+1][r]],[g[0][s+1][r+1],g[1][s+1][r+1],g[2][s+1][r+1],g[3][s+1][r+1]]]])).paint(t,e)}}}transform(t){if(t instanceof x)for(let e=0,s=this.nodes.length;e&lt;s;++e)for(let s=0,r=this.nodes[0].length;s&lt;r;++s)this.nodes[e][s]=this.nodes[e][s].add(t);else if(t instanceof g)for(let e=0,s=this.nodes.length;e&lt;s;++e)for(let s=0,r=this.nodes[0].length;s&lt;r;++s)this.nodes[e][s]=this.nodes[e][s].transform(t)}scale(t){for(let e=0,s=this.nodes.length;e&lt;s;++e)for(let s=0,r=this.nodes[0].length;s&lt;r;++s)this.nodes[e][s]=this.nodes[e][s].scale(t)}}document.querySelectorAll(&quot;rect,circle,ellipse,path,text&quot;).forEach((r,n)=&gt;{let o=r.getAttribute(&quot;id&quot;);o||(o=&quot;patchjs_shape&quot;+n,r.setAttribute(&quot;id&quot;,o));const i=r.style.fill.match(/^url\(\s*&quot;?\s*#([^\s&quot;]+)&quot;?\s*\)/),a=r.style.stroke.match(/^url\(\s*&quot;?\s*#([^\s&quot;]+)&quot;?\s*\)/);if(i&amp;&amp;i[1]){const a=document.getElementById(i[1]);if(a&amp;&amp;&quot;meshgradient&quot;===a.nodeName){const i=r.getBBox();let l=document.createElementNS(s,&quot;canvas&quot;);d(l,{width:i.width,height:i.height});const c=l.getContext(&quot;2d&quot;);let u=c.createImageData(i.width,i.height);const f=new b(a);&quot;objectBoundingBox&quot;===a.getAttribute(&quot;gradientUnits&quot;)&amp;&amp;f.scale(new x(i.width,i.height));const p=a.getAttribute(&quot;gradientTransform&quot;);null!=p&amp;&amp;f.transform(h(p)),&quot;userSpaceOnUse&quot;===a.getAttribute(&quot;gradientUnits&quot;)&amp;&amp;f.transform(new x(-i.x,-i.y)),f.paintMesh(u.data,l.width),c.putImageData(u,0,0);const y=document.createElementNS(t,&quot;image&quot;);d(y,{width:i.width,height:i.height,x:i.x,y:i.y});let g=l.toDataURL();y.setAttributeNS(e,&quot;xlink:href&quot;,g),r.parentNode.insertBefore(y,r),r.style.fill=&quot;none&quot;;const w=document.createElementNS(t,&quot;use&quot;);w.setAttributeNS(e,&quot;xlink:href&quot;,&quot;#&quot;+o);const m=&quot;patchjs_clip&quot;+n,M=document.createElementNS(t,&quot;clipPath&quot;);M.setAttribute(&quot;id&quot;,m),M.appendChild(w),r.parentElement.insertBefore(M,r),y.setAttribute(&quot;clip-path&quot;,&quot;url(#&quot;+m+&quot;)&quot;),u=null,l=null,g=null}}if(a&amp;&amp;a[1]){const o=document.getElementById(a[1]);if(o&amp;&amp;&quot;meshgradient&quot;===o.nodeName){const i=parseFloat(r.style.strokeWidth.slice(0,-2))*(parseFloat(r.style.strokeMiterlimit)||parseFloat(r.getAttribute(&quot;stroke-miterlimit&quot;))||1),a=r.getBBox(),l=Math.trunc(a.width+i),c=Math.trunc(a.height+i),u=Math.trunc(a.x-i/2),f=Math.trunc(a.y-i/2);let p=document.createElementNS(s,&quot;canvas&quot;);d(p,{width:l,height:c});const y=p.getContext(&quot;2d&quot;);let g=y.createImageData(l,c);const w=new b(o);&quot;objectBoundingBox&quot;===o.getAttribute(&quot;gradientUnits&quot;)&amp;&amp;w.scale(new x(l,c));const m=o.getAttribute(&quot;gradientTransform&quot;);null!=m&amp;&amp;w.transform(h(m)),&quot;userSpaceOnUse&quot;===o.getAttribute(&quot;gradientUnits&quot;)&amp;&amp;w.transform(new x(-u,-f)),w.paintMesh(g.data,p.width),y.putImageData(g,0,0);const M=document.createElementNS(t,&quot;image&quot;);d(M,{width:l,height:c,x:0,y:0});let S=p.toDataURL();M.setAttributeNS(e,&quot;xlink:href&quot;,S);const k=&quot;pattern_clip&quot;+n,A=document.createElementNS(t,&quot;pattern&quot;);d(A,{id:k,patternUnits:&quot;userSpaceOnUse&quot;,width:l,height:c,x:u,y:f}),A.appendChild(M),o.parentNode.appendChild(A),r.style.stroke=&quot;url(#&quot;+k+&quot;)&quot;,g=null,p=null,S=null}}})}();
  966. </script>
  967. </svg>