datahike-browser-tests 1.0.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 (324) hide show
  1. package/.circleci/config.yml +405 -0
  2. package/.circleci/scripts/gen_ci.clj +194 -0
  3. package/.cirrus.yml +60 -0
  4. package/.clj-kondo/babashka/sci/config.edn +1 -0
  5. package/.clj-kondo/babashka/sci/sci/core.clj +9 -0
  6. package/.clj-kondo/config.edn +95 -0
  7. package/.dir-locals.el +2 -0
  8. package/.github/FUNDING.yml +3 -0
  9. package/.github/ISSUE_TEMPLATE/1-bug-report.yml +68 -0
  10. package/.github/ISSUE_TEMPLATE/2-feature-request.yml +28 -0
  11. package/.github/ISSUE_TEMPLATE/config.yml +6 -0
  12. package/.github/pull_request_template.md +24 -0
  13. package/.github/workflows/native-image.yml +84 -0
  14. package/LICENSE +203 -0
  15. package/README.md +273 -0
  16. package/bb/deps.edn +9 -0
  17. package/bb/resources/github-fingerprints +3 -0
  18. package/bb/resources/native-image-tests/run-bb-pod-tests.clj +162 -0
  19. package/bb/resources/native-image-tests/run-libdatahike-tests +12 -0
  20. package/bb/resources/native-image-tests/run-native-image-tests +74 -0
  21. package/bb/resources/native-image-tests/run-python-tests +22 -0
  22. package/bb/resources/native-image-tests/testconfig.attr-refs.edn +6 -0
  23. package/bb/resources/native-image-tests/testconfig.edn +5 -0
  24. package/bb/resources/template/.settings/org.eclipse.jdt.apt.core.prefs +2 -0
  25. package/bb/resources/template/.settings/org.eclipse.jdt.core.prefs +9 -0
  26. package/bb/resources/template/.settings/org.eclipse.m2e.core.prefs +4 -0
  27. package/bb/resources/template/pom.xml +22 -0
  28. package/bb/src/tools/build.clj +132 -0
  29. package/bb/src/tools/clj_kondo.clj +32 -0
  30. package/bb/src/tools/deploy.clj +26 -0
  31. package/bb/src/tools/examples.clj +19 -0
  32. package/bb/src/tools/npm.clj +100 -0
  33. package/bb/src/tools/python.clj +14 -0
  34. package/bb/src/tools/release.clj +94 -0
  35. package/bb/src/tools/test.clj +148 -0
  36. package/bb/src/tools/version.clj +47 -0
  37. package/bb.edn +269 -0
  38. package/benchmark/src/benchmark/cli.clj +195 -0
  39. package/benchmark/src/benchmark/compare.clj +157 -0
  40. package/benchmark/src/benchmark/config.clj +316 -0
  41. package/benchmark/src/benchmark/measure.clj +187 -0
  42. package/benchmark/src/benchmark/store.clj +190 -0
  43. package/benchmark/test/benchmark/measure_test.clj +156 -0
  44. package/build.clj +30 -0
  45. package/config.edn +49 -0
  46. package/deps.edn +138 -0
  47. package/dev/sandbox.clj +82 -0
  48. package/dev/sandbox.cljs +127 -0
  49. package/dev/sandbox_benchmarks.clj +27 -0
  50. package/dev/sandbox_client.clj +87 -0
  51. package/dev/sandbox_transact_bench.clj +109 -0
  52. package/dev/user.clj +79 -0
  53. package/doc/README.md +96 -0
  54. package/doc/adl/README.md +6 -0
  55. package/doc/adl/adr-000-adr.org +28 -0
  56. package/doc/adl/adr-001-attribute-references.org +15 -0
  57. package/doc/adl/adr-002-build-tooling.org +54 -0
  58. package/doc/adl/adr-003-db-meta-data.md +52 -0
  59. package/doc/adl/adr-004-github-flow.md +40 -0
  60. package/doc/adl/adr-XYZ-template.md +30 -0
  61. package/doc/adl/index.org +3 -0
  62. package/doc/assets/datahike-logo.svg +3 -0
  63. package/doc/assets/datahiking-invoice.org +85 -0
  64. package/doc/assets/hhtree2.png +0 -0
  65. package/doc/assets/network_topology.svg +624 -0
  66. package/doc/assets/perf.png +0 -0
  67. package/doc/assets/schema_mindmap.mm +132 -0
  68. package/doc/assets/schema_mindmap.svg +970 -0
  69. package/doc/assets/temporal_index.mm +74 -0
  70. package/doc/backend-development.md +78 -0
  71. package/doc/bb-pod.md +89 -0
  72. package/doc/benchmarking.md +360 -0
  73. package/doc/bindings/edn-conversion.md +383 -0
  74. package/doc/cli.md +162 -0
  75. package/doc/cljdoc.edn +27 -0
  76. package/doc/cljs-support.md +133 -0
  77. package/doc/config.md +406 -0
  78. package/doc/contributing.md +114 -0
  79. package/doc/datalog-vs-sql.md +210 -0
  80. package/doc/datomic_differences.md +109 -0
  81. package/doc/development/pull-api-ns.md +186 -0
  82. package/doc/development/pull-frame-state-diagram.jpg +0 -0
  83. package/doc/distributed.md +566 -0
  84. package/doc/entity_spec.md +92 -0
  85. package/doc/gc.md +273 -0
  86. package/doc/java-api.md +808 -0
  87. package/doc/javascript-api.md +421 -0
  88. package/doc/libdatahike.md +86 -0
  89. package/doc/logging_and_error_handling.md +43 -0
  90. package/doc/norms.md +66 -0
  91. package/doc/schema-migration.md +85 -0
  92. package/doc/schema.md +287 -0
  93. package/doc/storage-backends.md +363 -0
  94. package/doc/store-id-refactoring.md +596 -0
  95. package/doc/time_variance.md +325 -0
  96. package/doc/unstructured.md +167 -0
  97. package/doc/versioning.md +261 -0
  98. package/examples/basic/README.md +19 -0
  99. package/examples/basic/deps.edn +6 -0
  100. package/examples/basic/docker-compose.yml +13 -0
  101. package/examples/basic/src/examples/core.clj +60 -0
  102. package/examples/basic/src/examples/schema.clj +155 -0
  103. package/examples/basic/src/examples/store.clj +60 -0
  104. package/examples/basic/src/examples/time_travel.clj +185 -0
  105. package/examples/java/.settings/org.eclipse.core.resources.prefs +3 -0
  106. package/examples/java/.settings/org.eclipse.jdt.apt.core.prefs +2 -0
  107. package/examples/java/.settings/org.eclipse.jdt.core.prefs +9 -0
  108. package/examples/java/.settings/org.eclipse.m2e.core.prefs +4 -0
  109. package/examples/java/README.md +162 -0
  110. package/examples/java/pom.xml +62 -0
  111. package/examples/java/src/main/java/examples/QuickStart.java +115 -0
  112. package/examples/java/src/main/java/examples/SchemaExample.java +148 -0
  113. package/examples/java/src/main/java/examples/TimeTravelExample.java +121 -0
  114. package/flake.lock +27 -0
  115. package/flake.nix +27 -0
  116. package/http-server/datahike/http/middleware.clj +75 -0
  117. package/http-server/datahike/http/server.clj +269 -0
  118. package/java/src/datahike/java/Database.java +274 -0
  119. package/java/src/datahike/java/Datahike.java +281 -0
  120. package/java/src/datahike/java/DatahikeGeneratedTest.java +349 -0
  121. package/java/src/datahike/java/DatahikeTest.java +370 -0
  122. package/java/src/datahike/java/EDN.java +170 -0
  123. package/java/src/datahike/java/IEntity.java +11 -0
  124. package/java/src/datahike/java/Keywords.java +161 -0
  125. package/java/src/datahike/java/SchemaFlexibility.java +52 -0
  126. package/java/src/datahike/java/Util.java +219 -0
  127. package/karma.conf.js +19 -0
  128. package/libdatahike/compile-cpp +7 -0
  129. package/libdatahike/src/datahike/impl/LibDatahikeBase.java +203 -0
  130. package/libdatahike/src/datahike/impl/libdatahike.clj +59 -0
  131. package/libdatahike/src/test_cpp.cpp +61 -0
  132. package/npm-package/PUBLISHING.md +140 -0
  133. package/npm-package/README.md +226 -0
  134. package/npm-package/package.template.json +34 -0
  135. package/npm-package/test-isomorphic.ts +281 -0
  136. package/npm-package/test.js +557 -0
  137. package/npm-package/typescript-test.ts +70 -0
  138. package/package.json +16 -0
  139. package/pydatahike/README.md +569 -0
  140. package/pydatahike/pyproject.toml +91 -0
  141. package/pydatahike/setup.py +42 -0
  142. package/pydatahike/src/datahike/__init__.py +134 -0
  143. package/pydatahike/src/datahike/_native.py +250 -0
  144. package/pydatahike/src/datahike/_version.py +2 -0
  145. package/pydatahike/src/datahike/database.py +722 -0
  146. package/pydatahike/src/datahike/edn.py +311 -0
  147. package/pydatahike/src/datahike/py.typed +0 -0
  148. package/pydatahike/tests/conftest.py +17 -0
  149. package/pydatahike/tests/test_basic.py +170 -0
  150. package/pydatahike/tests/test_database.py +51 -0
  151. package/pydatahike/tests/test_edn_conversion.py +299 -0
  152. package/pydatahike/tests/test_query.py +99 -0
  153. package/pydatahike/tests/test_schema.py +55 -0
  154. package/resources/clj-kondo.exports/io.replikativ/datahike/config.edn +5 -0
  155. package/resources/example_server.edn +4 -0
  156. package/shadow-cljs.edn +56 -0
  157. package/src/data_readers.clj +7 -0
  158. package/src/datahike/api/impl.cljc +176 -0
  159. package/src/datahike/api/specification.cljc +633 -0
  160. package/src/datahike/api/types.cljc +261 -0
  161. package/src/datahike/api.cljc +41 -0
  162. package/src/datahike/array.cljc +99 -0
  163. package/src/datahike/cli.clj +166 -0
  164. package/src/datahike/cljs.cljs +6 -0
  165. package/src/datahike/codegen/cli.clj +406 -0
  166. package/src/datahike/codegen/clj_kondo.clj +291 -0
  167. package/src/datahike/codegen/java.clj +403 -0
  168. package/src/datahike/codegen/naming.cljc +33 -0
  169. package/src/datahike/codegen/native.clj +559 -0
  170. package/src/datahike/codegen/pod.clj +488 -0
  171. package/src/datahike/codegen/python.clj +838 -0
  172. package/src/datahike/codegen/report.clj +55 -0
  173. package/src/datahike/codegen/typescript.clj +262 -0
  174. package/src/datahike/codegen/validation.clj +145 -0
  175. package/src/datahike/config.cljc +294 -0
  176. package/src/datahike/connections.cljc +16 -0
  177. package/src/datahike/connector.cljc +265 -0
  178. package/src/datahike/constants.cljc +142 -0
  179. package/src/datahike/core.cljc +297 -0
  180. package/src/datahike/datom.cljc +459 -0
  181. package/src/datahike/db/interface.cljc +119 -0
  182. package/src/datahike/db/search.cljc +305 -0
  183. package/src/datahike/db/transaction.cljc +937 -0
  184. package/src/datahike/db/utils.cljc +338 -0
  185. package/src/datahike/db.cljc +956 -0
  186. package/src/datahike/experimental/unstructured.cljc +126 -0
  187. package/src/datahike/experimental/versioning.cljc +172 -0
  188. package/src/datahike/externs.js +31 -0
  189. package/src/datahike/gc.cljc +69 -0
  190. package/src/datahike/http/client.clj +188 -0
  191. package/src/datahike/http/writer.clj +79 -0
  192. package/src/datahike/impl/entity.cljc +218 -0
  193. package/src/datahike/index/interface.cljc +93 -0
  194. package/src/datahike/index/persistent_set.cljc +469 -0
  195. package/src/datahike/index/utils.cljc +44 -0
  196. package/src/datahike/index.cljc +32 -0
  197. package/src/datahike/js/api.cljs +172 -0
  198. package/src/datahike/js/api_macros.clj +22 -0
  199. package/src/datahike/js.cljs +163 -0
  200. package/src/datahike/json.cljc +209 -0
  201. package/src/datahike/lru.cljc +146 -0
  202. package/src/datahike/migrate.clj +39 -0
  203. package/src/datahike/norm/norm.clj +245 -0
  204. package/src/datahike/online_gc.cljc +252 -0
  205. package/src/datahike/pod.clj +155 -0
  206. package/src/datahike/pull_api.cljc +325 -0
  207. package/src/datahike/query.cljc +1945 -0
  208. package/src/datahike/query_stats.cljc +88 -0
  209. package/src/datahike/readers.cljc +62 -0
  210. package/src/datahike/remote.cljc +218 -0
  211. package/src/datahike/schema.cljc +228 -0
  212. package/src/datahike/schema_cache.cljc +42 -0
  213. package/src/datahike/spec.cljc +101 -0
  214. package/src/datahike/store.cljc +80 -0
  215. package/src/datahike/tools.cljc +308 -0
  216. package/src/datahike/transit.cljc +80 -0
  217. package/src/datahike/writer.cljc +239 -0
  218. package/src/datahike/writing.cljc +362 -0
  219. package/src/deps.cljs +1 -0
  220. package/src-hitchhiker-tree/datahike/index/hitchhiker_tree/insert.cljc +76 -0
  221. package/src-hitchhiker-tree/datahike/index/hitchhiker_tree/upsert.cljc +128 -0
  222. package/src-hitchhiker-tree/datahike/index/hitchhiker_tree.cljc +213 -0
  223. package/test/datahike/backward_compatibility_test/src/backward_test.clj +37 -0
  224. package/test/datahike/integration_test/config_record_file_test.clj +14 -0
  225. package/test/datahike/integration_test/config_record_test.clj +14 -0
  226. package/test/datahike/integration_test/depr_config_uri_test.clj +15 -0
  227. package/test/datahike/integration_test/return_map_test.clj +62 -0
  228. package/test/datahike/integration_test.cljc +67 -0
  229. package/test/datahike/norm/norm_test.clj +124 -0
  230. package/test/datahike/norm/resources/naming-and-sorting-test/001-a1-example.edn +5 -0
  231. package/test/datahike/norm/resources/naming-and-sorting-test/002-a2-example.edn +5 -0
  232. package/test/datahike/norm/resources/naming-and-sorting-test/003-tx-fn-test.edn +1 -0
  233. package/test/datahike/norm/resources/naming-and-sorting-test/004-tx-data-and-tx-fn-test.edn +5 -0
  234. package/test/datahike/norm/resources/naming-and-sorting-test/01-transact-basic-characters.edn +2 -0
  235. package/test/datahike/norm/resources/naming-and-sorting-test/02 add occupation.edn +5 -0
  236. package/test/datahike/norm/resources/naming-and-sorting-test/checksums.edn +12 -0
  237. package/test/datahike/norm/resources/simple-test/001-a1-example.edn +5 -0
  238. package/test/datahike/norm/resources/simple-test/002-a2-example.edn +5 -0
  239. package/test/datahike/norm/resources/simple-test/checksums.edn +4 -0
  240. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/first/001-a1-example.edn +5 -0
  241. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/first/002-a2-example.edn +5 -0
  242. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/first/003-tx-fn-test.edn +1 -0
  243. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/first/checksums.edn +6 -0
  244. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/second/004-tx-data-and-tx-fn-test.edn +5 -0
  245. package/test/datahike/norm/resources/tx-data-and-tx-fn-test/second/checksums.edn +2 -0
  246. package/test/datahike/norm/resources/tx-fn-test/first/001-a1-example.edn +5 -0
  247. package/test/datahike/norm/resources/tx-fn-test/first/002-a2-example.edn +5 -0
  248. package/test/datahike/norm/resources/tx-fn-test/first/checksums.edn +4 -0
  249. package/test/datahike/norm/resources/tx-fn-test/second/003-tx-fn-test.edn +1 -0
  250. package/test/datahike/norm/resources/tx-fn-test/second/checksums.edn +2 -0
  251. package/test/datahike/test/api_test.cljc +895 -0
  252. package/test/datahike/test/array_test.cljc +40 -0
  253. package/test/datahike/test/attribute_refs/datoms_test.cljc +140 -0
  254. package/test/datahike/test/attribute_refs/db_test.cljc +42 -0
  255. package/test/datahike/test/attribute_refs/differences_test.cljc +515 -0
  256. package/test/datahike/test/attribute_refs/entity_test.cljc +89 -0
  257. package/test/datahike/test/attribute_refs/pull_api_test.cljc +320 -0
  258. package/test/datahike/test/attribute_refs/query_find_specs_test.cljc +59 -0
  259. package/test/datahike/test/attribute_refs/query_fns_test.cljc +130 -0
  260. package/test/datahike/test/attribute_refs/query_interop_test.cljc +47 -0
  261. package/test/datahike/test/attribute_refs/query_not_test.cljc +193 -0
  262. package/test/datahike/test/attribute_refs/query_or_test.cljc +137 -0
  263. package/test/datahike/test/attribute_refs/query_pull_test.cljc +156 -0
  264. package/test/datahike/test/attribute_refs/query_rules_test.cljc +176 -0
  265. package/test/datahike/test/attribute_refs/query_test.cljc +241 -0
  266. package/test/datahike/test/attribute_refs/temporal_search.cljc +22 -0
  267. package/test/datahike/test/attribute_refs/transact_test.cljc +220 -0
  268. package/test/datahike/test/attribute_refs/utils.cljc +128 -0
  269. package/test/datahike/test/cache_test.cljc +38 -0
  270. package/test/datahike/test/components_test.cljc +92 -0
  271. package/test/datahike/test/config_test.cljc +158 -0
  272. package/test/datahike/test/core_test.cljc +105 -0
  273. package/test/datahike/test/datom_test.cljc +44 -0
  274. package/test/datahike/test/db_test.cljc +54 -0
  275. package/test/datahike/test/entity_spec_test.cljc +159 -0
  276. package/test/datahike/test/entity_test.cljc +103 -0
  277. package/test/datahike/test/explode_test.cljc +143 -0
  278. package/test/datahike/test/filter_test.cljc +75 -0
  279. package/test/datahike/test/gc_test.cljc +159 -0
  280. package/test/datahike/test/http/server_test.clj +192 -0
  281. package/test/datahike/test/http/writer_test.clj +86 -0
  282. package/test/datahike/test/ident_test.cljc +32 -0
  283. package/test/datahike/test/index_test.cljc +345 -0
  284. package/test/datahike/test/insert.cljc +125 -0
  285. package/test/datahike/test/java_bindings_test.clj +6 -0
  286. package/test/datahike/test/listen_test.cljc +41 -0
  287. package/test/datahike/test/lookup_refs_test.cljc +266 -0
  288. package/test/datahike/test/lru_test.cljc +27 -0
  289. package/test/datahike/test/migrate_test.clj +297 -0
  290. package/test/datahike/test/model/core.cljc +376 -0
  291. package/test/datahike/test/model/invariant.cljc +142 -0
  292. package/test/datahike/test/model/rng.cljc +82 -0
  293. package/test/datahike/test/model_test.clj +217 -0
  294. package/test/datahike/test/nodejs_test.cljs +262 -0
  295. package/test/datahike/test/online_gc_test.cljc +475 -0
  296. package/test/datahike/test/pod_test.clj +369 -0
  297. package/test/datahike/test/pull_api_test.cljc +474 -0
  298. package/test/datahike/test/purge_test.cljc +144 -0
  299. package/test/datahike/test/query_aggregates_test.cljc +101 -0
  300. package/test/datahike/test/query_find_specs_test.cljc +52 -0
  301. package/test/datahike/test/query_fns_test.cljc +523 -0
  302. package/test/datahike/test/query_interop_test.cljc +47 -0
  303. package/test/datahike/test/query_not_test.cljc +189 -0
  304. package/test/datahike/test/query_or_test.cljc +158 -0
  305. package/test/datahike/test/query_pull_test.cljc +147 -0
  306. package/test/datahike/test/query_rules_test.cljc +248 -0
  307. package/test/datahike/test/query_stats_test.cljc +218 -0
  308. package/test/datahike/test/query_test.cljc +984 -0
  309. package/test/datahike/test/schema_test.cljc +424 -0
  310. package/test/datahike/test/specification_test.cljc +30 -0
  311. package/test/datahike/test/store_test.cljc +78 -0
  312. package/test/datahike/test/stress_test.cljc +57 -0
  313. package/test/datahike/test/time_variance_test.cljc +518 -0
  314. package/test/datahike/test/tools_test.clj +134 -0
  315. package/test/datahike/test/transact_test.cljc +518 -0
  316. package/test/datahike/test/tuples_test.cljc +564 -0
  317. package/test/datahike/test/unstructured_test.cljc +291 -0
  318. package/test/datahike/test/upsert_impl_test.cljc +205 -0
  319. package/test/datahike/test/upsert_test.cljc +363 -0
  320. package/test/datahike/test/utils.cljc +110 -0
  321. package/test/datahike/test/validation_test.cljc +48 -0
  322. package/test/datahike/test/versioning_test.cljc +56 -0
  323. package/test/datahike/test.cljc +66 -0
  324. package/tests.edn +24 -0
