@greenpandastudios/aug-cli 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/THIRD_PARTY_NOTICES.md +18 -0
  4. package/bin/aug.mjs +3 -0
  5. package/docs/api/crypto.md +351 -0
  6. package/docs/api/io.md +207 -0
  7. package/docs/api/json.md +21 -0
  8. package/docs/api/memory.md +109 -0
  9. package/docs/api/time.md +54 -0
  10. package/docs/api/web.md +184 -0
  11. package/docs/assets/benchmarks/execution.svg +2978 -0
  12. package/docs/assets/benchmarks/http.svg +1674 -0
  13. package/docs/assets/benchmarks/improvements.svg +2315 -0
  14. package/docs/assets/benchmarks/memory.svg +1891 -0
  15. package/docs/benchmark-baseline.json +1087 -0
  16. package/docs/benchmark-results.json +91123 -0
  17. package/docs/benchmarks.json +38 -0
  18. package/docs/compatibility.md +42 -0
  19. package/docs/concurrency-implementation.md +18 -0
  20. package/docs/diagnostics.md +97 -0
  21. package/docs/docker.md +35 -0
  22. package/docs/example-projects.json +26 -0
  23. package/docs/examples/approved-design/counters.md +253 -0
  24. package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
  25. package/docs/examples/approved-design/domain/app.md +165 -0
  26. package/docs/examples/approved-design/domain/export.md +83 -0
  27. package/docs/examples/approved-design/domain/models.md +80 -0
  28. package/docs/examples/approved-design/domain/numbers.md +248 -0
  29. package/docs/examples/approved-design/index.md +39 -0
  30. package/docs/examples/approved-design/main-yaml.md +24 -0
  31. package/docs/examples/approved-design/main.md +215 -0
  32. package/docs/examples/benchmark/index.md +33 -0
  33. package/docs/examples/benchmark/main-yaml.md +17 -0
  34. package/docs/examples/benchmark/main.md +117 -0
  35. package/docs/examples/cli-args/index.md +32 -0
  36. package/docs/examples/cli-args/main.md +107 -0
  37. package/docs/examples/collections/index.md +32 -0
  38. package/docs/examples/collections/main.md +118 -0
  39. package/docs/examples/collections-benchmark/index.md +34 -0
  40. package/docs/examples/collections-benchmark/main.md +115 -0
  41. package/docs/examples/cpu-benchmark/index.md +34 -0
  42. package/docs/examples/cpu-benchmark/main.md +90 -0
  43. package/docs/examples/developer-workflow/calculator.md +357 -0
  44. package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
  45. package/docs/examples/developer-workflow/index.md +37 -0
  46. package/docs/examples/developer-workflow/logging/console.md +124 -0
  47. package/docs/examples/developer-workflow/logging/export.md +70 -0
  48. package/docs/examples/developer-workflow/logging/logger.md +111 -0
  49. package/docs/examples/developer-workflow/main.md +172 -0
  50. package/docs/examples/drop/index.md +33 -0
  51. package/docs/examples/drop/main.md +85 -0
  52. package/docs/examples/drop/resource.md +95 -0
  53. package/docs/examples/errors/errors.md +85 -0
  54. package/docs/examples/errors/index.md +33 -0
  55. package/docs/examples/errors/main.md +92 -0
  56. package/docs/examples/ffi/index.md +33 -0
  57. package/docs/examples/ffi/main.md +75 -0
  58. package/docs/examples/ffi/native.md +93 -0
  59. package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
  60. package/docs/examples/generic-di/index.md +33 -0
  61. package/docs/examples/generic-di/main.md +111 -0
  62. package/docs/examples/generic-di/types.md +180 -0
  63. package/docs/examples/generics/index.md +33 -0
  64. package/docs/examples/generics/main.md +120 -0
  65. package/docs/examples/generics/types.md +189 -0
  66. package/docs/examples/hello/app/export.md +67 -0
  67. package/docs/examples/hello/app/greeter.md +190 -0
  68. package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
  69. package/docs/examples/hello/index.md +37 -0
  70. package/docs/examples/hello/logging/console.md +121 -0
  71. package/docs/examples/hello/logging/export.md +71 -0
  72. package/docs/examples/hello/logging/logger.md +120 -0
  73. package/docs/examples/hello/main.md +115 -0
  74. package/docs/examples/http-benchmark/index.md +35 -0
  75. package/docs/examples/http-benchmark/main.md +79 -0
  76. package/docs/examples/http-benchmark/routes.md +88 -0
  77. package/docs/examples/index.md +60 -0
  78. package/docs/examples/interceptors/app.md +250 -0
  79. package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
  80. package/docs/examples/interceptors/index.md +35 -0
  81. package/docs/examples/interceptors/interceptors.md +284 -0
  82. package/docs/examples/interceptors/logging.md +155 -0
  83. package/docs/examples/interceptors/main.md +162 -0
  84. package/docs/examples/json-benchmark/data.md +71 -0
  85. package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
  86. package/docs/examples/json-benchmark/index.md +35 -0
  87. package/docs/examples/json-benchmark/main.md +131 -0
  88. package/docs/examples/new-syntax/console.md +118 -0
  89. package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
  90. package/docs/examples/new-syntax/greeter.md +145 -0
  91. package/docs/examples/new-syntax/index.md +36 -0
  92. package/docs/examples/new-syntax/logger.md +111 -0
  93. package/docs/examples/new-syntax/main.md +135 -0
  94. package/docs/examples/new-syntax/math.md +79 -0
  95. package/docs/examples/oidc-login/client/contracts.md +151 -0
  96. package/docs/examples/oidc-login/client/endpoints.md +263 -0
  97. package/docs/examples/oidc-login/client/export.md +107 -0
  98. package/docs/examples/oidc-login/client/login.md +515 -0
  99. package/docs/examples/oidc-login/client/logout.md +249 -0
  100. package/docs/examples/oidc-login/client/protocol.md +595 -0
  101. package/docs/examples/oidc-login/client/session.md +297 -0
  102. package/docs/examples/oidc-login/client/views.md +144 -0
  103. package/docs/examples/oidc-login/common/export.md +115 -0
  104. package/docs/examples/oidc-login/common/headers.md +162 -0
  105. package/docs/examples/oidc-login/common/keys.md +336 -0
  106. package/docs/examples/oidc-login/common/settings.md +116 -0
  107. package/docs/examples/oidc-login/common/views.md +103 -0
  108. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
  109. package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
  110. package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
  111. package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
  112. package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
  113. package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
  114. package/docs/examples/oidc-login/index.md +57 -0
  115. package/docs/examples/oidc-login/main-yaml.md +28 -0
  116. package/docs/examples/oidc-login/main.md +283 -0
  117. package/docs/examples/oidc-login/provider/authorization.md +457 -0
  118. package/docs/examples/oidc-login/provider/contracts.md +267 -0
  119. package/docs/examples/oidc-login/provider/credentials.md +148 -0
  120. package/docs/examples/oidc-login/provider/discovery.md +215 -0
  121. package/docs/examples/oidc-login/provider/export.md +131 -0
  122. package/docs/examples/oidc-login/provider/token.md +364 -0
  123. package/docs/examples/oidc-login/provider/userinfo.md +228 -0
  124. package/docs/examples/oidc-login/provider/views.md +137 -0
  125. package/docs/examples/ownership/counter.md +140 -0
  126. package/docs/examples/ownership/index.md +33 -0
  127. package/docs/examples/ownership/main.md +90 -0
  128. package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
  129. package/docs/examples/ownership-transfer/index.md +33 -0
  130. package/docs/examples/ownership-transfer/main.md +125 -0
  131. package/docs/examples/ownership-transfer/resource.md +150 -0
  132. package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
  133. package/docs/examples/packages-app/index.md +34 -0
  134. package/docs/examples/packages-app/main-yaml.md +18 -0
  135. package/docs/examples/packages-app/main.md +80 -0
  136. package/docs/examples/packages-math/aug-package-json.md +24 -0
  137. package/docs/examples/packages-math/index.md +36 -0
  138. package/docs/examples/packages-math/package-json.md +25 -0
  139. package/docs/examples/packages-math/src/arithmetic.md +121 -0
  140. package/docs/examples/packages-math/src/export.md +63 -0
  141. package/docs/examples/startup-benchmark/index.md +34 -0
  142. package/docs/examples/startup-benchmark/main.md +68 -0
  143. package/docs/examples/visibility/counter.md +142 -0
  144. package/docs/examples/visibility/index.md +33 -0
  145. package/docs/examples/visibility/main.md +96 -0
  146. package/docs/examples.json +47 -0
  147. package/docs/getting-started.md +5 -0
  148. package/docs/grammar.md +136 -0
  149. package/docs/implementation-map.md +106 -0
  150. package/docs/index.md +46 -0
  151. package/docs/language-conformance.md +30 -0
  152. package/docs/language-constructs.md +1461 -0
  153. package/docs/language-design-audit.md +147 -0
  154. package/docs/maintaining-docs.md +43 -0
  155. package/docs/packages.md +184 -0
  156. package/docs/performance.md +535 -0
  157. package/docs/production-readiness.md +39 -0
  158. package/docs/reference.md +361 -0
  159. package/docs/release-review.md +23 -0
  160. package/docs/releasing.md +79 -0
  161. package/docs/roadmap.md +13 -0
  162. package/docs/specifications.md +86 -0
  163. package/docs/testing.md +120 -0
  164. package/docs/tooling.md +197 -0
  165. package/docs/web-implementation-plan.md +39 -0
  166. package/docs/web-library-gaps.md +27 -0
  167. package/docs/web.md +197 -0
  168. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  169. package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  170. package/examples/approved-design/.aug-spec/manifest.json +14 -0
  171. package/examples/approved-design/counters.aug +22 -0
  172. package/examples/approved-design/counters.aug.md +177 -0
  173. package/examples/approved-design/domain/app.aug +12 -0
  174. package/examples/approved-design/domain/app.aug.md +97 -0
  175. package/examples/approved-design/domain/export.aug +5 -0
  176. package/examples/approved-design/domain/export.aug.md +25 -0
  177. package/examples/approved-design/domain/models.aug +2 -0
  178. package/examples/approved-design/domain/models.aug.md +30 -0
  179. package/examples/approved-design/domain/numbers.aug +29 -0
  180. package/examples/approved-design/domain/numbers.aug.md +141 -0
  181. package/examples/approved-design/main.aug +26 -0
  182. package/examples/approved-design/main.aug.md +108 -0
  183. package/examples/approved-design/main.yaml +8 -0
  184. package/examples/benchmark/.aug-spec/manifest.json +7 -0
  185. package/examples/benchmark/main.aug +17 -0
  186. package/examples/benchmark/main.aug.md +43 -0
  187. package/examples/benchmark/main.yaml +1 -0
  188. package/examples/cli-args/.aug-spec/manifest.json +7 -0
  189. package/examples/cli-args/main.aug +15 -0
  190. package/examples/cli-args/main.aug.md +38 -0
  191. package/examples/collections/.aug-spec/manifest.json +7 -0
  192. package/examples/collections/main.aug +18 -0
  193. package/examples/collections/main.aug.md +43 -0
  194. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  195. package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  196. package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
  197. package/examples/developer-workflow/calculator.aug +55 -0
  198. package/examples/developer-workflow/calculator.aug.md +228 -0
  199. package/examples/developer-workflow/logging/console.aug +8 -0
  200. package/examples/developer-workflow/logging/console.aug.md +67 -0
  201. package/examples/developer-workflow/logging/export.aug +2 -0
  202. package/examples/developer-workflow/logging/export.aug.md +19 -0
  203. package/examples/developer-workflow/logging/logger.aug +6 -0
  204. package/examples/developer-workflow/logging/logger.aug.md +57 -0
  205. package/examples/developer-workflow/main.aug +25 -0
  206. package/examples/developer-workflow/main.aug.md +79 -0
  207. package/examples/drop/.aug-spec/manifest.json +8 -0
  208. package/examples/drop/main.aug +3 -0
  209. package/examples/drop/main.aug.md +35 -0
  210. package/examples/drop/resource.aug +8 -0
  211. package/examples/drop/resource.aug.md +44 -0
  212. package/examples/errors/.aug-spec/manifest.json +8 -0
  213. package/examples/errors/errors.aug +6 -0
  214. package/examples/errors/errors.aug.md +33 -0
  215. package/examples/errors/main.aug +7 -0
  216. package/examples/errors/main.aug.md +36 -0
  217. package/examples/ffi/.aug-spec/manifest.json +8 -0
  218. package/examples/ffi/main.aug +2 -0
  219. package/examples/ffi/main.aug.md +27 -0
  220. package/examples/ffi/native.aug +6 -0
  221. package/examples/ffi/native.aug.md +43 -0
  222. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  223. package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  224. package/examples/generic-di/.aug-spec/manifest.json +10 -0
  225. package/examples/generic-di/main.aug +9 -0
  226. package/examples/generic-di/main.aug.md +49 -0
  227. package/examples/generic-di/types.aug +17 -0
  228. package/examples/generic-di/types.aug.md +124 -0
  229. package/examples/generics/.aug-spec/manifest.json +8 -0
  230. package/examples/generics/main.aug +9 -0
  231. package/examples/generics/main.aug.md +58 -0
  232. package/examples/generics/types.aug +19 -0
  233. package/examples/generics/types.aug.md +132 -0
  234. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  235. package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  236. package/examples/hello/.aug-spec/manifest.json +14 -0
  237. package/examples/hello/app/export.aug +1 -0
  238. package/examples/hello/app/export.aug.md +17 -0
  239. package/examples/hello/app/greeter.aug +22 -0
  240. package/examples/hello/app/greeter.aug.md +109 -0
  241. package/examples/hello/logging/console.aug +7 -0
  242. package/examples/hello/logging/console.aug.md +65 -0
  243. package/examples/hello/logging/export.aug +2 -0
  244. package/examples/hello/logging/export.aug.md +19 -0
  245. package/examples/hello/logging/logger.aug +9 -0
  246. package/examples/hello/logging/logger.aug.md +59 -0
  247. package/examples/hello/main.aug +9 -0
  248. package/examples/hello/main.aug.md +49 -0
  249. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  250. package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  251. package/examples/interceptors/.aug-spec/manifest.json +12 -0
  252. package/examples/interceptors/app.aug +28 -0
  253. package/examples/interceptors/app.aug.md +162 -0
  254. package/examples/interceptors/interceptors.aug +40 -0
  255. package/examples/interceptors/interceptors.aug.md +180 -0
  256. package/examples/interceptors/logging.aug +12 -0
  257. package/examples/interceptors/logging.aug.md +96 -0
  258. package/examples/interceptors/main.aug +22 -0
  259. package/examples/interceptors/main.aug.md +76 -0
  260. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  261. package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  262. package/examples/new-syntax/.aug-spec/manifest.json +13 -0
  263. package/examples/new-syntax/console.aug +7 -0
  264. package/examples/new-syntax/console.aug.md +63 -0
  265. package/examples/new-syntax/greeter.aug +10 -0
  266. package/examples/new-syntax/greeter.aug.md +89 -0
  267. package/examples/new-syntax/logger.aug +6 -0
  268. package/examples/new-syntax/logger.aug.md +57 -0
  269. package/examples/new-syntax/main.aug +12 -0
  270. package/examples/new-syntax/main.aug.md +64 -0
  271. package/examples/new-syntax/math.aug +3 -0
  272. package/examples/new-syntax/math.aug.md +29 -0
  273. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
  274. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
  275. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
  276. package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
  277. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
  278. package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
  279. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
  280. package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
  281. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
  282. package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
  283. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
  284. package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
  285. package/examples/oidc-login/.aug-spec/manifest.json +40 -0
  286. package/examples/oidc-login/README.md +29 -0
  287. package/examples/oidc-login/client/contracts.aug +7 -0
  288. package/examples/oidc-login/client/contracts.aug.md +80 -0
  289. package/examples/oidc-login/client/endpoints.aug +21 -0
  290. package/examples/oidc-login/client/endpoints.aug.md +161 -0
  291. package/examples/oidc-login/client/export.aug +7 -0
  292. package/examples/oidc-login/client/export.aug.md +29 -0
  293. package/examples/oidc-login/client/login.aug +58 -0
  294. package/examples/oidc-login/client/login.aug.md +331 -0
  295. package/examples/oidc-login/client/logout.aug +18 -0
  296. package/examples/oidc-login/client/logout.aug.md +150 -0
  297. package/examples/oidc-login/client/protocol.aug +106 -0
  298. package/examples/oidc-login/client/protocol.aug.md +326 -0
  299. package/examples/oidc-login/client/session.aug +34 -0
  300. package/examples/oidc-login/client/session.aug.md +155 -0
  301. package/examples/oidc-login/client/views.aug +21 -0
  302. package/examples/oidc-login/client/views.aug.md +68 -0
  303. package/examples/oidc-login/common/export.aug +9 -0
  304. package/examples/oidc-login/common/export.aug.md +33 -0
  305. package/examples/oidc-login/common/headers.aug +11 -0
  306. package/examples/oidc-login/common/headers.aug.md +79 -0
  307. package/examples/oidc-login/common/keys.aug +37 -0
  308. package/examples/oidc-login/common/keys.aug.md +207 -0
  309. package/examples/oidc-login/common/settings.aug +4 -0
  310. package/examples/oidc-login/common/settings.aug.md +47 -0
  311. package/examples/oidc-login/common/views.aug +16 -0
  312. package/examples/oidc-login/common/views.aug.md +34 -0
  313. package/examples/oidc-login/main.aug +39 -0
  314. package/examples/oidc-login/main.aug.md +166 -0
  315. package/examples/oidc-login/main.yaml +12 -0
  316. package/examples/oidc-login/provider/authorization.aug +59 -0
  317. package/examples/oidc-login/provider/authorization.aug.md +264 -0
  318. package/examples/oidc-login/provider/contracts.aug +15 -0
  319. package/examples/oidc-login/provider/contracts.aug.md +193 -0
  320. package/examples/oidc-login/provider/credentials.aug +10 -0
  321. package/examples/oidc-login/provider/credentials.aug.md +64 -0
  322. package/examples/oidc-login/provider/discovery.aug +13 -0
  323. package/examples/oidc-login/provider/discovery.aug.md +133 -0
  324. package/examples/oidc-login/provider/export.aug +13 -0
  325. package/examples/oidc-login/provider/export.aug.md +41 -0
  326. package/examples/oidc-login/provider/token.aug +37 -0
  327. package/examples/oidc-login/provider/token.aug.md +223 -0
  328. package/examples/oidc-login/provider/userinfo.aug +26 -0
  329. package/examples/oidc-login/provider/userinfo.aug.md +104 -0
  330. package/examples/oidc-login/provider/views.aug +18 -0
  331. package/examples/oidc-login/provider/views.aug.md +63 -0
  332. package/examples/ownership/.aug-spec/manifest.json +8 -0
  333. package/examples/ownership/counter.aug +14 -0
  334. package/examples/ownership/counter.aug.md +85 -0
  335. package/examples/ownership/main.aug +4 -0
  336. package/examples/ownership/main.aug.md +38 -0
  337. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
  338. package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
  339. package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
  340. package/examples/ownership-transfer/main.aug +9 -0
  341. package/examples/ownership-transfer/main.aug.md +63 -0
  342. package/examples/ownership-transfer/resource.aug +16 -0
  343. package/examples/ownership-transfer/resource.aug.md +89 -0
  344. package/examples/packages/README.md +15 -0
  345. package/examples/packages/app/.aug-spec/manifest.json +9 -0
  346. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
  347. package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
  348. package/examples/packages/app/main.aug +2 -0
  349. package/examples/packages/app/main.aug.md +33 -0
  350. package/examples/packages/app/main.yaml +2 -0
  351. package/examples/packages/math/.aug-spec/manifest.json +8 -0
  352. package/examples/packages/math/README.md +3 -0
  353. package/examples/packages/math/aug-package.json +8 -0
  354. package/examples/packages/math/package.json +9 -0
  355. package/examples/packages/math/src/arithmetic.aug +8 -0
  356. package/examples/packages/math/src/arithmetic.aug.md +63 -0
  357. package/examples/packages/math/src/export.aug +1 -0
  358. package/examples/packages/math/src/export.aug.md +17 -0
  359. package/examples/visibility/.aug-spec/manifest.json +8 -0
  360. package/examples/visibility/counter.aug +14 -0
  361. package/examples/visibility/counter.aug.md +87 -0
  362. package/examples/visibility/main.aug +7 -0
  363. package/examples/visibility/main.aug.md +39 -0
  364. package/package.json +50 -0
  365. package/runtime/aug_crypto.c +121 -0
  366. package/runtime/aug_html.c +93 -0
  367. package/runtime/aug_http.c +829 -0
  368. package/runtime/aug_json.c +165 -0
  369. package/runtime/aug_runtime.c +792 -0
  370. package/runtime/aug_runtime.h +245 -0
  371. package/runtime/aug_tasks.c +172 -0
  372. package/runtime/aug_time.c +5 -0
  373. package/runtime/aug_values.c +80 -0
  374. package/scripts/bootstrap-native.mjs +121 -0
  375. package/scripts/native-dependencies.lock.json +65 -0
  376. package/scripts/native-home.mjs +11 -0
  377. package/src/actions.js +109 -0
  378. package/src/ast.js +19 -0
  379. package/src/builtins.js +93 -0
  380. package/src/checker.js +2896 -0
  381. package/src/cli.js +344 -0
  382. package/src/codegen.js +1159 -0
  383. package/src/config.js +149 -0
  384. package/src/continuation.js +110 -0
  385. package/src/di.js +24 -0
  386. package/src/documentation.js +27 -0
  387. package/src/editor.js +782 -0
  388. package/src/effects.js +29 -0
  389. package/src/fixes.js +222 -0
  390. package/src/formatter.js +296 -0
  391. package/src/freshness.js +154 -0
  392. package/src/help.js +212 -0
  393. package/src/html.js +27 -0
  394. package/src/http-policies.js +90 -0
  395. package/src/inference.js +16 -0
  396. package/src/interceptors.js +70 -0
  397. package/src/javadoc.js +67 -0
  398. package/src/lexer.js +199 -0
  399. package/src/libraries.js +31 -0
  400. package/src/lsp.js +180 -0
  401. package/src/native.js +144 -0
  402. package/src/navigation.js +162 -0
  403. package/src/openapi.js +220 -0
  404. package/src/ownership.js +232 -0
  405. package/src/package-manager.js +299 -0
  406. package/src/parser.js +1155 -0
  407. package/src/policies.js +130 -0
  408. package/src/project-init.js +19 -0
  409. package/src/project.js +292 -0
  410. package/src/schemas.js +62 -0
  411. package/src/semantic.js +255 -0
  412. package/src/spec.js +738 -0
  413. package/src/testing.js +186 -0
  414. package/src/types.js +10 -0
