directus-template-cli 0.4.0-beta.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dist/commands/apply.js +49 -17
- package/dist/lib/extract/extract-schema.js +6 -6
- package/dist/lib/load/index.js +6 -5
- package/dist/lib/load/load-schema.d.ts +14 -2
- package/dist/lib/load/load-schema.js +79 -9
- package/dist/lib/utils/check-template.d.ts +1 -4
- package/dist/lib/utils/check-template.js +24 -26
- package/dist/lib/utils/path.d.ts +7 -0
- package/dist/lib/utils/path.js +20 -0
- package/dist/lib/utils/protected-domains.d.ts +1 -0
- package/dist/lib/utils/protected-domains.js +6 -0
- package/dist/lib/utils/read-file.d.ts +0 -1
- package/dist/lib/utils/read-file.js +7 -9
- package/dist/lib/utils/template-defaults.js +0 -1
- package/dist/lib/utils/validate-url.js +3 -2
- package/oclif.manifest.json +1 -1
- package/package.json +3 -2
- package/templates/agencyos/README.md +0 -11
- package/templates/agencyos/package.json +0 -11
- package/templates/agencyos/src/assets/08177527-b867-47e9-b5d5-eab146b3cdba.jpg +0 -0
- package/templates/agencyos/src/assets/08242513-ca8f-471f-b69b-82703a19d1e5.svg +0 -14
- package/templates/agencyos/src/assets/0dfe66dd-ceba-4dca-8907-03b2dda49443.svg +0 -1
- package/templates/agencyos/src/assets/12e02b82-b4a4-4aaf-8ca4-e73c20a41c26.jpeg +0 -0
- package/templates/agencyos/src/assets/1f19dd72-a433-481d-9b51-e3cc8e4f33d3.svg +0 -1
- package/templates/agencyos/src/assets/1f69c0b8-19b7-49d7-b420-bedad577a079.png +0 -0
- package/templates/agencyos/src/assets/21e179ab-72c3-4350-b46a-fadd16f5652e.svg +0 -1
- package/templates/agencyos/src/assets/270fa8d1-45a3-4fcb-87d2-27a0248f1daf.jpg +0 -0
- package/templates/agencyos/src/assets/27f55be1-7ef5-47c4-87ba-ab9a060ab270.jpeg +0 -0
- package/templates/agencyos/src/assets/2b4a0ba0-52c7-4e10-b191-c803d8da6a36.png +0 -0
- package/templates/agencyos/src/assets/35a67f1b-d401-4300-a503-b8e583186f2a.svg +0 -11
- package/templates/agencyos/src/assets/3eff7dc2-445a-47c5-9503-3f600ecdb5c6.jpeg +0 -0
- package/templates/agencyos/src/assets/44a4e780-d59b-4fa5-9b26-1c4b447474d2.jpg +0 -0
- package/templates/agencyos/src/assets/4b31c98e-ec03-4b91-bb18-ef55dd199638.jpg +0 -0
- package/templates/agencyos/src/assets/5419bf05-9ab2-484b-a69d-d09b18602cf1.svg +0 -1
- package/templates/agencyos/src/assets/5a6dfe1e-7e5b-4a5f-9f6c-983777a67c05.svg +0 -1
- package/templates/agencyos/src/assets/643faffb-d41d-48ad-9050-881cf495cbb6.jpg +0 -0
- package/templates/agencyos/src/assets/6464e61f-455a-4b47-b623-bb12e5251dfe.jpeg +0 -0
- package/templates/agencyos/src/assets/6789bc72-ab83-40bf-8152-d6f2bafbc2a8.png +0 -0
- package/templates/agencyos/src/assets/68103296-6634-4d66-918a-04b09afe6621.jpeg +0 -0
- package/templates/agencyos/src/assets/690c2042-e3ad-46f4-9cd8-095a7b3a1df7.svg +0 -3
- package/templates/agencyos/src/assets/6a1ca349-d7ab-4f43-9284-c61671e145f2.svg +0 -22
- package/templates/agencyos/src/assets/6dad2008-3af5-407e-827e-da5744223181.svg +0 -1
- package/templates/agencyos/src/assets/6ff389c5-3ecb-4219-8f72-f10326aab421.jpg +0 -0
- package/templates/agencyos/src/assets/7647f4c2-9880-433a-bb8e-69b0c30ae31e.svg +0 -1
- package/templates/agencyos/src/assets/7775c53a-6c2c-453d-8c22-8b5445121d10.jpeg +0 -0
- package/templates/agencyos/src/assets/793e9bf7-c646-4588-8865-fe22556070ff.svg +0 -1
- package/templates/agencyos/src/assets/87fc0e81-45e4-4c05-8e9a-8e5c759d7aae.png +0 -0
- package/templates/agencyos/src/assets/88b95737-7ff4-4a09-8523-362d42caa9f9.jpg +0 -0
- package/templates/agencyos/src/assets/8f748634-d77b-4985-b27e-7e1f3559881a.jpeg +0 -0
- package/templates/agencyos/src/assets/a104c031-6ad2-4148-ace6-052e28cfda0b.svg +0 -1
- package/templates/agencyos/src/assets/ac905071-0643-4337-8f53-48ed45b1ccf2.jpg +0 -0
- package/templates/agencyos/src/assets/b1a3fd77-8e62-4678-9d44-333a30eec13b.jpg +0 -0
- package/templates/agencyos/src/assets/b210ecec-860f-4057-bab9-18c044b6e129.jpg +0 -0
- package/templates/agencyos/src/assets/b9db00d9-535f-4e24-8a46-5f7e5fc65bf2.jpg +0 -0
- package/templates/agencyos/src/assets/c0253924-38cd-4ca0-9989-9c0a57ec076a.png +0 -0
- package/templates/agencyos/src/assets/ce0b845f-f8d8-4856-b0af-1df4e3a838cc.jpg +0 -0
- package/templates/agencyos/src/assets/d0130348-9ead-49d0-b8e7-871cd43921a0.svg +0 -1
- package/templates/agencyos/src/assets/d4fd6edc-4cc5-48c1-8bc7-e646924bbdca.jpeg +0 -0
- package/templates/agencyos/src/assets/d598a4c0-4e9a-44a3-a72e-49564e34a432.jpg +0 -0
- package/templates/agencyos/src/assets/d94c9355-d89e-4229-941a-62b8525fd69a.png +0 -0
- package/templates/agencyos/src/assets/df0745c2-b6e3-4b37-b64d-55a4eb0033ab.avif +0 -0
- package/templates/agencyos/src/assets/df979753-946b-4d93-954e-e24367388d2c.svg +0 -1
- package/templates/agencyos/src/assets/dfa90758-9700-49e4-8fa2-b6cd074811b7.png +0 -0
- package/templates/agencyos/src/assets/e15ca910-1567-4f15-b5a0-b802da67f228.jpg +0 -0
- package/templates/agencyos/src/assets/eef7d7b1-3bf9-4647-90c1-a16c24161335.svg +0 -4
- package/templates/agencyos/src/assets/f1693c44-52e4-4fae-a7d2-b3153a34eb72.jpg +0 -0
- package/templates/agencyos/src/assets/f81e1a85-5a9c-41ef-9ef3-6a9349722daa.jpg +0 -0
- package/templates/agencyos/src/assets/fbae19f3-8739-4048-a20f-89ebbf59b032.jpg +0 -0
- package/templates/agencyos/src/collections.json +0 -2548
- package/templates/agencyos/src/content/block_button.json +0 -50
- package/templates/agencyos/src/content/block_button_group.json +0 -27
- package/templates/agencyos/src/content/block_columns.json +0 -18
- package/templates/agencyos/src/content/block_columns_rows.json +0 -47
- package/templates/agencyos/src/content/block_cta.json +0 -9
- package/templates/agencyos/src/content/block_divider.json +0 -14
- package/templates/agencyos/src/content/block_faqs.json +0 -90
- package/templates/agencyos/src/content/block_form.json +0 -26
- package/templates/agencyos/src/content/block_gallery.json +0 -19
- package/templates/agencyos/src/content/block_gallery_files.json +0 -102
- package/templates/agencyos/src/content/block_hero.json +0 -20
- package/templates/agencyos/src/content/block_html.json +0 -1
- package/templates/agencyos/src/content/block_logocloud.json +0 -24
- package/templates/agencyos/src/content/block_logocloud_logos.json +0 -50
- package/templates/agencyos/src/content/block_quote.json +0 -14
- package/templates/agencyos/src/content/block_richtext.json +0 -58
- package/templates/agencyos/src/content/block_step_items.json +0 -47
- package/templates/agencyos/src/content/block_steps.json +0 -24
- package/templates/agencyos/src/content/block_team.json +0 -14
- package/templates/agencyos/src/content/block_testimonial_slider_items.json +0 -42
- package/templates/agencyos/src/content/block_testimonials.json +0 -13
- package/templates/agencyos/src/content/block_video.json +0 -10
- package/templates/agencyos/src/content/categories.json +0 -38
- package/templates/agencyos/src/content/contacts.json +0 -46
- package/templates/agencyos/src/content/conversations.json +0 -1
- package/templates/agencyos/src/content/forms.json +0 -129
- package/templates/agencyos/src/content/globals.json +0 -52
- package/templates/agencyos/src/content/help_articles.json +0 -1
- package/templates/agencyos/src/content/help_collections.json +0 -20
- package/templates/agencyos/src/content/help_feedback.json +0 -122
- package/templates/agencyos/src/content/inbox.json +0 -15
- package/templates/agencyos/src/content/messages.json +0 -1
- package/templates/agencyos/src/content/navigation.json +0 -34
- package/templates/agencyos/src/content/navigation_items.json +0 -185
- package/templates/agencyos/src/content/organization_addresses.json +0 -18
- package/templates/agencyos/src/content/organizations.json +0 -50
- package/templates/agencyos/src/content/organizations_contacts.json +0 -14
- package/templates/agencyos/src/content/os_activities.json +0 -23
- package/templates/agencyos/src/content/os_activity_contacts.json +0 -7
- package/templates/agencyos/src/content/os_deal_contacts.json +0 -9
- package/templates/agencyos/src/content/os_deal_stages.json +0 -68
- package/templates/agencyos/src/content/os_deals.json +0 -27
- package/templates/agencyos/src/content/os_email_templates.json +0 -13
- package/templates/agencyos/src/content/os_expenses.json +0 -22
- package/templates/agencyos/src/content/os_invoice_items.json +0 -65
- package/templates/agencyos/src/content/os_invoices.json +0 -29
- package/templates/agencyos/src/content/os_items.json +0 -17
- package/templates/agencyos/src/content/os_payment_terms.json +0 -18
- package/templates/agencyos/src/content/os_payments.json +0 -291
- package/templates/agencyos/src/content/os_project_contacts.json +0 -8
- package/templates/agencyos/src/content/os_project_files.json +0 -1
- package/templates/agencyos/src/content/os_project_templates.json +0 -467
- package/templates/agencyos/src/content/os_project_updates.json +0 -1
- package/templates/agencyos/src/content/os_projects.json +0 -50
- package/templates/agencyos/src/content/os_proposal_approvals.json +0 -1
- package/templates/agencyos/src/content/os_proposal_blocks.json +0 -134
- package/templates/agencyos/src/content/os_proposal_contacts.json +0 -8
- package/templates/agencyos/src/content/os_proposals.json +0 -33
- package/templates/agencyos/src/content/os_settings.json +0 -6
- package/templates/agencyos/src/content/os_task_files.json +0 -1
- package/templates/agencyos/src/content/os_tasks.json +0 -464
- package/templates/agencyos/src/content/os_tax_rates.json +0 -24
- package/templates/agencyos/src/content/page_blocks.json +0 -170
- package/templates/agencyos/src/content/pages.json +0 -96
- package/templates/agencyos/src/content/pages_blog.json +0 -7
- package/templates/agencyos/src/content/pages_projects.json +0 -6
- package/templates/agencyos/src/content/post_gallery_items.json +0 -32
- package/templates/agencyos/src/content/posts.json +0 -235
- package/templates/agencyos/src/content/redirects.json +0 -12
- package/templates/agencyos/src/content/seo.json +0 -52
- package/templates/agencyos/src/content/team.json +0 -128
- package/templates/agencyos/src/content/testimonials.json +0 -66
- package/templates/agencyos/src/dashboards.json +0 -32
- package/templates/agencyos/src/fields.json +0 -34588
- package/templates/agencyos/src/files.json +0 -1129
- package/templates/agencyos/src/flows.json +0 -402
- package/templates/agencyos/src/folders.json +0 -104
- package/templates/agencyos/src/operations.json +0 -717
- package/templates/agencyos/src/panels.json +0 -1019
- package/templates/agencyos/src/permissions.json +0 -5533
- package/templates/agencyos/src/presets.json +0 -2421
- package/templates/agencyos/src/public-permissions.json +0 -629
- package/templates/agencyos/src/relations.json +0 -4585
- package/templates/agencyos/src/roles.json +0 -46
- package/templates/agencyos/src/schema/snapshot.json +0 -1
- package/templates/agencyos/src/settings.json +0 -99
- package/templates/agencyos/src/translations.json +0 -1
- package/templates/agencyos/src/users.json +0 -147
- package/templates/website/README.md +0 -15
- package/templates/website/package.json +0 -11
- package/templates/website/src/assets/004e37f7-765e-4339-8d44-987729e47898.png +0 -0
- package/templates/website/src/assets/008b1c0e-bdd3-4c5f-a029-b9c07582a42d.jpg +0 -0
- package/templates/website/src/assets/08177527-b867-47e9-b5d5-eab146b3cdba.jpg +0 -0
- package/templates/website/src/assets/0dfe66dd-ceba-4dca-8907-03b2dda49443.svg +0 -1
- package/templates/website/src/assets/12e02b82-b4a4-4aaf-8ca4-e73c20a41c26.jpeg +0 -0
- package/templates/website/src/assets/18bf5269-9986-48c7-b607-01b77283df3b.png +0 -0
- package/templates/website/src/assets/1f19dd72-a433-481d-9b51-e3cc8e4f33d3.svg +0 -1
- package/templates/website/src/assets/270fa8d1-45a3-4fcb-87d2-27a0248f1daf.jpg +0 -0
- package/templates/website/src/assets/27f55be1-7ef5-47c4-87ba-ab9a060ab270.jpeg +0 -0
- package/templates/website/src/assets/284c190b-0ebb-4b3e-847d-c260b793b77c.png +0 -0
- package/templates/website/src/assets/35a67f1b-d401-4300-a503-b8e583186f2a.svg +0 -11
- package/templates/website/src/assets/3ac899c4-4bf9-4733-b2c4-b259c69faf46.png +0 -0
- package/templates/website/src/assets/3eff7dc2-445a-47c5-9503-3f600ecdb5c6.jpeg +0 -0
- package/templates/website/src/assets/40a0a417-231e-4819-86bf-66e96ec64852.svg +0 -3
- package/templates/website/src/assets/45140116-7656-4226-99b6-fd750722a083.svg +0 -3
- package/templates/website/src/assets/4b31c98e-ec03-4b91-bb18-ef55dd199638.jpg +0 -0
- package/templates/website/src/assets/57c6e801-9ba1-46eb-beb7-96cf7c497c92.svg +0 -1
- package/templates/website/src/assets/643faffb-d41d-48ad-9050-881cf495cbb6.jpg +0 -0
- package/templates/website/src/assets/6464e61f-455a-4b47-b623-bb12e5251dfe.jpeg +0 -0
- package/templates/website/src/assets/68103296-6634-4d66-918a-04b09afe6621.jpeg +0 -0
- package/templates/website/src/assets/68ee3ce3-bc8e-4901-b3a6-8a23afda0fa0.jpg +0 -0
- package/templates/website/src/assets/6dad2008-3af5-407e-827e-da5744223181.svg +0 -1
- package/templates/website/src/assets/72eea8c7-72fe-4ef2-9e57-524f7cb886a4.jpg +0 -0
- package/templates/website/src/assets/72f6f5a0-9a07-422f-b82f-b9e295ce5afa.svg +0 -4
- package/templates/website/src/assets/7775c53a-6c2c-453d-8c22-8b5445121d10.jpeg +0 -0
- package/templates/website/src/assets/7834aacc-d78c-4a55-ba92-d7b5d74188c1.png +0 -0
- package/templates/website/src/assets/7a5b47f6-d648-48f9-bf93-4bfafda48940.png +0 -0
- package/templates/website/src/assets/7c04cbdd-4b48-41aa-94d7-fc7c17373b1a.png +0 -0
- package/templates/website/src/assets/82b872b1-ff96-4af6-b7f1-878e60c3c448.png +0 -0
- package/templates/website/src/assets/840ec616-acad-412e-be79-485a702f9a55.svg +0 -1
- package/templates/website/src/assets/87fc0e81-45e4-4c05-8e9a-8e5c759d7aae.png +0 -0
- package/templates/website/src/assets/8bc1e7b3-b795-46af-bac4-34f7d90b902f.JPG +0 -0
- package/templates/website/src/assets/8f748634-d77b-4985-b27e-7e1f3559881a.jpeg +0 -0
- package/templates/website/src/assets/9778a2b4-27de-4035-af5a-f58897578787.png +0 -0
- package/templates/website/src/assets/a104c031-6ad2-4148-ace6-052e28cfda0b.svg +0 -1
- package/templates/website/src/assets/b626a403-5f09-4463-9715-44b2bd34eb26.jpg +0 -0
- package/templates/website/src/assets/c38f6e9e-7bb5-46c7-8266-b27ab96a1282.png +0 -0
- package/templates/website/src/assets/c983bd13-da09-4c90-8e65-ae6a92093df8.png +0 -0
- package/templates/website/src/assets/d0130348-9ead-49d0-b8e7-871cd43921a0.svg +0 -1
- package/templates/website/src/assets/d304528e-9000-4530-92cf-bb04891e8d5d.jpg +0 -0
- package/templates/website/src/assets/d4fd6edc-4cc5-48c1-8bc7-e646924bbdca.jpeg +0 -0
- package/templates/website/src/assets/d598a4c0-4e9a-44a3-a72e-49564e34a432.jpg +0 -0
- package/templates/website/src/assets/dfa90758-9700-49e4-8fa2-b6cd074811b7.png +0 -0
- package/templates/website/src/assets/e15ca910-1567-4f15-b5a0-b802da67f228.jpg +0 -0
- package/templates/website/src/assets/ea18cbf2-3c4f-488b-a68c-2d3a64cc9137.png +0 -0
- package/templates/website/src/assets/eb8e4c86-92ac-4697-9634-2e376f5d6015.png +0 -0
- package/templates/website/src/assets/f1693c44-52e4-4fae-a7d2-b3153a34eb72.jpg +0 -0
- package/templates/website/src/collections.json +0 -1788
- package/templates/website/src/content/block_cardgroup.json +0 -26
- package/templates/website/src/content/block_cardgroup_cards.json +0 -1
- package/templates/website/src/content/block_cardgroup_posts.json +0 -32
- package/templates/website/src/content/block_columns.json +0 -21
- package/templates/website/src/content/block_columns_rows.json +0 -47
- package/templates/website/src/content/block_cta.json +0 -15
- package/templates/website/src/content/block_faqs.json +0 -45
- package/templates/website/src/content/block_form.json +0 -26
- package/templates/website/src/content/block_gallery.json +0 -15
- package/templates/website/src/content/block_gallery_files.json +0 -38
- package/templates/website/src/content/block_hero.json +0 -145
- package/templates/website/src/content/block_html.json +0 -1
- package/templates/website/src/content/block_logocloud.json +0 -16
- package/templates/website/src/content/block_logocloud_files.json +0 -44
- package/templates/website/src/content/block_quote.json +0 -11
- package/templates/website/src/content/block_richtext.json +0 -32
- package/templates/website/src/content/block_steps.json +0 -14
- package/templates/website/src/content/block_steps_items.json +0 -26
- package/templates/website/src/content/block_team.json +0 -8
- package/templates/website/src/content/block_testimonials.json +0 -13
- package/templates/website/src/content/block_testimonials_items.json +0 -26
- package/templates/website/src/content/block_video.json +0 -10
- package/templates/website/src/content/blog_settings.json +0 -8
- package/templates/website/src/content/categories.json +0 -38
- package/templates/website/src/content/events.json +0 -1
- package/templates/website/src/content/forms.json +0 -92
- package/templates/website/src/content/globals.json +0 -57
- package/templates/website/src/content/inbox.json +0 -21
- package/templates/website/src/content/metrics.json +0 -1
- package/templates/website/src/content/navigation.json +0 -30
- package/templates/website/src/content/navigation_items.json +0 -140
- package/templates/website/src/content/pages.json +0 -123
- package/templates/website/src/content/pages_blocks.json +0 -310
- package/templates/website/src/content/posts.json +0 -120
- package/templates/website/src/content/projects.json +0 -48
- package/templates/website/src/content/projects_files.json +0 -44
- package/templates/website/src/content/projects_settings.json +0 -6
- package/templates/website/src/content/redirects.json +0 -12
- package/templates/website/src/content/seo.json +0 -278
- package/templates/website/src/content/team.json +0 -132
- package/templates/website/src/content/testimonials.json +0 -66
- package/templates/website/src/dashboards.json +0 -38
- package/templates/website/src/fields.json +0 -27761
- package/templates/website/src/files.json +0 -1100
- package/templates/website/src/flows.json +0 -131
- package/templates/website/src/folders.json +0 -52
- package/templates/website/src/operations.json +0 -214
- package/templates/website/src/panels.json +0 -433
- package/templates/website/src/permissions.json +0 -1556
- package/templates/website/src/presets.json +0 -1254
- package/templates/website/src/public-permissions.json +0 -511
- package/templates/website/src/roles.json +0 -70
- package/templates/website/src/schema/snapshot.json +0 -17018
- package/templates/website/src/settings.json +0 -66
- package/templates/website/src/users.json +0 -194
package/README.md
CHANGED
|
@@ -4,19 +4,22 @@ A CLI tool to make applying or extracting Directus "templates" a little easier..
|
|
|
4
4
|
|
|
5
5
|
**Notes:**
|
|
6
6
|
|
|
7
|
-
- This is a pre-release. It is recommended for use on POC or
|
|
7
|
+
- This is a pre-release. It is recommended for use on POC, demo, or greenfield projects only.
|
|
8
8
|
- ⚠️ Known issues with using MySQL currently, please use ONLY PostgreSQL or SQLite for your database provider.
|
|
9
9
|
- Templates are applied / extracted on an all or nothing basis – meaning that all the schema, content, and system settings are extracted or applied. We'd love to support more granular operations in the future. (PRs welcome 🙏)
|
|
10
10
|
- If you are extracting or applying from a remote source, the script can take quite a while depending on the "size" of your instance (how many collections, how many items in each collection, number and size of assets, etc). The script applies a strict rate limit of 10 requests per second using bottleneck.
|
|
11
11
|
|
|
12
|
+
## Breaking Changes in v0.4.0
|
|
13
|
+
|
|
14
|
+
- Templates are no longer being bundled with the CLI or included in this repository. Templates are stored in this repository - https://github.com/directus-community/directus-templates.
|
|
15
|
+
- When applying templates, the schema snapshot / schema diff is no longer used to create collections, fields, and relations. This allows support for loading multiple templates into a single instance.
|
|
16
|
+
|
|
12
17
|
## Usage
|
|
13
18
|
|
|
14
19
|
Using the @latest tag ensures you're receiving the latest version of the packaged templates with the CLI. You can review [the specific versions on NPM](https://www.npmjs.com/package/directus-template-cli) and use @{version} syntax to apply the templates included with that version.
|
|
15
20
|
|
|
16
21
|
### Applying a Template
|
|
17
22
|
|
|
18
|
-
**To avoid potential conflicts and bad outcomes, templates can only be applied to a blank instance currently.**
|
|
19
|
-
|
|
20
23
|
1. Create a Directus instance on [Directus Cloud](https://directus.cloud) or using self-hosted version.
|
|
21
24
|
2. Login and create a Static Access Token for the admin user.
|
|
22
25
|
3. Copy the static token and your Directus URL.
|
package/dist/commands/apply.js
CHANGED
|
@@ -4,9 +4,11 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const core_1 = require("@oclif/core");
|
|
5
5
|
const giget_1 = require("giget");
|
|
6
6
|
const inquirer = tslib_1.__importStar(require("inquirer"));
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
8
8
|
const load_1 = tslib_1.__importDefault(require("../lib/load/"));
|
|
9
9
|
const auth_1 = require("../lib/utils/auth");
|
|
10
|
+
const log_error_1 = tslib_1.__importDefault(require("../lib/utils/log-error"));
|
|
11
|
+
const path_1 = tslib_1.__importDefault(require("../lib/utils/path"));
|
|
10
12
|
const read_templates_1 = require("../lib/utils/read-templates");
|
|
11
13
|
const transform_github_url_1 = require("../lib/utils/transform-github-url");
|
|
12
14
|
const separator = '------------------';
|
|
@@ -35,12 +37,23 @@ async function getTemplate() {
|
|
|
35
37
|
let template;
|
|
36
38
|
if (templateType.templateType === 'official') {
|
|
37
39
|
// Get official templates
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let templates = [];
|
|
41
|
+
// Resolve the path for downloading
|
|
42
|
+
const downloadDir = (0, path_1.default)(node_path_1.default.join(__dirname, '..', 'downloads', 'official'), false);
|
|
43
|
+
if (!downloadDir) {
|
|
44
|
+
throw new Error(`Invalid download directory: ${node_path_1.default.join(__dirname, '..', 'downloads', 'official')}`);
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const { dir } = await (0, giget_1.downloadTemplate)('github:directus-labs/directus-templates', {
|
|
48
|
+
dir: downloadDir,
|
|
49
|
+
force: true,
|
|
50
|
+
preferOffline: true,
|
|
51
|
+
});
|
|
52
|
+
templates = await (0, read_templates_1.readAllTemplates)(dir);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
(0, log_error_1.default)(error, { fatal: true });
|
|
56
|
+
}
|
|
44
57
|
const officialTemplateChoices = templates.map((template) => ({ name: template.templateName, value: template }));
|
|
45
58
|
template = await inquirer.prompt([
|
|
46
59
|
{
|
|
@@ -52,8 +65,9 @@ async function getTemplate() {
|
|
|
52
65
|
]);
|
|
53
66
|
}
|
|
54
67
|
if (templateType.templateType === 'local') {
|
|
55
|
-
|
|
56
|
-
|
|
68
|
+
let localTemplateDir = await core_1.ux.prompt('What is the local template directory?');
|
|
69
|
+
localTemplateDir = (0, path_1.default)(localTemplateDir);
|
|
70
|
+
if (localTemplateDir) {
|
|
57
71
|
template = { template: await (0, read_templates_1.readTemplate)(localTemplateDir) };
|
|
58
72
|
}
|
|
59
73
|
else {
|
|
@@ -61,12 +75,30 @@ async function getTemplate() {
|
|
|
61
75
|
}
|
|
62
76
|
}
|
|
63
77
|
if (templateType.templateType === 'github') {
|
|
64
|
-
const ghTemplateUrl = await core_1.ux.prompt('What is the GitHub repository URL?');
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
const ghTemplateUrl = await core_1.ux.prompt('What is the public GitHub repository URL?');
|
|
79
|
+
try {
|
|
80
|
+
const ghString = await (0, transform_github_url_1.transformGitHubUrl)(ghTemplateUrl);
|
|
81
|
+
// Resolve the path for downloading
|
|
82
|
+
const downloadDir = (0, path_1.default)(node_path_1.default.join(__dirname, '..', 'downloads', 'github'), false);
|
|
83
|
+
if (!downloadDir) {
|
|
84
|
+
throw new Error(`Invalid download directory: ${node_path_1.default.join(__dirname, '..', 'downloads', 'github')}`);
|
|
85
|
+
}
|
|
86
|
+
// Download the template
|
|
87
|
+
const { dir } = await (0, giget_1.downloadTemplate)(ghString, {
|
|
88
|
+
dir: downloadDir,
|
|
89
|
+
force: true,
|
|
90
|
+
forceClean: true,
|
|
91
|
+
});
|
|
92
|
+
// Check if the directory exists after download
|
|
93
|
+
const resolvedDir = (0, path_1.default)(dir);
|
|
94
|
+
if (!resolvedDir) {
|
|
95
|
+
throw new Error(`Downloaded template directory does not exist: ${dir}`);
|
|
96
|
+
}
|
|
97
|
+
template = { template: await (0, read_templates_1.readTemplate)(dir) };
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
(0, log_error_1.default)(error, { fatal: true });
|
|
101
|
+
}
|
|
70
102
|
}
|
|
71
103
|
return template;
|
|
72
104
|
}
|
|
@@ -79,8 +111,8 @@ class ApplyCommand extends core_1.Command {
|
|
|
79
111
|
await (0, auth_1.getDirectusToken)(directusUrl);
|
|
80
112
|
this.log(separator);
|
|
81
113
|
// Run load script
|
|
82
|
-
core_1.ux.
|
|
83
|
-
await (0, load_1.default)(chosenTemplate.template.directoryPath
|
|
114
|
+
core_1.ux.log(`Applying template - ${chosenTemplate.template.templateName} to ${directusUrl}`);
|
|
115
|
+
await (0, load_1.default)(chosenTemplate.template.directoryPath);
|
|
84
116
|
core_1.ux.action.stop();
|
|
85
117
|
this.log(separator);
|
|
86
118
|
this.log('Template applied successfully.');
|
|
@@ -9,14 +9,14 @@ const sdk_2 = require("../sdk");
|
|
|
9
9
|
const write_to_file_1 = tslib_1.__importDefault(require("../utils/write-to-file"));
|
|
10
10
|
async function extractSchema(dir) {
|
|
11
11
|
const schemaDir = node_path_1.default.join(dir, 'schema');
|
|
12
|
-
// Check if directory for schema exists, if not, then create it.
|
|
13
|
-
if (!node_fs_1.default.existsSync(schemaDir)) {
|
|
14
|
-
console.log(`Attempting to create directory at: ${schemaDir}`);
|
|
15
|
-
node_fs_1.default.mkdirSync(schemaDir, { recursive: true });
|
|
16
|
-
}
|
|
17
12
|
// Get the schema
|
|
18
13
|
try {
|
|
19
|
-
|
|
14
|
+
// Check if directory for schema exists, if not, then create it.
|
|
15
|
+
if (!node_fs_1.default.existsSync(schemaDir)) {
|
|
16
|
+
console.log(`Attempting to create directory at: ${schemaDir}`);
|
|
17
|
+
node_fs_1.default.mkdirSync(schemaDir, { recursive: true });
|
|
18
|
+
}
|
|
19
|
+
const schema = await sdk_2.api.client.request((0, sdk_1.schemaSnapshot)());
|
|
20
20
|
// Write the schema to the specified directory
|
|
21
21
|
await (0, write_to_file_1.default)('schema/snapshot', schema, dir);
|
|
22
22
|
core_1.ux.log('Extracted schema snapshot');
|
package/dist/lib/load/index.js
CHANGED
|
@@ -13,19 +13,20 @@ const load_permissions_1 = tslib_1.__importDefault(require("./load-permissions")
|
|
|
13
13
|
const load_presets_1 = tslib_1.__importDefault(require("./load-presets"));
|
|
14
14
|
const load_relations_1 = tslib_1.__importDefault(require("./load-relations"));
|
|
15
15
|
const load_roles_1 = tslib_1.__importDefault(require("./load-roles"));
|
|
16
|
+
// import loadSchema from './load-schema'
|
|
16
17
|
const load_settings_1 = tslib_1.__importDefault(require("./load-settings"));
|
|
17
18
|
const load_translations_1 = tslib_1.__importDefault(require("./load-translations"));
|
|
18
19
|
const load_users_1 = tslib_1.__importDefault(require("./load-users"));
|
|
19
20
|
async function apply(dir) {
|
|
20
21
|
// Get the source directory for the actual files
|
|
21
22
|
const source = dir + '/src';
|
|
22
|
-
const
|
|
23
|
-
if (!
|
|
24
|
-
core_1.ux.error('The template is missing the
|
|
25
|
-
return;
|
|
23
|
+
const isTemplateOk = await (0, check_template_1.default)(source);
|
|
24
|
+
if (!isTemplateOk) {
|
|
25
|
+
core_1.ux.error('The template is missing the collections, fields, or relations files. Older templates are not supported in v0.4 of directus-template-cli. Try using v0.3 to load older templates npx directus-template-cli@0.3 apply or extract the template using latest version before applying. Exiting...');
|
|
26
26
|
}
|
|
27
|
+
// @TODO: Possibly add schema snapshot diff in the future but for now we only want to load the schema
|
|
27
28
|
// If overwriting schema
|
|
28
|
-
//
|
|
29
|
+
// await loadSchema(source)
|
|
29
30
|
// If adding schema instead of overwriting
|
|
30
31
|
await (0, load_collections_1.default)(source);
|
|
31
32
|
await (0, load_relations_1.default)(source);
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export default function loadSchema(dir: string): Promise<void>;
|
|
2
|
+
/**
|
|
3
|
+
* Indicates the kind of change based on comparisons by deep-diff package
|
|
4
|
+
*/
|
|
5
|
+
export declare const DiffKind: {
|
|
6
|
+
/** indicates a change occurred within an array */
|
|
7
|
+
A: string;
|
|
8
|
+
/** indicates a property/element was deleted */
|
|
9
|
+
D: string;
|
|
10
|
+
/** indicates a property/element was edited */
|
|
11
|
+
E: string;
|
|
12
|
+
/** indicates a newly added property/element */
|
|
13
|
+
N: string;
|
|
14
|
+
};
|
|
@@ -1,25 +1,95 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DiffKind = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
/* eslint-disable unicorn/no-array-reduce */
|
|
6
|
+
/* eslint-disable perfectionist/sort-objects */
|
|
4
7
|
const sdk_1 = require("@directus/sdk");
|
|
5
8
|
const core_1 = require("@oclif/core");
|
|
9
|
+
const inquirer = tslib_1.__importStar(require("inquirer"));
|
|
10
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
11
|
const sdk_2 = require("../sdk");
|
|
7
12
|
const log_error_1 = tslib_1.__importDefault(require("../utils/log-error"));
|
|
8
13
|
const read_file_1 = tslib_1.__importDefault(require("../utils/read-file"));
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
async function loadSchema(dir) {
|
|
15
|
+
let diff;
|
|
16
|
+
try {
|
|
17
|
+
const schemaDir = node_path_1.default.resolve(dir, 'schema');
|
|
18
|
+
const schema = (0, read_file_1.default)('snapshot', schemaDir);
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
diff = await sdk_2.api.client.request((0, sdk_1.schemaDiff)(schema, true));
|
|
21
|
+
if (!diff) {
|
|
22
|
+
core_1.ux.log('No schema to apply');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const diffKeys = ['collections', 'fields', 'relations'];
|
|
26
|
+
const changes = diffKeys.map(table => {
|
|
27
|
+
const tableDiff = diff.diff[table];
|
|
28
|
+
if (!tableDiff) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const tableChanges = tableDiff.reduce((acc, item) => {
|
|
32
|
+
const { kind } = item.diff[0];
|
|
33
|
+
acc[exports.DiffKind[kind]] = acc[exports.DiffKind[kind]] ? acc[exports.DiffKind[kind]] + 1 : 1;
|
|
34
|
+
return acc;
|
|
35
|
+
}, {});
|
|
36
|
+
return {
|
|
37
|
+
table,
|
|
38
|
+
...tableChanges,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
// Display the changes to be applied in a table using the ux.table method. The table should have the following columns: Table, New, Edit, Delete
|
|
42
|
+
core_1.ux.log('Schema diff summary from current instance:');
|
|
43
|
+
core_1.ux.table(changes, {
|
|
44
|
+
table: {
|
|
45
|
+
get: (row) => row.table,
|
|
46
|
+
minWidth: 20,
|
|
47
|
+
},
|
|
48
|
+
create: {
|
|
49
|
+
get: (row) => row.new || 0,
|
|
50
|
+
minWidth: 5,
|
|
51
|
+
},
|
|
52
|
+
update: {
|
|
53
|
+
get: (row) => row.edit || 0,
|
|
54
|
+
minWidth: 5,
|
|
55
|
+
},
|
|
56
|
+
delete: {
|
|
57
|
+
get: (row) => row.delete || 0,
|
|
58
|
+
minWidth: 5,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
(0, log_error_1.default)(error);
|
|
64
|
+
}
|
|
65
|
+
const proceed = await inquirer.prompt([{
|
|
66
|
+
message: 'Applying . This cannot be undone. Continue?',
|
|
67
|
+
name: 'continue',
|
|
68
|
+
type: 'confirm',
|
|
69
|
+
}]);
|
|
70
|
+
if (!proceed.continue) {
|
|
71
|
+
core_1.ux.log('Cancelled applying schema changes and exiting...');
|
|
72
|
+
core_1.ux.exit(0);
|
|
17
73
|
}
|
|
18
74
|
try {
|
|
19
|
-
await sdk_2.api.client.request((0, sdk_1.schemaApply)(
|
|
75
|
+
await sdk_2.api.client.request((0, sdk_1.schemaApply)(diff));
|
|
20
76
|
core_1.ux.log('Loaded schema');
|
|
21
77
|
}
|
|
22
78
|
catch (error) {
|
|
23
79
|
(0, log_error_1.default)(error);
|
|
24
80
|
}
|
|
81
|
+
}
|
|
82
|
+
exports.default = loadSchema;
|
|
83
|
+
/**
|
|
84
|
+
* Indicates the kind of change based on comparisons by deep-diff package
|
|
85
|
+
*/
|
|
86
|
+
exports.DiffKind = {
|
|
87
|
+
/** indicates a change occurred within an array */
|
|
88
|
+
A: 'array',
|
|
89
|
+
/** indicates a property/element was deleted */
|
|
90
|
+
D: 'delete',
|
|
91
|
+
/** indicates a property/element was edited */
|
|
92
|
+
E: 'edit',
|
|
93
|
+
/** indicates a newly added property/element */
|
|
94
|
+
N: 'new',
|
|
25
95
|
};
|
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
5
4
|
const read_file_1 = tslib_1.__importDefault(require("../utils/read-file"));
|
|
6
5
|
async function checkTemplate(dir) {
|
|
7
|
-
// Check for the
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// There are two ways to load the schema. 1. Using the schema file and endpoints which will overwrite the schema. 2. Using the collections, fields, and relations files which will add to the schema. Older templates only supported the schema file and didn't extract the collections, fields, and relations files. Newer templates support both methods.
|
|
16
|
-
return {
|
|
17
|
-
collections: isCollectionsOk,
|
|
18
|
-
schema: isSchemaOk,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
exports.default = checkTemplate;
|
|
22
|
-
const requiredSchemaKeys = ['version', 'collections', 'fields', 'relations', 'directus'];
|
|
23
|
-
function checkSchema(schema) {
|
|
24
|
-
if (!schema) {
|
|
25
|
-
return false;
|
|
6
|
+
// Check for the collections,fields, and relations files
|
|
7
|
+
try {
|
|
8
|
+
// const schemaDir = path.join(dir, 'schema')
|
|
9
|
+
const collections = (0, read_file_1.default)('collections', dir);
|
|
10
|
+
const fields = (0, read_file_1.default)('fields', dir);
|
|
11
|
+
const relations = (0, read_file_1.default)('relations', dir);
|
|
12
|
+
const isCollectionsOk = collections.length > 0 && fields.length > 0 && relations.length > 0;
|
|
13
|
+
return isCollectionsOk;
|
|
26
14
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (!schemaKeys.includes(key)) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
console.error(error);
|
|
32
17
|
}
|
|
33
|
-
return true;
|
|
34
18
|
}
|
|
19
|
+
exports.default = checkTemplate;
|
|
20
|
+
// function checkSchema(schema: any) {
|
|
21
|
+
// const requiredSchemaKeys = ['version', 'collections', 'fields', 'relations', 'directus']
|
|
22
|
+
// if (!schema) {
|
|
23
|
+
// return false
|
|
24
|
+
// }
|
|
25
|
+
// const schemaKeys = Object.keys(schema)
|
|
26
|
+
// for (const key of requiredSchemaKeys) {
|
|
27
|
+
// if (!schemaKeys.includes(key)) {
|
|
28
|
+
// return false
|
|
29
|
+
// }
|
|
30
|
+
// }
|
|
31
|
+
// return true
|
|
32
|
+
// }
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a given path to an absolute path and checks if it exists.
|
|
3
|
+
* @param inputPath The path to resolve.
|
|
4
|
+
* @param checkExistence Whether to check if the resolved path exists.
|
|
5
|
+
* @returns The resolved absolute path if it exists, or null if it doesn't.
|
|
6
|
+
*/
|
|
7
|
+
export default function resolvePathAndCheckExistence(inputPath: string, checkExistence?: boolean): null | string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
5
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
|
+
const node_process_1 = require("node:process");
|
|
7
|
+
/**
|
|
8
|
+
* Resolves a given path to an absolute path and checks if it exists.
|
|
9
|
+
* @param inputPath The path to resolve.
|
|
10
|
+
* @param checkExistence Whether to check if the resolved path exists.
|
|
11
|
+
* @returns The resolved absolute path if it exists, or null if it doesn't.
|
|
12
|
+
*/
|
|
13
|
+
function resolvePathAndCheckExistence(inputPath, checkExistence = true) {
|
|
14
|
+
const resolvedPath = node_path_1.default.isAbsolute(inputPath) ? inputPath : node_path_1.default.resolve((0, node_process_1.cwd)(), inputPath);
|
|
15
|
+
if (!checkExistence || node_fs_1.default.existsSync(resolvedPath)) {
|
|
16
|
+
return resolvedPath;
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
exports.default = resolvePathAndCheckExistence;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const protectedDomains: string[];
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readJsonFile = void 0;
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
5
|
+
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
6
|
function readFile(file, dir) {
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const filePath = node_path_1.default.join(dir, `${file}.json`); // Use path.join for proper path resolution
|
|
8
|
+
if (!node_fs_1.default.existsSync(filePath)) {
|
|
9
|
+
throw new Error(`File not found: ${filePath}`); // Improved error handling
|
|
10
|
+
}
|
|
11
|
+
const fileContents = node_fs_1.default.readFileSync(filePath, 'utf8');
|
|
12
|
+
const obj = JSON.parse(fileContents);
|
|
9
13
|
return obj;
|
|
10
14
|
}
|
|
11
15
|
exports.default = readFile;
|
|
12
|
-
function readJsonFile(path) {
|
|
13
|
-
const f = node_fs_1.default.readFileSync(`${path}.json`, 'utf8');
|
|
14
|
-
const obj = JSON.parse(f);
|
|
15
|
-
return obj;
|
|
16
|
-
}
|
|
17
|
-
exports.readJsonFile = readJsonFile;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const protected_domains_1 = require("./protected-domains");
|
|
3
4
|
function validateUrl(url) {
|
|
4
5
|
try {
|
|
5
|
-
new URL(url);
|
|
6
|
-
return
|
|
6
|
+
const parsedUrl = new URL(url);
|
|
7
|
+
return !protected_domains_1.protectedDomains.includes(parsedUrl.hostname);
|
|
7
8
|
}
|
|
8
9
|
catch {
|
|
9
10
|
return false;
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "directus-template-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "CLI Utility for applying templates to a Directus instance.",
|
|
5
5
|
"author": "bryantgillespie @bryantgillespie",
|
|
6
6
|
"bin": {
|
|
7
|
-
"directus-template-
|
|
7
|
+
"directus-template-cli": "./bin/run"
|
|
8
8
|
},
|
|
9
9
|
"homepage": "https://github.com/directus-community/directus-template-cli",
|
|
10
10
|
"license": "MIT",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@directus/sdk": "^14.0.0",
|
|
22
|
+
"@directus/types": "^11.0.3",
|
|
22
23
|
"@oclif/core": "^3.18.1",
|
|
23
24
|
"@oclif/plugin-help": "^6.0.12",
|
|
24
25
|
"@oclif/plugin-plugins": "^4.1.22",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# AgencyOS Template
|
|
2
|
-
|
|
3
|
-
This is a template for [Directus](https://directus.io/) - an open-source headless CMS and API. Use the template-cli to load / apply this template to a blank instance.
|
|
4
|
-
|
|
5
|
-
## Why
|
|
6
|
-
|
|
7
|
-
## What
|
|
8
|
-
|
|
9
|
-
## License
|
|
10
|
-
|
|
11
|
-
This template is licensed under the [MIT License](https://opensource.org/licenses/MIT).
|
|
Binary file
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<svg width="132" height="32" viewBox="0 0 132 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<g clip-path="url(#clip0_1264_7346)">
|
|
3
|
-
<path d="M26.8295 31.4227H44.4182C44.9769 31.4228 45.5257 31.2802 46.0095 31.0092C46.4933 30.7382 46.895 30.3485 47.1742 29.8791C47.4534 29.4098 47.6003 28.8774 47.6001 28.3355C47.5998 27.7936 47.4525 27.2614 47.1728 26.7922L35.3608 6.94689C35.0816 6.47766 34.6799 6.08799 34.1962 5.81706C33.7125 5.54614 33.1638 5.4035 32.6053 5.4035C32.0467 5.4035 31.498 5.54614 31.0143 5.81706C30.5306 6.08799 30.129 6.47766 29.8498 6.94689L26.8295 12.0246L20.9243 2.09529C20.6449 1.62609 20.2431 1.23648 19.7593 0.965601C19.2754 0.694725 18.7266 0.552124 18.168 0.552124C17.6094 0.552124 17.0606 0.694725 16.5767 0.965601C16.0929 1.23648 15.6911 1.62609 15.4117 2.09529L0.712988 26.7922C0.433357 27.2614 0.28601 27.7936 0.285767 28.3355C0.285524 28.8774 0.432393 29.4098 0.711603 29.8791C0.990813 30.3485 1.39252 30.7382 1.87631 31.0092C2.36011 31.2802 2.90894 31.4228 3.4676 31.4227H14.5083C18.8828 31.4227 22.1088 29.5589 24.3286 25.9227L29.7178 16.8696L32.6044 12.0246L41.2677 26.5778H29.7178L26.8295 31.4227ZM14.3283 26.5728L6.62332 26.5711L18.1731 7.16803L23.9361 16.8696L20.0775 23.3539C18.6034 25.7132 16.9287 26.5728 14.3283 26.5728Z" fill="#00DC82"/>
|
|
4
|
-
<path d="M60.65 31.1321V19.5774C60.65 16.2709 60.3057 12.9644 60.3057 12.9644C60.3057 12.9644 61.614 15.9802 63.2665 18.8144L70.3243 31.1321H75.8673V5.69727H70.6686V17.2519C70.6686 20.5585 71.0129 23.9013 71.0129 23.9013C71.0129 23.9013 69.7046 20.8491 68.0865 18.015L60.9942 5.69727H55.4857V31.1321H60.65Z" fill="currentColor"/>
|
|
5
|
-
<path d="M92.2457 12.819V22.8476C92.2457 25.1731 90.7653 26.9172 88.6652 26.9172C86.7028 26.9172 85.3256 25.3184 85.3256 23.1019V12.819H80.5401V24.2283C80.5401 28.4069 83.0878 31.4228 86.9782 31.4228C89.3538 31.4228 91.2817 30.3327 92.2457 28.5886V31.1321H97.0657V12.819H92.2457Z" fill="currentColor"/>
|
|
6
|
-
<path d="M111.082 21.6122L116.901 12.819H111.633L108.466 17.6516L105.298 12.819H100.065L105.884 21.5759L99.6177 31.1321H104.748L108.5 25.5001L112.218 31.1321H117.314L111.082 21.6122Z" fill="currentColor"/>
|
|
7
|
-
<path d="M122.281 12.819H118.941V17.0339H122.281V24.4827C122.281 28.7339 124.863 31.1321 128.857 31.1321H131.714V26.8808H129.511C127.962 26.8808 127.066 26.0451 127.066 24.2647V17.0339H131.714V12.819H127.066V7.40503H122.281V12.819Z" fill="currentColor"/>
|
|
8
|
-
</g>
|
|
9
|
-
<defs>
|
|
10
|
-
<clipPath id="clip0_1264_7346">
|
|
11
|
-
<rect width="131.429" height="32" fill="white" transform="translate(0.285767)"/>
|
|
12
|
-
</clipPath>
|
|
13
|
-
</defs>
|
|
14
|
-
</svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 262 33"><path fill-rule="evenodd" clip-rule="evenodd" d="M27 0C19.8 0 15.3 3.6 13.5 10.8C16.2 7.2 19.35 5.85 22.95 6.75C25.004 7.263 26.472 8.754 28.097 10.403C30.744 13.09 33.808 16.2 40.5 16.2C47.7 16.2 52.2 12.6 54 5.4C51.3 9 48.15 10.35 44.55 9.45C42.496 8.937 41.028 7.446 39.403 5.797C36.756 3.11 33.692 0 27 0ZM13.5 16.2C6.3 16.2 1.8 19.8 0 27C2.7 23.4 5.85 22.05 9.45 22.95C11.504 23.464 12.972 24.954 14.597 26.603C17.244 29.29 20.308 32.4 27 32.4C34.2 32.4 38.7 28.8 40.5 21.6C37.8 25.2 34.65 26.55 31.05 25.65C28.996 25.137 27.528 23.646 25.903 21.997C23.256 19.31 20.192 16.2 13.5 16.2Z" fill="#38BDF8"/><path fill-rule="evenodd" clip-rule="evenodd" d="M80.996 13.652H76.284V22.772C76.284 25.204 77.88 25.166 80.996 25.014V28.7C74.688 29.46 72.18 27.712 72.18 22.772V13.652H68.684V9.69996H72.18V4.59596L76.284 3.37996V9.69996H80.996V13.652ZM98.958 9.69996H103.062V28.7H98.958V25.964C97.514 27.978 95.272 29.194 92.308 29.194C87.14 29.194 82.846 24.824 82.846 19.2C82.846 13.538 87.14 9.20596 92.308 9.20596C95.272 9.20596 97.514 10.422 98.958 12.398V9.69996ZM92.954 25.28C96.374 25.28 98.958 22.734 98.958 19.2C98.958 15.666 96.374 13.12 92.954 13.12C89.534 13.12 86.95 15.666 86.95 19.2C86.95 22.734 89.534 25.28 92.954 25.28ZM109.902 6.84996C108.458 6.84996 107.28 5.63396 107.28 4.22796C107.281 3.53297 107.558 2.86682 108.049 2.37539C108.541 1.88395 109.207 1.60728 109.902 1.60596C110.597 1.60728 111.263 1.88395 111.755 2.37539C112.246 2.86682 112.523 3.53297 112.524 4.22796C112.524 5.63396 111.346 6.84996 109.902 6.84996ZM107.85 28.7V9.69996H111.954V28.7H107.85ZM116.704 28.7V0.959961H120.808V28.7H116.704ZM147.446 9.69996H151.778L145.812 28.7H141.784L137.832 15.894L133.842 28.7H129.814L123.848 9.69996H128.18L131.866 22.81L135.856 9.69996H139.77L143.722 22.81L147.446 9.69996ZM156.87 6.84996C155.426 6.84996 154.248 5.63396 154.248 4.22796C154.249 3.53297 154.526 2.86682 155.017 2.37539C155.509 1.88395 156.175 1.60728 156.87 1.60596C157.565 1.60728 158.231 1.88395 158.723 2.37539C159.214 2.86682 159.491 3.53297 159.492 4.22796C159.492 5.63396 158.314 6.84996 156.87 6.84996ZM154.818 28.7V9.69996H158.922V28.7H154.818ZM173.666 9.20596C177.922 9.20596 180.962 12.094 180.962 17.034V28.7H176.858V17.452C176.858 14.564 175.186 13.044 172.602 13.044C169.904 13.044 167.776 14.64 167.776 18.516V28.7H163.672V9.69996H167.776V12.132C169.03 10.156 171.082 9.20596 173.666 9.20596ZM200.418 2.09996H204.522V28.7H200.418V25.964C198.974 27.978 196.732 29.194 193.768 29.194C188.6 29.194 184.306 24.824 184.306 19.2C184.306 13.538 188.6 9.20596 193.768 9.20596C196.732 9.20596 198.974 10.422 200.418 12.398V2.09996ZM194.414 25.28C197.834 25.28 200.418 22.734 200.418 19.2C200.418 15.666 197.834 13.12 194.414 13.12C190.994 13.12 188.41 15.666 188.41 19.2C188.41 22.734 190.994 25.28 194.414 25.28ZM218.278 29.194C212.54 29.194 208.246 24.824 208.246 19.2C208.246 13.538 212.54 9.20596 218.278 9.20596C222.002 9.20596 225.232 11.144 226.752 14.108L223.218 16.16C222.382 14.374 220.52 13.234 218.24 13.234C214.896 13.234 212.35 15.78 212.35 19.2C212.35 22.62 214.896 25.166 218.24 25.166C220.52 25.166 222.382 23.988 223.294 22.24L226.828 24.254C225.232 27.256 222.002 29.194 218.278 29.194ZM233.592 14.944C233.592 18.402 243.814 16.312 243.814 23.342C243.814 27.142 240.508 29.194 236.404 29.194C232.604 29.194 229.868 27.484 228.652 24.748L232.186 22.696C232.794 24.406 234.314 25.432 236.404 25.432C238.228 25.432 239.634 24.824 239.634 23.304C239.634 19.922 229.412 21.822 229.412 15.02C229.412 11.448 232.49 9.20596 236.366 9.20596C239.482 9.20596 242.066 10.65 243.396 13.158L239.938 15.096C239.254 13.614 237.924 12.93 236.366 12.93C234.884 12.93 233.592 13.576 233.592 14.944ZM251.11 14.944C251.11 18.402 261.332 16.312 261.332 23.342C261.332 27.142 258.026 29.194 253.922 29.194C250.122 29.194 247.386 27.484 246.17 24.748L249.704 22.696C250.312 24.406 251.832 25.432 253.922 25.432C255.746 25.432 257.152 24.824 257.152 23.304C257.152 19.922 246.93 21.822 246.93 15.02C246.93 11.448 250.008 9.20596 253.884 9.20596C257 9.20596 259.584 10.65 260.914 13.158L257.456 15.096C256.772 13.614 255.442 12.93 253.884 12.93C252.402 12.93 251.11 13.576 251.11 14.944Z" fill="#1e293b"/></svg>
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg height="1500" viewBox="0 0 1500 1500" width="1500" xmlns="http://www.w3.org/2000/svg"><path d="M868.048 917.973h340.458v324.44H868.048z" fill="#fff"/><path d="M1209.784 1243.692H866.769V916.695h343.015zm-340.458-2.557h337.901V919.252H869.326z" fill="#231f20"/><path d="M1208.506 917.973h142.753v324.44h-142.753z" fill="#231f20"/><path d="M1352.537 1243.692h-145.31V916.695h145.31zm-142.753-2.557h140.197V919.252h-140.197z" fill="#231f20"/><ellipse cx="1260.873" cy="973.095" fill="#fff" rx="14.316" ry="20.519"/><path d="M1260.873 994.892c-8.598 0-15.594-9.778-15.594-21.798 0-12.019 6.996-21.797 15.594-21.797 8.599 0 15.594 9.778 15.594 21.797 0 12.02-6.995 21.798-15.594 21.798zm0-41.038c-7.189 0-13.037 8.631-13.037 19.24s5.848 19.241 13.037 19.241 13.038-8.632 13.038-19.241-5.849-19.24-13.038-19.24z" fill="#fff"/><path d="m1116.94 1123.504 49.305-19.588 8.338 20.985-49.306 19.589z" fill="#231f20"/><path d="m1124.641 1146.153-9.282-23.362 51.684-20.535 9.282 23.362zm-5.963-21.931 7.394 18.61 46.933-18.646-7.394-18.61zm-250.63 118.191H150.079l543.064-696.742 245.624 109.016z" fill="#231f20"/><path d="M869.181 1243.692H147.462l1.609-2.064 543.678-697.529.913.405 246.487 109.398zm-716.484-2.557h714.217l70.471-585.663-243.848-108.227z" fill="#231f20"/><path d="M693.143 545.671c30.104-67.827 109.493-98.408 177.32-68.304s98.408 109.493 68.304 177.32z" fill="#fff"/><path d="M938.766 655.965a1.27 1.27 0 0 1-.518-.11L692.625 546.839a1.279 1.279 0 0 1-.65-1.687c14.698-33.116 41.413-58.526 75.223-71.551 33.81-13.024 70.667-12.103 103.784 2.598 33.116 14.697 58.526 41.412 71.55 75.222 13.023 33.81 12.102 70.668-2.597 103.784-.212.477-.679.76-1.169.76zm-243.93-110.941 243.276 107.974c13.927-32.188 14.659-67.883 2.035-100.657-12.778-33.173-37.709-59.384-70.202-73.805s-68.656-15.327-101.828-2.548c-32.774 12.625-58.754 37.115-73.281 69.036z" fill="#231f20"/><path d="m856.91 455.132 111.473-111.401 28.331 29.169-111.43 111.318z" fill="#fff"/><path d="m885.272 486.036-30.159-30.916 113.284-113.209 30.113 31.003zm-26.566-30.893 26.589 27.256 109.624-109.513-26.55-27.335z" fill="#231f20"/><path d="M1250.308 563.216 993.129 343.731l-26.858 30.816 256.299 218.502z" fill="#fff"/><path d="m1222.673 594.816-.932-.794-257.282-219.341 28.538-32.744.962.821 258.193 220.352zM968.084 374.412l254.384 216.871 25.996-27.96-255.202-217.798z" fill="#231f20"/><path d="m1138.539 891.293 116.784-308.075-39.885-13.17-117.874 313.484z" fill="#fff"/><path d="m1139.355 892.749-43.522-8.243 118.84-316.057 42.319 13.974zm-40.059-10.189 38.428 7.278 115.931-305.826-37.453-12.366z" fill="#231f20"/><path d="M1291.48 917.973H966.271v-2.607c0-24.61 19.951-44.561 44.561-44.561h236.087c24.61 0 44.561 19.951 44.561 44.561z" fill="#fff"/><path d="M1292.759 919.252H964.993v-3.885c0-25.276 20.563-45.84 45.839-45.84h236.087c25.276 0 45.839 20.563 45.839 45.84v3.885zm-325.209-2.557h322.652v-1.328c0-23.866-19.417-43.283-43.283-43.283h-236.087c-23.866 0-43.283 19.417-43.283 43.283v1.328z" fill="#231f20"/><path d="M1027.893 855.878h14.928v14.928h-14.928z" fill="#fff"/><path d="M1044.099 872.084h-17.484V854.6h17.484zm-14.927-2.557h12.371v-12.371h-12.371z" fill="#231f20"/><circle cx="1228.993" cy="576.638" fill="#fff" r="47.137"/><path d="M1228.994 625.053c-26.697 0-48.416-21.72-48.416-48.416s21.719-48.415 48.416-48.415c26.696 0 48.416 21.719 48.416 48.415s-21.72 48.416-48.416 48.416zm0-94.274c-25.287 0-45.859 20.572-45.859 45.858 0 25.287 20.572 45.859 45.859 45.859s45.859-20.572 45.859-45.859c-.001-25.286-20.573-45.858-45.859-45.858z" fill="#231f20"/><circle cx="1228.993" cy="576.638" fill="#231f20" r="20.487"/><path d="M1228.994 598.403c-12.002 0-21.766-9.764-21.766-21.766s9.764-21.766 21.766-21.766c12.001 0 21.766 9.764 21.766 21.766s-9.765 21.766-21.766 21.766zm0-40.975c-10.592 0-19.209 8.617-19.209 19.209s8.617 19.209 19.209 19.209 19.209-8.617 19.209-19.209-8.618-19.209-19.209-19.209z" fill="#231f20"/><circle cx="980.756" cy="360.058" fill="#fff" r="47.137"/><path d="M980.756 408.473c-26.697 0-48.416-21.719-48.416-48.415s21.719-48.416 48.416-48.416c26.696 0 48.416 21.72 48.416 48.416s-21.72 48.415-48.416 48.415zm0-94.274c-25.287 0-45.859 20.572-45.859 45.859 0 25.286 20.572 45.858 45.859 45.858s45.859-20.572 45.859-45.858c0-25.287-20.572-45.859-45.859-45.859z" fill="#231f20"/><circle cx="980.756" cy="360.058" fill="#231f20" r="20.487"/><path d="M980.756 381.824c-12.002 0-21.766-9.764-21.766-21.766s9.764-21.766 21.766-21.766c12.001 0 21.766 9.764 21.766 21.766s-9.764 21.766-21.766 21.766zm0-40.975c-10.592 0-19.209 8.617-19.209 19.209s8.617 19.209 19.209 19.209 19.209-8.617 19.209-19.209-8.617-19.209-19.209-19.209z" fill="#231f20"/><circle cx="872.97" cy="467.844" fill="#fff" r="47.137"/><path d="M872.97 516.26c-26.696 0-48.416-21.72-48.416-48.416s21.719-48.416 48.416-48.416 48.416 21.72 48.416 48.416-21.72 48.416-48.416 48.416zm0-94.275c-25.287 0-45.859 20.572-45.859 45.859s20.572 45.859 45.859 45.859 45.859-20.572 45.859-45.859-20.573-45.859-45.859-45.859z" fill="#231f20"/><circle cx="872.97" cy="467.844" fill="#231f20" r="20.487"/><path d="M872.97 489.61c-12.001 0-21.766-9.764-21.766-21.766s9.764-21.766 21.766-21.766 21.766 9.764 21.766 21.766-9.765 21.766-21.766 21.766zm0-40.975c-10.592 0-19.209 8.617-19.209 19.209s8.617 19.209 19.209 19.209 19.209-8.617 19.209-19.209-8.618-19.209-19.209-19.209zm198.09 410.043h115.633v12.128H1071.06z" fill="#231f20"/><path d="M1187.971 872.084h-118.189V857.4h118.189zm-115.633-2.557h113.076v-9.57h-113.076z" fill="#231f20"/><path d="M673.058 983.413h179.424v259H673.058z" fill="#fff"/><path d="M853.761 1243.692H671.78V982.135h181.98v261.557zm-179.424-2.557h176.867V984.692H674.337z" fill="#231f20"/><path d="M852.482 983.413h206.323v259H852.482z" fill="#231f20"/><path d="M1060.084 1243.692h-208.88V982.135h208.88zm-206.323-2.557h203.767V984.692H853.761z" fill="#231f20"/><ellipse cx="817.032" cy="1084.683" fill="#231f20" rx="14.316" ry="20.519"/><path d="M817.032 1106.481c-8.599 0-15.594-9.778-15.594-21.798 0-12.019 6.996-21.797 15.594-21.797s15.594 9.778 15.594 21.797c0 12.02-6.996 21.798-15.594 21.798zm0-41.038c-7.189 0-13.038 8.631-13.038 19.24s5.849 19.241 13.038 19.241 13.037-8.632 13.037-19.241-5.848-19.24-13.037-19.24z" fill="#231f20"/><path d="M970.549 1194.945h57.344v26.138h-57.344z" fill="#fff"/><path d="M1029.172 1222.361H969.27v-28.694h59.901v28.694zm-57.345-2.557h54.788v-23.581h-54.788zm-102.501-236.39h-2.557v-66.719h32.442v2.557h-29.885z" fill="#fff"/><path d="M855.569 982.135h38.59v2.557h-38.59z" fill="#fff"/><path d="m318.161 777.305 5.046 13.114 13.114 5.047-13.114 5.046-5.046 13.114-5.052-13.109L300 795.466l13.114-5.047zm48.676-520.996 5.046 13.114 13.115 5.046-13.115 5.047-5.046 13.114-5.051-13.11-13.11-5.051 13.115-5.046zm262.052 112.425 5.046 13.114 13.114 5.047-13.114 5.046-5.046 13.114-5.052-13.109-13.109-5.051 13.114-5.047zm442.171 285.953 5.046 13.114 13.114 5.047-13.114 5.046-5.046 13.114-5.052-13.109-13.109-5.051 13.114-5.047zm193.658-380.218 5.046 13.114 13.115 5.047-13.115 5.046-5.046 13.114-5.051-13.109-13.11-5.051 13.115-5.047z" fill="#231f20"/><path d="m865.469 672.848 5.046 13.114 13.114 5.046-13.114 5.047-5.046 13.114-5.052-13.109-13.109-5.052 13.114-5.046zm-236.58 36.321 5.046 13.114 13.114 5.046-13.114 5.047-5.046 13.114-5.052-13.109-13.109-5.052 13.114-5.046zM300 1158.624l5.046 13.114 13.115 5.046-13.115 5.047-5.046 13.114-5.051-13.11-13.11-5.051 13.115-5.046zm209.414-78.431 5.047 13.114 13.114 5.047-13.114 5.046-5.047 13.114-5.051-13.109-13.109-5.051 13.114-5.047zm111.57-110.856a1.278 1.278 0 0 1-1.193-.818l-15.246-39.567-39.567-15.247a1.276 1.276 0 0 1 0-2.385l39.582-15.23 15.231-39.582a1.279 1.279 0 0 1 2.386 0l15.231 39.582 39.582 15.23a1.277 1.277 0 0 1 0 2.386l-39.582 15.231-15.231 39.581c-.19.493-.664.819-1.193.819zm-51.99-56.824 36.999 14.257c.337.13.604.396.733.732l14.256 36.999 14.243-37.013c.13-.338.396-.604.734-.734l37.012-14.242-37.012-14.241a1.279 1.279 0 0 1-.734-.734l-14.242-37.012-14.242 37.012c-.13.338-.396.604-.734.734z" fill="#fff"/></svg>
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg height="1500" viewBox="0 0 1500 1500" width="1500" xmlns="http://www.w3.org/2000/svg"><clipPath id="a"><path d="M464.56 844.149c-5.473-14.889 8.998-29.36 23.887-23.887l116.586 42.857 115.893 42.603c15.002 5.515 16.53 26.129 2.505 33.796l-90.273 49.343-49.343 90.273c-7.666 14.025-28.281 12.497-33.796-2.505l-42.603-115.893z"/></clipPath><g fill="#231f20"><path d="M732.624 834.508c-138.02 0-267.788-7.147-365.401-20.126-126.121-16.769-152.594-36.482-152.594-50.067s26.474-33.299 152.594-50.067c97.613-12.979 227.381-20.126 365.401-20.126s267.788 7.147 365.401 20.126c126.121 16.769 152.594 36.482 152.594 50.067s-26.474 33.299-152.594 50.067c-97.613 12.979-227.381 20.126-365.401 20.126zm0-137.338c-137.889 0-267.515 7.138-364.999 20.1-135.336 17.994-149.947 38.895-149.947 47.045s14.611 29.051 149.947 47.045c97.484 12.961 227.11 20.1 364.999 20.1s267.515-7.139 364.999-20.1c135.336-17.994 149.947-38.895 149.947-47.045s-14.611-29.051-149.947-47.045c-97.484-12.961-227.11-20.1-364.999-20.1z"/><path d="M732.624 903.177c-138.02 0-267.788-7.147-365.401-20.126-126.121-16.769-152.594-36.482-152.594-50.067s26.474-33.299 152.594-50.067c97.613-12.979 227.381-20.126 365.401-20.126s267.788 7.147 365.401 20.126c126.121 16.769 152.594 36.482 152.594 50.067s-26.474 33.299-152.594 50.067c-97.613 12.979-227.381 20.126-365.401 20.126zm0-137.338c-137.889 0-267.515 7.139-364.999 20.1-135.336 17.994-149.947 38.895-149.947 47.045s14.611 29.051 149.947 47.045c97.484 12.961 227.11 20.1 364.999 20.1s267.515-7.139 364.999-20.1c135.336-17.994 149.947-38.895 149.947-47.045s-14.611-29.051-149.947-47.045c-97.484-12.961-227.11-20.1-364.999-20.1z"/><path d="M732.624 971.846c-138.02 0-267.788-7.147-365.401-20.126-126.121-16.769-152.594-36.482-152.594-50.067s26.474-33.299 152.594-50.067c97.613-12.979 227.381-20.126 365.401-20.126s267.788 7.147 365.401 20.126c126.121 16.769 152.594 36.482 152.594 50.067s-26.474 33.299-152.594 50.067c-97.613 12.979-227.381 20.126-365.401 20.126zm0-137.338c-137.889 0-267.515 7.139-364.999 20.1-135.336 17.994-149.947 38.895-149.947 47.045s14.611 29.051 149.947 47.045c97.484 12.961 227.11 20.1 364.999 20.1s267.515-7.139 364.999-20.1c135.336-17.994 149.947-38.895 149.947-47.045s-14.611-29.051-149.947-47.045c-97.484-12.961-227.11-20.1-364.999-20.1z"/><path d="M732.624 1040.515c-138.02 0-267.788-7.147-365.401-20.126-126.121-16.769-152.594-36.482-152.594-50.067s26.474-33.299 152.594-50.067c97.613-12.979 227.381-20.126 365.401-20.126s267.788 7.147 365.401 20.126c126.121 16.769 152.594 36.482 152.594 50.067s-26.474 33.299-152.594 50.067c-97.613 12.979-227.381 20.126-365.401 20.126zm0-137.338c-137.889 0-267.515 7.139-364.999 20.1-135.336 17.994-149.947 38.895-149.947 47.045s14.611 29.051 149.947 47.045c97.484 12.961 227.11 20.1 364.999 20.1s267.515-7.139 364.999-20.1c135.336-17.994 149.947-38.895 149.947-47.045s-14.611-29.051-149.947-47.045c-97.484-12.961-227.11-20.1-364.999-20.1zm-427.3-491.996h5.671v251.96h-5.671z"/><path d="M434.139 534.326v5.67h-251.96v-5.67z"/><path d="m217.068 450.083 4.01-4.01L399.24 624.234l-4.01 4.01z"/><path d="m395.236 446.07 4.01 4.01-178.16 178.161-4.01-4.01z"/><circle cx="308.159" cy="537.161" r="22.491"/></g><circle cx="1189.624" cy="726.485" fill="#fff" r="126.673"/><path d="M1189.623 854.682c-70.688 0-128.197-57.509-128.197-128.197s57.509-128.197 128.197-128.197 128.197 57.509 128.197 128.197c.001 70.688-57.508 128.197-128.197 128.197zm0-253.345c-69.007 0-125.148 56.141-125.148 125.148s56.142 125.148 125.148 125.148 125.148-56.142 125.148-125.148-56.141-125.148-125.148-125.148z" fill="#231f20"/><path d="M1189.623 817.606c-38.708 0-73.294-24.581-86.064-61.167l2.879-1.004c12.342 35.362 45.772 59.122 83.185 59.122s70.843-23.76 83.186-59.122l2.879 1.004c-12.77 36.586-47.357 61.167-86.065 61.167z" fill="#231f20"/><path d="M1279.226 759.086c-7.609 0-13.719-3.222-13.998-3.371l1.438-2.688c.067.035 6.778 3.553 14.416 2.937l.246 3.039a26.29 26.29 0 0 1-2.102.083zm-179.876 0c-.69 0-1.392-.026-2.103-.084l.246-3.039c7.634.618 14.349-2.901 14.416-2.937l1.438 2.688c-.278.151-6.389 3.372-13.997 3.372z" fill="#231f20"/><ellipse cx="1221.262" cy="691.021" fill="#231f20" rx="20.313" ry="42.819"/><ellipse cx="1157.985" cy="691.021" fill="#231f20" rx="20.313" ry="42.819"/><path d="M363.78 512.365h737.689c14.337 0 25.958 11.622 25.958 25.958V651.92H337.821V538.323c0-14.336 11.622-25.958 25.959-25.958z" fill="#fff"/><path d="M1128.952 653.445H336.297V538.324c0-15.154 12.329-27.483 27.483-27.483h737.689c15.154 0 27.483 12.329 27.483 27.483zm-789.606-3.049h786.557V538.324c0-13.473-10.961-24.434-24.434-24.434H363.78c-13.473 0-24.434 10.961-24.434 24.434z" fill="#231f20"/><path d="M421.714 605.715c-12.998 0-23.572-10.574-23.572-23.572s10.574-23.572 23.572-23.572 23.572 10.574 23.572 23.572-10.575 23.572-23.572 23.572zm0-44.095c-11.316 0-20.523 9.207-20.523 20.523s9.207 20.523 20.523 20.523 20.523-9.207 20.523-20.523-9.207-20.523-20.523-20.523zm76.188 44.095c-12.998 0-23.572-10.574-23.572-23.572s10.574-23.572 23.572-23.572 23.572 10.574 23.572 23.572-10.575 23.572-23.572 23.572zm0-44.095c-11.316 0-20.523 9.207-20.523 20.523s9.207 20.523 20.523 20.523 20.523-9.207 20.523-20.523-9.207-20.523-20.523-20.523zm76.188 44.095c-12.998 0-23.572-10.574-23.572-23.572s10.574-23.572 23.572-23.572 23.572 10.574 23.572 23.572-10.575 23.572-23.572 23.572zm0-44.095c-11.316 0-20.523 9.207-20.523 20.523s9.207 20.523 20.523 20.523 20.523-9.207 20.523-20.523-9.207-20.523-20.523-20.523z" fill="#231f20"/><path d="M337.821 651.921h789.606v320.762c0 14.336-11.622 25.958-25.958 25.958H363.78c-14.336 0-25.958-11.622-25.958-25.958V651.921z" fill="#fff"/><path d="M1101.469 1000.165H363.78c-15.154 0-27.483-12.328-27.483-27.482V650.396h792.655v322.287c0 15.154-12.329 27.482-27.483 27.482zm-762.123-346.72v319.238c0 13.473 10.961 24.434 24.434 24.434h737.689c13.473 0 24.434-10.961 24.434-24.434V653.445z" fill="#231f20"/><path d="M467.453 897.476c-.51 0-.987-.255-1.27-.681-11.571-17.407-32.285-25.988-52.778-21.866a1.55 1.55 0 0 1-1.456-.495 1.522 1.522 0 0 1-.333-1.369c4.11-20.43-4.473-41.146-21.88-52.717a1.524 1.524 0 0 1 0-2.54c17.407-11.57 25.99-32.286 21.867-52.777a1.535 1.535 0 0 1 .426-1.395c.369-.36.896-.518 1.397-.404 20.47 4.121 41.186-4.463 52.757-21.87.564-.852 1.975-.852 2.539 0 11.57 17.406 32.284 25.986 52.777 21.866a1.508 1.508 0 0 1 1.459.498c.325.375.451.885.331 1.366-4.11 20.43 4.473 41.146 21.88 52.717a1.524 1.524 0 0 1 0 2.54c-17.407 11.57-25.99 32.286-21.867 52.777a1.535 1.535 0 0 1-.426 1.395 1.522 1.522 0 0 1-1.397.404c-20.471-4.122-41.186 4.463-52.757 21.87a1.521 1.521 0 0 1-1.269.681zm-43.83-26.617c17.208 0 33.511 8.174 43.829 22.42 12.034-16.613 32.211-24.973 52.467-21.732-3.238-20.263 5.12-40.435 21.732-52.467-16.614-12.034-24.971-32.21-21.732-52.467-20.256 3.24-40.433-5.117-52.466-21.732-12.034 16.613-32.213 24.972-52.467 21.732 3.238 20.263-5.12 40.435-21.732 52.467 16.614 12.034 24.971 32.21 21.732 52.467a54.556 54.556 0 0 1 8.637-.688z" fill="#231f20"/><path d="M464.56 844.149c-5.473-14.889 8.998-29.36 23.887-23.887l116.586 42.857 115.893 42.603c15.002 5.515 16.53 26.129 2.505 33.796l-90.273 49.343-49.343 90.273c-7.666 14.025-28.281 12.497-33.796-2.505l-42.603-115.893z" fill="#231f20"/><circle cx="467.453" cy="819.08" fill="#231f20" r="39.157"/><circle clip-path="url(#a)" cx="467.453" cy="819.08" fill="#fff" r="39.157"/><g clip-path="url(#a)"><path d="M467.453 897.476c-.51 0-.987-.255-1.27-.681-11.571-17.407-32.285-25.988-52.778-21.866a1.55 1.55 0 0 1-1.456-.495 1.522 1.522 0 0 1-.333-1.369c4.11-20.43-4.473-41.146-21.88-52.717a1.524 1.524 0 0 1 0-2.54c17.407-11.57 25.99-32.286 21.867-52.777a1.535 1.535 0 0 1 .426-1.395c.369-.36.896-.518 1.397-.404 20.47 4.121 41.186-4.463 52.757-21.87.564-.852 1.975-.852 2.539 0 11.57 17.406 32.284 25.986 52.777 21.866a1.508 1.508 0 0 1 1.459.498c.325.375.451.885.331 1.366-4.11 20.43 4.473 41.146 21.88 52.717a1.524 1.524 0 0 1 0 2.54c-17.407 11.57-25.99 32.286-21.867 52.777a1.535 1.535 0 0 1-.426 1.395 1.522 1.522 0 0 1-1.397.404c-20.471-4.122-41.186 4.463-52.757 21.87a1.521 1.521 0 0 1-1.269.681zm-43.83-26.617c17.208 0 33.511 8.174 43.829 22.42 12.034-16.613 32.211-24.973 52.467-21.732-3.238-20.263 5.12-40.435 21.732-52.467-16.614-12.034-24.971-32.21-21.732-52.467-20.256 3.24-40.433-5.117-52.466-21.732-12.034 16.613-32.213 24.972-52.467 21.732 3.238 20.263-5.12 40.435-21.732 52.467 16.614 12.034 24.971 32.21 21.732 52.467a54.556 54.556 0 0 1 8.637-.688z" fill="#fff"/></g><circle cx="722.249" cy="819.08" fill="#fff" r="39.157"/><path d="M722.249 859.76c-22.432 0-40.681-18.249-40.681-40.681s18.25-40.681 40.681-40.681 40.681 18.249 40.681 40.681-18.25 40.681-40.681 40.681zm0-78.312c-20.75 0-37.632 16.882-37.632 37.632s16.882 37.632 37.632 37.632 37.632-16.882 37.632-37.632-16.882-37.632-37.632-37.632z" fill="#231f20"/><circle cx="977.045" cy="819.08" fill="#fff" r="39.157"/><path d="M977.045 859.76c-22.432 0-40.681-18.249-40.681-40.681s18.25-40.681 40.681-40.681 40.681 18.249 40.681 40.681-18.25 40.681-40.681 40.681zm0-78.312c-20.75 0-37.632 16.882-37.632 37.632s16.882 37.632 37.632 37.632 37.632-16.882 37.632-37.632-16.882-37.632-37.632-37.632zM462.172 430.319h727.451v3.049H462.172z" fill="#231f20"/><circle cx="462.172" cy="431.843" fill="#231f20" r="6.851"/><circle cx="1189.624" cy="431.843" fill="#231f20" r="6.851"/></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|