Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0561aba927 | ||
|
|
86a78f53cb | ||
|
|
f0bc74ff6e | ||
|
|
f81128f717 | ||
|
|
9ce505cad3 | ||
|
|
6b8635f7d5 | ||
|
|
388ffe9f00 | ||
|
|
d01129a3cf | ||
|
|
535ea0ad9f | ||
|
|
ccb5de6df1 | ||
|
|
cdcfc652db | ||
|
|
7030dadbcb | ||
|
|
46a9fdb61d | ||
|
|
9958b876cf | ||
|
|
259d3a0155 | ||
|
|
33499be425 | ||
|
|
3fd44f5260 | ||
|
|
c076275bd0 | ||
|
|
081447ba2e | ||
|
|
3df7af12e1 | ||
|
|
d9e4ce5639 | ||
|
|
35b75f0f7f | ||
|
|
2609849507 | ||
|
|
448b94f701 | ||
|
|
18002a7580 | ||
|
|
1414bdcadf | ||
|
|
b6e68ba1a8 | ||
|
|
7a229e33f9 | ||
|
|
5b1ba5a57c | ||
|
|
a80aed5420 | ||
|
|
a53fd2e8b1 | ||
|
|
e8a7e80456 | ||
|
|
ab05784c33 | ||
|
|
6983e686ca | ||
|
|
3631202ce5 | ||
|
|
8d8a3247c4 | ||
|
|
d100a132d6 | ||
|
|
52638a9a8d | ||
|
|
9a5af82a28 | ||
|
|
14a618766d | ||
|
|
0137688ba7 | ||
|
|
84db3b9996 | ||
|
|
0a08031d85 | ||
|
|
1a53c9aabf | ||
|
|
1f5085608c | ||
|
|
16f72b4d3d | ||
|
|
3ced41633f | ||
|
|
4fa10be5aa | ||
|
|
f050fc7e00 | ||
|
|
c93aafc9af | ||
|
|
93520b4d6c | ||
|
|
1fb0260ae6 | ||
|
|
763ef24108 | ||
|
|
17aabd6cda | ||
|
|
d94adf4c8f | ||
|
|
4dd9cf2da2 | ||
|
|
e2a3d391d8 | ||
|
|
6c5f54fe57 | ||
|
|
082fbee1bd | ||
|
|
6d97feaced | ||
|
|
8d35089661 | ||
|
|
6455f62447 | ||
|
|
2fb3b1ebab | ||
|
|
58399a9fa8 | ||
|
|
907b305ecf | ||
|
|
57f92db124 | ||
|
|
0f6f943a83 | ||
|
|
2cb76b2274 | ||
|
|
2d2db52a8b | ||
|
|
a8d0818e07 | ||
|
|
f7eb2492d9 | ||
|
|
218522b08c | ||
|
|
470f13f448 | ||
|
|
317aa669ac | ||
|
|
8d160ad5ed | ||
|
|
e3493870b2 | ||
|
|
d466c85385 | ||
|
|
35d4391fc0 | ||
|
|
eea0ab69bd | ||
|
|
22ade94118 | ||
|
|
08ee40548f | ||
|
|
7f05a06766 | ||
|
|
9fd2f58ef7 | ||
|
|
b9b802ebab | ||
|
|
1d86e322e9 | ||
|
|
8eb5f10971 | ||
|
|
cc4783ab98 | ||
|
|
19792f328d | ||
|
|
596d1274a3 | ||
|
|
2f765747b8 | ||
|
|
4fe57b6a15 | ||
|
|
1177626a53 | ||
|
|
c4cc346864 | ||
|
|
8915dfffa5 | ||
|
|
ff027ebd17 | ||
|
|
27d5ac537f | ||
|
|
fe246cd413 | ||
|
|
2bbb560b8e | ||
|
|
1624c7d6ad | ||
|
|
2a3bb81076 | ||
|
|
e0a0dd83d7 | ||
|
|
16ea395618 | ||
|
|
9dd8da4f6e | ||
|
|
54abf85523 | ||
|
|
385fffec56 | ||
|
|
ac86717bc0 | ||
|
|
7b7af33920 | ||
|
|
85fd3ef4a4 | ||
|
|
de27a57a00 | ||
|
|
46d9ada6d8 | ||
|
|
76bd5921c5 | ||
|
|
af3a618306 | ||
|
|
531499bbfb | ||
|
|
7ad3afbdef | ||
|
|
0e18762b36 | ||
|
|
cbc7e59d3f | ||
|
|
5a6e945db2 | ||
|
|
86c0b90951 |
No files matched your search
@@ -18,7 +18,7 @@ jobs:
|
||||
ref: "gh-pages"
|
||||
- uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: 3.8
|
||||
- name: Merge changes from 3.0 branch
|
||||
run: |
|
||||
git config user.name github-actions
|
||||
|
||||
@@ -13,10 +13,10 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-20.04 # Downgrade Ubuntu to 20.04 to fix missing Python 3.6
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
@@ -1,5 +1,40 @@
|
||||
# Change Log
|
||||
|
||||
## 2.2.47 15/05/2024
|
||||
|
||||
* Fix update-bundled-web-ui.sh script
|
||||
* Bundle web-ui v2.2.47
|
||||
* Change sentry-sdk version
|
||||
* Upgrade aiohttp, sentry-sdk and truststore
|
||||
* Upgrade jsonschema and aiohttp
|
||||
* Drop Python 3.7
|
||||
* Remove dev requirements for Python 3.6
|
||||
* Do not run Docker VM tests on Windows
|
||||
* Do not wait for the server to close when shutting down.
|
||||
* Fix test create image with not supported characters by filesystem. Fixes #2375
|
||||
* Allow listing x86_64 IOU images. Fixes #2376
|
||||
* Upgrade Jinja2 to version 3.1.4. Fixes #2378
|
||||
* Fix link capture for ATM switch. Fixes https://github.com/GNS3/gns3-gui/issues/3570
|
||||
* Fix tests after updating error message when busybox is not installed.
|
||||
* Add more details to error message when busybox is not installed. Fixes https://github.com/GNS3/gns3-gui/issues/3569
|
||||
* Fix invalid escape sequences
|
||||
* Add NAT symbols
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Upgrade sentry-sdk to version 1.40.6
|
||||
|
||||
## 2.2.46 26/02/2024
|
||||
|
||||
* Bundle web-ui v2.2.46
|
||||
* Save empty directories when exporting a project
|
||||
* Backport from v3: install Docker resources in a writable location at runtime.
|
||||
* Use Docker API v1.24 to get version.
|
||||
* Drop support for Python 3.6
|
||||
* Address the telnet console bug.
|
||||
* Update welcome.py
|
||||
* Update remote-install.sh
|
||||
* Use Python 3.8 to publish API doc
|
||||
* Upgrade sentry-sdk, psutil and distro dependencies
|
||||
|
||||
## 2.2.45 12/01/2024
|
||||
|
||||
* Bundle web-ui v2.2.45
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
-rrequirements.txt
|
||||
|
||||
pytest==7.2.0; python_version >= '3.7'
|
||||
pytest==7.0.1; python_version < '3.7' # v7.0.1 is the last version to support Python 3.6
|
||||
pytest==7.2.0
|
||||
flake8==5.0.4
|
||||
pytest-timeout==2.1.0
|
||||
pytest-aiohttp==1.0.4; python_version >= '3.7'
|
||||
pytest-aiohttp==0.3.0; python_version < '3.7' # last version to support Python 3.6
|
||||
pytest-aiohttp==1.0.4
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"appliance_id": "e8001e2b-8ef3-44eb-ace5-79f68f3773e8",
|
||||
"name": "Asterfusion vAsterNOS",
|
||||
"category": "multilayer_switch",
|
||||
"description": "AsterNOS is the core technology of Asterfusion's one-stop turnkey SONiC solution for cloud, enterprise and AI. As an enterprise ready SONiC distribution, AsterNOS features rich functionality enhancement such as MC-LAG, VXLAN, BGP EVPN-Multihoming, RoCEv2(Easy RoCE), and more, making it powerful and easy-to-use in a variety of production scenarios. Currently, AsterNOS is compatible with top commercial switching chips (e.g. Marvell Teralynx, Prestera Falcon/Aldrin/Alleycat, Broadcom Tomahawk/Trident, Intel Tofino and some of NVIDIA's chips.)Through AsterNOS's rich L2/L3 features and enhancements in virtualization and management, cloud architecture built with Asterfusion switching families from 1G-800G (or other standard whitebox switches) can scale to tens of thousands of compute and storage nodes, working smoothly both in underlay nework and overlay cloud fabric with OpenStack integrated, supporting ultra low latency lossless RoCE network in AIGC, distributed storage , or building easily managed access clusters for campus networks.NOTICE: This appliance file is a virtualized version of AsterNOS and is intended to be used only to experience the basic functionality and industry standard CLI (Klish), not for official software testing. For more information about AsterNOS commercial version, please feel free to contact us via Email: bd@cloudswit.ch",
|
||||
"vendor_name": "Asterfusion",
|
||||
"vendor_url": "https://cloudswit.ch/",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/asterfusion.png",
|
||||
"documentation_url": "https://help.cloudswit.ch/portal/en/kb/articles/vasternos",
|
||||
"product_name": "vAsterNOS",
|
||||
"product_url": "https://cloudswit.ch/product/sonic-enterprise-distribution",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Asterfusion",
|
||||
"maintainer_email": "bd@cloudswit.ch",
|
||||
"usage": "The login is admin, passwd asteros",
|
||||
"symbol": "asterfusion-vAsterNOS.svg",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "Ethernet{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 10,
|
||||
"ram": 4096,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "d",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vAsterNOS-V3.1.img",
|
||||
"version": "V3.1",
|
||||
"md5sum": "c323c9c3f60e1a93eca2acdc5034b85c",
|
||||
"filesize": 2724659200,
|
||||
"download_url": "https://drive.cloudswitch.io/external/8ae2e3932ad8bb2ec30dd25be415d288ff3e4a949c557c6bd48ac6e6265bcfc1"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "V3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "vAsterNOS-V3.1.img"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -23,6 +23,14 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "bird2-debian-2.14.qcow2",
|
||||
"version": "2.14",
|
||||
"md5sum": "029cf1756201ee79497c169502b08b88",
|
||||
"filesize": 303717376,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.14.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "bird2-debian-2.0.12.qcow2",
|
||||
"version": "2.0.12",
|
||||
@@ -33,6 +41,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.14",
|
||||
"images": {
|
||||
"hda_disk_image": "bird2-debian-2.14.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "2.0.12",
|
||||
"images": {
|
||||
|
||||
@@ -25,11 +25,18 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.04a.qcow2",
|
||||
"version": "17.09.04a 8G",
|
||||
"md5sum": "d5dcba52b522f41648538737af80cdf9",
|
||||
"filesize": 1858142208,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.4a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.01a.qcow2",
|
||||
"version": "17.09.01a 8G",
|
||||
"md5sum": "a10ae2c4d71f4eb611bc4d83ad7709f0",
|
||||
"filesize": 1856634880,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Bengaluru-17.6.5"
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.1a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.06.05.qcow2",
|
||||
@@ -62,6 +69,12 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.09.04a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.04a.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.09.01a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.01a.qcow2"
|
||||
|
||||
@@ -12,20 +12,27 @@
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "There is no default configuration present. Virtual Switch and Interfaces may take several minutes to be usable after appliance boot.",
|
||||
"usage": "There is no default configuration present. Virtual Switch and Interfaces may take several minutes to be usable after appliance boot.\n\nOnly has basic Layer 2 switching features. Will need to enable advance features and reboot to gain access to things like BGP, etc... \n\nconfigure terminal \nlicense boot level network-advantage addon dna-advantage \nend \nwrite memory \nreload",
|
||||
"first_port_name": "GigabitEthernet0/0",
|
||||
"port_name_format": "GigabitEthernet1/0/{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 9,
|
||||
"ram": 16384,
|
||||
"cpus": 2,
|
||||
"ram": 24576,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "cat9kv-prd-17.12.01prd9.qcow2",
|
||||
"version": "17.12(1)",
|
||||
"md5sum": "e587e92186f42bdf69d7fa27f34425f7",
|
||||
"filesize": 2739404800,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "cat9kv-prd-17.10.01prd7.qcow2",
|
||||
"version": "17.10(1)",
|
||||
@@ -35,6 +42,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.12(1)",
|
||||
"images": {
|
||||
"hda_disk_image": "cat9kv-prd-17.12.01prd9.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.10(1)",
|
||||
"images": {
|
||||
|
||||
@@ -32,6 +32,13 @@
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/IOSv_startup_config.img/download"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m8.qcow2",
|
||||
"version": "15.9(3)M8",
|
||||
"md5sum": "8d93a185c2fa778178a933f20b02150a",
|
||||
"filesize": 57319424,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m6.qcow2",
|
||||
"version": "15.9(3)M6",
|
||||
@@ -97,6 +104,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "15.9(3)M8",
|
||||
"images": {
|
||||
"hda_disk_image": "vios-adventerprisek9-m.spa.159-3.m8.qcow2",
|
||||
"hdb_disk_image": "IOSv_startup_config.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.9(3)M6",
|
||||
"images": {
|
||||
|
||||
@@ -18,6 +18,12 @@
|
||||
"startup_config": "iou_l2_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "2b5055e4cef8fd257416d74a94adb626",
|
||||
"filesize": 240355720
|
||||
},
|
||||
{
|
||||
"filename": "i86bi-linux-l2-ipbasek9-15.1g.bin",
|
||||
"version": "15.1g",
|
||||
@@ -38,6 +44,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.1g",
|
||||
"images": {
|
||||
|
||||
@@ -18,6 +18,12 @@
|
||||
"startup_config": "iou_l3_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "4a2fce8de21d1831fbceffd155e41ae7",
|
||||
"filesize": 288947184
|
||||
},
|
||||
{
|
||||
"filename": "i86bi_LinuxL3-AdvEnterpriseK9-M2_157_3_May_2018.bin",
|
||||
"version": "15.7(3)M2",
|
||||
@@ -38,6 +44,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.7(3)M2",
|
||||
"images": {
|
||||
|
||||
@@ -47,6 +47,34 @@
|
||||
"filesize": 1990983680,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.1(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.13.qcow2",
|
||||
"version": "9500v 9.3.13",
|
||||
"md5sum": "bacf0f664ee34625c85a9f278b2466a2",
|
||||
"filesize": 2248409088,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(13)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.13.qcow2",
|
||||
"version": "9300v 9.3.13",
|
||||
"md5sum": "d8ce30cb762df02d77ec27786a2435ad",
|
||||
"filesize": 2248343552,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(13)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.12.qcow2",
|
||||
"version": "9500v 9.3.12",
|
||||
"md5sum": "452e5cb2a7a25feaa3ba0624a82ff9ca",
|
||||
"filesize": 1997996032,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(12)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.12.qcow2",
|
||||
"version": "9300v 9.3.12",
|
||||
"md5sum": "7b6b5dad1001e11d6ebb54662616e9f2",
|
||||
"filesize": 1997930496,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(12)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.9.qcow2",
|
||||
"version": "9500v 9.3.9",
|
||||
@@ -226,6 +254,34 @@
|
||||
"hda_disk_image": "nexus9300v.10.1.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.13",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.13.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.13",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.13.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.12",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.12.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.12",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.12.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.9",
|
||||
"images": {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "Clavister NetShield (cOS Stream) Virtual Appliance offers the same functionality as the Clavister NetShield physical NGappliances FWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"documentation_url": "https://docs.clavister.com",
|
||||
"product_name": "NetShield",
|
||||
"product_url": "https://www.clavister.com/products/netshield/",
|
||||
"registry_version": 4,
|
||||
@@ -13,7 +13,7 @@
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "No configuration by default, oen console to set IPs and activate configuration.",
|
||||
"usage": "No configuration by default, use console to set IPs and activate configuration.",
|
||||
"port_name_format": "if{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
@@ -27,6 +27,13 @@
|
||||
"options": "-cpu Nehalem"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-stream-4.00.00.34-virtual-x64-generic.qcow2",
|
||||
"version": "cOS Stream 4.00.00",
|
||||
"md5sum": "02b480621d9bf1a9a4e116cd47bef006",
|
||||
"filesize": 132841472,
|
||||
"download_url": "https://my.clavister.com/download/86399b21-44c7-ee11-a434-005056bdfeb0"
|
||||
},
|
||||
{
|
||||
"filename": "clavister-cos-stream-3.80.09.01-virtual-x64-generic.qcow2",
|
||||
"version": "cOS Stream 3.80.09",
|
||||
@@ -36,6 +43,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "cOS Stream 4.00.00",
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-stream-4.00.00.34-virtual-x64-generic.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cOS Stream 3.80.09",
|
||||
"images": {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "Clavister NetWall (cOS Core) Virtual Appliance offers the same functionality as the Clavister NetWall physical NGFWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"documentation_url": "https://docs.clavister.com",
|
||||
"product_name": "NetWall",
|
||||
"product_url": "https://www.clavister.com/products/ngfw/",
|
||||
"registry_version": 4,
|
||||
@@ -13,7 +13,7 @@
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "DHCP enabled on all interfaces by default, WebUI/SSH access enabled on the local network connected to If1.",
|
||||
"usage": "DHCP & cloud-init enabled on all interfaces by default, WebUI/SSH access enabled on the local network connected to If1.",
|
||||
"port_name_format": "If{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
@@ -26,6 +26,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.13.08-kvm-en.img",
|
||||
"version": "cOS Core 14.00.13 (x86)",
|
||||
"md5sum": "d36797077378accb2b8fc72d09d07ee1",
|
||||
"filesize": 536870912,
|
||||
"download_url": "https://my.clavister.com/download/f3f494a3-9ee7-ee11-a434-005056bdfeb0"
|
||||
},
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.01.13-kvm-en.img",
|
||||
"version": "cOS Core 14.00.01 (x86)",
|
||||
@@ -42,6 +49,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "cOS Core 14.00.13 (x86)",
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-core-14.00.13.08-kvm-en.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cOS Core 14.00.01 (x86)",
|
||||
"images": {
|
||||
|
||||
@@ -26,163 +26,25 @@
|
||||
"kvm": "allow",
|
||||
"options": "-cpu core2duo"
|
||||
},
|
||||
|
||||
"images": [
|
||||
{
|
||||
"filename": "EXOS-VM_v32.1.1.6.qcow2",
|
||||
"version": "32.1.1.6",
|
||||
"md5sum": "48868bbcb4255d6365049b5941dd2af7",
|
||||
"filesize": 231211008,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v32.1.1.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v31.7.1.4.qcow2",
|
||||
"version": "31.7.1.4",
|
||||
"md5sum": "a70e4fa3bc361434237ad12937aaf0fb",
|
||||
"filesize": 458227712,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v31.7.1.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v31.1.1.3.qcow2",
|
||||
"version": "31.1.1.3",
|
||||
"md5sum": "e4936ad94a5304bfeeca8dfc6f285cc0",
|
||||
"filesize": 561512448,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v31.1.1.3.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.7.1.1.qcow2",
|
||||
"version": "30.7.1.1",
|
||||
"md5sum": "c6b67023945102f984b47aa67c67fe33",
|
||||
"filesize": 485687296,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.7.1.1.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.6.1.11.qcow2",
|
||||
"version": "30.6.1.11",
|
||||
"md5sum": "bf3e13570417d7e3464165b344c196eb",
|
||||
"filesize": 475332608,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.6.1.11.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.5.1.15.qcow2",
|
||||
"version": "30.5.1.15",
|
||||
"md5sum": "380d0c7bb8f0aa272ceb84b85f367a63",
|
||||
"filesize": 498663424,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.5.1.15.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.4.1.2.qcow2",
|
||||
"version": "30.4.1.2",
|
||||
"md5sum": "133fa38bf80daec9e389729c96e692c0",
|
||||
"filesize": 454557696,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.4.1.2.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.3.1.6.qcow2",
|
||||
"version": "30.3.1.6",
|
||||
"md5sum": "edb86b406efe99434c6d5366d9bfa97f",
|
||||
"filesize": 448266240,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.3.1.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.2.1.8.qcow2",
|
||||
"version": "30.2.1.8",
|
||||
"md5sum": "4bdbf3ddff7a030e19c6bb71270b56d2",
|
||||
"filesize": 355205120,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.2.1.8.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.1.1.4.qcow2",
|
||||
"version": "30.1.1.4",
|
||||
"md5sum": "92d3f9b13d750f7bfa804823fa545772",
|
||||
"filesize": 383385600,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.1.1.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v22.7.1.2.qcow2",
|
||||
"version": "22.7.1.2",
|
||||
"md5sum": "a13e839b3fa05e8a5b0fb31f7e3dda86",
|
||||
"filesize": 180420608,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v22.7.1.2.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v21.1.1.4-disk1.qcow2",
|
||||
"version": "21.1.1.4",
|
||||
"md5sum": "654606809b6fd3bca400377483eb4a79",
|
||||
"filesize": 117560832,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v21.1.1.4-disk1.qcow2"
|
||||
|
||||
{
|
||||
"filename": "EXOS-VM_v32.6.3.126.qcow2",
|
||||
"version": "32.6.3.126",
|
||||
"md5sum": "5856b6c427bd605fe1c7adb6ee6b2659",
|
||||
"filesize": 236716032,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v32.6.3.126.qcow2"
|
||||
}
|
||||
|
||||
],
|
||||
|
||||
"versions": [
|
||||
|
||||
{
|
||||
"name": "32.1.1.6",
|
||||
"name": "32.6.3.126",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v32.1.1.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "31.7.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v31.7.1.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "31.1.1.3",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v31.1.1.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.7.1.1",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.7.1.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.6.1.11",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.6.1.11.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.5.1.15",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.5.1.15.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.4.1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.4.1.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.3.1.6",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.3.1.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.2.1.8",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.2.1.8.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.1.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.1.1.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "22.7.1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v22.7.1.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "21.1.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v21.1.1.4-disk1.qcow2"
|
||||
"hda_disk_image": "EXOS-VM_v32.6.3.126.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -29,6 +29,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
"md5sum": "33b2938e19a6cb61d4d64e6998a54d23",
|
||||
"filesize": 480096256,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.1-build2308-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -57,6 +64,13 @@
|
||||
"filesize": 340631552,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
"md5sum": "ae7ff37d00d0b518e9982a0785665fc2",
|
||||
"filesize": 349257728,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.9-build0489-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.9",
|
||||
@@ -78,6 +92,13 @@
|
||||
"filesize": 334184448,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
"md5sum": "1629d76776c9d625faee0304b5840c02",
|
||||
"filesize": 300683264,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v6.4.12-build2610-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.12",
|
||||
@@ -235,6 +256,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -263,6 +291,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.9",
|
||||
"images": {
|
||||
@@ -284,6 +319,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.12",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "e7517095c91dce1a76a9bcf114b5fa15",
|
||||
"filesize": 100728832,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.1.F-build2463-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -35,6 +42,13 @@
|
||||
"filesize": 116064256,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.7",
|
||||
"md5sum": "752b56844e464b0b135e57f72681c288",
|
||||
"filesize": 102760448,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.6.F-build1575-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.6",
|
||||
@@ -63,6 +77,13 @@
|
||||
"filesize": 86704128,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.14",
|
||||
"md5sum": "20c855889e1117902bcf448b30746d30",
|
||||
"filesize": 77398016,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.13.M-build0566-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.13",
|
||||
@@ -91,6 +112,13 @@
|
||||
"filesize": 77135872,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v6.4.15.M-build2095-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.15",
|
||||
"md5sum": "a0306a3905877de654dab7e1bb67089e",
|
||||
"filesize": 81592320,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v6.4.14.M-build2093-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
@@ -339,6 +367,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -346,6 +381,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.7",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.6",
|
||||
"images": {
|
||||
@@ -374,6 +416,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.13",
|
||||
"images": {
|
||||
@@ -402,6 +451,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.15",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v6.4.15.M-build2095-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"status": "stable",
|
||||
"maintainer": "Ean Towne",
|
||||
"maintainer_email": "ean.fortinet@gmail.com",
|
||||
"usage": "Default username is admin, no password is set.\n\n- Versions lower than 7.0.x require less CPU/RAM",
|
||||
"usage": "Default username is admin, no password is set.\n\n- Versions lower than 7.0.x require less CPU/RAM\n7.4.x may require 16GB RAM.",
|
||||
"symbol": "fortinet.svg",
|
||||
"port_name_format": "Port{port1}",
|
||||
"qemu": {
|
||||
@@ -29,6 +29,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
"md5sum": "36371fbf06210ded57c00b2ff290f2c5",
|
||||
"filesize": 322514944,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.1-build2308-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -57,6 +64,13 @@
|
||||
"filesize": 242814976,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
"md5sum": "7b166222136e26190159f37cccbaab6e",
|
||||
"filesize": 249360384,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.9-build0489-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.9",
|
||||
@@ -78,6 +92,13 @@
|
||||
"filesize": 237535232,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
"md5sum": "0fe56e363b166c07b710bde795e36049",
|
||||
"filesize": 219430912,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v6.4.12-build2610-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.12",
|
||||
@@ -235,6 +256,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -263,6 +291,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.9",
|
||||
"images": {
|
||||
@@ -284,6 +319,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.12",
|
||||
"images": {
|
||||
|
||||
@@ -24,13 +24,22 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FreeBSD-14.0-RELEASE-amd64.qcow2",
|
||||
"version": "14.0",
|
||||
"md5sum": "87b988eaa4a8aaabea1c10649c98b3f0",
|
||||
"filesize": 3506569216,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/releases/VM-IMAGES/14.0-RELEASE/amd64/Latest/FreeBSD-14.0-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
},
|
||||
{
|
||||
"filename": "FreeBSD-13.0-RELEASE-amd64.qcow2",
|
||||
"version": "13.0",
|
||||
"md5sum": "e8e598959da456c03260421b5f9890de",
|
||||
"filesize": 3466854400,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/13.0-RELEASE/amd64/Latest/FreeBSD-13.0-RELEASE-amd64.qcow2.xz",
|
||||
"direct_download_url": "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/VM-IMAGES/13.0-RELEASE/amd64/Latest/FreeBSD-13.0-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
},
|
||||
{
|
||||
@@ -39,11 +48,17 @@
|
||||
"md5sum": "3d7d5396f3d89ed30c2bfa2ee2e6b013",
|
||||
"filesize": 3412000768,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/12.3-RELEASE/amd64/Latest/FreeBSD-12.3-RELEASE-amd64.qcow2.xz",
|
||||
"direct_download_url": "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/VM-IMAGES/12.3-RELEASE/amd64/Latest/FreeBSD-12.3-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "14.0",
|
||||
"images": {
|
||||
"hda_disk_image": "FreeBSD-14.0-RELEASE-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "13.0",
|
||||
"images": {
|
||||
|
||||
@@ -27,6 +27,15 @@
|
||||
"options": "-nographic"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "chr-7.14.2.img",
|
||||
"version": "7.14.2",
|
||||
"md5sum": "531901dac85b67b23011e946a62abc7b",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.14.2/chr-7.14.2.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.11.2.img",
|
||||
"version": "7.11.2",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 1100AHx4 Dude Edition",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 450G",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 450Gx4",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -26,6 +26,14 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "openmediavault_7.0.32-amd64.iso",
|
||||
"version": "7.0.32",
|
||||
"md5sum": "36d1fda7de0c8dd6806a65145845d362",
|
||||
"filesize": 981467136,
|
||||
"download_url": "https://www.openmediavault.org/download.html",
|
||||
"direct_download_url": "https://sourceforge.net/projects/openmediavault/files/iso/7.0-32/openmediavault_7.0-32-amd64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "openmediavault_6.5.0-amd64.iso",
|
||||
"version": "6.5.0",
|
||||
@@ -68,6 +76,14 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.0.32",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "openmediavault_7.0.32-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.0",
|
||||
"images": {
|
||||
|
||||
@@ -16,6 +16,6 @@
|
||||
"docker": {
|
||||
"adapters": 16,
|
||||
"image": "gns3/openvswitch:latest",
|
||||
"environment": "MANAGEMENT_INTERFACE=1"
|
||||
"environment": "MANAGEMENT_INTERFACE=eth0"
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "OPNsense-24.1-nano-amd64.img",
|
||||
"version": "24.1",
|
||||
"md5sum": "ea8472df2c272419b7834cddaf68048d",
|
||||
"filesize": 3221225472,
|
||||
"download_url": "https://opnsense.c0urier.net/releases/24.1/"
|
||||
},
|
||||
{
|
||||
"filename": "OPNsense-23.1-OpenSSL-nano-amd64.img",
|
||||
"version": "23.1",
|
||||
@@ -62,6 +69,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.1",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-24.1-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "23.1",
|
||||
"images": {
|
||||
|
||||
@@ -19,11 +19,15 @@
|
||||
Docker server module.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import asyncio
|
||||
import logging
|
||||
import aiohttp
|
||||
import shutil
|
||||
import platformdirs
|
||||
|
||||
from gns3server.utils import parse_version
|
||||
from gns3server.utils.asyncio import locking
|
||||
from gns3server.compute.base_manager import BaseManager
|
||||
@@ -55,6 +59,62 @@ class Docker(BaseManager):
|
||||
self._session = None
|
||||
self._api_version = DOCKER_MINIMUM_API_VERSION
|
||||
|
||||
@staticmethod
|
||||
async def install_busybox(dst_dir):
|
||||
|
||||
dst_busybox = os.path.join(dst_dir, "bin", "busybox")
|
||||
if os.path.isfile(dst_busybox):
|
||||
return
|
||||
for busybox_exec in ("busybox-static", "busybox.static", "busybox"):
|
||||
busybox_path = shutil.which(busybox_exec)
|
||||
if busybox_path:
|
||||
try:
|
||||
# check that busybox is statically linked
|
||||
# (dynamically linked busybox will fail to run in a container)
|
||||
proc = await asyncio.create_subprocess_exec(
|
||||
"ldd",
|
||||
busybox_path,
|
||||
stdout=asyncio.subprocess.PIPE,
|
||||
stderr=asyncio.subprocess.DEVNULL
|
||||
)
|
||||
stdout, _ = await proc.communicate()
|
||||
if proc.returncode == 1:
|
||||
# ldd returns 1 if the file is not a dynamic executable
|
||||
log.info(f"Installing busybox from '{busybox_path}' to '{dst_busybox}'")
|
||||
shutil.copy2(busybox_path, dst_busybox, follow_symlinks=True)
|
||||
return
|
||||
else:
|
||||
log.warning(f"Busybox '{busybox_path}' is dynamically linked\n"
|
||||
f"{stdout.decode('utf-8', errors='ignore').strip()}")
|
||||
except OSError as e:
|
||||
raise DockerError(f"Could not install busybox: {e}")
|
||||
raise DockerError("No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH")
|
||||
|
||||
@staticmethod
|
||||
def resources_path():
|
||||
"""
|
||||
Get the Docker resources storage directory
|
||||
"""
|
||||
|
||||
appname = vendor = "GNS3"
|
||||
docker_resources_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "docker", "resources")
|
||||
os.makedirs(docker_resources_dir, exist_ok=True)
|
||||
return docker_resources_dir
|
||||
|
||||
async def install_resources(self):
|
||||
"""
|
||||
Copy the necessary resources to a writable location and install busybox
|
||||
"""
|
||||
|
||||
try:
|
||||
dst_path = self.resources_path()
|
||||
log.info(f"Installing Docker resources in '{dst_path}'")
|
||||
from gns3server.controller import Controller
|
||||
Controller.instance().install_resource_files(dst_path, "compute/docker/resources")
|
||||
await self.install_busybox(dst_path)
|
||||
except OSError as e:
|
||||
raise DockerError(f"Could not install Docker resources to {dst_path}: {e}")
|
||||
|
||||
async def _check_connection(self):
|
||||
|
||||
if not self._connected:
|
||||
@@ -135,7 +195,7 @@ class Docker(BaseManager):
|
||||
timeout = 60 * 60 * 24 * 31 # One month timeout
|
||||
|
||||
if path == 'version':
|
||||
url = "http://docker/v1.12/" + path # API of docker v1.0
|
||||
url = "http://docker/v1.24/" + path
|
||||
else:
|
||||
url = "http://docker/v" + DOCKER_MINIMUM_API_VERSION + "/" + path
|
||||
try:
|
||||
|
||||
@@ -242,10 +242,13 @@ class DockerVM(BaseNode):
|
||||
:returns: Return the path that we need to map to local folders
|
||||
"""
|
||||
|
||||
resources = get_resource("compute/docker/resources")
|
||||
if not os.path.exists(resources):
|
||||
raise DockerError("{} is missing can't start Docker containers".format(resources))
|
||||
binds = ["{}:/gns3:ro".format(resources)]
|
||||
try:
|
||||
resources_path = self.manager.resources_path()
|
||||
except OSError as e:
|
||||
raise DockerError(f"Cannot access resources: {e}")
|
||||
|
||||
log.info(f'Mount resources from "{resources_path}"')
|
||||
binds = ["{}:/gns3:ro".format(resources_path)]
|
||||
|
||||
# We mount our own etc/network
|
||||
try:
|
||||
@@ -460,6 +463,8 @@ class DockerVM(BaseNode):
|
||||
Starts this Docker container.
|
||||
"""
|
||||
|
||||
await self.manager.install_resources()
|
||||
|
||||
try:
|
||||
state = await self._get_container_state()
|
||||
except DockerHttp404Error:
|
||||
@@ -476,6 +481,9 @@ class DockerVM(BaseNode):
|
||||
await self._start_vnc_process(restart=True)
|
||||
monitor_process(self._vnc_process, self._vnc_callback)
|
||||
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
self._console_websocket = None
|
||||
await self._clean_servers()
|
||||
|
||||
await self.manager.query("POST", "containers/{}/start".format(self._cid))
|
||||
@@ -697,9 +705,7 @@ class DockerVM(BaseNode):
|
||||
|
||||
self._console_websocket = await self.manager.websocket_query("containers/{}/attach/ws?stream=1&stdin=1&stdout=1&stderr=1".format(self._cid))
|
||||
input_stream.ws = self._console_websocket
|
||||
|
||||
output_stream.feed_data(self.name.encode() + b" console is now available... Press RETURN to get started.\r\n")
|
||||
|
||||
asyncio.ensure_future(self._read_console_output(self._console_websocket, output_stream))
|
||||
|
||||
async def _read_console_output(self, ws, out):
|
||||
@@ -722,13 +728,14 @@ class DockerVM(BaseNode):
|
||||
out.feed_eof()
|
||||
await ws.close()
|
||||
break
|
||||
await self.stop()
|
||||
|
||||
async def reset_console(self):
|
||||
"""
|
||||
Reset the console.
|
||||
"""
|
||||
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
await self._clean_servers()
|
||||
await self._start_console()
|
||||
|
||||
@@ -773,6 +780,9 @@ class DockerVM(BaseNode):
|
||||
"""
|
||||
|
||||
try:
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
self._console_websocket = None
|
||||
await self._clean_servers()
|
||||
await self._stop_ubridge()
|
||||
|
||||
|
||||
@@ -226,7 +226,7 @@ class Qemu(BaseManager):
|
||||
else:
|
||||
try:
|
||||
output = await subprocess_check_output(qemu_path, "-version", "-nographic")
|
||||
match = re.search("version\s+([0-9a-z\-\.]+)", output)
|
||||
match = re.search(r"version\s+([0-9a-z\-\.]+)", output)
|
||||
if match:
|
||||
version = match.group(1)
|
||||
return version
|
||||
|
||||
@@ -701,7 +701,7 @@ class VMware(BaseManager):
|
||||
path = ctypes.create_unicode_buffer(ctypes.wintypes.MAX_PATH)
|
||||
ctypes.windll.shell32.SHGetFolderPathW(None, 5, None, 0, path)
|
||||
documents_folder = path.value
|
||||
return ['{}\My Virtual Machines'.format(documents_folder), '{}\Virtual Machines'.format(documents_folder)]
|
||||
return [r'{}\My Virtual Machines'.format(documents_folder), r'{}\Virtual Machines'.format(documents_folder)]
|
||||
elif sys.platform.startswith("darwin"):
|
||||
return [os.path.expanduser("~/Documents/Virtual Machines.localized")]
|
||||
else:
|
||||
|
||||
@@ -300,6 +300,9 @@ class Controller:
|
||||
if entry.is_file() and not os.path.exists(full_path):
|
||||
log.debug(f'Installing {resource_name} resource file "{entry.name}" to "{full_path}"')
|
||||
shutil.copy(str(entry), os.path.join(dst_path, entry.name))
|
||||
elif entry.is_dir():
|
||||
os.makedirs(full_path, exist_ok=True)
|
||||
Controller.install_resource_files(full_path, os.path.join(resource_name, entry.name))
|
||||
|
||||
def _install_base_configs(self):
|
||||
"""
|
||||
|
||||
@@ -484,7 +484,7 @@ class Compute:
|
||||
return self._getUrl(path)
|
||||
|
||||
async def _run_http_query(self, method, path, data=None, timeout=20, raw=False):
|
||||
with async_timeout.timeout(timeout):
|
||||
async with async_timeout.timeout(delay=timeout):
|
||||
url = self._getUrl(path)
|
||||
headers = {}
|
||||
headers['content-type'] = 'application/json'
|
||||
|
||||
@@ -83,6 +83,11 @@ async def export_project(zstream, project, temporary_dir, include_images=False,
|
||||
continue
|
||||
_patch_mtime(path)
|
||||
zstream.write(path, os.path.relpath(path, project._path))
|
||||
# save empty directories
|
||||
for directory in dirs:
|
||||
path = os.path.join(root, directory)
|
||||
if not os.listdir(path):
|
||||
zstream.write(path, os.path.relpath(path, project._path))
|
||||
except FileNotFoundError as e:
|
||||
log.warning("Cannot export local file: {}".format(e))
|
||||
continue
|
||||
|
||||
@@ -52,15 +52,15 @@ class Snapshot:
|
||||
self._project = project
|
||||
if name:
|
||||
self._name = name
|
||||
self._created_at = datetime.now().timestamp()
|
||||
filename = self._name + "_" + datetime.utcfromtimestamp(self._created_at).replace(tzinfo=None).strftime(FILENAME_TIME_FORMAT) + ".gns3project"
|
||||
self._created_at = datetime.now(timezone.utc).timestamp()
|
||||
filename = self._name + "_" + datetime.fromtimestamp(self._created_at, tz=timezone.utc).replace(tzinfo=None).strftime(FILENAME_TIME_FORMAT) + ".gns3project"
|
||||
else:
|
||||
self._name = filename.split("_")[0]
|
||||
datestring = filename.replace(self._name + "_", "").split(".")[0]
|
||||
try:
|
||||
self._created_at = datetime.strptime(datestring, FILENAME_TIME_FORMAT).replace(tzinfo=timezone.utc).timestamp()
|
||||
except ValueError:
|
||||
self._created_at = datetime.utcnow().timestamp()
|
||||
self._created_at = datetime.now(timezone.utc)
|
||||
self._path = os.path.join(project.path, "snapshots", filename)
|
||||
|
||||
@property
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
|
||||
CLASSIC_SYMBOL_THEME = {"cloud": ":/symbols/classic/cloud.svg",
|
||||
"nat": ":/symbols/classic/nat.svg",
|
||||
"ethernet_switch": ":/symbols/classic/ethernet_switch.svg",
|
||||
"ethernet_hub": ":/symbols/classic/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/classic/frame_relay_switch.svg",
|
||||
@@ -32,6 +33,7 @@ CLASSIC_SYMBOL_THEME = {"cloud": ":/symbols/classic/cloud.svg",
|
||||
"docker_guest": ":/symbols/classic/docker_guest.svg"}
|
||||
|
||||
AFFINITY_SQUARE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/blue/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/blue/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/blue/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/blue/hub.svg",
|
||||
"frame_relay_switch.svg": ":/symbols/affinity/square/blue/isdn.svg",
|
||||
@@ -47,6 +49,7 @@ AFFINITY_SQUARE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/blue/cl
|
||||
"docker_guest": ":/symbols/affinity/square/blue/docker.svg"}
|
||||
|
||||
AFFINITY_SQUARE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/red/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/red/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/red/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/red/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/square/red/isdn.svg",
|
||||
@@ -62,6 +65,7 @@ AFFINITY_SQUARE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/red/clou
|
||||
"docker_guest": ":/symbols/affinity/square/red/docker.svg"}
|
||||
|
||||
AFFINITY_SQUARE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/gray/cloud.svg",
|
||||
"nat": ":/symbols/affinity/square/gray/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/square/gray/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/square/gray/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/square/gray/isdn.svg",
|
||||
@@ -77,6 +81,7 @@ AFFINITY_SQUARE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/gray/cl
|
||||
"docker_guest": ":/symbols/affinity/square/gray/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/blue/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/blue/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/blue/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/blue/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/blue/isdn.svg",
|
||||
@@ -92,6 +97,7 @@ AFFINITY_CIRCLE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/blue/cl
|
||||
"docker_guest": ":/symbols/affinity/circle/blue/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/red/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/red/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/red/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/red/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/red/isdn.svg",
|
||||
@@ -107,6 +113,7 @@ AFFINITY_CIRCLE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/red/clou
|
||||
"docker_guest": ":/symbols/affinity/circle/red/docker.svg"}
|
||||
|
||||
AFFINITY_CIRCLE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/gray/cloud.svg",
|
||||
"nat": ":/symbols/affinity/circle/gray/nat.svg",
|
||||
"ethernet_switch": ":/symbols/affinity/circle/gray/switch.svg",
|
||||
"ethernet_hub": ":/symbols/affinity/circle/gray/hub.svg",
|
||||
"frame_relay_switch": ":/symbols/affinity/circle/gray/isdn.svg",
|
||||
|
||||
@@ -63,7 +63,7 @@ class TemplateManager:
|
||||
builtins = []
|
||||
if Config.instance().get_section_config("Server").getboolean("enable_builtin_templates", True):
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "cloud"), {"template_type": "cloud", "name": "Cloud", "default_name_format": "Cloud{0}", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"template_type": "nat", "name": "NAT", "default_name_format": "NAT{0}", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"template_type": "nat", "name": "NAT", "default_name_format": "NAT{0}", "category": 2, "symbol": ":/symbols/nat.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"template_type": "vpcs", "name": "VPCS", "default_name_format": "PC{0}", "category": 2, "symbol": ":/symbols/vpcs_guest.svg", "properties": {"base_script_file": "vpcs_base_config.txt"}}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_switch"), {"template_type": "ethernet_switch", "console_type": "none", "name": "Ethernet switch", "default_name_format": "Switch{0}", "category": 1, "symbol": ":/symbols/ethernet_switch.svg"}, builtin=True))
|
||||
builtins.append(Template(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_hub"), {"template_type": "ethernet_hub", "name": "Ethernet hub", "default_name_format": "Hub{0}", "category": 1, "symbol": ":/symbols/hub.svg"}, builtin=True))
|
||||
|
||||
@@ -189,7 +189,7 @@ class UDPLink(Link):
|
||||
:returns: Node where the capture should run
|
||||
"""
|
||||
|
||||
ALWAYS_RUNNING_NODES_TYPE = ("cloud", "nat", "ethernet_switch", "ethernet_hub")
|
||||
ALWAYS_RUNNING_NODES_TYPE = ("cloud", "nat", "ethernet_switch", "ethernet_hub", "frame_relay_switch", "atm_switch")
|
||||
|
||||
for node in self._nodes:
|
||||
if node["node"].compute.id == "local" and node["node"].node_type in ALWAYS_RUNNING_NODES_TYPE and node["node"].status == "started":
|
||||
|
||||
@@ -57,7 +57,7 @@ class CrashReport:
|
||||
Report crash to a third party service
|
||||
"""
|
||||
|
||||
DSN = "https://ffea69bec1b4f934d815234ea0046382@o19455.ingest.sentry.io/38482"
|
||||
DSN = "https://ec32b24c329df619c8b9b1c58cfedcdb@o19455.ingest.us.sentry.io/38482"
|
||||
_instance = None
|
||||
|
||||
def __init__(self):
|
||||
|
||||
@@ -268,7 +268,7 @@ class ATMSwitchHandler:
|
||||
response.json({"pcap_file_path": pcap_file_path})
|
||||
|
||||
@Route.post(
|
||||
r"/projects/{project_id}/atm_relay_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture",
|
||||
r"/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture",
|
||||
parameters={
|
||||
"project_id": "Project UUID",
|
||||
"node_id": "Node UUID",
|
||||
@@ -290,7 +290,7 @@ class ATMSwitchHandler:
|
||||
response.set_status(204)
|
||||
|
||||
@Route.get(
|
||||
r"/projects/{project_id}/atm_relay_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/pcap",
|
||||
r"/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/pcap",
|
||||
description="Stream the pcap capture file",
|
||||
parameters={
|
||||
"project_id": "Project UUID",
|
||||
|
||||
@@ -235,9 +235,9 @@ def run():
|
||||
return
|
||||
log.info("HTTP authentication is enabled with username '{}'".format(user))
|
||||
|
||||
# we only support Python 3 version >= 3.6
|
||||
if sys.version_info < (3, 6, 0):
|
||||
raise SystemExit("Python 3.6 or higher is required")
|
||||
# we only support Python 3 version >= 3.8
|
||||
if sys.version_info < (3, 8, 0):
|
||||
raise SystemExit("Python 3.8 or higher is required")
|
||||
|
||||
user_log.info("Running with Python {major}.{minor}.{micro} and has PID {pid}".format(major=sys.version_info[0], minor=sys.version_info[1],
|
||||
micro=sys.version_info[2], pid=os.getpid()))
|
||||
|
||||
@@ -46,6 +46,6 @@
|
||||
|
||||
gtag('config', 'G-5D6FZL9923');
|
||||
</script>
|
||||
<script src="runtime.ecefb4ce510d1c218e7d.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.054d2e56a89c0b6f1b49.js" defer></script>
|
||||
<script src="runtime.415291667f70565cd8ef.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.0e7dc9152b2aa567227c.js" defer></script>
|
||||
|
||||
</body></html>
|
||||
@@ -1 +0,0 @@
|
||||
(self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[]).push([[179],{98255:function(ue){function q(f){return Promise.resolve().then(function(){var B=new Error("Cannot find module '"+f+"'");throw B.code="MODULE_NOT_FOUND",B})}q.keys=function(){return[]},q.resolve=q,q.id=98255,ue.exports=q},82908:function(ue){ue.exports=function(f,B){(null==B||B>f.length)&&(B=f.length);for(var U=0,V=new Array(B);U<B;U++)V[U]=f[U];return V},ue.exports.default=ue.exports,ue.exports.__esModule=!0},36457:function(ue){ue.exports=function(f){if(Array.isArray(f))return f},ue.exports.default=ue.exports,ue.exports.__esModule=!0},35036:function(ue){ue.exports=function(f,B){var U=null==f?null:"undefined"!=typeof Symbol&&f[Symbol.iterator]||f["@@iterator"];if(null!=U){var N,b,V=[],Z=!0,w=!1;try{for(U=U.call(f);!(Z=(N=U.next()).done)&&(V.push(N.value),!B||V.length!==B);Z=!0);}catch(_){w=!0,b=_}finally{try{!Z&&null!=U.return&&U.return()}finally{if(w)throw b}}return V}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},13969:function(ue){ue.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},ue.exports.default=ue.exports,ue.exports.__esModule=!0},6326:function(ue,q,f){var B=f(36457),U=f(35036),V=f(54850),Z=f(13969);ue.exports=function(N,b){return B(N)||U(N,b)||V(N,b)||Z()},ue.exports.default=ue.exports,ue.exports.__esModule=!0},54850:function(ue,q,f){var B=f(82908);ue.exports=function(V,Z){if(V){if("string"==typeof V)return B(V,Z);var w=Object.prototype.toString.call(V).slice(8,-1);if("Object"===w&&V.constructor&&(w=V.constructor.name),"Map"===w||"Set"===w)return Array.from(V);if("Arguments"===w||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return B(V,Z)}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},26552:function(ue,q,f){ue.exports=f(55590)},61855:function(ue,q,f){"use strict";f.d(q,{ZT:function(){return U},mG:function(){return _},Jh:function(){return I},ev:function(){return R}});var B=function($,ae){return(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(se,ce){se.__proto__=ce}||function(se,ce){for(var le in ce)Object.prototype.hasOwnProperty.call(ce,le)&&(se[le]=ce[le])})($,ae)};function U($,ae){if("function"!=typeof ae&&null!==ae)throw new TypeError("Class extends value "+String(ae)+" is not a constructor or null");function se(){this.constructor=$}B($,ae),$.prototype=null===ae?Object.create(ae):(se.prototype=ae.prototype,new se)}function _($,ae,se,ce){return new(se||(se=Promise))(function(oe,Ae){function be(_t){try{qe(ce.next(_t))}catch(yt){Ae(yt)}}function it(_t){try{qe(ce.throw(_t))}catch(yt){Ae(yt)}}function qe(_t){_t.done?oe(_t.value):function(oe){return oe instanceof se?oe:new se(function(Ae){Ae(oe)})}(_t.value).then(be,it)}qe((ce=ce.apply($,ae||[])).next())})}function I($,ae){var ce,le,oe,Ae,se={label:0,sent:function(){if(1&oe[0])throw oe[1];return oe[1]},trys:[],ops:[]};return Ae={next:be(0),throw:be(1),return:be(2)},"function"==typeof Symbol&&(Ae[Symbol.iterator]=function(){return this}),Ae;function be(qe){return function(_t){return function(qe){if(ce)throw new TypeError("Generator is already executing.");for(;se;)try{if(ce=1,le&&(oe=2&qe[0]?le.return:qe[0]?le.throw||((oe=le.return)&&oe.call(le),0):le.next)&&!(oe=oe.call(le,qe[1])).done)return oe;switch(le=0,oe&&(qe=[2&qe[0],oe.value]),qe[0]){case 0:case 1:oe=qe;break;case 4:return se.label++,{value:qe[1],done:!1};case 5:se.label++,le=qe[1],qe=[0];continue;case 7:qe=se.ops.pop(),se.trys.pop();continue;default:if(!(oe=(oe=se.trys).length>0&&oe[oe.length-1])&&(6===qe[0]||2===qe[0])){se=0;continue}if(3===qe[0]&&(!oe||qe[1]>oe[0]&&qe[1]<oe[3])){se.label=qe[1];break}if(6===qe[0]&&se.label<oe[1]){se.label=oe[1],oe=qe;break}if(oe&&se.label<oe[2]){se.label=oe[2],se.ops.push(qe);break}oe[2]&&se.ops.pop(),se.trys.pop();continue}qe=ae.call($,se)}catch(_t){qe=[6,_t],le=0}finally{ce=oe=0}if(5&qe[0])throw qe[1];return{value:qe[0]?qe[1]:void 0,done:!0}}([qe,_t])}}}function R($,ae,se){if(se||2===arguments.length)for(var oe,ce=0,le=ae.length;ce<le;ce++)(oe||!(ce in ae))&&(oe||(oe=Array.prototype.slice.call(ae,0,ce)),oe[ce]=ae[ce]);return $.concat(oe||Array.prototype.slice.call(ae))}},739:function(ue,q,f){"use strict";f.d(q,{l3:function(){return w},_j:function(){return V},LC:function(){return Z},ZN:function(){return O},jt:function(){return b},pV:function(){return T},F4:function(){return S},IO:function(){return k},vP:function(){return I},SB:function(){return A},oB:function(){return D},eR:function(){return v},X$:function(){return N},ZE:function(){return F},k1:function(){return z}});var B=f(14105),U=f(18967),V=function K(){(0,U.Z)(this,K)},Z=function K(){(0,U.Z)(this,K)},w="*";function N(K,j){return{type:7,name:K,definitions:j,options:{}}}function b(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:j,timings:K}}function I(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
(self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[]).push([[179],{98255:function(ue){function q(f){return Promise.resolve().then(function(){var B=new Error("Cannot find module '"+f+"'");throw B.code="MODULE_NOT_FOUND",B})}q.keys=function(){return[]},q.resolve=q,q.id=98255,ue.exports=q},82908:function(ue){ue.exports=function(f,B){(null==B||B>f.length)&&(B=f.length);for(var U=0,V=new Array(B);U<B;U++)V[U]=f[U];return V},ue.exports.default=ue.exports,ue.exports.__esModule=!0},36457:function(ue){ue.exports=function(f){if(Array.isArray(f))return f},ue.exports.default=ue.exports,ue.exports.__esModule=!0},35036:function(ue){ue.exports=function(f,B){var U=null==f?null:"undefined"!=typeof Symbol&&f[Symbol.iterator]||f["@@iterator"];if(null!=U){var N,b,V=[],Z=!0,w=!1;try{for(U=U.call(f);!(Z=(N=U.next()).done)&&(V.push(N.value),!B||V.length!==B);Z=!0);}catch(_){w=!0,b=_}finally{try{!Z&&null!=U.return&&U.return()}finally{if(w)throw b}}return V}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},13969:function(ue){ue.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},ue.exports.default=ue.exports,ue.exports.__esModule=!0},6326:function(ue,q,f){var B=f(36457),U=f(35036),V=f(54850),Z=f(13969);ue.exports=function(N,b){return B(N)||U(N,b)||V(N,b)||Z()},ue.exports.default=ue.exports,ue.exports.__esModule=!0},54850:function(ue,q,f){var B=f(82908);ue.exports=function(V,Z){if(V){if("string"==typeof V)return B(V,Z);var w=Object.prototype.toString.call(V).slice(8,-1);if("Object"===w&&V.constructor&&(w=V.constructor.name),"Map"===w||"Set"===w)return Array.from(V);if("Arguments"===w||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return B(V,Z)}},ue.exports.default=ue.exports,ue.exports.__esModule=!0},26552:function(ue,q,f){ue.exports=f(55590)},61855:function(ue,q,f){"use strict";f.d(q,{ZT:function(){return U},mG:function(){return _},Jh:function(){return I},ev:function(){return R}});var B=function($,ae){return(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(se,ce){se.__proto__=ce}||function(se,ce){for(var le in ce)Object.prototype.hasOwnProperty.call(ce,le)&&(se[le]=ce[le])})($,ae)};function U($,ae){if("function"!=typeof ae&&null!==ae)throw new TypeError("Class extends value "+String(ae)+" is not a constructor or null");function se(){this.constructor=$}B($,ae),$.prototype=null===ae?Object.create(ae):(se.prototype=ae.prototype,new se)}function _($,ae,se,ce){return new(se||(se=Promise))(function(oe,Ae){function be(_t){try{qe(ce.next(_t))}catch(yt){Ae(yt)}}function it(_t){try{qe(ce.throw(_t))}catch(yt){Ae(yt)}}function qe(_t){_t.done?oe(_t.value):function(oe){return oe instanceof se?oe:new se(function(Ae){Ae(oe)})}(_t.value).then(be,it)}qe((ce=ce.apply($,ae||[])).next())})}function I($,ae){var ce,le,oe,Ae,se={label:0,sent:function(){if(1&oe[0])throw oe[1];return oe[1]},trys:[],ops:[]};return Ae={next:be(0),throw:be(1),return:be(2)},"function"==typeof Symbol&&(Ae[Symbol.iterator]=function(){return this}),Ae;function be(qe){return function(_t){return function(qe){if(ce)throw new TypeError("Generator is already executing.");for(;se;)try{if(ce=1,le&&(oe=2&qe[0]?le.return:qe[0]?le.throw||((oe=le.return)&&oe.call(le),0):le.next)&&!(oe=oe.call(le,qe[1])).done)return oe;switch(le=0,oe&&(qe=[2&qe[0],oe.value]),qe[0]){case 0:case 1:oe=qe;break;case 4:return se.label++,{value:qe[1],done:!1};case 5:se.label++,le=qe[1],qe=[0];continue;case 7:qe=se.ops.pop(),se.trys.pop();continue;default:if(!(oe=(oe=se.trys).length>0&&oe[oe.length-1])&&(6===qe[0]||2===qe[0])){se=0;continue}if(3===qe[0]&&(!oe||qe[1]>oe[0]&&qe[1]<oe[3])){se.label=qe[1];break}if(6===qe[0]&&se.label<oe[1]){se.label=oe[1],oe=qe;break}if(oe&&se.label<oe[2]){se.label=oe[2],se.ops.push(qe);break}oe[2]&&se.ops.pop(),se.trys.pop();continue}qe=ae.call($,se)}catch(_t){qe=[6,_t],le=0}finally{ce=oe=0}if(5&qe[0])throw qe[1];return{value:qe[0]?qe[1]:void 0,done:!0}}([qe,_t])}}}function R($,ae,se){if(se||2===arguments.length)for(var oe,ce=0,le=ae.length;ce<le;ce++)(oe||!(ce in ae))&&(oe||(oe=Array.prototype.slice.call(ae,0,ce)),oe[ce]=ae[ce]);return $.concat(oe||Array.prototype.slice.call(ae))}},739:function(ue,q,f){"use strict";f.d(q,{l3:function(){return w},_j:function(){return V},LC:function(){return Z},ZN:function(){return O},jt:function(){return b},pV:function(){return T},F4:function(){return S},IO:function(){return k},vP:function(){return I},SB:function(){return A},oB:function(){return D},eR:function(){return v},X$:function(){return N},ZE:function(){return F},k1:function(){return z}});var B=f(14105),U=f(18967),V=function K(){(0,U.Z)(this,K)},Z=function K(){(0,U.Z)(this,K)},w="*";function N(K,j){return{type:7,name:K,definitions:j,options:{}}}function b(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:j,timings:K}}function I(K){var j=arguments.length>1&&void 0!==arguments[1]?arguments[1]Line truncated
|
||||
@@ -1 +1 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".49028ab13de5de406c90.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".77d4bfd104f37c42e028.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
||||
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 125.73252,227.39216 C 162.6821,181.25328 159.68479,109.80627 119.01184,67.8525 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085569 51.05025,132.713399 7.72895,186.632269 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" /><path
|
||||
d="M 55.837588,106.71509 H 105.55874 L 95.373313,97.858202 H 111.1846 l 15.82341,13.759468 -15.82341,13.75882 H 95.389703 l 10.317287,-8.97155 H 55.837588 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="M 55.837592,146.71508 H 105.55874 L 95.373313,137.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 185.83759,146.71508 h 49.72115 l -10.18542,-8.85689 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="M 55.837592,186.71508 H 105.55874 L 95.373313,177.85819 H 111.1846 l 15.82341,13.75947 -15.82341,13.75883 H 95.389703 l 10.317287,-8.97155 H 55.837592 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
sodipodi:docname="nat2.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="defs12" /><sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg8" />
|
||||
<circle
|
||||
cx="150"
|
||||
cy="150"
|
||||
r="150"
|
||||
style="fill:#fffefe"
|
||||
id="circle2" />
|
||||
<path
|
||||
d="M150 0c82.787 0 150 67.213 150 150s-67.213 150-150 150S0 232.787 0 150 67.213 0 150 0Zm0 16c73.957 0 134 60.043 134 134s-60.043 134-134 134S16 223.957 16 150 76.043 16 150 16Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="M93.524 228.429c-.175.003-.349.004-.524.004-21.764 0-39.433-17.669-39.433-39.433 0-19.528 14.227-35.76 32.872-38.888.478-34.678 28.775-62.679 63.561-62.679s63.083 28.001 63.561 62.679c18.645 3.128 32.872 19.36 32.872 38.888 0 21.764-17.669 39.433-39.433 39.433-.273 0-.545-.003-.815-.009v.005H93.524ZM93 215h114c14.037 0 25.433-11.396 25.433-25.433 0-12.32-8.779-22.606-20.417-24.937l-.223-.044-.086-.015-.225-.042-.087-.015-.225-.039-.091-.014-.223-.035-.095-.014-.22-.032-.102-.014-.214-.028-.11-.014-.207-.025-.12-.013-.198-.021-.13-.012-.19-.018-.14-.012-.181-.015-.151-.01-.171-.012-.162-.009-.161-.01-.174-.007-.15-.007-.19-.006-.136-.004-.215-.004-.111-.002-.328-.003-.318.002-.106.002-.212.004-.126.004-.19.006-.134.006-.182.008-.138.007-.176.01-.141.009-.173.013-.142.011-.17.014-.143.012-.169.016-.143.015-.168.018-.143.016-.166.02-.143.018-.166.022-.142.02-.167.024-.14.021-.168.027-.137.022-.178.031-.126.021-.295.055-.144.029-.157.031-.153.032-.146.031-.156.034-.141.032-.159.037-.138.033-.159.039-.135.034-.16.042-.134.035-.16.043-.131.037-.161.045-.13.038-.161.048-.127.039-.162.05-.125.039-.163.053-.122.04-.163.055-.119.041-.166.058-.113.04-.169.062-.087.032-.188.07-.147.057-.075.03A49.912 49.912 0 0 0 200 151c0-27.596-22.404-50-50-50s-50 22.404-50 50c0 5.18.789 10.177 2.253 14.874l-.075-.03-.147-.057-.188-.07-.087-.032-.169-.062-.113-.04-.166-.058-.119-.041-.163-.055-.122-.04-.163-.053-.125-.039-.162-.05-.127-.039-.161-.048-.13-.038-.161-.045-.131-.037-.16-.043-.134-.035-.16-.042-.135-.034-.159-.039-.138-.033-.159-.037-.141-.032-.156-.034-.146-.031-.153-.032-.157-.031-.144-.029-.295-.055-.126-.021-.178-.031-.137-.022-.168-.027-.14-.021-.167-.024-.142-.02-.166-.022-.143-.018-.166-.02-.143-.016-.168-.018-.143-.015-.169-.016-.143-.012-.17-.014-.142-.011-.173-.013-.141-.009-.176-.01-.138-.007-.182-.008-.134-.006-.19-.006-.126-.004-.212-.004-.106-.002-.318-.002-.328.003-.111.002-.215.004-.136.004-.19.006-.15.007-.174.007-.161.01-.162.009-.171.012-.151.01-.181.015-.14.012-.19.018-.13.012-.198.021-.12.013-.207.025-.11.014-.214.028-.102.014-.22.032-.095.014-.223.035-.091.014-.225.039-.087.015-.225.042-.086.015-.223.044c-11.638 2.331-20.417 12.617-20.417 24.937C67.567 203.604 78.963 215 93 215Z"
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="matrix(1.0372 0 0 .99188 -5.58 -13.784)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 114.18486,133.39431 h 50.31577 L 154.19339,122.4189 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="m 186.32326,162.03715 h -50.31577 l 10.30725,-10.97542 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958275"
|
||||
inkscape:cy="30"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#2d67b9"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#2d67b9;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#4d4d4d;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#4d4d4d;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#109e00;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#109e00;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg18" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" /><path
|
||||
d="m 126.0992,224.81393 c 36.94958,-46.13888 33.95227,-117.5859 -6.72068,-159.539672 l -0.0404,-0.0415 a 8.4262645,9.5474485 0 0 1 -0.51796,-13.437497 c 3.1284,-3.89368 8.4597,-4.177124 11.89613,-0.632472 47.587,49.085571 51.05025,132.713411 7.72895,186.632281 -3.1284,3.89367 -8.45969,4.17712 -11.89613,0.63246 a 8.4262645,9.5474485 0 0 1 -0.5582,-13.47898 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:1.37905;stroke-linejoin:round;stroke-miterlimit:2;fill-opacity:1"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
|
||||
<path
|
||||
d="M 56.204265,104.13685 H 105.92542 L 95.739989,95.27996 h 15.811291 l 15.82341,13.75947 -15.82341,13.75883 H 95.756379 l 10.317291,-8.97155 H 56.204265 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3" /><path
|
||||
d="m 56.204269,144.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5" /><path
|
||||
d="m 186.20427,144.13685 h 49.72115 L 225.74,135.27996 h 15.81128 l 15.82341,13.75947 -15.82341,13.75883 h -15.79489 l 10.31728,-8.97155 h -49.8694 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-2" /><path
|
||||
d="m 56.204269,184.13685 h 49.721151 l -10.185427,-8.85689 h 15.811287 l 15.82341,13.75947 -15.82341,13.75883 H 95.756383 l 10.317287,-8.97155 H 56.204269 Z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.664657;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-3-5-6" /></svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="60"
|
||||
height="60"
|
||||
viewBox="0 0 300 300"
|
||||
xml:space="preserve"
|
||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
||||
version="1.1"
|
||||
id="svg18"
|
||||
sodipodi:docname="nat2.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="defs22" /><sodipodi:namedview
|
||||
id="namedview20"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="11.983333"
|
||||
inkscape:cx="29.958276"
|
||||
inkscape:cy="30.000001"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g16" />
|
||||
<path
|
||||
d="M300 30.271C300 13.564 286.436 0 269.729 0H30.271C13.564 0 0 13.564 0 30.271v239.458C0 286.436 13.564 300 30.271 300h239.458C286.436 300 300 286.436 300 269.729V30.271Z"
|
||||
style="fill:#fffefe"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m269.925.001.195.001.39.008.195.005.194.007.194.008.193.009.386.022.193.013.192.014.192.016.191.016.192.018.191.018.19.02.38.044.19.023.189.025.188.026.189.027.188.028.187.029.188.031.186.031.187.033.186.034.186.035.185.036.185.037.368.078.184.041.183.042.183.043.182.043.364.092.181.047.18.048.181.05.179.05.18.052.179.052.178.054.178.055.177.056.177.057.177.058.176.059.175.06.175.061.175.062.174.063.174.064.173.066.172.066.172.067.172.068.171.07.17.07.17.071.17.073.169.073.168.074.168.076.167.076.167.077.332.158.165.08.165.081.164.083.163.083.163.084.162.085.162.086.161.087.161.088.16.088.159.09.159.091.316.184.157.094.156.094.156.095.155.096.308.196.306.198.152.101.302.204.15.104.149.104.149.105.148.106.294.214.146.109.145.109.145.111.144.111.143.112.143.113.142.113.282.23.139.116.14.117.276.236.137.12.136.12.135.121.135.122.134.122.134.124.132.124.132.125.131.125.26.254.129.128.128.129.254.26.125.131.125.132.124.132.124.134.122.134.122.135.121.135.12.136.12.137.236.276.117.14.116.139.23.282.113.142.113.143.112.143.111.144.111.145.109.145.109.146.214.294.106.148.105.149.104.149.104.15.204.302.101.152.198.306.196.308.096.155.095.156.094.156.094.157.184.316.091.159.09.159.088.16.088.161.087.161.086.162.085.162.084.163.083.163.083.164.081.165.08.165.158.332.077.167.076.167.076.168.074.168.073.169.073.17.071.17.07.17.07.171.068.172.067.172.066.172.066.173.064.174.063.174.062.175.061.175.06.175.059.176.058.177.057.177.056.177.055.178.054.178.052.179.052.18.05.179.05.181.048.18.047.181.092.364.043.182.043.183.042.183.041.184.078.368.037.185.036.185.035.186.034.186.033.187.031.186.031.188.029.187.028.188.027.189.026.188.025.189.023.19.044.38.02.19.018.191.018.192.016.191.016.192.014.192.013.193.022.386.009.193.008.194.007.194.005.195.008.39.002.391v239.458l-.001.196-.001.195-.004.195-.004.195-.005.195-.007.194-.008.194-.009.193-.011.193-.011.193-.013.193-.014.192-.016.192-.016.191-.018.192-.018.191-.02.19-.022.19-.022.19-.023.19-.025.189-.026.188-.027.189-.028.188-.029.187-.031.188-.031.186-.033.187-.034.186-.035.186-.036.185-.037.185-.039.184-.039.184-.041.184-.042.183-.043.183-.043.182-.046.182-.046.182-.047.181-.048.18-.05.181-.05.179-.052.18-.052.179-.054.178-.055.178-.056.177-.057.177-.058.177-.059.176-.06.175-.061.175-.062.175-.063.174-.064.174-.066.173-.066.172-.067.172-.068.172-.07.171-.07.17-.071.17-.073.17-.073.169-.074.168-.076.168-.076.167-.077.167-.079.166-.079.166-.08.165-.081.165-.083.164-.083.163-.084.163-.085.162-.086.162-.087.161-.088.161-.088.16-.09.159-.091.159-.092.158-.092.158-.094.157-.094.156-.095.156-.096.155-.098.154-.098.154-.099.153-.099.153-.101.152-.102.151-.102.151-.104.15-.104.149-.105.149-.106.148-.107.147-.107.147-.109.146-.109.145-.111.145-.111.144-.112.143-.113.143-.113.142-.115.141-.115.141-.116.139-.117.14-.118.138-.118.138-.12.137-.12.136-.121.135-.122.135-.122.134-.124.134-.124.132-.125.132-.125.131-.127.13-.127.13-.128.129-.129.128-.13.127-.13.127-.131.125-.132.125-.132.124-.134.124-.134.122-.135.122-.135.121-.136.12-.137.12-.138.118-.138.118-.14.117-.139.116-.141.115-.141.115-.142.113-.143.113-.143.112-.144.111-.145.111-.145.109-.146.109-.147.107-.147.107-.148.106-.149.105-.149.104-.15.104-.151.102-.151.102-.152.101-.153.099-.153.099-.154.098-.154.098-.155.096-.156.095-.156.094-.157.094-.158.092-.158.092-.159.091-.159.09-.16.088-.161.088-.161.087-.162.086-.162.085-.163.084-.163.083-.164.083-.165.081-.165.08-.166.079-.166.079-.167.077-.167.076-.168.076-.168.074-.169.073-.17.073-.17.071-.17.07-.171.07-.172.068-.172.067-.172.066-.173.066-.174.064-.174.063-.175.062-.175.061-.175.06-.176.059-.177.058-.177.057-.177.056-.178.055-.178.054-.179.052-.18.052-.179.05-.181.05-.18.048-.181.047-.182.046-.182.046-.182.043-.183.043-.183.042-.184.041-.184.039-.184.039-.185.037-.185.036-.186.035-.186.034-.187.033-.186.031-.188.031-.187.029-.188.028-.189.027-.188.026-.189.025-.19.023-.19.022-.19.022-.19.02-.191.018-.192.018-.191.016-.192.016-.192.014-.193.013-.193.011-.193.011-.193.009-.194.008-.194.007-.195.005-.195.004-.195.004-.195.001-.196.001H30.271l-.196-.001-.195-.001-.195-.004-.195-.004-.195-.005-.194-.007-.194-.008-.193-.009-.193-.011-.193-.011-.193-.013-.192-.014-.192-.016-.191-.016-.192-.018-.191-.018-.19-.02-.19-.022-.19-.022-.19-.023-.189-.025-.188-.026-.189-.027-.188-.028-.187-.029-.188-.031-.186-.031-.187-.033-.186-.034-.186-.035-.185-.036-.185-.037-.184-.039-.184-.039-.184-.041-.183-.042-.183-.043-.182-.043-.182-.046-.182-.046-.181-.047-.18-.048-.181-.05-.179-.05-.18-.052-.179-.052-.178-.054-.178-.055-.177-.056-.177-.057-.177-.058-.176-.059-.175-.06-.175-.061-.175-.062-.174-.063-.174-.064-.173-.066-.172-.066-.172-.067-.172-.068-.171-.07-.17-.07-.17-.071-.17-.073-.169-.073-.168-.074-.168-.076-.167-.076-.167-.077-.166-.079-.166-.079-.165-.08-.165-.081-.164-.083-.163-.083-.163-.084-.162-.085-.162-.086-.161-.087-.161-.088-.16-.088-.159-.09-.159-.091-.158-.092-.158-.092-.157-.094-.156-.094-.156-.095-.155-.096-.154-.098-.154-.098-.153-.099-.153-.099-.152-.101-.151-.102-.151-Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
id="path4" />
|
||||
<g
|
||||
id="g16">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m152.591 65.891.415.004.414.007.413.009.413.012.412.014.411.017.411.019.41.023.409.024.409.027.407.03.408.033.406.034.406.038.405.04.404.042.404.045.403.047.402.05.401.053.401.054.399.058.399.059.398.063.398.064.396.067.396.07.395.072.394.074.393.077.392.079.392.081.39.084.39.086.389.089.388.091.387.093.386.096.385.098.384.1.384.102.382.105.381.107.381.11.379.112.379.114.378.116.376.118.376.121.374.123.374.125.372.128.372.129.37.132.37.134.368.137.367.138.366.141.366.142.364.145.363.148.361.149.361.151.36.154.358.155.358.158.356.16.355.162.354.164.353.166.351.168.351.171.349.172.348.174.347.177.345.178.345.181.343.182.342.185.341.186.339.189.338.19.337.193.336.194.334.196.333.199.332.2.33.202.33.205.327.206.327.208.325.21.324.211.322.214.321.216.32.217.319.22.316.221.316.223.314.225.313.226.311.229.31.23.309.233.307.234.305.235.304.238.303.239.301.242.3.242.298.245.297.247.295.248.294.25.292.251.291.254.289.255.287.256.286.259.285.26.283.262.281.263.28.265.278.267.277.269.275.27.273.271.272.274.27.275.268.276.267.278.265.28.264.281.261.283.261.285.258.286.257.287.255.29.253.29.252.292.25.294.248.295.246.297.245.298.243.3.241.301.239.303.238.304.236.306.234.307.232.308.23.31.229.311.227.313.224.314.224.316.221.317.219.318.218.32.215.321.214.322.212.324.21.325.208.327.206.328.204.329.202.33.2.332.199.333.196.335.195.335.192.337.191.338.188.34.187.34.184.342.183.343.18.345.179.346.176.346.174.348.173.35.17.35.168.352.166.352.164.354.162.355.16.357.158.357.156.359.153.359.152.361.149.362.147.363.145.364.143.365.14.366.139.367.136.369.134.369.132.371.13.371.127.373.125.373.123.375.121.375.119.377.116.377.114.379.112.379.109.381.107.381.105.383.103.383.1.384.098.385.095.387.094.387.09.387.089.389.086.39.084.391.082.391.079.392.076.393.075.395.072.394.069.396.067.397.065.397.062.398.06.399.057.4.055.4.052.402.05.402.047.402.045.404.043.404.04.405.037.406.035.407.032.407.03.408.027.408.025.41.022.41.019.41.017.412.015.412.012.412.009.414.006.414.004.414.002.415-.001.404-.004.4.223.037.223.038.222.04.222.041.221.042.221.043.22.044.22.045.22.047.219.048.218.049.219.05.217.051.218.052.216.054.217.055.216.055.215.057.215.059.214.059.214.06.214.062.213.062.212.064.212.065.212.066.211.067.21.068.21.069.21.07.208.072.209.072.208.074.207.074.207.076.206.077.206.078.205.079.204.08.205.081.203.082.203.083.202.084.202.085.402.174.2.088.2.09.199.09.198.091.198.093.197.093.392.19.196.097.194.097.388.198.193.101.192.101.192.103.191.103.38.21.189.106.376.216.187.109.187.11.37.224.185.113.184.114.183.115.364.232.181.118.36.238.179.121.178.121.178.123.177.123.176.124.176.125.174.126.174.127.174.128.172.128.172.13.171.13.171.131.338.266.168.133.168.135.332.272.165.137.328.278.163.139.162.141.161.142.16.142.16.143.159.144.158.145.157.145.157.147.155.147.155.148.154.149.306.3.151.151.151.153.15.152.149.154.148.154.147.155.147.156.146.157.288.316.143.159.143.16.141.16.14.161.14.162.139.163.138.163.137.165.136.165.135.165.268.334.132.167.132.169.13.169.13.17.129.171.128.171.127.172.126.173.125.173.124.174.123.175.123.176.121.176.24.354.118.178.118.179.116.179.116.18.115.181.226.364.112.182.22.368.109.184.108.185.106.186.106.187.105.187.103.187.103.189.102.189.1.189.1.19.099.191.097.191.097.192.095.192.095.193.093.194.092.194.092.195.09.195.089.196.088.196.087.197.086.198.085.198.084.198.082.2.082.199.081.201.079.2.078.202.078.201.076.203.075.203.074.203.073.204.071.204.071.205.069.205.069.206.067.207.066.207.065.207.126.416.122.418.059.21.058.21.057.211.11.422.053.212.052.213.051.213.05.213.096.428.046.215.045.215.044.215.084.432.04.217.039.217.074.436.035.218.034.219.033.219.062.44.029.22.027.22.027.222.025.221.024.222.023.222.021.222.02.223.019.223.018.224.016.224.015.224.014.225.013.225.011.225.01.225.008.226.008.227.006.226.004.227.003.227.002.228.001.227-.001.254-.002.254-.004.253-.006.253-.007.252-.009.252-.011.252-.012.251-.014.251-.016.25-.017.25-.018.249-.021.249-.022.249-.023.248-.025.248-.027.247-.028.247-.03.246-.031.246-.033.246-.034.244-.036.245-.038.244-.039.243-.04.243-.042.243-.044.242-.045.241-.046.241-.049.241-.049.24-.051.239-.053.239-.054.238-.055.238-.057.237-.059.237-.06.236-.061.236-.063.235-.065.234-.065.234-.068.233-.068.233-.07.232-.072.231-.073.231-.074.231-.076.229-.077.229-.078.229-.08.228-.082.227-.082.226-.085.226-.085.226-.087.224-.088.224-.09.223-.091.223-.092.222-.093.221-.095.221-.097.22-.097.219-.099.219-.101.218-.101.217-.103.216-.104.216-.106.215-.107.214-.108.214-.109.213-.111.212-.112.211-.113.211-.114.21-.116.209-.117.208-.118.208-.12.207-.12.206-.122.205-.124.204-.124.204-.126.203-.127.202-.128.201-.129.201-.13.199-.132.199-.133.198-.134.198-.135.196-.137.195-.137.195-.139.194-.14.193-.141.192-.142.191-.144.191-.144.189-.146.189-.146.188-.148.187-.149.186-.151.185-.151.184-.152.183-.154.183-.154.181-.156.181-.157.179-.157.179-.159.178-.16.177-.161.175-.162.175-.164.174-.164.173-.165.172-.166.171-.168.171-.168.169-.17.168-.17.167-.171.166-.173.165-.173.165-.175.163-.175.162-.177.161-.177.Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="translate(-2.511 12.577)"
|
||||
id="path8" />
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
d="M94.657 208.957h-1.486v-.027c-21.178-.783-38.132-18.223-38.132-39.592 0-19.576 14.229-35.855 32.9-39.05v-.161c0-35.453 28.783-64.237 64.237-64.237 35.454 0 64.238 28.784 64.238 64.237 0 .271-.002.538-.005.804 19.045 3.122 33.574 19.29 33.574 38.74 0 21.683-18.054 39.286-40.293 39.286H94.657Zm105.717-77.514.019-.004c.011-.436.017-.873.017-1.312 0-26.621-21.613-48.234-48.234-48.234-4.677 0-9.199.667-13.476 1.911-20.932 5.493-36.369 24.279-36.369 46.582a47.305 47.305 0 0 0 3.775 18.568 23.546 23.546 0 0 0-11.449-2.952c-13.063 0-23.669 10.606-23.669 23.669 0 13.064 10.606 23.67 23.669 23.67h115.614c13.064 0 23.67-10.606 23.67-23.67 0-13.063-10.606-23.669-23.67-23.669a23.56 23.56 0 0 0-14.616 5.056 47.28 47.28 0 0 0 4.719-19.615Z"
|
||||
style="fill:#2d67b9"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m151.761 65.891-.415.004-.414.007-.413.009-.413.012-.412.014-.411.017-.411.019-.41.023-.409.024-.408.027-.408.03-.408.033-.406.034-.406.038-.405.04-.404.042-.404.045-.403.047-.402.05-.401.053-.401.054-.399.058-.399.059-.398.063-.398.064-.396.067-.396.07-.395.072-.394.074-.393.077-.392.079-.392.081-.39.084-.39.086-.389.089-.388.091-.387.093-.386.096-.385.098-.384.1-.384.102-.382.105-.381.107-.381.11-.379.112-.379.114-.377.116-.377.118-.376.121-.374.123-.374.125-.372.128-.372.129-.37.132-.369.134-.369.137-.367.138-.366.141-.365.142-.365.145-.362.148-.362.149-.361.151-.36.154-.358.155-.358.158-.356.16-.355.162-.354.164-.353.166-.351.168-.351.171-.349.172-.348.174-.347.177-.345.178-.345.181-.343.182-.342.185-.341.186-.339.189-.338.19-.337.193-.336.194-.334.196-.333.199-.332.2-.33.202-.33.205-.327.206-.327.208-.325.21-.324.211-.322.214-.321.216-.32.217-.318.22-.317.221-.316.223-.314.225-.313.226-.311.229-.31.23-.309.233-.307.234-.305.235-.304.238-.303.239-.301.242-.3.242-.298.245-.297.247-.295.248-.294.25-.292.251-.291.254-.289.255-.287.256-.286.259-.285.26-.283.262-.281.263-.28.265-.278.267-.277.269-.275.27-.273.271-.272.274-.27.275-.268.276-.267.278-.265.28-.263.281-.262.283-.26.285-.259.286-.257.287-.255.29-.253.29-.252.292-.25.294-.248.295-.246.297-.245.298-.243.3-.241.301-.239.303-.238.304-.236.306-.234.307-.232.308-.23.31-.229.311-.226.313-.225.314-.223.316-.222.317-.219.318-.217.32-.216.321-.214.322-.212.324-.21.325-.208.327-.206.328-.204.329-.202.33-.2.332-.199.333-.196.335-.195.335-.192.337-.191.338-.188.34-.187.34-.184.342-.183.343-.18.345-.179.346-.176.346-.174.348-.173.35-.17.35-.168.352-.166.352-.164.354-.162.355-.16.357-.158.357-.156.359-.153.359-.151.361-.15.362-.147.363-.145.364-.143.365-.14.366-.139.367-.136.369-.134.369-.132.371-.13.371-.127.373-.125.373-.123.375-.121.375-.118.377-.117.377-.114.379-.111.379-.11.381-.107.381-.105.383-.102.383-.101.384-.098.385-.095.387-.093.387-.091.387-.089.389-.086.39-.084.391-.081.391-.08.392-.076.393-.075.395-.071.394-.07.396-.067.397-.065.397-.062.398-.06.399-.057.4-.055.4-.052.402-.05.402-.047.402-.045.404-.043.404-.039.405-.038.406-.035.407-.032.407-.03.408-.027.408-.025.41-.022.41-.019.41-.017.412-.015.412-.011.412-.01.414-.006.414-.004.414-.001.415v.161l-.219.039-.218.039-.218.04-.217.042-.217.043-.217.044-.216.045-.216.046-.215.048-.215.048-.214.05-.214.051-.213.052-.213.053-.213.055-.212.055-.211.057-.212.058-.21.059-.21.06-.21.061-.209.063-.209.063-.208.065-.208.066-.208.067-.206.068-.207.069-.205.07-.206.071-.204.072-.205.074-.203.074-.204.076-.202.077-.202.077-.202.079-.201.08-.201.081-.2.082-.199.083-.199.084-.198.085-.198.087-.197.087-.197.088-.196.09-.196.09-.195.091-.194.093-.194.093-.193.095-.193.095-.192.097-.191.097-.191.099-.19.1-.19.1-.189.102-.188.102-.188.104-.187.104-.187.106-.186.106-.185.107-.185.109-.184.109-.183.111-.183.111-.182.112-.181.113-.181.114-.18.115-.18.116-.178.117-.179.118-.177.119-.177.12-.176.121-.175.121-.175.123-.174.123-.173.125-.173.125-.172.126-.171.127-.171.128-.17.129-.169.13-.168.13-.168.132-.167.132-.166.133-.165.135-.165.135-.164.135-.163.137-.163.138-.162.138-.161.14-.16.14-.159.141-.159.142-.158.142-.157.144-.157.144-.155.145-.155.146-.154.147-.154.148-.152.148-.152.149-.151.15-.15.151-.149.152-.148.152-.148.154-.147.154-.146.154-.145.156-.145.156-.143.158-.143.157-.142.159-.141.16-.14.16-.139.161-.139.162-.138.162-.136.163-.136.164-.135.165-.134.165-.134.166-.132.167-.132.168-.13.168-.13.169-.129.17-.128.171-.127.171-.127.172-.125.172-.124.174-.124.174-.122.174-.122.176-.121.176-.12.177-.118.177-.118.178-.117.179-.116.179-.116.18-.114.181-.113.181-.112.182-.112.183-.11.183-.109.184-.109.185-.107.185-.107.186-.105.187-.105.187-.104.188-.102.188-.102.189-.1.19-.1.19-.098.191-.098.191-.097.192-.095.193-.095.193-.093.194-.093.194-.091.195-.091.195-.089.196-.088.197-.088.197-.086.198-.085.198-.085.199-.083.2-.082.2-.081.2-.08.201-.079.202-.077.202-.077.203-.076.203-.074.203-.074.205-.072.204-.072.206-.07.205-.069.207-.068.206-.067.208-.066.207-.064.209-.064.208-.062.21-.062.209-.06.211-.059.21-.058.211-.057.212-.055.212-.055.212-.053.213-.052.214-.051.214-.05.214-.049.215-.048.215-.046.216-.045.216-.044.216-.043.217-.042.217-.04.218-.04.218-.038.219-.037.219-.035.219-.035.22-.033.22-.032.221-.031.221-.03.221-.028.222-.027.222-.026.222-.025.223-.024.223-.022.224-.021.224-.02.224-.018.225-.017.225-.016.225-.015.226-.014.226-.012.226-.011.227-.009.227-.009.228-.007.227-.006.228-.004.229-.004.228-.002.229v.229l.001.251.002.25.004.249.005.249.007.249.009.248.01.248.011.248.013.247.015.247.016.246.017.246.019.246.021.245.022.245.023.244.025.244.027.243.028.243.029.243.031.242.032.241.034.242.035.24.037.241.038.239.04.24.041.238.042.239.044.238.045.237.047.237.048.236.049.236.051.235.052.235.054.234.055.234.056.233.058.233.059.232.122.462.064.231.064.23.066.229.067.229.069.228.07.228.071.227.073.226.074.226.075.225.076.225.078.224.079.223.081.223.082.222.083.222.084.221.085.22.087.22.088.219.18.436.092.217.093.Line truncated
|
||||
style="fill:#e3292e;fill-opacity:1"
|
||||
transform="matrix(-1 0 0 1 302.511 12.577)"
|
||||
id="path12" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
d="m 114.30977,144.2723 h 50.31577 L 154.3183,133.29689 h 16.00038 l 16.01264,17.05067 -16.01264,17.04991 h -15.98379 l 10.44067,-11.1175 h -50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path8-7" /><path
|
||||
d="M 186.44817,172.91513 H 136.1324 l 10.30725,-10.97541 h -16.00039 l -16.01264,17.05067 16.01264,17.04991 h 15.98379 l -10.44067,-11.1175 h 50.46579 z"
|
||||
style="clip-rule:evenodd;fill:#e3292e;fill-rule:evenodd;stroke-width:0.744302;stroke-linejoin:round;stroke-miterlimit:1.41421;fill-opacity:1"
|
||||
id="path10-5" /></svg>
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1,207 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
width="4.5009999cm"
|
||||
height="2.0009999cm"
|
||||
viewBox="0.2 0.149 4.7 2.151"
|
||||
id="svg2"
|
||||
sodipodi:docname="nat.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"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<sodipodi:namedview
|
||||
id="namedview30"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="cm"
|
||||
showgrid="false"
|
||||
inkscape:lockguides="true"
|
||||
inkscape:zoom="5.7444245"
|
||||
inkscape:cx="75.725602"
|
||||
inkscape:cy="42.040765"
|
||||
inkscape:window-width="1658"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<metadata
|
||||
id="metadata57">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs55" />
|
||||
<path
|
||||
d="m 3.7599791,0.61531938 -10e-4,-0.021 -0.003,-0.021 -0.007,-0.02 -0.009,-0.02 -0.011,-0.021 -0.013,-0.02 -0.017,-0.02 -0.018,-0.019 -0.021,-0.019 -0.023,-0.019 -0.024,-0.017 -0.028,-0.017 -0.03,-0.017 -0.031,-0.017 -0.033,-0.015 -0.035,-0.015 -0.037,-0.014 -0.038,-0.013 -0.04,-0.012 -0.041,-0.011 -0.043,-0.011 -0.045,-0.01 -0.044,-0.008 -0.046,-0.008 -0.048,-0.007 -0.047,-0.006 -0.048,-0.004 -0.049,-0.004 -0.05,-0.003 -0.049,-0.001 -0.049,-0.001 0,0 -0.05,0.001 -0.049,0.001 -0.05,0.003 -0.048,0.004 -0.049,0.004 -0.047,0.006 -0.047,0.007 -0.046,0.008 -0.045,0.008 -0.043,0.01 -0.043,0.011 -0.042,0.011 -0.04,0.012 -0.039,0.013 -0.036,0.014 -0.035,0.015 -0.033,0.015 -0.032,0.017 -0.029,0.017 -0.027,0.017 -0.026,0.017 -0.023,0.019 -0.02,0.019 -0.019,0.019 -0.016,0.02 -0.014,0.02 -0.01,0.021 -0.009,0.02 -0.006,0.02 -0.005,0.021 -0.001,0.021 0,0 0.001,0.02 0.005,0.022 0.006,0.02 0.009,0.021 0.01,0.02 0.014,0.019 0.016,0.02 0.019,0.02 0.02,0.019 0.023,0.018 0.026,0.018 0.027,0.017 0.029,0.017 0.032,0.016 0.033,0.016 0.035,0.014 0.036,0.014 0.039,0.013 0.04,0.013 0.042,0.011 0.043,0.01 0.043,0.011 0.045,0.008 0.046,0.007 0.047,0.007 0.047,0.006 0.049,0.005 0.048,0.003 0.05,0.003 0.049,10e-4 0.05,0.001 0,0 0.049,-0.001 0.049,-10e-4 0.05,-0.003 0.049,-0.003 0.048,-0.005 0.047,-0.006 0.048,-0.007 0.046,-0.007 0.044,-0.008 0.045,-0.011 0.043,-0.01 0.041,-0.011 0.04,-0.013 0.038,-0.013 0.037,-0.014 0.035,-0.014 0.033,-0.016 0.031,-0.016 0.03,-0.017 0.028,-0.017 0.024,-0.018 0.023,-0.018 0.021,-0.019 0.018,-0.02 0.017,-0.02 0.013,-0.019 0.011,-0.02 0.009,-0.021 0.007,-0.02 0.003,-0.022 10e-4,-0.02"
|
||||
id="path4"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 2.2259791,0.83031938 -10e-4,-0.021 -0.003,-0.02 -0.004,-0.021 -0.007,-0.02 -0.009,-0.021 -0.01,-0.02 -0.012,-0.02 -0.015,-0.018 -0.015,-0.019 -0.018,-0.019 -0.019,-0.018 -0.021,-0.017 -0.022,-0.017 -0.024,-0.016 -0.026,-0.015 -0.026,-0.015 -0.029,-0.014 -0.029,-0.013 -0.031,-0.013 -0.032,-0.011 -0.032,-0.011 -0.034,-0.009 -0.035,-0.009 -0.035,-0.008 -0.036,-0.006 -0.036,-0.006 -0.037,-0.005 -0.038,-0.004 -0.037,-0.002 -0.039,-0.002 -0.038,0 0,0 -0.037,0 -0.038,0.002 -0.038,0.002 -0.038,0.004 -0.037,0.005 -0.036,0.006 -0.036,0.006 -0.035,0.008 -0.035,0.009 -0.033,0.009 -0.033,0.011 -0.032,0.011 -0.03,0.013 -0.03,0.013 -0.028,0.014 -0.027,0.015 -0.025,0.015 -0.024,0.016 -0.023,0.017 -0.021,0.017 -0.018,0.018 -0.019,0.019 -0.015,0.019 -0.015,0.018 -0.012,0.02 -0.011,0.02 -0.008,0.021 -0.007,0.02 -0.005,0.021 -0.002,0.02 -0.001,0.021 0,0 0.001,0.021 0.002,0.021 0.005,0.02 0.007,0.021 0.008,0.02 0.011,0.02 0.012,0.02 0.015,0.019 0.015,0.019 0.019,0.018 0.018,0.018 0.021,0.018 0.023,0.016 0.024,0.016 0.025,0.016 0.027,0.014 0.028,0.015 0.03,0.012 0.03,0.013 0.032,0.012 0.033,0.01 0.033,0.01 0.035,0.008 0.035,0.008 0.036,0.007 0.036,0.005 0.037,0.005 0.038,0.004 0.038,0.002 0.038,0.002 0.037,0 0,0 0.038,0 0.039,-0.002 0.037,-0.002 0.038,-0.004 0.037,-0.005 0.036,-0.005 0.036,-0.007 0.035,-0.008 0.035,-0.008 0.034,-0.01 0.032,-0.01 0.032,-0.012 0.031,-0.013 0.029,-0.012 0.029,-0.015 0.026,-0.014 0.026,-0.016 0.024,-0.016 0.022,-0.016 0.021,-0.018 0.019,-0.018 0.018,-0.018 0.015,-0.019 0.015,-0.019 0.012,-0.02 0.01,-0.02 0.009,-0.02 0.007,-0.021 0.004,-0.02 0.003,-0.021 10e-4,-0.021"
|
||||
id="path6"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 1.2809791,1.2493194 -10e-4,-0.017 -0.001,-0.017 -0.004,-0.017 -0.005,-0.017 -0.005,-0.016 -0.007,-0.016 -0.009,-0.016 -0.009,-0.017 -0.011,-0.015 -0.012,-0.015 -0.012,-0.014 -0.014,-0.015 -0.015,-0.014 -0.017,-0.012 -0.017,-0.013 -0.018,-0.012 -0.019,-0.011 -0.02,-0.011 -0.02,-0.01 -0.022,-0.01 -0.022,-0.008 -0.023,-0.008 -0.023,-0.007 -0.024,-0.006 -0.024,-0.006 -0.025,-0.004 -0.024,-0.005 -0.026,-0.002 -0.025,-0.002 -0.025,-0.002 -0.026,0 0,0 -0.026,0 -0.026,0.002 -0.025,0.002 -0.025,0.002 -0.024,0.005 -0.026,0.004 -0.024,0.006 -0.023,0.006 -0.023,0.007 -0.023,0.008 -0.022,0.008 -0.022,0.01 -0.021,0.01 -0.019,0.011 -0.019,0.011 -0.018,0.012 -0.017,0.013 -0.017,0.012 -0.015,0.014 -0.014,0.015 -0.013,0.014 -0.011,0.015 -0.011,0.015 -0.01,0.017 -0.008,0.016 -0.007,0.016 -0.006,0.016 -0.004,0.017 -0.004,0.017 -0.002,0.017 0,0.017 0,0 0,0.016 0.002,0.018 0.004,0.016 0.004,0.017 0.006,0.017 0.007,0.016 0.008,0.016 0.01,0.015 0.011,0.016 0.011,0.015 0.013,0.015 0.014,0.014 0.015,0.014 0.017,0.013 0.017,0.012 0.018,0.012 0.019,0.012 0.019,0.01 0.021,0.01 0.022,0.01 0.022,0.008 0.023,0.008 0.023,0.007 0.023,0.007 0.024,0.005 0.026,0.005 0.024,0.004 0.025,0.003 0.025,10e-4 0.026,0.002 0.026,0.001 0,0 0.026,-0.001 0.025,-0.002 0.025,-10e-4 0.026,-0.003 0.024,-0.004 0.025,-0.005 0.024,-0.005 0.024,-0.007 0.023,-0.007 0.023,-0.008 0.022,-0.008 0.022,-0.01 0.02,-0.01 0.02,-0.01 0.019,-0.012 0.018,-0.012 0.017,-0.012 0.017,-0.013 0.015,-0.014 0.014,-0.014 0.012,-0.015 0.012,-0.015 0.011,-0.016 0.009,-0.015 0.009,-0.016 0.007,-0.016 0.005,-0.017 0.005,-0.017 0.004,-0.016 0.001,-0.018 10e-4,-0.016"
|
||||
id="path8"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 2.0969791,1.5713194 -0.002,-0.018 -0.003,-0.018 -0.004,-0.019 -0.007,-0.018 -0.009,-0.017 -0.01,-0.018 -0.013,-0.017 -0.015,-0.018 -0.016,-0.016 -0.017,-0.016 -0.019,-0.016 -0.021,-0.016 -0.024,-0.015 -0.024,-0.014 -0.026,-0.013 -0.027,-0.013 -0.028,-0.012 -0.031,-0.012 -0.03,-0.011 -0.032,-0.01 -0.034,-0.009 -0.035,-0.009 -0.034,-0.008 -0.036,-0.007 -0.036,-0.005 -0.038,-0.006 -0.037,-0.004 -0.038,-0.003 -0.038,-0.002 -0.039,-0.002 -0.038,0 0,0 -0.038,0 -0.039,0.002 -0.039,0.002 -0.038,0.003 -0.037,0.004 -0.037,0.006 -0.037,0.005 -0.035,0.007 -0.035,0.008 -0.034,0.009 -0.034,0.009 -0.032,0.01 -0.031,0.011 -0.03,0.012 -0.029,0.012 -0.027,0.013 -0.026,0.013 -0.024,0.014 -0.023,0.015 -0.021,0.016 -0.019,0.016 -0.018,0.016 -0.017,0.016 -0.014,0.018 -0.012,0.017 -0.01,0.018 -0.01,0.017 -0.006,0.018 -0.005,0.019 -0.003,0.018 -0.001,0.018 0,0 0.001,0.019 0.003,0.018 0.005,0.018 0.006,0.018 0.01,0.019 0.01,0.017 0.012,0.017 0.014,0.018 0.017,0.016 0.018,0.016 0.019,0.016 0.021,0.015 0.023,0.015 0.024,0.015 0.026,0.014 0.027,0.012 0.029,0.013 0.03,0.011 0.031,0.011 0.032,0.01 0.034,0.01 0.034,0.008 0.035,0.008 0.035,0.006 0.037,0.007 0.037,0.004 0.037,0.005 0.038,0.003 0.039,0.003 0.039,10e-4 0.038,0 0,0 0.038,0 0.039,-10e-4 0.038,-0.003 0.038,-0.003 0.037,-0.005 0.038,-0.004 0.036,-0.007 0.036,-0.006 0.034,-0.008 0.035,-0.008 0.034,-0.01 0.032,-0.01 0.03,-0.011 0.031,-0.011 0.028,-0.013 0.027,-0.012 0.026,-0.014 0.024,-0.015 0.024,-0.015 0.021,-0.015 0.019,-0.016 0.017,-0.016 0.016,-0.016 0.015,-0.018 0.013,-0.017 0.01,-0.017 0.009,-0.019 0.007,-0.018 0.004,-0.018 0.003,-0.018 0.002,-0.019"
|
||||
id="path10"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 3.9229791,1.7583194 -0.002,-0.021 -0.004,-0.022 -0.007,-0.022 -0.011,-0.021 -0.012,-0.021 -0.016,-0.021 -0.019,-0.021 -0.021,-0.02 -0.024,-0.02 -0.027,-0.02 -0.029,-0.018 -0.032,-0.019 -0.033,-0.017 -0.037,-0.017 -0.039,-0.016 -0.04,-0.016 -0.043,-0.014 -0.045,-0.014 -0.046,-0.013 -0.048,-0.012 -0.05,-0.01 -0.051,-0.011 -0.052,-0.009 -0.054,-0.008 -0.054,-0.007 -0.056,-0.006 -0.055,-0.005 -0.057,-0.004 -0.057,-0.002 -0.058,-0.002 -0.057,0 0,0 -0.057,0 -0.058,0.002 -0.057,0.002 -0.057,0.004 -0.056,0.005 -0.055,0.006 -0.054,0.007 -0.054,0.008 -0.052,0.009 -0.051,0.011 -0.05,0.01 -0.048,0.012 -0.047,0.013 -0.044,0.014 -0.043,0.014 -0.04,0.016 -0.039,0.016 -0.037,0.017 -0.034,0.017 -0.031,0.019 -0.029,0.018 -0.027,0.02 -0.024,0.02 -0.021,0.02 -0.018,0.021 -0.017,0.021 -0.012,0.021 -0.011,0.021 -0.007,0.022 -0.005,0.022 -10e-4,0.021 0,0 10e-4,0.023 0.005,0.021 0.007,0.022 0.011,0.021 0.012,0.022 0.017,0.02 0.018,0.021 0.021,0.02 0.024,0.02 0.027,0.02 0.029,0.018 0.031,0.018 0.034,0.018 0.037,0.017 0.039,0.016 0.04,0.016 0.043,0.015 0.044,0.013 0.047,0.013 0.048,0.012 0.05,0.011 0.051,0.01 0.052,0.009 0.054,0.009 0.054,0.007 0.055,0.005 0.056,0.005 0.057,0.004 0.057,0.003 0.058,0.002 0.057,0 0,0 0.057,0 0.058,-0.002 0.057,-0.003 0.057,-0.004 0.055,-0.005 0.056,-0.005 0.054,-0.007 0.054,-0.009 0.052,-0.009 0.051,-0.01 0.05,-0.011 0.048,-0.012 0.046,-0.013 0.045,-0.013 0.043,-0.015 0.04,-0.016 0.039,-0.016 0.037,-0.017 0.033,-0.018 0.032,-0.018 0.029,-0.018 0.027,-0.02 0.024,-0.02 0.021,-0.02 0.019,-0.021 0.016,-0.02 0.012,-0.022 0.011,-0.021 0.007,-0.022 0.004,-0.021 0.002,-0.023"
|
||||
id="path12"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 4.5529791,0.76631938 0,-0.016 -0.003,-0.016 -0.004,-0.017 -0.008,-0.016 -0.007,-0.016 -0.011,-0.016 -0.012,-0.015 -0.013,-0.015 -0.016,-0.015 -0.017,-0.015 -0.019,-0.013 -0.02,-0.014 -0.022,-0.013 -0.023,-0.013 -0.025,-0.012 -0.026,-0.011 -0.027,-0.012 -0.029,-0.01 -0.03,-0.01 -0.031,-0.009 -0.031,-0.008 -0.033,-0.008 -0.034,-0.007 -0.034,-0.006 -0.035,-0.005 -0.035,-0.005 -0.036,-0.003 -0.037,-0.003 -0.036,-0.002 -0.037,-0.001 -0.037,0 0,0 -0.037,0 -0.036,0.001 -0.038,0.002 -0.035,0.003 -0.036,0.003 -0.036,0.005 -0.034,0.005 -0.035,0.006 -0.034,0.007 -0.032,0.008 -0.032,0.008 -0.031,0.009 -0.03,0.01 -0.028,0.01 -0.028,0.012 -0.026,0.011 -0.025,0.012 -0.023,0.013 -0.022,0.013 -0.02,0.014 -0.019,0.013 -0.016,0.015 -0.016,0.015 -0.014,0.015 -0.012,0.015 -0.01,0.016 -0.009,0.016 -0.006,0.016 -0.005,0.017 -0.002,0.016 -10e-4,0.016 0,0 10e-4,0.016 0.002,0.016 0.005,0.017 0.006,0.016 0.009,0.016 0.01,0.016 0.012,0.016 0.014,0.014 0.016,0.016 0.016,0.014 0.019,0.014 0.02,0.013 0.022,0.014 0.023,0.013 0.025,0.012 0.026,0.011 0.028,0.011 0.028,0.011 0.03,0.009 0.031,0.009 0.032,0.009 0.032,0.007 0.034,0.007 0.035,0.006 0.034,0.006 0.036,0.004 0.036,0.003 0.035,0.003 0.038,0.003 0.036,0 0.037,10e-4 0,0 0.037,-10e-4 0.037,0 0.036,-0.003 0.037,-0.003 0.036,-0.003 0.035,-0.004 0.035,-0.006 0.034,-0.006 0.034,-0.007 0.033,-0.007 0.031,-0.009 0.031,-0.009 0.03,-0.009 0.029,-0.011 0.027,-0.011 0.026,-0.011 0.025,-0.012 0.023,-0.013 0.022,-0.014 0.02,-0.013 0.019,-0.014 0.017,-0.014 0.016,-0.016 0.013,-0.014 0.012,-0.016 0.011,-0.016 0.007,-0.016 0.008,-0.016 0.004,-0.017 0.003,-0.016 0,-0.016"
|
||||
id="path14"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 4.7599791,1.1813194 -10e-4,-0.016 -0.002,-0.016 -0.005,-0.017 -0.007,-0.016 -0.008,-0.016 -0.01,-0.016 -0.012,-0.016 -0.013,-0.014 -0.015,-0.015 -0.018,-0.015 -0.019,-0.014 -0.019,-0.013 -0.022,-0.013 -0.023,-0.014 -0.024,-0.011 -0.027,-0.012 -0.027,-0.011 -0.028,-0.01 -0.03,-0.01 -0.03,-0.009 -0.032,-0.008 -0.033,-0.008 -0.033,-0.007 -0.033,-0.005 -0.035,-0.006 -0.035,-0.004 -0.036,-0.004 -0.036,-0.003 -0.036,-0.002 -0.037,-0.001 -0.036,-0.001 0,0 -0.038,0.001 -0.036,0.001 -0.036,0.002 -0.036,0.003 -0.036,0.004 -0.035,0.004 -0.035,0.006 -0.033,0.005 -0.034,0.007 -0.032,0.008 -0.032,0.008 -0.03,0.009 -0.03,0.01 -0.028,0.01 -0.027,0.011 -0.027,0.012 -0.024,0.011 -0.022,0.014 -0.022,0.013 -0.021,0.013 -0.018,0.014 -0.018,0.015 -0.015,0.015 -0.013,0.014 -0.012,0.016 -0.01,0.016 -0.008,0.016 -0.007,0.016 -0.005,0.017 -0.002,0.016 -10e-4,0.016 0,0 10e-4,0.016 0.002,0.016 0.005,0.016 0.007,0.016 0.008,0.017 0.01,0.016 0.012,0.015 0.013,0.015 0.015,0.015 0.018,0.015 0.018,0.013 0.021,0.014 0.022,0.013 0.022,0.013 0.024,0.012 0.027,0.011 0.027,0.012 0.028,0.01 0.03,0.01 0.03,0.009 0.032,0.008 0.032,0.007 0.034,0.007 0.033,0.006 0.035,0.005 0.035,0.005 0.036,0.004 0.036,0.003 0.036,0.002 0.036,0.001 0.038,0 0,0 0.036,0 0.037,-0.001 0.036,-0.002 0.036,-0.003 0.036,-0.004 0.035,-0.005 0.035,-0.005 0.033,-0.006 0.033,-0.007 0.033,-0.007 0.032,-0.008 0.03,-0.009 0.03,-0.01 0.028,-0.01 0.027,-0.012 0.027,-0.011 0.024,-0.012 0.023,-0.013 0.022,-0.013 0.019,-0.014 0.019,-0.013 0.018,-0.015 0.015,-0.015 0.013,-0.015 0.012,-0.015 0.01,-0.016 0.008,-0.017 0.007,-0.016 0.005,-0.016 0.002,-0.016 10e-4,-0.016"
|
||||
id="path16"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 4.6189791,1.5243194 -10e-4,-0.027 -0.002,-0.027 -0.005,-0.026 -0.006,-0.027 -0.009,-0.026 -0.01,-0.026 -0.012,-0.025 -0.014,-0.025 -0.014,-0.025 -0.017,-0.023 -0.018,-0.024 -0.021,-0.022 -0.021,-0.022 -0.023,-0.02 -0.024,-0.021 -0.027,-0.018 -0.027,-0.018 -0.027,-0.018 -0.029,-0.015 -0.031,-0.015 -0.032,-0.013 -0.031,-0.013 -0.033,-0.011 -0.034,-0.01 -0.035,-0.009 -0.035,-0.007 -0.036,-0.006 -0.035,-0.005 -0.036,-0.003 -0.036,-0.002 -0.036,-0.001 0,0 -0.037,0.001 -0.036,0.002 -0.036,0.003 -0.036,0.005 -0.035,0.006 -0.035,0.007 -0.035,0.009 -0.034,0.01 -0.033,0.011 -0.032,0.013 -0.031,0.013 -0.031,0.015 -0.029,0.015 -0.028,0.018 -0.027,0.018 -0.026,0.018 -0.024,0.021 -0.023,0.02 -0.022,0.022 -0.019,0.022 -0.019,0.024 -0.017,0.023 -0.015,0.025 -0.014,0.025 -0.011,0.025 -0.01,0.026 -0.008,0.026 -0.007,0.027 -0.005,0.026 -0.002,0.027 -10e-4,0.027 0,0 10e-4,0.027 0.002,0.027 0.005,0.026 0.007,0.026 0.008,0.026 0.01,0.026 0.011,0.026 0.014,0.025 0.015,0.024 0.017,0.024 0.019,0.023 0.019,0.022 0.022,0.022 0.023,0.021 0.024,0.02 0.026,0.019 0.027,0.018 0.028,0.017 0.029,0.016 0.031,0.015 0.031,0.013 0.032,0.013 0.033,0.011 0.034,0.01 0.035,0.008 0.035,0.008 0.035,0.006 0.036,0.005 0.036,0.003 0.036,0.002 0.037,10e-4 0,0 0.036,-10e-4 0.036,-0.002 0.036,-0.003 0.035,-0.005 0.036,-0.006 0.035,-0.008 0.035,-0.008 0.034,-0.01 0.033,-0.011 0.031,-0.013 0.032,-0.013 0.031,-0.015 0.029,-0.016 0.027,-0.017 0.027,-0.018 0.027,-0.019 0.024,-0.02 0.023,-0.021 0.021,-0.022 0.021,-0.022 0.018,-0.023 0.017,-0.024 0.014,-0.024 0.014,-0.025 0.012,-0.026 0.01,-0.026 0.009,-0.026 0.006,-0.026 0.005,-0.026 0.002,-0.027 10e-4,-0.027"
|
||||
id="path18"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 2.7919791,0.61131938 0.965,-0.091 -0.013,-0.021 -0.014,-0.019 -0.017,-0.02 -0.019,-0.02 -0.022,-0.019 -0.024,-0.018 -0.026,-0.018 -0.028,-0.017 -0.031,-0.017 -0.032,-0.016 -0.034,-0.015 -0.036,-0.014 -0.038,-0.014 -0.039,-0.013 -0.042,-0.012 -0.042,-0.011 -0.043,-0.011 -0.045,-0.009 -0.046,-0.009 -0.047,-0.007 -0.048,-0.007 -0.048,-0.005 -0.049,-0.004 -0.049,-0.004 -0.049,-0.002 -0.051,-0.001 -0.05,0 -0.05,0 -0.049,0.003 -0.05,0.002 -0.049,0.004 -0.049,0.006 -0.047,0.006 -0.048,0.007 -0.046,0.008 -0.045,0.009 -0.044,0.01 -0.043,0.011 -0.041,0.012 -0.04,0.013 -0.038,0.013 -0.036,0.014 -0.036,0.016 -0.032,0.015 -0.032,0.017 -0.029,0.017 -0.026,0.018 -0.024,0.018 -0.024,0.019 -0.02,0.018 -0.018,0.02 -0.015,0.02 -0.012,0.021 -0.011,0.02 0.971,0.077"
|
||||
id="path22"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 3.7569791,0.51931938 -0.013,-0.021 -0.014,-0.019 -0.017,-0.02 -0.02,-0.019 -0.022,-0.019 -0.024,-0.018 -0.026,-0.018 -0.029,-0.018 -0.03,-0.016 -0.032,-0.016 -0.035,-0.016 -0.035,-0.014 -0.038,-0.014 -0.04,-0.012 -0.04,-0.013 -0.042,-0.011 -0.044,-0.01 -0.045,-0.01 -0.046,-0.008 -0.046,-0.008 -0.048,-0.006 -0.048,-0.005 -0.049,-0.004 -0.05,-0.004 -0.05,-0.002 -0.049,-0.001 -0.051,0 -0.049,0 -0.049,0.003 -0.051,0.002 -0.048,0.004 -0.049,0.006 -0.047,0.006 -0.048,0.007 -0.046,0.008 -0.045,0.009 -0.043,0.01 -0.043,0.011 -0.042,0.012 -0.039,0.013 -0.038,0.013 -0.036,0.014 -0.036,0.015 -0.033,0.015 -0.031,0.017 -0.028,0.018 -0.028,0.017 -0.024,0.018 -0.022,0.019 -0.021,0.019 -0.018,0.019 -0.016,0.02 -0.012,0.021 -0.011,0.02"
|
||||
id="path24"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 1.4819791,0.82631938 0.486,-0.317 -0.029,-0.013 -0.032,-0.012 -0.032,-0.012 -0.033,-0.01 -0.034,-0.01 -0.035,-0.008 -0.036,-0.008 -0.036,-0.006 -0.037,-0.006 -0.037,-0.005 -0.038,-0.003 -0.038,-0.003 -0.039,-0.001 -0.038,0 -0.038,0 -0.038,0.002 -0.038,0.003 -0.038,0.004 -0.037,0.005 -0.036,0.006 -0.037,0.007 -0.035,0.008 -0.034,0.009 -0.034,0.009 -0.033,0.011 -0.031,0.013 -0.031,0.012 -0.029,0.013 -0.028,0.015 -0.027,0.015 -0.026,0.015 -0.024,0.016 -0.022,0.018 -0.021,0.017 -0.018,0.018 -0.018,0.02 -0.016,0.018 -0.014,0.02 -0.012,0.02 -0.01,0.02 -0.008,0.02 -0.006,0.022 -0.005,0.02 -0.003,0.021 0,0.021 0.001,0.021 0.003,0.021 0.005,0.021 0.74600003,-0.067"
|
||||
id="path26"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 1.9659791,0.50831938 -0.03,-0.014 -0.031,-0.011 -0.033,-0.012 -0.033,-0.01 -0.035,-0.01 -0.034,-0.008 -0.036,-0.008 -0.036,-0.006 -0.037,-0.005 -0.037,-0.005 -0.038,-0.004 -0.038,-0.002 -0.039,-0.001 -0.038,0 -0.038,0 -0.038,0.003 -0.038,0.002 -0.038,0.004 -0.037,0.005 -0.036,0.007 -0.036,0.006 -0.035,0.009 -0.034,0.008 -0.034,0.011 -0.033,0.011 -0.032,0.011 -0.03,0.013 -0.029,0.013 -0.028,0.015 -0.027,0.015 -0.025,0.015 -0.024,0.016 -0.022,0.018 -0.02,0.017 -0.02,0.019 -0.017,0.018 -0.016,0.019 -0.013,0.02 -0.012,0.02 -0.01,0.02 -0.008,0.021 -0.006,0.02 -0.005,0.021 -0.003,0.02 0,0.022 0.002,0.021 0.002,0.02 0.006,0.021"
|
||||
id="path28"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 1.3459791,1.5683194 -0.78100003,-0.012 0,0.019 0.001,0.019 0.003,0.019 0.006,0.018 0.008,0.019 0.009,0.018 0.012,0.018 0.014,0.018 0.015,0.017 0.017,0.017 0.019,0.017 0.02,0.016 0.023,0.015 0.023,0.015 0.026,0.015 0.027,0.014 0.027,0.012 0.03,0.013 0.031,0.012 0.032,0.01 0.034,0.011 0.033,0.009 0.035,0.008 0.036,0.008 0.037,0.007 0.038,0.006 0.037,0.005 0.039,0.004 0.039,0.003 0.039,0.003 0.04,10e-4 0.039,0 0.039,-10e-4 0.039,-0.002 0.039,-0.002 0.039,-0.003 0.039,-0.005 0.037,-0.006 0.037,-0.005 0.037,-0.008 0.035,-0.008 0.035,-0.009 0.033,-0.009 0.033,-0.01 0.033,-0.011 0.03,-0.013 -0.513,-0.282"
|
||||
id="path30"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 0.56497907,1.5563194 -0.001,0.019 0.002,0.019 0.003,0.018 0.006,0.019 0.008,0.018 0.01,0.019 0.011,0.018 0.014,0.018 0.015,0.017 0.017,0.017 0.018,0.016 0.02,0.016 0.023,0.016 0.024,0.015 0.024,0.014 0.026,0.014 0.029,0.013 0.029,0.013 0.032,0.011 0.032,0.011 0.032,0.01 0.034,0.009 0.035,0.009 0.037,0.008 0.036,0.006 0.037,0.007 0.038,0.005 0.038,0.004 0.039,0.003 0.039,0.002 0.039,0.002 0.04,0 0.039,0 0.039,-0.003 0.039,-0.002 0.038,-0.003 0.038,-0.005 0.038,-0.004 0.038,-0.007 0.036,-0.007 0.036,-0.008 0.034,-0.009 0.034,-0.009 0.034,-0.01 0.031,-0.011 0.03,-0.012"
|
||||
id="path32"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.8359791,0.75931938 0.689,0.104 0.011,-0.016 0.01,-0.015 0.007,-0.016 0.006,-0.016 0.003,-0.016 0.002,-0.017 0,-0.016 -0.002,-0.017 -0.003,-0.016 -0.006,-0.016 -0.007,-0.016 -0.01,-0.016 -0.01,-0.016 -0.013,-0.015 -0.015,-0.015 -0.016,-0.015 -0.018,-0.014 -0.02,-0.014 -0.022,-0.014 -0.021,-0.012 -0.025,-0.013 -0.025,-0.012 -0.027,-0.011 -0.029,-0.011 -0.028,-0.01 -0.03,-0.009 -0.032,-0.009 -0.032,-0.008 -0.034,-0.007 -0.033,-0.006 -0.036,-0.006 -0.034,-0.005 -0.037,-0.004 -0.036,-0.003 -0.037,-0.003 -0.037,-0.001 -0.036,-0.001 -0.037,0 -0.037,0.001 -0.037,0.002 -0.036,0.002 -0.036,0.003 -0.036,0.004 -0.036,0.005 0.238,0.306"
|
||||
id="path34"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 4.4569791,0.92331938 0.067,-0.059 0.011,-0.016 0.009,-0.015 0.009,-0.016 0.005,-0.017 0.004,-0.016 0.002,-0.016 0.001,-0.016 -0.003,-0.017 -0.003,-0.016 -0.006,-0.017 -0.007,-0.015 -0.009,-0.016 -0.011,-0.016 -0.012,-0.015 -0.016,-0.015 -0.016,-0.015 -0.017,-0.014 -0.02,-0.014 -0.021,-0.014 -0.023,-0.013 -0.023,-0.012 -0.026,-0.012 -0.027,-0.011 -0.028,-0.011 -0.029,-0.011 -0.03,-0.009 -0.032,-0.008 -0.031,-0.008 -0.033,-0.008 -0.034,-0.006 -0.035,-0.006 -0.035,-0.005 -0.036,-0.004 -0.036,-0.003 -0.037,-0.002 -0.037,-0.002 -0.037,-0.001 -0.037,0 -0.037,0.001 -0.037,0.002 -0.036,0.002 -0.036,0.003 -0.036,0.004 -0.035,0.005"
|
||||
id="path36"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.9329791,1.1853194 0.775,0.132 0.016,-0.017 0.013,-0.017 0.012,-0.018 0.008,-0.018 0.008,-0.018 0.004,-0.019 10e-4,-0.018 0,-0.018 -0.003,-0.019 -0.004,-0.019 -0.008,-0.018 -0.009,-0.018 -0.012,-0.017 -0.014,-0.018 -0.016,-0.017 -0.018,-0.017 -0.02,-0.016 -0.023,-0.016 -0.024,-0.015 -0.686,0.20100002"
|
||||
id="path38"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 4.6121701,1.38473 0.098479,-0.059128 0.014482,-0.018039 0.013517,-0.018039 0.01062,-0.018039 0.00869,-0.018039 0.00772,-0.018039 0.00386,-0.018039 0.00193,-0.019041 0,-0.018039 -0.00386,-0.020044 -0.00386,-0.018039 -0.00676,-0.018039 -0.00965,-0.018039 -0.011586,-0.018039 -0.013517,-0.018039 -0.015448,-0.017037 -0.018344,-0.017037 -0.021241,-0.016035 -0.020275,-0.016035 -0.024137,-0.0160349 -0.1544773,-0.0591286"
|
||||
id="path40"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.0596842;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 3.9009791,1.5363194 -0.245,0.503 0.036,0.008 0.036,0.007 0.037,0.006 0.038,0.004 0.038,0.003 0.037,0.002 0.037,0 0.038,-0.002 0.037,-0.002 0.038,-0.004 0.036,-0.005 0.038,-0.007 0.035,-0.008 0.036,-0.009 0.034,-0.011 0.034,-0.012 0.033,-0.013 0.032,-0.014 0.031,-0.016 0.03,-0.016 0.028,-0.018 0.027,-0.019 0.027,-0.02 0.025,-0.02 0.022,-0.022 0.022,-0.021 0.02,-0.024 0.018,-0.024 0.016,-0.024 0.015,-0.025 0.014,-0.026 0.01,-0.025 0.01,-0.027 0.008,-0.027 0.006,-0.026 0.003,-0.028 0.002,-0.027 0,-0.027 -0.002,-0.027 -0.004,-0.027 -0.006,-0.026 -0.008,-0.028 -0.009,-0.025 -0.71,0.149"
|
||||
id="path42"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 3.6589791,2.0403194 0.036,0.008 0.036,0.007 0.037,0.006 0.037,0.004 0.037,0.002 0.038,0.002 0.038,10e-4 0.037,-0.003 0.038,-0.002 0.037,-0.004 0.037,-0.005 0.036,-0.007 0.036,-0.009 0.036,-0.009 0.034,-0.011 0.033,-0.011 0.034,-0.014 0.032,-0.014 0.031,-0.015 0.029,-0.018 0.029,-0.017 0.027,-0.019 0.026,-0.019 0.025,-0.021 0.023,-0.022 0.021,-0.022 0.019,-0.024 0.019,-0.023 0.016,-0.024 0.015,-0.025 0.014,-0.026 0.011,-0.026 0.008,-0.026 0.008,-0.027 0.006,-0.027 0.003,-0.027 0.002,-0.027 0,-0.027 -0.002,-0.027 -0.005,-0.027 -0.005,-0.028 -0.008,-0.026 -0.01,-0.026"
|
||||
id="path44"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 0.80297907,1.2493194 -0.037,-0.34200002 -0.028,0.002 -0.026,0.002 -0.027,0.004 -0.026,0.004 -0.026,0.005 -0.026,0.006 -0.024,0.007 -0.025,0.008 -0.024,0.008 -0.023,0.009 -0.022,0.01 -0.021,0.01 -0.021,0.012 -0.02,0.012 -0.019,0.013 -0.017,0.013 -0.017,0.014 -0.015,0.014 -0.015,0.015 -0.013,0.015 -0.011,0.016 -0.011,0.016 -0.01,0.016 -0.008,0.017 -0.006,0.017 -0.006,0.016 -0.004,0.018 -0.003,0.018 -0.001,0.017 0,0.017 0.001,0.018 0.003,0.017 0.004,0.017 0.006,0.017 0.007,0.017 0.008,0.017 0.009,0.016 0.011,0.016 0.012,0.016 0.013,0.015 0.016,0.015 0.015,0.014 0.017,0.014 0.018,0.013 0.018,0.013 0.02,0.011 0.021,0.011 0.021,0.012 0.022,0.009 0.024,0.009 0.023,0.009 0.243,-0.305"
|
||||
id="path46"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 0.76697907,0.90731938 -0.027,0.002 -0.027,0.002 -0.026,0.003 -0.026,0.005 -0.025,0.004 -0.026,0.006 -0.025,0.007 -0.023,0.007 -0.023,0.009 -0.023,0.009 -0.023,0.009 -0.021,0.01 -0.02,0.011 -0.02,0.012 -0.018,0.012 -0.018,0.013 -0.017,0.013 -0.016,0.015 -0.015,0.014 -0.012,0.014 -0.012,0.016 -0.012,0.015 -0.009,0.016 -0.009,0.016 -0.007,0.017 -0.006,0.017 -0.005,0.017 -0.003,0.017 -0.002,0.017 0,0.017 0,0.017 0.003,0.017 0.003,0.018 0.004,0.016 0.007,0.017 0.006,0.016 0.009,0.017 0.009,0.016 0.012,0.015 0.012,0.016 0.014,0.014 0.014,0.014 0.016,0.015 0.016,0.013 0.018,0.013 0.019,0.012 0.019,0.011 0.021,0.012 0.021,0.01 0.022,0.009 0.023,0.009 0.024,0.009"
|
||||
id="path48"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 2.7759791,1.7874896 -1.109,0.040159 0.008,0.020594 0.009,0.019565 0.013,0.020594 0.015,0.020595 0.018,0.019565 0.021,0.018535 0.023,0.018535 0.025,0.018535 0.029,0.018535 0.031,0.017505 0.032,0.015446 0.036,0.016475 0.037,0.015446 0.039,0.015446 0.042,0.013386 0.043,0.013386 0.045,0.011327 0.047,0.012357 0.048,0.010297 0.049,0.00927 0.051,0.00927 0.052,0.00824 0.053,0.00618 0.053,0.00618 0.055,0.00515 0.055,0.00412 0.056,0.00206 0.055,0.00206 0.057,0.00103 0.055,0 0.057,-0.00103 0.055,-0.00309 0.055,-0.00309 0.055,-0.00515 0.054,-0.00515 0.053,-0.00618 0.052,-0.00721 0.052,-0.00824 0.05,-0.010297 0.049,-0.00927 0.047,-0.011327 0.046,-0.011327 0.044,-0.013386 0.042,-0.014416 0.04,-0.013386 0.039,-0.015446 0.036,-0.015446 0.034,-0.016476 0.031,-0.016476 0.03,-0.017505 0.027,-0.019565 0.025,-0.017505 0.022,-0.019565 0.018,-0.018535 -1.056,-0.1307748"
|
||||
id="path50"
|
||||
style="fill:#ffffff;stroke:none" />
|
||||
<path
|
||||
d="m 1.6669791,1.8393194 0.008,0.019 0.01,0.02 0.012,0.02 0.016,0.019 0.017,0.019 0.021,0.018 0.023,0.018 0.025,0.019 0.03,0.017 0.03,0.017 0.032,0.015 0.036,0.016 0.037,0.015 0.039,0.015 0.042,0.013 0.044,0.013 0.043,0.011 0.048,0.012 0.047,0.01 0.049,0.009 0.051,0.009 0.052,0.008 0.053,0.006 0.053,0.005 0.055,0.006 0.054,0.003 0.056,0.003 0.056,0.002 0.056,10e-4 0.056,0 0.056,-10e-4 0.055,-0.003 0.055,-0.003 0.055,-0.005 0.054,-0.005 0.054,-0.006 0.051,-0.007 0.052,-0.008 0.05,-0.009 0.048,-0.01 0.048,-0.011 0.046,-0.011 0.043,-0.013 0.043,-0.012 0.04,-0.015 0.039,-0.014 0.036,-0.016 0.034,-0.015 0.032,-0.017 0.029,-0.016 0.027,-0.018 0.024,-0.018 0.022,-0.019 0.02,-0.018"
|
||||
id="path52"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.06067566;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<rect
|
||||
width="2.7800133"
|
||||
height="0.61515152"
|
||||
rx="0"
|
||||
ry="0.28983101"
|
||||
x="1.2692652"
|
||||
y="0.80605406"
|
||||
transform="matrix(0.999604,0.02812984,-0.02812984,0.999604,0,0)"
|
||||
id="rect1892"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
|
||||
<path
|
||||
d="m 2.5029776,1.9073766 0.023,-0.00895 0.020913,-0.00976 0.022119,-0.011947 0.021191,-0.0142 0.021284,-0.015682 0.02031,-0.017195 0.020402,-0.018676 0.020541,-0.020897 0.018455,-0.021702 0.018546,-0.023184 0.018685,-0.025405 0.016552,-0.02547 0.016691,-0.027691 0.014651,-0.029236 0.015717,-0.029204 0.013676,-0.03075 0.012702,-0.032263 0.012748,-0.033004 0.010665,-0.033809 0.010665,-0.033809 0.00863,-0.035354 0.00756,-0.035386 0.00653,-0.036158 0.00658,-0.0369 0.00445,-0.036963 0.00333,-0.036256 0.00236,-0.037768 0.00226,-0.036288 -9.319e-4,-0.036384 2.273e-4,-0.037833 -0.00205,-0.035676 -0.00413,-0.03648 L 2.883076,0.9720976 2.877836,0.9363258 2.871426,0.902003 2.863906,0.8683889 2.855226,0.8362236 2.845476,0.8040261 2.834621,0.7725371 2.82256,0.7432375 2.810453,0.7146786 2.797187,0.6875686 2.782854,0.6604265 2.768383,0.635506 2.751686,0.6120024 2.733784,0.590685 2.716948,0.569403 2.69886,0.5510511 2.679613,0.5341483 2.660319,0.517986 2.640887,0.5040454 2.620296,0.4915538 2.598453,0.4819918 2.577631,0.4732028"
|
||||
id="path24-7"
|
||||
style="fill:none;stroke:#6c8f93;stroke-width:0.107496;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
id="path2057-3"
|
||||
d="M 1.5298421,1.2403194 H 2.3548856 V 1.303797 L 2.577141,1.1602384 2.3548856,1.0313279 v 0.064457 H 1.5298421 v 0.1445348"
|
||||
style="fill:#6c8f93;fill-opacity:1;stroke:none;stroke-width:5.35746e-05;stroke-opacity:0.994961" />
|
||||
<path
|
||||
id="path2057-3-9"
|
||||
d="M 3.1225773,1.2403194 H 3.9476208 V 1.303797 L 4.1698762,1.1602384 3.9476208,1.0313279 v 0.064457 H 3.1225773 v 0.1445348"
|
||||
style="fill:#6c8f93;fill-opacity:1;stroke:none;stroke-width:5.35746e-05;stroke-opacity:0.994961" />
|
||||
<path
|
||||
id="path2057-3-5"
|
||||
d="m 1.5278616,0.86827348 h 0.8319275 v 0.063478 L 2.5838989,0.78819244 2.3597891,0.65928186 v 0.064457 H 1.5278616 v 0.14453482"
|
||||
style="fill:#6c8f93;fill-opacity:1;stroke:none;stroke-width:5.37977e-05;stroke-opacity:0.994961" />
|
||||
<path
|
||||
id="path2057-3-6"
|
||||
d="m 1.527029,1.6225499 h 0.8217599 v 0.063478 L 2.5701597,1.5424689 2.3487889,1.4135585 v 0.064457 H 1.5270291 v 0.1445347"
|
||||
style="fill:#6c8f93;fill-opacity:1;stroke:none;stroke-width:5.34679e-05;stroke-opacity:0.994961" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 30 KiB |
@@ -60,7 +60,7 @@ def parse_version(version):
|
||||
"""
|
||||
|
||||
release_type_found = False
|
||||
version_infos = re.split('(\.|[a-z]+)', version)
|
||||
version_infos = re.split(r'(\.|[a-z]+)', version)
|
||||
version = []
|
||||
for info in version_infos:
|
||||
if info == '.' or len(info) == 0:
|
||||
|
||||
@@ -190,6 +190,11 @@ class AsyncioTelnetServer:
|
||||
sock = network_writer.get_extra_info("socket")
|
||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
||||
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
||||
# 60 sec keep alives, close tcp session after 4 missed
|
||||
# Will keep a firewall from aging out telnet console.
|
||||
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)
|
||||
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 10)
|
||||
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4)
|
||||
#log.debug("New connection from {}".format(sock.getpeername()))
|
||||
|
||||
# Keep track of connected clients
|
||||
@@ -292,9 +297,17 @@ class AsyncioTelnetServer:
|
||||
reader_read = await self._get_reader(network_reader)
|
||||
|
||||
# Replicate the output on all clients
|
||||
for connection in self._connections.values():
|
||||
connection.writer.write(data)
|
||||
await connection.writer.drain()
|
||||
for connection_key in list(self._connections.keys()):
|
||||
client_info = connection_key.get_extra_info("socket").getpeername()
|
||||
connection = self._connections[connection_key]
|
||||
|
||||
try:
|
||||
connection.writer.write(data)
|
||||
await asyncio.wait_for(connection.writer.drain(), timeout=10)
|
||||
except:
|
||||
log.debug(f"Timeout while sending data to client: {client_info}, closing and removing from connection table.")
|
||||
connection.close()
|
||||
del self._connections[connection_key]
|
||||
|
||||
async def _read(self, cmd, buffer, location, reader):
|
||||
""" Reads next op from the buffer or reader"""
|
||||
|
||||
@@ -53,7 +53,6 @@ def list_images(emulator_type):
|
||||
directory = os.path.normpath(directory)
|
||||
for root, _, filenames in _os_walk(directory, recurse=recurse):
|
||||
for filename in filenames:
|
||||
path = os.path.join(root, filename)
|
||||
if filename not in files:
|
||||
if filename.endswith(".md5sum") or filename.startswith("."):
|
||||
continue
|
||||
@@ -73,8 +72,9 @@ def list_images(emulator_type):
|
||||
with open(os.path.join(root, filename), "rb") as f:
|
||||
# read the first 7 bytes of the file.
|
||||
elf_header_start = f.read(7)
|
||||
# valid IOS images must start with the ELF magic number, be 32-bit, big endian and have an ELF version of 1
|
||||
if not elf_header_start == b'\x7fELF\x01\x02\x01' and not elf_header_start == b'\x7fELF\x01\x01\x01':
|
||||
# valid IOU or IOS images must start with the ELF magic number, be 32-bit or 64-bit,
|
||||
# little endian and have an ELF version of 1
|
||||
if elf_header_start != b'\x7fELF\x02\x01\x01' and elf_header_start != b'\x7fELF\x01\x01\x01':
|
||||
continue
|
||||
|
||||
images.append({
|
||||
|
||||
@@ -46,7 +46,7 @@ def _get_windows_interfaces_from_registry():
|
||||
hkeycard = winreg.OpenKey(hkey, network_card_id)
|
||||
guid, _ = winreg.QueryValueEx(hkeycard, "ServiceName")
|
||||
netcard, _ = winreg.QueryValueEx(hkeycard, "Description")
|
||||
connection = r"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" + "\{}\Connection".format(guid)
|
||||
connection = r"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" + r"\{}\Connection".format(guid)
|
||||
hkeycon = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, connection)
|
||||
name, _ = winreg.QueryValueEx(hkeycon, "Name")
|
||||
interface = r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{}".format(guid)
|
||||
@@ -92,7 +92,7 @@ def get_windows_interfaces():
|
||||
interfaces = []
|
||||
try:
|
||||
locator = win32com.client.Dispatch("WbemScripting.SWbemLocator")
|
||||
service = locator.ConnectServer(".", "root\cimv2")
|
||||
service = locator.ConnectServer(".", r"root\cimv2")
|
||||
network_configs = service.InstancesOf("Win32_NetworkAdapterConfiguration")
|
||||
# more info on Win32_NetworkAdapter: http://msdn.microsoft.com/en-us/library/aa394216%28v=vs.85%29.aspx
|
||||
for adapter in service.InstancesOf("Win32_NetworkAdapter"):
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
# or negative for a release candidate or beta (after the base version
|
||||
# number has been incremented)
|
||||
|
||||
__version__ = "2.2.45"
|
||||
__version_info__ = (2, 2, 45, 0)
|
||||
__version__ = "2.2.47"
|
||||
__version_info__ = (2, 2, 47, 0)
|
||||
|
||||
if "dev" in __version__:
|
||||
try:
|
||||
|
||||
@@ -118,7 +118,7 @@ class WebServer:
|
||||
|
||||
if self._server:
|
||||
self._server.close()
|
||||
await self._server.wait_closed()
|
||||
# await self._server.wait_closed()
|
||||
if self._app:
|
||||
await self._app.shutdown()
|
||||
if self._handler:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
[pytest]
|
||||
asyncio_mode=auto
|
||||
log_level=NOTSET
|
||||
ignore=env
|
||||
@@ -1,19 +1,13 @@
|
||||
jsonschema>=4.17.3,<4.18; python_version >= '3.7' # v4.17.3 is the last version to support Python 3.7
|
||||
jsonschema==3.2.0; python_version < '3.7' # v3.2.0 is the last version to support Python 3.6
|
||||
aiohttp>=3.8.5,<3.9; python_version <= '3.7'
|
||||
aiohttp>=3.9.0,<3.10; python_version > '3.7'
|
||||
jsonschema>=4.22.0,<4.23
|
||||
aiohttp>=3.9.5,<3.10
|
||||
aiohttp-cors>=0.7.0,<0.8
|
||||
aiofiles>=23.2.1,<23.3; python_version >= '3.7'
|
||||
aiofiles==0.8.0; python_version < '3.7' # v0.8.0 is the last version to support Python 3.6
|
||||
Jinja2>=3.1.2,<3.2; python_version >= '3.7'
|
||||
Jinja2==3.0.3; python_version < '3.7' # v3.0.3 is the last version to support Python 3.6
|
||||
sentry-sdk==1.36.0,<1.37
|
||||
psutil==5.9.6
|
||||
async-timeout>=4.0.2,<4.1
|
||||
distro>=1.8.0
|
||||
aiofiles>=23.2.1,<23.3
|
||||
Jinja2>=3.1.4,<3.2
|
||||
sentry-sdk==2.1.1,<2.2
|
||||
psutil==5.9.8
|
||||
async-timeout>=4.0.3,<4.1
|
||||
distro>=1.9.0
|
||||
py-cpuinfo>=9.0.0,<10.0
|
||||
platformdirs>=2.4.0
|
||||
importlib-resources>=1.3; python_version < '3.9'
|
||||
truststore>=0.8.0; python_version >= '3.10'
|
||||
setuptools>=60.8.1; python_version >= '3.7'
|
||||
setuptools==59.6.0; python_version < '3.7' # v59.6.0 is the last version to support Python 3.6
|
||||
truststore>=0.9.1; python_version >= '3.10'
|
||||
@@ -163,9 +163,9 @@ log "Install GNS3 packages"
|
||||
apt-get install -y gns3-server
|
||||
|
||||
log "Create user GNS3 with /opt/gns3 as home directory"
|
||||
if [ ! -d "/opt/gns3/" ]
|
||||
if [ ! -d "/opt/gns3" ]
|
||||
then
|
||||
useradd -m -d /opt/gns3/ gns3
|
||||
useradd -m -d /opt/gns3 gns3
|
||||
fi
|
||||
|
||||
|
||||
@@ -304,6 +304,11 @@ log "GNS3 installed with success"
|
||||
|
||||
if [ $WELCOME_SETUP == 1 ]
|
||||
then
|
||||
cat <<EOFI > /etc/sudoers.d/gns3
|
||||
gns3 ALL = (ALL) NOPASSWD: /usr/bin/apt-key
|
||||
gns3 ALL = (ALL) NOPASSWD: /usr/bin/apt-get
|
||||
gns3 ALL = (ALL) NOPASSWD: /usr/sbin/reboot
|
||||
EOFI
|
||||
NEEDRESTART_MODE=a apt-get install -y net-tools
|
||||
NEEDRESTART_MODE=a apt-get install -y python3-pip
|
||||
NEEDRESTART_MODE=a apt-get install -y dialog
|
||||
@@ -462,4 +467,4 @@ NEEDRESTART_MODE=a apt-get upgrade
|
||||
python3 -c 'import sys; sys.path.append("/usr/local/bin/"); import welcome; ws = welcome.Welcome_dialog(); ws.repair_remote_install()'
|
||||
cd /opt/gns3
|
||||
su gns3
|
||||
fi
|
||||
fi
|
||||
@@ -69,21 +69,21 @@ mkdir -p "$GNS3SERVER_DIR/gns3server/static/web-ui/"
|
||||
if [ "$CUSTOM_REPO" = false ] ; then
|
||||
if [ ! -d /tmp/gns3-web-ui ]; then
|
||||
git clone https://github.com/GNS3/gns3-web-ui.git "$REPO_DIR"
|
||||
else
|
||||
cd "$REPO_DIR"
|
||||
|
||||
git checkout 2.2
|
||||
git fetch --tags
|
||||
git pull
|
||||
|
||||
if [[ -n "$TAG" ]]
|
||||
then
|
||||
echo "Switching to tag: ${TAG}"
|
||||
git checkout "tags/${TAG}"
|
||||
fi
|
||||
|
||||
cd "$CURRENT_DIR"
|
||||
fi
|
||||
|
||||
cd "$REPO_DIR"
|
||||
|
||||
git checkout 2.2
|
||||
git fetch --tags
|
||||
git pull
|
||||
|
||||
if [[ -n "$TAG" ]]
|
||||
then
|
||||
echo "Switching to tag: ${TAG}"
|
||||
git checkout "tags/${TAG}"
|
||||
fi
|
||||
|
||||
cd "$CURRENT_DIR"
|
||||
fi
|
||||
|
||||
echo "Current working dir $REPO_DIR"
|
||||
|
||||
@@ -163,19 +163,38 @@ class Welcome_dialog:
|
||||
|
||||
def update(self, force=False):
|
||||
if not force:
|
||||
if self.display.yesno("PLEASE SNAPSHOT THE VM BEFORE RUNNING THE UPGRADE IN CASE OF FAILURE. The server will reboot at the end of the upgrade process. Continue?") != self.display.OK:
|
||||
if self.display.yesno("It is recommended to ensure all Nodes are shutdown before upgrading. Continue?") != self.display.OK:
|
||||
return
|
||||
release = self.get_release()
|
||||
if release == "2.2":
|
||||
if self.display.yesno("It is recommended to run GNS3 version 2.2 with lastest GNS3 VM based on Ubuntu 18.04 LTS, please download this VM from our website or continue at your own risk!") != self.display.OK:
|
||||
code, option = self.display.menu("Select an option",
|
||||
choices=[("Upgrade GNS3", "Upgrades only the GNS3 pakage and dependences."),
|
||||
("Upgrade All", "Upgrades all avaiable packages"),
|
||||
("Dist Upgrade", "Upgrades all avaiable packages and the Linux Kernel. Requires a reboot.")])
|
||||
if code == Dialog.OK:
|
||||
if option == "Upgrade GNS3":
|
||||
ret = os.system(
|
||||
"sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2E3EF7B \
|
||||
&& sudo apt-get update \
|
||||
&& sudo apt-get install -y --only-upgrade gns3-server"
|
||||
)
|
||||
elif option == "Upgrade All":
|
||||
ret = os.system(
|
||||
'sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com \
|
||||
&& sudo apt-get update \
|
||||
&& sudo apt-get upgrade --yes --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'
|
||||
)
|
||||
elif option == "Dist Upgrade":
|
||||
ret = os.system(
|
||||
'sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com \
|
||||
&& sudo apt-get update \
|
||||
&& sudo apt-get dist-upgrade --yes --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"'
|
||||
)
|
||||
if ret != 0:
|
||||
print("ERROR DURING UPGRADE PROCESS PLEASE TAKE A SCREENSHOT IF YOU NEED SUPPORT")
|
||||
time.sleep(15)
|
||||
return
|
||||
if release.endswith("dev"):
|
||||
ret = os.system("curl -Lk https://raw.githubusercontent.com/GNS3/gns3-vm/unstable/scripts/update_{}.sh > /tmp/update.sh && bash -x /tmp/update.sh".format(release))
|
||||
else:
|
||||
ret = os.system("curl -Lk https://raw.githubusercontent.com/GNS3/gns3-vm/master/scripts/update_{}.sh > /tmp/update.sh && bash -x /tmp/update.sh".format(release))
|
||||
if ret != 0:
|
||||
print("ERROR DURING UPGRADE PROCESS PLEASE TAKE A SCREENSHOT IF YOU NEED SUPPORT")
|
||||
time.sleep(15)
|
||||
if option == "Dist Upgrade":
|
||||
if self.display.yesno("Reboot now?") == self.display.OK:
|
||||
os.system("sudo reboot now")
|
||||
|
||||
|
||||
def migrate(self):
|
||||
@@ -438,7 +457,8 @@ Images and projects are located in /opt/gns3
|
||||
self.display.clear()
|
||||
if code == Dialog.OK:
|
||||
if tag == "Shell":
|
||||
os.execvp("bash", ['/bin/bash'])
|
||||
print("Type: 'welcome.py' to get back to the dialog menu.")
|
||||
sys.exit(0)
|
||||
elif tag == "Version":
|
||||
self.mode()
|
||||
elif tag == "Restore":
|
||||
|
||||
@@ -23,9 +23,9 @@ import subprocess
|
||||
from setuptools import setup, find_packages
|
||||
from setuptools.command.test import test as TestCommand
|
||||
|
||||
# we only support Python 3 version >= 3.5.3
|
||||
if len(sys.argv) >= 2 and sys.argv[1] == "install" and sys.version_info < (3, 5, 3):
|
||||
raise SystemExit("Python 3.5.3 or higher is required")
|
||||
# we only support Python 3 version >= 3.7
|
||||
if len(sys.argv) >= 2 and sys.argv[1] == "install" and sys.version_info < (3, 7):
|
||||
raise SystemExit("Python 3.7 or higher is required")
|
||||
|
||||
|
||||
class PyTest(TestCommand):
|
||||
@@ -43,28 +43,6 @@ class PyTest(TestCommand):
|
||||
sys.exit(errcode)
|
||||
|
||||
|
||||
BUSYBOX_PATH = "gns3server/compute/docker/resources/bin/busybox"
|
||||
|
||||
|
||||
def copy_busybox():
|
||||
if not sys.platform.startswith("linux"):
|
||||
return
|
||||
if os.path.isfile(BUSYBOX_PATH):
|
||||
return
|
||||
for bb_cmd in ("busybox-static", "busybox.static", "busybox"):
|
||||
bb_path = shutil.which(bb_cmd)
|
||||
if bb_path:
|
||||
if subprocess.call(["ldd", bb_path],
|
||||
stdin=subprocess.DEVNULL,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL):
|
||||
shutil.copy2(bb_path, BUSYBOX_PATH, follow_symlinks=True)
|
||||
break
|
||||
else:
|
||||
raise SystemExit("No static busybox found")
|
||||
|
||||
|
||||
copy_busybox()
|
||||
dependencies = open("requirements.txt", "r").read().splitlines()
|
||||
|
||||
setup(
|
||||
@@ -89,7 +67,7 @@ setup(
|
||||
include_package_data=True,
|
||||
zip_safe=False,
|
||||
platforms="any",
|
||||
python_requires='>=3.6.0',
|
||||
python_requires='>=3.7',
|
||||
setup_requires=["setuptools>=17.1"],
|
||||
classifiers=[
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
@@ -103,8 +81,6 @@ setup(
|
||||
"Operating System :: Microsoft :: Windows",
|
||||
"Programming Language :: Python",
|
||||
"Programming Language :: Python :: 3 :: Only",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
|
||||
@@ -31,7 +31,7 @@ def nio():
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop):
|
||||
async def manager():
|
||||
|
||||
m = MagicMock()
|
||||
m.module_name = "builtins"
|
||||
@@ -113,7 +113,7 @@ def test_json_without_ports(on_gns3vm, compute_project, manager):
|
||||
}
|
||||
|
||||
|
||||
async def test_update_port_mappings(loop, on_gns3vm, compute_project):
|
||||
async def test_update_port_mappings(on_gns3vm, compute_project):
|
||||
"""
|
||||
We don't allow an empty interface in the middle of port list
|
||||
"""
|
||||
@@ -153,7 +153,7 @@ async def test_update_port_mappings(loop, on_gns3vm, compute_project):
|
||||
assert cloud.ports_mapping == ports1
|
||||
|
||||
|
||||
async def test_linux_ethernet_raw_add_nio(loop, linux_platform, compute_project, nio):
|
||||
async def test_linux_ethernet_raw_add_nio(linux_platform, compute_project, nio):
|
||||
ports = [
|
||||
{
|
||||
"interface": "eth0",
|
||||
@@ -180,7 +180,7 @@ async def test_linux_ethernet_raw_add_nio(loop, linux_platform, compute_project,
|
||||
])
|
||||
|
||||
|
||||
async def test_linux_ethernet_raw_add_nio_bridge(loop, linux_platform, compute_project, nio):
|
||||
async def test_linux_ethernet_raw_add_nio_bridge(linux_platform, compute_project, nio):
|
||||
"""
|
||||
Bridge can't be connected directly to a cloud we use a tap in the middle
|
||||
"""
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import asyncio
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
@@ -24,7 +25,7 @@ from gns3server.compute.docker.docker_error import DockerError, DockerHttp404Err
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def vm(loop):
|
||||
async def vm():
|
||||
|
||||
vm = Docker()
|
||||
vm._connected = True
|
||||
@@ -200,3 +201,52 @@ async def test_docker_check_connection_docker_preferred_version_against_older(vm
|
||||
vm._connected = False
|
||||
await vm._check_connection()
|
||||
assert vm._api_version == DOCKER_MINIMUM_API_VERSION
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_install_busybox():
|
||||
|
||||
mock_process = MagicMock()
|
||||
mock_process.returncode = 1 # means that busybox is not dynamically linked
|
||||
mock_process.communicate = AsyncioMagicMock(return_value=(b"", b"not a dynamic executable"))
|
||||
|
||||
with patch("gns3server.compute.docker.os.path.isfile", return_value=False):
|
||||
with patch("gns3server.compute.docker.shutil.which", return_value="/usr/bin/busybox"):
|
||||
with asyncio_patch("gns3server.compute.docker.asyncio.create_subprocess_exec", return_value=mock_process) as create_subprocess_mock:
|
||||
with patch("gns3server.compute.docker.shutil.copy2") as copy2_mock:
|
||||
dst_dir = Docker.resources_path()
|
||||
await Docker.install_busybox(dst_dir)
|
||||
create_subprocess_mock.assert_called_with(
|
||||
"ldd",
|
||||
"/usr/bin/busybox",
|
||||
stdout=asyncio.subprocess.PIPE,
|
||||
stderr=asyncio.subprocess.DEVNULL,
|
||||
)
|
||||
assert copy2_mock.called
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_install_busybox_dynamic_linked():
|
||||
|
||||
mock_process = MagicMock()
|
||||
mock_process.returncode = 0 # means that busybox is dynamically linked
|
||||
mock_process.communicate = AsyncioMagicMock(return_value=(b"Dynamically linked library", b""))
|
||||
|
||||
with patch("os.path.isfile", return_value=False):
|
||||
with patch("gns3server.compute.docker.shutil.which", return_value="/usr/bin/busybox"):
|
||||
with asyncio_patch("gns3server.compute.docker.asyncio.create_subprocess_exec", return_value=mock_process):
|
||||
with pytest.raises(DockerError) as e:
|
||||
dst_dir = Docker.resources_path()
|
||||
await Docker.install_busybox(dst_dir)
|
||||
assert str(e.value) == "No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_install_busybox_no_executables():
|
||||
|
||||
with patch("gns3server.compute.docker.os.path.isfile", return_value=False):
|
||||
with patch("gns3server.compute.docker.shutil.which", return_value=None):
|
||||
with pytest.raises(DockerError) as e:
|
||||
dst_dir = Docker.resources_path()
|
||||
await Docker.install_busybox(dst_dir)
|
||||
assert str(e.value) == "No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH"
|
||||
@@ -25,16 +25,17 @@ from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||
|
||||
from gns3server.ubridge.ubridge_error import UbridgeNamespaceError
|
||||
from gns3server.compute.docker.docker_vm import DockerVM
|
||||
from gns3server.compute.docker.docker_error import DockerError, DockerHttp404Error, DockerHttp304Error
|
||||
from gns3server.compute.docker.docker_error import DockerError, DockerHttp404Error
|
||||
from gns3server.compute.docker import Docker
|
||||
from gns3server.utils.get_resource import get_resource
|
||||
|
||||
|
||||
from unittest.mock import patch, MagicMock, call
|
||||
|
||||
|
||||
pytestmark = pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = Docker.instance()
|
||||
m.port_manager = port_manager
|
||||
@@ -42,7 +43,7 @@ async def manager(loop, port_manager):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def vm(loop, compute_project, manager):
|
||||
async def vm(compute_project, manager):
|
||||
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
||||
vm._cid = "e90e34656842"
|
||||
@@ -101,7 +102,7 @@ async def test_create(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -139,7 +140,7 @@ async def test_create_with_tag(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -180,7 +181,7 @@ async def test_create_vnc(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"/tmp/.X11-unix/X{0}:/tmp/.X11-unix/X{0}:ro".format(vm._display)
|
||||
],
|
||||
@@ -310,7 +311,7 @@ async def test_create_start_cmd(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -408,7 +409,7 @@ async def test_create_image_not_available(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -451,7 +452,7 @@ async def test_create_with_user(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -533,7 +534,7 @@ async def test_create_with_extra_volumes_duplicate_1_image(compute_project, mana
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes/vol/1".format(os.path.join(vm.working_dir, "vol", "1")),
|
||||
],
|
||||
@@ -572,7 +573,7 @@ async def test_create_with_extra_volumes_duplicate_2_user(compute_project, manag
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes/vol/1".format(os.path.join(vm.working_dir, "vol", "1")),
|
||||
],
|
||||
@@ -611,7 +612,7 @@ async def test_create_with_extra_volumes_duplicate_3_subdir(compute_project, man
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes/vol".format(os.path.join(vm.working_dir, "vol")),
|
||||
],
|
||||
@@ -650,7 +651,7 @@ async def test_create_with_extra_volumes_duplicate_4_backslash(compute_project,
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes/vol".format(os.path.join(vm.working_dir, "vol")),
|
||||
],
|
||||
@@ -689,7 +690,7 @@ async def test_create_with_extra_volumes_duplicate_5_subdir_issue_1595(compute_p
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc".format(os.path.join(vm.working_dir, "etc")),
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -727,7 +728,7 @@ async def test_create_with_extra_volumes_duplicate_6_subdir_issue_1595(compute_p
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc".format(os.path.join(vm.working_dir, "etc")),
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -771,7 +772,7 @@ async def test_create_with_extra_volumes(compute_project, manager):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes/vol/1".format(os.path.join(vm.working_dir, "vol", "1")),
|
||||
"{}:/gns3volumes/vol/2".format(os.path.join(vm.working_dir, "vol", "2")),
|
||||
@@ -854,7 +855,7 @@ async def test_unpause(vm):
|
||||
mock.assert_called_with("POST", "containers/e90e34656842/unpause")
|
||||
|
||||
|
||||
async def test_start(vm, manager, free_console_port):
|
||||
async def test_start(vm, manager, free_console_port, tmpdir):
|
||||
|
||||
assert vm.status != "started"
|
||||
vm.adapters = 1
|
||||
@@ -882,6 +883,31 @@ async def test_start(vm, manager, free_console_port):
|
||||
assert vm.status == "started"
|
||||
|
||||
|
||||
async def test_resources_installed(vm, manager, tmpdir):
|
||||
|
||||
assert vm.status != "started"
|
||||
vm.adapters = 1
|
||||
|
||||
docker_resources_path = os.path.join(tmpdir, "docker", "resources")
|
||||
os.makedirs(docker_resources_path, exist_ok=True)
|
||||
manager.resources_path = MagicMock(return_value=docker_resources_path)
|
||||
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM._get_container_state", return_value="stopped"):
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query"):
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM._start_ubridge"):
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM._get_namespace", return_value=42):
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM._add_ubridge_connection"):
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM._start_console"):
|
||||
await vm.start()
|
||||
|
||||
assert vm.status == "started"
|
||||
assert os.path.exists(os.path.join(docker_resources_path, "init.sh"))
|
||||
assert os.path.exists(os.path.join(docker_resources_path, "run-cmd.sh"))
|
||||
assert os.path.exists(os.path.join(docker_resources_path, "bin", "busybox"))
|
||||
assert os.path.exists(os.path.join(docker_resources_path, "bin", "udhcpc"))
|
||||
assert os.path.exists(os.path.join(docker_resources_path, "etc", "udhcpc", "default.script"))
|
||||
|
||||
|
||||
async def test_start_namespace_failed(vm, manager, free_console_port):
|
||||
|
||||
assert vm.status != "started"
|
||||
@@ -996,7 +1022,7 @@ async def test_update(vm):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -1064,7 +1090,7 @@ async def test_update_running(vm):
|
||||
{
|
||||
"CapAdd": ["ALL"],
|
||||
"Binds": [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network"))
|
||||
],
|
||||
"Privileged": True
|
||||
@@ -1325,7 +1351,7 @@ async def test_mount_binds(vm):
|
||||
|
||||
dst = os.path.join(vm.working_dir, "test/experimental")
|
||||
assert vm._mount_binds(image_infos) == [
|
||||
"{}:/gns3:ro".format(get_resource("compute/docker/resources")),
|
||||
"{}:/gns3:ro".format(Docker.resources_path()),
|
||||
"{}:/gns3volumes/etc/network".format(os.path.join(vm.working_dir, "etc", "network")),
|
||||
"{}:/gns3volumes{}".format(dst, "/test/experimental")
|
||||
]
|
||||
|
||||
@@ -29,7 +29,7 @@ from tests.utils import asyncio_patch, AsyncioMagicMock
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = Dynamips.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -26,7 +26,7 @@ from gns3server.config import Config
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = Dynamips.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -37,7 +37,7 @@ if not sys.platform.startswith("win"):
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = IOU.instance()
|
||||
m.port_manager = port_manager
|
||||
@@ -45,7 +45,7 @@ async def manager(loop, port_manager):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def vm(loop, compute_project, manager, tmpdir, fake_iou_bin, iourc_file):
|
||||
async def vm(compute_project, manager, tmpdir, fake_iou_bin, iourc_file):
|
||||
|
||||
vm = IOUVM("test", str(uuid.uuid4()), compute_project, manager, application_id=1)
|
||||
config = manager.config.get_section_config("IOU")
|
||||
|
||||
@@ -66,7 +66,7 @@ def test_invalid_empty_file(tmpdir):
|
||||
|
||||
|
||||
@pytest.mark.skipif(qemu_img() is None, reason="qemu-img is not available")
|
||||
async def test_rebase(loop, tmpdir):
|
||||
async def test_rebase(tmpdir):
|
||||
|
||||
shutil.copy("tests/resources/empty8G.qcow2", str(tmpdir / "empty16G.qcow2"))
|
||||
shutil.copy("tests/resources/linked.qcow2", str(tmpdir / "linked.qcow2"))
|
||||
|
||||
@@ -195,6 +195,7 @@ async def test_create_image_with_not_supported_characters_by_filesystem(tmpdir,
|
||||
|
||||
# patching os.makedirs is necessary as it depends on already mocked os.path.exists
|
||||
with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()) as process, \
|
||||
patch("gns3server.compute.qemu.Qemu._init_config_disk", return_value=MagicMock()), \
|
||||
patch("gns3server.compute.qemu.Qemu.get_images_directory", return_value=str(tmpdir)), \
|
||||
patch("os.path.exists", side_effect=UnicodeEncodeError('error', u"", 1, 2, 'Emulated Unicode Err')),\
|
||||
patch("os.makedirs"):
|
||||
|
||||
@@ -34,7 +34,7 @@ from gns3server.compute.notification_manager import NotificationManager
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = Qemu.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -29,7 +29,7 @@ from gns3server.compute.nios.nio_udp import NIOUDP
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VPCS.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -29,7 +29,7 @@ from gns3server.utils import force_unix_path
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def vpcs(loop, port_manager):
|
||||
async def vpcs(port_manager):
|
||||
|
||||
VPCS._instance = None
|
||||
vpcs = VPCS.instance()
|
||||
@@ -38,7 +38,7 @@ async def vpcs(loop, port_manager):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def qemu(loop, port_manager):
|
||||
async def qemu(port_manager):
|
||||
|
||||
Qemu._instance = None
|
||||
Qemu._init_config_disk = MagicMock() # do not create the config.img image
|
||||
|
||||
@@ -33,7 +33,7 @@ from gns3server.config import Config
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VPCS.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -28,7 +28,7 @@ from gns3server.compute.notification_manager import NotificationManager
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = TraceNG.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -29,7 +29,7 @@ from tests.utils import asyncio_patch
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VirtualBox.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -25,7 +25,7 @@ from gns3server.compute.virtualbox import VirtualBox
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VirtualBox.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -21,7 +21,7 @@ from gns3server.compute.vmware import VMware
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VMware.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -22,7 +22,7 @@ from gns3server.compute.vmware import VMware
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VMware.instance()
|
||||
m.port_manager = port_manager
|
||||
|
||||
@@ -31,7 +31,7 @@ from gns3server.compute.notification_manager import NotificationManager
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def manager(loop, port_manager):
|
||||
async def manager(port_manager):
|
||||
|
||||
m = VPCS.instance()
|
||||
m.port_manager = port_manager
|
||||
@@ -39,7 +39,7 @@ async def manager(loop, port_manager):
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def vm(loop, compute_project, manager, tmpdir, ubridge_path):
|
||||
async def vm(compute_project, manager, tmpdir, ubridge_path):
|
||||
|
||||
vm = VPCSVM("test", "00010203-0405-0607-0809-0a0b0c0d0e0f", compute_project, manager)
|
||||
vm._vpcs_version = parse_version("0.9")
|
||||
|
||||
@@ -24,7 +24,7 @@ sys.original_platform = sys.platform
|
||||
|
||||
|
||||
if sys.platform.startswith("win"):
|
||||
@pytest.yield_fixture(scope="session")
|
||||
@pytest.fixture(scope="session")
|
||||
def loop(request):
|
||||
"""Return an event loop and destroy it at the end of test"""
|
||||
|
||||
@@ -72,7 +72,7 @@ def compute(controller):
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def project(loop, tmpdir, controller):
|
||||
async def project(tmpdir, controller):
|
||||
|
||||
return await controller.add_project(name="Test")
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ async def test_start(gns3vm, controller):
|
||||
assert gns3vm.password == "world"
|
||||
|
||||
|
||||
async def test_start_invalid_vm(loop, gns3vm, controller):
|
||||
async def test_start_invalid_vm(gns3vm, controller):
|
||||
|
||||
await controller.add_compute("r1",
|
||||
name="R1",
|
||||
@@ -63,7 +63,8 @@ async def test_start_invalid_vm(loop, gns3vm, controller):
|
||||
host="r1.local",
|
||||
port=8484,
|
||||
user="hello",
|
||||
password="world")
|
||||
password="world",
|
||||
connect=False)
|
||||
|
||||
gns3vm.vmname = "R2"
|
||||
with pytest.raises(GNS3VMError):
|
||||
|
||||
@@ -25,7 +25,7 @@ from gns3server.controller.gns3vm.virtualbox_gns3_vm import VirtualBoxGNS3VM
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def gns3vm(loop, controller):
|
||||
async def gns3vm(controller):
|
||||
|
||||
vm = VirtualBoxGNS3VM(controller)
|
||||
vm.vmname = "GNS3 VM"
|
||||
|
||||
@@ -21,7 +21,7 @@ from gns3server.controller.gns3vm.vmware_gns3_vm import VMwareGNS3VM
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def gns3vm(loop, controller):
|
||||
async def gns3vm(controller):
|
||||
|
||||
vm = VMwareGNS3VM(controller)
|
||||
vm.vmname = "GNS3 VM"
|
||||
|
||||
@@ -33,7 +33,7 @@ from gns3server.utils.asyncio import aiozipstream
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def project(loop, controller):
|
||||
async def project(controller):
|
||||
|
||||
p = Project(controller=controller, name="test")
|
||||
p.dump = MagicMock()
|
||||
@@ -111,6 +111,7 @@ async def test_export(tmpdir, project):
|
||||
f.write("HELLO")
|
||||
with open(os.path.join(path, "vm-1", "dynamips", "test_log.txt"), 'w+') as f:
|
||||
f.write("LOG")
|
||||
os.makedirs(os.path.join(path, "vm-1", "dynamips", "empty-dir"))
|
||||
os.makedirs(os.path.join(path, "project-files", "snapshots"))
|
||||
with open(os.path.join(path, "project-files", "snapshots", "test"), 'w+') as f:
|
||||
f.write("WORLD")
|
||||
@@ -127,6 +128,7 @@ async def test_export(tmpdir, project):
|
||||
|
||||
assert 'test.gns3' not in myzip.namelist()
|
||||
assert 'project.gns3' in myzip.namelist()
|
||||
assert 'vm-1/dynamips/empty-dir/' in myzip.namelist()
|
||||
assert 'project-files/snapshots/test' not in myzip.namelist()
|
||||
assert 'vm-1/dynamips/test_log.txt' not in myzip.namelist()
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ def dummy_gns3vm(controller, dummy_engine):
|
||||
return vm
|
||||
|
||||
|
||||
async def test_list(loop, controller):
|
||||
async def test_list(controller):
|
||||
|
||||
vm = GNS3VM(controller)
|
||||
with asyncio_patch("gns3server.controller.gns3vm.vmware_gns3_vm.VMwareGNS3VM.list", return_value=[{"vmname": "test", "vmx_path": "test"}]):
|
||||
@@ -60,14 +60,14 @@ async def test_list(loop, controller):
|
||||
await vm.list("hyperv")
|
||||
|
||||
|
||||
async def test_json(loop, controller):
|
||||
async def test_json(controller):
|
||||
|
||||
vm = GNS3VM(controller)
|
||||
assert vm.__json__() == vm._settings
|
||||
|
||||
|
||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not working well on Windows")
|
||||
async def test_update_settings(loop, controller):
|
||||
async def test_update_settings(controller):
|
||||
|
||||
vm = GNS3VM(controller)
|
||||
vm.settings = {
|
||||
|
||||
@@ -166,7 +166,7 @@ async def test_import_with_images(tmpdir, controller):
|
||||
assert os.path.exists(path), path
|
||||
|
||||
|
||||
async def test_import_iou_linux_no_vm(loop, linux_platform, tmpdir, controller):
|
||||
async def test_import_iou_linux_no_vm(linux_platform, tmpdir, controller):
|
||||
"""
|
||||
On non linux host IOU should be local if we don't have a GNS3 VM
|
||||
"""
|
||||
@@ -210,7 +210,7 @@ async def test_import_iou_linux_no_vm(loop, linux_platform, tmpdir, controller):
|
||||
assert topo["topology"]["nodes"][0]["compute_id"] == "local"
|
||||
|
||||
|
||||
async def test_import_iou_linux_with_vm(loop, linux_platform, tmpdir, controller):
|
||||
async def test_import_iou_linux_with_vm(linux_platform, tmpdir, controller):
|
||||
"""
|
||||
On non linux host IOU should be vm if we have a GNS3 VM configured
|
||||
"""
|
||||
@@ -255,7 +255,7 @@ async def test_import_iou_linux_with_vm(loop, linux_platform, tmpdir, controller
|
||||
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
||||
|
||||
|
||||
async def test_import_nat_non_linux(loop, windows_platform, tmpdir, controller):
|
||||
async def test_import_nat_non_linux(windows_platform, tmpdir, controller):
|
||||
"""
|
||||
On non linux host NAT should be moved to the GNS3 VM
|
||||
"""
|
||||
@@ -300,7 +300,7 @@ async def test_import_nat_non_linux(loop, windows_platform, tmpdir, controller):
|
||||
assert topo["topology"]["nodes"][0]["compute_id"] == "vm"
|
||||
|
||||
|
||||
async def test_import_iou_non_linux(loop, windows_platform, tmpdir, controller):
|
||||
async def test_import_iou_non_linux(windows_platform, tmpdir, controller):
|
||||
"""
|
||||
On non linux host IOU should be moved to the GNS3 VM
|
||||
"""
|
||||
@@ -356,7 +356,7 @@ async def test_import_iou_non_linux(loop, windows_platform, tmpdir, controller):
|
||||
mock.assert_called_with(controller._computes["vm"], project_id, project.path, os.path.join('project-files', 'iou', topo["topology"]["nodes"][0]['node_id']))
|
||||
|
||||
|
||||
async def test_import_node_id(loop, linux_platform, tmpdir, controller):
|
||||
async def test_import_node_id(linux_platform, tmpdir, controller):
|
||||
"""
|
||||
When importing a node, node_id should change
|
||||
"""
|
||||
@@ -449,7 +449,7 @@ async def test_import_node_id(loop, linux_platform, tmpdir, controller):
|
||||
assert os.path.exists(os.path.join(project.path, "project-files", "iou", topo["topology"]["nodes"][0]["node_id"], "startup.cfg"))
|
||||
|
||||
|
||||
async def test_import_keep_compute_id(loop, windows_platform, tmpdir, controller):
|
||||
async def test_import_keep_compute_id(windows_platform, tmpdir, controller):
|
||||
"""
|
||||
On linux host IOU should be moved to the GNS3 VM
|
||||
"""
|
||||
|
||||
@@ -144,7 +144,7 @@ def fake_image(tmpdir):
|
||||
|
||||
path = str(tmpdir / "7200.bin")
|
||||
with open(path, "wb+") as f:
|
||||
f.write(b'\x7fELF\x01\x02\x01')
|
||||
f.write(b'\x7fELF\x01\x01\x01')
|
||||
os.chmod(path, stat.S_IREAD)
|
||||
return path
|
||||
|
||||
@@ -168,7 +168,7 @@ async def test_images(compute_api, tmpdir, fake_image, fake_file):
|
||||
assert response.json == [{"filename": "7200.bin",
|
||||
"path": "7200.bin",
|
||||
"filesize": 7,
|
||||
"md5sum": "b0d5aa897d937aced5a6b1046e8f7e2e"
|
||||
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c"
|
||||
}]
|
||||
|
||||
|
||||
|
||||