meadow 2.0.43 → 2.0.44
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.
- package/README.md +2 -3
- package/docs/architecture.md +10 -99
- package/docs/diagrams/create-waterfall.excalidraw +2016 -0
- package/docs/diagrams/create-waterfall.mmd +19 -0
- package/docs/diagrams/create-waterfall.svg +2 -0
- package/docs/diagrams/crud-behavior-flow.excalidraw +1305 -0
- package/docs/diagrams/crud-behavior-flow.mmd +13 -0
- package/docs/diagrams/crud-behavior-flow.svg +2 -0
- package/docs/diagrams/module-hierarchy.excalidraw +1582 -0
- package/docs/diagrams/module-hierarchy.mmd +15 -0
- package/docs/diagrams/module-hierarchy.svg +2 -0
- package/docs/diagrams/query-lifecycle.excalidraw +1808 -0
- package/docs/diagrams/query-lifecycle.mmd +21 -0
- package/docs/diagrams/query-lifecycle.svg +2 -0
- package/docs/diagrams/schema-system.excalidraw +2034 -0
- package/docs/diagrams/schema-system.mmd +21 -0
- package/docs/diagrams/schema-system.svg +2 -0
- package/docs/providers/README.md +6 -14
- package/docs/providers/diagrams/overview.excalidraw +1324 -0
- package/docs/providers/diagrams/overview.mmd +8 -0
- package/docs/providers/diagrams/overview.svg +2 -0
- package/docs/providers/diagrams/use-case-unified-client-server-interface.excalidraw +919 -0
- package/docs/providers/diagrams/use-case-unified-client-server-interface.mmd +12 -0
- package/docs/providers/diagrams/use-case-unified-client-server-interface.svg +2 -0
- package/docs/providers/meadow-endpoints.md +5 -17
- package/docs/providers/mongodb.md +2 -2
- package/docs/providers/mssql.md +1 -1
- package/docs/providers/mysql.md +1 -1
- package/docs/providers/postgresql.md +2 -2
- package/docs/providers/rocksdb.md +1 -1
- package/docs/providers/sqlite.md +1 -1
- package/docs/query/README.md +1 -1
- package/docs/query/count.md +2 -8
- package/docs/query/create.md +2 -12
- package/docs/query/diagrams/how-it-works-2.excalidraw +1097 -0
- package/docs/query/diagrams/how-it-works-2.mmd +10 -0
- package/docs/query/diagrams/how-it-works-2.svg +2 -0
- package/docs/query/diagrams/how-it-works-3.excalidraw +665 -0
- package/docs/query/diagrams/how-it-works-3.mmd +6 -0
- package/docs/query/diagrams/how-it-works-3.svg +2 -0
- package/docs/query/diagrams/how-it-works-4.excalidraw +881 -0
- package/docs/query/diagrams/how-it-works-4.mmd +8 -0
- package/docs/query/diagrams/how-it-works-4.svg +2 -0
- package/docs/query/diagrams/how-it-works-5.excalidraw +881 -0
- package/docs/query/diagrams/how-it-works-5.mmd +8 -0
- package/docs/query/diagrams/how-it-works-5.svg +2 -0
- package/docs/query/diagrams/how-it-works.excalidraw +665 -0
- package/docs/query/diagrams/how-it-works.mmd +6 -0
- package/docs/query/diagrams/how-it-works.svg +2 -0
- package/docs/query/read.md +4 -18
- package/docs/query/update.md +2 -10
- package/docs/query-dsl.md +1 -1
- package/docs/quick-start.md +1 -1
- package/docs/retold-catalog.json +1 -1
- package/docs/retold-keyword-index.json +1 -1
- package/docs/schema/README.md +2 -7
- package/docs/schema/diagrams/overview.excalidraw +834 -0
- package/docs/schema/diagrams/overview.mmd +5 -0
- package/docs/schema/diagrams/overview.svg +2 -0
- package/package.json +3 -3
- package/source/providers/Meadow-Provider-MeadowEndpoints.js +36 -7
- package/test/Meadow-Provider-MeadowEndpoints-Session_tests.js +123 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
graph TB
|
|
2
|
+
Fable["Fable<br/>(Configuration, Logging, DI)"]
|
|
3
|
+
Meadow["Meadow<br/>(Data Broker)"]
|
|
4
|
+
Schema["Schema<br/>(Column Types, JSON Schema,<br/>Default Object, Authorizer)"]
|
|
5
|
+
FoxHound["FoxHound<br/>(Query DSL)"]
|
|
6
|
+
Behaviors["Behaviors<br/>(Create, Read, Reads,<br/>Update, Delete, Undelete, Count)"]
|
|
7
|
+
Provider["Provider<br/>(Database Adapter)"]
|
|
8
|
+
Database["Database<br/>(MySQL, MSSQL, PostgreSQL,<br/>SQLite, MongoDB, RocksDB, etc.)"]
|
|
9
|
+
|
|
10
|
+
Fable --> Meadow
|
|
11
|
+
Meadow --> Schema
|
|
12
|
+
Meadow --> FoxHound
|
|
13
|
+
Meadow --> Behaviors
|
|
14
|
+
Meadow --> Provider
|
|
15
|
+
Provider --> Database
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1274 652" width="1274" height="652"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2dW3fbNlx1MDAxMoDf8yt03Jfdc2xcdTAwMTT3S97iONlmN2nTuj37sO3Zo1iMrUaWtFx1MDAxMp1Le/rfd0BJJIaiXHUwMDA1wLJdaVdqkkqUOMRlXHUwMDA2881cdTAwMDAgf3/S61x1MDAxZJVfpsXR095R8fmiP1x1MDAxYVx1MDAwZWb9T0fH/vjHYjZcdTAwMWZOxvBcdTAwMTWvPs8nN7OL6pdXZTl9+vXXjFx1MDAxYkLhP/ZUOsPc4qxiVFxcXHUwMDE343JcdTAwMGW/+1x1MDAxN3zu9X6v/oVvhlx1MDAwM3/u/Ko/LU5e9t+Nilx1MDAxM1q9Llx1MDAxN2dWv1mVZVZcXJT98eWoaL76XGbHleT15y/wmen646fhoLyCQ0LS+thVMby8KuGgsfWxhdSnveZX83I2+VA8n4wmM3/pr9gpe8lFc+F3/YtcdTAwMGaXs8nNeFD/ppz1x/Npf1x1MDAwNlx1MDAxNW1+9344XHUwMDFhnZdfKunQWNCUR61r/HNZRt46fttZcNHLq3Ex943J6qOTaf9iWFbVp00tfFx0p69cdTAwMDZVu//SlGnWvy5e+YZcdTAwMWbfjEah4PFgKXjVP03ri+WRP5piXHUwMDE2hZehrKpcdTAwMGa1tCM89u1kXFzpXHRzSlrGjKl/MJyfgX6UlbD3/dG8aFx1MDAxYdmX6EVbd0L9XHR0qD+bTT4tdehN0Vx1MDAxZsCHhSr1L+vGQ+pUnXBUf/PH8l3TTjfTQX9RLGYslZJr7f/W34+G41x1MDAwZu1GXHUwMDFjTS4+dNRkOFx1MDAxZVx1MDAxNJ+ri9LFXHUwMDE1l83YsoNR/10xQnZQfFi3g7L4XFxuNlx1MDAwMWWISjNcdTAwMDJOd8pcYtguXHUwMDE5XHUwMDAx+mKl7Vxc5mg7t0YqrdRdlP1BXHUwMDE0sdJcdTAwMWRoz788n4zfXHUwMDBmL29m/Vx1MDAxMop73Hs9ubxcdTAwMWOOL497Z6/+XHUwMDFhdNxkXFyeXHUwMDBmfyvwqOqPvuxfXHUwMDBmR5WqIdHPRsNL3yBHXHUwMDE3UItidlx1MDAxNLZLOVx1MDAwNFdS/6CcTENFmlx1MDAxN1CJ6jqNwFx1MDAwYrhOXHUwMDFmjs7Wu2kyXHUwMDFiQnH7o1x1MDAxZrOq078pJz9cdTAwMTTzRYXK2U1cdTAwMTG2YPHNyiZcdTAwMTjhQYfVlss2We7Cg6FxZ2qTXZhcdTAwMGW0qlJf23xemS8zTaFcdTAwMGU+7H59mKM21NSYVVx1MDAwYmqoUdbtnlx1MDAwZjuOS1/KPb+4Kq77S/G/ju5b/MvJ5298zZdcdTAwMTe4oPd9gdPiqv9xOJnNl1e4kvd9hbezycfhoJgtL/CfxCo8XHUwMDBlRvA4RiBcdTAwMDWyXHUwMDFkPL3OXHUwMDEx7XGIc9VcdTAwMDFcdTAwMTKdI9FcdTAwMDEk8kCCXHUwMDA3o0fCkOO4lVYp15RxZ0jirF/2e6e+kWd7iVx1MDAwZd3l345cdTAwMTVEnFx1MDAxNdBcdTAwMDA8vUxmXHUwMDA10bgq34hCNTpTkz5361x1MDAwNsqo2ClcdTAwMGLdW1ZcYtQ5xXDByLiT9E6G+7De/HE8lYx7KlR63YHN656qbVx1MDAwNa4j6dNlXHUwMDA18uCm8txUXrxrQGtcZlXM3UXbXHUwMDFmOuBcdTAwMWTdXFyPez+CSs2Pe38//+7b3kLvjn9cdTAwMWWfXHUwMDE17/s3o7L33btfYdA97j27Ka/AT/y2p1x1MDAxZW3rqm7n/FTc+bXCg2uV7P6kaXSrsnzdXHUwMDAxqKpxdYdQ+X7dn8nmVqWVvtN4kOz97lx1MDAxOGw+jv/TXHRcdF9cXP4+S/GAbUOQVHfFal2mcIjV8pyg0CxH56VlQDGWi7so/cM6we9vitmX3tn56730a12l385VmbiraieaXHUwMDA2XHUwMDE5ad1gluvWWC1I9Vx1MDAxZWK1e3ZW0uTFaoJL7Th9WG9118zl47grXHUwMDFid1ftXG5cZidJucW2MXSFbF3GcFxi2fK8lTZrXG6+Sek5Y0xS0Po7zWY8cMw2K0Dmce9cdTAwMDewnMW/c1xiYX6qrnTcW1x1MDAxNPK491x1MDAxMyjv4t1zKF65l65t25pu51x1MDAwNl3cXHK2ZkM0TfaC4MziIVx1MDAxYlx1MDAxN42NXHUwMDFjQrb79YI8L2PJlbPOUPZAs5vbza5cdTAwMWTHL1BL9ol9b5mrXHUwMDFj+06Fhc/ifrbVRFx1MDAxM5niZtesrTsu7LS3Q1xcmOdprc5aNsCp0I45LXYwO7qyld6zQX9a7mnec0MltvOPp3H/2Fx1MDAxYWxmXHUwMDFkxnqbf2xcdTAwMWG1akvZsXTPdGRxXHUwMDBlQeI9TejlXHUwMDA1iUxTR1xylfaBosT9cF/P4+6rVf5fp0nuq2VcZkErbzSGQ5CY57pMkORIUXquuHNiJ1eyvvly/v3r496b8+p/byfz8nJW+Pc/j+HfoY+W3kzGl5OzU1xirEDW3L8pylx1MDAwYrKXPu4+arudMzzbZPopK1x1MDAxOFtDXHUwMDE3sn/D8Ep2t75cdTAwMTCWko7lZy7H/vlcdTAwMGJzZuT/jS/snNLIdHqKXHUwMDFirixcdTAwMTe7M6cxnVxm2z61eddrer/6UL//5Tj+a6ZjPz+hhELplWWaWa00XHUwMDEz1kgkwlx1MDAxMWtcdTAwMTQzTGpjtFx1MDAwNFpIXHUwMDEx2fxcdTAwMWVcdTAwMThDKM5DkVxcXHUwMDEwxSAyp1xcUy1YijxhVn+0U9w21lxcydPEaVx1MDAxZf5JXHUwMDExXHRXppRcdMNcZlQqyDT6l6BcdTAwMDRcdTAwMTRcdTAwMDRcdTAwMDJcdTAwMWOmXHUwMDFj45xak1wi0UlBXHI31J/KtDRIoiBCOeG0XHUwMDE0olpXkiCQXHUwMDA1dVKac41cdTAwMDRq0jRcbvxJ6Vx1MDAxNqYt/FBCdYyjUEQs0Fx1MDAxMe6k41IpySz8LEEgtIxcdTAwMDKNoIw6XHUwMDAzXHUwMDE1XHUwMDEzoTzJyUKnlHZgcsCmKVx1MDAwMlHHSpVyimPSLfVJaY1aXVx1MDAxYVx1MDAwMjVhQq56JqVSYcc7a1x1MDAwNTJcdTAwMDdFXHT0XHUwMDFlNWppMy5FYNhPXFxSVEclSLbugohVm2qjncUl1KQyO1x1MDAwMY1cdTAwMDGok2SvUmjrnNXesmwwnVHJc1x1MDAwNC7TKE6K5sqgPlx1MDAxNromlKdFaM6GppiWtNwqwXllQlSjXHUwMDA21JosNVBcdTAwMDDWpfRcdTAwMDeoy0LFvWI4XFw6480uuFxcisKg4pjsM1xcMKY/aZ1cdFx1MDAwMci8fD65vlx1MDAxZZbgbN56R7HmXHUwMDA2y/6sPFx1MDAwNahcdTAwMTmOL3G4eD1cdTAwMTlUnnoyezcsg5BrtYn1VXzHaoVcbp+bKyNPQ1x1MDAxNG1cdTAwMTaDNkfWatPEqcV4sHVJb9uZdM9FrZr1mce6K7hgu9GhXCLhd23+K0bvJp82Rp0v4uhcdTAwMTlZXHUwMDEwu4k913c/NLRT501Vk1x1MDAxNm8yMTZk0lx1MDAwM38mxZ95u4ZcdTAwMDXTXHUwMDE0PLvanf1cdTAwMGb3yp8nTOf9njtC/WJcdTAwMDUmlKV+6EWDIyNcdTAwMWUga2zicfcoXHUwMDE5sVoyZ5Sg8Fx1MDAwNnGdJqz2c8ZaKaLSlCTgK3T9QojDXHUwMDA08u0y7lx1MDAxYbUh1Fx1MDAwNtXFXHUwMDFjy4n3rzXNxD2JcTCMVdWs6otwTlx1MDAxMtCKXHUwMDA25+Jlc9Bwonlh3JSamIBSXHUwMDA0jaNcdTAwMTmj0jPxsl+1w9yjKdFcclx1MDAxZVxuXGJC4lx1MDAwMlx1MDAxOTAvXHI6XHUwMDE3+V1Flui9gLe4NG7bflx1MDAxOPAzfpqEgru6Ulxm4yGjUIyKy5bAlCBQcVx1MDAwMm1TV8th/ffxV4iwXHRcdTAwMDK1XCKBxupmyWolXHUwMDEwXCKRkEfj+MWMXHUwMDAxZGrqbFx1MDAxMTBBnEdAx2pcIo5cdTAwMWIomCBxtX36N0ieMsRcdTAwMDRxRVx1MDAxY1855VBcdTAwMDJ7i+IyMLkwkNJcdFx1MDAwMlx1MDAxOTRg08FcbtfXSNJEjpwlhNicXHUwMDFiXHUwMDEyVlx1MDAxN48hxlx1MDAxMjD2XHUwMDFjXudcdTAwMTKhTOWz4ycps+GkJ62TXHUwMDFmjTtcdTAwMWaJ5u5cdTAwMDM8b9vmtl/g+TJcdTAwMTk8b1+Lvlx1MDAxMT1cdTAwMWRHbqRcdTAwMDWien3dKFhcdTAwMTJcdTAwMTHhq4tLs2ZcYlx1MDAwZlTak1wia+mckkZofUiKLl4nXGacuFTUSuWo0VJi7OOUsMBcdTAwMDNQXHUwMDE1R1x1MDAxN1x0Plx1MDAxNyBcdTAwMTbozimQzFx1MDAxMDRw6TNly0yj93tcdD5cdTAwMTSKYLhcdTAwMTVOUVxyb7BcdTAwMGJcdTAwMDWwXHUwMDAxP1xcO3jG45jLvFx0Mri2kIAtzmGU5FDfrERcdTAwMWVXgDSCaqGUXHUwMDAxedKi8lx0TVx1MDAwMI6apHI8ZyNcdTAwMTSEXHUwMDAx0lx0y1xyRE9tcYBcdTAwMTOhg4/XXHUwMDE2kIUpqVx1MDAwMGpcdTAwMTjgkFNcdTAwMDajLlx1MDAwMJKzTbKWxbtcdTAwMTeYhWsnmDWUSVx1MDAwNiiEXHUwMDA1XHUwMDFhUnn2XHUwMDFhxqPytCUhwGH1UyzB3Vuf4ZZQXHUwMDFhXHJAzJRFYZBSpIqmVtBcdTAwMTZnQIhccsCijVx1MDAxNYYzP3uKkEg5wuFKNcPYXHUwMDA0XHUwMDAzo4xcdTAwMDT6izOYPkOYiaiMXHUwMDEx4GPoXHUwMDAzY1x1MDAxNCCUQayj/fxAkNVLiVxy/LRcYoNcdTAwMTMgXHUwMDEwk7aV2TaU2Lyksr+VXHUwMDFjXHUwMDBiNVx1MDAxOImT4DCD4CpuXHUwMDBlXGYsXHUwMDEyXHUwMDA2a21Bm4Sltlx1MDAxNVx0WVx1MDAxZjEsk7VcdTAwMTBMJowmYJFcZsRAXHUwMDEzwYCmXGYun1x1MDAwNYdcdTAwMWVGzSnlu82jV/JcdTAwMTL6c6NcdTAwMDCAgTV+2lx1MDAxN3JcdTAwMTVcdTAwMGXVXHUwMDBix1x1MDAwMlx1MDAxMFlSZPd6rZ73i7S3b17dL6j9WzLUbtiysnEyX1BcdTAwMWNTJ1CtRVx1MDAxY9xFtYep/sz9IHnLv5mESJkx43ZnleqfSbVcdTAwMDC1XHUwMDAyhm9cdTAwMDBcdTAwMTE/3e3w/HR7mj+ex1x1MDAwMaTVjdOQeCTDU/x+bi5aOkpcdTAwMDJcdTAwMWVcdTAwMTBu41xmf9RcdTAwMDVcdTAwMDHPKoBpKo1SwCxcdTAwMWE7kPzpfe4zx1xuqFx1MDAxMJwuhFx1MDAwNVx1MDAxNM+ct+b2o01cdTAwMDc462pcdTAwMTSAN4imsif2gWa1sqCTQFx1MDAxMdB5XGZLa83q6yg6XHUwMDAyyy6Yh0HrQdCCyFx1MDAxMU/qp2RttSNh/lx1MDAxY6NsfIJcdTAwMWY4XHUwMDE2XHUwMDFhXGK8XHUwMDBiXHUwMDA3rFx1MDAwNP3F61x1MDAwM0xmbtRB8Y3UXHUwMDFhQlx1MDAxY7+Xn6HMaPbUPqM+1dGoLJ42z53XZ1xmoFx1MDAwZcJwXGJcdTAwMTKBoUEtkIdtzeorXHUwMDExrSvjjFxiv9rRKlx1MDAwMEFNXHJcdTAwMGVcIlqz+lFcdTAwMGKo0uVccsA6tYbsWZP6zM9PmCbKdnieXHUwMDA2z+nT+OhcdTAwMDHAqKBMXG4qXHUwMDA0pkDbvJ43p3+7767EbXn+Tsz3341eW3iKjPHR4XXDdvb9otdvkun19q1mXHUwMDFi4dXhfVSdq1x1MDAwMbpuqVxmw1x1MDAxYdE5O1x1MDAxN1x1MDAwZozag/Eqh1E5XHUwMDA1XHUwMDA2XHUwMDExd7yp2u4jauZiXHUwMDAw8DE0XFy7hlxilShwseBaLLNcdTAwMGVcdTAwMTAwOlxu+7xgmKbFy1x1MDAxZFx1MDAwMcE487c3cU75lVx1MDAwMFFximGHjpOG4LyNY83LRLFcclxcJlx1MDAwZuY5dSuHy0BcdTAwMWVcdTAwMDdwXHUwMDE1xqdPo3BvZFx1MDAwYl5cdTAwMTBcdTAwMDRyopb1ND7PXHUwMDFmrav1+aDAnyNp0pO/rV/xqXZniFxmMI1hXHUwMDEwgS5fVlJBI8STrVx1MDAxMHNcdTAwMTBcdTAwMTNMsaOywYBFadCxcYbjSKGh4kK45pXAMVxmrztASkHBKS411rMyi0Og9F1cdTAwMTUk2/HcM5NAgZorxaSkgru4PMBQXHUwMDFi5sbx3LOfmFx1MDAwZZQ22pN+aVx1MDAwMVxuJ5A0uZhcdTAwMTeBmFt5zZXx0lx1MDAxOY1WvFxiXHUwMDA0gUz5PGulsItcdTAwMWHHVcNavCBcdTAwMDdcdTAwMGYgwLw2eEV1g0P30SDziWdFIKghRtVdy1Q8iGSMuDBQROJcZiNs0alee+PCOK5cXOWqoydJuumkJ62Td5xG/5RVXHUwMDAwt989XCIr8WvN8YavJVtfm/FoOPoqjqNcdDs7N1x1MDAwMen6zn5wn2I9h6pVXHUwMDE3lFpJ2Fx1MDAwMUrzoDRcdTAwMTCcXHUwMDAwpdbHdlTZ/9HVXHUwMDAw2UtUXHUwMDAx/UxNKNS0VjJcdTAwMDJcdTAwMTfKgOREfHrXXHUwMDFhj7mroV47hDBAIOG+mThInvhMj9W1XHUwMDEzp1x1MDAwZWd2hS9fkDtNmH5TfqFl7chcdTAwMDVeOsZcdTAwMDFcXOWK0CtcdTAwMTSIXHUwMDBidJTIXHUwMDAwt/H8PfCkWG1cdTAwMDajND5dXHSuj/DAkVx1MDAxYoQh0oBbXHUwMDBlXHUwMDE4IN5cdTAwMWTg24nPudW0jbpcdTAwMDPatpn7NCk7QriDWGVFaFBp5KRcdTAwMDB5LM3aYFwi8CphxysoSUfUXHUwMDEzXHUwMDAxjF0rr1x1MDAwN1x1MDAxNsyoXHUwMDA2mKnJ/MdcdTAwMTn1RPhcIlxiWZNcdTAwMTm2XHUwMDA2zqFz6tWRXFwlLMfgiphcdTAwMTBDsfpqXHUwMDEyqm9cdTAwMWOzTiSAnjJcdTAwMDGZYUp1XHUwMDA0umaRWfTtXHUwMDE4ty/pwISC8KmFgT5DvVwiOlxiwOLWoPxcdTAwMDJcdTAwMWRcdTAwMTGAKGYywJhcdTAwMDBiXHUwMDEz+kNp7rmyjjSwOFx1MDAwM2NDXHUwMDEwfSUseXdcdTAwMTZcItMmxsBQbrkvXlxy7Vx0az10a4l05b/jZym66awnrbNcdTAwMWZcclXvh/846vNHT53efouX/cqc/j33XHUwMDExdP8uh2V415r0XHUwMDA30flcdTAwMWPKXHUwMDFhoHY/iC5nXHUwMDAz1eFcdTAwMDZcdTAwMWU9oMJcdTAwMWM4ZdWks3Vqd+h0dVx1MDAwM49K1zpvxVx1MDAxMdyPbFx1MDAwN2/F0Sr3djfV+Ef285zSjXJtXyOlyU91Olhl3rZGmWWVPmkqXHUwMDAxI3dnXHUwMDFlY2WUXHUwMDBiZdtDq2xcdTAwMTd8O7N8nf3wmnSzbD/CxjRasPFcdTAwMTE2XHUwMDA3m8y0SZ53l0ZcdTAwMDaRu/N3eds5o1xcqNpcdTAwMWVcdTAwMWFlu+DbXHUwMDE55Zs7PFEj3SzXXHUwMDFlMGNZ8nM1XHUwMDBllpl3XHUwMDEzKpW13UpSsCSfktk5w1xcqdtcdTAwMWWa5nrRtzPOb+/y/IBcZpZtP0Wgy2t2PUXgYJuZXjPvmTfVhim/pHPnbLPWtj00zo6yb2ed393hruPpxrl+p/9O39l97/GDfeY9mJFl+U7ntDKU7Z7rXFyp21x1MDAxZVrnetG3M863d7incoZxtu6srNfvrNp5Z+WDYeY+XHUwMDE0IC8xa2HQdOFN33fFMle6toeWuV707Szz+6VlPlnOnVx1MDAxZPWn0/NcdTAwMTJcdTAwMWH8aDWZXHUwMDA0OjRcdTAwMWO02mZxrCymTbtUh95MXHUwMDA2xYuxz1x1MDAxZbdcdTAwMWH/6OOw+HS6bjJfvTx9aV68WNZm2W9vbkbl8Fx1MDAxYzTlolx1MDAwNHWq7nnvy1eNXHUwMDFl3p6K5aE//lx1MDAwYlkhyMIifQ==<!-- payload-end --><pict-renderer-graph:source xmlns:pict-renderer-graph="https://fable-retold.github.io/pict-renderer-graph/ns/v1"><![CDATA[{"type":"flowgraph","mermaid":"graph TB\n\tFable[\"Fable<br/>(Configuration, Logging, DI)\"]\n\tMeadow[\"Meadow<br/>(Data Broker)\"]\n\tSchema[\"Schema<br/>(Column Types, JSON Schema,<br/>Default Object, Authorizer)\"]\n\tFoxHound[\"FoxHound<br/>(Query DSL)\"]\n\tBehaviors[\"Behaviors<br/>(Create, Read, Reads,<br/>Update, Delete, Undelete, Count)\"]\n\tProvider[\"Provider<br/>(Database Adapter)\"]\n\tDatabase[\"Database<br/>(MySQL, MSSQL, PostgreSQL,<br/>SQLite, MongoDB, RocksDB, etc.)\"]\n\n\tFable --> Meadow\n\tMeadow --> Schema\n\tMeadow --> FoxHound\n\tMeadow --> Behaviors\n\tMeadow --> Provider\n\tProvider --> Database\n","style":"notebook"}]]></pict-renderer-graph:source></metadata><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Excalifont; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(536 10) rotate(0 170 39)"><path d="M19.5 0 C81.59 -1.31, 142.17 -0.89, 320.5 0 M19.5 0 C115.29 0.21, 210.29 0.68, 320.5 0 M320.5 0 C334.56 1.58, 338.16 6.53, 340 19.5 M320.5 0 C334.74 1.74, 341.11 7.41, 340 19.5 M340 19.5 C338.93 29.4, 338.82 37.83, 340 58.5 M340 19.5 C339.74 29.16, 340.18 40.91, 340 58.5 M340 58.5 C340.28 72.35, 332.68 79.66, 320.5 78 M340 58.5 C340.82 71.45, 333.55 78.14, 320.5 78 M320.5 78 C209.53 78.95, 97.85 78.9, 19.5 78 M320.5 78 C243.75 76.22, 166.55 76.86, 19.5 78 M19.5 78 C6.69 77.83, 1.19 72.17, 0 58.5 M19.5 78 C5.61 76.91, -1.64 72.6, 0 58.5 M0 58.5 C-1.77 42.89, 1.33 30.49, 0 19.5 M0 58.5 C-1.03 45.69, -0.35 35.4, 0 19.5 M0 19.5 C-0.99 6.42, 6.86 -1.11, 19.5 0 M0 19.5 C0.51 4.69, 6.12 -0.01, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(536 51.5) rotate(0 170 10)"><text x="170" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Configuration, Logging, DI)</text></g><g stroke-linecap="round" transform="translate(618 178) rotate(0 87.5 39)"><path d="M19.5 0 C47.65 2.55, 74.67 -0.5, 155.5 0 M19.5 0 C68.99 -0.09, 119.96 0.03, 155.5 0 M155.5 0 C168.52 -1.49, 175.05 6.18, 175 19.5 M155.5 0 C167.22 1.33, 175.05 7.78, 175 19.5 M175 19.5 C176.23 32.41, 174.71 41.36, 175 58.5 M175 19.5 C175.34 30.69, 175.86 42.26, 175 58.5 M175 58.5 C173.58 70.02, 170.03 78.03, 155.5 78 M175 58.5 C175.3 71.04, 169.52 79.93, 155.5 78 M155.5 78 C126.08 77.17, 94.4 75.71, 19.5 78 M155.5 78 C105.68 79.31, 55.99 79.95, 19.5 78 M19.5 78 C7.24 78.98, -1.58 72.59, 0 58.5 M19.5 78 C5.81 78.13, -1 73.79, 0 58.5 M0 58.5 C-0.3 48.24, -1.21 39.35, 0 19.5 M0 58.5 C-0.84 43.43, -0.66 28.74, 0 19.5 M0 19.5 C1.81 5.27, 7.72 -1.55, 19.5 0 M0 19.5 C0.25 5.02, 4.64 0.3, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(618 219.5) rotate(0 87.5 10)"><text x="87.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Data Broker)</text></g><g stroke-linecap="round" transform="translate(32 346) rotate(0 164.5 51.5)"><path d="M25.75 0 C81.82 -0.65, 139.89 -1.77, 303.25 0 M25.75 0 C122.39 1.45, 217.88 1.35, 303.25 0 M303.25 0 C322.06 -1.26, 328.08 9.28, 329 25.75 M303.25 0 C320.73 1.22, 327.57 9.92, 329 25.75 M329 25.75 C330.65 37.22, 329.63 50.57, 329 77.25 M329 25.75 C329.59 35.67, 328.1 46.3, 329 77.25 M329 77.25 C328.35 96.15, 321.82 101.26, 303.25 103 M329 77.25 C329.59 94.46, 319.72 102.21, 303.25 103 M303.25 103 C203.2 100.04, 107.12 102.12, 25.75 103 M303.25 103 C222.52 103.48, 141.39 103.09, 25.75 103 M25.75 103 C10.23 101.68, 1.02 95.73, 0 77.25 M25.75 103 C8.73 102.99, -2.12 92.87, 0 77.25 M0 77.25 C2.04 61.08, 0.98 42.57, 0 25.75 M0 77.25 C0.9 55.87, 0.83 37.29, 0 25.75 M0 25.75 C1.3 7.33, 9.39 -0.02, 25.75 0 M0 25.75 C-0.11 8.93, 10.24 0.08, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(32 390) rotate(0 164.5 20)"><text x="164.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Column Types, JSON Schema,</text><text x="164.5" y="34.096000000000004" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Default Object, Authorizer)</text></g><g stroke-linecap="round" transform="translate(473 359) rotate(0 76.5 39)"><path d="M19.5 0 C41.95 0.77, 67.07 -0.4, 133.5 0 M19.5 0 C63.06 -0.54, 105.98 0.36, 133.5 0 M133.5 0 C144.53 1.77, 153.49 7.54, 153 19.5 M133.5 0 C148.47 1.13, 151.72 6.49, 153 19.5 M153 19.5 C153.76 34.83, 152.83 47.26, 153 58.5 M153 19.5 C152.62 29.33, 153.95 37.97, 153 58.5 M153 58.5 C151.5 73.46, 148.3 78.97, 133.5 78 M153 58.5 C154.5 70.97, 147.15 79.7, 133.5 78 M133.5 78 C99.41 80.39, 68.41 76.66, 19.5 78 M133.5 78 C108.89 76.83, 84.94 77.03, 19.5 78 M19.5 78 C6.68 76.89, -0.07 72.03, 0 58.5 M19.5 78 C7.31 77.78, 0.79 70, 0 58.5 M0 58.5 C1.52 43.08, 0.67 30.19, 0 19.5 M0 58.5 C-0.52 46.86, 0.44 34.81, 0 19.5 M0 19.5 C-0.58 5.67, 5.94 1.62, 19.5 0 M0 19.5 C-2.2 7.21, 4.82 -1.24, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(473 400.5) rotate(0 76.5 10)"><text x="76.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Query DSL)</text></g><g stroke-linecap="round" transform="translate(671 346) rotate(0 192 51.5)"><path d="M25.75 0 C91.64 1.76, 161.39 0.98, 358.25 0 M25.75 0 C115.47 0.15, 204.9 0.06, 358.25 0 M358.25 0 C375.89 1.9, 384.36 9.23, 384 25.75 M358.25 0 C375.7 -1.94, 385.71 7.07, 384 25.75 M384 25.75 C385.07 44.07, 384.68 59.46, 384 77.25 M384 25.75 C384.35 37.26, 385.1 47.36, 384 77.25 M384 77.25 C385.39 95.51, 375.83 102.17, 358.25 103 M384 77.25 C382.64 94.42, 376.97 104.54, 358.25 103 M358.25 103 C271.18 103.02, 185.61 101.47, 25.75 103 M358.25 103 C249.02 103.41, 138.59 102.82, 25.75 103 M25.75 103 C8.44 104.17, -1.66 95.57, 0 77.25 M25.75 103 C8.26 101.53, -0.14 96.53, 0 77.25 M0 77.25 C-1.24 60.73, -2.11 42.65, 0 25.75 M0 77.25 C0.04 58.5, -0.07 39.59, 0 25.75 M0 25.75 C1.49 8.89, 8.06 -0.55, 25.75 0 M0 25.75 C1.43 9.43, 10.41 -1.6, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(671 390) rotate(0 192 20)"><text x="192" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Create, Read, Reads,</text><text x="192" y="34.096000000000004" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Update, Delete, Undelete, Count)</text></g><g stroke-linecap="round" transform="translate(1033 359) rotate(0 115.5 39)"><path d="M19.5 0 C57.26 -3.29, 97.61 -0.24, 211.5 0 M19.5 0 C86.2 0.48, 153.85 1.61, 211.5 0 M211.5 0 C226.28 0.31, 230.84 8.02, 231 19.5 M211.5 0 C223.72 -0.67, 230.17 5.6, 231 19.5 M231 19.5 C232.64 34.46, 230.08 48.91, 231 58.5 M231 19.5 C230.03 33.37, 231.92 45.13, 231 58.5 M231 58.5 C229.6 72.21, 223.06 76.43, 211.5 78 M231 58.5 C231.83 73.57, 226.54 75.89, 211.5 78 M211.5 78 C138.94 79.2, 64.13 79.61, 19.5 78 M211.5 78 C169.22 77.7, 127.89 76.45, 19.5 78 M19.5 78 C4.94 77.91, 0.04 71.47, 0 58.5 M19.5 78 C8.61 76.5, -0.43 71.59, 0 58.5 M0 58.5 C-1.56 46.02, -1.58 31.01, 0 19.5 M0 58.5 C0.57 47.3, -0.28 34.37, 0 19.5 M0 19.5 C0.16 7.73, 5.37 -0.5, 19.5 0 M0 19.5 C1.71 7.64, 6.96 0.95, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1033 400.5) rotate(0 115.5 10)"><text x="115.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Database Adapter)</text></g><g stroke-linecap="round" transform="translate(10 539) rotate(0 186.5 51.5)"><path d="M25.75 0 C90.55 -2.65, 158.51 -0.9, 347.25 0 M25.75 0 C111.58 0.19, 196.9 0.86, 347.25 0 M347.25 0 C364.22 -1.5, 372.81 6.92, 373 25.75 M347.25 0 C362.85 -1.91, 374.28 8, 373 25.75 M373 25.75 C375.01 38.84, 371.72 53.55, 373 77.25 M373 25.75 C373.91 45.53, 373.39 64.49, 373 77.25 M373 77.25 C372.07 96.23, 362.86 102.05, 347.25 103 M373 77.25 C373.44 93.63, 364.67 104.82, 347.25 103 M347.25 103 C253.05 105.33, 156.49 105.28, 25.75 103 M347.25 103 C269.94 101.12, 192.25 101.68, 25.75 103 M25.75 103 C9.01 104.44, -1.53 95.39, 0 77.25 M25.75 103 C8.17 101.94, -1.35 94.05, 0 77.25 M0 77.25 C-0.96 59.75, 0.86 41.98, 0 25.75 M0 77.25 C0 56.9, -0.98 38.48, 0 25.75 M0 25.75 C-0.55 7.11, 8.3 1.51, 25.75 0 M0 25.75 C-0.53 8.86, 6.66 -1.57, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(10 583) rotate(0 186.5 20)"><text x="186.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(MySQL, MSSQL, PostgreSQL,</text><text x="186.5" y="34.096000000000004" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">SQLite, MongoDB, RocksDB, etc.)</text></g><g stroke-linecap="round"><g transform="translate(706 88) rotate(0 0.09753267652331488 45)"><path d="M0 0 C0.42 3.56, 1.57 5.94, 0 16 M0 0 C0.56 3.74, -0.71 8.09, 0 16 M0 16 C0.39 16.61, 0.31 17.93, 0 19.88 M0 16 C0.18 17.17, 0.05 18.29, 0 19.88 M0 19.88 C0.13 20.91, 0.03 22.04, -0.02 23.52 M0 19.88 C0.03 21.19, 0.17 22.53, -0.02 23.52 M-0.02 23.52 C-0.32 24.88, 0.27 25.88, -0.04 26.96 M-0.02 23.52 C0.09 24.84, -0.16 26.16, -0.04 26.96 M-0.04 26.96 C0.27 27.88, 0.01 28.92, -0.06 30.23 M-0.04 26.96 C-0.14 27.96, -0.14 28.93, -0.06 30.23 M-0.06 30.23 C0.03 31.46, 0 32.24, -0.09 33.36 M-0.06 30.23 C0.08 31.46, -0.18 32.45, -0.09 33.36 M-0.09 33.36 C0.06 34.18, -0.02 34.79, -0.13 36.37 M-0.09 33.36 C-0.23 33.97, -0.17 34.79, -0.13 36.37 M-0.13 36.37 C-0.41 37.61, -0.15 38.07, -0.17 39.29 M-0.13 36.37 C-0.26 37.1, -0.12 37.99, -0.17 39.29 M-0.17 39.29 C-0.25 40.28, -0.3 40.87, -0.21 42.16 M-0.17 39.29 C-0.02 40.35, -0.25 41.22, -0.21 42.16 M-0.21 42.16 C-0.24 42.69, -0.45 43.71, -0.25 45 M-0.21 42.16 C-0.18 42.91, -0.33 43.86, -0.25 45 M-0.25 45 C-0.03 45.58, -0.56 46.67, -0.29 47.84 M-0.25 45 C-0.32 45.56, -0.24 46.33, -0.29 47.84 M-0.29 47.84 C-0.51 48.42, -0.05 49.04, -0.33 50.71 M-0.29 47.84 C-0.29 48.76, -0.18 49.9, -0.33 50.71 M-0.33 50.71 C-0.19 51.84, -0.45 52.43, -0.37 53.63 M-0.33 50.71 C-0.44 51.79, -0.27 52.84, -0.37 53.63 M-0.37 53.63 C-0.51 54.89, -0.39 55.81, -0.41 56.64 M-0.37 53.63 C-0.5 54.82, -0.37 55.9, -0.41 56.64 M-0.41 56.64 C-0.7 57.43, -0.26 58.51, -0.44 59.77 M-0.41 56.64 C-0.32 57.72, -0.5 58.43, -0.44 59.77 M-0.44 59.77 C-0.18 60.44, -0.73 61.13, -0.46 63.04 M-0.44 59.77 C-0.4 60.85, -0.46 61.76, -0.46 63.04 M-0.46 63.04 C-0.37 64.37, -0.52 65.4, -0.48 66.48 M-0.46 63.04 C-0.38 63.62, -0.41 64.38, -0.48 66.48 M-0.48 66.48 C-0.81 67.81, -0.15 69.01, -0.5 70.12 M-0.48 66.48 C-0.4 67.43, -0.49 68.54, -0.5 70.12 M-0.5 70.12 C-0.44 70.91, -0.41 71.57, -0.5 74 M-0.5 70.12 C-0.59 71.51, -0.47 73.02, -0.5 74 M-0.5 74 C0.08 79.06, -0.66 83.45, -0.5 90 M-0.5 74 C-0.86 80.44, -0.13 86.19, -0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(706 88) rotate(0 0.09753267652331488 45)"><path d="M-3.05 82.42 C-2.33 84.14, -1.24 85.24, -0.5 90 M-3.05 82.42 C-2.08 84.18, -2.03 86.24, -0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(706 88) rotate(0 0.09753267652331488 45)"><path d="M2.42 82.55 C2.03 84.2, 2.02 85.27, -0.5 90 M2.42 82.55 C1.91 84.27, 0.49 86.29, -0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(618 217) rotate(0 -128.5 90.45062158808413)"><path d="M0 0 C-2.95 -0.23, -7.64 0.17, -16 0 M0 0 C-5.45 -0.33, -12.13 0.33, -16 0 M-16 0 C-21.25 1.76, -25.55 2.26, -29.02 1.61 M-16 0 C-20.33 0.46, -26.17 0.85, -29.02 1.61 M-29.02 1.61 C-32.26 2.17, -37.01 3.91, -41.86 6.19 M-29.02 1.61 C-31.69 2.52, -35.07 3.38, -41.86 6.19 M-41.86 6.19 C-46.58 8.05, -52.89 12.76, -54.54 13.37 M-41.86 6.19 C-44.42 7.38, -47.69 8.86, -54.54 13.37 M-54.54 13.37 C-58.27 17.19, -64.17 19.38, -67.08 22.78 M-54.54 13.37 C-59.85 16.42, -63.71 20.09, -67.08 22.78 M-67.08 22.78 C-72.17 26.02, -75.41 32.64, -79.5 34.04 M-67.08 22.78 C-70.57 25.43, -74.21 29.33, -79.5 34.04 M-79.5 34.04 C-82.14 37.58, -86.44 42.41, -91.83 46.8 M-79.5 34.04 C-83.52 38.48, -87.6 42.36, -91.83 46.8 M-91.83 46.8 C-96.45 52.35, -98.08 54.45, -104.09 60.66 M-91.83 46.8 C-95.63 50.96, -98.38 54.68, -104.09 60.66 M-104.09 60.66 C-110.12 64.95, -113.06 70.2, -116.31 75.27 M-104.09 60.66 C-107.91 66.12, -112.69 70.43, -116.31 75.27 M-116.31 75.27 C-119.44 78.05, -120.2 81.92, -128.5 90.25 M-116.31 75.27 C-118.42 79.27, -122.29 81.04, -128.5 90.25 M-128.5 90.25 C-134.16 95.63, -139.75 102.04, -140.69 105.23 M-128.5 90.25 C-131.34 94.34, -134.54 96.54, -140.69 105.23 M-140.69 105.23 C-145.15 110.49, -149.12 115.64, -152.91 119.84 M-140.69 105.23 C-143.05 109.08, -146.6 111.81, -152.91 119.84 M-152.91 119.84 C-157.08 122.45, -156.05 124.36, -165.17 133.7 M-152.91 119.84 C-156.78 124.99, -161.57 129.25, -165.17 133.7 M-165.17 133.7 C-170.04 137.23, -172.35 143.92, -177.5 146.46 M-165.17 133.7 C-168.86 138.92, -174.34 143.49, -177.5 146.46 M-177.5 146.46 C-179.51 147.37, -183.36 153.12, -189.92 157.72 M-177.5 146.46 C-181.94 150.36, -185.54 153.92, -189.92 157.72 M-189.92 157.72 C-195.29 159.94, -199.24 165.61, -202.46 167.13 M-189.92 157.72 C-193.51 159.96, -196.57 162.28, -202.46 167.13 M-202.46 167.13 C-207.69 170.72, -210.61 173.63, -215.14 174.31 M-202.46 167.13 C-206.78 169.27, -210.49 171.9, -215.14 174.31 M-215.14 174.31 C-217.44 175.73, -220.56 175.08, -227.98 178.89 M-215.14 174.31 C-218.42 174.88, -221.18 177.17, -227.98 178.89 M-227.98 178.89 C-232.7 178.12, -233.92 180.97, -241 180.5 M-227.98 178.89 C-230.24 179.67, -233.94 180.01, -241 180.5 M-241 180.5 C-245.36 179.55, -247.73 182, -257 180.5 M-241 180.5 C-246.37 180.35, -251.02 180.5, -257 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(618 217) rotate(0 -128.5 90.45062158808413)"><path d="M-249.5 177.72 C-250.85 178.17, -253.09 178.93, -257 180.5 M-249.5 177.72 C-252.04 178.54, -255.21 179.86, -257 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(618 217) rotate(0 -128.5 90.45062158808413)"><path d="M-249.47 183.19 C-250.87 182.53, -253.12 182.18, -257 180.5 M-249.47 183.19 C-252.03 182.07, -255.2 181.44, -257 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(686.8333333333334 256) rotate(0 -68.82100839787074 51.5)"><path d="M0 0 C0.35 1.95, -0.03 6.85, 0 16 M0 0 C-0.32 4.21, 0.19 9.24, 0 16 M0 16 C-0.27 17.7, -0.77 19.23, -1.22 20.11 M0 16 C-0.47 17.52, -0.95 18.72, -1.22 20.11 M-1.22 20.11 C-2.88 21.23, -3.59 23.69, -4.71 24.16 M-1.22 20.11 C-2.31 21.05, -3.22 22.52, -4.71 24.16 M-4.71 24.16 C-6.93 25.95, -8.59 27.82, -10.17 28.16 M-4.71 24.16 C-6.18 25.04, -7.6 26.5, -10.17 28.16 M-10.17 28.16 C-11.98 28.75, -14.49 31.64, -17.33 32.12 M-10.17 28.16 C-12.07 29.37, -14.03 29.96, -17.33 32.12 M-17.33 32.12 C-20.93 33.33, -22.07 35.16, -25.9 36.04 M-17.33 32.12 C-20.67 33.63, -23.31 35.12, -25.9 36.04 M-25.9 36.04 C-29.47 36.64, -32.6 39.57, -35.6 39.93 M-25.9 36.04 C-28.52 37.24, -32.48 38.62, -35.6 39.93 M-35.6 39.93 C-37.41 41.17, -41.45 42.8, -46.15 43.8 M-35.6 39.93 C-39.54 41.04, -43.11 42.44, -46.15 43.8 M-46.15 43.8 C-49.19 44.85, -52.96 44.99, -57.27 47.65 M-46.15 43.8 C-50.11 45.12, -53.85 45.95, -57.27 47.65 M-57.27 47.65 C-61.5 48.8, -66.25 51.14, -68.67 51.5 M-57.27 47.65 C-61.35 48.39, -64.35 49.77, -68.67 51.5 M-68.67 51.5 C-73.03 53.19, -75.99 53.84, -80.06 55.35 M-68.67 51.5 C-71.78 52.39, -74.37 53.11, -80.06 55.35 M-80.06 55.35 C-83.4 57.6, -87.96 58.52, -91.18 59.2 M-80.06 55.35 C-83.52 56.38, -87.81 58.04, -91.18 59.2 M-91.18 59.2 C-94.68 61.19, -97.98 60.81, -101.73 63.07 M-91.18 59.2 C-95.54 60.21, -98.83 62.01, -101.73 63.07 M-101.73 63.07 C-105.18 63.76, -107.31 66.3, -111.43 66.96 M-101.73 63.07 C-103.94 63.88, -106.53 65.06, -111.43 66.96 M-111.43 66.96 C-115.06 69.01, -118.68 69.24, -120 70.88 M-111.43 66.96 C-114.3 68.78, -117.76 70.41, -120 70.88 M-120 70.88 C-122.31 72.87, -124.11 72.76, -127.16 74.84 M-120 70.88 C-122.15 71.74, -123.96 72.63, -127.16 74.84 M-127.16 74.84 C-128.08 75.32, -130.65 76.64, -132.62 78.84 M-127.16 74.84 C-128.62 75.7, -130.74 76.91, -132.62 78.84 M-132.62 78.84 C-133.66 80, -134.41 80.59, -136.11 82.89 M-132.62 78.84 C-133.61 80.17, -134.96 81.47, -136.11 82.89 M-136.11 82.89 C-136.79 84.5, -137.16 85.91, -137.33 87 M-136.11 82.89 C-136.39 83.92, -136.53 84.67, -137.33 87 M-137.33 87 C-137.62 93.39, -138.2 95.91, -137.33 103 M-137.33 87 C-137.19 91.52, -137.46 96.49, -137.33 103" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(686.8333333333334 256) rotate(0 -68.82100839787074 51.5)"><path d="M-140.11 95.5 C-139.38 96.36, -139.01 98.71, -137.33 103 M-140.11 95.5 C-139.43 97.47, -138.34 99.83, -137.33 103" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(686.8333333333334 256) rotate(0 -68.82100839787074 51.5)"><path d="M-134.64 95.47 C-135.01 96.36, -135.74 98.72, -137.33 103 M-134.64 95.47 C-135.61 97.42, -136.16 99.8, -137.33 103" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(724.1666666666666 256) rotate(0 69.49468479268279 45)"><path d="M0 0 C-1.58 3.05, 0.79 5.3, 0 16 M0 0 C-0.11 5.99, 0.32 11.89, 0 16 M0 16 C0.4 17.03, 0.32 17.67, 1.24 19.88 M0 16 C0.39 17.5, 0.99 18.78, 1.24 19.88 M1.24 19.88 C1.92 20.57, 3.47 22.48, 4.76 23.52 M1.24 19.88 C1.98 20.37, 2.81 21.27, 4.76 23.52 M4.76 23.52 C6.12 24.7, 7.19 24.88, 10.28 26.96 M4.76 23.52 C6.65 24.86, 8.7 26.02, 10.28 26.96 M10.28 26.96 C13.5 28.96, 15.61 29, 17.52 30.23 M10.28 26.96 C12.54 28, 15.2 28.68, 17.52 30.23 M17.52 30.23 C20.11 31.65, 22.56 31.84, 26.19 33.36 M17.52 30.23 C19.61 31, 21.97 32, 26.19 33.36 M26.19 33.36 C29.6 34.58, 34.65 34.64, 35.99 36.37 M26.19 33.36 C29.92 34.08, 33.86 35.8, 35.99 36.37 M35.99 36.37 C39.27 38.15, 40.87 37.97, 46.66 39.29 M35.99 36.37 C38.03 36.97, 40.39 37.46, 46.66 39.29 M46.66 39.29 C50.22 41.12, 55.84 40.45, 57.89 42.16 M46.66 39.29 C51.11 40.09, 54.58 41.54, 57.89 42.16 M57.89 42.16 C61.78 44.15, 66.4 43.6, 69.42 45 M57.89 42.16 C61.69 42.9, 65.87 43.89, 69.42 45 M69.42 45 C73.26 46.65, 75.26 45.68, 80.94 47.84 M69.42 45 C71.99 45.88, 74.6 46.25, 80.94 47.84 M80.94 47.84 C84 47.59, 86.96 48.99, 92.17 50.71 M80.94 47.84 C83.84 48.56, 86.26 49.64, 92.17 50.71 M92.17 50.71 C96.01 52.05, 99.24 53.21, 102.84 53.63 M92.17 50.71 C95.56 52.1, 99.27 52.62, 102.84 53.63 M102.84 53.63 C104.75 53.9, 106.85 54.79, 112.65 56.64 M102.84 53.63 C106.45 54.69, 110.97 55.65, 112.65 56.64 M112.65 56.64 C116.04 58.41, 118.3 58.39, 121.31 59.77 M112.65 56.64 C116.25 58.22, 119.12 59.07, 121.31 59.77 M121.31 59.77 C124.12 61.07, 125.16 61.41, 128.55 63.04 M121.31 59.77 C123.11 60.98, 125.55 62.01, 128.55 63.04 M128.55 63.04 C130.81 63.74, 132.37 64.78, 134.07 66.48 M128.55 63.04 C129.81 63.83, 130.98 64.38, 134.07 66.48 M134.07 66.48 C135.07 67.64, 136.78 69.18, 137.6 70.12 M134.07 66.48 C135.3 67.89, 136.54 68.75, 137.6 70.12 M137.6 70.12 C137.57 70.65, 137.92 71.72, 138.83 74 M137.6 70.12 C137.98 71.18, 138 72.01, 138.83 74 M138.83 74 C140.37 80.65, 138.96 85.73, 138.83 90 M138.83 74 C139.33 79.3, 139.38 85.15, 138.83 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(724.1666666666666 256) rotate(0 69.49468479268279 45)"><path d="M136.65 82.3 C136.31 83.77, 137.93 84.83, 138.83 90 M136.65 82.3 C137.36 85.18, 138.33 88.03, 138.83 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(724.1666666666666 256) rotate(0 69.49468479268279 45)"><path d="M142.11 82.7 C140.66 84.08, 141.18 85.06, 138.83 90 M142.11 82.7 C140.91 85.47, 139.99 88.18, 138.83 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(793 217) rotate(0 120 86.12753775876392)"><path d="M0 0 C3.59 0.05, 5.5 -1.13, 16 0 M0 0 C6.67 0.75, 11.82 -0.67, 16 0 M16 0 C20.2 0.23, 22.15 0.56, 28.04 1.54 M16 0 C19.49 0.41, 22.52 0.28, 28.04 1.54 M28.04 1.54 C32.26 3.47, 35.98 4.49, 39.91 5.92 M28.04 1.54 C31.19 2.67, 34.66 4.34, 39.91 5.92 M39.91 5.92 C42.49 9.19, 46.21 8.65, 51.63 12.79 M39.91 5.92 C42.78 7.88, 45.31 8.8, 51.63 12.79 M51.63 12.79 C54.76 15.79, 56.41 16.55, 63.22 21.79 M51.63 12.79 C54.57 15.54, 58.5 17.71, 63.22 21.79 M63.22 21.79 C66.14 23.07, 68.28 27.6, 74.71 32.57 M63.22 21.79 C65.81 24.4, 70.56 28.71, 74.71 32.57 M74.71 32.57 C78.44 37.05, 83.36 41.83, 86.1 44.77 M74.71 32.57 C78.87 37.02, 82.11 41.3, 86.1 44.77 M86.1 44.77 C90.54 47.18, 90.06 52.35, 97.44 58.03 M86.1 44.77 C89.91 47.84, 92.64 51.21, 97.44 58.03 M97.44 58.03 C99.55 60.12, 101.4 63.68, 108.73 72.01 M97.44 58.03 C101.87 63.6, 106.23 67.89, 108.73 72.01 M108.73 72.01 C112.93 77.5, 115.16 81.91, 120 86.34 M108.73 72.01 C111.19 75.62, 114.97 80.13, 120 86.34 M120 86.34 C122.22 90.65, 125.98 93.63, 131.27 100.67 M120 86.34 C122.81 90.16, 123.88 91.73, 131.27 100.67 M131.27 100.67 C134.59 104.26, 135.53 107.66, 142.56 114.65 M131.27 100.67 C136 106.76, 140.18 112.42, 142.56 114.65 M142.56 114.65 C145.63 117.85, 147.49 119.74, 153.9 127.91 M142.56 114.65 C145.78 117.81, 148.66 122.3, 153.9 127.91 M153.9 127.91 C157.69 130.8, 161.28 136.34, 165.29 140.11 M153.9 127.91 C158.11 131.58, 161.11 135.73, 165.29 140.11 M165.29 140.11 C168.5 144.76, 172.49 147.31, 176.78 150.89 M165.29 140.11 C168.26 143.02, 170.18 145.12, 176.78 150.89 M176.78 150.89 C179.45 153.17, 184.23 155.86, 188.37 159.89 M176.78 150.89 C179.22 152.27, 182.18 155.49, 188.37 159.89 M188.37 159.89 C191.51 162.2, 196.19 165.23, 200.09 166.76 M188.37 159.89 C192.02 162.36, 195.29 164.6, 200.09 166.76 M200.09 166.76 C204.17 168.34, 205.21 170.06, 211.96 171.14 M200.09 166.76 C203.64 168.11, 207.6 169.64, 211.96 171.14 M211.96 171.14 C215.39 170.59, 219.88 172.68, 224 172.68 M211.96 171.14 C216.36 172.09, 220.33 172.13, 224 172.68 M224 172.68 C228.82 171.25, 230.31 172.38, 240 172.68 M224 172.68 C230.89 172.89, 237.43 172.52, 240 172.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(793 217) rotate(0 120 86.12753775876392)"><path d="M232.46 175.35 C234.15 174.83, 235.02 173.7, 240 172.68 M232.46 175.35 C235.63 174.69, 238.03 172.95, 240 172.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(793 217) rotate(0 120 86.12753775876392)"><path d="M232.51 169.87 C234.2 170.47, 235.06 170.46, 240 172.68 M232.51 169.87 C235.63 171.33, 238 171.71, 240 172.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1033 406.32) rotate(0 -325 92.06350573236804)"><path d="M0 0 C-2.04 1.1, -7.95 0.59, -16 0 M0 0 C-6.67 -0.69, -12.99 -0.38, -16 0 M-16 0 C-25.23 2.05, -30.51 2.23, -51.77 1.64 M-16 0 C-28.34 0.9, -41.52 0.47, -51.77 1.64 M-51.77 1.64 C-63 3.14, -76.12 5.88, -87.04 6.32 M-51.77 1.64 C-58.6 3.43, -67.12 3.14, -87.04 6.32 M-87.04 6.32 C-94.63 6.6, -100.76 11.45, -121.86 13.64 M-87.04 6.32 C-100.34 8.21, -113.33 11.73, -121.86 13.64 M-121.86 13.64 C-131.64 15.97, -139.11 17.33, -156.3 23.24 M-121.86 13.64 C-132.31 17.03, -142.69 20.59, -156.3 23.24 M-156.3 23.24 C-166.16 26.82, -180.43 31.19, -190.42 34.74 M-156.3 23.24 C-170.35 27.04, -181.99 32.57, -190.42 34.74 M-190.42 34.74 C-200.96 40.6, -211.01 42.12, -224.29 47.75 M-190.42 34.74 C-201.07 39.33, -210.27 42.42, -224.29 47.75 M-224.29 47.75 C-234.16 50.78, -241.66 57.01, -257.97 61.9 M-224.29 47.75 C-236.64 53.12, -250.61 58.57, -257.97 61.9 M-257.97 61.9 C-267.98 64.21, -276.52 69.07, -291.51 76.8 M-257.97 61.9 C-272.29 67.88, -283.81 73.74, -291.51 76.8 M-291.51 76.8 C-301.16 79.29, -309.71 86.34, -325 92.09 M-291.51 76.8 C-302.45 81.53, -315.55 86.55, -325 92.09 M-325 92.09 C-334.61 97.82, -342.02 100.47, -358.49 107.38 M-325 92.09 C-333.39 95.88, -341.15 99.58, -358.49 107.38 M-358.49 107.38 C-370.58 113.65, -382.96 120.79, -392.03 122.28 M-358.49 107.38 C-366.7 111.11, -374.97 115.42, -392.03 122.28 M-392.03 122.28 C-399.59 126.52, -408.46 128.55, -425.71 136.43 M-392.03 122.28 C-402.62 127.29, -412.01 131.71, -425.71 136.43 M-425.71 136.43 C-435.93 139.62, -444.91 142.68, -459.58 149.44 M-425.71 136.43 C-435.5 141.24, -445.18 143.81, -459.58 149.44 M-459.58 149.44 C-469.33 153.01, -475.51 156.61, -493.7 160.94 M-459.58 149.44 C-472.23 153.55, -486.25 158.16, -493.7 160.94 M-493.7 160.94 C-505.76 164.6, -516.21 168.78, -528.14 170.54 M-493.7 160.94 C-503.62 162.81, -513.9 165.87, -528.14 170.54 M-528.14 170.54 C-537.21 173.2, -545.08 174.14, -562.96 177.86 M-528.14 170.54 C-541.66 173.73, -553 175.44, -562.96 177.86 M-562.96 177.86 C-572.66 177.42, -582.76 181.79, -598.23 182.54 M-562.96 177.86 C-569.34 177.78, -577.23 180.54, -598.23 182.54 M-598.23 182.54 C-608.65 182, -619.6 183.75, -634 184.18 M-598.23 182.54 C-607.78 183.7, -617.71 184.23, -634 184.18 M-634 184.18 C-636.74 185.33, -640.79 183.22, -650 184.18 M-634 184.18 C-637.88 183.62, -643.48 184.56, -650 184.18" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1033 406.32) rotate(0 -325 92.06350573236804)"><path d="M-642.45 181.53 C-643.38 182.62, -646.24 182.91, -650 184.18 M-642.45 181.53 C-645.6 182.23, -648.58 183.43, -650 184.18" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1033 406.32) rotate(0 -325 92.06350573236804)"><path d="M-642.51 187 C-643.43 186.98, -646.28 186.14, -650 184.18 M-642.51 187 C-645.66 185.55, -648.61 184.58, -650 184.18" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(536 26.5) rotate(0 170 12.5)"><text x="170" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Fable</text></g><g transform="translate(618 194.5) rotate(0 87.5 12.5)"><text x="87.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Meadow</text></g><g transform="translate(32 365) rotate(0 164.5 12.5)"><text x="164.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Schema</text></g><g transform="translate(473 375.5) rotate(0 76.5 12.5)"><text x="76.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">FoxHound</text></g><g transform="translate(671 365) rotate(0 192 12.5)"><text x="192" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Behaviors</text></g><g transform="translate(1033 375.5) rotate(0 115.5 12.5)"><text x="115.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Provider</text></g><g transform="translate(10 558) rotate(0 186.5 12.5)"><text x="186.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Database</text></g></svg>
|