Compare commits
187 commits
Author | SHA1 | Date | |
---|---|---|---|
42739bb6f5 | |||
693a06f184 | |||
1eb0937c62 | |||
638f387458 | |||
cb403c8a60 | |||
6ecf75b76e | |||
4820b0dacf | |||
cfcb37384a | |||
8d7ab31606 | |||
54fcf0aefe | |||
c8db81ffe9 | |||
1f71504de7 | |||
07f2f9471d | |||
fa2900a0e0 | |||
9c0606b9a5 | |||
27d621de66 | |||
6b6984ef02 | |||
e5e608f2c9 | |||
2b8507ae78 | |||
798522c747 | |||
3d55b459c2 | |||
82a86f4515 | |||
343f77ef61 | |||
5394b0253f | |||
247325db93 | |||
7cb91acb3a | |||
baf21e1603 | |||
08bb73aabb | |||
2c12fc677c | |||
6514843244 | |||
937d572955 | |||
df8036c950 | |||
2ff8f15133 | |||
2eb7b855b6 | |||
995dea81a9 | |||
b3c60220de | |||
7d68f6fef8 | |||
f6a06a1f78 | |||
5791174a7e | |||
80bc7e33e3 | |||
ebaf20d558 | |||
7b828b497d | |||
76eafa45ca | |||
e4bcffb489 | |||
a76b4e7009 | |||
dadf18930a | |||
502e650e03 | |||
4d305b4085 | |||
0fe0df8eba | |||
631b0b6c93 | |||
e462211c49 | |||
8182b5bf05 | |||
bc59794685 | |||
2f3e1222b8 | |||
4234ff4b33 | |||
5b40131319 | |||
5803f0bd1e | |||
d2240a2d23 | |||
9f9723ea62 | |||
b273853121 | |||
37ec930f56 | |||
9d9dfa3c6f | |||
4dcdb75d4e | |||
f408bc51bf | |||
![]() |
aea5d27f20 | ||
34500abbab | |||
![]() |
a6209f056c | ||
![]() |
1aeece12a0 | ||
![]() |
0ff5a8affe | ||
![]() |
a5670bb674 | ||
![]() |
1c617dce0c | ||
![]() |
6b965debaf | ||
![]() |
baddefdf3b | ||
![]() |
d4daf8879a | ||
![]() |
9b950763b8 | ||
![]() |
ae0ca796de | ||
![]() |
edcd80e87f | ||
![]() |
ee90fedbf2 | ||
![]() |
f77db3058b | ||
![]() |
4279f6eba6 | ||
![]() |
dc8082cdcf | ||
![]() |
d89fb38d88 | ||
![]() |
7a90dad1dc | ||
![]() |
cf7479165a | ||
![]() |
3bfbd9eece | ||
![]() |
1bfc05f8de | ||
![]() |
b5fe19f862 | ||
![]() |
cd0a53200a | ||
![]() |
f18d23d6ec | ||
f56524299e | |||
ce8e540928 | |||
59bd52eba8 | |||
![]() |
23e8643980 | ||
![]() |
25e6cb6fa0 | ||
![]() |
e47fdb5d09 | ||
![]() |
9f25fd986d | ||
![]() |
029c55e743 | ||
![]() |
c53a8d46ee | ||
![]() |
5a16f56c2e | ||
![]() |
e12f8224a6 | ||
![]() |
cbe290628e | ||
![]() |
d4fae12375 | ||
![]() |
167b2df825 | ||
![]() |
c7431ed63d | ||
9d829c5d3f | |||
![]() |
5263958f0e | ||
![]() |
393119cc7d | ||
![]() |
32675afc4a | ||
![]() |
f9779723ed | ||
![]() |
d4e7b959a7 | ||
![]() |
68178405a8 | ||
![]() |
2c9369eaf3 | ||
![]() |
3d0fcb801e | ||
![]() |
fbc0e5f445 | ||
![]() |
cd1fc1cf6b | ||
![]() |
20283b4492 | ||
![]() |
2a4f516b7c | ||
84d9fac803 | |||
![]() |
19b7ff6c5d | ||
![]() |
3bc0325a0e | ||
![]() |
680c11b64b | ||
![]() |
f4eb914d6e | ||
![]() |
a00963fc80 | ||
![]() |
0078f3f372 | ||
8f9e3528e7 | |||
![]() |
fd3d840538 | ||
![]() |
22f2cabe1e | ||
7c31a32ff9 | |||
7483cb20b3 | |||
![]() |
fd9d9ae4a2 | ||
![]() |
66a26894e3 | ||
![]() |
fa1cd42de6 | ||
![]() |
2092d32fad | ||
![]() |
1f2e1ad274 | ||
![]() |
311f93c946 | ||
![]() |
96a062f521 | ||
![]() |
6b5f5ac331 | ||
![]() |
dc6918c6bc | ||
![]() |
4ef3af8fea | ||
![]() |
89ec4e23db | ||
![]() |
1feebac6f3 | ||
![]() |
81bec1e829 | ||
![]() |
0006758ab7 | ||
![]() |
b389860aa7 | ||
![]() |
1f230c71e2 | ||
![]() |
7ed0dcdf7c | ||
![]() |
3835c8d542 | ||
![]() |
ca13d9fcb5 | ||
![]() |
0621032cc2 | ||
![]() |
8249d2b5bd | ||
![]() |
727246fce4 | ||
416d5a92de | |||
![]() |
7053032756 | ||
![]() |
7f3842ca57 | ||
![]() |
9a24f91976 | ||
![]() |
346c3add5a | ||
![]() |
e4beab3fb5 | ||
![]() |
b01cd1d799 | ||
![]() |
9947d5b6a6 | ||
![]() |
b46defb1e7 | ||
![]() |
c8549164a9 | ||
![]() |
350a4cc02d | ||
![]() |
8149166607 | ||
![]() |
eb5fd3cc11 | ||
![]() |
bd07a54923 | ||
4a7793bb19 | |||
c1ce52b1ed | |||
ecaa588fde | |||
f738b01531 | |||
822ff76aaa | |||
![]() |
1a91ee2a47 | ||
![]() |
8d0f1321b6 | ||
![]() |
3659394654 | ||
![]() |
a6cf01c048 | ||
![]() |
3482a08a90 | ||
![]() |
99f129e0c3 | ||
![]() |
dc07958c9d | ||
![]() |
90996af0b8 | ||
![]() |
cfdfbf59b0 | ||
![]() |
f79e3a1492 | ||
![]() |
5a23ba4d4e | ||
f30614dcbb | |||
![]() |
e35c050f70 | ||
![]() |
b2e730dd3c | ||
![]() |
43cb4b91ed | ||
![]() |
b59f09057a | ||
![]() |
654dbe55ea |
|
@ -1,28 +0,0 @@
|
|||
Attendees: Gheorghe, Richard, Valentin, Ronny, Nicolas, Björn
|
||||
|
||||
Not attending: Koen & Robert (travelling), Kevin (day off)
|
||||
|
||||
* Bjorn set up some data structures in the internal Wiki
|
||||
* Valentin:
|
||||
* Met Eli from Thymis & Johannes from Clan. Discussed the three system architectures with them.
|
||||
* NixOps took some time for them to make it click. Now I know a bit better what we can learn from them, and if and on what we can collaborate. Overlap might be rather small with those projects.
|
||||
* We need to think about how to convey the power of NixOps in such a way that people understand this properly -- it's at a very high level of abstraction (essentially an IO monad for the Nix language), while people typically think in terms of their concrete use cases.
|
||||
* That gap requires some storytelling and didactic techniques to bridge.
|
||||
* Will work on a report & publish it on the website to communicate
|
||||
* Valentin & Bjorn will have a chat tomorrow after standup
|
||||
* Gheorghe:
|
||||
* Shared the UML info last Friday
|
||||
* Will work on the financials & get the numbers
|
||||
* Diagram code wants to add a PR
|
||||
* Update the numbers
|
||||
* Nicolas:
|
||||
* Wiki e-mail: we need to have a secrets management solution.
|
||||
* No test for PeerTube yet. So I started working on it. Probably finished today
|
||||
* Ronny:
|
||||
* Will have a look at Gheorghe's PR.
|
||||
* Richard:
|
||||
* Will ask Kevin about his work & check if I can help out
|
||||
* Looking for stuff to work on
|
||||
|
||||
* Nicholas opened up the wiki registration so each team member can create their own account today.
|
||||
* Nicholas: Make Forgejo send out notifications (Nicholas will do this).
|
|
@ -1,86 +0,0 @@
|
|||
Outline
|
||||
> Release a report on the estimated collective current investment on fediverse technology:
|
||||
>
|
||||
> Look at qualifiers like:
|
||||
>- Used system resources (CPU, storage, networking)
|
||||
>- Amount of software developers actively working on Fediverse software >products
|
||||
>- Amount of system administration engineers actively working on Fediverse software products
|
||||
>- Amount of moderation and governance people
|
||||
|
||||
* * *
|
||||
|
||||
# An estimate of investments in the Fediverse
|
||||
|
||||
## Introduction
|
||||
To provide an estimate of the investments made into the Fediverse, is a very daunting task due to decentralised nature of the Fediverse, the amount of volunteers contributing freely and - in our experience - a lack of research on this topic thus far. Nonetheless, we have taken upon ourselves the task to provide a first glimpse on this subject.
|
||||
|
||||
[TODO: describe 'the why' better]
|
||||
|
||||
We hope our work will contribute and ignite more serious research into this topic.
|
||||
|
||||
In this document we describe our assessment of the investments made in the Fediverse. We start with how we define the Fediverse, describe our methodology for gathering data on the defined Fediverse and share information on the services, platforms and software applications we have deemed relevant to include.
|
||||
|
||||
[TODO: need to add more info here ]
|
||||
|
||||
|
||||
* * *
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Define the Fediverse
|
||||
We need to define what the Fediverse is.
|
||||
|
||||
Wikipedia defines Fediverse as "a collection of social networking services that can communicate with each other (formally known as federation) using a common protocol. Users of different websites can send and receive status updates, multimedia files and other data across the network. The term Fediverse is a portmanteau of "federation" and "universe". (Wikipedia contributors, 2024)[^1]".
|
||||
|
||||
Erin Kissane & Darius Kazemi in 'Findings Report: Governance on Fediverse Microblogging Servers' define the Fediverse as "a decentralized interoperable network of social media sites, apps, and services built on the ActivityPub protocol.[^2]".
|
||||
|
||||
[ TODO: add the other definitions ]
|
||||
|
||||
|
||||
It seems there has not yet formed consensus on what exactly are the attributes which could define a platform, service or software application part of the Fediverse.
|
||||
|
||||
|
||||
|
||||
## Methodology
|
||||
* Numbers used & why these numbers and not other numbers
|
||||
* Services / platforms investigated
|
||||
* Why these services & platforms?
|
||||
* Software applications
|
||||
* Topic opened: https://socialhub.activitypub.rocks/t/any-info-on-the-estimated-collective-investments-time-money-on-fediverse-tech/4844?u=bjornw
|
||||
|
||||
## A closer look at the Fediverse platforms
|
||||
* Name of service/platform
|
||||
* Description of service/platform
|
||||
* estimated nr of installations
|
||||
* estimated nr of users (Monthly Active Users)
|
||||
* estimated nr of developers working on the service
|
||||
* estimated nr of moderators
|
||||
* estimated costs for the service
|
||||
|
||||
## Estimating investments in the Fediverse
|
||||
* Conclusion
|
||||
|
||||
|
||||
## Notes
|
||||
[^1]: Wikipedia contributors. (2024, December 29). Fediverse. Wikipedia. https://en.wikipedia.org/wiki/Fediverse
|
||||
[^2]: Kissane, E., & Kazemi, D. (2024, September 4). Findings Report: Governance on Fediverse Microblogging Servers. https://fediverse-governance.github.io/#brief-glossary
|
||||
|
||||
|
||||
## References
|
||||
* https://en.wikipedia.org/wiki/Fediverse
|
||||
* https://fedidb.org/
|
||||
* https://mastodon-analytics.com/
|
||||
* https://www.thinkimpact.com/mastodon-statistics/
|
||||
* https://fediverse.observer/
|
||||
* https://the-federation.info/
|
||||
* https://fediverse.party
|
||||
* https://socialhub.activitypub.rocks/t/fep-f1d5-nodeinfo-in-fediverse-software/1190
|
||||
* https://codeberg.org/fediverse
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 175 KiB |
After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 358 KiB |
After Width: | Height: | Size: 977 KiB |
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xml:space="preserve"
|
||||
width="1243.9407"
|
||||
height="252.09332"
|
||||
viewBox="0 0 1243.9407 252.09333"
|
||||
sodipodi:docname="EN_FundedbytheEU_RGB_WHITE.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs6" /><sodipodi:namedview
|
||||
id="namedview4"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="1.1327703"
|
||||
inkscape:cx="639.14106"
|
||||
inkscape:cy="126.23919"
|
||||
inkscape:window-width="2556"
|
||||
inkscape:window-height="1391"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g8" /><g
|
||||
id="g8"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="ink_ext_XXXXXX"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,-20.934933,273.19599)"><g
|
||||
id="g10"
|
||||
transform="scale(0.1)"><path
|
||||
d="m 2252.87,1018.27 -59.84,43.75 -59.77,-43.75 22.74,70.63 -60.78,43.67 74.92,-0.08 22.89,71.64 22.97,-71.56 h 74.92 l -60.78,-43.67 z m -82.19,-311.09 -59.84,43.75 -59.84,-43.75 22.81,70.629 -60.78,43.671 74.84,-0.082 22.97,71.641 22.97,-71.559 h 74.84 l -60.78,-43.671 z m -82.81,734.61 22.96,71.64 22.97,-71.56 h 74.85 l -60.78,-43.59 22.81,-70.63 -59.85,43.67 -59.84,-43.67 22.81,70.63 -60.78,43.59 z m -166.09,182.58 22.73,-70.63 -59.76,43.75 -59.92,-43.75 22.73,70.63 -60.7,43.75 74.92,-0.16 22.89,71.64 22.89,-71.48 h 75 z m 21.87,-1144.222 -59.84,43.672 -59.84,-43.672 22.73,70.633 -60.7,43.668 74.84,-0.078 22.97,71.559 22.89,-71.481 h 74.92 l -60.78,-43.668 z m -309.34,-82.269 -59.8,43.672 -59.84,-43.672 22.73,70.633 -60.74,43.668 74.92,-0.078 22.89,71.636 22.93,-71.558 h 74.92 l -60.78,-43.668 z m -82.81,1353.361 22.93,71.56 22.93,-71.48 h 74.93 l -60.79,-43.67 22.78,-70.63 -59.85,43.67 -59.84,-43.67 22.77,70.63 -60.74,43.67 z m -226.49,-1271.092 -59.8,43.672 -59.84,-43.672 22.73,70.633 -60.74,43.668 74.92,-0.078 22.89,71.559 22.93,-71.481 h 74.92 l -60.74,-43.668 z m -83.23,1187.892 22.93,71.64 22.92,-71.56 h 74.93 l -60.75,-43.67 22.74,-70.63 -59.81,43.67 -59.84,-43.67 22.73,70.63 -60.74,43.67 z m -166.57,-270.7 22.77,-70.63 -59.84,43.67 -59.835,-43.67 22.765,70.63 -60.734,43.67 74.874,-0.08 22.93,71.64 22.93,-71.56 h 74.88 z m 22.77,-690.16 -59.84,43.75 -59.835,-43.75 22.765,70.629 -60.734,43.671 74.874,-0.082 22.93,71.641 22.93,-71.559 h 74.88 l -60.74,-43.671 z m -240.804,424.53 74.918,-0.16 22.929,71.72 22.93,-71.56 h 74.877 l -60.736,-43.68 22.736,-70.62 -59.807,43.67 -59.839,-43.67 22.769,70.62 z M 157.012,2048.97 V 158.27 H 2993.03 v 1890.7 H 157.012"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path12" /><g
|
||||
id="g14"
|
||||
transform="scale(10)"><text
|
||||
transform="matrix(1,0,0,-1,335.537,133.728)"
|
||||
style="font-variant:normal;font-weight:bold;font-size:65px;font-family:Arial;-inkscape-font-specification:Arial-BoldMT;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="text20"><tspan
|
||||
x="0 39.705112 79.409172 119.11329 158.81842 194.96883 234.67293 252.73253 292.43665"
|
||||
y="0"
|
||||
sodipodi:role="line"
|
||||
id="tspan16">Funded by</tspan><tspan
|
||||
x="0 21.645514 61.349625 97.500023 115.5586 158.91414 198.61824 223.91414 263.61826 303.32236 339.47275 375.62317 415.32727 433.38687 480.32727 520.03143 538.091 577.79504"
|
||||
y="78"
|
||||
sodipodi:role="line"
|
||||
id="tspan18">the European Union</tspan></text></g></g></g></svg>
|
After Width: | Height: | Size: 4 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 710 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 19 KiB |
371
MarCom/Branding/Logos/EU/SVG/EN_FundedbytheEU_RGB.svg
Normal file
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 23 KiB |
55
MarCom/Branding/Logos/EU/SVG/EN_FundedbytheEU_RGB_BLACK.svg
Normal file
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 20 KiB |
120
MarCom/Branding/Logos/EU/SVG/EN_FundedbytheEU_RGB_NEG.svg
Normal file
After Width: | Height: | Size: 23 KiB |
120
MarCom/Branding/Logos/EU/SVG/EN_FundedbytheEU_RGB_POS.svg
Normal file
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 23 KiB |
55
MarCom/Branding/Logos/EU/SVG/EN_FundedbytheEU_RGB_WHITE.svg
Normal file
After Width: | Height: | Size: 20 KiB |
10296
MarCom/Communication Strategy Fediversity v0.1 aug 24.pdf
Normal file
BIN
MarCom/Presentations/The-Fediversity-Project.odp
Normal file
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 8.1 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="729" height="658" viewBox="0 0 729 658" xmlns:xlink="http://www.w3.org/1999/xlink"><rect y="93" width="298" height="168" fill="#ff6e00"/><path d="M535.31443,392.74227h-300v-170h300Zm-298-2h296v-166h-296Z" transform="translate(-215.31443 -146.74227)" fill="#3f3d56"/><rect x="409" y="17" width="298" height="168" fill="#f2f2f2"/><path d="M944.31443,316.74227h-300v-170h300Zm-298-2h296v-166h-296Z" transform="translate(-215.31443 -146.74227)" fill="#3f3d56"/><path d="M727.42861,804.74227h-381a1,1,0,1,1,0-2h381a1,1,0,1,1,0,2Z" transform="translate(-215.31443 -146.74227)" fill="#ccc"/><path d="M584.94579,568.47455A12.38034,12.38034,0,0,1,600.06091,556.989l16.372-23.07272,16.44782,6.5295-23.57812,32.25841a12.44744,12.44744,0,0,1-24.35686-4.22968Z" transform="translate(-215.31443 -146.74227)" fill="#a0616a"/><path d="M602.90561,548.632l29.109-48.95706L620.155,468.04947l16.15228-43.07395.59568.25555c.39058.16734,9.56836,4.26281,10.92858,18.92951l18.56189,58.33693-49.53915,64.26717Z" transform="translate(-215.31443 -146.74227)" fill="#3f3d56"/><path d="M444.813,368.65055a12.3803,12.3803,0,0,1,10.28248,15.9579l21.73782,18.10693-7.78163,15.89375-30.33887-26.00164a12.44745,12.44745,0,0,1,6.1002-23.95694Z" transform="translate(-215.31443 -146.74227)" fill="#a0616a"/><path d="M463.2075,388.09077l46.55991,32.807,32.44778-9.37889,41.69617,19.43425-.30084.57414c-.197.37647-4.98984,9.21014-19.7178,9.43231l-59.59745,13.99592-60.2446-54.35977Z" transform="translate(-215.31443 -146.74227)" fill="#3f3d56"/><polygon points="333.089 640.297 316.903 640.297 309.202 577.863 333.092 577.864 333.089 640.297" fill="#a0616a"/><path d="M300.57258,635.67157h35.985a0,0,0,0,1,0,0v19.655a0,0,0,0,1,0,0H285.68572a0,0,0,0,1,0,0v-4.76818A14.88686,14.88686,0,0,1,300.57258,635.67157Z" fill="#2f2e41"/><polygon points="397.784 640.297 381.597 640.297 373.897 577.863 397.786 577.864 397.784 640.297" fill="#a0616a"/><path d="M365.26694,635.67157h35.985a0,0,0,0,1,0,0v19.655a0,0,0,0,1,0,0H350.38008a0,0,0,0,1,0,0v-4.76818A14.88686,14.88686,0,0,1,365.26694,635.67157Z" fill="#2f2e41"/><polygon points="403.54 412.407 402.22 504.828 400.9 626.295 371.853 623.654 357.33 455.977 338.846 623.654 308.859 623.654 305.839 454.657 316.401 417.688 403.54 412.407" fill="#2f2e41"/><path d="M528.82027,564.99455l-4.425-.19151L544.949,451.57579l-8.41566-34.22331a7.48958,7.48958,0,0,1,4.6419-8.79869l15.14186-5.6777,5.34935-14.71141,42.20641,4.548L604.91075,404.21c4.57364,1.46685,42.23691,14.01,39.63821,28.30213-2.56488,14.10666-17.70915,58.48857-18.47822,60.73778l-2.65217,63.64914-.32624.16311c-.39269.19635-29.48413,14.50056-61.08849,14.49815C550.87438,571.55973,539.42684,569.78477,528.82027,564.99455Z" transform="translate(-215.31443 -146.74227)" fill="#3f3d56"/><circle cx="581.11565" cy="350.49552" r="30.38881" transform="translate(-220.48051 545.53717) rotate(-61.33681)" fill="#a0616a"/><path d="M605.73047,379.91276c-5.79138,6.16906-16.54677,2.85737-17.30139-5.57045a10.18165,10.18165,0,0,1,.01281-1.96632c.38963-3.73316,2.54637-7.12242,2.02975-11.06411a5.80213,5.80213,0,0,0-1.06186-2.71612c-4.615-6.17988-15.44834,2.7641-19.80382-2.83036-2.67068-3.43039.46868-8.83137-1.58076-12.66542-2.70493-5.06032-10.71679-2.56405-15.74108-5.33533-5.59013-3.08338-5.25578-11.66024-1.576-16.87713,4.48768-6.36221,12.356-9.75708,20.12633-10.24635s15.48707,1.61122,22.74136,4.4383c8.24232,3.21213,16.41577,7.65133,21.488,14.89884,6.16835,8.81374,6.762,20.663,3.67705,30.969C616.86429,367.21654,610.45975,374.87506,605.73047,379.91276Z" transform="translate(-215.31443 -146.74227)" fill="#2f2e41"/></svg>
|
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 26 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="649.67538" height="516.23162" viewBox="0 0 649.67538 516.23162" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M759.79588,701.91485c-8.99256-7.59865-14.45479-19.60227-13.02232-31.28789s10.30472-22.42829,21.81332-24.90978,24.62761,4.38768,28.12315,15.62987c1.92376-21.6745,4.14055-44.25714,15.66409-62.715,10.43429-16.71314,28.50667-28.672,48.09305-30.81147s40.20832,5.941,52.42363,21.40027,15.20618,37.93388,6.6509,55.68241c-6.30238,13.07474-17.91359,22.80511-30.07923,30.72128a194.12948,194.12948,0,0,1-132.77224,29.04621" transform="translate(-275.16231 -191.88419)" fill="#f2f2f2"/><path d="M893.52217,574.20948a317.62446,317.62446,0,0,0-44.26411,43.95415,318.55051,318.55051,0,0,0-49.85571,83.314c-.89774,2.19991,2.67454,3.15752,3.56229.98208a316.7584,316.7584,0,0,1,93.16976-125.638c1.8443-1.5018-.78314-4.10164-2.61223-2.61223Z" transform="translate(-275.16231 -191.88419)" fill="#fff"/><path d="M434,707.11581H383a6.50745,6.50745,0,0,1-6.5-6.5v-106a6.50745,6.50745,0,0,1,6.5-6.5h51a6.50745,6.50745,0,0,1,6.5,6.5v106A6.50745,6.50745,0,0,1,434,707.11581Z" transform="translate(-275.16231 -191.88419)" fill="#ff6e00"/><path d="M555.00008,708.11581h-51a7.50836,7.50836,0,0,1-7.5-7.5v-206a7.50836,7.50836,0,0,1,7.5-7.5h51a7.50836,7.50836,0,0,1,7.5,7.5v206A7.50836,7.50836,0,0,1,555.00008,708.11581Zm-51-219a5.50623,5.50623,0,0,0-5.5,5.5v206a5.50622,5.50622,0,0,0,5.5,5.5h51a5.50622,5.50622,0,0,0,5.5-5.5v-206a5.50622,5.50622,0,0,0-5.5-5.5Z" transform="translate(-275.16231 -191.88419)" fill="#3f3d56"/><path d="M676.00008,708.11581h-51a7.50836,7.50836,0,0,1-7.5-7.5v-337a7.50836,7.50836,0,0,1,7.5-7.5h51a7.50836,7.50836,0,0,1,7.5,7.5v337A7.50836,7.50836,0,0,1,676.00008,708.11581Zm-51-350a5.50623,5.50623,0,0,0-5.5,5.5v337a5.50622,5.50622,0,0,0,5.5,5.5h51a5.50622,5.50622,0,0,0,5.5-5.5v-337a5.50622,5.50622,0,0,0-5.5-5.5Z" transform="translate(-275.16231 -191.88419)" fill="#3f3d56"/><path d="M798.12948,707.61581h-51a6.50753,6.50753,0,0,1-6.5-6.5v-475a6.50753,6.50753,0,0,1,6.5-6.5h51a6.50753,6.50753,0,0,1,6.5,6.5v475A6.50753,6.50753,0,0,1,798.12948,707.61581Z" transform="translate(-275.16231 -191.88419)" fill="#ff6e00"/><path d="M480.94169,414.24247a10.05581,10.05581,0,0,0-10.48188-11.30867L452.6832,370.32469l-4,14,12.17889,29.88574a10.11027,10.11027,0,0,0,20.0796.032Z" transform="translate(-275.16231 -191.88419)" fill="#a0616a"/><polygon points="68.816 351.113 78.717 358.342 111.312 323.589 96.698 312.92 68.816 351.113" fill="#a0616a"/><path d="M335.82708,548.54689H374.3578a0,0,0,0,1,0,0v14.88687a0,0,0,0,1,0,0H350.71393a14.88686,14.88686,0,0,1-14.88686-14.88686v0A0,0,0,0,1,335.82708,548.54689Z" transform="translate(38.89227 1022.53744) rotate(-143.86855)" fill="#2f2e41"/><polygon points="121.201 389.377 133.461 389.376 139.293 342.088 121.199 342.089 121.201 389.377" fill="#a0616a"/><path d="M393.73673,577.75756h38.53073a0,0,0,0,1,0,0v14.88687a0,0,0,0,1,0,0H408.62359a14.88686,14.88686,0,0,1-14.88686-14.88686v0A0,0,0,0,1,393.73673,577.75756Z" transform="translate(550.8686 978.49895) rotate(179.99738)" fill="#2f2e41"/><path d="M433.1832,396.82469s6,58-9,98l-11,76h-19l2-90-7-80S403.1832,364.82469,433.1832,396.82469Z" transform="translate(-275.16231 -191.88419)" fill="#2f2e41"/><polygon points="93.021 208.94 113.021 277.94 74.021 339.94 93.521 356.44 138.021 286.94 125.021 201.94 93.021 208.94" fill="#2f2e41"/><circle cx="144.02483" cy="29.6531" r="24.56103" fill="#a0616a"/><path d="M398.6832,255.32469s15-10,32,12l4.5,138.5s-13-18-40-1-33-2-33-2S343.1832,259.82469,398.6832,255.32469Z" transform="translate(-275.16231 -191.88419)" fill="#ccc"/><path d="M429.47327,266.9755h0a17.50586,17.50586,0,0,1,16.53679,16.56026l3.1731,60.28892,21,57-12,10-39-68-7.98473-55.89313A17.50587,17.50587,0,0,1,429.47327,266.9755Z" transform="translate(-275.16231 -191.88419)" fill="#ccc"/><path d="M401.14009,239.96055c4.01526,4.27712,11.47215,1.98106,11.99535-3.86208a7.05905,7.05905,0,0,0-.00889-1.36328c-.27013-2.58827-1.76543-4.9381-1.40725-7.67094a4.02264,4.02264,0,0,1,.7362-1.88313c3.19965-4.28461,10.71059,1.9164,13.73032-1.96233,1.85163-2.37835-.32494-6.12294,1.096-8.78115,1.87537-3.5084,7.43013-1.7777,10.91355-3.69907,3.87574-2.13777,3.64392-8.08425,1.09265-11.7012-3.11139-4.411-8.56664-6.76475-13.95392-7.104s-10.73745,1.11709-15.767,3.07715c-5.71454,2.227-11.38133,5.3048-14.898,10.32961-4.27662,6.11072-4.68817,14.326-2.54936,21.47132C393.42083,231.15805,397.8612,236.46783,401.14009,239.96055Z" transform="translate(-275.16231 -191.88419)" fill="#2f2e41"/><path d="M923.647,707.69147H276.353a1.19069,1.19069,0,0,1,0-2.38137H923.647a1.19069,1.19069,0,0,1,0,2.38137Z" transform="translate(-275.16231 -191.88419)" fill="#3f3d56"/></svg>
|
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 8.3 KiB |
BIN
MarCom/Presentations/assets/What is the Fediverse -1080p-hls.mp4
Normal file
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
842
MarCom/Presentations/assets/federated-inkscape.svg
Normal file
|
@ -0,0 +1,842 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="176.56766mm"
|
||||
height="174.6866mm"
|
||||
viewBox="0 0 176.56766 174.6866"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="federated-inkscape.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.79196829"
|
||||
inkscape:cx="628.81305"
|
||||
inkscape:cy="520.22285"
|
||||
inkscape:window-width="2556"
|
||||
inkscape:window-height="1391"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g61145">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid58243"
|
||||
originx="-60.216167"
|
||||
originy="-17.656703" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36654" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.4,0,0,0.4,4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36651" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36648" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker37471"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Tail"
|
||||
inkscape:isstock="true">
|
||||
<g
|
||||
transform="scale(-1.2)"
|
||||
id="g37469">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,-3.9585227 0.54352094,0"
|
||||
id="path37457" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,-3.9585227 3.0617053,0"
|
||||
id="path37459" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,-3.9585227 5.6537466,0"
|
||||
id="path37461" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,4.1775838 0.54352094,0.21974226"
|
||||
id="path37463" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,4.1775838 3.0617053,0.21974226"
|
||||
id="path37465" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,4.1775838 5.6537466,0.21974226"
|
||||
id="path37467" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36645" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Tail"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Tail"
|
||||
inkscape:isstock="true">
|
||||
<g
|
||||
transform="scale(-1.2)"
|
||||
id="g36693">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,-3.9585227 0.54352094,0"
|
||||
id="path36681" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,-3.9585227 3.0617053,0"
|
||||
id="path36683" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,-3.9585227 5.6537466,0"
|
||||
id="path36685" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,4.1775838 0.54352094,0.21974226"
|
||||
id="path36687" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,4.1775838 3.0617053,0.21974226"
|
||||
id="path36689" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,4.1775838 5.6537466,0.21974226"
|
||||
id="path36691" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 243.373 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="840.54822 : 243.373 : 1"
|
||||
inkscape:persp3d-origin="420.27411 : 121.47753 : 1"
|
||||
id="perspective71" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath36447">
|
||||
<g
|
||||
inkscape:label="Clip"
|
||||
id="use36449">
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:4.70399;stop-color:#000000"
|
||||
id="path58906"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="98.605453"
|
||||
sodipodi:cy="129.24454"
|
||||
sodipodi:rx="14.370799"
|
||||
sodipodi:ry="14.370799"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 111.05093,136.42994 a 14.370799,14.370799 0 0 1 -19.584484,5.28674 14.370799,14.370799 0 0 1 -5.359636,-19.56466 14.370799,14.370799 0 0 1 19.54457,-5.43245 14.370799,14.370799 0 0 1 5.50519,19.52421" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.175px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="87.123085"
|
||||
y="130.00655"
|
||||
id="text58910"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58908"
|
||||
style="font-size:3.175px;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="87.123085"
|
||||
y="130.00655">my.peertube.eu</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath36458">
|
||||
<g
|
||||
inkscape:label="Clip"
|
||||
id="use36460">
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:4.70399;stop-color:#000000"
|
||||
id="path58914"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="41.126167"
|
||||
sodipodi:cy="119.63312"
|
||||
sodipodi:rx="14.370799"
|
||||
sodipodi:ry="14.370799"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 53.571644,126.81852 a 14.370799,14.370799 0 0 1 -19.584484,5.28674 14.370799,14.370799 0 0 1 -5.359636,-19.56466 14.370799,14.370799 0 0 1 19.544569,-5.43245 14.370799,14.370799 0 0 1 5.505191,19.52421" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.175px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="29.643806"
|
||||
y="120.39513"
|
||||
id="text58918"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan58916"
|
||||
style="font-size:3.175px;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="29.643806"
|
||||
y="120.39513">my.pixelfed.eu</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-60.216167,-17.656702)">
|
||||
<g
|
||||
id="g61145"
|
||||
transform="translate(4.4240417,2.0728321)">
|
||||
<path
|
||||
style="fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="93.037262"
|
||||
sodipodi:cy="153.02533"
|
||||
sodipodi:rx="37.245136"
|
||||
sodipodi:ry="37.245136"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 125.2925,171.6479 a 37.245136,37.245136 0 0 1 -50.75757,13.70178 37.245136,37.245136 0 0 1 -13.890695,-50.70619 37.245136,37.245136 0 0 1 50.654115,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.60134" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="69.10688"
|
||||
sodipodi:cy="166.76422"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 74.471821,169.86167 a 6.1949,6.1949 0 0 1 -8.442392,2.27899 6.1949,6.1949 0 0 1 -2.310408,-8.43385 6.1949,6.1949 0 0 1 8.425186,-2.3418 6.1949,6.1949 0 0 1 2.373153,8.41641" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 110.77281,166.76422 H 75.301665"
|
||||
id="path58820"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-9-1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 89.646977,134.87837 -17.185324,26.678"
|
||||
id="path58822"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9-1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 96.36351,134.87382 17.24234,26.68714"
|
||||
id="path58824"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9" />
|
||||
<path
|
||||
style="fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396-7"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="195.11465"
|
||||
sodipodi:cy="152.98441"
|
||||
sodipodi:rx="37.245136"
|
||||
sodipodi:ry="37.245136"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 227.36989,171.60697 a 37.245136,37.245136 0 0 1 -50.75757,13.70179 37.245136,37.245136 0 0 1 -13.89069,-50.70619 37.245136,37.245136 0 0 1 50.65412,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.60134" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-6"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="219.04503"
|
||||
sodipodi:cy="166.72331"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 224.40997,169.82076 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42519,-2.34179 6.1949,6.1949 0 0 1 2.37315,8.4164" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 212.85019,166.72331 H 177.37905"
|
||||
id="path58820-6"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-6"
|
||||
inkscape:connection-end="#path58590-9-1-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 191.72437,134.83745 -17.18533,26.67801"
|
||||
id="path58822-2"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-93"
|
||||
inkscape:connection-end="#path58590-9-1-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 198.4409,134.8329 17.24234,26.68715"
|
||||
id="path58824-6"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-93"
|
||||
inkscape:connection-end="#path58590-9-6" />
|
||||
<path
|
||||
style="opacity:1;fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396-8"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="144.07596"
|
||||
sodipodi:cy="52.829006"
|
||||
sodipodi:rx="37.245136"
|
||||
sodipodi:ry="37.245136"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 176.33119,71.451574 a 37.245136,37.245136 0 0 1 -50.75756,13.701787 37.245136,37.245136 0 0 1 -13.8907,-50.706194 37.245136,37.245136 0 0 1 50.65412,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.601339" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-92"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="144.04042"
|
||||
sodipodi:cy="29.474239"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 149.40536,32.571689 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42519,-2.341797 6.1949,6.1949 0 0 1 2.37315,8.416408" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 161.81149,66.567909 H 126.34036"
|
||||
id="path58820-3"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-0"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 140.68567,34.682051 123.50035,61.360058"
|
||||
id="path58822-7"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-92"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 147.40221,34.677502 17.24233,26.68714"
|
||||
id="path58824-5"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-92"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 95.44958,123.97991 117.69772,72.258569"
|
||||
id="path60835"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 97.742036,125.68246 163.26602,70.556018"
|
||||
id="path60837"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 95.813494,124.15065 141.22861,34.994238"
|
||||
id="path60839"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 192.6353,123.93715 170.45011,72.260302"
|
||||
id="path60841"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-93"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 192.26643,124.11019 146.85314,34.993764"
|
||||
id="path60843"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-93"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 190.33932,125.64078 124.88529,70.556708"
|
||||
id="path60845"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-93"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 71.91865,161.24431 117.33376,72.087907"
|
||||
id="path60847"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 72.074779,161.32656 141.07256,34.911822"
|
||||
id="path60849"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 73.458652,162.35539 163.65455,70.976761"
|
||||
id="path60851"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 117.16403,160.57253 2.78516,-87.812885"
|
||||
id="path60853"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 119.77941,161.24431 165.19452,72.087907"
|
||||
id="path60855"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 118.16616,160.68639 142.84193,35.551984"
|
||||
id="path60857"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 170.9878,160.53164 -2.785,-87.771971"
|
||||
id="path60859"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1-0"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 168.37158,161.20387 122.9583,72.087434"
|
||||
id="path60861"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1-0"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 169.98239,160.64619 145.24229,35.55132"
|
||||
id="path60863"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1-0"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 216.23235,161.20387 170.81905,72.087434"
|
||||
id="path60865"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-6"
|
||||
inkscape:connection-end="#path58590-9-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 214.69238,162.31539 124.49828,70.975886"
|
||||
id="path60867"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-6"
|
||||
inkscape:connection-end="#path58590-9-1-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 216.07432,161.28728 147.01113,34.910269"
|
||||
id="path60869"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-6"
|
||||
inkscape:connection-end="#path58590-92" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 99.196511,129.66808 89.687779,-0.036"
|
||||
id="path60871"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-93" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 98.599665,132.32357 66.986565,31.74669"
|
||||
id="path60873"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9-1-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 98.945067,131.41772 213.10168,164.97616"
|
||||
id="path60875"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590"
|
||||
inkscape:connection-end="#path58590-9-6" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 123.16243,166.75955 41.82702,-0.0316"
|
||||
id="path60877"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-9-1-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 122.56241,164.10444 189.48438,132.2894"
|
||||
id="path60879"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-93" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 123.16243,166.76174 89.68777,-0.0359"
|
||||
id="path60881"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9"
|
||||
inkscape:connection-end="#path58590-9-6" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 75.301667,166.76174 89.687773,-0.0359"
|
||||
id="path60883"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-9-1-0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 75.301666,166.76253 212.8502,166.725"
|
||||
id="path60885"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-9-6" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 75.048966,165.01259 189.13713,131.38124"
|
||||
id="path60887"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#path58590-9-1"
|
||||
inkscape:connection-end="#path58590-93" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="168.00633"
|
||||
sodipodi:cy="66.567909"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 173.37127,69.665359 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42519,-2.341797 6.1949,6.1949 0 0 1 2.37315,8.416408" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1-2"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="120.14558"
|
||||
sodipodi:cy="66.567909"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 125.51052,69.665359 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42518,-2.341797 6.1949,6.1949 0 0 1 2.37316,8.416408" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-93"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="195.07912"
|
||||
sodipodi:cy="129.62964"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 200.44406,132.72709 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42518,-2.3418 6.1949,6.1949 0 0 1 2.37316,8.41641" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1-0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="171.18427"
|
||||
sodipodi:cy="166.72331"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 176.54921,169.82076 a 6.1949,6.1949 0 0 1 -8.4424,2.27899 6.1949,6.1949 0 0 1 -2.3104,-8.43385 6.1949,6.1949 0 0 1 8.42518,-2.34179 6.1949,6.1949 0 0 1 2.37315,8.4164" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="116.96764"
|
||||
sodipodi:cy="166.76422"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 122.33258,169.86167 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42519,-2.3418 6.1949,6.1949 0 0 1 2.37315,8.41641" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="93.001724"
|
||||
sodipodi:cy="129.67056"
|
||||
sodipodi:rx="6.1949"
|
||||
sodipodi:ry="6.1949"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 98.366665,132.76801 a 6.1949,6.1949 0 0 1 -8.442392,2.27899 6.1949,6.1949 0 0 1 -2.310408,-8.43385 6.1949,6.1949 0 0 1 8.425186,-2.34179 6.1949,6.1949 0 0 1 2.373153,8.4164" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="141.18677"
|
||||
y="31.569738"
|
||||
id="text75117"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="141.18677"
|
||||
y="31.569738">A1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="117.2439"
|
||||
y="68.663406"
|
||||
id="text75117-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="117.2439"
|
||||
y="68.663406">B1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="164.91402"
|
||||
y="68.663406"
|
||||
id="text75117-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="164.91402"
|
||||
y="68.663406">C1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="215.34152"
|
||||
y="168.81882"
|
||||
id="text75117-2-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-8-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="215.34152"
|
||||
y="168.81882">C3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="89.464119"
|
||||
y="131.80972"
|
||||
id="text75117-97"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="89.464119"
|
||||
y="131.80972">A2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="65.521255"
|
||||
y="168.90338"
|
||||
id="text75117-9-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-2-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="65.521255"
|
||||
y="168.90338">B2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="113.19138"
|
||||
y="168.85973"
|
||||
id="text75117-2-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-8-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="113.19138"
|
||||
y="168.85973">C2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="167.6714"
|
||||
y="168.77953"
|
||||
id="text75117-9-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-2-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="167.6714"
|
||||
y="168.77953">B3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="191.61427"
|
||||
y="131.68585"
|
||||
id="text75117-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75115-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="191.61427"
|
||||
y="131.68585">A3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="129.53557"
|
||||
y="21.968952"
|
||||
id="text151203"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan151201"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="129.53557"
|
||||
y="21.968952">My Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="179.18785"
|
||||
y="185.09686"
|
||||
id="text151203-0"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan151201-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="179.18785"
|
||||
y="185.09686">Your Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="76.365395"
|
||||
y="185.09686"
|
||||
id="text151203-0-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan151201-3-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="76.365395"
|
||||
y="185.09686">Their Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:10.5833px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="240.13141"
|
||||
y="47.2188"
|
||||
id="text171688"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan171686"
|
||||
style="stroke-width:0.264583"
|
||||
x="240.13141"
|
||||
y="47.2188" /></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 40 KiB |
505
MarCom/Presentations/assets/federated.svg
Normal file
|
@ -0,0 +1,505 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="176.56766mm"
|
||||
height="174.6866mm"
|
||||
viewBox="0 0 176.56766 174.6866"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36654" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(0.4,0,0,0.4,4,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36651" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36648" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker37471"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<g
|
||||
transform="scale(-1.2)"
|
||||
id="g37469">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,-3.9585227 0.54352094,0"
|
||||
id="path37457" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,-3.9585227 3.0617053,0"
|
||||
id="path37459" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,-3.9585227 5.6537466,0"
|
||||
id="path37461" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,4.1775838 0.54352094,0.21974226"
|
||||
id="path37463" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,4.1775838 3.0617053,0.21974226"
|
||||
id="path37465" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,4.1775838 5.6537466,0.21974226"
|
||||
id="path37467" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path36645" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Tail"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<g
|
||||
transform="scale(-1.2)"
|
||||
id="g36693">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,-3.9585227 0.54352094,0"
|
||||
id="path36681" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,-3.9585227 3.0617053,0"
|
||||
id="path36683" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,-3.9585227 5.6537466,0"
|
||||
id="path36685" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -3.8048674,4.1775838 0.54352094,0.21974226"
|
||||
id="path36687" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M -1.2866832,4.1775838 3.0617053,0.21974226"
|
||||
id="path36689" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.8;stroke-linecap:round"
|
||||
d="M 1.3053582,4.1775838 5.6537466,0.21974226"
|
||||
id="path36691" />
|
||||
</g>
|
||||
</marker>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath36447">
|
||||
<g
|
||||
id="use36449">
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:4.70399;stop-color:#000000"
|
||||
id="path58906"
|
||||
d="m 111.05093,136.42994 a 14.370799,14.370799 0 0 1 -19.584484,5.28674 14.370799,14.370799 0 0 1 -5.359636,-19.56466 14.370799,14.370799 0 0 1 19.54457,-5.43245 14.370799,14.370799 0 0 1 5.50519,19.52421" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.175px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="87.123085"
|
||||
y="130.00655"
|
||||
id="text58910"><tspan
|
||||
id="tspan58908"
|
||||
style="font-size:3.175px;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="87.123085"
|
||||
y="130.00655">my.peertube.eu</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath36458">
|
||||
<g
|
||||
id="use36460">
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:4.70399;stop-color:#000000"
|
||||
id="path58914"
|
||||
d="m 53.571644,126.81852 a 14.370799,14.370799 0 0 1 -19.584484,5.28674 14.370799,14.370799 0 0 1 -5.359636,-19.56466 14.370799,14.370799 0 0 1 19.544569,-5.43245 14.370799,14.370799 0 0 1 5.505191,19.52421" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.175px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="29.643806"
|
||||
y="120.39513"
|
||||
id="text58918"><tspan
|
||||
id="tspan58916"
|
||||
style="font-size:3.175px;fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="29.643806"
|
||||
y="120.39513">my.pixelfed.eu</tspan></text>
|
||||
</g>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g
|
||||
id="layer1"
|
||||
transform="translate(-60.216167,-17.656702)">
|
||||
<g
|
||||
id="g61145"
|
||||
transform="translate(4.4240417,2.0728321)">
|
||||
<path
|
||||
style="fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396"
|
||||
d="m 125.2925,171.6479 a 37.245136,37.245136 0 0 1 -50.75757,13.70178 37.245136,37.245136 0 0 1 -13.890695,-50.70619 37.245136,37.245136 0 0 1 50.654115,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.60134" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1"
|
||||
d="m 74.471821,169.86167 a 6.1949,6.1949 0 0 1 -8.442392,2.27899 6.1949,6.1949 0 0 1 -2.310408,-8.43385 6.1949,6.1949 0 0 1 8.425186,-2.3418 6.1949,6.1949 0 0 1 2.373153,8.41641" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 110.77281,166.76422 H 75.301665"
|
||||
id="path58820" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 89.646977,134.87837 -17.185324,26.678"
|
||||
id="path58822" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 96.36351,134.87382 17.24234,26.68714"
|
||||
id="path58824" />
|
||||
<path
|
||||
style="fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396-7"
|
||||
d="m 227.36989,171.60697 a 37.245136,37.245136 0 0 1 -50.75757,13.70179 37.245136,37.245136 0 0 1 -13.89069,-50.70619 37.245136,37.245136 0 0 1 50.65412,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.60134" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-6"
|
||||
d="m 224.40997,169.82076 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42519,-2.34179 6.1949,6.1949 0 0 1 2.37315,8.4164" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 212.85019,166.72331 H 177.37905"
|
||||
id="path58820-6" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 191.72437,134.83745 -17.18533,26.67801"
|
||||
id="path58822-2" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 198.4409,134.8329 17.24234,26.68715"
|
||||
id="path58824-6" />
|
||||
<path
|
||||
style="opacity:1;fill:#2541b2;fill-opacity:1;stroke:none;stroke-width:11.1625;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path59396-8"
|
||||
d="m 176.33119,71.451574 a 37.245136,37.245136 0 0 1 -50.75756,13.701787 37.245136,37.245136 0 0 1 -13.8907,-50.706194 37.245136,37.245136 0 0 1 50.65412,-14.07941 37.245136,37.245136 0 0 1 14.26793,50.601339" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-92"
|
||||
d="m 149.40536,32.571689 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42519,-2.341797 6.1949,6.1949 0 0 1 2.37315,8.416408" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 161.81149,66.567909 H 126.34036"
|
||||
id="path58820-3" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 140.68567,34.682051 123.50035,61.360058"
|
||||
id="path58822-7" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ff6e00;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5, 3;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 147.40221,34.677502 17.24233,26.68714"
|
||||
id="path58824-5" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 95.44958,123.97991 117.69772,72.258569"
|
||||
id="path60835" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 97.742036,125.68246 163.26602,70.556018"
|
||||
id="path60837" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 95.813494,124.15065 141.22861,34.994238"
|
||||
id="path60839" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 192.6353,123.93715 170.45011,72.260302"
|
||||
id="path60841" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 192.26643,124.11019 146.85314,34.993764"
|
||||
id="path60843" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 190.33932,125.64078 124.88529,70.556708"
|
||||
id="path60845" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 71.91865,161.24431 117.33376,72.087907"
|
||||
id="path60847" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 72.074779,161.32656 141.07256,34.911822"
|
||||
id="path60849" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 73.458652,162.35539 163.65455,70.976761"
|
||||
id="path60851" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 117.16403,160.57253 2.78516,-87.812885"
|
||||
id="path60853" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 119.77941,161.24431 165.19452,72.087907"
|
||||
id="path60855" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 118.16616,160.68639 142.84193,35.551984"
|
||||
id="path60857" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 170.9878,160.53164 -2.785,-87.771971"
|
||||
id="path60859" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 168.37158,161.20387 122.9583,72.087434"
|
||||
id="path60861" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 169.98239,160.64619 145.24229,35.55132"
|
||||
id="path60863" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 216.23235,161.20387 170.81905,72.087434"
|
||||
id="path60865" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 214.69238,162.31539 124.49828,70.975886"
|
||||
id="path60867" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 216.07432,161.28728 147.01113,34.910269"
|
||||
id="path60869" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 99.196511,129.66808 89.687779,-0.036"
|
||||
id="path60871" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 98.599665,132.32357 66.986565,31.74669"
|
||||
id="path60873" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 98.945067,131.41772 213.10168,164.97616"
|
||||
id="path60875" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 123.16243,166.75955 41.82702,-0.0316"
|
||||
id="path60877" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 122.56241,164.10444 189.48438,132.2894"
|
||||
id="path60879" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 123.16243,166.76174 89.68777,-0.0359"
|
||||
id="path60881" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 75.301667,166.76174 89.687773,-0.0359"
|
||||
id="path60883" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 75.301666,166.76253 212.8502,166.725"
|
||||
id="path60885" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 75.048966,165.01259 189.13713,131.38124"
|
||||
id="path60887" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-0"
|
||||
d="m 173.37127,69.665359 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42519,-2.341797 6.1949,6.1949 0 0 1 2.37315,8.416408" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1-2"
|
||||
d="m 125.51052,69.665359 a 6.1949,6.1949 0 0 1 -8.44239,2.278988 6.1949,6.1949 0 0 1 -2.31041,-8.433848 6.1949,6.1949 0 0 1 8.42518,-2.341797 6.1949,6.1949 0 0 1 2.37316,8.416408" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-93"
|
||||
d="m 200.44406,132.72709 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42518,-2.3418 6.1949,6.1949 0 0 1 2.37316,8.41641" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9-1-0"
|
||||
d="m 176.54921,169.82076 a 6.1949,6.1949 0 0 1 -8.4424,2.27899 6.1949,6.1949 0 0 1 -2.3104,-8.43385 6.1949,6.1949 0 0 1 8.42518,-2.34179 6.1949,6.1949 0 0 1 2.37315,8.4164" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590-9"
|
||||
d="m 122.33258,169.86167 a 6.1949,6.1949 0 0 1 -8.44239,2.27899 6.1949,6.1949 0 0 1 -2.31041,-8.43385 6.1949,6.1949 0 0 1 8.42519,-2.3418 6.1949,6.1949 0 0 1 2.37315,8.41641" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke:none;stroke-width:9.15155;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stop-color:#000000"
|
||||
id="path58590"
|
||||
d="m 98.366665,132.76801 a 6.1949,6.1949 0 0 1 -8.442392,2.27899 6.1949,6.1949 0 0 1 -2.310408,-8.43385 6.1949,6.1949 0 0 1 8.425186,-2.34179 6.1949,6.1949 0 0 1 2.373153,8.4164" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="141.18677"
|
||||
y="31.569738"
|
||||
id="text75117"><tspan
|
||||
id="tspan75115"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="141.18677"
|
||||
y="31.569738">A1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="117.2439"
|
||||
y="68.663406"
|
||||
id="text75117-9"><tspan
|
||||
id="tspan75115-2"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="117.2439"
|
||||
y="68.663406">B1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="164.91402"
|
||||
y="68.663406"
|
||||
id="text75117-2"><tspan
|
||||
id="tspan75115-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="164.91402"
|
||||
y="68.663406">C1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="215.34152"
|
||||
y="168.81882"
|
||||
id="text75117-2-3"><tspan
|
||||
id="tspan75115-8-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="215.34152"
|
||||
y="168.81882">C3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="89.464119"
|
||||
y="131.80972"
|
||||
id="text75117-97"><tspan
|
||||
id="tspan75115-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="89.464119"
|
||||
y="131.80972">A2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="65.521255"
|
||||
y="168.90338"
|
||||
id="text75117-9-6"><tspan
|
||||
id="tspan75115-2-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="65.521255"
|
||||
y="168.90338">B2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="113.19138"
|
||||
y="168.85973"
|
||||
id="text75117-2-2"><tspan
|
||||
id="tspan75115-8-9"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="113.19138"
|
||||
y="168.85973">C2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="167.6714"
|
||||
y="168.77953"
|
||||
id="text75117-9-7"><tspan
|
||||
id="tspan75115-2-8"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="167.6714"
|
||||
y="168.77953">B3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:5.82083px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="191.61427"
|
||||
y="131.68585"
|
||||
id="text75117-4"><tspan
|
||||
id="tspan75115-5"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:5.82083px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="191.61427"
|
||||
y="131.68585">A3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="129.53557"
|
||||
y="21.968952"
|
||||
id="text151203"><tspan
|
||||
id="tspan151201"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="129.53557"
|
||||
y="21.968952">My Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="179.18785"
|
||||
y="185.09686"
|
||||
id="text151203-0"><tspan
|
||||
id="tspan151201-3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="179.18785"
|
||||
y="185.09686">Your Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="76.365395"
|
||||
y="185.09686"
|
||||
id="text151203-0-6"><tspan
|
||||
id="tspan151201-3-1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:4.23333px;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#efedef;fill-opacity:1;stroke-width:0.264583"
|
||||
x="76.365395"
|
||||
y="185.09686">Their Fediversity</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:10.5833px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="240.13141"
|
||||
y="47.2188"
|
||||
id="text171688"><tspan
|
||||
id="tspan171686"
|
||||
style="stroke-width:0.264583"
|
||||
x="240.13141"
|
||||
y="47.2188" /></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
BIN
MarCom/Presentations/assets/link-to-nlnet-grants.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
MarCom/Presentations/assets/link-to-website-homepage.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
MarCom/Presentations/assets/link-to-website-page-consortium.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
MarCom/Presentations/assets/mailto-apply-as-tester.png
Normal file
After Width: | Height: | Size: 12 KiB |
212
MarCom/Presentations/assets/target-audiences.svg
Normal file
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="310.41714mm"
|
||||
height="181.78426mm"
|
||||
viewBox="0 0 310.41714 181.78426"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="target-audiences.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.087256"
|
||||
inkscape:cx="746.83421"
|
||||
inkscape:cy="541.73072"
|
||||
inkscape:window-width="2556"
|
||||
inkscape:window-height="1391"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path50199" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker50471"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path50469" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path50202" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(39.534213,-39.833809)">
|
||||
<g
|
||||
id="g1060">
|
||||
<path
|
||||
style="fill:#2541b2;fill-opacity:1;stroke-width:3.77953;stop-color:#000000"
|
||||
id="path846"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="105.30602"
|
||||
sodipodi:cy="130.72594"
|
||||
sodipodi:rx="90.892128"
|
||||
sodipodi:ry="90.892128"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 184.02091,176.172 A 90.892128,90.892128 0 0 1 60.15338,209.60951 90.892128,90.892128 0 0 1 26.254866,85.867342 90.892128,90.892128 0 0 1 149.86995,51.50829 90.892128,90.892128 0 0 1 184.68906,174.99457" />
|
||||
<path
|
||||
style="fill:#ff6e00;fill-opacity:1;stroke-width:4.84651;stop-color:#000000"
|
||||
id="path846-6"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="105.30602"
|
||||
sodipodi:cy="130.72594"
|
||||
sodipodi:rx="70.881783"
|
||||
sodipodi:ry="70.881783"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 166.69145,166.16683 A 70.881783,70.881783 0 0 1 70.093955,192.24291 70.881783,70.881783 0 0 1 43.658364,95.743181 70.881783,70.881783 0 0 1 140.05898,68.948442 70.881783,70.881783 0 0 1 167.2125,165.24862" />
|
||||
<path
|
||||
style="fill:#efedef;fill-opacity:1;stroke-width:6.53412;stop-color:#000000"
|
||||
id="path846-6-7"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="105.30602"
|
||||
sodipodi:cy="130.72594"
|
||||
sodipodi:rx="52.574703"
|
||||
sodipodi:ry="52.574703"
|
||||
sodipodi:start="0.52359878"
|
||||
sodipodi:end="0.50870414"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="M 150.83705,157.01329 A 52.574703,52.574703 0 0 1 79.188395,176.35453 52.574703,52.574703 0 0 1 59.580488,104.7784 52.574703,52.574703 0 0 1 131.08312,84.9041 a 52.574703,52.574703 0 0 1 20.14041,71.42813" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#222222;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
||||
x="77.416451"
|
||||
y="130.43488"
|
||||
id="text3315"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3313"
|
||||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-family:Manrope;-inkscape-font-specification:'Manrope Semi-Bold';fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="77.416451"
|
||||
y="130.43488"
|
||||
transform="translate(-1.140243)">Fediversity</tspan></text>
|
||||
<g
|
||||
id="path9760-3">
|
||||
<path
|
||||
style="color:#000000;fill:#ff6e00;-inkscape-stroke:none"
|
||||
d="M -39.534213,135.33222 H 33.311962"
|
||||
id="path65072" />
|
||||
<path
|
||||
style="color:#000000;fill:#ff6e00;-inkscape-stroke:none"
|
||||
d="m -39.535156,134.83203 v 1 H 33.3125 v -1 z"
|
||||
id="path65074" />
|
||||
<g
|
||||
id="g65062">
|
||||
<g
|
||||
id="path65064">
|
||||
<path
|
||||
style="color:#000000;fill:#ff6e00;fill-rule:evenodd;stroke-width:0.8pt;-inkscape-stroke:none"
|
||||
d="m 23.311962,135.33222 -4,4 14,-4 -14,-4 z"
|
||||
id="path65068" />
|
||||
<path
|
||||
style="color:#000000;fill:#ff6e00;fill-rule:evenodd;-inkscape-stroke:none"
|
||||
d="m 17.478516,130.25391 5.080078,5.07812 -5.080078,5.07813 17.77539,-5.07813 z m 3.667968,2.1582 10.22461,2.91992 -10.228516,2.92383 2.923828,-2.92383 -0.376953,-0.37695 z"
|
||||
id="path65070" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="path9760-3-5">
|
||||
<path
|
||||
style="color:#000000;fill:#2541b2;-inkscape-stroke:none"
|
||||
d="m 197.23252,135.25414 h 73.6504"
|
||||
id="path65088" />
|
||||
<path
|
||||
style="color:#000000;fill:#2541b2;-inkscape-stroke:none"
|
||||
d="m 197.23242,134.75391 v 1 h 73.65039 v -1 z"
|
||||
id="path65090" />
|
||||
<g
|
||||
id="g65078">
|
||||
<g
|
||||
id="path65080">
|
||||
<path
|
||||
style="color:#000000;fill:#2541b2;fill-rule:evenodd;stroke-width:0.8pt;-inkscape-stroke:none"
|
||||
d="m 207.23252,135.25414 4,-4 -14,4 14,4 z"
|
||||
id="path65084" />
|
||||
<path
|
||||
style="color:#000000;fill:#2541b2;fill-rule:evenodd;-inkscape-stroke:none"
|
||||
d="m 213.06445,130.17578 -17.77343,5.07813 17.77343,5.07812 -5.07812,-5.07812 z m -3.66601,2.1582 -2.91992,2.91993 0.37695,0.37695 2.54687,2.54687 -10.22851,-2.92382 z"
|
||||
id="path65086" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:10.5833px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="-40.275043"
|
||||
y="130.43488"
|
||||
id="text43515"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan43513"
|
||||
style="fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="-40.275043"
|
||||
y="130.43488">Providers</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:10.5833px;line-height:1.25;font-family:Manrope;-inkscape-font-specification:Manrope;stroke-width:0.264583"
|
||||
x="242.98009"
|
||||
y="130.38196"
|
||||
id="text46525"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan46523"
|
||||
style="fill:#222222;fill-opacity:1;stroke-width:0.264583"
|
||||
x="242.98009"
|
||||
y="130.38196">Users</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
3
architecture-docs/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
*.err
|
||||
*.odt
|
||||
.~lock*
|
BIN
architecture-docs/2024-01-25-proxmox-architecture.pdf
Normal file
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
76
architecture-docs/2025-03-05 design meeting.md
Normal file
|
@ -0,0 +1,76 @@
|
|||
# fediversity design meeting 2025-03-12
|
||||
|
||||
present: slik (thijs, tiemon) + procolix (lois, kevin, kiara)
|
||||
|
||||
- thijs: what is the project called and who does what?
|
||||
- thijs: how do you see front-end dev for this?
|
||||
- kiara: we don't need you to do an implementation using some front-end framework - just the design will do.
|
||||
- thijs: what will be the concrete deliverable then for the demo?
|
||||
- kiara: if for fediforum we do not have the design implemented yet that is acceptable.
|
||||
- thijs: maybe we will make it in time.
|
||||
- tiemon: sounds ambitious.
|
||||
- thijs: should we deliver code or would an interactive design do?
|
||||
- kiara: an interactive design will do.
|
||||
- kiara: could this handle animations too?
|
||||
- tiemon: yes.
|
||||
- thijs: could you explain some terminology here like fediverse, protagio, providers, panel?
|
||||
- kevin: *explains*
|
||||
- thijs: which applications will you do, and how do these get added?
|
||||
- kiara: mastodon, pixelfed and peertube at least.
|
||||
- kevin: *explains about fediversity sub-grants*
|
||||
- thijs: who will select what applications get added then?
|
||||
- kiara: formally the Open Internet Discourse Foundation.
|
||||
- thijs: are there set criteria for this? are these political decisions?
|
||||
- kiara: fediversity is open-source, tho as maintainers we will eventually need to make decisions take into account our capacity given the maintenance work involved.
|
||||
- thijs: how might hosts, users, workspaces and accounts relate?
|
||||
- kiara: we will offer SSO across applications.
|
||||
- thijs: what if people say use this from both professional as well as other roles? can they then have workspaces representing their accounts at different hosts?
|
||||
- kiara: i envision the web client as agnostic to orchestration capabilities, so a client application logged in to accounts at different hosts thru e.g. workspaces could technically be possible, tho i would not see this as significantly affecting our design currently.
|
||||
- thijs: how about a host admin panel to e.g. restrict offered applications? or for hosts' accountants?
|
||||
- kiara: hosts consist of sysadmins, so a config file may currently suffice for them as a user interface.
|
||||
- kevin: hosts also already have their own client-facing front-ends.
|
||||
- thijs: cli for now, so for the design focus on the operator panel? ok.
|
||||
- thijs: *asking about terminology*
|
||||
- *kevin + kiara explain*
|
||||
- thijs: do you want to offer a federated UX?
|
||||
- kevin: the deployed applications federate already.
|
||||
- thijs: applications tend to offer support buttons. who is in charge of offering this support, operators, hosts or you?
|
||||
- kiara: the operator, afaik.
|
||||
- kevin: we might direct users to the application manuals.
|
||||
- thijs: will fedipanel come with a knowledge base aimed at the operators?
|
||||
- kiara: we could link to a static one deployed from our end.
|
||||
- kevin: probably better to include this in the panel deployment.
|
||||
- thijs: sure, let me know.
|
||||
- thijs: we can show what we had so far in design program figma.
|
||||
- tiemon: you can navigate and interact with the designs, and they can generate html as well.
|
||||
- thijs: we like to work with job stories, so not just user stories like 'as a ...' but also including 'so that ...'.
|
||||
- kiara: great, so do we.
|
||||
- thijs: we can show some UIs we like for reference.
|
||||
- thijs: you won't offer file management from the panel, right?
|
||||
- kevin: correct.
|
||||
- kiara: fyi our deployment is somewhat big-bang still, rather than say configure mastodon -> deploy -> configure pixelfed -> deploy - we can not yet enqueue such syncs.
|
||||
- thijs: where can we find your application?
|
||||
- kevin: the code is at <https://git.fediversity.eu>, but we also have a recent demo video.
|
||||
- tiemon: we saw that one, yeah.
|
||||
- thijs: here is a wireframe so we can align on the chrome (= UI parts that are always there).
|
||||
- kiara: we do not yet have workspaces, but multiple deployments per user could become an option.
|
||||
- thijs: how about an admin interface to manage users?
|
||||
- kiara: we will have to go thru hosts' SSO because of billing.
|
||||
- kevin: yes this will go thru LDAP.
|
||||
- thijs: how about showing stats about e.g. numbers of mastodon users?
|
||||
- kiara: applications should already handle stuff specific to them, so we don't plan to do this.
|
||||
- thijs: how about application settings (generic vs application-specific)?
|
||||
- kiara: generic ones will apply to say configure VM resources or sub-domains, tho otherwise most should be application-specific.
|
||||
- thijs: no auto-scaling?
|
||||
- kiara: not for now.
|
||||
- thijs: how about a billing interface?
|
||||
- kevin: hosts would use their existing ones.
|
||||
- tiemon: how is pricing determined then?
|
||||
- kiara: hosts may set this based on the usage info we will provide.
|
||||
- thijs:
|
||||
- font: manrope?
|
||||
- kiara: looks pretty.
|
||||
- icon sets, selected by open-source / pretty / ...:
|
||||
- [iconoir](https://iconoir.com/)?
|
||||
- [phosphor](https://phosphoricons.com/)?
|
||||
- kevin+lois+kiara: this one looks prettier.
|
76
architecture-docs/2025-03-31-ssh-strategy.md
Normal file
|
@ -0,0 +1,76 @@
|
|||
# ssh access strategy
|
||||
|
||||
some notes on our current status, challenges and ways to address these
|
||||
|
||||
## questions
|
||||
|
||||
- [x] which keys do we accept on which users on which machines (infra/test)?
|
||||
- [x] when deploying (by nixops/tf, machines infra/test, separate/local/deployed), which user and key do we pass?
|
||||
|
||||
## background
|
||||
|
||||
<!-- - manual setup kevin -->
|
||||
<!-- - `nixos-24.05-minimal-x86_64.iso` -->
|
||||
<!-- - `users.users.procolix.openssh.authorizedKeys.keys` (procolix SSH jump nodes) -->
|
||||
- manual setup @niols
|
||||
- sync machines' `/etc/ssh/ssh_host_ed25519_key.pub` to:
|
||||
- `infra/test-machines/testxx/ssh_host_ed25519_key` (test machines)
|
||||
- `keys/systems/fedixxx.pub` (infra)
|
||||
|
||||
## challenges
|
||||
|
||||
- TF messing up non-root SSH access (`/etc/ssh/authorized_keys.d` absent)
|
||||
- TF not having a clear SSH strategy for production
|
||||
- machine key? how to select the right user/key? how does nixops handle this?
|
||||
- testing the panel locally not having a clear SSH strategy with password-protected SSH keys
|
||||
|
||||
## strategy
|
||||
|
||||
### which keys to accept on which users on which machines
|
||||
|
||||
- fedixxx/test0x
|
||||
<!-- - procolix -->
|
||||
<!-- - procolix jump nodes -->
|
||||
- root
|
||||
- fediversity team's individual keys
|
||||
- personal
|
||||
- personal (protected)
|
||||
- test0x: a passwordless wheel account (personal accounts? root too?) should allow also an unprotected ssh key (personal?)
|
||||
|
||||
### how to use SSH on deployment
|
||||
|
||||
#### user
|
||||
|
||||
(note that `desired` columns are focused on the scope of #76, so keeping e.g. security considerations out of scope.)
|
||||
|
||||
| context | current | desired |
|
||||
|-|-|-|
|
||||
| nixops infra | root | root |
|
||||
| nixops local | root | root |
|
||||
| protected? nixops panel local | root | root |
|
||||
| nixops panel deployed | root | root |
|
||||
| tf local | personal (hard-coded) | root |
|
||||
| protected? tf panel local | personal (hard-coded) | root |
|
||||
| tf panel deployed | personal (hard-coded) | root |
|
||||
| tf infra | root | root |
|
||||
|
||||
#### key
|
||||
|
||||
| context | current | desired |
|
||||
|-|-|-|
|
||||
| nixops infra | personal (thru ssh agent) | (protected) personal key |
|
||||
| nixops local | personal (thru ssh agent) | personal |
|
||||
| nixops panel local | personal (thru ssh agent, failed to handle password protection) | (unprotected) personal key |
|
||||
| nixops panel deployed | machine key (thru ssh agent) | machine key |
|
||||
| tf local | personal (thru ssh agent, password can be passed explicitly) | personal (unprotected, or if protected by passing it explicitly) |
|
||||
| tf panel local | personal (thru ssh agent, password can be passed explicitly) | personal (unprotected, or if protected by passing it explicitly) |
|
||||
| tf panel deployed | machine key (thru ssh agent) | machine key |
|
||||
| tf infra | n/a | (protected) personal key (with password propagated, somehow) |
|
||||
|
||||
## outcomes
|
||||
|
||||
added sub-tasks to:
|
||||
|
||||
- #272
|
||||
- #76
|
||||
- #274
|
49
architecture-docs/2025-04-08-high-level-spec.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
# fediversity product specification
|
||||
|
||||
## stack
|
||||
|
||||
### user-facing
|
||||
|
||||
- [fediverse](https://www.figma.com/proto/AZbFAac2Xjxs3q1H3orXzO/Fedi-Design-system?page-id=97%3A1682&node-id=97-2257)
|
||||
- ...
|
||||
- prioritize efforts taking in mind
|
||||
- added value to operator autonomy
|
||||
- strategic relevance to counter-balance big tech
|
||||
- demand
|
||||
- nix package/service maturity
|
||||
- may involve relation with application devs to:
|
||||
- [upstream](https://git.fediversity.eu/Fediversity/Fediversity/issues/127#issuecomment-5669) nix package
|
||||
- ensure architecture takes immutable build/storage in mind
|
||||
|
||||
### under the hood
|
||||
|
||||
- nixos
|
||||
- [opentofu](https://opentofu.org/)
|
||||
- passes relevant info on to nixos config wrapper
|
||||
- VM hypervisor: [proxmox](https://proxmox.com/)
|
||||
- storage: [garage](https://garagehq.deuxfleurs.fr/)
|
||||
- backups / data portability: [borgmatic](https://github.com/borgmatic-collective/borgmatic)?
|
||||
- data interoperability: [json-schema](https://json-schema.org/)
|
||||
|
||||
## component architecture
|
||||
|
||||
- orchestration module
|
||||
- application service modules (nixos): templates providing sane defaults and [unified interface](https://nlnet.nl/project/SelfHostBlocks/)
|
||||
- deployment module (opentofu)
|
||||
- deployment UIs
|
||||
- [reference imlementation](https://git.fediversity.eu/Fediversity/Fediversity)
|
||||
- hosting panel: [fediversity integration](https://www.figma.com/proto/AZbFAac2Xjxs3q1H3orXzO/Fedi-Design-system?page-id=97%3A1682&node-id=97-2284) TODO
|
||||
- [front](https://git.fediversity.eu/Fediversity/protagio.nl-frontend)
|
||||
- back
|
||||
- [existing](https://git.fediversity.eu/Fediversity/myprotagio-api)
|
||||
- rewrite?
|
||||
- allow for alternate setups
|
||||
- e.g. client doing orchestration
|
||||
- [infra](https://git.fediversity.eu/Fediversity/meta/media/branch/main/architecture-docs/architecture.png)
|
||||
|
||||
### feature-specific architectural notes
|
||||
|
||||
- [decouple version](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
||||
- [validate component input](https://git.fediversity.eu/Fediversity/Fediversity/issues/195)
|
||||
- [migrate to different host](https://git.fediversity.eu/Fediversity/Fediversity/issues/100) (+ sub-tickets)
|
||||
- [breaking changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/214)
|
|
@ -0,0 +1,34 @@
|
|||
// usage: nix-shell -p graphviz --command 'dot -T png -o architecture.png architecture.dot'
|
||||
|
||||
digraph FediversityArchitecture {
|
||||
graph[fontname="Liberation Sans"];
|
||||
node[shape=box, style="rounded", fontname="Liberation Sans"];
|
||||
|
||||
subgraph cluster_frontends {
|
||||
label="front-ends";
|
||||
|
||||
nix[label="NixOS module"];
|
||||
tofu[label="OpenTofu CLI"];
|
||||
panel[label="FediPanel"];
|
||||
protagio[label="NixPanel"];
|
||||
}
|
||||
|
||||
nix -> core;
|
||||
tofu -> core;
|
||||
panel -> core;
|
||||
protagio -> core;
|
||||
|
||||
core[label="fediversity-core"];
|
||||
|
||||
subgraph cluster_hypervisor {
|
||||
label="proxmox";
|
||||
|
||||
nextcloud;
|
||||
vaultwarden;
|
||||
dots[label="..."];
|
||||
}
|
||||
|
||||
core -> nextcloud;
|
||||
core -> vaultwarden;
|
||||
core -> dots;
|
||||
}
|
BIN
architecture-docs/2025-05-architecture-replaced-by-mermaid.png
Normal file
After Width: | Height: | Size: 27 KiB |
177
architecture-docs/architecture.md
Normal file
|
@ -0,0 +1,177 @@
|
|||
# Fediversity Implementation and planning
|
||||
|
||||
## Actors
|
||||
|
||||
- Maintainers
|
||||
|
||||
The group developing and maintaining this project.
|
||||
We are creating the deployment workflows and service configurations, and curate changes proposed by contributors.
|
||||
|
||||
- Developers
|
||||
|
||||
People with the technical background to engage with our work, and may contribute back, build on top of, remix, or feel inspired by our work to create something better.
|
||||
|
||||
- Hosting provider
|
||||
|
||||
They provide and maintain the physical infrastructure, and run the software in this repository, through which operators interact with their deployments.
|
||||
Hosting providers are technical administrators for these deployments, ensuring availability and appropriate performance.
|
||||
|
||||
We target small- to medium-scale hosting providers with 20+ physical machines.
|
||||
|
||||
- Operator
|
||||
|
||||
They select the applications they want to run.
|
||||
They don't need to own hardware or deal with operations.
|
||||
Operators administer their applications in a non-technical fashion, e.g. as moderators.
|
||||
They pay the hosting provider for registering a domain name, maintaining physical resources, and monitoring deployments.
|
||||
|
||||
- User
|
||||
|
||||
They are individuals using applications run by the operators, and e.g. post content.
|
||||
|
||||
## Glossary
|
||||
|
||||
- [Fediverse](https://en.wikipedia.org/wiki/Fediverse)
|
||||
|
||||
A collection of social networking applications that can communicate with each other using a common protocol.
|
||||
|
||||
- Application
|
||||
|
||||
User-facing software (e.g. from Fediverse) configured by operators and used by users.
|
||||
|
||||
- Configuration
|
||||
|
||||
A collection of settings for a piece of software.
|
||||
|
||||
> Example: Configurations are deployed to VMs.
|
||||
|
||||
- Provision
|
||||
|
||||
Make a resource, such as a virtual machine, available for use.
|
||||
|
||||
- Deploy
|
||||
|
||||
Put software onto computers.
|
||||
The software includes technical configuration that links software components.
|
||||
|
||||
- Migrate
|
||||
|
||||
Move service configurations and deployments (including user data) from one hosting provider to another.
|
||||
|
||||
- Run-time backend
|
||||
|
||||
A type of digital environment one can run operating systems such as NixOS on, e.g. bare-metal, a hypervisor, or a container run-time.
|
||||
|
||||
- Provider
|
||||
|
||||
An interface against which we deploy to a run-time backend.
|
||||
|
||||
- Provider configuration
|
||||
|
||||
A configuration that specifies resources made available to deploy to and how to access these.
|
||||
|
||||
- Resource
|
||||
|
||||
A resource is any external entity that we need for our set-up
|
||||
This may include e.g. hypervisors, file systems, DNS entries, VMs or object storage instances.
|
||||
|
||||
## Technologies used
|
||||
|
||||
This is an incomplete and evolving list of core components planned to be used in this project.
|
||||
It will grow to support more advanced use cases as the framework matures.
|
||||
|
||||
### Nix and [NixOS](https://nixos.org/)
|
||||
|
||||
NixOS is a Linux distribution with a [vibrant](https://repology.org/repositories/graphs), [reproducible](https://reproducible.nixos.org/) and [security-conscious](https://tracker.security.nixos.org/) ecosystem.
|
||||
As such, we see NixOS as the only viable way to reliably create a reproducible outcome for all the work we create.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- containers: do not by themselves offer the needed reproducibility
|
||||
|
||||
### [Proxmox](https://proxmox.com/)
|
||||
|
||||
Proxmox is a hypervisor, allowing us to create VMs for our applications while adhering to our goal of preventing lock-in.
|
||||
In addition, it has been [packaged for Nix](https://github.com/SaumonNet/proxmox-nixos) as well, simplifying our requirements to users setting up our software.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- OpenNebula: seemed less mature
|
||||
|
||||
### [Garage](https://garagehq.deuxfleurs.fr/)
|
||||
|
||||
Garage is a distributed object storage service.
|
||||
For compatibility with existing clients, it reuses the protocol of Amazon S3.
|
||||
|
||||
Considered alternatives include:
|
||||
|
||||
- file storage: less centralized for backups
|
||||
|
||||
## Architecture
|
||||
|
||||
At the core of Fediversity lies a NixOS configuration module for a set of selected applications.
|
||||
|
||||
- We will enable using it with **different run-time environments**, such as a single NixOS machine or a ProxmoX hypervisor.
|
||||
- Depending on the targeted run-time environment, deployment may involve [NixOps4](https://nixops.dev) or [OpenTofu](https://opentofu.org/) as an **orchestrator**.
|
||||
- We further provide demo front-end for **configuring applications** and configuring **run-time backends**.
|
||||
|
||||
To ensure reproducibility, all software will be packaged with Nix.
|
||||
|
||||
To reach our goals, we aim to implement the following interactions.
|
||||
|
||||
The used legend is as follows:
|
||||
|
||||
- Circle: [actor](#actors)
|
||||
- Angled box: type
|
||||
- Rectangle: value
|
||||
- Rounded box: function
|
||||
- Diamond: state
|
||||
- Arrow: points towards dependant
|
||||
|
||||
For further info on components see the [glossary](#glossary).
|
||||
|
||||
<!--  -->
|
||||
{ width=100% }
|
||||
|
||||
### Configuration data flow
|
||||
|
||||
This data flow diagram refines how a deployment is obtained from an operator's application configuration and a hosting provider's runtime setup.
|
||||
|
||||
An **application module** specifies operator-facing **application options**, and a **configuration mapping** which determines the application's underlying implementation. Application modules can be supplied by external developers, which would curate application modules against that interface.
|
||||
|
||||
For its runtime setup, a hosting provider has to supply a **resource mapping** that would take their self-declared **provider configuration** (which determines the *available* resources) and the output of an application's resource mapping (which determine resource *requirements*) and produce a **configuration**. This configuration ships with a mechanism to be *deployed* to the infrastructure (which is described by the environment, and features the required resources), where it will accumulate **application state**.
|
||||
|
||||
Applications and runtime environments thus interface through **resources**, the properties of which are curated by Fediversity maintainers.
|
||||
|
||||
<!--  -->
|
||||
{ width=100% }
|
||||
|
||||
|
||||
### Service portability
|
||||
|
||||
The process of migrating one's applications to a different host encompasses:
|
||||
|
||||
1. Domain registration: involves a (manual) update of DNS records at the registrar
|
||||
1. Deploy applications: using the reproducible configuration module
|
||||
1. Copy application data:
|
||||
- Run back-up/restore scripts
|
||||
- Run application-specific migration scripts, to e.g. reconfigure connections/URLs
|
||||
|
||||
### Data model
|
||||
|
||||
Whereas the bulk of our configuration logic is covered in the configuration schema, [implemented here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model.nix) and [tested here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model-test.nix), our reference front-end applications will store data.
|
||||
The data model design for the configuration front-end needed support the desired functionality is as follows, using the crow's foot notation to denote cardinality:
|
||||
|
||||
<!--  -->
|
||||
{ height=100% }
|
||||
|
||||
### Host architecture
|
||||
|
||||
Whereas the core abstraction in Fediversity is a NixOS configuration module, a more full-fledged example architecture of the web host use-case we aim to support as part of our exploitation would be as follows, where virtual machines in question run Fediversity to offer our selected applications:
|
||||
|
||||
{ width=100% }
|
||||
|
||||
### CI / CD
|
||||
|
||||
In our simplest set-up, continuous integration and continuous deployment pipelines are handled using Forgejo's [built-in runner](https://code.forgejo.org/forgejo/runner), with relevant secrets handled using [Forgejo secrets](https://forgejo.org/docs/latest/developer/secrets/). Jobs we handle using CI include linting, formatting, testing, and a periodic life-cycle management job to keep our dependencies up-to-date.
|
||||
In a future iteration, we may make use of [Gerrit](https://gerrit.googlesource.com/) to better manage our review process for incoming merge requests.
|