@@ -0,0 +1,1891 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg role="img" aria-label="Peak memory for two collection sizes" xmlns:xlink="http://www.w3.org/1999/xlink" width="432pt" height="360pt" viewBox="0 0 432 360" xmlns="http://www.w3.org/2000/svg" version="1.1">
5
+ <title>Peak memory for two collection sizes</title>
6
+ <metadata>
7
+ <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
8
+ <cc:Work>
9
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
10
+ <dc:title>Peak memory for two collection sizes</dc:title>
11
+ <dc:description>Median of three separate peak RSS measurements, including interpreter and runtime. This measures total process memory, not only the collection payload.</dc:description>
12
+ <dc:format>image/svg+xml</dc:format>
13
+ <dc:creator>
14
+ <cc:Agent>
15
+ <dc:title>Matplotlib v3.10.7, https://matplotlib.org/</dc:title>
16
+ </cc:Agent>
17
+ </dc:creator>
18
+ </cc:Work>
19
+ </rdf:RDF>
20
+ </metadata>
21
+ <defs>
22
+ <style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
23
+ </defs>
24
+ <g id="figure_1">
25
+ <g id="patch_1">
26
+ <path d="M 0 360
27
+ L 432 360
28
+ L 432 0
29
+ L 0 0
30
+ z
31
+ " style="fill: #ffffff"/>
32
+ </g>
33
+ <g id="axes_1">
34
+ <g id="patch_2">
35
+ <path d="M 44.993365 145.675698
36
+ L 425.555019 145.675698
37
+ L 425.555019 20.118365
38
+ L 44.993365 20.118365
39
+ z
40
+ " style="fill: #ffffff"/>
41
+ </g>
42
+ <g id="matplotlib.axis_1">
43
+ <g id="xtick_1">
44
+ <g id="line2d_1">
45
+ <path d="M 44.993365 145.675698
46
+ L 44.993365 20.118365
47
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
48
+ </g>
49
+ <g id="line2d_2">
50
+ <defs>
51
+ <path id="m9cd3e2f3f9" d="M 0 0
52
+ L 0 3.5
53
+ " style="stroke: #52606d; stroke-width: 0.8"/>
54
+ </defs>
55
+ <g>
56
+ <use xlink:href="#m9cd3e2f3f9" x="44.993365" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
57
+ </g>
58
+ </g>
59
+ <g id="text_1">
60
+ <!-- 0 -->
61
+ <g style="fill: #52606d" transform="translate(41.49399 161.033979) scale(0.11 -0.11)">
62
+ <defs>
63
+ <path id="DejaVuSans-30" d="M 2034 4250
64
+ Q 1547 4250 1301 3770
65
+ Q 1056 3291 1056 2328
66
+ Q 1056 1369 1301 889
67
+ Q 1547 409 2034 409
68
+ Q 2525 409 2770 889
69
+ Q 3016 1369 3016 2328
70
+ Q 3016 3291 2770 3770
71
+ Q 2525 4250 2034 4250
72
+ z
73
+ M 2034 4750
74
+ Q 2819 4750 3233 4129
75
+ Q 3647 3509 3647 2328
76
+ Q 3647 1150 3233 529
77
+ Q 2819 -91 2034 -91
78
+ Q 1250 -91 836 529
79
+ Q 422 1150 422 2328
80
+ Q 422 3509 836 4129
81
+ Q 1250 4750 2034 4750
82
+ z
83
+ " transform="scale(0.015625)"/>
84
+ </defs>
85
+ <use xlink:href="#DejaVuSans-30"/>
86
+ </g>
87
+ </g>
88
+ </g>
89
+ <g id="xtick_2">
90
+ <g id="line2d_3">
91
+ <path d="M 98.851034 145.675698
92
+ L 98.851034 20.118365
93
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
94
+ </g>
95
+ <g id="line2d_4">
96
+ <g>
97
+ <use xlink:href="#m9cd3e2f3f9" x="98.851034" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
98
+ </g>
99
+ </g>
100
+ <g id="text_2">
101
+ <!-- 10 -->
102
+ <g style="fill: #52606d" transform="translate(91.852284 161.033979) scale(0.11 -0.11)">
103
+ <defs>
104
+ <path id="DejaVuSans-31" d="M 794 531
105
+ L 1825 531
106
+ L 1825 4091
107
+ L 703 3866
108
+ L 703 4441
109
+ L 1819 4666
110
+ L 2450 4666
111
+ L 2450 531
112
+ L 3481 531
113
+ L 3481 0
114
+ L 794 0
115
+ L 794 531
116
+ z
117
+ " transform="scale(0.015625)"/>
118
+ </defs>
119
+ <use xlink:href="#DejaVuSans-31"/>
120
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
121
+ </g>
122
+ </g>
123
+ </g>
124
+ <g id="xtick_3">
125
+ <g id="line2d_5">
126
+ <path d="M 152.708703 145.675698
127
+ L 152.708703 20.118365
128
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
129
+ </g>
130
+ <g id="line2d_6">
131
+ <g>
132
+ <use xlink:href="#m9cd3e2f3f9" x="152.708703" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
133
+ </g>
134
+ </g>
135
+ <g id="text_3">
136
+ <!-- 20 -->
137
+ <g style="fill: #52606d" transform="translate(145.709953 161.033979) scale(0.11 -0.11)">
138
+ <defs>
139
+ <path id="DejaVuSans-32" d="M 1228 531
140
+ L 3431 531
141
+ L 3431 0
142
+ L 469 0
143
+ L 469 531
144
+ Q 828 903 1448 1529
145
+ Q 2069 2156 2228 2338
146
+ Q 2531 2678 2651 2914
147
+ Q 2772 3150 2772 3378
148
+ Q 2772 3750 2511 3984
149
+ Q 2250 4219 1831 4219
150
+ Q 1534 4219 1204 4116
151
+ Q 875 4013 500 3803
152
+ L 500 4441
153
+ Q 881 4594 1212 4672
154
+ Q 1544 4750 1819 4750
155
+ Q 2544 4750 2975 4387
156
+ Q 3406 4025 3406 3419
157
+ Q 3406 3131 3298 2873
158
+ Q 3191 2616 2906 2266
159
+ Q 2828 2175 2409 1742
160
+ Q 1991 1309 1228 531
161
+ z
162
+ " transform="scale(0.015625)"/>
163
+ </defs>
164
+ <use xlink:href="#DejaVuSans-32"/>
165
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
166
+ </g>
167
+ </g>
168
+ </g>
169
+ <g id="xtick_4">
170
+ <g id="line2d_7">
171
+ <path d="M 206.566372 145.675698
172
+ L 206.566372 20.118365
173
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
174
+ </g>
175
+ <g id="line2d_8">
176
+ <g>
177
+ <use xlink:href="#m9cd3e2f3f9" x="206.566372" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
178
+ </g>
179
+ </g>
180
+ <g id="text_4">
181
+ <!-- 30 -->
182
+ <g style="fill: #52606d" transform="translate(199.567622 161.033979) scale(0.11 -0.11)">
183
+ <defs>
184
+ <path id="DejaVuSans-33" d="M 2597 2516
185
+ Q 3050 2419 3304 2112
186
+ Q 3559 1806 3559 1356
187
+ Q 3559 666 3084 287
188
+ Q 2609 -91 1734 -91
189
+ Q 1441 -91 1130 -33
190
+ Q 819 25 488 141
191
+ L 488 750
192
+ Q 750 597 1062 519
193
+ Q 1375 441 1716 441
194
+ Q 2309 441 2620 675
195
+ Q 2931 909 2931 1356
196
+ Q 2931 1769 2642 2001
197
+ Q 2353 2234 1838 2234
198
+ L 1294 2234
199
+ L 1294 2753
200
+ L 1863 2753
201
+ Q 2328 2753 2575 2939
202
+ Q 2822 3125 2822 3475
203
+ Q 2822 3834 2567 4026
204
+ Q 2313 4219 1838 4219
205
+ Q 1578 4219 1281 4162
206
+ Q 984 4106 628 3988
207
+ L 628 4550
208
+ Q 988 4650 1302 4700
209
+ Q 1616 4750 1894 4750
210
+ Q 2613 4750 3031 4423
211
+ Q 3450 4097 3450 3541
212
+ Q 3450 3153 3228 2886
213
+ Q 3006 2619 2597 2516
214
+ z
215
+ " transform="scale(0.015625)"/>
216
+ </defs>
217
+ <use xlink:href="#DejaVuSans-33"/>
218
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
219
+ </g>
220
+ </g>
221
+ </g>
222
+ <g id="xtick_5">
223
+ <g id="line2d_9">
224
+ <path d="M 260.42404 145.675698
225
+ L 260.42404 20.118365
226
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
227
+ </g>
228
+ <g id="line2d_10">
229
+ <g>
230
+ <use xlink:href="#m9cd3e2f3f9" x="260.42404" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
231
+ </g>
232
+ </g>
233
+ <g id="text_5">
234
+ <!-- 40 -->
235
+ <g style="fill: #52606d" transform="translate(253.42529 161.033979) scale(0.11 -0.11)">
236
+ <defs>
237
+ <path id="DejaVuSans-34" d="M 2419 4116
238
+ L 825 1625
239
+ L 2419 1625
240
+ L 2419 4116
241
+ z
242
+ M 2253 4666
243
+ L 3047 4666
244
+ L 3047 1625
245
+ L 3713 1625
246
+ L 3713 1100
247
+ L 3047 1100
248
+ L 3047 0
249
+ L 2419 0
250
+ L 2419 1100
251
+ L 313 1100
252
+ L 313 1709
253
+ L 2253 4666
254
+ z
255
+ " transform="scale(0.015625)"/>
256
+ </defs>
257
+ <use xlink:href="#DejaVuSans-34"/>
258
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
259
+ </g>
260
+ </g>
261
+ </g>
262
+ <g id="xtick_6">
263
+ <g id="line2d_11">
264
+ <path d="M 314.281709 145.675698
265
+ L 314.281709 20.118365
266
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
267
+ </g>
268
+ <g id="line2d_12">
269
+ <g>
270
+ <use xlink:href="#m9cd3e2f3f9" x="314.281709" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
271
+ </g>
272
+ </g>
273
+ <g id="text_6">
274
+ <!-- 50 -->
275
+ <g style="fill: #52606d" transform="translate(307.282959 161.033979) scale(0.11 -0.11)">
276
+ <defs>
277
+ <path id="DejaVuSans-35" d="M 691 4666
278
+ L 3169 4666
279
+ L 3169 4134
280
+ L 1269 4134
281
+ L 1269 2991
282
+ Q 1406 3038 1543 3061
283
+ Q 1681 3084 1819 3084
284
+ Q 2600 3084 3056 2656
285
+ Q 3513 2228 3513 1497
286
+ Q 3513 744 3044 326
287
+ Q 2575 -91 1722 -91
288
+ Q 1428 -91 1123 -41
289
+ Q 819 9 494 109
290
+ L 494 744
291
+ Q 775 591 1075 516
292
+ Q 1375 441 1709 441
293
+ Q 2250 441 2565 725
294
+ Q 2881 1009 2881 1497
295
+ Q 2881 1984 2565 2268
296
+ Q 2250 2553 1709 2553
297
+ Q 1456 2553 1204 2497
298
+ Q 953 2441 691 2322
299
+ L 691 4666
300
+ z
301
+ " transform="scale(0.015625)"/>
302
+ </defs>
303
+ <use xlink:href="#DejaVuSans-35"/>
304
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
305
+ </g>
306
+ </g>
307
+ </g>
308
+ <g id="xtick_7">
309
+ <g id="line2d_13">
310
+ <path d="M 368.139378 145.675698
311
+ L 368.139378 20.118365
312
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
313
+ </g>
314
+ <g id="line2d_14">
315
+ <g>
316
+ <use xlink:href="#m9cd3e2f3f9" x="368.139378" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
317
+ </g>
318
+ </g>
319
+ <g id="text_7">
320
+ <!-- 60 -->
321
+ <g style="fill: #52606d" transform="translate(361.140628 161.033979) scale(0.11 -0.11)">
322
+ <defs>
323
+ <path id="DejaVuSans-36" d="M 2113 2584
324
+ Q 1688 2584 1439 2293
325
+ Q 1191 2003 1191 1497
326
+ Q 1191 994 1439 701
327
+ Q 1688 409 2113 409
328
+ Q 2538 409 2786 701
329
+ Q 3034 994 3034 1497
330
+ Q 3034 2003 2786 2293
331
+ Q 2538 2584 2113 2584
332
+ z
333
+ M 3366 4563
334
+ L 3366 3988
335
+ Q 3128 4100 2886 4159
336
+ Q 2644 4219 2406 4219
337
+ Q 1781 4219 1451 3797
338
+ Q 1122 3375 1075 2522
339
+ Q 1259 2794 1537 2939
340
+ Q 1816 3084 2150 3084
341
+ Q 2853 3084 3261 2657
342
+ Q 3669 2231 3669 1497
343
+ Q 3669 778 3244 343
344
+ Q 2819 -91 2113 -91
345
+ Q 1303 -91 875 529
346
+ Q 447 1150 447 2328
347
+ Q 447 3434 972 4092
348
+ Q 1497 4750 2381 4750
349
+ Q 2619 4750 2861 4703
350
+ Q 3103 4656 3366 4563
351
+ z
352
+ " transform="scale(0.015625)"/>
353
+ </defs>
354
+ <use xlink:href="#DejaVuSans-36"/>
355
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
356
+ </g>
357
+ </g>
358
+ </g>
359
+ <g id="xtick_8">
360
+ <g id="line2d_15">
361
+ <path d="M 421.997047 145.675698
362
+ L 421.997047 20.118365
363
+ " clip-path="url(#p1beda1645f)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
364
+ </g>
365
+ <g id="line2d_16">
366
+ <g>
367
+ <use xlink:href="#m9cd3e2f3f9" x="421.997047" y="145.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
368
+ </g>
369
+ </g>
370
+ <g id="text_8">
371
+ <!-- 70 -->
372
+ <g style="fill: #52606d" transform="translate(414.998297 161.033979) scale(0.11 -0.11)">
373
+ <defs>
374
+ <path id="DejaVuSans-37" d="M 525 4666
375
+ L 3525 4666
376
+ L 3525 4397
377
+ L 1831 0
378
+ L 1172 0
379
+ L 2766 4134
380
+ L 525 4134
381
+ L 525 4666
382
+ z
383
+ " transform="scale(0.015625)"/>
384
+ </defs>
385
+ <use xlink:href="#DejaVuSans-37"/>
386
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
387
+ </g>
388
+ </g>
389
+ </g>
390
+ <g id="text_9">
391
+ <!-- Peak process memory in MiB · lower uses less memory -->
392
+ <g style="fill: #263445" transform="translate(98.02888 174.920073) scale(0.1 -0.1)">
393
+ <defs>
394
+ <path id="DejaVuSans-50" d="M 1259 4147
395
+ L 1259 2394
396
+ L 2053 2394
397
+ Q 2494 2394 2734 2622
398
+ Q 2975 2850 2975 3272
399
+ Q 2975 3691 2734 3919
400
+ Q 2494 4147 2053 4147
401
+ L 1259 4147
402
+ z
403
+ M 628 4666
404
+ L 2053 4666
405
+ Q 2838 4666 3239 4311
406
+ Q 3641 3956 3641 3272
407
+ Q 3641 2581 3239 2228
408
+ Q 2838 1875 2053 1875
409
+ L 1259 1875
410
+ L 1259 0
411
+ L 628 0
412
+ L 628 4666
413
+ z
414
+ " transform="scale(0.015625)"/>
415
+ <path id="DejaVuSans-65" d="M 3597 1894
416
+ L 3597 1613
417
+ L 953 1613
418
+ Q 991 1019 1311 708
419
+ Q 1631 397 2203 397
420
+ Q 2534 397 2845 478
421
+ Q 3156 559 3463 722
422
+ L 3463 178
423
+ Q 3153 47 2828 -22
424
+ Q 2503 -91 2169 -91
425
+ Q 1331 -91 842 396
426
+ Q 353 884 353 1716
427
+ Q 353 2575 817 3079
428
+ Q 1281 3584 2069 3584
429
+ Q 2775 3584 3186 3129
430
+ Q 3597 2675 3597 1894
431
+ z
432
+ M 3022 2063
433
+ Q 3016 2534 2758 2815
434
+ Q 2500 3097 2075 3097
435
+ Q 1594 3097 1305 2825
436
+ Q 1016 2553 972 2059
437
+ L 3022 2063
438
+ z
439
+ " transform="scale(0.015625)"/>
440
+ <path id="DejaVuSans-61" d="M 2194 1759
441
+ Q 1497 1759 1228 1600
442
+ Q 959 1441 959 1056
443
+ Q 959 750 1161 570
444
+ Q 1363 391 1709 391
445
+ Q 2188 391 2477 730
446
+ Q 2766 1069 2766 1631
447
+ L 2766 1759
448
+ L 2194 1759
449
+ z
450
+ M 3341 1997
451
+ L 3341 0
452
+ L 2766 0
453
+ L 2766 531
454
+ Q 2569 213 2275 61
455
+ Q 1981 -91 1556 -91
456
+ Q 1019 -91 701 211
457
+ Q 384 513 384 1019
458
+ Q 384 1609 779 1909
459
+ Q 1175 2209 1959 2209
460
+ L 2766 2209
461
+ L 2766 2266
462
+ Q 2766 2663 2505 2880
463
+ Q 2244 3097 1772 3097
464
+ Q 1472 3097 1187 3025
465
+ Q 903 2953 641 2809
466
+ L 641 3341
467
+ Q 956 3463 1253 3523
468
+ Q 1550 3584 1831 3584
469
+ Q 2591 3584 2966 3190
470
+ Q 3341 2797 3341 1997
471
+ z
472
+ " transform="scale(0.015625)"/>
473
+ <path id="DejaVuSans-6b" d="M 581 4863
474
+ L 1159 4863
475
+ L 1159 1991
476
+ L 2875 3500
477
+ L 3609 3500
478
+ L 1753 1863
479
+ L 3688 0
480
+ L 2938 0
481
+ L 1159 1709
482
+ L 1159 0
483
+ L 581 0
484
+ L 581 4863
485
+ z
486
+ " transform="scale(0.015625)"/>
487
+ <path id="DejaVuSans-20" transform="scale(0.015625)"/>
488
+ <path id="DejaVuSans-70" d="M 1159 525
489
+ L 1159 -1331
490
+ L 581 -1331
491
+ L 581 3500
492
+ L 1159 3500
493
+ L 1159 2969
494
+ Q 1341 3281 1617 3432
495
+ Q 1894 3584 2278 3584
496
+ Q 2916 3584 3314 3078
497
+ Q 3713 2572 3713 1747
498
+ Q 3713 922 3314 415
499
+ Q 2916 -91 2278 -91
500
+ Q 1894 -91 1617 61
501
+ Q 1341 213 1159 525
502
+ z
503
+ M 3116 1747
504
+ Q 3116 2381 2855 2742
505
+ Q 2594 3103 2138 3103
506
+ Q 1681 3103 1420 2742
507
+ Q 1159 2381 1159 1747
508
+ Q 1159 1113 1420 752
509
+ Q 1681 391 2138 391
510
+ Q 2594 391 2855 752
511
+ Q 3116 1113 3116 1747
512
+ z
513
+ " transform="scale(0.015625)"/>
514
+ <path id="DejaVuSans-72" d="M 2631 2963
515
+ Q 2534 3019 2420 3045
516
+ Q 2306 3072 2169 3072
517
+ Q 1681 3072 1420 2755
518
+ Q 1159 2438 1159 1844
519
+ L 1159 0
520
+ L 581 0
521
+ L 581 3500
522
+ L 1159 3500
523
+ L 1159 2956
524
+ Q 1341 3275 1631 3429
525
+ Q 1922 3584 2338 3584
526
+ Q 2397 3584 2469 3576
527
+ Q 2541 3569 2628 3553
528
+ L 2631 2963
529
+ z
530
+ " transform="scale(0.015625)"/>
531
+ <path id="DejaVuSans-6f" d="M 1959 3097
532
+ Q 1497 3097 1228 2736
533
+ Q 959 2375 959 1747
534
+ Q 959 1119 1226 758
535
+ Q 1494 397 1959 397
536
+ Q 2419 397 2687 759
537
+ Q 2956 1122 2956 1747
538
+ Q 2956 2369 2687 2733
539
+ Q 2419 3097 1959 3097
540
+ z
541
+ M 1959 3584
542
+ Q 2709 3584 3137 3096
543
+ Q 3566 2609 3566 1747
544
+ Q 3566 888 3137 398
545
+ Q 2709 -91 1959 -91
546
+ Q 1206 -91 779 398
547
+ Q 353 888 353 1747
548
+ Q 353 2609 779 3096
549
+ Q 1206 3584 1959 3584
550
+ z
551
+ " transform="scale(0.015625)"/>
552
+ <path id="DejaVuSans-63" d="M 3122 3366
553
+ L 3122 2828
554
+ Q 2878 2963 2633 3030
555
+ Q 2388 3097 2138 3097
556
+ Q 1578 3097 1268 2742
557
+ Q 959 2388 959 1747
558
+ Q 959 1106 1268 751
559
+ Q 1578 397 2138 397
560
+ Q 2388 397 2633 464
561
+ Q 2878 531 3122 666
562
+ L 3122 134
563
+ Q 2881 22 2623 -34
564
+ Q 2366 -91 2075 -91
565
+ Q 1284 -91 818 406
566
+ Q 353 903 353 1747
567
+ Q 353 2603 823 3093
568
+ Q 1294 3584 2113 3584
569
+ Q 2378 3584 2631 3529
570
+ Q 2884 3475 3122 3366
571
+ z
572
+ " transform="scale(0.015625)"/>
573
+ <path id="DejaVuSans-73" d="M 2834 3397
574
+ L 2834 2853
575
+ Q 2591 2978 2328 3040
576
+ Q 2066 3103 1784 3103
577
+ Q 1356 3103 1142 2972
578
+ Q 928 2841 928 2578
579
+ Q 928 2378 1081 2264
580
+ Q 1234 2150 1697 2047
581
+ L 1894 2003
582
+ Q 2506 1872 2764 1633
583
+ Q 3022 1394 3022 966
584
+ Q 3022 478 2636 193
585
+ Q 2250 -91 1575 -91
586
+ Q 1294 -91 989 -36
587
+ Q 684 19 347 128
588
+ L 347 722
589
+ Q 666 556 975 473
590
+ Q 1284 391 1588 391
591
+ Q 1994 391 2212 530
592
+ Q 2431 669 2431 922
593
+ Q 2431 1156 2273 1281
594
+ Q 2116 1406 1581 1522
595
+ L 1381 1569
596
+ Q 847 1681 609 1914
597
+ Q 372 2147 372 2553
598
+ Q 372 3047 722 3315
599
+ Q 1072 3584 1716 3584
600
+ Q 2034 3584 2315 3537
601
+ Q 2597 3491 2834 3397
602
+ z
603
+ " transform="scale(0.015625)"/>
604
+ <path id="DejaVuSans-6d" d="M 3328 2828
605
+ Q 3544 3216 3844 3400
606
+ Q 4144 3584 4550 3584
607
+ Q 5097 3584 5394 3201
608
+ Q 5691 2819 5691 2113
609
+ L 5691 0
610
+ L 5113 0
611
+ L 5113 2094
612
+ Q 5113 2597 4934 2840
613
+ Q 4756 3084 4391 3084
614
+ Q 3944 3084 3684 2787
615
+ Q 3425 2491 3425 1978
616
+ L 3425 0
617
+ L 2847 0
618
+ L 2847 2094
619
+ Q 2847 2600 2669 2842
620
+ Q 2491 3084 2119 3084
621
+ Q 1678 3084 1418 2786
622
+ Q 1159 2488 1159 1978
623
+ L 1159 0
624
+ L 581 0
625
+ L 581 3500
626
+ L 1159 3500
627
+ L 1159 2956
628
+ Q 1356 3278 1631 3431
629
+ Q 1906 3584 2284 3584
630
+ Q 2666 3584 2933 3390
631
+ Q 3200 3197 3328 2828
632
+ z
633
+ " transform="scale(0.015625)"/>
634
+ <path id="DejaVuSans-79" d="M 2059 -325
635
+ Q 1816 -950 1584 -1140
636
+ Q 1353 -1331 966 -1331
637
+ L 506 -1331
638
+ L 506 -850
639
+ L 844 -850
640
+ Q 1081 -850 1212 -737
641
+ Q 1344 -625 1503 -206
642
+ L 1606 56
643
+ L 191 3500
644
+ L 800 3500
645
+ L 1894 763
646
+ L 2988 3500
647
+ L 3597 3500
648
+ L 2059 -325
649
+ z
650
+ " transform="scale(0.015625)"/>
651
+ <path id="DejaVuSans-69" d="M 603 3500
652
+ L 1178 3500
653
+ L 1178 0
654
+ L 603 0
655
+ L 603 3500
656
+ z
657
+ M 603 4863
658
+ L 1178 4863
659
+ L 1178 4134
660
+ L 603 4134
661
+ L 603 4863
662
+ z
663
+ " transform="scale(0.015625)"/>
664
+ <path id="DejaVuSans-6e" d="M 3513 2113
665
+ L 3513 0
666
+ L 2938 0
667
+ L 2938 2094
668
+ Q 2938 2591 2744 2837
669
+ Q 2550 3084 2163 3084
670
+ Q 1697 3084 1428 2787
671
+ Q 1159 2491 1159 1978
672
+ L 1159 0
673
+ L 581 0
674
+ L 581 3500
675
+ L 1159 3500
676
+ L 1159 2956
677
+ Q 1366 3272 1645 3428
678
+ Q 1925 3584 2291 3584
679
+ Q 2894 3584 3203 3211
680
+ Q 3513 2838 3513 2113
681
+ z
682
+ " transform="scale(0.015625)"/>
683
+ <path id="DejaVuSans-4d" d="M 628 4666
684
+ L 1569 4666
685
+ L 2759 1491
686
+ L 3956 4666
687
+ L 4897 4666
688
+ L 4897 0
689
+ L 4281 0
690
+ L 4281 4097
691
+ L 3078 897
692
+ L 2444 897
693
+ L 1241 4097
694
+ L 1241 0
695
+ L 628 0
696
+ L 628 4666
697
+ z
698
+ " transform="scale(0.015625)"/>
699
+ <path id="DejaVuSans-42" d="M 1259 2228
700
+ L 1259 519
701
+ L 2272 519
702
+ Q 2781 519 3026 730
703
+ Q 3272 941 3272 1375
704
+ Q 3272 1813 3026 2020
705
+ Q 2781 2228 2272 2228
706
+ L 1259 2228
707
+ z
708
+ M 1259 4147
709
+ L 1259 2741
710
+ L 2194 2741
711
+ Q 2656 2741 2882 2914
712
+ Q 3109 3088 3109 3444
713
+ Q 3109 3797 2882 3972
714
+ Q 2656 4147 2194 4147
715
+ L 1259 4147
716
+ z
717
+ M 628 4666
718
+ L 2241 4666
719
+ Q 2963 4666 3353 4366
720
+ Q 3744 4066 3744 3513
721
+ Q 3744 3084 3544 2831
722
+ Q 3344 2578 2956 2516
723
+ Q 3422 2416 3680 2098
724
+ Q 3938 1781 3938 1306
725
+ Q 3938 681 3513 340
726
+ Q 3088 0 2303 0
727
+ L 628 0
728
+ L 628 4666
729
+ z
730
+ " transform="scale(0.015625)"/>
731
+ <path id="DejaVuSans-b7" d="M 684 2619
732
+ L 1344 2619
733
+ L 1344 1825
734
+ L 684 1825
735
+ L 684 2619
736
+ z
737
+ " transform="scale(0.015625)"/>
738
+ <path id="DejaVuSans-6c" d="M 603 4863
739
+ L 1178 4863
740
+ L 1178 0
741
+ L 603 0
742
+ L 603 4863
743
+ z
744
+ " transform="scale(0.015625)"/>
745
+ <path id="DejaVuSans-77" d="M 269 3500
746
+ L 844 3500
747
+ L 1563 769
748
+ L 2278 3500
749
+ L 2956 3500
750
+ L 3675 769
751
+ L 4391 3500
752
+ L 4966 3500
753
+ L 4050 0
754
+ L 3372 0
755
+ L 2619 2869
756
+ L 1863 0
757
+ L 1184 0
758
+ L 269 3500
759
+ z
760
+ " transform="scale(0.015625)"/>
761
+ <path id="DejaVuSans-75" d="M 544 1381
762
+ L 544 3500
763
+ L 1119 3500
764
+ L 1119 1403
765
+ Q 1119 906 1312 657
766
+ Q 1506 409 1894 409
767
+ Q 2359 409 2629 706
768
+ Q 2900 1003 2900 1516
769
+ L 2900 3500
770
+ L 3475 3500
771
+ L 3475 0
772
+ L 2900 0
773
+ L 2900 538
774
+ Q 2691 219 2414 64
775
+ Q 2138 -91 1772 -91
776
+ Q 1169 -91 856 284
777
+ Q 544 659 544 1381
778
+ z
779
+ M 1991 3584
780
+ L 1991 3584
781
+ z
782
+ " transform="scale(0.015625)"/>
783
+ </defs>
784
+ <use xlink:href="#DejaVuSans-50"/>
785
+ <use xlink:href="#DejaVuSans-65" transform="translate(56.677734 0)"/>
786
+ <use xlink:href="#DejaVuSans-61" transform="translate(118.201172 0)"/>
787
+ <use xlink:href="#DejaVuSans-6b" transform="translate(179.480469 0)"/>
788
+ <use xlink:href="#DejaVuSans-20" transform="translate(237.390625 0)"/>
789
+ <use xlink:href="#DejaVuSans-70" transform="translate(269.177734 0)"/>
790
+ <use xlink:href="#DejaVuSans-72" transform="translate(332.654297 0)"/>
791
+ <use xlink:href="#DejaVuSans-6f" transform="translate(371.517578 0)"/>
792
+ <use xlink:href="#DejaVuSans-63" transform="translate(432.699219 0)"/>
793
+ <use xlink:href="#DejaVuSans-65" transform="translate(487.679688 0)"/>
794
+ <use xlink:href="#DejaVuSans-73" transform="translate(549.203125 0)"/>
795
+ <use xlink:href="#DejaVuSans-73" transform="translate(601.302734 0)"/>
796
+ <use xlink:href="#DejaVuSans-20" transform="translate(653.402344 0)"/>
797
+ <use xlink:href="#DejaVuSans-6d" transform="translate(685.189453 0)"/>
798
+ <use xlink:href="#DejaVuSans-65" transform="translate(782.601562 0)"/>
799
+ <use xlink:href="#DejaVuSans-6d" transform="translate(844.125 0)"/>
800
+ <use xlink:href="#DejaVuSans-6f" transform="translate(941.537109 0)"/>
801
+ <use xlink:href="#DejaVuSans-72" transform="translate(1002.71875 0)"/>
802
+ <use xlink:href="#DejaVuSans-79" transform="translate(1043.832031 0)"/>
803
+ <use xlink:href="#DejaVuSans-20" transform="translate(1103.011719 0)"/>
804
+ <use xlink:href="#DejaVuSans-69" transform="translate(1134.798828 0)"/>
805
+ <use xlink:href="#DejaVuSans-6e" transform="translate(1162.582031 0)"/>
806
+ <use xlink:href="#DejaVuSans-20" transform="translate(1225.960938 0)"/>
807
+ <use xlink:href="#DejaVuSans-4d" transform="translate(1257.748047 0)"/>
808
+ <use xlink:href="#DejaVuSans-69" transform="translate(1344.027344 0)"/>
809
+ <use xlink:href="#DejaVuSans-42" transform="translate(1371.810547 0)"/>
810
+ <use xlink:href="#DejaVuSans-20" transform="translate(1440.414062 0)"/>
811
+ <use xlink:href="#DejaVuSans-b7" transform="translate(1472.201172 0)"/>
812
+ <use xlink:href="#DejaVuSans-20" transform="translate(1503.988281 0)"/>
813
+ <use xlink:href="#DejaVuSans-6c" transform="translate(1535.775391 0)"/>
814
+ <use xlink:href="#DejaVuSans-6f" transform="translate(1563.558594 0)"/>
815
+ <use xlink:href="#DejaVuSans-77" transform="translate(1624.740234 0)"/>
816
+ <use xlink:href="#DejaVuSans-65" transform="translate(1706.527344 0)"/>
817
+ <use xlink:href="#DejaVuSans-72" transform="translate(1768.050781 0)"/>
818
+ <use xlink:href="#DejaVuSans-20" transform="translate(1809.164062 0)"/>
819
+ <use xlink:href="#DejaVuSans-75" transform="translate(1840.951172 0)"/>
820
+ <use xlink:href="#DejaVuSans-73" transform="translate(1904.330078 0)"/>
821
+ <use xlink:href="#DejaVuSans-65" transform="translate(1956.429688 0)"/>
822
+ <use xlink:href="#DejaVuSans-73" transform="translate(2017.953125 0)"/>
823
+ <use xlink:href="#DejaVuSans-20" transform="translate(2070.052734 0)"/>
824
+ <use xlink:href="#DejaVuSans-6c" transform="translate(2101.839844 0)"/>
825
+ <use xlink:href="#DejaVuSans-65" transform="translate(2129.623047 0)"/>
826
+ <use xlink:href="#DejaVuSans-73" transform="translate(2191.146484 0)"/>
827
+ <use xlink:href="#DejaVuSans-73" transform="translate(2243.246094 0)"/>
828
+ <use xlink:href="#DejaVuSans-20" transform="translate(2295.345703 0)"/>
829
+ <use xlink:href="#DejaVuSans-6d" transform="translate(2327.132812 0)"/>
830
+ <use xlink:href="#DejaVuSans-65" transform="translate(2424.544922 0)"/>
831
+ <use xlink:href="#DejaVuSans-6d" transform="translate(2486.068359 0)"/>
832
+ <use xlink:href="#DejaVuSans-6f" transform="translate(2583.480469 0)"/>
833
+ <use xlink:href="#DejaVuSans-72" transform="translate(2644.662109 0)"/>
834
+ <use xlink:href="#DejaVuSans-79" transform="translate(2685.775391 0)"/>
835
+ </g>
836
+ </g>
837
+ </g>
838
+ <g id="matplotlib.axis_2">
839
+ <g id="ytick_1">
840
+ <g id="line2d_17"/>
841
+ <g id="text_10">
842
+ <!-- August -->
843
+ <g style="fill: #263445" transform="translate(3.00024 39.25088) scale(0.11 -0.11)">
844
+ <defs>
845
+ <path id="DejaVuSans-41" d="M 2188 4044
846
+ L 1331 1722
847
+ L 3047 1722
848
+ L 2188 4044
849
+ z
850
+ M 1831 4666
851
+ L 2547 4666
852
+ L 4325 0
853
+ L 3669 0
854
+ L 3244 1197
855
+ L 1141 1197
856
+ L 716 0
857
+ L 50 0
858
+ L 1831 4666
859
+ z
860
+ " transform="scale(0.015625)"/>
861
+ <path id="DejaVuSans-67" d="M 2906 1791
862
+ Q 2906 2416 2648 2759
863
+ Q 2391 3103 1925 3103
864
+ Q 1463 3103 1205 2759
865
+ Q 947 2416 947 1791
866
+ Q 947 1169 1205 825
867
+ Q 1463 481 1925 481
868
+ Q 2391 481 2648 825
869
+ Q 2906 1169 2906 1791
870
+ z
871
+ M 3481 434
872
+ Q 3481 -459 3084 -895
873
+ Q 2688 -1331 1869 -1331
874
+ Q 1566 -1331 1297 -1286
875
+ Q 1028 -1241 775 -1147
876
+ L 775 -588
877
+ Q 1028 -725 1275 -790
878
+ Q 1522 -856 1778 -856
879
+ Q 2344 -856 2625 -561
880
+ Q 2906 -266 2906 331
881
+ L 2906 616
882
+ Q 2728 306 2450 153
883
+ Q 2172 0 1784 0
884
+ Q 1141 0 747 490
885
+ Q 353 981 353 1791
886
+ Q 353 2603 747 3093
887
+ Q 1141 3584 1784 3584
888
+ Q 2172 3584 2450 3431
889
+ Q 2728 3278 2906 2969
890
+ L 2906 3500
891
+ L 3481 3500
892
+ L 3481 434
893
+ z
894
+ " transform="scale(0.015625)"/>
895
+ <path id="DejaVuSans-74" d="M 1172 4494
896
+ L 1172 3500
897
+ L 2356 3500
898
+ L 2356 3053
899
+ L 1172 3053
900
+ L 1172 1153
901
+ Q 1172 725 1289 603
902
+ Q 1406 481 1766 481
903
+ L 2356 481
904
+ L 2356 0
905
+ L 1766 0
906
+ Q 1100 0 847 248
907
+ Q 594 497 594 1153
908
+ L 594 3053
909
+ L 172 3053
910
+ L 172 3500
911
+ L 594 3500
912
+ L 594 4494
913
+ L 1172 4494
914
+ z
915
+ " transform="scale(0.015625)"/>
916
+ </defs>
917
+ <use xlink:href="#DejaVuSans-41"/>
918
+ <use xlink:href="#DejaVuSans-75" transform="translate(68.408203 0)"/>
919
+ <use xlink:href="#DejaVuSans-67" transform="translate(131.787109 0)"/>
920
+ <use xlink:href="#DejaVuSans-75" transform="translate(195.263672 0)"/>
921
+ <use xlink:href="#DejaVuSans-73" transform="translate(258.642578 0)"/>
922
+ <use xlink:href="#DejaVuSans-74" transform="translate(310.742188 0)"/>
923
+ </g>
924
+ </g>
925
+ </g>
926
+ <g id="ytick_2">
927
+ <g id="line2d_18"/>
928
+ <g id="text_11">
929
+ <!-- C -->
930
+ <g style="fill: #263445" transform="translate(33.812271 71.134408) scale(0.11 -0.11)">
931
+ <defs>
932
+ <path id="DejaVuSans-43" d="M 4122 4306
933
+ L 4122 3641
934
+ Q 3803 3938 3442 4084
935
+ Q 3081 4231 2675 4231
936
+ Q 1875 4231 1450 3742
937
+ Q 1025 3253 1025 2328
938
+ Q 1025 1406 1450 917
939
+ Q 1875 428 2675 428
940
+ Q 3081 428 3442 575
941
+ Q 3803 722 4122 1019
942
+ L 4122 359
943
+ Q 3791 134 3420 21
944
+ Q 3050 -91 2638 -91
945
+ Q 1578 -91 968 557
946
+ Q 359 1206 359 2328
947
+ Q 359 3453 968 4101
948
+ Q 1578 4750 2638 4750
949
+ Q 3056 4750 3426 4639
950
+ Q 3797 4528 4122 4306
951
+ z
952
+ " transform="scale(0.015625)"/>
953
+ </defs>
954
+ <use xlink:href="#DejaVuSans-43"/>
955
+ </g>
956
+ </g>
957
+ </g>
958
+ <g id="ytick_3">
959
+ <g id="line2d_19"/>
960
+ <g id="text_12">
961
+ <!-- Node -->
962
+ <g style="fill: #263445" transform="translate(12.781646 103.017936) scale(0.11 -0.11)">
963
+ <defs>
964
+ <path id="DejaVuSans-4e" d="M 628 4666
965
+ L 1478 4666
966
+ L 3547 763
967
+ L 3547 4666
968
+ L 4159 4666
969
+ L 4159 0
970
+ L 3309 0
971
+ L 1241 3903
972
+ L 1241 0
973
+ L 628 0
974
+ L 628 4666
975
+ z
976
+ " transform="scale(0.015625)"/>
977
+ <path id="DejaVuSans-64" d="M 2906 2969
978
+ L 2906 4863
979
+ L 3481 4863
980
+ L 3481 0
981
+ L 2906 0
982
+ L 2906 525
983
+ Q 2725 213 2448 61
984
+ Q 2172 -91 1784 -91
985
+ Q 1150 -91 751 415
986
+ Q 353 922 353 1747
987
+ Q 353 2572 751 3078
988
+ Q 1150 3584 1784 3584
989
+ Q 2172 3584 2448 3432
990
+ Q 2725 3281 2906 2969
991
+ z
992
+ M 947 1747
993
+ Q 947 1113 1208 752
994
+ Q 1469 391 1925 391
995
+ Q 2381 391 2643 752
996
+ Q 2906 1113 2906 1747
997
+ Q 2906 2381 2643 2742
998
+ Q 2381 3103 1925 3103
999
+ Q 1469 3103 1208 2742
1000
+ Q 947 2381 947 1747
1001
+ z
1002
+ " transform="scale(0.015625)"/>
1003
+ </defs>
1004
+ <use xlink:href="#DejaVuSans-4e"/>
1005
+ <use xlink:href="#DejaVuSans-6f" transform="translate(74.804688 0)"/>
1006
+ <use xlink:href="#DejaVuSans-64" transform="translate(135.986328 0)"/>
1007
+ <use xlink:href="#DejaVuSans-65" transform="translate(199.462891 0)"/>
1008
+ </g>
1009
+ </g>
1010
+ </g>
1011
+ <g id="ytick_4">
1012
+ <g id="line2d_20"/>
1013
+ <g id="text_13">
1014
+ <!-- Python -->
1015
+ <g style="fill: #263445" transform="translate(3.364615 134.901464) scale(0.11 -0.11)">
1016
+ <defs>
1017
+ <path id="DejaVuSans-68" d="M 3513 2113
1018
+ L 3513 0
1019
+ L 2938 0
1020
+ L 2938 2094
1021
+ Q 2938 2591 2744 2837
1022
+ Q 2550 3084 2163 3084
1023
+ Q 1697 3084 1428 2787
1024
+ Q 1159 2491 1159 1978
1025
+ L 1159 0
1026
+ L 581 0
1027
+ L 581 4863
1028
+ L 1159 4863
1029
+ L 1159 2956
1030
+ Q 1366 3272 1645 3428
1031
+ Q 1925 3584 2291 3584
1032
+ Q 2894 3584 3203 3211
1033
+ Q 3513 2838 3513 2113
1034
+ z
1035
+ " transform="scale(0.015625)"/>
1036
+ </defs>
1037
+ <use xlink:href="#DejaVuSans-50"/>
1038
+ <use xlink:href="#DejaVuSans-79" transform="translate(60.302734 0)"/>
1039
+ <use xlink:href="#DejaVuSans-74" transform="translate(119.482422 0)"/>
1040
+ <use xlink:href="#DejaVuSans-68" transform="translate(158.691406 0)"/>
1041
+ <use xlink:href="#DejaVuSans-6f" transform="translate(222.070312 0)"/>
1042
+ <use xlink:href="#DejaVuSans-6e" transform="translate(283.251953 0)"/>
1043
+ </g>
1044
+ </g>
1045
+ </g>
1046
+ </g>
1047
+ <g id="patch_3">
1048
+ <path d="M 44.993365 25.825516
1049
+ L 69.313469 25.825516
1050
+ L 69.313469 44.317963
1051
+ L 44.993365 44.317963
1052
+ z
1053
+ " clip-path="url(#p1beda1645f)" style="fill: #087e8b"/>
1054
+ </g>
1055
+ <g id="patch_4">
1056
+ <path d="M 44.993365 57.709044
1057
+ L 68.556095 57.709044
1058
+ L 68.556095 76.20149
1059
+ L 44.993365 76.20149
1060
+ z
1061
+ " clip-path="url(#p1beda1645f)" style="fill: #6c7789"/>
1062
+ </g>
1063
+ <g id="patch_5">
1064
+ <path d="M 44.993365 89.592572
1065
+ L 351.897925 89.592572
1066
+ L 351.897925 108.085018
1067
+ L 44.993365 108.085018
1068
+ z
1069
+ " clip-path="url(#p1beda1645f)" style="fill: #587f25"/>
1070
+ </g>
1071
+ <g id="patch_6">
1072
+ <path d="M 44.993365 121.4761
1073
+ L 153.886839 121.4761
1074
+ L 153.886839 139.968546
1075
+ L 44.993365 139.968546
1076
+ z
1077
+ " clip-path="url(#p1beda1645f)" style="fill: #9265b8"/>
1078
+ </g>
1079
+ <g id="patch_7">
1080
+ <path d="M 44.993365 145.675698
1081
+ L 425.555019 145.675698
1082
+ " style="fill: none; stroke: #c4cbd2; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
1083
+ </g>
1084
+ <g id="text_14">
1085
+ <!-- 4.5 -->
1086
+ <g style="fill: #263445" transform="translate(76.986083 38.107052) scale(0.11 -0.11)">
1087
+ <defs>
1088
+ <path id="DejaVuSans-2e" d="M 684 794
1089
+ L 1344 794
1090
+ L 1344 0
1091
+ L 684 0
1092
+ L 684 794
1093
+ z
1094
+ " transform="scale(0.015625)"/>
1095
+ </defs>
1096
+ <use xlink:href="#DejaVuSans-34"/>
1097
+ <use xlink:href="#DejaVuSans-2e" transform="translate(63.623047 0)"/>
1098
+ <use xlink:href="#DejaVuSans-35" transform="translate(95.410156 0)"/>
1099
+ </g>
1100
+ </g>
1101
+ <g id="text_15">
1102
+ <!-- 4.4 -->
1103
+ <g style="fill: #263445" transform="translate(76.228709 69.99058) scale(0.11 -0.11)">
1104
+ <use xlink:href="#DejaVuSans-34"/>
1105
+ <use xlink:href="#DejaVuSans-2e" transform="translate(63.623047 0)"/>
1106
+ <use xlink:href="#DejaVuSans-34" transform="translate(95.410156 0)"/>
1107
+ </g>
1108
+ </g>
1109
+ <g id="text_16">
1110
+ <!-- 57.0 -->
1111
+ <g style="fill: #263445" transform="translate(359.570539 101.874108) scale(0.11 -0.11)">
1112
+ <use xlink:href="#DejaVuSans-35"/>
1113
+ <use xlink:href="#DejaVuSans-37" transform="translate(63.623047 0)"/>
1114
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1115
+ <use xlink:href="#DejaVuSans-30" transform="translate(159.033203 0)"/>
1116
+ </g>
1117
+ </g>
1118
+ <g id="text_17">
1119
+ <!-- 20.2 -->
1120
+ <g style="fill: #263445" transform="translate(161.559453 133.757635) scale(0.11 -0.11)">
1121
+ <use xlink:href="#DejaVuSans-32"/>
1122
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1123
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1124
+ <use xlink:href="#DejaVuSans-32" transform="translate(159.033203 0)"/>
1125
+ </g>
1126
+ </g>
1127
+ <g id="text_18">
1128
+ <!-- Map + Set · 20,000 entries -->
1129
+ <g style="fill: #263445" transform="translate(44.993365 12.118365) scale(0.12 -0.12)">
1130
+ <defs>
1131
+ <path id="DejaVuSans-Bold-4d" d="M 588 4666
1132
+ L 2119 4666
1133
+ L 3181 2169
1134
+ L 4250 4666
1135
+ L 5778 4666
1136
+ L 5778 0
1137
+ L 4641 0
1138
+ L 4641 3413
1139
+ L 3566 897
1140
+ L 2803 897
1141
+ L 1728 3413
1142
+ L 1728 0
1143
+ L 588 0
1144
+ L 588 4666
1145
+ z
1146
+ " transform="scale(0.015625)"/>
1147
+ <path id="DejaVuSans-Bold-61" d="M 2106 1575
1148
+ Q 1756 1575 1579 1456
1149
+ Q 1403 1338 1403 1106
1150
+ Q 1403 894 1545 773
1151
+ Q 1688 653 1941 653
1152
+ Q 2256 653 2472 879
1153
+ Q 2688 1106 2688 1447
1154
+ L 2688 1575
1155
+ L 2106 1575
1156
+ z
1157
+ M 3816 1997
1158
+ L 3816 0
1159
+ L 2688 0
1160
+ L 2688 519
1161
+ Q 2463 200 2181 54
1162
+ Q 1900 -91 1497 -91
1163
+ Q 953 -91 614 226
1164
+ Q 275 544 275 1050
1165
+ Q 275 1666 698 1953
1166
+ Q 1122 2241 2028 2241
1167
+ L 2688 2241
1168
+ L 2688 2328
1169
+ Q 2688 2594 2478 2717
1170
+ Q 2269 2841 1825 2841
1171
+ Q 1466 2841 1156 2769
1172
+ Q 847 2697 581 2553
1173
+ L 581 3406
1174
+ Q 941 3494 1303 3539
1175
+ Q 1666 3584 2028 3584
1176
+ Q 2975 3584 3395 3211
1177
+ Q 3816 2838 3816 1997
1178
+ z
1179
+ " transform="scale(0.015625)"/>
1180
+ <path id="DejaVuSans-Bold-70" d="M 1656 506
1181
+ L 1656 -1331
1182
+ L 538 -1331
1183
+ L 538 3500
1184
+ L 1656 3500
1185
+ L 1656 2988
1186
+ Q 1888 3294 2169 3439
1187
+ Q 2450 3584 2816 3584
1188
+ Q 3463 3584 3878 3070
1189
+ Q 4294 2556 4294 1747
1190
+ Q 4294 938 3878 423
1191
+ Q 3463 -91 2816 -91
1192
+ Q 2450 -91 2169 54
1193
+ Q 1888 200 1656 506
1194
+ z
1195
+ M 2400 2772
1196
+ Q 2041 2772 1848 2508
1197
+ Q 1656 2244 1656 1747
1198
+ Q 1656 1250 1848 986
1199
+ Q 2041 722 2400 722
1200
+ Q 2759 722 2948 984
1201
+ Q 3138 1247 3138 1747
1202
+ Q 3138 2247 2948 2509
1203
+ Q 2759 2772 2400 2772
1204
+ z
1205
+ " transform="scale(0.015625)"/>
1206
+ <path id="DejaVuSans-Bold-20" transform="scale(0.015625)"/>
1207
+ <path id="DejaVuSans-Bold-2b" d="M 3053 4013
1208
+ L 3053 2375
1209
+ L 4684 2375
1210
+ L 4684 1638
1211
+ L 3053 1638
1212
+ L 3053 0
1213
+ L 2309 0
1214
+ L 2309 1638
1215
+ L 678 1638
1216
+ L 678 2375
1217
+ L 2309 2375
1218
+ L 2309 4013
1219
+ L 3053 4013
1220
+ z
1221
+ " transform="scale(0.015625)"/>
1222
+ <path id="DejaVuSans-Bold-53" d="M 3834 4519
1223
+ L 3834 3531
1224
+ Q 3450 3703 3084 3790
1225
+ Q 2719 3878 2394 3878
1226
+ Q 1963 3878 1756 3759
1227
+ Q 1550 3641 1550 3391
1228
+ Q 1550 3203 1689 3098
1229
+ Q 1828 2994 2194 2919
1230
+ L 2706 2816
1231
+ Q 3484 2659 3812 2340
1232
+ Q 4141 2022 4141 1434
1233
+ Q 4141 663 3683 286
1234
+ Q 3225 -91 2284 -91
1235
+ Q 1841 -91 1394 -6
1236
+ Q 947 78 500 244
1237
+ L 500 1259
1238
+ Q 947 1022 1364 901
1239
+ Q 1781 781 2169 781
1240
+ Q 2563 781 2772 912
1241
+ Q 2981 1044 2981 1288
1242
+ Q 2981 1506 2839 1625
1243
+ Q 2697 1744 2272 1838
1244
+ L 1806 1941
1245
+ Q 1106 2091 782 2419
1246
+ Q 459 2747 459 3303
1247
+ Q 459 4000 909 4375
1248
+ Q 1359 4750 2203 4750
1249
+ Q 2588 4750 2994 4692
1250
+ Q 3400 4634 3834 4519
1251
+ z
1252
+ " transform="scale(0.015625)"/>
1253
+ <path id="DejaVuSans-Bold-65" d="M 4031 1759
1254
+ L 4031 1441
1255
+ L 1416 1441
1256
+ Q 1456 1047 1700 850
1257
+ Q 1944 653 2381 653
1258
+ Q 2734 653 3104 758
1259
+ Q 3475 863 3866 1075
1260
+ L 3866 213
1261
+ Q 3469 63 3072 -14
1262
+ Q 2675 -91 2278 -91
1263
+ Q 1328 -91 801 392
1264
+ Q 275 875 275 1747
1265
+ Q 275 2603 792 3093
1266
+ Q 1309 3584 2216 3584
1267
+ Q 3041 3584 3536 3087
1268
+ Q 4031 2591 4031 1759
1269
+ z
1270
+ M 2881 2131
1271
+ Q 2881 2450 2695 2645
1272
+ Q 2509 2841 2209 2841
1273
+ Q 1884 2841 1681 2658
1274
+ Q 1478 2475 1428 2131
1275
+ L 2881 2131
1276
+ z
1277
+ " transform="scale(0.015625)"/>
1278
+ <path id="DejaVuSans-Bold-74" d="M 1759 4494
1279
+ L 1759 3500
1280
+ L 2913 3500
1281
+ L 2913 2700
1282
+ L 1759 2700
1283
+ L 1759 1216
1284
+ Q 1759 972 1856 886
1285
+ Q 1953 800 2241 800
1286
+ L 2816 800
1287
+ L 2816 0
1288
+ L 1856 0
1289
+ Q 1194 0 917 276
1290
+ Q 641 553 641 1216
1291
+ L 641 2700
1292
+ L 84 2700
1293
+ L 84 3500
1294
+ L 641 3500
1295
+ L 641 4494
1296
+ L 1759 4494
1297
+ z
1298
+ " transform="scale(0.015625)"/>
1299
+ <path id="DejaVuSans-Bold-b7" d="M 653 2828
1300
+ L 1778 2828
1301
+ L 1778 1619
1302
+ L 653 1619
1303
+ L 653 2828
1304
+ z
1305
+ " transform="scale(0.015625)"/>
1306
+ <path id="DejaVuSans-Bold-32" d="M 1844 884
1307
+ L 3897 884
1308
+ L 3897 0
1309
+ L 506 0
1310
+ L 506 884
1311
+ L 2209 2388
1312
+ Q 2438 2594 2547 2791
1313
+ Q 2656 2988 2656 3200
1314
+ Q 2656 3528 2436 3728
1315
+ Q 2216 3928 1850 3928
1316
+ Q 1569 3928 1234 3808
1317
+ Q 900 3688 519 3450
1318
+ L 519 4475
1319
+ Q 925 4609 1322 4679
1320
+ Q 1719 4750 2100 4750
1321
+ Q 2938 4750 3402 4381
1322
+ Q 3866 4013 3866 3353
1323
+ Q 3866 2972 3669 2642
1324
+ Q 3472 2313 2841 1759
1325
+ L 1844 884
1326
+ z
1327
+ " transform="scale(0.015625)"/>
1328
+ <path id="DejaVuSans-Bold-30" d="M 2944 2338
1329
+ Q 2944 3213 2780 3570
1330
+ Q 2616 3928 2228 3928
1331
+ Q 1841 3928 1675 3570
1332
+ Q 1509 3213 1509 2338
1333
+ Q 1509 1453 1675 1090
1334
+ Q 1841 728 2228 728
1335
+ Q 2613 728 2778 1090
1336
+ Q 2944 1453 2944 2338
1337
+ z
1338
+ M 4147 2328
1339
+ Q 4147 1169 3647 539
1340
+ Q 3147 -91 2228 -91
1341
+ Q 1306 -91 806 539
1342
+ Q 306 1169 306 2328
1343
+ Q 306 3491 806 4120
1344
+ Q 1306 4750 2228 4750
1345
+ Q 3147 4750 3647 4120
1346
+ Q 4147 3491 4147 2328
1347
+ z
1348
+ " transform="scale(0.015625)"/>
1349
+ <path id="DejaVuSans-Bold-2c" d="M 653 1209
1350
+ L 1778 1209
1351
+ L 1778 256
1352
+ L 1006 -909
1353
+ L 341 -909
1354
+ L 653 256
1355
+ L 653 1209
1356
+ z
1357
+ " transform="scale(0.015625)"/>
1358
+ <path id="DejaVuSans-Bold-6e" d="M 4056 2131
1359
+ L 4056 0
1360
+ L 2931 0
1361
+ L 2931 347
1362
+ L 2931 1631
1363
+ Q 2931 2084 2911 2256
1364
+ Q 2891 2428 2841 2509
1365
+ Q 2775 2619 2662 2680
1366
+ Q 2550 2741 2406 2741
1367
+ Q 2056 2741 1856 2470
1368
+ Q 1656 2200 1656 1722
1369
+ L 1656 0
1370
+ L 538 0
1371
+ L 538 3500
1372
+ L 1656 3500
1373
+ L 1656 2988
1374
+ Q 1909 3294 2193 3439
1375
+ Q 2478 3584 2822 3584
1376
+ Q 3428 3584 3742 3212
1377
+ Q 4056 2841 4056 2131
1378
+ z
1379
+ " transform="scale(0.015625)"/>
1380
+ <path id="DejaVuSans-Bold-72" d="M 3138 2547
1381
+ Q 2991 2616 2845 2648
1382
+ Q 2700 2681 2553 2681
1383
+ Q 2122 2681 1889 2404
1384
+ Q 1656 2128 1656 1613
1385
+ L 1656 0
1386
+ L 538 0
1387
+ L 538 3500
1388
+ L 1656 3500
1389
+ L 1656 2925
1390
+ Q 1872 3269 2151 3426
1391
+ Q 2431 3584 2822 3584
1392
+ Q 2878 3584 2943 3579
1393
+ Q 3009 3575 3134 3559
1394
+ L 3138 2547
1395
+ z
1396
+ " transform="scale(0.015625)"/>
1397
+ <path id="DejaVuSans-Bold-69" d="M 538 3500
1398
+ L 1656 3500
1399
+ L 1656 0
1400
+ L 538 0
1401
+ L 538 3500
1402
+ z
1403
+ M 538 4863
1404
+ L 1656 4863
1405
+ L 1656 3950
1406
+ L 538 3950
1407
+ L 538 4863
1408
+ z
1409
+ " transform="scale(0.015625)"/>
1410
+ <path id="DejaVuSans-Bold-73" d="M 3272 3391
1411
+ L 3272 2541
1412
+ Q 2913 2691 2578 2766
1413
+ Q 2244 2841 1947 2841
1414
+ Q 1628 2841 1473 2761
1415
+ Q 1319 2681 1319 2516
1416
+ Q 1319 2381 1436 2309
1417
+ Q 1553 2238 1856 2203
1418
+ L 2053 2175
1419
+ Q 2913 2066 3209 1816
1420
+ Q 3506 1566 3506 1031
1421
+ Q 3506 472 3093 190
1422
+ Q 2681 -91 1863 -91
1423
+ Q 1516 -91 1145 -36
1424
+ Q 775 19 384 128
1425
+ L 384 978
1426
+ Q 719 816 1070 734
1427
+ Q 1422 653 1784 653
1428
+ Q 2113 653 2278 743
1429
+ Q 2444 834 2444 1013
1430
+ Q 2444 1163 2330 1236
1431
+ Q 2216 1309 1875 1350
1432
+ L 1678 1375
1433
+ Q 931 1469 631 1722
1434
+ Q 331 1975 331 2491
1435
+ Q 331 3047 712 3315
1436
+ Q 1094 3584 1881 3584
1437
+ Q 2191 3584 2531 3537
1438
+ Q 2872 3491 3272 3391
1439
+ z
1440
+ " transform="scale(0.015625)"/>
1441
+ </defs>
1442
+ <use xlink:href="#DejaVuSans-Bold-4d"/>
1443
+ <use xlink:href="#DejaVuSans-Bold-61" transform="translate(99.511719 0)"/>
1444
+ <use xlink:href="#DejaVuSans-Bold-70" transform="translate(166.992188 0)"/>
1445
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(238.574219 0)"/>
1446
+ <use xlink:href="#DejaVuSans-Bold-2b" transform="translate(273.388672 0)"/>
1447
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(357.177734 0)"/>
1448
+ <use xlink:href="#DejaVuSans-Bold-53" transform="translate(391.992188 0)"/>
1449
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(464.013672 0)"/>
1450
+ <use xlink:href="#DejaVuSans-Bold-74" transform="translate(531.835938 0)"/>
1451
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(579.638672 0)"/>
1452
+ <use xlink:href="#DejaVuSans-Bold-b7" transform="translate(614.453125 0)"/>
1453
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(652.441406 0)"/>
1454
+ <use xlink:href="#DejaVuSans-Bold-32" transform="translate(687.255859 0)"/>
1455
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(756.835938 0)"/>
1456
+ <use xlink:href="#DejaVuSans-Bold-2c" transform="translate(826.416016 0)"/>
1457
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(864.404297 0)"/>
1458
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(933.984375 0)"/>
1459
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(1003.564453 0)"/>
1460
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(1073.144531 0)"/>
1461
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(1107.958984 0)"/>
1462
+ <use xlink:href="#DejaVuSans-Bold-6e" transform="translate(1175.78125 0)"/>
1463
+ <use xlink:href="#DejaVuSans-Bold-74" transform="translate(1246.972656 0)"/>
1464
+ <use xlink:href="#DejaVuSans-Bold-72" transform="translate(1294.775391 0)"/>
1465
+ <use xlink:href="#DejaVuSans-Bold-69" transform="translate(1344.091797 0)"/>
1466
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(1378.369141 0)"/>
1467
+ <use xlink:href="#DejaVuSans-Bold-73" transform="translate(1446.191406 0)"/>
1468
+ </g>
1469
+ </g>
1470
+ </g>
1471
+ <g id="axes_2">
1472
+ <g id="patch_8">
1473
+ <path d="M 44.993365 325.675698
1474
+ L 425.555019 325.675698
1475
+ L 425.555019 200.118365
1476
+ L 44.993365 200.118365
1477
+ z
1478
+ " style="fill: #ffffff"/>
1479
+ </g>
1480
+ <g id="matplotlib.axis_3">
1481
+ <g id="xtick_9">
1482
+ <g id="line2d_21">
1483
+ <path d="M 44.993365 325.675698
1484
+ L 44.993365 200.118365
1485
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1486
+ </g>
1487
+ <g id="line2d_22">
1488
+ <g>
1489
+ <use xlink:href="#m9cd3e2f3f9" x="44.993365" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1490
+ </g>
1491
+ </g>
1492
+ <g id="text_19">
1493
+ <!-- 0 -->
1494
+ <g style="fill: #52606d" transform="translate(41.49399 341.033979) scale(0.11 -0.11)">
1495
+ <use xlink:href="#DejaVuSans-30"/>
1496
+ </g>
1497
+ </g>
1498
+ </g>
1499
+ <g id="xtick_10">
1500
+ <g id="line2d_23">
1501
+ <path d="M 112.363942 325.675698
1502
+ L 112.363942 200.118365
1503
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1504
+ </g>
1505
+ <g id="line2d_24">
1506
+ <g>
1507
+ <use xlink:href="#m9cd3e2f3f9" x="112.363942" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1508
+ </g>
1509
+ </g>
1510
+ <g id="text_20">
1511
+ <!-- 20 -->
1512
+ <g style="fill: #52606d" transform="translate(105.365192 341.033979) scale(0.11 -0.11)">
1513
+ <use xlink:href="#DejaVuSans-32"/>
1514
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1515
+ </g>
1516
+ </g>
1517
+ </g>
1518
+ <g id="xtick_11">
1519
+ <g id="line2d_25">
1520
+ <path d="M 179.73452 325.675698
1521
+ L 179.73452 200.118365
1522
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1523
+ </g>
1524
+ <g id="line2d_26">
1525
+ <g>
1526
+ <use xlink:href="#m9cd3e2f3f9" x="179.73452" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1527
+ </g>
1528
+ </g>
1529
+ <g id="text_21">
1530
+ <!-- 40 -->
1531
+ <g style="fill: #52606d" transform="translate(172.73577 341.033979) scale(0.11 -0.11)">
1532
+ <use xlink:href="#DejaVuSans-34"/>
1533
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1534
+ </g>
1535
+ </g>
1536
+ </g>
1537
+ <g id="xtick_12">
1538
+ <g id="line2d_27">
1539
+ <path d="M 247.105097 325.675698
1540
+ L 247.105097 200.118365
1541
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1542
+ </g>
1543
+ <g id="line2d_28">
1544
+ <g>
1545
+ <use xlink:href="#m9cd3e2f3f9" x="247.105097" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1546
+ </g>
1547
+ </g>
1548
+ <g id="text_22">
1549
+ <!-- 60 -->
1550
+ <g style="fill: #52606d" transform="translate(240.106347 341.033979) scale(0.11 -0.11)">
1551
+ <use xlink:href="#DejaVuSans-36"/>
1552
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1553
+ </g>
1554
+ </g>
1555
+ </g>
1556
+ <g id="xtick_13">
1557
+ <g id="line2d_29">
1558
+ <path d="M 314.475675 325.675698
1559
+ L 314.475675 200.118365
1560
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1561
+ </g>
1562
+ <g id="line2d_30">
1563
+ <g>
1564
+ <use xlink:href="#m9cd3e2f3f9" x="314.475675" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1565
+ </g>
1566
+ </g>
1567
+ <g id="text_23">
1568
+ <!-- 80 -->
1569
+ <g style="fill: #52606d" transform="translate(307.476925 341.033979) scale(0.11 -0.11)">
1570
+ <defs>
1571
+ <path id="DejaVuSans-38" d="M 2034 2216
1572
+ Q 1584 2216 1326 1975
1573
+ Q 1069 1734 1069 1313
1574
+ Q 1069 891 1326 650
1575
+ Q 1584 409 2034 409
1576
+ Q 2484 409 2743 651
1577
+ Q 3003 894 3003 1313
1578
+ Q 3003 1734 2745 1975
1579
+ Q 2488 2216 2034 2216
1580
+ z
1581
+ M 1403 2484
1582
+ Q 997 2584 770 2862
1583
+ Q 544 3141 544 3541
1584
+ Q 544 4100 942 4425
1585
+ Q 1341 4750 2034 4750
1586
+ Q 2731 4750 3128 4425
1587
+ Q 3525 4100 3525 3541
1588
+ Q 3525 3141 3298 2862
1589
+ Q 3072 2584 2669 2484
1590
+ Q 3125 2378 3379 2068
1591
+ Q 3634 1759 3634 1313
1592
+ Q 3634 634 3220 271
1593
+ Q 2806 -91 2034 -91
1594
+ Q 1263 -91 848 271
1595
+ Q 434 634 434 1313
1596
+ Q 434 1759 690 2068
1597
+ Q 947 2378 1403 2484
1598
+ z
1599
+ M 1172 3481
1600
+ Q 1172 3119 1398 2916
1601
+ Q 1625 2713 2034 2713
1602
+ Q 2441 2713 2670 2916
1603
+ Q 2900 3119 2900 3481
1604
+ Q 2900 3844 2670 4047
1605
+ Q 2441 4250 2034 4250
1606
+ Q 1625 4250 1398 4047
1607
+ Q 1172 3844 1172 3481
1608
+ z
1609
+ " transform="scale(0.015625)"/>
1610
+ </defs>
1611
+ <use xlink:href="#DejaVuSans-38"/>
1612
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1613
+ </g>
1614
+ </g>
1615
+ </g>
1616
+ <g id="xtick_14">
1617
+ <g id="line2d_31">
1618
+ <path d="M 381.846252 325.675698
1619
+ L 381.846252 200.118365
1620
+ " clip-path="url(#p20c2bd4974)" style="fill: none; stroke: #e8edf1; stroke-width: 0.8; stroke-linecap: square"/>
1621
+ </g>
1622
+ <g id="line2d_32">
1623
+ <g>
1624
+ <use xlink:href="#m9cd3e2f3f9" x="381.846252" y="325.675698" style="fill: #52606d; stroke: #52606d; stroke-width: 0.8"/>
1625
+ </g>
1626
+ </g>
1627
+ <g id="text_24">
1628
+ <!-- 100 -->
1629
+ <g style="fill: #52606d" transform="translate(371.348127 341.033979) scale(0.11 -0.11)">
1630
+ <use xlink:href="#DejaVuSans-31"/>
1631
+ <use xlink:href="#DejaVuSans-30" transform="translate(63.623047 0)"/>
1632
+ <use xlink:href="#DejaVuSans-30" transform="translate(127.246094 0)"/>
1633
+ </g>
1634
+ </g>
1635
+ </g>
1636
+ <g id="text_25">
1637
+ <!-- Peak process memory in MiB · lower uses less memory -->
1638
+ <g style="fill: #263445" transform="translate(98.02888 354.920073) scale(0.1 -0.1)">
1639
+ <use xlink:href="#DejaVuSans-50"/>
1640
+ <use xlink:href="#DejaVuSans-65" transform="translate(56.677734 0)"/>
1641
+ <use xlink:href="#DejaVuSans-61" transform="translate(118.201172 0)"/>
1642
+ <use xlink:href="#DejaVuSans-6b" transform="translate(179.480469 0)"/>
1643
+ <use xlink:href="#DejaVuSans-20" transform="translate(237.390625 0)"/>
1644
+ <use xlink:href="#DejaVuSans-70" transform="translate(269.177734 0)"/>
1645
+ <use xlink:href="#DejaVuSans-72" transform="translate(332.654297 0)"/>
1646
+ <use xlink:href="#DejaVuSans-6f" transform="translate(371.517578 0)"/>
1647
+ <use xlink:href="#DejaVuSans-63" transform="translate(432.699219 0)"/>
1648
+ <use xlink:href="#DejaVuSans-65" transform="translate(487.679688 0)"/>
1649
+ <use xlink:href="#DejaVuSans-73" transform="translate(549.203125 0)"/>
1650
+ <use xlink:href="#DejaVuSans-73" transform="translate(601.302734 0)"/>
1651
+ <use xlink:href="#DejaVuSans-20" transform="translate(653.402344 0)"/>
1652
+ <use xlink:href="#DejaVuSans-6d" transform="translate(685.189453 0)"/>
1653
+ <use xlink:href="#DejaVuSans-65" transform="translate(782.601562 0)"/>
1654
+ <use xlink:href="#DejaVuSans-6d" transform="translate(844.125 0)"/>
1655
+ <use xlink:href="#DejaVuSans-6f" transform="translate(941.537109 0)"/>
1656
+ <use xlink:href="#DejaVuSans-72" transform="translate(1002.71875 0)"/>
1657
+ <use xlink:href="#DejaVuSans-79" transform="translate(1043.832031 0)"/>
1658
+ <use xlink:href="#DejaVuSans-20" transform="translate(1103.011719 0)"/>
1659
+ <use xlink:href="#DejaVuSans-69" transform="translate(1134.798828 0)"/>
1660
+ <use xlink:href="#DejaVuSans-6e" transform="translate(1162.582031 0)"/>
1661
+ <use xlink:href="#DejaVuSans-20" transform="translate(1225.960938 0)"/>
1662
+ <use xlink:href="#DejaVuSans-4d" transform="translate(1257.748047 0)"/>
1663
+ <use xlink:href="#DejaVuSans-69" transform="translate(1344.027344 0)"/>
1664
+ <use xlink:href="#DejaVuSans-42" transform="translate(1371.810547 0)"/>
1665
+ <use xlink:href="#DejaVuSans-20" transform="translate(1440.414062 0)"/>
1666
+ <use xlink:href="#DejaVuSans-b7" transform="translate(1472.201172 0)"/>
1667
+ <use xlink:href="#DejaVuSans-20" transform="translate(1503.988281 0)"/>
1668
+ <use xlink:href="#DejaVuSans-6c" transform="translate(1535.775391 0)"/>
1669
+ <use xlink:href="#DejaVuSans-6f" transform="translate(1563.558594 0)"/>
1670
+ <use xlink:href="#DejaVuSans-77" transform="translate(1624.740234 0)"/>
1671
+ <use xlink:href="#DejaVuSans-65" transform="translate(1706.527344 0)"/>
1672
+ <use xlink:href="#DejaVuSans-72" transform="translate(1768.050781 0)"/>
1673
+ <use xlink:href="#DejaVuSans-20" transform="translate(1809.164062 0)"/>
1674
+ <use xlink:href="#DejaVuSans-75" transform="translate(1840.951172 0)"/>
1675
+ <use xlink:href="#DejaVuSans-73" transform="translate(1904.330078 0)"/>
1676
+ <use xlink:href="#DejaVuSans-65" transform="translate(1956.429688 0)"/>
1677
+ <use xlink:href="#DejaVuSans-73" transform="translate(2017.953125 0)"/>
1678
+ <use xlink:href="#DejaVuSans-20" transform="translate(2070.052734 0)"/>
1679
+ <use xlink:href="#DejaVuSans-6c" transform="translate(2101.839844 0)"/>
1680
+ <use xlink:href="#DejaVuSans-65" transform="translate(2129.623047 0)"/>
1681
+ <use xlink:href="#DejaVuSans-73" transform="translate(2191.146484 0)"/>
1682
+ <use xlink:href="#DejaVuSans-73" transform="translate(2243.246094 0)"/>
1683
+ <use xlink:href="#DejaVuSans-20" transform="translate(2295.345703 0)"/>
1684
+ <use xlink:href="#DejaVuSans-6d" transform="translate(2327.132812 0)"/>
1685
+ <use xlink:href="#DejaVuSans-65" transform="translate(2424.544922 0)"/>
1686
+ <use xlink:href="#DejaVuSans-6d" transform="translate(2486.068359 0)"/>
1687
+ <use xlink:href="#DejaVuSans-6f" transform="translate(2583.480469 0)"/>
1688
+ <use xlink:href="#DejaVuSans-72" transform="translate(2644.662109 0)"/>
1689
+ <use xlink:href="#DejaVuSans-79" transform="translate(2685.775391 0)"/>
1690
+ </g>
1691
+ </g>
1692
+ </g>
1693
+ <g id="matplotlib.axis_4">
1694
+ <g id="ytick_5">
1695
+ <g id="line2d_33"/>
1696
+ <g id="text_26">
1697
+ <!-- August -->
1698
+ <g style="fill: #263445" transform="translate(3.00024 219.25088) scale(0.11 -0.11)">
1699
+ <use xlink:href="#DejaVuSans-41"/>
1700
+ <use xlink:href="#DejaVuSans-75" transform="translate(68.408203 0)"/>
1701
+ <use xlink:href="#DejaVuSans-67" transform="translate(131.787109 0)"/>
1702
+ <use xlink:href="#DejaVuSans-75" transform="translate(195.263672 0)"/>
1703
+ <use xlink:href="#DejaVuSans-73" transform="translate(258.642578 0)"/>
1704
+ <use xlink:href="#DejaVuSans-74" transform="translate(310.742188 0)"/>
1705
+ </g>
1706
+ </g>
1707
+ </g>
1708
+ <g id="ytick_6">
1709
+ <g id="line2d_34"/>
1710
+ <g id="text_27">
1711
+ <!-- C -->
1712
+ <g style="fill: #263445" transform="translate(33.812271 251.134408) scale(0.11 -0.11)">
1713
+ <use xlink:href="#DejaVuSans-43"/>
1714
+ </g>
1715
+ </g>
1716
+ </g>
1717
+ <g id="ytick_7">
1718
+ <g id="line2d_35"/>
1719
+ <g id="text_28">
1720
+ <!-- Node -->
1721
+ <g style="fill: #263445" transform="translate(12.781646 283.017936) scale(0.11 -0.11)">
1722
+ <use xlink:href="#DejaVuSans-4e"/>
1723
+ <use xlink:href="#DejaVuSans-6f" transform="translate(74.804688 0)"/>
1724
+ <use xlink:href="#DejaVuSans-64" transform="translate(135.986328 0)"/>
1725
+ <use xlink:href="#DejaVuSans-65" transform="translate(199.462891 0)"/>
1726
+ </g>
1727
+ </g>
1728
+ </g>
1729
+ <g id="ytick_8">
1730
+ <g id="line2d_36"/>
1731
+ <g id="text_29">
1732
+ <!-- Python -->
1733
+ <g style="fill: #263445" transform="translate(3.364615 314.901464) scale(0.11 -0.11)">
1734
+ <use xlink:href="#DejaVuSans-50"/>
1735
+ <use xlink:href="#DejaVuSans-79" transform="translate(60.302734 0)"/>
1736
+ <use xlink:href="#DejaVuSans-74" transform="translate(119.482422 0)"/>
1737
+ <use xlink:href="#DejaVuSans-68" transform="translate(158.691406 0)"/>
1738
+ <use xlink:href="#DejaVuSans-6f" transform="translate(222.070312 0)"/>
1739
+ <use xlink:href="#DejaVuSans-6e" transform="translate(283.251953 0)"/>
1740
+ </g>
1741
+ </g>
1742
+ </g>
1743
+ </g>
1744
+ <g id="patch_9">
1745
+ <path d="M 44.993365 205.825516
1746
+ L 160.365479 205.825516
1747
+ L 160.365479 224.317963
1748
+ L 44.993365 224.317963
1749
+ z
1750
+ " clip-path="url(#p20c2bd4974)" style="fill: #087e8b"/>
1751
+ </g>
1752
+ <g id="patch_10">
1753
+ <path d="M 44.993365 237.709044
1754
+ L 130.575052 237.709044
1755
+ L 130.575052 256.20149
1756
+ L 44.993365 256.20149
1757
+ z
1758
+ " clip-path="url(#p20c2bd4974)" style="fill: #6c7789"/>
1759
+ </g>
1760
+ <g id="patch_11">
1761
+ <path d="M 44.993365 269.592572
1762
+ L 351.897925 269.592572
1763
+ L 351.897925 288.085018
1764
+ L 44.993365 288.085018
1765
+ z
1766
+ " clip-path="url(#p20c2bd4974)" style="fill: #587f25"/>
1767
+ </g>
1768
+ <g id="patch_12">
1769
+ <path d="M 44.993365 301.4761
1770
+ L 254.105321 301.4761
1771
+ L 254.105321 319.968546
1772
+ L 44.993365 319.968546
1773
+ z
1774
+ " clip-path="url(#p20c2bd4974)" style="fill: #9265b8"/>
1775
+ </g>
1776
+ <g id="patch_13">
1777
+ <path d="M 44.993365 325.675698
1778
+ L 425.555019 325.675698
1779
+ " style="fill: none; stroke: #c4cbd2; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
1780
+ </g>
1781
+ <g id="text_30">
1782
+ <!-- 34.2 -->
1783
+ <g style="fill: #263445" transform="translate(168.038093 218.107052) scale(0.11 -0.11)">
1784
+ <use xlink:href="#DejaVuSans-33"/>
1785
+ <use xlink:href="#DejaVuSans-34" transform="translate(63.623047 0)"/>
1786
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1787
+ <use xlink:href="#DejaVuSans-32" transform="translate(159.033203 0)"/>
1788
+ </g>
1789
+ </g>
1790
+ <g id="text_31">
1791
+ <!-- 25.4 -->
1792
+ <g style="fill: #263445" transform="translate(138.247666 249.99058) scale(0.11 -0.11)">
1793
+ <use xlink:href="#DejaVuSans-32"/>
1794
+ <use xlink:href="#DejaVuSans-35" transform="translate(63.623047 0)"/>
1795
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1796
+ <use xlink:href="#DejaVuSans-34" transform="translate(159.033203 0)"/>
1797
+ </g>
1798
+ </g>
1799
+ <g id="text_32">
1800
+ <!-- 91.1 -->
1801
+ <g style="fill: #263445" transform="translate(359.570539 281.874108) scale(0.11 -0.11)">
1802
+ <defs>
1803
+ <path id="DejaVuSans-39" d="M 703 97
1804
+ L 703 672
1805
+ Q 941 559 1184 500
1806
+ Q 1428 441 1663 441
1807
+ Q 2288 441 2617 861
1808
+ Q 2947 1281 2994 2138
1809
+ Q 2813 1869 2534 1725
1810
+ Q 2256 1581 1919 1581
1811
+ Q 1219 1581 811 2004
1812
+ Q 403 2428 403 3163
1813
+ Q 403 3881 828 4315
1814
+ Q 1253 4750 1959 4750
1815
+ Q 2769 4750 3195 4129
1816
+ Q 3622 3509 3622 2328
1817
+ Q 3622 1225 3098 567
1818
+ Q 2575 -91 1691 -91
1819
+ Q 1453 -91 1209 -44
1820
+ Q 966 3 703 97
1821
+ z
1822
+ M 1959 2075
1823
+ Q 2384 2075 2632 2365
1824
+ Q 2881 2656 2881 3163
1825
+ Q 2881 3666 2632 3958
1826
+ Q 2384 4250 1959 4250
1827
+ Q 1534 4250 1286 3958
1828
+ Q 1038 3666 1038 3163
1829
+ Q 1038 2656 1286 2365
1830
+ Q 1534 2075 1959 2075
1831
+ z
1832
+ " transform="scale(0.015625)"/>
1833
+ </defs>
1834
+ <use xlink:href="#DejaVuSans-39"/>
1835
+ <use xlink:href="#DejaVuSans-31" transform="translate(63.623047 0)"/>
1836
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1837
+ <use xlink:href="#DejaVuSans-31" transform="translate(159.033203 0)"/>
1838
+ </g>
1839
+ </g>
1840
+ <g id="text_33">
1841
+ <!-- 62.1 -->
1842
+ <g style="fill: #263445" transform="translate(261.777935 313.757635) scale(0.11 -0.11)">
1843
+ <use xlink:href="#DejaVuSans-36"/>
1844
+ <use xlink:href="#DejaVuSans-32" transform="translate(63.623047 0)"/>
1845
+ <use xlink:href="#DejaVuSans-2e" transform="translate(127.246094 0)"/>
1846
+ <use xlink:href="#DejaVuSans-31" transform="translate(159.033203 0)"/>
1847
+ </g>
1848
+ </g>
1849
+ <g id="text_34">
1850
+ <!-- Map + Set · 200,000 entries -->
1851
+ <g style="fill: #263445" transform="translate(44.993365 192.118365) scale(0.12 -0.12)">
1852
+ <use xlink:href="#DejaVuSans-Bold-4d"/>
1853
+ <use xlink:href="#DejaVuSans-Bold-61" transform="translate(99.511719 0)"/>
1854
+ <use xlink:href="#DejaVuSans-Bold-70" transform="translate(166.992188 0)"/>
1855
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(238.574219 0)"/>
1856
+ <use xlink:href="#DejaVuSans-Bold-2b" transform="translate(273.388672 0)"/>
1857
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(357.177734 0)"/>
1858
+ <use xlink:href="#DejaVuSans-Bold-53" transform="translate(391.992188 0)"/>
1859
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(464.013672 0)"/>
1860
+ <use xlink:href="#DejaVuSans-Bold-74" transform="translate(531.835938 0)"/>
1861
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(579.638672 0)"/>
1862
+ <use xlink:href="#DejaVuSans-Bold-b7" transform="translate(614.453125 0)"/>
1863
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(652.441406 0)"/>
1864
+ <use xlink:href="#DejaVuSans-Bold-32" transform="translate(687.255859 0)"/>
1865
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(756.835938 0)"/>
1866
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(826.416016 0)"/>
1867
+ <use xlink:href="#DejaVuSans-Bold-2c" transform="translate(895.996094 0)"/>
1868
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(933.984375 0)"/>
1869
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(1003.564453 0)"/>
1870
+ <use xlink:href="#DejaVuSans-Bold-30" transform="translate(1073.144531 0)"/>
1871
+ <use xlink:href="#DejaVuSans-Bold-20" transform="translate(1142.724609 0)"/>
1872
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(1177.539062 0)"/>
1873
+ <use xlink:href="#DejaVuSans-Bold-6e" transform="translate(1245.361328 0)"/>
1874
+ <use xlink:href="#DejaVuSans-Bold-74" transform="translate(1316.552734 0)"/>
1875
+ <use xlink:href="#DejaVuSans-Bold-72" transform="translate(1364.355469 0)"/>
1876
+ <use xlink:href="#DejaVuSans-Bold-69" transform="translate(1413.671875 0)"/>
1877
+ <use xlink:href="#DejaVuSans-Bold-65" transform="translate(1447.949219 0)"/>
1878
+ <use xlink:href="#DejaVuSans-Bold-73" transform="translate(1515.771484 0)"/>
1879
+ </g>
1880
+ </g>
1881
+ </g>
1882
+ </g>
1883
+ <defs>
1884
+ <clipPath id="p1beda1645f">
1885
+ <rect x="44.993365" y="20.118365" width="380.561654" height="125.557333"/>
1886
+ </clipPath>
1887
+ <clipPath id="p20c2bd4974">
1888
+ <rect x="44.993365" y="200.118365" width="380.561654" height="125.557332"/>
1889
+ </clipPath>
1890
+ </defs>
1891
+ </svg>