@@ -0,0 +1,624 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="1785.1448"
6
+ height="1051.217"
7
+ viewBox="0 0 1785.1447 1051.217"
8
+ version="1.1"
9
+ id="svg5"
10
+ inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
11
+ sodipodi:docname="network_topology.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview7"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:pageshadow="2"
22
+ inkscape:pageopacity="1"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:document-units="px"
25
+ showgrid="false"
26
+ inkscape:snap-global="false"
27
+ inkscape:zoom="0.45254834"
28
+ inkscape:cx="1037.4582"
29
+ inkscape:cy="528.12038"
30
+ inkscape:window-width="1920"
31
+ inkscape:window-height="1043"
32
+ inkscape:window-x="0"
33
+ inkscape:window-y="0"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="layer1" />
36
+ <defs
37
+ id="defs2">
38
+ <inkscape:path-effect
39
+ effect="bspline"
40
+ id="path-effect36736"
41
+ is_visible="true"
42
+ lpeversion="1"
43
+ weight="33.333333"
44
+ steps="2"
45
+ helper_size="0"
46
+ apply_no_weight="true"
47
+ apply_with_weight="true"
48
+ only_selected="false" />
49
+ <inkscape:path-effect
50
+ effect="bspline"
51
+ id="path-effect6656"
52
+ is_visible="true"
53
+ lpeversion="1"
54
+ weight="33.333333"
55
+ steps="2"
56
+ helper_size="0"
57
+ apply_no_weight="true"
58
+ apply_with_weight="true"
59
+ only_selected="false" />
60
+ <inkscape:path-effect
61
+ effect="bspline"
62
+ id="path-effect1323"
63
+ is_visible="true"
64
+ lpeversion="1"
65
+ weight="33.333333"
66
+ steps="2"
67
+ helper_size="0"
68
+ apply_no_weight="true"
69
+ apply_with_weight="true"
70
+ only_selected="false" />
71
+ <inkscape:path-effect
72
+ effect="bspline"
73
+ id="path-effect6656-0"
74
+ is_visible="true"
75
+ lpeversion="1"
76
+ weight="33.333333"
77
+ steps="2"
78
+ helper_size="0"
79
+ apply_no_weight="true"
80
+ apply_with_weight="true"
81
+ only_selected="false" />
82
+ <inkscape:path-effect
83
+ effect="bspline"
84
+ id="path-effect6656-0-7"
85
+ is_visible="true"
86
+ lpeversion="1"
87
+ weight="33.333333"
88
+ steps="2"
89
+ helper_size="0"
90
+ apply_no_weight="true"
91
+ apply_with_weight="true"
92
+ only_selected="false" />
93
+ <inkscape:path-effect
94
+ effect="bspline"
95
+ id="path-effect6656-9"
96
+ is_visible="true"
97
+ lpeversion="1"
98
+ weight="33.333333"
99
+ steps="2"
100
+ helper_size="0"
101
+ apply_no_weight="true"
102
+ apply_with_weight="true"
103
+ only_selected="false" />
104
+ <inkscape:path-effect
105
+ effect="bspline"
106
+ id="path-effect6656-9-4"
107
+ is_visible="true"
108
+ lpeversion="1"
109
+ weight="33.333333"
110
+ steps="2"
111
+ helper_size="0"
112
+ apply_no_weight="true"
113
+ apply_with_weight="true"
114
+ only_selected="false" />
115
+ <inkscape:path-effect
116
+ effect="bspline"
117
+ id="path-effect6656-9-4-2"
118
+ is_visible="true"
119
+ lpeversion="1"
120
+ weight="33.333333"
121
+ steps="2"
122
+ helper_size="0"
123
+ apply_no_weight="true"
124
+ apply_with_weight="true"
125
+ only_selected="false" />
126
+ <inkscape:path-effect
127
+ effect="bspline"
128
+ id="path-effect6656-9-4-2-9"
129
+ is_visible="true"
130
+ lpeversion="1"
131
+ weight="33.333333"
132
+ steps="2"
133
+ helper_size="0"
134
+ apply_no_weight="true"
135
+ apply_with_weight="true"
136
+ only_selected="false" />
137
+ <inkscape:path-effect
138
+ effect="bspline"
139
+ id="path-effect6656-9-4-2-9-5"
140
+ is_visible="true"
141
+ lpeversion="1"
142
+ weight="33.333333"
143
+ steps="2"
144
+ helper_size="0"
145
+ apply_no_weight="true"
146
+ apply_with_weight="true"
147
+ only_selected="false" />
148
+ <inkscape:path-effect
149
+ effect="bspline"
150
+ id="path-effect6656-8"
151
+ is_visible="true"
152
+ lpeversion="1"
153
+ weight="33.333333"
154
+ steps="2"
155
+ helper_size="0"
156
+ apply_no_weight="true"
157
+ apply_with_weight="true"
158
+ only_selected="false" />
159
+ <inkscape:path-effect
160
+ effect="bspline"
161
+ id="path-effect6656-8-5"
162
+ is_visible="true"
163
+ lpeversion="1"
164
+ weight="33.333333"
165
+ steps="2"
166
+ helper_size="0"
167
+ apply_no_weight="true"
168
+ apply_with_weight="true"
169
+ only_selected="false" />
170
+ <inkscape:path-effect
171
+ effect="bspline"
172
+ id="path-effect6656-9-0"
173
+ is_visible="true"
174
+ lpeversion="1"
175
+ weight="33.333333"
176
+ steps="2"
177
+ helper_size="0"
178
+ apply_no_weight="true"
179
+ apply_with_weight="true"
180
+ only_selected="false" />
181
+ <inkscape:path-effect
182
+ effect="bspline"
183
+ id="path-effect6656-9-4-2-6"
184
+ is_visible="true"
185
+ lpeversion="1"
186
+ weight="33.333333"
187
+ steps="2"
188
+ helper_size="0"
189
+ apply_no_weight="true"
190
+ apply_with_weight="true"
191
+ only_selected="false" />
192
+ <inkscape:path-effect
193
+ effect="bspline"
194
+ id="path-effect6656-0-7-6"
195
+ is_visible="true"
196
+ lpeversion="1"
197
+ weight="33.333333"
198
+ steps="2"
199
+ helper_size="0"
200
+ apply_no_weight="true"
201
+ apply_with_weight="true"
202
+ only_selected="false" />
203
+ </defs>
204
+ <g
205
+ inkscape:label="Layer 1"
206
+ inkscape:groupmode="layer"
207
+ id="layer1"
208
+ transform="translate(-96.612206,39.909386)">
209
+ <rect
210
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.11092;stroke-dasharray:5.11092, 5.11092"
211
+ id="rect919"
212
+ width="1785.1448"
213
+ height="1051.217"
214
+ x="96.612206"
215
+ y="-39.909386"
216
+ ry="10.000572" />
217
+ <path
218
+ style="opacity:0.5;fill:#aaffaa;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
219
+ d="m 236.78658,327.72497 c 7.52865,-23.55336 18.72916,-59.31898 40.34688,-87.92636 21.61772,-28.60738 53.65094,-50.05486 89.24815,-56.74209 35.59721,-6.68722 74.75528,1.38553 104.8674,15.53324 30.11212,14.14771 51.17681,34.36866 59.73868,53.59008 8.56187,19.22142 4.62184,37.44241 -12.09561,53.59572 -16.71745,16.15331 -46.21164,30.23897 -1.90289,95.59229 44.30876,65.35333 162.41342,181.96585 108.54911,225.39989 -53.8643,43.43404 -279.69118,13.68524 -375.68856,-40.64772 -95.99738,-54.33296 -62.15239,-133.24386 -43.30045,-178.37231 18.85195,-45.12845 22.70864,-56.46937 30.23729,-80.02274 z"
220
+ id="path36734"
221
+ inkscape:path-effect="#path-effect36736"
222
+ inkscape:original-d="m 233.1149,339.93661 c 11.20152,-35.76463 22.40204,-71.53025 33.60156,-107.29688 32.0355,-21.44734 64.06871,-42.89483 96.10157,-64.34375 39.16063,8.07408 78.3187,16.14683 117.47656,24.21875 21.06652,20.22276 42.13121,40.44371 63.19531,60.66406 -3.93918,18.22272 -7.87921,36.44371 -11.82031,54.66407 -29.49438,14.08722 -58.98858,28.17287 -88.48438,42.25781 118.11273,116.62052 236.21739,233.23304 354.32813,349.85156 -225.83945,-29.7496 -451.66633,-59.4984 -677.50781,-89.25 33.84803,-78.91465 67.69303,-157.82555 101.53906,-236.74219 3.85785,-11.34037 7.71454,-22.68129 11.57031,-34.02343 z"
223
+ sodipodi:nodetypes="ccccccccccc" />
224
+ <path
225
+ style="opacity:0.5;fill:#f6d5ff;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
226
+ d="M 381.5974,857.0361 C 366.85004,843.14153 359.65993,837.14933 350.91458,800.98212 342.16924,764.8149 331.86997,698.47509 370.53513,651.68249 409.2003,604.88988 496.82615,577.64824 526.5473,543.20579 556.26844,508.76334 528.08411,467.12094 475.5536,426.12418 423.0231,385.12742 346.14963,344.77927 278.32858,288.25013 210.50752,231.72099 151.74307,159.01412 129.37939,109.12547 107.01571,59.236815 121.05449,32.169649 146.61767,9.5389687 172.18084,-13.091712 209.26603,-31.284054 264.3596,-20.619174 c 55.09357,10.6648791 128.19107,50.184923 188.76306,95.232495 60.57199,45.047569 108.61529,95.619479 155.58195,122.905509 46.96666,27.28603 92.85376,31.28595 152.0015,28.23236 59.14774,-3.05359 131.55254,-13.16016 187.17539,-19.09374 55.6229,-5.93358 94.4606,-7.69395 155.0357,-4.2016 60.5751,3.49235 142.8834,12.23697 210.2172,38.59458 67.3339,26.3576 119.6896,70.32546 133.2877,112.89719 13.5981,42.57173 -11.5603,83.74536 -51.7714,112.20232 -40.211,28.45696 -95.4729,44.19623 -155.6884,60.1352 -60.2155,15.93897 -125.3809,32.07668 -158.2875,56.6518 -32.9066,24.57511 -33.5524,57.58487 -25.5689,94.78331 7.9835,37.19845 24.5951,78.58303 38.1107,126.29839 13.5156,47.71536 23.9347,101.75854 11.8914,137.90909 -12.0432,36.15056 -46.5477,54.40798 -90.1794,60.20367 -43.63167,5.7957 -96.38843,-0.8709 -131.69243,-46.09644 -35.30399,-45.22558 -53.15259,-129.00776 -71.07168,-180.25802 -17.91908,-51.25026 -35.90831,-69.96603 -60.23699,-72.7087 -24.32868,-2.74266 -54.99473,10.48884 -88.54747,40.11707 -33.55274,29.62824 -69.98951,75.65075 -107.54169,106.93981 -37.55218,31.28906 -76.21807,47.84342 -106.7037,45.2227 C 418.649,892.72711 396.34476,870.93067 381.5974,857.0361 Z"
227
+ id="path1321"
228
+ inkscape:path-effect="#path-effect1323"
229
+ inkscape:original-d="m 374.03906,849.13281 c -7.1891,-5.99119 -14.37921,-11.98338 -21.57031,-17.97656 C 342.17006,764.81477 331.87079,698.47496 321.57031,632.13281 409.20067,604.89108 496.82652,577.64943 584.45312,550.40625 556.26866,508.76319 528.08433,467.12079 499.89844,425.47656 423.0229,385.1278 346.14944,344.77964 269.27344,304.42969 210.50764,231.7209 151.74319,159.01402 92.976562,86.304687 107.01691,59.237438 121.05569,32.170271 135.09375,5.1015625 172.18143,-13.09051 209.26662,-31.282854 246.35156,-49.476562 c 73.10142,39.5226233 146.19892,79.042666 219.29688,118.562499 48.04623,50.574933 96.08954,101.146833 144.13281,151.718753 45.88994,4.00108 91.77704,8.001 137.66406,12 72.4087,-10.10598 144.8135,-20.21255 217.21875,-30.32032 38.84034,-1.75945 77.67804,-3.51983 116.51564,-5.28125 82.3125,8.74597 164.6208,17.49059 246.9297,26.23438 52.3588,43.97063 104.7145,87.9385 157.0703,131.90625 -25.1584,41.1763 -50.3167,82.34996 -75.4766,123.52344 -55.2631,15.74089 -110.525,31.48016 -165.789,47.21875 -65.167,16.13934 -130.3324,32.27704 -195.5,48.41406 -0.6449,33.01207 -1.2907,66.02183 -1.9375,99.03125 16.6133,41.38724 33.2249,82.77183 49.8359,124.15625 10.4205,54.04635 20.8395,108.08954 31.2578,162.13281 -34.5049,18.25918 -69.0094,36.51662 -103.5156,54.77339 -52.75788,-6.6658 -105.51464,-13.3323 -158.27345,-19.99995 -17.84832,-83.78453 -35.69692,-167.56671 -53.54688,-251.35157 -17.98894,-18.71552 -35.97817,-37.43129 -53.96875,-56.14843 -30.66628,13.23303 -61.33233,26.46454 -92,39.69531 -36.43723,46.02536 -72.874,92.04787 -109.3125,138.07031 -38.66644,16.55602 -77.33233,33.11038 -116,49.66406 -22.30413,-21.79631 -44.60837,-43.59275 -66.91406,-65.39062 z" />
230
+ <rect
231
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
232
+ id="rect1030"
233
+ width="62.398438"
234
+ height="62.398438"
235
+ x="631.92969"
236
+ y="381.58594"
237
+ ry="9.7835398" />
238
+ <rect
239
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
240
+ id="rect1030-4"
241
+ width="62.398438"
242
+ height="62.398438"
243
+ x="452.80078"
244
+ y="246.80078"
245
+ ry="9.7835398" />
246
+ <rect
247
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
248
+ id="rect1030-7"
249
+ width="62.398438"
250
+ height="62.398438"
251
+ x="1043.2578"
252
+ y="306.80078"
253
+ ry="9.7835398" />
254
+ <rect
255
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
256
+ id="rect1030-68"
257
+ width="62.398438"
258
+ height="62.398438"
259
+ x="1160.8008"
260
+ y="422.80078"
261
+ ry="9.7835398" />
262
+ <rect
263
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
264
+ id="rect1030-0"
265
+ width="62.398438"
266
+ height="62.398438"
267
+ x="558.80078"
268
+ y="562.80078"
269
+ ry="9.7835398" />
270
+ <rect
271
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
272
+ id="rect1030-90"
273
+ width="62.398438"
274
+ height="62.398438"
275
+ x="868.80078"
276
+ y="816.80078"
277
+ ry="9.7835398" />
278
+ <rect
279
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
280
+ id="rect1030-2"
281
+ width="62.398438"
282
+ height="62.398438"
283
+ x="800.80078"
284
+ y="308.80078"
285
+ ry="9.7835398" />
286
+ <rect
287
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
288
+ id="rect1030-8"
289
+ width="62.398438"
290
+ height="62.398438"
291
+ x="768.80078"
292
+ y="618.02734"
293
+ ry="9.7835398" />
294
+ <rect
295
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
296
+ id="rect1030-88"
297
+ width="62.398438"
298
+ height="62.398438"
299
+ x="971.70703"
300
+ y="494.80078"
301
+ ry="9.7835398" />
302
+ <rect
303
+ style="fill:#ff0000;stroke:none;stroke-width:3.02362"
304
+ id="rect1030-6"
305
+ width="62.398438"
306
+ height="62.398438"
307
+ x="770.06641"
308
+ y="438.80078"
309
+ ry="9.7835398" />
310
+ <rect
311
+ style="fill:#ff0000;stroke:none;stroke-width:3.02362"
312
+ id="rect1030-6-0"
313
+ width="62.398438"
314
+ height="62.398438"
315
+ x="321.00943"
316
+ y="382.85971"
317
+ ry="9.7835398" />
318
+ <rect
319
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
320
+ id="rect1030-83"
321
+ width="62.398438"
322
+ height="62.398438"
323
+ x="1312.8008"
324
+ y="322.80078"
325
+ ry="9.7835398" />
326
+ <rect
327
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
328
+ id="rect1030-833"
329
+ width="62.398438"
330
+ height="62.398438"
331
+ x="1002.8008"
332
+ y="836.80078"
333
+ ry="9.7835398" />
334
+ <rect
335
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
336
+ id="rect1030-3"
337
+ width="62.398438"
338
+ height="62.398438"
339
+ x="240.80078"
340
+ y="92.800781"
341
+ ry="9.7835398" />
342
+ <rect
343
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
344
+ id="rect1030-80"
345
+ width="62.398438"
346
+ height="62.398438"
347
+ x="474.80078"
348
+ y="726.80078"
349
+ ry="9.7835398" />
350
+ <circle
351
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
352
+ id="path1684"
353
+ cx="1214.2188"
354
+ cy="141.84375"
355
+ r="25.484375" />
356
+ <circle
357
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
358
+ id="path1684-5"
359
+ cx="1476"
360
+ cy="198"
361
+ r="25.484375" />
362
+ <circle
363
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
364
+ id="path1684-2"
365
+ cx="1420.6875"
366
+ cy="548.79688"
367
+ r="25.484375" />
368
+ <circle
369
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
370
+ id="path1684-6"
371
+ cx="1344.8984"
372
+ cy="118.125"
373
+ r="25.484375" />
374
+ <circle
375
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
376
+ id="path1684-58"
377
+ cx="1090.3438"
378
+ cy="130"
379
+ r="25.484375" />
380
+ <circle
381
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
382
+ id="path1684-7"
383
+ cx="1202.9141"
384
+ cy="34.929688"
385
+ r="25.484375" />
386
+ <circle
387
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
388
+ id="path1684-9"
389
+ cx="1558"
390
+ cy="364.07812"
391
+ r="25.484375" />
392
+ <circle
393
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
394
+ id="path1684-60"
395
+ cx="1663.5859"
396
+ cy="229.48438"
397
+ r="25.484375" />
398
+ <circle
399
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
400
+ id="path1684-4"
401
+ cx="1589.3359"
402
+ cy="550.08594"
403
+ r="25.484375" />
404
+ <circle
405
+ style="fill:#0000ff;stroke:none;stroke-width:3.02362"
406
+ id="path1684-1"
407
+ cx="1322"
408
+ cy="647.90625"
409
+ r="25.484375" />
410
+ <text
411
+ xml:space="preserve"
412
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#ab37c8"
413
+ x="655.375"
414
+ y="282.375"
415
+ id="text3233"><tspan
416
+ sodipodi:role="line"
417
+ id="tspan3231"
418
+ x="655.375"
419
+ y="282.375">shared store</tspan></text>
420
+ <text
421
+ xml:space="preserve"
422
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#55d400"
423
+ x="373.15787"
424
+ y="494.05771"
425
+ id="text3233-7"><tspan
426
+ sodipodi:role="line"
427
+ id="tspan3231-4"
428
+ x="373.15787"
429
+ y="494.05771"
430
+ style="text-align:center;text-anchor:middle;fill:#55d400">another</tspan><tspan
431
+ sodipodi:role="line"
432
+ x="373.15787"
433
+ y="554.05774"
434
+ id="tspan38071"
435
+ style="text-align:center;text-anchor:middle;fill:#55d400">shared store</tspan></text>
436
+ <path
437
+ style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
438
+ d="M 827.43359,458.28516 C 905.2232,428.58964 983.01226,398.89433 1060.8008,369.19922"
439
+ id="path6654"
440
+ inkscape:path-effect="#path-effect6656"
441
+ inkscape:original-d="m 827.43359,458.28516 c 77.79007,-29.69431 155.57913,-59.38962 233.36721,-89.08594"
442
+ sodipodi:nodetypes="cc" />
443
+ <path
444
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
445
+ d="m 1074.9106,315.23124 c 4.8411,-54.57333 9.6823,-109.1475 14.5235,-163.72265"
446
+ id="path6654-15"
447
+ inkscape:path-effect="#path-effect6656-9"
448
+ inkscape:original-d="m 1074.9106,315.23124 c 4.8422,-54.57323 9.6833,-109.14741 14.5235,-163.72265"
449
+ sodipodi:nodetypes="cc" />
450
+ <path
451
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
452
+ d="m 1094.3749,311.21679 c 33.4477,-87.40315 66.8957,-174.80673 100.3438,-262.210932"
453
+ id="path6654-15-5"
454
+ inkscape:path-effect="#path-effect6656-9-0"
455
+ inkscape:original-d="m 1094.3749,311.21679 c 33.449,-87.40267 66.8969,-174.80625 100.3438,-262.210932"
456
+ sodipodi:nodetypes="cc" />
457
+ <path
458
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
459
+ d="M 1331.3905,339.14452 C 1295.4043,278.58582 1259.4173,218.0259 1223.4297,157.46484"
460
+ id="path6654-15-9"
461
+ inkscape:path-effect="#path-effect6656-9-4"
462
+ inkscape:original-d="M 1331.3905,339.14452 C 1295.4046,278.58563 1259.4176,218.02574 1223.4297,157.46484"
463
+ sodipodi:nodetypes="cc" />
464
+ <path
465
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
466
+ d="m 1346.2908,340.83602 c -0.552,-74.09274 -1.1041,-148.18648 -1.6561,-222.28124"
467
+ id="path6654-15-9-5"
468
+ inkscape:path-effect="#path-effect6656-9-4-2"
469
+ inkscape:original-d="m 1346.2908,340.83602 c -0.551,-74.09275 -1.1031,-148.18649 -1.6561,-222.28124"
470
+ sodipodi:nodetypes="cc" />
471
+ <path
472
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
473
+ d="m 1366.1014,353.14062 c 62.8318,3.00266 125.6626,6.00526 188.4924,9.00782"
474
+ id="path6654-15-9-5-7"
475
+ inkscape:path-effect="#path-effect6656-9-4-2-6"
476
+ inkscape:original-d="m 1366.1014,353.14062 c 62.8318,3.00361 125.6626,6.00621 188.4924,9.00782"
477
+ sodipodi:nodetypes="cc" />
478
+ <path
479
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
480
+ d="M 1405.3514,541.07812 C 1337.6313,518.11499 1269.91,495.15145 1202.1875,472.1875"
481
+ id="path6654-15-9-5-3"
482
+ inkscape:path-effect="#path-effect6656-9-4-2-9"
483
+ inkscape:original-d="M 1405.3514,541.07812 C 1337.6311,518.11558 1269.9098,495.15204 1202.1875,472.1875"
484
+ sodipodi:nodetypes="cc" />
485
+ <path
486
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
487
+ d="m 1320.1522,647.78906 c -38.757,-56.39465 -77.5147,-112.7905 -116.2733,-169.18749"
488
+ id="path6654-15-9-5-3-7"
489
+ inkscape:path-effect="#path-effect6656-9-4-2-9-5"
490
+ inkscape:original-d="M 1320.1522,647.78906 C 1281.3955,591.39423 1242.6377,534.9984 1203.8789,478.60157"
491
+ sodipodi:nodetypes="cc" />
492
+ <path
493
+ style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
494
+ d="m 799.78563,440.15703 c 9.04927,-24.88226 18.09874,-49.76507 27.14842,-74.64844"
495
+ id="path6654-1"
496
+ inkscape:path-effect="#path-effect6656-0"
497
+ inkscape:original-d="m 799.78563,440.15703 c 9.05047,-24.88182 18.09995,-49.76463 27.14842,-74.64844"
498
+ sodipodi:nodetypes="cc" />
499
+ <path
500
+ style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
501
+ d="M 533.71441,733.29543 C 616.88891,651.8527 700.06338,570.40999 783.23783,488.9673"
502
+ id="path6654-1-8"
503
+ inkscape:path-effect="#path-effect6656-0-7"
504
+ inkscape:original-d="M 533.71441,733.29543 C 616.8899,651.85371 700.06437,570.411 783.23783,488.9673"
505
+ sodipodi:nodetypes="cc" />
506
+ <path
507
+ style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
508
+ d="m 351.61054,379.15282 c -0.28125,-45.95211 -0.56251,-91.90522 -0.84377,-137.85934"
509
+ id="path6654-1-8-4"
510
+ inkscape:path-effect="#path-effect6656-0-7-6"
511
+ inkscape:original-d="m 351.61054,379.15282 c -0.28025,-45.95212 -0.56151,-91.90523 -0.84377,-137.85934"
512
+ sodipodi:nodetypes="cc" />
513
+ <rect
514
+ style="fill:#000000;stroke:none;stroke-width:3.02362"
515
+ id="rect1030-33"
516
+ width="62.398438"
517
+ height="62.398438"
518
+ x="319.14453"
519
+ y="197.08203"
520
+ ry="9.7835398" />
521
+ <text
522
+ xml:space="preserve"
523
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px"
524
+ x="546.8125"
525
+ y="356.39844"
526
+ id="text18988"><tspan
527
+ sodipodi:role="line"
528
+ id="tspan18986"
529
+ x="546.8125"
530
+ y="356.39844">runtime</tspan></text>
531
+ <text
532
+ xml:space="preserve"
533
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000"
534
+ x="787.0625"
535
+ y="558.97656"
536
+ id="text21118"><tspan
537
+ sodipodi:role="line"
538
+ id="tspan21116"
539
+ x="787.0625"
540
+ y="558.97656">writer</tspan></text>
541
+ <g
542
+ id="g34115"
543
+ transform="translate(-56.35862,-134.99663)">
544
+ <rect
545
+ style="fill:#e6e6e6;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0"
546
+ id="rect33879"
547
+ width="709.29688"
548
+ height="135.6875"
549
+ x="1214.1406"
550
+ y="884.20312"
551
+ ry="9.7835398" />
552
+ <g
553
+ id="g33855"
554
+ transform="translate(5.1285147,0.11328125)">
555
+ <path
556
+ style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
557
+ d="m 1224.7006,922.25781 c 30.9636,-0.10417 61.9261,-0.20834 92.8877,-0.3125"
558
+ id="path6654-2"
559
+ inkscape:path-effect="#path-effect6656-8"
560
+ inkscape:original-d="m 1224.7006,922.25781 c 30.9636,-0.10317 61.9261,-0.20734 92.8877,-0.3125"
561
+ sodipodi:nodetypes="cc" />
562
+ <path
563
+ style="fill:none;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5, 5;stroke-dashoffset:0;stroke-opacity:1"
564
+ d="m 1224.7006,981.34766 c 30.9636,-0.10417 61.9261,-0.20834 92.8877,-0.3125"
565
+ id="path6654-2-3"
566
+ inkscape:path-effect="#path-effect6656-8-5"
567
+ inkscape:original-d="m 1224.7006,981.34766 c 30.9636,-0.10317 61.9261,-0.20734 92.8877,-0.3125"
568
+ sodipodi:nodetypes="cc" />
569
+ <text
570
+ xml:space="preserve"
571
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#ff0000"
572
+ x="1363.0039"
573
+ y="934.76953"
574
+ id="text21118-4"><tspan
575
+ sodipodi:role="line"
576
+ id="tspan21116-9"
577
+ x="1363.0039"
578
+ y="934.76953">write operation</tspan></text>
579
+ <text
580
+ xml:space="preserve"
581
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff"
582
+ x="1363.0273"
583
+ y="994.43359"
584
+ id="text21118-4-0"><tspan
585
+ sodipodi:role="line"
586
+ id="tspan21116-9-2"
587
+ x="1363.0273"
588
+ y="994.43359">remote procedure call</tspan></text>
589
+ </g>
590
+ </g>
591
+ <text
592
+ xml:space="preserve"
593
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff"
594
+ x="1210.4922"
595
+ y="371.20312"
596
+ id="text21118-7"><tspan
597
+ sodipodi:role="line"
598
+ x="1210.4922"
599
+ y="371.20312"
600
+ style="text-align:center;text-anchor:middle;fill:#0000ff"
601
+ id="tspan35575">servers</tspan></text>
602
+ <text
603
+ xml:space="preserve"
604
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#0000ff"
605
+ x="1573.0938"
606
+ y="144.83203"
607
+ id="text21118-7-4"><tspan
608
+ sodipodi:role="line"
609
+ x="1573.0938"
610
+ y="144.83203"
611
+ id="tspan24823-5"
612
+ style="text-align:center;text-anchor:middle;fill:#0000ff">clients</tspan></text>
613
+ <text
614
+ xml:space="preserve"
615
+ style="font-size:48px;line-height:1.25;font-family:serif;-inkscape-font-specification:serif;letter-spacing:0px;word-spacing:0px;fill:#4d4d4d"
616
+ x="513.32758"
617
+ y="25.452038"
618
+ id="text3430"><tspan
619
+ sodipodi:role="line"
620
+ id="tspan3428"
621
+ x="513.32758"
622
+ y="25.452038">distributed index space</tspan></text>
623
+ </g>
624
+ </svg>
Binary file