aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2017-04-30 09:16:55 +0200
committerThomas Citharel <tcit@tcit.fr>2017-06-14 17:53:52 +0200
commit0f8268c93e6210d368f9dcd1900274871a9eacdf (patch)
tree251024ae114d2a14a67399ba28d02ddb6d031bad
parentf93a3109a5f0999dbbd69131c9e5041c390120c9 (diff)
downloadwallabag-oauth-changes.tar.gz
wallabag-oauth-changes.tar.zst
wallabag-oauth-changes.zip
Add client_credentials as grant_typeoauth-changes
Therefore, username and password are no longer needed Signed-off-by: Thomas Citharel <tcit@tcit.fr> Allow to have global clients, auth through direct token or auth code and bring scopes Signed-off-by: Thomas Citharel <tcit@tcit.fr> fix review Signed-off-by: Thomas Citharel <tcit@tcit.fr> remove redirect uri requirement on specific clients add back password and depreciate it enforce state Signed-off-by: Thomas Citharel <tcit@tcit.fr> Allow apps to register themselves A handful of changes Signed-off-by: Thomas Citharel <tcit@tcit.fr> change timeout values Signed-off-by: Thomas Citharel <tcit@tcit.fr> set access_token lifetime to 1 year and double for refresh_token Signed-off-by: Thomas Citharel <tcit@tcit.fr>
-rw-r--r--app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig7
-rw-r--r--app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig53
-rw-r--r--app/Resources/static/themes/material/css/various.scss27
-rwxr-xr-xapp/Resources/static/themes/material/index.js6
-rw-r--r--app/config/config.yml42
-rw-r--r--app/config/routing.yml3
-rw-r--r--app/config/security.yml1
-rw-r--r--src/Wallabag/ApiBundle/Controller/AnnotationRestController.php9
-rw-r--r--src/Wallabag/ApiBundle/Controller/AppsController.php189
-rw-r--r--src/Wallabag/ApiBundle/Controller/DeveloperController.php105
-rw-r--r--src/Wallabag/ApiBundle/Controller/EntryRestController.php23
-rw-r--r--src/Wallabag/ApiBundle/Controller/TagRestController.php11
-rw-r--r--src/Wallabag/ApiBundle/Entity/AccessToken.php2
-rw-r--r--src/Wallabag/ApiBundle/Entity/Client.php87
-rw-r--r--src/Wallabag/ApiBundle/Form/Type/ClientType.php20
-rw-r--r--src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php18
-rw-r--r--src/Wallabag/ApiBundle/Resources/config/services.yml6
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml99
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml66
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml74
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml66
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml98
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml68
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml64
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml44
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml66
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml64
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml98
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml96
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig12
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig13
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig63
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig142
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig4
-rw-r--r--web/assets/appicons/.gitkeep0
-rw-r--r--web/assets/appicons/Firefox-logo.svg429
-rw-r--r--web/assets/appicons/Logo_Google_Chrome.svg2859
-rw-r--r--web/assets/appicons/android_full.pngbin0 -> 4501398 bytes
-rw-r--r--web/assets/appicons/appstore.svg129
-rw-r--r--web/assets/appicons/browser.pngbin0 -> 636214 bytes
-rw-r--r--web/assets/appicons/fdroid.pngbin0 -> 15174 bytes
-rw-r--r--web/assets/appicons/google_play.pngbin0 -> 13957 bytes
-rw-r--r--web/assets/appicons/iOS_full.pngbin0 -> 2555555 bytes
-rw-r--r--web/assets/appicons/ios.pngbin0 -> 167727 bytes
-rw-r--r--web/assets/appicons/opera-for-computers_icon_128x128.pngbin0 -> 10057 bytes
-rw-r--r--web/assets/appicons/windows.jpegbin0 -> 124406 bytes
-rw-r--r--web/assets/appicons/windowsstore.pngbin0 -> 35862 bytes
47 files changed, 4467 insertions, 696 deletions
diff --git a/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig
new file mode 100644
index 00000000..42566a05
--- /dev/null
+++ b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig
@@ -0,0 +1,7 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %}
4
5{% block content %}
6{% include "FOSOAuthServerBundle:Authorize:authorize_content.html.twig" %}
7{% endblock content %}
diff --git a/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig
new file mode 100644
index 00000000..d7f2dbe0
--- /dev/null
+++ b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig
@@ -0,0 +1,53 @@
1<div class="row">
2 <div class="col s12">
3 <h4>A new application would like to connect to your account</h4>
4
5 <div class="center-align col l6 offset-l3">
6 <div class="row">
7 <ul class="collection">
8 <li class="collection-item avatar">
9 {% if client.image %}
10 <img src="{{ client.image }}" alt="Client icon" class="circle">
11 {% endif %}
12 <span class="title">{{ client.name }}</span>
13 <p>{{ client.description }}</p>
14 </li>
15 </ul>
16 {% set scopes = form.scope.vars.value | split(' ') %}
17 {# TODO : Fix me when https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/issues/309 is ok #}
18 <ul class="collapsible col s12 m12 l6 offset-l3" data-collapsible="accordion">
19 {% for scope in scopes %}
20 {% if scope == 'read' %}
21 <li>
22 <div class="collapsible-header"><i class="material-icons">visibility</i>Read Permission</div>
23 <div class="collapsible-body"><span>{{ client.name }} will be able to access the list and contents of your entries, tags and annotations.</span></div>
24 </li>
25 {% endif %}
26 {% if scope == 'write' %}
27 <li>
28 <div class="collapsible-header"><i class="material-icons">edit</i>Edit Permission</div>
29 <div class="collapsible-body"><span>{{ client.name }} will be able to edit and manage (including deleting) your entries, tags and annotations.</span></div>
30 </li>
31 {% endif %}
32 {% if scope == 'user' %}
33 <li>
34 <div class="collapsible-header"><i class="material-icons">person</i>User Permission</div>
35 <div class="collapsible-body"><span>{{ client.name }} will be able to manage your user account.</span></div>
36 </li>
37 {% endif %}
38 {% endfor %}
39 </ul>
40 </div>
41 {{ form_start(form, {'method': 'POST', 'action': path('fos_oauth_server_authorize'), 'label_attr': {'class': 'fos_oauth_server_authorize'} }) }}
42 <input class="waves-effect waves-light btn red" type="submit" name="rejected" value="{{ 'authorize.reject'|trans({}, 'FOSOAuthServerBundle') }}" />
43 <input class="waves-effect waves-light btn" type="submit" name="accepted" value="{{ 'authorize.accept'|trans({}, 'FOSOAuthServerBundle') }}" />
44 {{ form_row(form.client_id) }}
45 {{ form_row(form.response_type) }}
46 {{ form_row(form.redirect_uri) }}
47 {{ form_row(form.state) }}
48 {{ form_row(form.scope) }}
49 {{ form_rest(form) }}
50 </form>
51 </div>
52 </div>
53</div>
diff --git a/app/Resources/static/themes/material/css/various.scss b/app/Resources/static/themes/material/css/various.scss
index 7daf40ec..5ff18038 100644
--- a/app/Resources/static/themes/material/css/various.scss
+++ b/app/Resources/static/themes/material/css/various.scss
@@ -30,3 +30,30 @@ nav .input-field input {
30.tab { 30.tab {
31 flex: 1; 31 flex: 1;
32} 32}
33
34.slider .slides {
35 background: #00acc1;
36
37 li {
38 img {
39 background: no-repeat;
40 background-size: contain;
41 background-position: unset;
42 }
43
44 .icon {
45 width: auto;
46 height: 180px;
47 }
48
49 .icon.browser {
50 width: auto;
51 height: 100px;
52 }
53
54 .caption {
55 width: 85%;
56 left: 10%;
57 }
58 }
59}
diff --git a/app/Resources/static/themes/material/index.js b/app/Resources/static/themes/material/index.js
index d6afbb8a..74f64f9e 100755
--- a/app/Resources/static/themes/material/index.js
+++ b/app/Resources/static/themes/material/index.js
@@ -75,4 +75,10 @@ $(document).ready(() => {
75 const scrollPercent = (s / (d - c)) * 100; 75 const scrollPercent = (s / (d - c)) * 100;
76 $('.progress .determinate').css('width', `${scrollPercent}%`); 76 $('.progress .determinate').css('width', `${scrollPercent}%`);
77 }); 77 });
78
79 if ($('.slider')) {
80 $('.slider').slider({
81 height: 500,
82 });
83 }
78}); 84});
diff --git a/app/config/config.yml b/app/config/config.yml
index 2bc5e3b3..112fa012 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -35,6 +35,42 @@ framework:
35 http_method_override: true 35 http_method_override: true
36 assets: ~ 36 assets: ~
37 37
38wallabag_core:
39 version: 2.2.3
40 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
41 languages:
42 en: 'English'
43 fr: 'Français'
44 de: 'Deutsch'
45 tr: 'Türkçe'
46 fa: 'فارسی'
47 ro: 'Română'
48 pl: 'Polish'
49 da: 'Dansk'
50 es: 'Español'
51 oc: 'Occitan'
52 it: 'Italiano'
53 pt: 'Português'
54 items_on_page: 12
55 theme: material
56 language: '%locale%'
57 rss_limit: 50
58 reading_speed: 1
59 cache_lifetime: 10
60 action_mark_as_read: 1
61 list_mode: 0
62 fetching_error_message_title: 'No title found'
63 fetching_error_message: |
64 wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
65 api_limit_mass_actions: 10
66
67wallabag_user:
68 registration_enabled: "%fosuser_registration%"
69
70wallabag_import:
71 allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv']
72 resource_dir: "%kernel.root_dir%/../web/uploads/import"
73
38# Twig Configuration 74# Twig Configuration
39twig: 75twig:
40 debug: "%kernel.debug%" 76 debug: "%kernel.debug%"
@@ -194,7 +230,11 @@ fos_oauth_server:
194 service: 230 service:
195 user_provider: fos_user.user_provider.username_email 231 user_provider: fos_user.user_provider.username_email
196 options: 232 options:
197 refresh_token_lifetime: 1209600 233 access_token_lifetime: 31536000
234 refresh_token_lifetime: 63072000
235 supported_scopes: read write user
236 enforce_state: true
237 auth_code_lifetime: 60
198 238
199scheb_two_factor: 239scheb_two_factor:
200 trusted_computer: 240 trusted_computer:
diff --git a/app/config/routing.yml b/app/config/routing.yml
index 0bd2d130..5d26f944 100644
--- a/app/config/routing.yml
+++ b/app/config/routing.yml
@@ -44,6 +44,9 @@ fos_user:
44fos_oauth_server_token: 44fos_oauth_server_token:
45 resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" 45 resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml"
46 46
47fos_oauth_server_authorize:
48 resource: "@FOSOAuthServerBundle/Resources/config/routing/authorize.xml"
49
47craue_config_settings_modify: 50craue_config_settings_modify:
48 path: /settings 51 path: /settings
49 defaults: 52 defaults:
diff --git a/app/config/security.yml b/app/config/security.yml
index ffb1d356..0ce37661 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
@@ -57,6 +57,7 @@ security:
57 - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY } 57 - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
58 - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY } 58 - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
59 - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY } 59 - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }
60 - { path: ^/api/apps, roles: IS_AUTHENTICATED_ANONYMOUSLY }
60 - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 61 - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
61 - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 62 - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
62 - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 63 - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
diff --git a/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php b/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php
index 2dd26c07..c524a24c 100644
--- a/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php
@@ -4,6 +4,7 @@ namespace Wallabag\ApiBundle\Controller;
4 4
5use Nelmio\ApiDocBundle\Annotation\ApiDoc; 5use Nelmio\ApiDocBundle\Annotation\ApiDoc;
6use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; 6use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
7use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
7use Symfony\Component\HttpFoundation\Request; 8use Symfony\Component\HttpFoundation\Request;
8use Symfony\Component\HttpFoundation\JsonResponse; 9use Symfony\Component\HttpFoundation\JsonResponse;
9use Wallabag\CoreBundle\Entity\Entry; 10use Wallabag\CoreBundle\Entity\Entry;
@@ -21,7 +22,7 @@ class AnnotationRestController extends WallabagRestController
21 * ) 22 * )
22 * 23 *
23 * @param Entry $entry 24 * @param Entry $entry
24 * 25 * @Security("has_role('ROLE_READ')")
25 * @return JsonResponse 26 * @return JsonResponse
26 */ 27 */
27 public function getAnnotationsAction(Entry $entry) 28 public function getAnnotationsAction(Entry $entry)
@@ -46,7 +47,7 @@ class AnnotationRestController extends WallabagRestController
46 * 47 *
47 * @param Request $request 48 * @param Request $request
48 * @param Entry $entry 49 * @param Entry $entry
49 * 50 * @Security("has_role('ROLE_WRITE')")
50 * @return JsonResponse 51 * @return JsonResponse
51 */ 52 */
52 public function postAnnotationAction(Request $request, Entry $entry) 53 public function postAnnotationAction(Request $request, Entry $entry)
@@ -72,7 +73,7 @@ class AnnotationRestController extends WallabagRestController
72 * 73 *
73 * @param Annotation $annotation 74 * @param Annotation $annotation
74 * @param Request $request 75 * @param Request $request
75 * 76 * @Security("has_role('ROLE_WRITE')")
76 * @return JsonResponse 77 * @return JsonResponse
77 */ 78 */
78 public function putAnnotationAction(Annotation $annotation, Request $request) 79 public function putAnnotationAction(Annotation $annotation, Request $request)
@@ -97,7 +98,7 @@ class AnnotationRestController extends WallabagRestController
97 * @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation") 98 * @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation")
98 * 99 *
99 * @param Annotation $annotation 100 * @param Annotation $annotation
100 * 101 * @Security("has_role('ROLE_WRITE')")
101 * @return JsonResponse 102 * @return JsonResponse
102 */ 103 */
103 public function deleteAnnotationAction(Annotation $annotation) 104 public function deleteAnnotationAction(Annotation $annotation)
diff --git a/src/Wallabag/ApiBundle/Controller/AppsController.php b/src/Wallabag/ApiBundle/Controller/AppsController.php
new file mode 100644
index 00000000..6ef77667
--- /dev/null
+++ b/src/Wallabag/ApiBundle/Controller/AppsController.php
@@ -0,0 +1,189 @@
1<?php
2
3namespace Wallabag\ApiBundle\Controller;
4
5use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
6use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
7use Symfony\Component\Finder\Exception\AccessDeniedException;
8use Symfony\Component\HttpFoundation\JsonResponse;
9use Symfony\Component\HttpFoundation\Request;
10use Symfony\Bundle\FrameworkBundle\Controller\Controller;
11use Wallabag\ApiBundle\Entity\AccessToken;
12use Wallabag\ApiBundle\Entity\Client;
13use Wallabag\ApiBundle\Form\Type\ClientType;
14
15class AppsController extends Controller
16{
17 /**
18 * List all clients and link to create a new one.
19 *
20 * @Route("/apps", name="apps")
21 *
22 * @return \Symfony\Component\HttpFoundation\Response
23 */
24 public function indexAction()
25 {
26 $clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findByUser($this->getUser()->getId());
27
28 $apps = $this->getDoctrine()->getRepository('WallabagApiBundle:AccessToken')->findAppsByUser($this->getUser()->getId());
29
30 return $this->render('@WallabagCore/themes/common/Developer/index.html.twig', [
31 'clients' => $clients,
32 'apps' => $apps,
33 ]);
34 }
35
36 /**
37 * Create a an app
38 *
39 * @param Request $request
40 *
41 * @Route("/api/apps", name="apps_create")
42 * @Method("POST")
43 *
44 * @return \Symfony\Component\HttpFoundation\Response
45 */
46 public function createAppAction(Request $request)
47 {
48 $em = $this->getDoctrine()->getManager();
49
50 $clientName = $request->request->get('client_name');
51 $redirectURIs = $request->request->get('redirect_uris');
52 $logoURI = $request->request->get('logo_uri');
53 $description = $request->request->get('description');
54 $appURI = $request->request->get('app_uri');
55 $nextRedirect = $request->request->get('uri_redirect_after_creation');
56
57 if (!$clientName) {
58 return new JsonResponse([
59 'error' => 'invalid_client_name',
60 'error_description' => 'The client name cannot be empty',
61 ], 400);
62 }
63
64 if (!$redirectURIs) {
65 return new JsonResponse([
66 'error' => 'invalid_redirect_uri',
67 'error_description' => 'One or more redirect_uri values are invalid',
68 ], 400);
69 }
70
71 $redirectURIs = (array) $redirectURIs;
72
73 $client = new Client();
74
75 $client->setName($clientName);
76
77 $client->setDescription($description);
78
79 $client->setRedirectUris($redirectURIs);
80
81 $client->setImage($logoURI);
82 $client->setAppUrl($appURI);
83
84 $client->setAllowedGrantTypes(['token', 'refresh_token', 'authorization_code']);
85 $em->persist($client);
86 $em->flush();
87
88 return new JsonResponse([
89 'client_id' => $client->getPublicId(),
90 'client_secret' => $client->getSecret(),
91 'client_name' => $client->getName(),
92 'redirect_uri' => $client->getRedirectUris(),
93 'description' => $client->getDescription(),
94 'logo_uri' => $client->getImage(),
95 'app_uri' => $client->getAppUrl(),
96 ], 201);
97 }
98
99 /**
100 * Create a client (an app).
101 *
102 * @param Request $request
103 *
104 * @Route("/apps/client/create", name="apps_create_client")
105 *
106 * @return \Symfony\Component\HttpFoundation\Response
107 */
108 public function createClientAction(Request $request)
109 {
110 $em = $this->getDoctrine()->getManager();
111 $client = new Client($this->getUser());
112 $clientForm = $this->createForm(ClientType::class, $client);
113 $clientForm->handleRequest($request);
114
115 if ($clientForm->isSubmitted() && $clientForm->isValid()) {
116 $client->setAllowedGrantTypes(['password', 'token', 'refresh_token', 'client_credentials']); // Password is depreciated
117 $em->persist($client);
118 $em->flush();
119
120 $this->get('session')->getFlashBag()->add(
121 'notice',
122 $this->get('translator')->trans('flashes.developer.notice.client_created', ['%name%' => $client->getName()])
123 );
124
125 return $this->render('@WallabagCore/themes/common/Developer/client_parameters.html.twig', [
126 'client_id' => $client->getPublicId(),
127 'client_secret' => $client->getSecret(),
128 'client_name' => $client->getName(),
129 ]);
130 }
131
132 return $this->render('@WallabagCore/themes/common/Developer/client.html.twig', [
133 'form' => $clientForm->createView(),
134 ]);
135 }
136
137 /**
138 * Revoke an access token
139 * @param $token
140 * @Route("/api/revoke/{token}", name="apps_revoke_access_token")
141 * @return JsonResponse
142 */
143 public function removeAccessTokenAction($token)
144 {
145 if (false === $this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) {
146 throw new AccessDeniedException();
147 }
148
149 $em = $this->getDoctrine()->getManager();
150 $accessToken = $em->getRepository('WallabagApiBundle:AccessToken')->findOneBy([
151 'user' => $this->getUser()->getId(),
152 'token' => $token
153 ]);
154 if ($accessToken) {
155 $em->remove($accessToken);
156 $em->flush();
157
158 return new JsonResponse([], 204);
159 }
160 return new JsonResponse([], 404);
161 }
162
163 /**
164 * Remove a client.
165 *
166 * @param Client $client
167 *
168 * @Route("/apps/client/delete/{id}", requirements={"id" = "\d+"}, name="apps_delete_client")
169 *
170 * @return \Symfony\Component\HttpFoundation\RedirectResponse
171 */
172 public function deleteClientAction(Client $client)
173 {
174 if (null === $this->getUser() || $client->getUser()->getId() != $this->getUser()->getId()) {
175 throw $this->createAccessDeniedException('You can not access this client.');
176 }
177
178 $em = $this->getDoctrine()->getManager();
179 $em->remove($client);
180 $em->flush();
181
182 $this->get('session')->getFlashBag()->add(
183 'notice',
184 $this->get('translator')->trans('flashes.developer.notice.client_deleted', ['%name%' => $client->getName()])
185 );
186
187 return $this->redirect($this->generateUrl('apps'));
188 }
189}
diff --git a/src/Wallabag/ApiBundle/Controller/DeveloperController.php b/src/Wallabag/ApiBundle/Controller/DeveloperController.php
deleted file mode 100644
index 9cb1b626..00000000
--- a/src/Wallabag/ApiBundle/Controller/DeveloperController.php
+++ /dev/null
@@ -1,105 +0,0 @@
1<?php
2
3namespace Wallabag\ApiBundle\Controller;
4
5use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
6use Symfony\Component\HttpFoundation\Request;
7use Symfony\Bundle\FrameworkBundle\Controller\Controller;
8use Wallabag\ApiBundle\Entity\Client;
9use Wallabag\ApiBundle\Form\Type\ClientType;
10
11class DeveloperController extends Controller
12{
13 /**
14 * List all clients and link to create a new one.
15 *
16 * @Route("/developer", name="developer")
17 *
18 * @return \Symfony\Component\HttpFoundation\Response
19 */
20 public function indexAction()
21 {
22 $clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findByUser($this->getUser()->getId());
23
24 return $this->render('@WallabagCore/themes/common/Developer/index.html.twig', [
25 'clients' => $clients,
26 ]);
27 }
28
29 /**
30 * Create a client (an app).
31 *
32 * @param Request $request
33 *
34 * @Route("/developer/client/create", name="developer_create_client")
35 *
36 * @return \Symfony\Component\HttpFoundation\Response
37 */
38 public function createClientAction(Request $request)
39 {
40 $em = $this->getDoctrine()->getManager();
41 $client = new Client($this->getUser());
42 $clientForm = $this->createForm(ClientType::class, $client);
43 $clientForm->handleRequest($request);
44
45 if ($clientForm->isSubmitted() && $clientForm->isValid()) {
46 $client->setAllowedGrantTypes(['token', 'authorization_code', 'password', 'refresh_token']);
47 $em->persist($client);
48 $em->flush();
49
50 $this->get('session')->getFlashBag()->add(
51 'notice',
52 $this->get('translator')->trans('flashes.developer.notice.client_created', ['%name%' => $client->getName()])
53 );
54
55 return $this->render('@WallabagCore/themes/common/Developer/client_parameters.html.twig', [
56 'client_id' => $client->getPublicId(),
57 'client_secret' => $client->getSecret(),
58 'client_name' => $client->getName(),
59 ]);
60 }
61
62 return $this->render('@WallabagCore/themes/common/Developer/client.html.twig', [
63 'form' => $clientForm->createView(),
64 ]);
65 }
66
67 /**
68 * Remove a client.
69 *
70 * @param Client $client
71 *
72 * @Route("/developer/client/delete/{id}", requirements={"id" = "\d+"}, name="developer_delete_client")
73 *
74 * @return \Symfony\Component\HttpFoundation\RedirectResponse
75 */
76 public function deleteClientAction(Client $client)
77 {
78 if (null === $this->getUser() || $client->getUser()->getId() != $this->getUser()->getId()) {
79 throw $this->createAccessDeniedException('You can not access this client.');
80 }
81
82 $em = $this->getDoctrine()->getManager();
83 $em->remove($client);
84 $em->flush();
85
86 $this->get('session')->getFlashBag()->add(
87 'notice',
88 $this->get('translator')->trans('flashes.developer.notice.client_deleted', ['%name%' => $client->getName()])
89 );
90
91 return $this->redirect($this->generateUrl('developer'));
92 }
93
94 /**
95 * Display developer how to use an existing app.
96 *
97 * @Route("/developer/howto/first-app", name="developer_howto_firstapp")
98 *
99 * @return \Symfony\Component\HttpFoundation\Response
100 */
101 public function howtoFirstAppAction()
102 {
103 return $this->render('@WallabagCore/themes/common/Developer/howto_app.html.twig');
104 }
105}
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
index 768c4fdc..93f1f461 100644
--- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php
@@ -5,6 +5,7 @@ namespace Wallabag\ApiBundle\Controller;
5use Hateoas\Configuration\Route; 5use Hateoas\Configuration\Route;
6use Hateoas\Representation\Factory\PagerfantaFactory; 6use Hateoas\Representation\Factory\PagerfantaFactory;
7use Nelmio\ApiDocBundle\Annotation\ApiDoc; 7use Nelmio\ApiDocBundle\Annotation\ApiDoc;
8use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
8use Symfony\Component\HttpKernel\Exception\HttpException; 9use Symfony\Component\HttpKernel\Exception\HttpException;
9use Symfony\Component\HttpFoundation\Request; 10use Symfony\Component\HttpFoundation\Request;
10use Symfony\Component\HttpFoundation\JsonResponse; 11use Symfony\Component\HttpFoundation\JsonResponse;
@@ -25,7 +26,7 @@ class EntryRestController extends WallabagRestController
25 * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"} 26 * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"}
26 * } 27 * }
27 * ) 28 * )
28 * 29 * @Security("has_role('ROLE_READ')")
29 * @return JsonResponse 30 * @return JsonResponse
30 */ 31 */
31 public function getEntriesExistsAction(Request $request) 32 public function getEntriesExistsAction(Request $request)
@@ -80,7 +81,7 @@ class EntryRestController extends WallabagRestController
80 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"}, 81 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"},
81 * } 82 * }
82 * ) 83 * )
83 * 84 * @Security("has_role('ROLE_READ')")
84 * @return JsonResponse 85 * @return JsonResponse
85 */ 86 */
86 public function getEntriesAction(Request $request) 87 public function getEntriesAction(Request $request)
@@ -143,7 +144,7 @@ class EntryRestController extends WallabagRestController
143 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 144 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
144 * } 145 * }
145 * ) 146 * )
146 * 147 * @Security("has_role('ROLE_READ')")
147 * @return JsonResponse 148 * @return JsonResponse
148 */ 149 */
149 public function getEntryAction(Entry $entry) 150 public function getEntryAction(Entry $entry)
@@ -162,7 +163,7 @@ class EntryRestController extends WallabagRestController
162 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 163 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
163 * } 164 * }
164 * ) 165 * )
165 * 166 * @Security("has_role('ROLE_READ')")
166 * @return Response 167 * @return Response
167 */ 168 */
168 public function getEntryExportAction(Entry $entry, Request $request) 169 public function getEntryExportAction(Entry $entry, Request $request)
@@ -302,7 +303,7 @@ class EntryRestController extends WallabagRestController
302 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, 303 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"},
303 * } 304 * }
304 * ) 305 * )
305 * 306 * @Security("has_role('ROLE_WRITE')")
306 * @return JsonResponse 307 * @return JsonResponse
307 */ 308 */
308 public function postEntriesAction(Request $request) 309 public function postEntriesAction(Request $request)
@@ -346,7 +347,7 @@ class EntryRestController extends WallabagRestController
346 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, 347 * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"},
347 * } 348 * }
348 * ) 349 * )
349 * 350 * @Security("has_role('ROLE_WRITE')")
350 * @return JsonResponse 351 * @return JsonResponse
351 */ 352 */
352 public function patchEntriesAction(Entry $entry, Request $request) 353 public function patchEntriesAction(Entry $entry, Request $request)
@@ -368,7 +369,7 @@ class EntryRestController extends WallabagRestController
368 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 369 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
369 * } 370 * }
370 * ) 371 * )
371 * 372 * @Security("has_role('ROLE_WRITE')")
372 * @return JsonResponse 373 * @return JsonResponse
373 */ 374 */
374 public function patchEntriesReloadAction(Entry $entry) 375 public function patchEntriesReloadAction(Entry $entry)
@@ -410,7 +411,7 @@ class EntryRestController extends WallabagRestController
410 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 411 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
411 * } 412 * }
412 * ) 413 * )
413 * 414 * @Security("has_role('ROLE_WRITE')")
414 * @return JsonResponse 415 * @return JsonResponse
415 */ 416 */
416 public function deleteEntriesAction(Entry $entry) 417 public function deleteEntriesAction(Entry $entry)
@@ -436,7 +437,7 @@ class EntryRestController extends WallabagRestController
436 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 437 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
437 * } 438 * }
438 * ) 439 * )
439 * 440 * @Security("has_role('ROLE_READ')")
440 * @return JsonResponse 441 * @return JsonResponse
441 */ 442 */
442 public function getEntriesTagsAction(Entry $entry) 443 public function getEntriesTagsAction(Entry $entry)
@@ -458,7 +459,7 @@ class EntryRestController extends WallabagRestController
458 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, 459 * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
459 * } 460 * }
460 * ) 461 * )
461 * 462 * @Security("has_role('ROLE_WRITE')")
462 * @return JsonResponse 463 * @return JsonResponse
463 */ 464 */
464 public function postEntriesTagsAction(Request $request, Entry $entry) 465 public function postEntriesTagsAction(Request $request, Entry $entry)
@@ -487,7 +488,7 @@ class EntryRestController extends WallabagRestController
487 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} 488 * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
488 * } 489 * }
489 * ) 490 * )
490 * 491 * @Security("has_role('ROLE_WRITE')")
491 * @return JsonResponse 492 * @return JsonResponse
492 */ 493 */
493 public function deleteEntriesTagsAction(Entry $entry, Tag $tag) 494 public function deleteEntriesTagsAction(Entry $entry, Tag $tag)
diff --git a/src/Wallabag/ApiBundle/Controller/TagRestController.php b/src/Wallabag/ApiBundle/Controller/TagRestController.php
index 354187a0..6f460a2d 100644
--- a/src/Wallabag/ApiBundle/Controller/TagRestController.php
+++ b/src/Wallabag/ApiBundle/Controller/TagRestController.php
@@ -3,6 +3,7 @@
3namespace Wallabag\ApiBundle\Controller; 3namespace Wallabag\ApiBundle\Controller;
4 4
5use Nelmio\ApiDocBundle\Annotation\ApiDoc; 5use Nelmio\ApiDocBundle\Annotation\ApiDoc;
6use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
6use Symfony\Component\HttpFoundation\Request; 7use Symfony\Component\HttpFoundation\Request;
7use Symfony\Component\HttpFoundation\JsonResponse; 8use Symfony\Component\HttpFoundation\JsonResponse;
8use Wallabag\CoreBundle\Entity\Entry; 9use Wallabag\CoreBundle\Entity\Entry;
@@ -14,7 +15,7 @@ class TagRestController extends WallabagRestController
14 * Retrieve all tags. 15 * Retrieve all tags.
15 * 16 *
16 * @ApiDoc() 17 * @ApiDoc()
17 * 18 * @Security("has_role('ROLE_READ')")
18 * @return JsonResponse 19 * @return JsonResponse
19 */ 20 */
20 public function getTagsAction() 21 public function getTagsAction()
@@ -38,7 +39,7 @@ class TagRestController extends WallabagRestController
38 * {"name"="tag", "dataType"="string", "required"=true, "requirement"="\w+", "description"="Tag as a string"} 39 * {"name"="tag", "dataType"="string", "required"=true, "requirement"="\w+", "description"="Tag as a string"}
39 * } 40 * }
40 * ) 41 * )
41 * 42 * @Security("has_role('ROLE_WRITE')")
42 * @return JsonResponse 43 * @return JsonResponse
43 */ 44 */
44 public function deleteTagLabelAction(Request $request) 45 public function deleteTagLabelAction(Request $request)
@@ -71,7 +72,7 @@ class TagRestController extends WallabagRestController
71 * {"name"="tags", "dataType"="string", "required"=true, "format"="tag1,tag2", "description"="Tags as strings (comma splitted)"} 72 * {"name"="tags", "dataType"="string", "required"=true, "format"="tag1,tag2", "description"="Tags as strings (comma splitted)"}
72 * } 73 * }
73 * ) 74 * )
74 * 75 * @Security("has_role('ROLE_WRITE')")
75 * @return JsonResponse 76 * @return JsonResponse
76 */ 77 */
77 public function deleteTagsLabelAction(Request $request) 78 public function deleteTagsLabelAction(Request $request)
@@ -113,7 +114,7 @@ class TagRestController extends WallabagRestController
113 * {"name"="tag", "dataType"="integer", "requirement"="\w+", "description"="The tag"} 114 * {"name"="tag", "dataType"="integer", "requirement"="\w+", "description"="The tag"}
114 * } 115 * }
115 * ) 116 * )
116 * 117 * @Security("has_role('ROLE_WRITE')")
117 * @return JsonResponse 118 * @return JsonResponse
118 */ 119 */
119 public function deleteTagAction(Tag $tag) 120 public function deleteTagAction(Tag $tag)
@@ -133,7 +134,7 @@ class TagRestController extends WallabagRestController
133 134
134 /** 135 /**
135 * Remove orphan tag in case no entries are associated to it. 136 * Remove orphan tag in case no entries are associated to it.
136 * 137 * @Security("has_role('ROLE_WRITE')")
137 * @param Tag|array $tags 138 * @param Tag|array $tags
138 */ 139 */
139 private function cleanOrphanTag($tags) 140 private function cleanOrphanTag($tags)
diff --git a/src/Wallabag/ApiBundle/Entity/AccessToken.php b/src/Wallabag/ApiBundle/Entity/AccessToken.php
index c09a0c80..a8b46742 100644
--- a/src/Wallabag/ApiBundle/Entity/AccessToken.php
+++ b/src/Wallabag/ApiBundle/Entity/AccessToken.php
@@ -7,7 +7,7 @@ use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken;
7 7
8/** 8/**
9 * @ORM\Table("oauth2_access_tokens") 9 * @ORM\Table("oauth2_access_tokens")
10 * @ORM\Entity 10 * @ORM\Entity(repositoryClass="Wallabag\ApiBundle\Repository\AccessTokenRepository")
11 */ 11 */
12class AccessToken extends BaseAccessToken 12class AccessToken extends BaseAccessToken
13{ 13{
diff --git a/src/Wallabag/ApiBundle/Entity/Client.php b/src/Wallabag/ApiBundle/Entity/Client.php
index c15fd3fa..24444c9f 100644
--- a/src/Wallabag/ApiBundle/Entity/Client.php
+++ b/src/Wallabag/ApiBundle/Entity/Client.php
@@ -8,6 +8,7 @@ use Wallabag\UserBundle\Entity\User;
8use JMS\Serializer\Annotation\Groups; 8use JMS\Serializer\Annotation\Groups;
9use JMS\Serializer\Annotation\SerializedName; 9use JMS\Serializer\Annotation\SerializedName;
10use JMS\Serializer\Annotation\VirtualProperty; 10use JMS\Serializer\Annotation\VirtualProperty;
11use Symfony\Component\Validator\Constraints as Assert;
11 12
12/** 13/**
13 * @ORM\Table("oauth2_clients") 14 * @ORM\Table("oauth2_clients")
@@ -51,13 +52,39 @@ class Client extends BaseClient
51 52
52 /** 53 /**
53 * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients") 54 * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients")
55 * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true)
54 */ 56 */
55 private $user; 57 private $user;
56 58
57 public function __construct(User $user) 59 /**
60 * @ORM\Column(type="string", nullable=true)
61 */
62 private $image;
63
64 /**
65 * @ORM\Column(type="string", nullable=true)
66 */
67 private $description;
68
69 /**
70 * @ORM\Column(type="string", nullable=true)
71 */
72 private $appUrl;
73
74 /**
75 * @ORM\Column(type="datetime", nullable=true)
76 */
77 private $createdAt;
78
79 /**
80 * Client constructor.
81 * @param User|null $user
82 */
83 public function __construct(User $user = null)
58 { 84 {
59 parent::__construct(); 85 parent::__construct();
60 $this->user = $user; 86 $this->user = $user;
87 $this->createdAt = new \DateTime();
61 } 88 }
62 89
63 /** 90 /**
@@ -99,6 +126,62 @@ class Client extends BaseClient
99 */ 126 */
100 public function getClientId() 127 public function getClientId()
101 { 128 {
102 return $this->getId().'_'.$this->getRandomId(); 129 return $this->getId() . '_' . $this->getRandomId();
130 }
131
132 /**
133 * @return string
134 */
135 public function getImage()
136 {
137 return $this->image;
138 }
139
140 /**
141 * @param string $image
142 */
143 public function setImage($image)
144 {
145 $this->image = $image;
146 }
147
148 /**
149 * @return string
150 */
151 public function getDescription()
152 {
153 return $this->description;
154 }
155
156 /**
157 * @param string $description
158 */
159 public function setDescription($description)
160 {
161 $this->description = $description;
162 }
163
164 /**
165 * @return string
166 */
167 public function getAppUrl()
168 {
169 return $this->appUrl;
170 }
171
172 /**
173 * @param string $appUrl
174 */
175 public function setAppUrl($appUrl)
176 {
177 $this->appUrl = $appUrl;
178 }
179
180 /**
181 * @return \DateTime
182 */
183 public function getCreatedAt()
184 {
185 return $this->createdAt;
103 } 186 }
104} 187}
diff --git a/src/Wallabag/ApiBundle/Form/Type/ClientType.php b/src/Wallabag/ApiBundle/Form/Type/ClientType.php
index eaea4feb..58602d22 100644
--- a/src/Wallabag/ApiBundle/Form/Type/ClientType.php
+++ b/src/Wallabag/ApiBundle/Form/Type/ClientType.php
@@ -15,24 +15,8 @@ class ClientType extends AbstractType
15 public function buildForm(FormBuilderInterface $builder, array $options) 15 public function buildForm(FormBuilderInterface $builder, array $options)
16 { 16 {
17 $builder 17 $builder
18 ->add('name', TextType::class, ['label' => 'developer.client.form.name_label']) 18 ->add('name', TextType::class, ['label' => 'apps.old_client.form.name_label'])
19 ->add('redirect_uris', UrlType::class, [ 19 ->add('save', SubmitType::class, ['label' => 'apps.old_client.form.save_label'])
20 'required' => false,
21 'label' => 'developer.client.form.redirect_uris_label',
22 'property_path' => 'redirectUris',
23 ])
24 ->add('save', SubmitType::class, ['label' => 'developer.client.form.save_label'])
25 ;
26
27 $builder->get('redirect_uris')
28 ->addModelTransformer(new CallbackTransformer(
29 function ($originalUri) {
30 return $originalUri;
31 },
32 function ($submittedUri) {
33 return [$submittedUri];
34 }
35 ))
36 ; 20 ;
37 } 21 }
38 22
diff --git a/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php b/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php
new file mode 100644
index 00000000..2b8d24df
--- /dev/null
+++ b/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php
@@ -0,0 +1,18 @@
1<?php
2
3namespace Wallabag\ApiBundle\Repository;
4
5use Doctrine\ORM\EntityRepository;
6
7
8class AccessTokenRepository extends EntityRepository
9{
10 public function findAppsByUser($userId)
11 {
12 $qb = $this->createQueryBuilder('a')
13 ->innerJoin('a.client', 'c')
14 ->addSelect('c')
15 ->where('a.user =:userId')->setParameter('userId', $userId);
16 return $qb->getQuery()->getResult();
17 }
18}
diff --git a/src/Wallabag/ApiBundle/Resources/config/services.yml b/src/Wallabag/ApiBundle/Resources/config/services.yml
new file mode 100644
index 00000000..1275107d
--- /dev/null
+++ b/src/Wallabag/ApiBundle/Resources/config/services.yml
@@ -0,0 +1,6 @@
1services:
2 wallabag_api.accesstoken_repository:
3 class: Wallabag\ApiBundle\Repository\AccessTokenRepository
4 factory: [ "@doctrine.orm.default_entity_manager", getRepository ]
5 arguments:
6 - WallabagApiBundle:AccessToken
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index 02dd04f2..adf896ee 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -156,6 +156,7 @@ config:
156 # and: 'One rule AND another' 156 # and: 'One rule AND another'
157 # matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 157 # matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
158 # notmatches: 'Tests that a <i>subject</i> is not matches a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 158 # notmatches: 'Tests that a <i>subject</i> is not matches a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
159
159entry: 160entry:
160 page_titles: 161 page_titles:
161 # unread: 'Unread entries' 162 # unread: 'Unread entries'
@@ -442,55 +443,55 @@ import:
442 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
443 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
444 445
445developer: 446apps:
446 # page_title: 'API clients management' 447 # page_title: 'Apps'
447 # welcome_message: 'Welcome to the wallabag API' 448 # allow:
448 # documentation: 'Documentation' 449 # title: 'A new application would like to connect to your account'
449 # how_to_first_app: 'How to create my first application' 450 # permissions:
450 # full_documentation: 'View full API documentation' 451 # read:
451 # list_methods: 'List API methods' 452 # label: 'Read your data'
452 # clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
453 # title: 'Clients' 454 # write:
454 # create_new: 'Create a new client' 455 # label: 'Edit your data'
455 # existing_clients: 456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
456 # title: 'Existing clients' 457 # user:
457 # field_id: 'Client ID' 458 # label: 'Edit your user settings'
458 # field_secret: 'Client secret' 459 # desc: '%name% will be able to manage your user account.'
459 # field_uris: 'Redirect URIs' 460 #featured:
460 # field_grant_types: 'Grant type allowed' 461 # title: 'Featured apps'
461 # no_client: 'No client yet.' 462 #list:
462 # remove: 463 # title: 'Authorized apps'
463 # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' 464 #old_clients:
464 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." 465 # create_new: 'Create a new client'
465 # action: 'Remove this client' 466 # title: 'Old clients (depreciated)'
466 # client: 467 # list: 'Old clients list'
467 # page_title: 'API clients management > New client' 468 # field_id: 'Client ID'
468 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' 469 # field_secret: 'Client secret'
469 # form: 470 # no_client: 'No client yet.'
470 # name_label: 'Name of the client' 471 #remove:
471 # redirect_uris_label: 'Redirect URIs' 472 # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !'
472 # save_label: 'Create a new client' 473 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
473 # action_back: 'Back' 474 # action: 'Remove the client %name%'
474 # client_parameter: 475 #old_client:
475 # page_title: 'API clients management > Client parameters' 476 # page_title: 'Apps > New client'
476 # page_description: 'Here are your client parameters.' 477 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
477 # field_name: 'Client name' 478 # form:
478 # field_id: 'Client ID' 479 # name_label: 'Name of the client'
479 # field_secret: 'Client secret' 480 # save_label: 'Create a new client'
480 # back: 'Back' 481 # action_back: 'Back'
481 # read_howto: 'Read the howto "Create my first application"' 482 # parameters:
482 # howto: 483 # page_title: 'Apps > Client parameters'
483 # page_title: 'Developer > How to create my first application' 484 # page_description: 'Here are your client parameters.'
484 # description: 485 # field_name: 'Client name'
485 # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' 486 # field_id: 'Client ID'
486 # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' 487 # field_secret: 'Client secret'
487 # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' 488 # back: 'Back'
488 # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' 489 # app:
489 # paragraph_5: 'The API will return a response like this:' 490 # created_at: 'Created at: %date%'
490 # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' 491 # documentation:
491 # paragraph_7: 'This call will return all the entries for your user.' 492 # title: 'Documentation'
492 # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' 493 # full_documentation: 'Full documentation'
493 # back: 'Back' 494 # list_methods: 'List API methods'
494 495
495user: 496user:
496 # page_title: Users management 497 # page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index f6ccdae0..17b8297f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -443,55 +443,55 @@ import:
443 description: 'Dieser Import wird all deine Pinboard Artikel importieren. Auf der Seite Backup (https://pinboard.in/settings/backup) klickst du auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird dann heruntergeladen (z.B. "pinboard_export").' 443 description: 'Dieser Import wird all deine Pinboard Artikel importieren. Auf der Seite Backup (https://pinboard.in/settings/backup) klickst du auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird dann heruntergeladen (z.B. "pinboard_export").'
444 how_to: 'Bitte wähle deinen Pinboard Export aus und klicke den nachfolgenden Button zum Importieren.' 444 how_to: 'Bitte wähle deinen Pinboard Export aus und klicke den nachfolgenden Button zum Importieren.'
445 445
446developer: 446apps:
447 page_title: 'API-Client-Verwaltung' 447 page_title: 'API-Client-Verwaltung'
448 welcome_message: 'Willkomen zur wallabag API' 448 # allow:
449 documentation: 'Dokumentation' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Wie erstelle ich meine erste Anwendung' 450 # permissions:
451 full_documentation: 'Komplette API-Dokumentation einsehen' 451 # read:
452 list_methods: 'Liste der API-Methoden' 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Clients' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 featured:
461 # title: 'Featured apps'
462 list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Neuen Client erstellen' 465 create_new: 'Neuen Client erstellen'
456 existing_clients:
457 title: 'Bestehende Clients' 466 title: 'Bestehende Clients'
467 list: 'Clients'
458 field_id: 'Client-ID' 468 field_id: 'Client-ID'
459 field_secret: 'Client-Secret' 469 field_secret: 'Client-Secret'
460 field_uris: 'Weiterleitungs-URIs'
461 field_grant_types: "Erlaubte grant_types"
462 no_client: 'Bisher kein Client.' 470 no_client: 'Bisher kein Client.'
463 remove: 471 remove:
464 warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!' 472 warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!'
465 warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden." 473 warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden."
466 action: 'Client entfernen' 474 action: 'Client entfernen'
467 client: 475 old_client:
468 page_title: 'API-Client-Verwaltung > Neuer Client' 476 page_title: 'API-Client-Verwaltung > Neuer Client'
469 page_description: 'Du bist dabei, einen neuen Client zu erstellen. Fülle das nachfolgende Feld für die Weiterleitungs-URIs deiner Anwendung aus.' 477 page_description: 'Du bist dabei, einen neuen Client zu erstellen. Fülle das nachfolgende Feld für die Weiterleitungs-URIs deiner Anwendung aus.'
470 form: 478 form:
471 name_label: 'Name des Clients' 479 name_label: 'Name des Clients'
472 redirect_uris_label: 'Weiterleitungs-URIs'
473 save_label: 'Neuen Client erstellen' 480 save_label: 'Neuen Client erstellen'
474 action_back: 'Zurück' 481 action_back: 'Zurück'
475 client_parameter: 482 parameters:
476 page_title: 'API-Client-Verwaltung > Client-Parameter' 483 page_title: 'API-Client-Verwaltung > Client-Parameter'
477 page_description: 'Dies sind deine Client-Parameter.' 484 page_description: 'Dies sind deine Client-Parameter.'
478 field_name: 'Client Name' 485 field_name: 'Client Name'
479 field_id: 'Client-ID' 486 field_id: 'Client-ID'
480 field_secret: 'Client-Secret' 487 field_secret: 'Client-Secret'
481 back: 'Zurück' 488 back: 'Zurück'
482 read_howto: 'Lese des How-To zu "Wie erstelle ich meine erste Anwendung"' 489 app:
483 howto: 490 # created_at: 'Created at: %date%'
484 page_title: 'API-Client-Verwaltung > Wie erstelle ich meine erste Anwendung' 491 documentation:
485 description: 492 title: 'Dokumentation'
486 paragraph_1: 'Die folgenden Befehle machen Gebrauch von der <a href="https://github.com/jkbrzt/httpie">HTTPie-Bibliothek</a>. Stelle sicher, dass sie auf deinem System installiert ist, bevor du fortfährst.' 493 full_documentation: 'Komplette API-Dokumentation einsehen'
487 paragraph_2: 'Du benötigst einen Token, damit deine Anwendung mit der wallabag-API kommunizieren kann.' 494 list_methods: 'Liste der API-Methoden'
488 paragraph_3: 'Um diesen Token zu erstellen, muss <a href="%link%">ein neuer Client erstellt werden</a>.'
489 paragraph_4: 'Nun erstelle deinen Token (ersetze client_id, client_secret, username und password mit deinen Werten):'
490 paragraph_5: 'Die API wird eine Antwort der folgenden Art zurückgeben:'
491 paragraph_6: 'Der access_token ist nützlich, um die API aufzurufen. Beispiel:'
492 paragraph_7: 'Dieser Aufruf wird alle Einträge für den Nutzer zurückgeben.'
493 paragraph_8: 'Wenn du alle API-Endpunkte sehen willst, werfe einen Blick auf die <a href="%link%">API-Dokumentation</a>.'
494 back: 'Zurück'
495 495
496user: 496user:
497 page_title: Benutzerverwaltung 497 page_title: Benutzerverwaltung
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 902c3046..c78228e0 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -25,7 +25,7 @@ menu:
25 internal_settings: 'Internal Settings' 25 internal_settings: 'Internal Settings'
26 import: 'Import' 26 import: 'Import'
27 howto: 'How to' 27 howto: 'How to'
28 developer: 'API clients management' 28 apps: 'Apps'
29 logout: 'Logout' 29 logout: 'Logout'
30 about: 'About' 30 about: 'About'
31 search: 'Search' 31 search: 'Search'
@@ -443,55 +443,55 @@ import:
443 description: 'This importer will import all your Pinboard articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 443 description: 'This importer will import all your Pinboard articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
444 how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 444 how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
445 445
446developer: 446apps:
447 page_title: 'API clients management' 447 page_title: 'Apps'
448 welcome_message: 'Welcome to the wallabag API' 448 allow:
449 documentation: 'Documentation' 449 title: 'A new application would like to connect to your account'
450 how_to_first_app: 'How to create my first application' 450 permissions:
451 full_documentation: 'View full API documentation' 451 read:
452 list_methods: 'List API methods' 452 label: 'Read your data'
453 clients: 453 desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Clients' 454 write:
455 label: 'Edit your data'
456 desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 user:
458 label: 'Edit your user settings'
459 desc: '%name% will be able to manage your user account.'
460 featured:
461 title: 'Featured apps'
462 list:
463 title: 'Authorized apps'
464 old_clients:
455 create_new: 'Create a new client' 465 create_new: 'Create a new client'
456 existing_clients: 466 title: 'Old clients (depreciated)'
457 title: 'Existing clients' 467 list: 'Old clients list'
458 field_id: 'Client ID' 468 field_id: 'Client ID'
459 field_secret: 'Client secret' 469 field_secret: 'Client secret'
460 field_uris: 'Redirect URIs'
461 field_grant_types: 'Grant type allowed'
462 no_client: 'No client yet.' 470 no_client: 'No client yet.'
463 remove: 471 remove:
464 warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' 472 warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !'
465 warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." 473 warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
466 action: 'Remove the client %name%' 474 action: 'Remove the client %name%'
467 client: 475 old_client:
468 page_title: 'API clients management > New client' 476 page_title: 'Apps > New client'
469 page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' 477 page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
470 form: 478 form:
471 name_label: 'Name of the client' 479 name_label: 'Name of the client'
472 redirect_uris_label: 'Redirect URIs (optional)'
473 save_label: 'Create a new client' 480 save_label: 'Create a new client'
474 action_back: 'Back' 481 action_back: 'Back'
475 client_parameter: 482 parameters:
476 page_title: 'API clients management > Client parameters' 483 page_title: 'Apps > Client parameters'
477 page_description: 'Here are your client parameters.' 484 page_description: 'Here are your client parameters.'
478 field_name: 'Client name' 485 field_name: 'Client name'
479 field_id: 'Client ID' 486 field_id: 'Client ID'
480 field_secret: 'Client secret' 487 field_secret: 'Client secret'
481 back: 'Back' 488 back: 'Back'
482 read_howto: 'Read the howto "Create my first application"' 489 app:
483 howto: 490 created_at: 'Created at: %date%'
484 page_title: 'API clients management > How to create my first application' 491 documentation:
485 description: 492 title: 'Documentation'
486 paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' 493 full_documentation: 'Full documentation'
487 paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' 494 list_methods: 'List API methods'
488 paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
489 paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
490 paragraph_5: 'The API will return a response like this:'
491 paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
492 paragraph_7: 'This call will return all the entries for your user.'
493 paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
494 back: 'Back'
495 495
496user: 496user:
497 page_title: Users management 497 page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index afd6a7b1..36dd6016 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -443,55 +443,55 @@ import:
443 description: 'Importa todos tus artículos de Pinboard. En la página de backup (https://pinboard.in/settings/backup), haz clic en "JSON" en la sección "Marcadores". Obtendrás un archivo JSON llamado "pinboard_export".' 443 description: 'Importa todos tus artículos de Pinboard. En la página de backup (https://pinboard.in/settings/backup), haz clic en "JSON" en la sección "Marcadores". Obtendrás un archivo JSON llamado "pinboard_export".'
444 how_to: 'Seleccione el archivo exportado de Pinboard y haga clic en el botón para subirlo e importarlo.' 444 how_to: 'Seleccione el archivo exportado de Pinboard y haga clic en el botón para subirlo e importarlo.'
445 445
446developer: 446apps:
447 page_title: 'Gestión de clientes API' 447 page_title: 'Gestión de clientes API'
448 welcome_message: 'Bienvenido al API de wallabag' 448 # allow:
449 documentation: 'Documentación' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Cómo crear mi primera aplicación' 450 # permissions:
451 full_documentation: 'Ver documentación completa del API' 451 # read:
452 list_methods: 'Lista con los métodos del API' 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Clientes' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 featured:
461 # title: 'Featured apps'
462 list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Crear un nuevo cliente' 465 create_new: 'Crear un nuevo cliente'
456 existing_clients:
457 title: 'Clientes existentes' 466 title: 'Clientes existentes'
467 list: 'Clientes'
458 field_id: 'Identificador del cliente' 468 field_id: 'Identificador del cliente'
459 field_secret: 'Secreto del cliente' 469 field_secret: 'Secreto del cliente'
460 field_uris: 'URIs de redirección'
461 field_grant_types: 'Permisos concedidos'
462 no_client: 'Todavía no hay clientes.' 470 no_client: 'Todavía no hay clientes.'
463 remove: 471 remove:
464 warn_message_1: 'Tienes permiso para eliminar el cliente %name%. ¡Está acción es IRREVERSIBLE!' 472 warn_message_1: 'Tienes permiso para eliminar el cliente %name%. ¡Está acción es IRREVERSIBLE!'
465 warn_message_2: "Si lo eliminas, cada aplicación configurada con ese cliente no podrá autenticarse en wallabag." 473 warn_message_2: "Si lo eliminas, cada aplicación configurada con ese cliente no podrá autenticarse en wallabag."
466 action: 'Eliminar el cliente %name%' 474 action: 'Eliminar el cliente %name%'
467 client: 475 old_client:
468 page_title: 'Gestión de clientes API > Nuevo cliente' 476 page_title: 'Gestión de clientes API > Nuevo cliente'
469 page_description: 'Está a punto de crear un nuevo cliente. Por favor, rellene el campo de abajo con la URI de redirección de su aplicación.' 477 page_description: 'Está a punto de crear un nuevo cliente. Por favor, rellene el campo de abajo con la URI de redirección de su aplicación.'
470 form: 478 form:
471 name_label: 'Nombre del cliente' 479 name_label: 'Nombre del cliente'
472 redirect_uris_label: 'URIs de redirección'
473 save_label: 'Crear un nuevo cliente' 480 save_label: 'Crear un nuevo cliente'
474 action_back: 'Volver' 481 action_back: 'Volver'
475 client_parameter: 482 parameters:
476 page_title: 'Gestión de clientes API > Parámetros del cliente' 483 page_title: 'Gestión de clientes API > Parámetros del cliente'
477 page_description: 'Aquí están los parámetros del cliente.' 484 page_description: 'Aquí están los parámetros del cliente.'
478 field_name: 'Nombre del cliente' 485 field_name: 'Nombre del cliente'
479 field_id: 'Identificador del cliente' 486 field_id: 'Identificador del cliente'
480 field_secret: 'Secreto del cliente' 487 field_secret: 'Secreto del cliente'
481 back: 'Volver' 488 back: 'Volver'
482 read_howto: 'Lea la guía "Crear mi primera aplicación"' 489 app:
483 howto: 490 # created_at: 'Created at: %date%'
484 page_title: 'Gestión de clientes API > Cómo crear mi primera aplicación' 491 documentation:
485 description: 492 title: 'Documentación'
486 paragraph_1: 'Los siguientes comandos hacen uso de la <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Compruebe que está instalada en su sistema antes de usarla.' 493 full_documentation: 'Ver documentación completa del API'
487 paragraph_2: 'Necesitas un token para establecer la comunicación entre una aplicación de terceros y la API de wallabag.' 494 list_methods: 'Lista con los métodos del API'
488 paragraph_3: 'Para crear este token, necesitas <a href="%link%">crear un nuevo cliente</a>.'
489 paragraph_4: 'Ahora crea tu token (reemplace client_id, client_secret, username y password con los valores generados):'
490 paragraph_5: 'Este API devolverá una respuesta como esta:'
491 paragraph_6: 'El access_token es útil para llamar a los métodos del API. Por ejemplo:'
492 paragraph_7: 'Esta llamada devolverá todos los artículos de tu usuario.'
493 paragraph_8: 'Si quiere ver todos los métodos del API, puede verlos en <a href="%link%">nuestra documentación del API</a>.'
494 back: 'Volver'
495 495
496user: 496user:
497 page_title: Gestión de usuarios 497 page_title: Gestión de usuarios
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 545514b3..e399c199 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -443,55 +443,55 @@ import:
443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
445 445
446developer: 446apps:
447 # page_title: 'API clients management' 447 # page_title: 'Apps'
448 # welcome_message: 'Welcome to the wallabag API' 448 # allow:
449 # documentation: 'Documentation' 449 # title: 'A new application would like to connect to your account'
450 # how_to_first_app: 'How to create my first application' 450 # permissions:
451 # full_documentation: 'View full API documentation' 451 # read:
452 # list_methods: 'List API methods' 452 # label: 'Read your data'
453 # clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 # title: 'Clients' 454 # write:
455 # create_new: 'Create a new client' 455 # label: 'Edit your data'
456 # existing_clients: 456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # title: 'Existing clients' 457 # user:
458 # field_id: 'Client ID' 458 # label: 'Edit your user settings'
459 # field_secret: 'Client secret' 459 # desc: '%name% will be able to manage your user account.'
460 # field_uris: 'Redirect URIs' 460 #featured:
461 # field_grant_types: 'Grant type allowed' 461 # title: 'Featured apps'
462 # no_client: 'No client yet.' 462 #list:
463 # remove: 463 # title: 'Authorized apps'
464 # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' 464 #old_clients:
465 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." 465 # create_new: 'Create a new client'
466 # action: 'Remove this client' 466 # title: 'Old clients (depreciated)'
467 # client: 467 # list: 'Old clients list'
468 # page_title: 'API clients management > New client' 468 # field_id: 'Client ID'
469 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' 469 # field_secret: 'Client secret'
470 # form: 470 # no_client: 'No client yet.'
471 # name_label: 'Name of the client' 471 #remove:
472 # redirect_uris_label: 'Redirect URIs' 472 # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !'
473 # save_label: 'Create a new client' 473 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
474 # action_back: 'بازگشت' 474 # action: 'Remove the client %name%'
475 # client_parameter: 475 #old_client:
476 # page_title: 'API clients management > Client parameters' 476 # page_title: 'Apps > New client'
477 # page_description: 'Here are your client parameters.' 477 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
478 # field_name: 'Client name' 478 # form:
479 # field_id: 'Client ID' 479 # name_label: 'Name of the client'
480 # field_secret: 'Client secret' 480 # save_label: 'Create a new client'
481 # back: 'بازگشت' 481 # action_back: 'Back'
482 # read_howto: 'Read the howto "Create my first application"' 482 # parameters:
483 # howto: 483 # page_title: 'Apps > Client parameters'
484 # page_title: 'API clients management > How to create my first application' 484 # page_description: 'Here are your client parameters.'
485 # description: 485 # field_name: 'Client name'
486 # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' 486 # field_id: 'Client ID'
487 # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' 487 # field_secret: 'Client secret'
488 # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' 488 # back: 'Back'
489 # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' 489 # app:
490 # paragraph_5: 'The API will return a response like this:' 490 # created_at: 'Created at: %date%'
491 # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' 491 # documentation:
492 # paragraph_7: 'This call will return all the entries for your user.' 492 # title: 'Documentation'
493 # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' 493 # full_documentation: 'Full documentation'
494 # back: 'بازگشت' 494 # list_methods: 'List API methods'
495 495
496user: 496user:
497 # page_title: Users management 497 # page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index e9e79c67..e3967960 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -443,55 +443,55 @@ import:
443 description: "Sur la page « Backup » (https://pinboard.in/settings/backup), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (« pinboard_export »)." 443 description: "Sur la page « Backup » (https://pinboard.in/settings/backup), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (« pinboard_export »)."
444 how_to: "Choisissez le fichier de votre export Pinboard et cliquez sur le bouton ci-dessous pour l’importer." 444 how_to: "Choisissez le fichier de votre export Pinboard et cliquez sur le bouton ci-dessous pour l’importer."
445 445
446developer: 446apps:
447 page_title: "Gestion des clients API" 447 page_title: "Gestion des clients API"
448 welcome_message: "Bienvenue sur l’API de wallabag" 448 allow:
449 documentation: "Documentation" 449 title: 'Une nouvelle application voudrait accéder à votre compte'
450 how_to_first_app: "Comment créer votre première application" 450 permissions:
451 full_documentation: "Voir la documentation complète de l’API" 451 read:
452 list_methods: "Lister toutes les méthodes de l’API" 452 label: 'Lire vos données'
453 clients: 453 desc: '%name% pourra accéder à la liste et au contenu de vos articles, tags et annotations.'
454 title: "Clients" 454 write:
455 label: 'Modifier vos données'
456 desc: '%name% pourra modifier et gérer (y compris supprimer) vos articles, tags et annotations.'
457 user:
458 label: 'Modifier votre compte utilisateur'
459 desc: '%name% pourra modifier les détails de votre compte utilisateur.'
460 featured:
461 title: 'Applications mises en avant'
462 list:
463 title: 'Applications autorisées'
464 old_clients:
455 create_new: "Créer un nouveau client" 465 create_new: "Créer un nouveau client"
456 existing_clients: 466 title: "Clients existants (déprécié)"
457 title: "Les clients existants" 467 list: "Liste des clients"
458 field_id: "ID Client" 468 field_id: "ID Client"
459 field_secret: "Clé secrète" 469 field_secret: "Clé secrète"
460 field_uris: "Adresse de redirection"
461 field_grant_types: "Type de privilège accordé"
462 no_client: "Aucun client pour le moment" 470 no_client: "Aucun client pour le moment"
463 remove: 471 remove:
464 warn_message_1: "Vous avez la possibilité de supprimer le client %name%. Cette action est IRRÉVERSIBLE !" 472 warn_message_1: "Vous avez la possibilité de supprimer le client %name%. Cette action est IRRÉVERSIBLE !"
465 warn_message_2: "Si vous supprimez le client %name%, toutes les applications qui l’utilisaient ne fonctionneront plus avec votre compte wallabag." 473 warn_message_2: "Si vous supprimez le client %name%, toutes les applications qui l’utilisaient ne fonctionneront plus avec votre compte wallabag."
466 action: "Supprimer le client %name%" 474 action: "Supprimer le client %name%"
467 client: 475 old_client:
468 page_title: "Gestion des clients API > Nouveau client" 476 page_title: "Gestion des clients API > Nouveau client"
469 page_description: "Vous allez créer un nouveau client. Merci de remplir l’adresse de redirection vers votre application." 477 page_description: "Vous allez créer un nouveau client. Merci de remplir l’adresse de redirection vers votre application."
470 form: 478 form:
471 name_label: "Nom du client" 479 name_label: "Nom du client"
472 redirect_uris_label: "Adresses de redirection (optionnel)"
473 save_label: "Créer un nouveau client" 480 save_label: "Créer un nouveau client"
474 action_back: "Retour" 481 action_back: "Retour"
475 client_parameter: 482 parameters:
476 page_title: "Gestion des clients API > Les paramètres de votre client" 483 page_title: "Gestion des clients API > Les paramètres de votre client"
477 page_description: "Voilà les paramètres de votre client" 484 page_description: "Voilà les paramètres de votre client"
478 field_name: "Nom du client" 485 field_name: "Nom du client"
479 field_id: "ID client" 486 field_id: "ID client"
480 field_secret: "Clé secrète" 487 field_secret: "Clé secrète"
481 back: "Retour" 488 back: "Retour"
482 read_howto: "Lire « comment créer ma première application »" 489 app:
483 howto: 490 created_at: 'Créé le : %date%'
484 page_title: "Gestion des clients API > Comment créer votre première application" 491 documentation:
485 description: 492 title: "Documentation"
486 paragraph_1: "Les commandes suivantes utilisent la <a href=\"https://github.com/jkbrzt/httpie\">librarie HTTPie</a>. Assurez-vous qu’elle soit installée avant de l’utiliser." 493 full_documentation: "Voir la documentation complète de l’API"
487 paragraph_2: "Vous avez besoin d’un token pour échanger entre votre application et l’API de wallabag." 494 list_methods: "Lister toutes les méthodes de l’API"
488 paragraph_3: "Pour créer un token, vous devez <a href=\"%link%\">créer un nouveau client</a>."
489 paragraph_4: "Maintenant créez votre token (remplacer client_id, client_secret, username et password avec les bonnes valeurs):"
490 paragraph_5: "L’API vous retournera une réponse comme ça :"
491 paragraph_6: "L’access_token doit être utilisé pour faire un appel à l’API. Par exemple :"
492 paragraph_7: "Cet appel va retourner tous les articles de l’utilisateur."
493 paragraph_8: "Si vous voulez toutes les méthodes de l’API, jetez un oeil <a href=\"%link%\">à la documentation de l’API</a>."
494 back: "Retour"
495 495
496user: 496user:
497 page_title: "Gestion des utilisateurs" 497 page_title: "Gestion des utilisateurs"
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 0597d3e3..504f990f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -443,18 +443,28 @@ import:
443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
445 445
446developer: 446apps:
447 # page_title: 'API clients management' 447 # page_title: 'API clients management'
448 welcome_message: 'Benvenuto nelle API di wallabag' 448 # allow:
449 documentation: 'Documentazione' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Come creare la mia prima applicazione' 450 # permissions:
451 full_documentation: 'Consulta la documentazione API completa' 451 # read:
452 list_methods: 'Elenco dei metodi API' 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Client' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 #featured:
461 # title: 'Featured apps'
462 #list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Crea un nuovo client' 465 create_new: 'Crea un nuovo client'
456 existing_clients:
457 title: 'Client esistenti' 466 title: 'Client esistenti'
467 list: 'Client'
458 field_id: 'Client ID' 468 field_id: 'Client ID'
459 field_secret: 'Client secret' 469 field_secret: 'Client secret'
460 field_uris: 'URI di reindirizzamento' 470 field_uris: 'URI di reindirizzamento'
@@ -464,34 +474,26 @@ developer:
464 warn_message_1: "Hai la possibilità di rimuovere questo client. L'operazione è IRREVERSIBILE!" 474 warn_message_1: "Hai la possibilità di rimuovere questo client. L'operazione è IRREVERSIBILE!"
465 warn_message_2: "Se lo rimuovi, ogni app configurata con questo client non sarà più in grado di autenticarsi." 475 warn_message_2: "Se lo rimuovi, ogni app configurata con questo client non sarà più in grado di autenticarsi."
466 action: 'Rimuovi questo client' 476 action: 'Rimuovi questo client'
467 client: 477 old_client:
468 # page_title: 'API clients management > Nuovo client' 478 # page_title: 'API clients management > Nuovo client'
469 page_description: 'Stai per creare un nuovo client. Compila i campi sottostanti per lo URI di reindirizzamento della tua applicazione.' 479 page_description: 'Stai per creare un nuovo client. Compila i campi sottostanti per lo URI di reindirizzamento della tua applicazione.'
470 form: 480 form:
471 # name_label: 'Name of the client' 481 # name_label: 'Name of the client'
472 redirect_uris_label: 'URI di reindirizzamento'
473 save_label: 'Crea un nuovo client' 482 save_label: 'Crea un nuovo client'
474 action_back: 'Indietro' 483 action_back: 'Indietro'
475 client_parameter: 484 parameters:
476 # page_title: 'API clients management > parametri Client' 485 # page_title: 'API clients management > parametri Client'
477 page_description: 'Questi sono i tuoi parametri del client.' 486 page_description: 'Questi sono i tuoi parametri del client.'
478 # field_name: 'Client name' 487 # field_name: 'Client name'
479 field_id: 'Client ID' 488 field_id: 'Client ID'
480 field_secret: 'Client secret' 489 field_secret: 'Client secret'
481 back: 'Indietro' 490 back: 'Indietro'
482 read_howto: 'Leggi "Come creare la mia prima applicazione"' 491 # app:
483 howto: 492 # created_at: 'Created at: %date%'
484 # page_title: 'API clients management > Come creare la mia prima applicazione' 493 documentation:
485 description: 494 title: 'Documentazione'
486 paragraph_1: 'I seguenti comandi fanno uso della <a href="https://github.com/jkbrzt/httpie">libreria HTTPie</a>. Verifica che sia installata sul tuo sistema prima di utilizzarli.' 495 full_documentation: 'Consulta la documentazione API completa'
487 paragraph_2: 'Hai bisogno di un token per far comunicare la tua applicazione di terze parti e le API di wallabag.' 496 list_methods: 'Elenco dei metodi API'
488 paragraph_3: 'Per creare questo token, hai bisogno di <a href="%link%">creare un nuovo client</a>.'
489 paragraph_4: 'Ora, crea il tuo token (sostituisci client_id, client_secret, username e password con valori reali):'
490 paragraph_5: 'Le API ritorneranno una risposta di questo tipo:'
491 paragraph_6: "L'access_token è utile per chiamare un API endpoint. Per esempio:"
492 paragraph_7: 'Questa chiamata ritornerà tutti i contenuti per il tuo utente.'
493 paragraph_8: 'Se vuoi visualizzare tutti gli API endpoints, dai una occhiata alla <a href="%link%">documentazione delle API</a>.'
494 back: 'Indietro'
495 497
496user: 498user:
497 # page_title: Users management 499 # page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index c172a0f6..ea05fc4c 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -445,31 +445,38 @@ import:
445 445
446developer: 446developer:
447 page_title: 'Gestion dels clients API' 447 page_title: 'Gestion dels clients API'
448 welcome_message: "Benvenguda sus l'API de wallabag" 448 # allow:
449 documentation: 'Documentacion' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Cossí crear vòstra primièra aplicacion' 450 # permissions:
451 full_documentation: "Veire la documentacion completa de l'API" 451 # read:
452 list_methods: "Lista dels metòdes de l'API" 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Clients' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 #featured:
461 # title: 'Featured apps'
462 #list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Crear un novèl client' 465 create_new: 'Crear un novèl client'
456 existing_clients:
457 title: 'Los clients existents' 466 title: 'Los clients existents'
467 list: 'Clients'
458 field_id: 'ID Client' 468 field_id: 'ID Client'
459 field_secret: 'Clé secreta' 469 field_secret: 'Clé secreta'
460 field_uris: 'URLs de redireccion'
461 field_grant_types: 'Tipe de privilègi acordat'
462 no_client: 'Pas cap de client pel moment.' 470 no_client: 'Pas cap de client pel moment.'
463 remove: 471 remove:
464 warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !' 472 warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !'
465 warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag." 473 warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag."
466 action: 'Suprimir aqueste client' 474 action: 'Suprimir aqueste client'
467 client: 475 old_client:
468 page_title: 'Gestion dels clients API > Novèl client' 476 page_title: 'Gestion dels clients API > Novèl client'
469 page_description: "Anatz crear un novèl client. Mercés de garnir l'url de redireccion cap a vòstra aplicacion." 477 page_description: "Anatz crear un novèl client. Mercés de garnir l'url de redireccion cap a vòstra aplicacion."
470 form: 478 form:
471 name_label: "Nom del client" 479 name_label: "Nom del client"
472 redirect_uris_label: 'URLs de redireccion'
473 save_label: 'Crear un novèl client' 480 save_label: 'Crear un novèl client'
474 action_back: 'Retorn' 481 action_back: 'Retorn'
475 client_parameter: 482 client_parameter:
@@ -492,6 +499,19 @@ developer:
492 paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire." 499 paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire."
493 paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>." 500 paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>."
494 back: 'Retorn' 501 back: 'Retorn'
502 parameters:
503 page_title: 'Gestion dels clients API > Los paramètres de vòstre client'
504 page_description: 'Vaquí los paramètres de vòstre client.'
505 field_name: 'Nom del client'
506 field_id: 'ID Client'
507 field_secret: 'Clau secreta'
508 back: 'Retour'
509 # app:
510 # created_at: 'Created at: %date%'
511 documentation:
512 title: 'Documentacion'
513 full_documentation: "Veire la documentacion completa de l'API"
514 list_methods: "Lista dels metòdes de l'API"
495 515
496user: 516user:
497 page_title: 'Gestion dels utilizaires' 517 page_title: 'Gestion dels utilizaires'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 82d16767..d2e5c1d5 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -443,55 +443,55 @@ import:
443 description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Pinboard. W ustawieniach kopii zapasowej (https://pinboard.in/settings/backup), kliknij na "JSON" w sekcji "Bookmarks". Otrzymasz plik "pinboard_export".' 443 description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Pinboard. W ustawieniach kopii zapasowej (https://pinboard.in/settings/backup), kliknij na "JSON" w sekcji "Bookmarks". Otrzymasz plik "pinboard_export".'
444 how_to: 'Wybierz swój plik eksportu z Pinboard i kliknij poniższy przycisk, aby go załadować.' 444 how_to: 'Wybierz swój plik eksportu z Pinboard i kliknij poniższy przycisk, aby go załadować.'
445 445
446developer: 446apps:
447 page_title: 'Zarządzanie klientami API' 447 page_title: 'Zarządzanie klientami API'
448 welcome_message: 'Witaj w API wallabag' 448 # allow:
449 documentation: 'Dokumentacja' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Jak stworzyć moją pierwszą aplikację' 450 # permissions:
451 full_documentation: 'Pokaż pełne API' 451 # read:
452 list_methods: 'Lista metod API' 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Klienci' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 #featured:
461 # title: 'Featured apps'
462 #list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Utwórz nowego klienta' 465 create_new: 'Utwórz nowego klienta'
456 existing_clients:
457 title: 'Istniejący klienci' 466 title: 'Istniejący klienci'
467 list: 'Klienci'
458 field_id: 'ID klienta' 468 field_id: 'ID klienta'
459 field_secret: 'Client secret' 469 field_secret: 'Client secret'
460 field_uris: 'Przekieruj URIs'
461 field_grant_types: 'Przyznaj pozwolenie'
462 no_client: 'Nie ma jeszcze klienta.' 470 no_client: 'Nie ma jeszcze klienta.'
463 remove: 471 remove:
464 warn_message_1: 'Masz możliwość usunięcia tego klienta. Ta akcja jest NIEODWRACALNA !' 472 warn_message_1: 'Masz możliwość usunięcia tego klienta. Ta akcja jest NIEODWRACALNA !'
465 warn_message_2: "Jeżeli go usuniesz, aplikacje skonfigurowane z tym klientem nię będa w stanie autoryzować twojego wallabag." 473 warn_message_2: "Jeżeli go usuniesz, aplikacje skonfigurowane z tym klientem nię będa w stanie autoryzować twojego wallabag."
466 action: 'Usuń tego klienta' 474 action: 'Usuń tego klienta'
467 client: 475 old_client:
468 page_title: 'Zarządzanie klientami API > Nowy klient' 476 page_title: 'Zarządzanie klientami API > Nowy klient'
469 page_description: 'Tworzysz nowego klienta. Wypełnij poniższe pole w celu przekierowania URI twojej aplikacji.' 477 page_description: 'Tworzysz nowego klienta. Wypełnij poniższe pole w celu przekierowania URI twojej aplikacji.'
470 form: 478 form:
471 name_label: 'Nazwa klienta' 479 name_label: 'Nazwa klienta'
472 redirect_uris_label: 'Przekieruj adresy URI'
473 save_label: 'Stwórz nowego klienta' 480 save_label: 'Stwórz nowego klienta'
474 action_back: 'Cofnij' 481 action_back: 'Cofnij'
475 client_parameter: 482 parameters:
476 page_title: 'Zarządzanie klientami API > Parametry klienta' 483 page_title: 'Zarządzanie klientami API > Parametry klienta'
477 page_description: 'Tutaj znajdują się parametry klienta.' 484 page_description: 'Tutaj znajdują się parametry klienta.'
478 field_name: 'Nazwa klienta' 485 field_name: 'Nazwa klienta'
479 field_id: 'Client ID' 486 field_id: 'Client ID'
480 field_secret: 'Client secret' 487 field_secret: 'Client secret'
481 back: 'Cofnij' 488 back: 'Cofnij'
482 read_howto: 'Przeczytaj jak "Stworzyć moją pierwszą aplikację"' 489 # app:
483 howto: 490 # created_at: 'Created at: %date%'
484 page_title: 'Zarządzanie klientami API > Jak stworzyć moją pierwszą aplikację' 491 documentation:
485 description: 492 title: 'Dokumentacja'
486 paragraph_1: 'Następujące komendy korzystają <a href="https://github.com/jkbrzt/httpie">Biblioteka HTTPie</a>. Upewnij się, czy zainstalowałeś ją w swoim systemie zanim z niej skorzystasz' 493 full_documentation: 'Pokaż pełne API'
487 paragraph_2: 'Potrzebujesz tokena w celu nawiązania komunikacji między swoją aplikacją a API wallabag.' 494 list_methods: 'Lista metod API'
488 paragraph_3: 'W celu stworzenia tokena musisz <a href="%link%">stwórz nowego klienta</a>.'
489 paragraph_4: 'Teraz, utwórz tokena (zmień client_id, client_secret, username i password z poprawnymi wartościami):'
490 paragraph_5: 'API powinno zwrócić taką informację:'
491 paragraph_6: 'access_token jest użyteczny do wywołania API endpoint. Na przykład:'
492 paragraph_7: 'To wywołanie zwróci wszystkie twoje wpisy.'
493 paragraph_8: 'Jeżeli chcesz wyświetlić wszystkie punkty końcowe API, zobacz <a href="%link%">Dokumentacja naszego API</a>.'
494 back: 'Cofnij'
495 495
496user: 496user:
497 page_title: Zarządzanie użytkownikami 497 page_title: Zarządzanie użytkownikami
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
index b75567d6..0533ddba 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -445,53 +445,53 @@ import:
445 445
446developer: 446developer:
447 # page_title: 'API clients management' 447 # page_title: 'API clients management'
448 welcome_message: 'Bem-vindo a API do wallabag' 448 # allow:
449 documentation: 'Documentação' 449 # title: 'A new application would like to connect to your account'
450 how_to_first_app: 'Como criar minha primeira aplicação' 450 # permissions:
451 full_documentation: 'Ver a documentação completa da API' 451 # read:
452 list_methods: 'Lista de métodos da API' 452 # label: 'Read your data'
453 clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 title: 'Clientes' 454 # write:
455 # label: 'Edit your data'
456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # user:
458 # label: 'Edit your user settings'
459 # desc: '%name% will be able to manage your user account.'
460 #featured:
461 # title: 'Featured apps'
462 #list:
463 # title: 'Authorized apps'
464 old_clients:
455 create_new: 'Criar um novo cliente' 465 create_new: 'Criar um novo cliente'
456 existing_clients:
457 title: 'Clientes existentes' 466 title: 'Clientes existentes'
467 list: 'Clientes'
458 field_id: 'ID do cliente' 468 field_id: 'ID do cliente'
459 field_secret: 'Chave do cliente' 469 field_secret: 'Chave do cliente'
460 field_uris: 'URIs de redirecionamento'
461 field_grant_types: 'Tipo permitido'
462 no_client: 'Nenhum cliente até agora.' 470 no_client: 'Nenhum cliente até agora.'
463 remove: 471 remove:
464 warn_message_1: 'Você tem permissão pare remover este cliente. Esta ação é IRREVERSÍVEL !' 472 warn_message_1: 'Você tem permissão pare remover este cliente. Esta ação é IRREVERSÍVEL !'
465 warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.' 473 warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.'
466 action: 'Remover este cliente' 474 action: 'Remover este cliente'
467 client: 475 old_client:
468 # page_title: 'API clients management > Novo cliente' 476 # page_title: 'API clients management > Novo cliente'
469 page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.' 477 page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.'
470 form: 478 form:
471 name_label: 'Nome do cliente' 479 name_label: 'Nome do cliente'
472 redirect_uris_label: 'URIs de redirecionamento'
473 save_label: 'Criar um novo cliente' 480 save_label: 'Criar um novo cliente'
474 action_back: 'Voltar' 481 action_back: 'Voltar'
475 client_parameter: 482 parameters:
476 # page_title: 'API clients management > Parâmetros de clientes' 483 # page_title: 'API clients management > Parâmetros de clientes'
477 page_description: 'Aqui estão os parâmetros de seus clientes.' 484 page_description: 'Aqui estão os parâmetros de seus clientes.'
478 field_name: 'Nome do cliente' 485 field_name: 'Nome do cliente'
479 field_id: 'ID do cliente' 486 field_id: 'ID do cliente'
480 field_secret: 'Chave do cliente' 487 field_secret: 'Chave do cliente'
481 back: 'Voltar' 488 back: 'Voltar'
482 read_howto: 'Leia o how-to "Criar minha primeira aplicação"' 489 # app:
483 howto: 490 # created_at: 'Created at: %date%'
484 # page_title: 'API clients management > Criar minha primeira aplicação' 491 documentation:
485 description: 492 title: 'Documentação'
486 paragraph_1: 'Os seguintes comandos fazem uso da <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Tenha certeza que ela está instalada em seu servidor antes de usá-la.' 493 full_documentation: 'Ver a documentação completa da API'
487 paragraph_2: 'Você precisa de um token para a comunicação entre sua aplicação terceira e a API do wallabag.' 494 list_methods: 'Lista de métodos da API'
488 paragraph_3: 'Para criar este token, você precisa <a href="%link%">criar um novo cliente</a>.'
489 paragraph_4: 'Agora, crie seu token (altere client_id, client_secret, username e password com os valores corretos):'
490 paragraph_5: 'A API pode retornar uma resposta como essa:'
491 paragraph_6: 'O access_token é utilizável para fazer uma chamada para o endpoint da API. Por exemplo:'
492 paragraph_7: 'Esta chamada pode retornar todas as entradas de seu usuário.'
493 paragraph_8: 'Se você deseja ver todos os endpoints da API, dê uma olhada <a href="%link%">em nossa documentação da API</a>.'
494 back: 'Voltar'
495 495
496user: 496user:
497 page_title: 'Gerenciamento de Usuários' 497 page_title: 'Gerenciamento de Usuários'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 95df573d..3cea2900 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -443,55 +443,55 @@ import:
443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 443 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 444 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
445 445
446developer: 446apps:
447 # page_title: 'API clients management' 447 # page_title: 'Apps'
448 # welcome_message: 'Welcome to the wallabag API' 448 # allow:
449 # documentation: 'Documentation' 449 # title: 'A new application would like to connect to your account'
450 # how_to_first_app: 'How to create my first application' 450 # permissions:
451 # full_documentation: 'View full API documentation' 451 # read:
452 # list_methods: 'List API methods' 452 # label: 'Read your data'
453 # clients: 453 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
454 # title: 'Clients' 454 # write:
455 # create_new: 'Create a new client' 455 # label: 'Edit your data'
456 # existing_clients: 456 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
457 # title: 'Existing clients' 457 # user:
458 # field_id: 'Client ID' 458 # label: 'Edit your user settings'
459 # field_secret: 'Client secret' 459 # desc: '%name% will be able to manage your user account.'
460 # field_uris: 'Redirect URIs' 460 #featured:
461 # field_grant_types: 'Grant type allowed' 461 # title: 'Featured apps'
462 # no_client: 'No client yet.' 462 #list:
463 # remove: 463 # title: 'Authorized apps'
464 # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' 464 #old_clients:
465 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." 465 # create_new: 'Create a new client'
466 # action: 'Remove this client' 466 # title: 'Old clients (depreciated)'
467 # client: 467 # list: 'Old clients list'
468 # page_title: 'API clients management > New client' 468 # field_id: 'Client ID'
469 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' 469 # field_secret: 'Client secret'
470 # form: 470 # no_client: 'No client yet.'
471 # name_label: 'Name of the client' 471 #remove:
472 # redirect_uris_label: 'Redirect URIs' 472 # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !'
473 # save_label: 'Create a new client' 473 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
474 # action_back: 'Back' 474 # action: 'Remove the client %name%'
475 # client_parameter: 475 #old_client:
476 # page_title: 'API clients management > Client parameters' 476 # page_title: 'Apps > New client'
477 # page_description: 'Here are your client parameters.' 477 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
478 # field_name: 'Client name' 478 # form:
479 # field_id: 'Client ID' 479 # name_label: 'Name of the client'
480 # field_secret: 'Client secret' 480 # save_label: 'Create a new client'
481 # back: 'Back' 481 # action_back: 'Back'
482 # read_howto: 'Read the howto "Create my first application"' 482 # parameters:
483 # howto: 483 # page_title: 'Apps > Client parameters'
484 # page_title: 'API clients management > How to create my first application' 484 # page_description: 'Here are your client parameters.'
485 # description: 485 # field_name: 'Client name'
486 # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' 486 # field_id: 'Client ID'
487 # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' 487 # field_secret: 'Client secret'
488 # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' 488 # back: 'Back'
489 # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' 489 # app:
490 # paragraph_5: 'The API will return a response like this:' 490 # created_at: 'Created at: %date%'
491 # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' 491 # documentation:
492 # paragraph_7: 'This call will return all the entries for your user.' 492 # title: 'Documentation'
493 # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' 493 # full_documentation: 'Full documentation'
494 # back: 'Back' 494 # list_methods: 'List API methods'
495 495
496user: 496user:
497 # page_title: Users management 497 # page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 61e1a1ea..7c2edba0 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -441,55 +441,55 @@ import:
441 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 441 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
442 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 442 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
443 443
444developer: 444apps:
445 # page_title: 'API clients management' 445 # page_title: 'Apps'
446 # welcome_message: 'Welcome to the wallabag API' 446 # allow:
447 # documentation: 'Documentation' 447 # title: 'A new application would like to connect to your account'
448 # how_to_first_app: 'How to create my first application' 448 # permissions:
449 # full_documentation: 'View full API documentation' 449 # read:
450 # list_methods: 'List API methods' 450 # label: 'Read your data'
451 # clients: 451 # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.'
452 # title: 'Clients' 452 # write:
453 # create_new: 'Create a new client' 453 # label: 'Edit your data'
454 # existing_clients: 454 # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.'
455 # title: 'Existing clients' 455 # user:
456 # field_id: 'Client ID' 456 # label: 'Edit your user settings'
457 # field_secret: 'Client secret' 457 # desc: '%name% will be able to manage your user account.'
458 # field_uris: 'Redirect URIs' 458 #featured:
459 # field_grant_types: 'Grant type allowed' 459 # title: 'Featured apps'
460 # no_client: 'No client yet.' 460 #list:
461 # remove: 461 # title: 'Authorized apps'
462 # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' 462 #old_clients:
463 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." 463 # create_new: 'Create a new client'
464 # action: 'Remove this client' 464 # title: 'Old clients (depreciated)'
465 # client: 465 # list: 'Old clients list'
466 # page_title: 'API clients management > New client' 466 # field_id: 'Client ID'
467 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' 467 # field_secret: 'Client secret'
468 # form: 468 # no_client: 'No client yet.'
469 #remove:
470 # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !'
471 # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag."
472 # action: 'Remove the client %name%'
473 #old_client:
474 # page_title: 'Apps > New client'
475 # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.'
476 # form:
469 # name_label: 'Name of the client' 477 # name_label: 'Name of the client'
470 # redirect_uris_label: 'Redirect URIs' 478 # save_label: 'Create a new client'
471 # save_label: 'Create a new client' 479 # action_back: 'Back'
472 # action_back: 'Back' 480 # parameters:
473 # client_parameter: 481 # page_title: 'Apps > Client parameters'
474 # page_title: 'API clients management > Client parameters' 482 # page_description: 'Here are your client parameters.'
475 # page_description: 'Here are your client parameters.' 483 # field_name: 'Client name'
476 # field_name: 'Client name' 484 # field_id: 'Client ID'
477 # field_id: 'Client ID' 485 # field_secret: 'Client secret'
478 # field_secret: 'Client secret' 486 # back: 'Back'
479 # back: 'Back' 487 # app:
480 # read_howto: 'Read the howto "Create my first application"' 488 # created_at: 'Created at: %date%'
481 # howto: 489 # documentation:
482 # page_title: 'API clients management > How to create my first application' 490 # title: 'Documentation'
483 # description: 491 # full_documentation: 'Full documentation'
484 # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' 492 # list_methods: 'List API methods'
485 # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.'
486 # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.'
487 # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):'
488 # paragraph_5: 'The API will return a response like this:'
489 # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:'
490 # paragraph_7: 'This call will return all the entries for your user.'
491 # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.'
492 # back: 'Back'
493 493
494user: 494user:
495 # page_title: Users management 495 # page_title: Users management
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig
index 8a5da71a..09e138ed 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig
@@ -1,6 +1,6 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %} 3{% block title %}{{ 'apps.old_client.page_title'|trans }}{% endblock %}
4 4
5{% block content %} 5{% block content %}
6<div class="row"> 6<div class="row">
@@ -8,7 +8,7 @@
8 <div class="card-panel settings"> 8 <div class="card-panel settings">
9 9
10 <div class="row"> 10 <div class="row">
11 <p>{{ 'developer.client.page_description'|trans }}</p> 11 <p>{{ 'apps.old_client.page_description'|trans }}</p>
12 {{ form_start(form) }} 12 {{ form_start(form) }}
13 {{ form_errors(form) }} 13 {{ form_errors(form) }}
14 14
@@ -18,13 +18,7 @@
18 {{ form_widget(form.name) }} 18 {{ form_widget(form.name) }}
19 </div> 19 </div>
20 20
21 <div class="input-field col s12"> 21 <a href="{{ path('apps') }}" class="waves-effect waves-light grey btn">{{ 'apps.old_client.action_back'|trans }}</a>
22 {{ form_label(form.redirect_uris) }}
23 {{ form_errors(form.redirect_uris) }}
24 {{ form_widget(form.redirect_uris) }}
25 </div>
26
27 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client.action_back'|trans }}</a>
28 {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} 22 {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
29 23
30 {{ form_rest(form) }} 24 {{ form_rest(form) }}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
index b498cceb..30b90252 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
@@ -1,21 +1,20 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %}{{ 'developer.client_parameter.page_title'|trans }}{% endblock %} 3{% block title %}{{ 'apps.old_client.parameters.page_title'|trans }}{% endblock %}
4 4
5{% block content %} 5{% block content %}
6<div class="row"> 6<div class="row">
7 <div class="col s12"> 7 <div class="col s12">
8 <div class="card-panel settings"> 8 <div class="card-panel settings">
9 <div class="row"> 9 <div class="row">
10 <p>{{ 'developer.client_parameter.page_description'|trans }}</p> 10 <p>{{ 'apps.old_client.parameters.page_description'|trans }}</p>
11 <ul> 11 <ul>
12 <li>{{ 'developer.client_parameter.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> 12 <li>{{ 'apps.old_client.parameters.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li>
13 <li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> 13 <li>{{ 'apps.old_client.parameters.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li>
14 <li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> 14 <li>{{ 'apps.old_client.parameters.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li>
15 </ul> 15 </ul>
16 16
17 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> 17 <a href="{{ path('apps') }}" class="waves-effect waves-light grey btn">{{ 'apps.old_client.parameters.back'|trans }}</a>
18 <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a>
19 </div> 18 </div>
20 </div> 19 </div>
21 </div> 20 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig
deleted file mode 100644
index acbc2c88..00000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig
+++ /dev/null
@@ -1,63 +0,0 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %}
4
5{% block css %}
6 {{ parent() }}
7 <link rel="stylesheet" href="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism-dark.min.css') }}">
8{% endblock %}
9
10{% block content %}
11<div class="row">
12 <div class="col s12">
13 <div class="card-panel settings">
14
15 <div class="row">
16 <p>{{ 'developer.howto.description.paragraph_1'|trans|raw }}</p>
17 <p>{{ 'developer.howto.description.paragraph_2'|trans }}</p>
18 <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p>
19 <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p>
20 <p>
21 <pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \
22 grant_type=password \
23 client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
24 client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
25 username=yourUsername \
26 password=yourPassw0rd</code></pre>
27 </p>
28 <p>{{ 'developer.howto.description.paragraph_5'|trans }}</p>
29 <p>
30 <pre><code class="language-bash">HTTP/1.1 200 OK
31Cache-Control: no-store, private
32Connection: close
33Content-Type: application/json
34Date: Tue, 06 Oct 2015 18:24:03 GMT
35Host: localhost:8000
36Pragma: no-cache
37X-Debug-Token: be00a1
38X-Debug-Token-Link: /profiler/be00a1
39X-Powered-By: PHP/5.5.9-1ubuntu4.13
40{
41 "access_token": "ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw",
42 "expires_in": 3600,
43 "refresh_token": "ODBjODU1NWUwNmUzZTBkNDQ5YWVlZTVlMjQ2Y2I0OWM2NTM1ZGM2M2Y3MDhjMTViM2U2MzYxYzRkMDk5ODRlZg",
44 "scope": null,
45 "token_type": "bearer"
46}</code></pre>
47 </p>
48 <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p>
49 <p>
50 <pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \
51 "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre>
52 </p>
53 <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p>
54 <p>{{ 'developer.howto.description.paragraph_8'|trans({'%link%': path('nelmio_api_doc_index')})|raw }}</p>
55 <p><a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.howto.back'|trans }}</a></p>
56 </div>
57
58 </div>
59 </div>
60</div>
61<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js') }}"></script>
62<script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/components/prism-bash.min.js') }}"></script>
63{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
index 528b055c..a41e64f7 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
@@ -1,67 +1,153 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %}{{ 'developer.page_title'|trans }}{% endblock %} 3{% block title %}{{ 'apps.page_title'|trans }}{% endblock %}
4 4
5{% block content %} 5{% block content %}
6<div class="row"> 6<div class="row">
7 <div class="col s12"> 7 <div class="col s12">
8 <div class="card-panel settings"> 8 <div class="card-panel settings">
9
10 <div class="row"> 9 <div class="row">
11 <h3>{{ 'developer.welcome_message'|trans }}</h3> 10 <h4>{{ 'apps.featured.title'|trans }}</h4>
11
12 <div class="slider">
13 <ul class="slides">
14 <li>
15 <img src="{{ asset('assets/appicons/android_full.png') }}">
16 <div class="caption right-align">
17 <h3>Android</h3>
18 <h5 class="light grey-text text-lighten-3">For all Android 4.4+ devices</h5>
19 <p>
20 <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche">
21 <img class="icon" alt="Get it on Google Play"
22 height="80"
23 src="{{ asset('assets/appicons/google_play.png') }}" />
24 </a>
25 <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche">
26 <img class="icon" alt="Get it on F-Droid"
27 height="80"
28 src="{{ asset('assets/appicons/fdroid.png') }}" />
29 </a>
30 </p>
31 </div>
32 </li>
33 <li>
34 <img style="background-position: right" src="{{ asset('assets/appicons/iOS_full.png') }}">
35 <div class="caption left-align">
36 <h3>iOS</h3>
37 <h5 class="light grey-text text-lighten-3">For your iPhones and iPads</h5>
38 <p>
39 <a href="https://itunes.apple.com/app/wallabag-2/id1170800946?mt=8">
40 <img class="icon" alt="Get it on the AppStore"
41 height="80"
42 src="{{ asset('assets/appicons/appstore.svg') }}" />
43 </a>
44 </p>
45 </div>
46 </li>
47 <li>
48 <img src="{{ asset('assets/appicons/windows.jpeg') }}">
49 <div class="caption right-align">
50 <h3>Windows</h3>
51 <h5 class="light grey-text text-lighten-3">Available on Windows Phones and Windows 10</h5>
52 <p>
53 <a href="https://www.microsoft.com/en-us/store/p/wallabag/9nblggh5x3p6">
54 <img class="icon" alt="Get it on the Windows Store"
55 height="80"
56 src="{{ asset('assets/appicons/windowsstore.png') }}" />
57 </a>
58 </p>
59 </div>
60 </li>
61 <li>
62 <img style="background-position: right" src="{{ asset('assets/appicons/browser.png') }}">
63 <div class="caption left-align">
64 <h3>Browser Extension</h3>
65 <h5 class="light grey-text text-lighten-3">Available on Firefox, Chrome and Opera</h5>
66 <p>
67 <a href="https://addons.mozilla.org/en/firefox/addon/wallabagger/">
68 <img class="icon browser" alt="Get it on the Firefox Addons Website"
69 height="80"
70 src="{{ asset('assets/appicons/Firefox-logo.svg') }}" />
71 </a>
72 <a href="https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj">
73 <img class="icon browser" alt="Get it on the Firefox Addons Website"
74 height="80"
75 src="{{ asset('assets/appicons/Logo_Google_Chrome.svg') }}" />
76 </a>
77 <a href="https://addons.opera.com/fr/extensions/details/wallabagger/">
78 <img class="icon browser" alt="Get it on the Firefox Addons Website"
79 height="80"
80 src="{{ asset('assets/appicons/opera-for-computers_icon_128x128.png') }}" />
81 </a>
82 </p>
83 </div>
84 </li>
85 </ul>
86 </div>
12 87
13 <h4>{{ 'developer.documentation'|trans }}</h4> 88 <h4>{{ 'apps.list.title'|trans }}</h4>
14 89
15 <ul> 90 <ul class="collection">
16 <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> 91 {% for app in apps %}
17 <li><a href="https://doc.wallabag.org/en/developer/api/readme.html">{{ 'developer.full_documentation'|trans }}</a></li> 92 <li class="collection-item avatar">
18 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li> 93 {% if app.client.image %}
94 <img src="{{ app.client.image }}" alt="" class="circle">
95 {% endif %}
96 <span class="title"><a href="{{ app.client.appUrl }}">{{ app.client.name }}</a></span>
97 <p>{{ app.client.description }}</p>
98 <div class="scopes">
99 {% for scope in app.scope | split(' ') %}
100 <div class="chip">{{ scope }}</div>
101 {% endfor %}
102 </div>
103 <p>{{ 'apps.app.created_at' | trans({'%date%': app.client.createdAt}) }}</p>
104 <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
105 </li>
106 {% endfor %}
19 </ul> 107 </ul>
20 108
21 <h4>{{ 'developer.clients.title'|trans }}</h4> 109 <h4>{{ 'apps.old_clients.title'|trans }}</h4>
22 <ul> 110 <ul>
23 <li><a href="{{ path('developer_create_client') }}">{{ 'developer.clients.create_new'|trans }}</a></li> 111 <li><a href="{{ path('apps_create_client') }}">{{ 'apps.old_clients.create_new'|trans }}</a></li>
24 </ul> 112 </ul>
25 113
26 <h4>{{ 'developer.existing_clients.title'|trans }}</h4> 114 <h5>{{ 'apps.old_clients.list'|trans }}</h5>
27 {% if clients %} 115 {% if clients %}
28 <ul class="collapsible" data-collapsible="expandable"> 116 <ul class="collapsible" data-collapsible="expandable">
29 {% for client in clients %} 117 {% for client in clients %}
30 <li> 118 <li>
31 <div class="collapsible-header">{{ client.name }} - #{{ client.id }}</div> 119 <div class="collapsible-header">{{ client.name }}</div>
32 <div class="collapsible-body"> 120 <div class="collapsible-body">
33 <table class="striped"> 121 <table class="striped">
34 <tr> 122 <tr>
35 <td>{{ 'developer.existing_clients.field_id'|trans }}</td> 123 <td>{{ 'apps.old_clients.field_id'|trans }}</td>
36 <td><strong><code>{{ client.clientId }}</code></strong></td> 124 <td><strong><code>{{ client.id }}_{{ client.randomId }}</code></strong></td>
37 </tr> 125 </tr>
38 <tr> 126 <tr>
39 <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> 127 <td>{{ 'apps.old_clients.field_secret'|trans }}</td>
40 <td><strong><code>{{ client.secret }}</code></strong></td> 128 <td><strong><code>{{ client.secret }}</code></strong></td>
41 </tr> 129 </tr>
42 <tr>
43 <td>{{ 'developer.existing_clients.field_uris'|trans }}</td>
44 <td><strong><code>{{ client.redirectUris|json_encode() }}</code></strong></td>
45 </tr>
46 <tr>
47 <td>{{ 'developer.existing_clients.field_grant_types'|trans }}</td>
48 <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td>
49 </tr>
50 </table> 130 </table>
51 <p> 131 <p>
52 {{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/> 132 {{ 'apps.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/>
53 {{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/> 133 {{ 'apps.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/>
54 <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> 134 <a class="waves-effect waves-light red btn" href="{{ path('apps_delete_client', {'id': client.id}) }}">{{ 'apps.remove.action'|trans({'%name%': client.name }) }}</a>
55 </p> 135 </p>
136
56 </div> 137 </div>
57 </li> 138 </li>
58 {% endfor %} 139 {% endfor %}
59 </ul> 140 </ul>
60 {% else %} 141 {% else %}
61 {{ 'developer.existing_clients.no_client'|trans }} 142 {{ 'apps.old_clients.no_client'|trans }}
62 {% endif %} 143 {% endif %}
63 </div> 144 <h4>{{ 'apps.documentation.title'|trans }}</h4>
64 145
146 <ul>
147 <li><a href="http://doc.wallabag.org/en/master/developer/api.html">{{ 'apps.documentation.full_documentation'|trans }}</a></li>
148 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'apps.documentation.list_methods'|trans }}</a></li>
149 </ul>
150 </div>
65 </div> 151 </div>
66 </div> 152 </div>
67</div> 153</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 2dab1c18..6bee628d 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -78,8 +78,8 @@
78 <li class="bold {% if currentRoute == 'import' %}active{% endif %}"> 78 <li class="bold {% if currentRoute == 'import' %}active{% endif %}">
79 <a class="waves-effect" href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a> 79 <a class="waves-effect" href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a>
80 </li> 80 </li>
81 <li class="bold {% if currentRoute == 'developer' %}active{% endif %}"> 81 <li class="bold {% if currentRoute == 'apps' %}active{% endif %}">
82 <a class="waves-effect" href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a> 82 <a class="waves-effect" href="{{ path('apps') }}">{{ 'menu.left.apps'|trans }}</a>
83 </li> 83 </li>
84 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"> 84 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}">
85 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a> 85 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a>
diff --git a/web/assets/appicons/.gitkeep b/web/assets/appicons/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/web/assets/appicons/.gitkeep
diff --git a/web/assets/appicons/Firefox-logo.svg b/web/assets/appicons/Firefox-logo.svg
new file mode 100644
index 00000000..3f71d3d6
--- /dev/null
+++ b/web/assets/appicons/Firefox-logo.svg
@@ -0,0 +1,429 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
3 <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
4 <!ENTITY ns_svg "http://www.w3.org/2000/svg">
5 <!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
6 ]>
7<svg xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="132.72" height="127.219" viewBox="0 0 132.72 127.219" overflow="visible" enable-background="new 0 0 132.72 127.219" xml:space="preserve">
8
9 <title>Firefox Logo</title>
10 <desc>Firefox logo in SVG, authored by Jon Hicks, made in Adobe Illustrator (file format cleaned up and slightly modified by Doug Schepers)</desc>
11
12 <g id="Firefox">
13 <g id="Globe">
14 <ellipse fill="#110070" cx="63.755" cy="59.375" rx="59.336" ry="59.375"/>
15 <radialGradient id="XMLID_61_" cx="64.5688" cy="7.2266" r="104.221" fx="64.5688" fy="7.2266" gradientUnits="userSpaceOnUse">
16 <stop offset="0" style="stop-color:#67C5D5"/>
17 <stop offset="0.1604" style="stop-color:#66C2D3"/>
18 <stop offset="0.2795" style="stop-color:#62B9CE"/>
19 <stop offset="0.3852" style="stop-color:#5CA8C6"/>
20 <stop offset="0.4832" style="stop-color:#5392BA"/>
21 <stop offset="0.5759" style="stop-color:#4874AA"/>
22 <stop offset="0.6646" style="stop-color:#3A5097"/>
23 <stop offset="0.7485" style="stop-color:#2A2781"/>
24 <stop offset="0.8146" style="stop-color:#1B006D"/>
25 <stop offset="1" style="stop-color:#596AAD"/>
26 </radialGradient>
27 <ellipse fill="url(#XMLID_61_)" cx="63.755" cy="59.375" rx="58.215" ry="58.254"/>
28 <radialGradient id="XMLID_62_" cx="64.5518" cy="14.1748" r="52.2317" fx="64.5518" fy="14.1748" gradientUnits="userSpaceOnUse">
29 <stop offset="0" style="stop-color:#0F80BC"/>
30 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
31 <stop offset="1" style="stop-color:#00145A"/>
32 </radialGradient>
33 <path fill="url(#XMLID_62_)" d="M55.405,89.446c-0.072-0.316-0.857-1.233-1.458-1.438 c-0.599-0.205-1.188,0.884-1.574-0.924c-1.266,0.726-1.812-0.2-1.812-0.2s-1.365,0.08-1.629,1.751 c-0.65,0.769-2.316,3.566-1.431,0.657c0.891-2.927-0.94-0.23-1.11,1.24c-0.318,0.653-0.855,0.719-0.517-2.218 c-1.173-0.405-1.772-3.127-1.129-3.179c-0.747-1.041-0.16-2.633,0.462-2.548c0.622,0.08,1.69-1.36,1.657-1.694 c-0.033-0.333,0.482-0.095,0.45-2.336c-0.033-2.247,0.847-2.803,0.919-0.924c0.076,1.872,1.194-0.613,1.079-1.566 c-0.116-0.949,0.112-3.094,0.793-1.826c-0.793-3.137-0.167-3.261,0.309-1.173c1.193,0.094,1.234,0.73,1.234,0.73 c1.321-0.325,1.954,0.67,2.056,1.228c1.224-1.445,2.46,0.113,2.46,0.113s0.853-0.283,0.445,1.2 c-0.41,1.478,1.772,0.678,1.251-0.384c1.073-0.543,2.666,1.102,3.168,2.224c0.502,1.127-0.86,2.723,0.202,3.109 c1.068,0.384,0.6,2.242,0.6,2.242s2.232,1.238,0.683,2.301l-0.528,1.265c0,0,1.01,1.127,1.354,0.456 c0.344-0.672,0.466,0.683,0.466,0.683c-0.129-0.24,0.248,1.396,1.64,1.74c1.398,0.341,2.283,2.55,0.731,2.578 c-1.546,0.025-1.666-0.017-2.085,0.886c-0.417,0.899-2.391,0.931-3.413-0.233c-1.087,0.368-3.021-0.106-2.452-0.976 c-0.938,0.547-1.824-0.922-1.091-1.577c0.733-0.653-0.412-1.499-0.797-0.563c-0.381,0.935-2.404,1.396-2.263-0.195 c0.042-0.472,1.12-0.748,1.134-0.354C55.406,89.996,55.486,89.505,55.405,89.446z"/>
34 <g>
35 <radialGradient id="XMLID_63_" cx="64.5537" cy="14.1758" r="52.2289" fx="64.5537" fy="14.1758" gradientUnits="userSpaceOnUse">
36 <stop offset="0" style="stop-color:#0F80BC"/>
37 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
38 <stop offset="1" style="stop-color:#00145A"/>
39 </radialGradient>
40 <path fill="url(#XMLID_63_)" d="M103.541,43.916c0.309,0.306,0.917,0.238,1.254,0.144 c0.339-0.097,0.291-0.337,0.583-0.431c0.287-0.097,1.397,0.431,1.107,1.584c-0.673,0.094-0.917,0.912-0.917,0.912 s-0.673,0.287-1.013,0.144c-0.338-0.144-0.338-0.097-0.821-0.05c-0.483,0.05-1.643-0.622-0.387-0.622 c1.257,0-0.143-0.577-0.675-0.577c-0.53,0-0.097-0.528,0.532-0.384C102.768,43.916,103.009,43.385,103.541,43.916z"/>
41 <radialGradient id="XMLID_64_" cx="64.5488" cy="14.1724" r="52.2373" fx="64.5488" fy="14.1724" gradientUnits="userSpaceOnUse">
42 <stop offset="0" style="stop-color:#0F80BC"/>
43 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
44 <stop offset="1" style="stop-color:#00145A"/>
45 </radialGradient>
46 <path fill="url(#XMLID_64_)" d="M99.188,46.524c-0.337,0.334,0.049,1.344,0.483,1.294 c0.433-0.047,1.11-0.238,1.11-0.238s0.337,0.672,0,0.866c-0.337,0.19-1.319,0.106-0.047,0.575 c1.304,0.479,1.64,0.334,1.737,0.094c0.097-0.238,0.53-1.054,0.773-1.006c0.193-0.431-0.676-0.815-0.192-1.105 c0.479-0.288,0.096-1.343,0.096-1.343s-0.677,0.047-0.966,0.528c-0.29,0.48-0.674-0.047-0.964-0.047 c-0.049,0.287-0.243,0.527-0.243,0.527l-0.193-0.434C100.781,46.234,99.428,46.188,99.188,46.524z"/>
47 </g>
48 <radialGradient id="XMLID_65_" cx="65.4053" cy="19.1201" r="57.3827" fx="65.4053" fy="19.1201" gradientUnits="userSpaceOnUse">
49 <stop offset="0" style="stop-color:#0F80BC"/>
50 <stop offset="0.2643" style="stop-color:#0B629B"/>
51 <stop offset="0.8439" style="stop-color:#031747"/>
52 <stop offset="1" style="stop-color:#00022F"/>
53 </radialGradient>
54 <path fill="url(#XMLID_65_)" d="M90.165,47.314c-0.042-0.123,0.384-0.62,0.27,0.024 c-0.262,0.458,1.058,0.87,1.428,0.36c1.241-1.7-1.17-2.522-2.216-1.732c-1.056,0.797-1.638-0.912-0.425-1.155 c1.209-0.245,1.311-2.43-0.021-2.438c1.176-0.58-0.453-2.318-1.799-2.615c-0.217-1.87-2.189-3.059-3.226-2.38 c-1.047,0.681-1.137,0.561-2.671-0.37c-1.528-0.927-2.264,1.928-1.14,3.175c1.131,1.256,0.311,3.281,0.358,2.935 c0,0-0.426,0.766-0.398,1.053c-1.294,0.439-1.672-1.383-2.475-1.786c-0.585,0.763-1.53,1.17-1.53,1.17l0.071-1.553 c0,0-4.017-2.188-5.251-1.575c-1.521,0.47-1.881,3.991-0.5,4.506c1.383,0.521-1.735,1.818,1.393,5.116 c3.213,3.386,4.455,3.483,5.111,2.932c0.162-0.139,0.442-0.347,0.784-0.578c0.031,0.13,0.083,0.255,0.163,0.373 c0.804,1.209-1.869,2.162-2.242,3.894c-0.379,1.751-0.03,5.007,1.556,5.118c0.302-1.735,3.27-1.122,1.655,0.45 c-1.644,1.603-0.491,1.886-0.491,1.886s0.078,3.003,2.592,2.043c-0.073,0.172-0.132,0.392-0.167,0.632 c-0.703-0.142-2.421-0.357-2.841,0.841c-0.53,1.512-2.774-0.512-4.344,0.167c-1.563,0.674-3.844,2.887-3.076,4.443 c1.476-0.7,2.606,2.456,0.544,1.808c-2.069-0.65-1.667,0.583-1.667,0.583s-2.154,1.699-0.137,3.508 c-0.775,0.118-2.152,0.981-1.688,2.874c0,0-0.885,0.032-1.004,1.726c-2.887,0.582-2.711,1.478,1.633,0.496 c-1.753,0.91,1.226,1.338,2.546,1.217c1.322-0.12,4.792,1.591,2.185,1.608c-2.612,0.016-1.834,1.294,1.294,1.355 c3.123,0.064,2.795,0.788,3.259,0.756c0.464-0.032,2.484,1.561,2.374,2.444c-0.113,0.884,2.116,1.801,3.566,0.788 c0.074,0.919,3.886,0.202,4.45-1.455c4.128,0.631,4.033-0.139,3.114-0.629c-2.067-0.316-5.86-3.063-1.746-1.65 c4.093,1.411,0.15-1.11-0.929-2.079c-2.35-0.457-2.47-2.416-2.47-2.416s1.298-0.739,0.274-2.586 c2.539-0.471,1.006-1.364,1.291-2.215c0.285-0.854,1.574-1.942,2.016-2.03c0.084-0.115,0.775,0.023,0.134,0.283 c-0.554,0.006-0.161,1.566,0.502,1.646c2.242,0.273,1.586-2.654,0.269-3.243c-1.32-0.594-0.135-2.204,0.792-1.12 c0.927,1.082,2.993-0.133,2.218-1.504c1.232,0.854,1.896-1.909,1.372-3.495c1.648-1.429,1.595-4.278,0.32-4.915 c-0.627-0.313-0.93-0.516-1.082-0.905c0.757-0.358,1.761-0.622,2.155-0.269c0.641,0.579,2.425-1.018,2.312-2.885 c0.751,0.412,1.947-3.395,0.931-4.727c2.326-3.252,1.699-3.547,0.921-3.002c-1.17,1.622-5.013,3.563-2.034,0.688 c2.892-2.791-0.769-0.675-1.994-0.222c-1.441,1.805-2.97,0.938-2.97,0.938s0.065-1.479-1.796-1.509 c0.86-2.373-0.526-1.516-1.011-2.164C90.191,49.301,90.016,47.719,90.165,47.314z"/>
55 <radialGradient id="XMLID_66_" cx="64.5508" cy="14.1733" r="52.2333" fx="64.5508" fy="14.1733" gradientUnits="userSpaceOnUse">
56 <stop offset="0" style="stop-color:#0F80BC"/>
57 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
58 <stop offset="1" style="stop-color:#00145A"/>
59 </radialGradient>
60 <path fill="url(#XMLID_66_)" d="M60.007,23.541c-0.361,0.941,1.178,2.47,1.951,1.978 c0.775-0.495,1.885-1.482,1.885-1.482s1.177,0.945,0.701,1.619c-0.479,0.672-2.386,1.428,0.374,1.122 c2.831-0.313,3.347-0.897,3.333-1.437c-0.015-0.538,0.141-2.469,0.631-2.603c0.015-0.99-1.925-0.898-1.253-1.889 c0.672-0.986-0.905-2.606-0.905-2.606s-1.228,0.719-1.382,1.888c-0.155,1.167-1.304,0.538-1.848,0.806 c0.141,0.584-0.026,1.212-0.026,1.212l-0.711-0.629C62.758,21.519,60.186,22.688,60.007,23.541z"/>
61 <radialGradient id="XMLID_67_" cx="64.5518" cy="14.1646" r="52.2415" fx="64.5518" fy="14.1646" gradientUnits="userSpaceOnUse">
62 <stop offset="0" style="stop-color:#0F80BC"/>
63 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
64 <stop offset="1" style="stop-color:#00145A"/>
65 </radialGradient>
66 <path fill="url(#XMLID_67_)" d="M64.61,72.966c-0.337,0.334,0.05,1.343,0.483,1.296 c0.434-0.049,1.11-0.24,1.11-0.24s0.337,0.672,0,0.865c-0.339,0.19-1.319,0.108-0.049,0.575 c1.303,0.48,1.642,0.336,1.739,0.096c0.095-0.24,0.529-1.056,0.771-1.009c0.195-0.431-0.676-0.814-0.193-1.102 c0.483-0.291,0.099-1.346,0.099-1.346s-0.676,0.048-0.966,0.529c-0.29,0.479-0.676-0.049-0.966-0.049 c-0.049,0.288-0.24,0.528-0.24,0.528l-0.193-0.431C66.204,72.678,64.851,72.63,64.61,72.966z"/>
67 <g>
68 <defs>
69 <ellipse id="XMLID_8_" cx="63.755" cy="59.375" rx="58.215" ry="58.254"/>
70 </defs>
71 <clipPath id="XMLID_68_">
72 <use xlink:href="#XMLID_8_" />
73 </clipPath>
74 <linearGradient id="XMLID_69_" gradientUnits="userSpaceOnUse" x1="76.3716" y1="16.5918" x2="93.2318" y2="18.0293">
75 <stop offset="0" style="stop-color:#0F80BC"/>
76 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
77 <stop offset="1" style="stop-color:#00145A"/>
78 </linearGradient>
79 <path clip-path="url(#XMLID_68_)" fill="url(#XMLID_69_)" d="M65.061,1.002 c-0.912,0.203,0.613,3.503,0.613,3.503s-0.055,2.216,0.321,2.329c0.374,0.113,2.852,0.733,4.147,2.345 c1.301,1.614,0.625,2.463-0.458,1.997c-1.084-0.465-0.797,0.959-0.797,0.959s3.27,1.063,0.8,0.995 c-2.475-0.066,1.666,1.741,1.393,1.93c-0.273,0.191-0.429,1.231-0.429,1.231s-2.183,0.182-0.333,0.959 c6.26,2.637-0.669,1.925-0.669,1.925l-0.884,1.087l1.749,2.194l1.345,0.962c0,0,2.833-0.945,3.716-1.093 c0.884-0.146,3.114-1.815,3.114-1.815s0.669,0.478,0.169-0.497c-0.501-0.976,1.841-0.54,2.425,0.186l4.134,1.867 c0.054,0.144,0.146,0.274,0.292,0.375c0.806,0.565-0.729,1.535-0.573,2.562c0.156,1.016,1.093,2.704,2.121,2.526 c-0.18-0.969,1.851-1.086,1.144-0.006c-0.706,1.077,0.077,1.056,0.077,1.056s0.653,1.521,2.034,0.676 c-0.056,0.464,0.227,1.397,1.413,1.459c0,0-0.126,0.506,0.848,0.865c-0.132,1.737,0.424,1.792,0.561-0.846 c0.245,1.157,0.992-0.471,1.141-1.25c0.15-0.784,1.756-2.505,1.322-0.984c-0.431,1.508,4.735,2.06,5.308,0.259 c0.578-1.815,2.637-2.763,2.699-3.038c0.062-0.281-4.583-0.712-4.07-0.493c0.514,0.219,1.47-0.948,1.115-1.986 c0.576,0.116,0.83-2.301-0.083-2.927c1.143-2.405,0.651-2.48,0.182-2.001c-0.57,1.205-2.922,3.023-1.327,0.783 c1.609-2.263-0.653-0.284-1.438,0.208c-0.689,1.341-1.899,1.08-1.899,1.08s-0.222-0.911-1.516-0.607 c0.151-1.612-0.653-0.838-1.12-1.154c-0.285-0.193-0.558-0.627-0.726-0.999c1.115,0.452,2.612,0.933,2.354,0.104 c-0.167-0.542,2.112,0.643,2.192,0.396l2.848-0.396l2.769-1.75C85.388,0.164,65.061,1.002,65.061,1.002z"/>
80 <linearGradient id="XMLID_70_" gradientUnits="userSpaceOnUse" x1="38.4917" y1="19.147" x2="29.1739" y2="32.8324">
81 <stop offset="0" style="stop-color:#0F80BC"/>
82 <stop offset="0.3376" style="stop-color:#0A5F9E"/>
83 <stop offset="1" style="stop-color:#00145A"/>
84 </linearGradient>
85 <path clip-path="url(#XMLID_68_)" fill="url(#XMLID_70_)" d="M38.752,6.095 c-10.573,4.747-18.551,14.531-18.551,14.531s0.938,2.145,1.265,1.987c0.33-0.156-2.361,5.628-0.386,5.954 c1.985,0.325,7.696-3.578,6.637-3.22c-1.056,0.356,0.595-2.112,0.595-2.112s2.972-1.318,1.214,0.202 c-1.743,1.511,2.318,0.187,2.255,0.496c-0.064,0.311,0.525,1.147,0.525,1.147s-1.393,1.494,0.406,0.892 c6.172-2.075,0.812,1.779,0.812,1.779l0.106,1.312l2.67,0.464l1.578-0.15c0,0,1.381-2.436,1.914-3.098 c0.535-0.663,1.028-3.284,1.028-3.284s0.803-0.084-0.213-0.468c-1.016-0.385,0.972-1.583,1.886-1.434l4.303-1.336 c0.138,0.068,0.292,0.103,0.47,0.082c0.985-0.114,0.489,1.603,1.294,2.25c0.796,0.644,2.627,1.264,3.283,0.469 c-0.784-0.594,0.674-2.011,0.86-0.751c0.187,1.249,0.767,0.723,0.767,0.723s1.543-2.654,2.036-4.177 c0.27,0.377,2.788-3.309,2.025-5.067c-0.771-1.78,0.479-3.456,0.34-3.715c-0.143-0.256-0.896,0.528-0.34,0.34 c0.561-0.192-1.589,0.772-1.874-2.061c-0.288-2.89-0.707,0.243-0.985,1.169c0.377,1.508,4.29-6.093,4.29-6.093l5.044-2.057 C64.006,0.873,52.525-0.088,38.752,6.095z"/>
86 </g>
87 <linearGradient id="XMLID_71_" gradientUnits="userSpaceOnUse" x1="62.6519" y1="34.5464" x2="62.6519" y2="11.8951">
88 <stop offset="0.0137" style="stop-color:#000000" stop-opacity='0'/>
89 <stop offset="0.65" style="stop-color:#C4E0E3" stop-opacity='0.2'/>
90 <stop offset="0.8224" style="stop-color:#C4E0E3"/>
91 <stop offset="0.8498" style="stop-color:#CDE5E8"/>
92 <stop offset="0.9443" style="stop-color:#E8F4F7"/>
93 <stop offset="1" style="stop-color:#F2FAFC"/>
94 </linearGradient>
95 <ellipse opacity="0.5" fill="url(#XMLID_71_)" cx="62.652" cy="23.271" rx="30.825" ry="19.971"/>
96 </g>
97
98
99 <filter id='blurshadow' x='-25%' y='-25%' width='150%' height='150%'>
100 <feGaussianBlur in='SourceAlpha' stdDeviation='1.5' result='blur' />
101 <feOffset dx='1' dy='1' in='blur' result='shift' />
102 <feMerge>
103 <feMergeNode in='shift'/>
104 <feMergeNode in='SourceGraphic'/>
105 </feMerge>
106 </filter>
107 <g id="Fox" filter='url(#blurshadow)'>
108 <g>
109 <linearGradient id="XMLID_74_" gradientUnits="userSpaceOnUse" x1="64.4775" y1="56.3008" x2="78.4661" y2="48.0854">
110 <stop offset="0" style="stop-color:#DF731B"/>
111 <stop offset="0.5449" style="stop-color:#DF731B"/>
112 <stop offset="0.7014" style="stop-color:#EC8811"/>
113 <stop offset="0.8593" style="stop-color:#F4950B"/>
114 <stop offset="1" style="stop-color:#F79A09"/>
115 </linearGradient>
116 <path fill="url(#XMLID_74_)" d="M125.321,43.084l-1.426,9.15c0,0-2.039-16.94-4.538-23.273 c-3.83-9.704-5.534-9.626-5.545-9.612c2.565,6.519,2.1,10.021,2.1,10.021s-4.545-12.387-16.562-16.328 c-14.232-4.665-21.482-2.979-21.428-2.914c0.054,0.066,14.709,2.562,17.308,6.133c0,0-6.225,0-12.42,1.785 c-0.28,0.08,22.793,2.882,27.51,25.938c0,0-2.529-5.277-5.657-6.173c2.057,6.258,1.529,18.133-0.43,24.035 c-0.252,0.759-0.51-3.281-4.369-5.021c1.236,8.857-0.074,22.905-6.219,26.775c-0.479,0.301,3.852-13.868,0.871-8.39 c-17.797,27.287-38.956,11.04-47.538,5.249c6.888,1.688,14.205,0.472,18.441-2.423c4.275-2.922,6.804-5.058,9.075-4.553 c2.27,0.507,3.781-1.771,2.018-3.792c-1.765-2.025-6.051-4.808-11.849-3.291c-4.089,1.071-9.156,5.595-16.891,1.014 c-6.599-3.91-6.554-7.085-6.554-9.108c0-2.024,1.8-5.1,5.076-4.595c2.934,0.453,1.388-1.27,4.545,0 c0.86,0.346-0.086-4.129-1.31-6.996c2.357-4.919,10.004-6.381,10.575-6.812c1.034-0.782,0.465-1.172,0.818-2.35 c0.33-1.097,0.541-4.062-8.017-3.243c-3.938,0.377-6.443-4.726-7.264-5.965c0.266-1.577,0.693-3.018,1.271-4.338 c0.587-1.203,1.228-2.305,1.868-3.139c0.2-0.261,0.374-0.49,0.532-0.703c1.276-1.488,2.842-2.76,4.722-3.818 c0.981-0.554-10.969-0.035-16.346,6.974c-1.443,0.188-3.423-0.228-5.636-0.228c-2.774,0-4.953,0.303-6.97,0.81 c-0.323,0.081-0.844,0.037-1.481-0.115c-1.775-1.839-6.797-6.259-7.027-12.254c0,0-7.302,5.612-6.209,20.912 c-0.096,8.461-2.594,6.042-3.879,10.634c-0.598,2.176,0.899,3.815,0.899,3.879c-0.002,0.033,1.796-1.946,1.796-1.946 s-11.323,19.617,3.3,44.66c12.604,21.589,33.755,31.13,55.703,29.272c3.839-0.25,7.706-0.822,11.564-1.754 C130.881,104.828,125.321,43.084,125.321,43.084z"/>
117 </g>
118 <linearGradient id="XMLID_75_" gradientUnits="userSpaceOnUse" x1="41.8389" y1="36.9619" x2="52.6969" y2="37.8922">
119 <stop offset="0.0112" style="stop-color:#941403"/>
120 <stop offset="0.8972" style="stop-color:#E85C0A"/>
121 </linearGradient>
122 <path fill="url(#XMLID_75_)" d="M45.469,27.61c0,0,2.21,6.039,7.167,6.019 c9.457-0.038,9.646,0.093,9.707,1.243c0.188,3.5-1.54,4.647-2.201,5.145c-0.663,0.497-9.668,5.718-9.999,7.211 C49.812,48.72,39.752,33.03,39.752,33.03L45.469,27.61z"/>
123 <linearGradient id="XMLID_76_" gradientUnits="userSpaceOnUse" x1="24.4502" y1="33.9526" x2="63.643" y2="38.8517">
124 <stop offset="0.0112" style="stop-color:#941403"/>
125 <stop offset="0.1357" style="stop-color:#A32104"/>
126 <stop offset="0.4978" style="stop-color:#C84107"/>
127 <stop offset="0.7893" style="stop-color:#DF5509"/>
128 <stop offset="0.972" style="stop-color:#E85C0A"/>
129 </linearGradient>
130 <path fill="url(#XMLID_76_)" d="M50.504,34.12c0,0,3.072,3.922,0.749,5.491 c-2.838,1.916,4.012,2.335,6.494,0.942s4.006-3.44,4.093-3.745s0.902-3.054-4.279-2.096 C54.285,35.318,53.085,35.458,50.504,34.12z"/>
131 <linearGradient id="XMLID_77_" gradientUnits="userSpaceOnUse" x1="48.731" y1="44.3203" x2="51.8565" y2="42.9451">
132 <stop offset="0" style="stop-color:#F2C8A9"/>
133 <stop offset="1" style="stop-color:#FFFFCC"/>
134 </linearGradient>
135 <path fill="url(#XMLID_77_)" d="M60.143,40.017c0.502-0.378,1.616-1.137,2.042-3.011 c-0.311,0.126-0.34-0.23-0.707-0.076c-6.955,7.255-7.221,2.203-11.017,3.22c-3.46,0.947-4.237,2.246-4.383,2.347 c0.051,0.073,0.104,0.148,0.155,0.221c0.997,0.506,1.953,2.122,2.671,3.564c0.702,0.836,1.173,1.248,1.241,0.945 C50.475,45.734,59.48,40.513,60.143,40.017z"/>
136 <linearGradient id="XMLID_78_" gradientUnits="userSpaceOnUse" x1="38.7676" y1="82.5825" x2="91.3391" y2="84.7472">
137 <stop offset="0" style="stop-color:#B30000"/>
138 <stop offset="1" style="stop-color:#DF731B"/>
139 </linearGradient>
140 <path fill="url(#XMLID_78_)" d="M8.18,45.782C6.76,48.761-2.352,64.159,12.519,89.787 c14.552,25.084,39.737,33.276,65.45,27.71c7.34-1.588,15.803-7.331,21.196-11.545c-3.465-8.74-1.414-8.412-3.271-7.262 c-20.714,12.823-37.18,0.174-49.924-1.443C-0.913,91.305,8.345,45.689,8.345,45.689L8.18,45.782z"/>
141 <linearGradient id="XMLID_79_" gradientUnits="userSpaceOnUse" x1="51.2778" y1="74.4243" x2="78.6891" y2="84.2116">
142 <stop offset="0" style="stop-color:#941403"/>
143 <stop offset="1" style="stop-color:#DF731B"/>
144 </linearGradient>
145 <path fill="url(#XMLID_79_)" d="M47.219,80.933c4.419,1.325,14.06,0.183,18.201-2.897 c2.79-2.074,4.898-3.638,6.671-4.292c-3.134-2.129-3.184,0.889-9.774,2.415c-13.728,3.185-20.393-3.695-20.393-3.695 c0.972,5.444,4.372,8.095,5.902,9.036C47.42,81.14,47.207,80.929,47.219,80.933z"/>
146 <linearGradient id="XMLID_80_" gradientUnits="userSpaceOnUse" x1="6.1064" y1="87.0566" x2="32.8281" y2="87.0566" gradientTransform="matrix(0.9988 0.049 -0.049 0.9988 4.7153 -1.2399)">
147 <stop offset="0.0562" style="stop-color:#B30000"/>
148 <stop offset="1" style="stop-color:#DE5C01"/>
149 </linearGradient>
150 <path fill="url(#XMLID_80_)" d="M32.332,105.794c0,0-11.428-12.896-14.618-27.338 c-4.704-4.443-8.042-8.2-10.259-10.917C8.735,77.816,13.975,93.771,32.332,105.794z"/>
151 <linearGradient id="XMLID_81_" gradientUnits="userSpaceOnUse" x1="209.7227" y1="-130.6592" x2="224.2611" y2="-85.6186" gradientTransform="matrix(0.9929 0.1186 -0.1186 0.9929 -207.2682 181.2932)">
152 <stop offset="0.0562" style="stop-color:#DE7210"/>
153 <stop offset="1" style="stop-color:#F6C08F"/>
154 </linearGradient>
155 <path fill="url(#XMLID_81_)" d="M22.799,94.082c0,0-7.887-11.228-4.93-20.762 c2.66-8.571-0.565-3.472-2.441-1.64c-1.895,1.851-2.869-5.464-2.821-6.307c0.003-0.018,0.001-0.026-0.001-0.027 C12.487,65.321,8.852,82.872,22.799,94.082z"/>
156 <linearGradient id="XMLID_82_" gradientUnits="userSpaceOnUse" x1="12.4712" y1="61.1074" x2="12.4712" y2="111.4548" gradientTransform="matrix(0.999 0.0448 -0.0448 0.999 3.2321 -0.6968)">
157 <stop offset="0.0562" style="stop-color:#DE7210"/>
158 <stop offset="1" style="stop-color:#F6C08F"/>
159 </linearGradient>
160 <path fill="url(#XMLID_82_)" d="M11.115,84.294c0,0-1.798-22.788,3.885-26.009 c9.025-5.115,0.753-3.919-1.864-2.499c-2.645,1.433-2.4-8-2.026-8.896C11.477,46.007,1.795,55.808,11.115,84.294z"/>
161 <path fill="#A40000" d="M50.601,17.239c0,0-7.145,7.257-7.092,7.282c0.054,0.026,0.205,9.315,0.438,11.948 c0.856,1.011,3.524,7.588,1.482,6.128c-2.086-1.49-0.582-1.522-0.4-0.765c0.005,0.025,0.005,0.037,0,0.037 C44.891,41.933,39.844,30.946,50.601,17.239z"/>
162 <linearGradient id="XMLID_83_" gradientUnits="userSpaceOnUse" x1="18.3477" y1="30.8462" x2="12.8857" y2="16.8496">
163 <stop offset="0.0112" style="stop-color:#941403"/>
164 <stop offset="0.4719" style="stop-color:#E85C0A"/>
165 <stop offset="1" style="stop-color:#F9BD5F"/>
166 </linearGradient>
167 <path fill="url(#XMLID_83_)" d="M16.613,11.647c0,0-7.594,5.825-6.143,21.805 c5.878-5.277,14.19-9.222,14.19-9.222C23.265,23.352,16.866,18.233,16.613,11.647z"/>
168 <linearGradient id="XMLID_84_" gradientUnits="userSpaceOnUse" x1="41.7036" y1="34.0576" x2="54.7924" y2="16.8533">
169 <stop offset="0.1966" style="stop-color:#DE7210"/>
170 <stop offset="0.8427" style="stop-color:#F9BD5F"/>
171 <stop offset="1" style="stop-color:#FFFCCF"/>
172 </linearGradient>
173 <path fill="url(#XMLID_84_)" d="M35.328,29.122l11.406,14.185c-3.291-13.93-0.761-22.288,7.34-26.847 C55.273,15.784,37.149,16.703,35.328,29.122z"/>
174 <linearGradient id="XMLID_85_" gradientUnits="userSpaceOnUse" x1="34.7837" y1="57.5415" x2="48.0524" y2="84.0789">
175 <stop offset="0.0169" style="stop-color:#941403"/>
176 <stop offset="0.5" style="stop-color:#E35100"/>
177 <stop offset="1" style="stop-color:#DF731B"/>
178 </linearGradient>
179 <path fill="url(#XMLID_85_)" d="M27.292,64.164C29.237,51.908,46.294,53.71,46.294,53.71 c-0.761,0.565-3.683,0.903-4.52,3.241c-2.762,7.719-0.128,24.581,17.078,31.653C60.667,89.352,24.418,82.276,27.292,64.164z" />
180 <linearGradient id="XMLID_86_" gradientUnits="userSpaceOnUse" x1="54.8252" y1="41.2671" x2="58.1387" y2="44.27">
181 <stop offset="0" style="stop-color:#EEA272"/>
182 <stop offset="0.1865" style="stop-color:#EFA777"/>
183 <stop offset="0.4064" style="stop-color:#F2B585"/>
184 <stop offset="0.643" style="stop-color:#F6CD9C"/>
185 <stop offset="0.8898" style="stop-color:#FCEEBB"/>
186 <stop offset="1" style="stop-color:#FFFFCC"/>
187 </linearGradient>
188 <path fill="url(#XMLID_86_)" d="M62.087,37.338c-0.084-0.015-0.158-0.013-0.195,0.037 c-0.21,0.281-1.021,1.239-2.95,2.81c-3.583,2.915-5.093,2.177-7.762,2.774c-1.215,0.271-2.37,1.087-3.148,1.741 c0.315,0.509,0.609,1.057,0.871,1.582c0.702,0.836,1.173,1.248,1.241,0.945c0.331-1.493,9.336-6.714,9.999-7.211 C60.613,39.663,61.611,38.962,62.087,37.338z"/>
189 <linearGradient id="XMLID_87_" gradientUnits="userSpaceOnUse" x1="35.5" y1="48.3613" x2="50.7214" y2="63.8933">
190 <stop offset="0.1966" style="stop-color:#DF731B"/>
191 <stop offset="0.8427" style="stop-color:#F9BD5F"/>
192 <stop offset="1" style="stop-color:#FFFCCF"/>
193 </linearGradient>
194 <path fill="url(#XMLID_87_)" d="M51.09,55.865c0.1-2.59-0.081-8.881-2.774-11.611 c-2.057-2.085-2.54-4.474-2.816-7.201c-22.363,8.353-25.556,19.272-23.32,18.917C40.066,53.135,45.094,52.788,51.09,55.865z" />
195 <linearGradient id="XMLID_88_" gradientUnits="userSpaceOnUse" x1="847.4707" y1="-1065.021" x2="847.4707" y2="-1007.9581" gradientTransform="matrix(0.9673 0.2537 -0.2537 0.9673 -1076.6656 855.2322)">
196 <stop offset="0.0562" style="stop-color:#DE7210"/>
197 <stop offset="1" style="stop-color:#F6C08F"/>
198 </linearGradient>
199 <path fill="url(#XMLID_88_)" d="M3.411,71.171c0,0,1.554-20.192,11.661-27.582 c7.935-5.805,1.773-3.696-1.291-3.456c-3.231,0.256-4.954,2.221-4.331,1.498c0.027-0.03,0.036-0.047,0.031-0.055 C9.375,41.451,1.897,47.726,3.411,71.171z"/>
200 <linearGradient id="XMLID_89_" gradientUnits="userSpaceOnUse" x1="15.8564" y1="36.4131" x2="-3.4365" y2="67.833" gradientTransform="matrix(0.9897 -0.0801 0.0949 1.1727 -3.8203 -4.9468)">
201 <stop offset="0.0562" style="stop-color:#DE7210"/>
202 <stop offset="1" style="stop-color:#F2C06E"/>
203 </linearGradient>
204 <path fill="url(#XMLID_89_)" d="M2.347,55.658c0,0,5.416-17.192,16.362-17.047 c7.259,0.097,1.501-6.134-0.695-7.081c-2.291-0.981-2.839-0.943-3.374-0.469C13.838,31.771,6.636,31.497,2.347,55.658z"/>
205 <linearGradient id="XMLID_90_" gradientUnits="userSpaceOnUse" x1="80.9292" y1="67.8447" x2="60.4332" y2="71.7597">
206 <stop offset="0.0047" style="stop-color:#FFFAEE"/>
207 <stop offset="0.2757" style="stop-color:#F5F89B"/>
208 <stop offset="0.3102" style="stop-color:#F3ED91"/>
209 <stop offset="0.4668" style="stop-color:#ECC267"/>
210 <stop offset="0.6182" style="stop-color:#E6A046"/>
211 <stop offset="0.7611" style="stop-color:#E2872E"/>
212 <stop offset="0.8921" style="stop-color:#E07820"/>
213 <stop offset="1" style="stop-color:#DF731B"/>
214 </linearGradient>
215 <path fill="url(#XMLID_90_)" d="M76.185,72.486c0.823-0.807,0.249-3.903-4.924-5.78 c-4.694-1.705-12.021,2.63-14.195,3.486c0,0,8.299-1.555,11.411-1.037C72.695,69.857,74.177,74.456,76.185,72.486z"/>
216 <linearGradient id="XMLID_91_" gradientUnits="userSpaceOnUse" x1="-411.2729" y1="427.6279" x2="-411.2729" y2="475.3195" gradientTransform="matrix(0.992 0.1261 -0.1261 0.992 477.0624 -332.3914)">
217 <stop offset="0.0562" style="stop-color:#DE7210"/>
218 <stop offset="1" style="stop-color:#F2C06E"/>
219 </linearGradient>
220 <path fill="url(#XMLID_91_)" d="M10.342,66.822c0,0-0.899-16.902,6.676-24.121 c5.947-5.67,1.069-3.255-1.444-2.724c-2.65,0.562-3.865,2.377-3.426,1.71c0.019-0.028,0.023-0.043,0.019-0.049 C12.064,41.547,6.548,47.557,10.342,66.822z"/>
221 <linearGradient id="XMLID_92_" gradientUnits="userSpaceOnUse" x1="-414.4365" y1="422.6836" x2="-414.4365" y2="470.3703" gradientTransform="matrix(0.9324 0.3616 -0.3616 0.9324 554.92 -207.713)">
222 <stop offset="0.0562" style="stop-color:#DE7210"/>
223 <stop offset="1" style="stop-color:#F2C06E"/>
224 </linearGradient>
225 <path fill="url(#XMLID_92_)" d="M4.508,61.453c0,0,3.201-16.621,12.293-21.801 c7.138-4.069,1.823-2.901-0.745-2.991c-2.708-0.093-4.324,1.375-3.738,0.834c0.025-0.022,0.033-0.037,0.03-0.042 C12.272,37.338,5.47,41.842,4.508,61.453z"/>
226 <linearGradient id="XMLID_93_" gradientUnits="userSpaceOnUse" x1="13.8481" y1="55.7974" x2="0.5692" y2="75.7157" gradientTransform="matrix(0.8104 -0.5859 0.5859 0.8104 -28.537 20.3312)">
227 <stop offset="0.0562" style="stop-color:#DE7210"/>
228 <stop offset="1" style="stop-color:#F2C072"/>
229 </linearGradient>
230 <path fill="url(#XMLID_93_)" d="M15.303,68.275c0,0-1.75-10.074,2.021-15.033 c3.01-3.957,0.367-2.021-1.03-1.451c-1.458,0.596-2.011,1.771-1.812,1.34C14.675,52.71,7.994,57.887,15.303,68.275z"/>
231 <linearGradient id="XMLID_94_" gradientUnits="userSpaceOnUse" x1="21.0347" y1="49.271" x2="7.7561" y2="69.1888" gradientTransform="matrix(0.8104 -0.5859 0.5859 0.8104 -28.537 20.3312)">
232 <stop offset="0.0562" style="stop-color:#DE7210"/>
233 <stop offset="1" style="stop-color:#F2C072"/>
234 </linearGradient>
235 <path fill="url(#XMLID_94_)" d="M17.303,58.775c0,0-1.75-10.074,2.021-15.033 c3.01-3.957,0.367-2.021-1.03-1.451c-1.458,0.596-2.011,1.771-1.812,1.34C16.675,43.21,9.994,48.387,17.303,58.775z"/>
236 <linearGradient id="XMLID_95_" gradientUnits="userSpaceOnUse" x1="12.3135" y1="37.8647" x2="6.504" y2="48.7088">
237 <stop offset="0.0562" style="stop-color:#DE7210"/>
238 <stop offset="1" style="stop-color:#EED8A5"/>
239 </linearGradient>
240 <path fill="url(#XMLID_95_)" d="M6.725,45.003c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C14.573,33.172,6.875,33.428,6.725,45.003z"/>
241 <linearGradient id="XMLID_96_" gradientUnits="userSpaceOnUse" x1="11.7305" y1="44.4917" x2="5.9211" y2="55.3354">
242 <stop offset="0.0562" style="stop-color:#DE7210"/>
243 <stop offset="1" style="stop-color:#EED8A5"/>
244 </linearGradient>
245 <path fill="url(#XMLID_96_)" d="M6.142,51.631c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C13.989,39.799,6.291,40.056,6.142,51.631z"/>
246 <linearGradient id="XMLID_97_" gradientUnits="userSpaceOnUse" x1="18.313" y1="39.8911" x2="12.6977" y2="53.833">
247 <stop offset="0.0562" style="stop-color:#DE7210"/>
248 <stop offset="1" style="stop-color:#F2C072"/>
249 </linearGradient>
250 <path fill="url(#XMLID_97_)" d="M9.109,49.803c0,0,7.209-14.774,16.794-17.684 c7.65-2.32,2.382-2.287,0.024-2.86c-2.462-0.597-4.288,0.414-3.624,0.039C22.953,28.931,9.373,29.383,9.109,49.803z"/>
251 <linearGradient id="XMLID_98_" gradientUnits="userSpaceOnUse" x1="20.4468" y1="33.1045" x2="7.1675" y2="53.0234">
252 <stop offset="0.0562" style="stop-color:#DE7210"/>
253 <stop offset="1" style="stop-color:#F2C072"/>
254 </linearGradient>
255 <path fill="url(#XMLID_98_)" d="M14.037,41.846c0,0,4.484-9.189,10.445-10.999 c4.758-1.443,1.481-1.422,0.015-1.779c-1.532-0.371-2.667,0.257-2.254,0.024C22.647,28.864,14.201,29.145,14.037,41.846z"/>
256 <linearGradient id="XMLID_99_" gradientUnits="userSpaceOnUse" x1="21.3408" y1="37.1255" x2="9.2385" y2="55.279">
257 <stop offset="0.0562" style="stop-color:#DE7210"/>
258 <stop offset="1" style="stop-color:#F2C072"/>
259 </linearGradient>
260 <path fill="url(#XMLID_99_)" d="M15.499,45.092c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C23.346,33.26,15.648,33.517,15.499,45.092z"/>
261 <linearGradient id="XMLID_100_" gradientUnits="userSpaceOnUse" x1="60.2861" y1="34.2974" x2="61.245" y2="36.0061">
262 <stop offset="0" style="stop-color:#8B8B89"/>
263 <stop offset="1" style="stop-color:#120500"/>
264 </linearGradient>
265 <path fill="url(#XMLID_100_)" d="M62.344,34.872c-0.047-0.873-0.176-1.158-4.356-1.229 c0.479,0.217,1.305,0.652,2.214,1.398c1.201,0.984,1.396,2.081,1.52,3.217C62.129,37.484,62.427,36.417,62.344,34.872z"/>
266 <linearGradient id="XMLID_101_" gradientUnits="userSpaceOnUse" x1="22.5596" y1="28.4922" x2="22.5596" y2="23.2452">
267 <stop offset="0.0562" style="stop-color:#DE7210"/>
268 <stop offset="1" style="stop-color:#F6C08F"/>
269 </linearGradient>
270 <path fill="url(#XMLID_101_)" d="M37.802,23.206l-3.625,5.833c0,0-14.496-2.273-26.785,9.616 C6.376,39.637,15.43,17.632,37.802,23.206z"/>
271 <linearGradient id="XMLID_102_" gradientUnits="userSpaceOnUse" x1="23.0117" y1="34.751" x2="33.9931" y2="21.918" gradientTransform="matrix(0.9992 0.0398 -0.0398 0.9992 0.9958 -1.3319)">
272 <stop offset="0.0562" style="stop-color:#DE7210"/>
273 <stop offset="1" style="stop-color:#F6C08F"/>
274 </linearGradient>
275 <path fill="url(#XMLID_102_)" d="M24.784,33.646c0,0,3.863-7.172,8.872-9.339 C31.067,24.389,25.253,26.413,24.784,33.646z"/>
276 <linearGradient id="XMLID_103_" gradientUnits="userSpaceOnUse" x1="15.5088" y1="33.5078" x2="9.6995" y2="44.3515">
277 <stop offset="0.0562" style="stop-color:#DE7210"/>
278 <stop offset="1" style="stop-color:#EED8A5"/>
279 </linearGradient>
280 <path fill="url(#XMLID_103_)" d="M9.92,40.646c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C17.768,28.815,10.069,29.071,9.92,40.646z"/>
281 <linearGradient id="XMLID_104_" gradientUnits="userSpaceOnUse" x1="16.3398" y1="35.8047" x2="27.0674" y2="23.2683" gradientTransform="matrix(0.9946 0.1039 -0.1039 0.9946 3.786 -2.0567)">
282 <stop offset="0.0562" style="stop-color:#DE7210"/>
283 <stop offset="1" style="stop-color:#F6C08F"/>
284 </linearGradient>
285 <path fill="url(#XMLID_104_)" d="M18.482,34.745c0,0,4.217-6.751,9.235-8.548 C25.19,26.114,19.394,27.723,18.482,34.745z"/>
286 <linearGradient id="XMLID_105_" gradientUnits="userSpaceOnUse" x1="13.3721" y1="22.876" x2="26.2598" y2="24.641" gradientTransform="matrix(0.9959 0.0903 -0.0903 0.9959 2.3457 -2.346)">
287 <stop offset="0.0562" style="stop-color:#DE7210"/>
288 <stop offset="1" style="stop-color:#F6C08F"/>
289 </linearGradient>
290 <path fill="url(#XMLID_105_)" d="M25.712,23.214c0,0-3.18,1.389-8.787-0.942l4.999,2.513L25.712,23.214z"/>
291 <linearGradient id="XMLID_106_" gradientUnits="userSpaceOnUse" x1="6.9834" y1="23.1094" x2="25.1783" y2="25.6012">
292 <stop offset="0.0562" style="stop-color:#DE7210"/>
293 <stop offset="1" style="stop-color:#F6C08F"/>
294 </linearGradient>
295 <path fill="url(#XMLID_106_)" d="M24.175,24.105c0,0-4.238,1.642-12.394-0.802l6.977,2.776 C19.621,25.281,24.175,24.105,24.175,24.105z"/>
296 <linearGradient id="XMLID_107_" gradientUnits="userSpaceOnUse" x1="15.8809" y1="22.228" x2="27.7244" y2="23.85" gradientTransform="matrix(0.9959 0.0903 -0.0903 0.9959 2.3457 -2.346)">
297 <stop offset="0.0562" style="stop-color:#DE7210"/>
298 <stop offset="1" style="stop-color:#F6C08F"/>
299 </linearGradient>
300 <path fill="url(#XMLID_107_)" d="M27.268,22.759c0,0-2.813,0.856-8.009-1.154l4.999,2.513 C24.786,23.651,27.268,22.759,27.268,22.759z"/>
301 <linearGradient id="XMLID_108_" gradientUnits="userSpaceOnUse" x1="15.2012" y1="26.9399" x2="4.5215" y2="25.8437">
302 <stop offset="0.0562" style="stop-color:#DE7210"/>
303 <stop offset="1" style="stop-color:#F6C08F"/>
304 </linearGradient>
305 <path fill="url(#XMLID_108_)" d="M18.496,25.993c0,0-2.09,1.735-7.443,1.806l4.63,0.151L18.496,25.993z"/>
306 <linearGradient id="XMLID_109_" gradientUnits="userSpaceOnUse" x1="10.9453" y1="37.0996" x2="25.7187" y2="19.8352" gradientTransform="matrix(0.9946 0.1039 -0.1039 0.9946 3.786 -2.0567)">
307 <stop offset="0.0562" style="stop-color:#DE7210"/>
308 <stop offset="1" style="stop-color:#F6C08F"/>
309 </linearGradient>
310 <path fill="url(#XMLID_109_)" d="M13.411,34.871c0,0,7.153-9.318,13.044-11.428 C23.487,23.346,14.48,26.629,13.411,34.871z"/>
311 </g>
312 <g id="Fire">
313 <linearGradient id="XMLID_110_" gradientUnits="userSpaceOnUse" x1="88.3306" y1="117.3682" x2="117.2648" y2="72.7407">
314 <stop offset="0" style="stop-color:#DE5C01"/>
315 <stop offset="0.736" style="stop-color:#FEFD00"/>
316 <stop offset="0.7783" style="stop-color:#FEFE26"/>
317 <stop offset="0.8369" style="stop-color:#FFFE54"/>
318 <stop offset="0.889" style="stop-color:#FFFF76"/>
319 <stop offset="0.932" style="stop-color:#FFFF8B"/>
320 <stop offset="0.9607" style="stop-color:#FFFF92"/>
321 </linearGradient>
322 <path fill="url(#XMLID_110_)" d="M124.199,50.76c0,0,0.771,17.288-23.244,41.304 c-2.669,2.668-17.16,16.244-16.65,20.317C84.484,113.82,122.326,106.576,124.199,50.76z"/>
323 <linearGradient id="XMLID_111_" gradientUnits="userSpaceOnUse" x1="105.1567" y1="22.7378" x2="86.2112" y2="14.4171">
324 <stop offset="0" style="stop-color:#F79A09"/>
325 <stop offset="0.736" style="stop-color:#FEFD00"/>
326 <stop offset="0.7783" style="stop-color:#FEFE26"/>
327 <stop offset="0.8369" style="stop-color:#FFFE54"/>
328 <stop offset="0.889" style="stop-color:#FFFF76"/>
329 <stop offset="0.932" style="stop-color:#FFFF8B"/>
330 <stop offset="0.9607" style="stop-color:#FFFF92"/>
331 </linearGradient>
332 <path fill="url(#XMLID_111_)" d="M77.64,10.096c28.926,2.222,34.528,23.021,34.53,21.748 C112.243,11.624,84.726,10.089,77.64,10.096z"/>
333 <linearGradient id="XMLID_112_" gradientUnits="userSpaceOnUse" x1="117.8823" y1="41.729" x2="91.3593" y2="17.106">
334 <stop offset="0" style="stop-color:#DE5C01"/>
335 <stop offset="0.736" style="stop-color:#FEFD00"/>
336 <stop offset="0.7783" style="stop-color:#FEFE26"/>
337 <stop offset="0.8369" style="stop-color:#FFFE54"/>
338 <stop offset="0.889" style="stop-color:#FFFF76"/>
339 <stop offset="0.932" style="stop-color:#FFFF8B"/>
340 <stop offset="0.9607" style="stop-color:#FFFF92"/>
341 </linearGradient>
342 <path fill="url(#XMLID_112_)" d="M86.449,18.003c0,0,20.053,4.099,25.709,25.354 c0.75,2.815-2.416-17.267-1.439-15.361C111.694,29.912,102.648,18.638,86.449,18.003z"/>
343 <linearGradient id="XMLID_113_" gradientUnits="userSpaceOnUse" x1="1.1396" y1="145.4453" x2="-9.9659" y2="133.9595" gradientTransform="matrix(0.9996 -0.0282 0.0282 0.9996 104.7769 -104.6242)">
344 <stop offset="0" style="stop-color:#F79A09"/>
345 <stop offset="0.736" style="stop-color:#FEFD00"/>
346 <stop offset="0.7783" style="stop-color:#FEFE26"/>
347 <stop offset="0.8369" style="stop-color:#FFFE54"/>
348 <stop offset="0.889" style="stop-color:#FFFF76"/>
349 <stop offset="0.932" style="stop-color:#FFFF8B"/>
350 <stop offset="0.9607" style="stop-color:#FFFF92"/>
351 </linearGradient>
352 <path fill="url(#XMLID_113_)" d="M94.464,17.483c0,0,18.11,3.775,18.29,32.509 c0.127,20.338,3.141,7.635,6.131,3.064c2.578-3.948,0.816-8.76,0.754-8.748c-0.01,0.003-1.305-3.743-0.432-2.156 c0.039,0.07-1.216-1.034-1.207-1.035C118.201,41.087,117.303,20.465,94.464,17.483z"/>
353 <linearGradient id="XMLID_114_" gradientUnits="userSpaceOnUse" x1="113.4365" y1="55.834" x2="119.687" y2="34.3323">
354 <stop offset="0" style="stop-color:#F79A09"/>
355 <stop offset="0.736" style="stop-color:#FEFD00"/>
356 <stop offset="0.7783" style="stop-color:#FEFE26"/>
357 <stop offset="0.8369" style="stop-color:#FFFE54"/>
358 <stop offset="0.889" style="stop-color:#FFFF76"/>
359 <stop offset="0.932" style="stop-color:#FFFF8B"/>
360 <stop offset="0.9607" style="stop-color:#FFFF92"/>
361 </linearGradient>
362 <path fill="url(#XMLID_114_)" d="M114.857,21.376c0,0,6.505,16.945-0.389,25.371 c-2.25,2.75-2.502,16.839,0.247,15.545c2.756-1.296,2.157,7.481,1.796,8.48c-0.008,0.019-0.01,0.028-0.006,0.031 C116.685,70.914,130.097,49.143,114.857,21.376z"/>
363 <linearGradient id="XMLID_115_" gradientUnits="userSpaceOnUse" x1="-51.9663" y1="212.7881" x2="-52.1943" y2="196.4341" gradientTransform="matrix(0.9992 -0.0412 0.0412 0.9992 151.8961 -153.906)">
364 <stop offset="0" style="stop-color:#F79A09"/>
365 <stop offset="0.736" style="stop-color:#FEFD00"/>
366 <stop offset="0.7783" style="stop-color:#FEFE26"/>
367 <stop offset="0.8369" style="stop-color:#FFFE54"/>
368 <stop offset="0.889" style="stop-color:#FFFF76"/>
369 <stop offset="0.932" style="stop-color:#FFFF8B"/>
370 <stop offset="0.9607" style="stop-color:#FFFF92"/>
371 </linearGradient>
372 <path fill="url(#XMLID_115_)" d="M105.814,39.215c0,0,4.095,11.989-0.193,20.56l3.244,7.245 C111.244,61.176,114.273,48.817,105.814,39.215z"/>
373 <linearGradient id="XMLID_116_" gradientUnits="userSpaceOnUse" x1="-172.7212" y1="332.082" x2="-161.4561" y2="309.8933" gradientTransform="matrix(0.9975 -0.0707 0.0707 0.9975 254.6004 -268.4704)">
374 <stop offset="0" style="stop-color:#F79A09"/>
375 <stop offset="0.736" style="stop-color:#FEFD00"/>
376 <stop offset="0.7783" style="stop-color:#FEFE26"/>
377 <stop offset="0.8369" style="stop-color:#FFFE54"/>
378 <stop offset="0.889" style="stop-color:#FFFF76"/>
379 <stop offset="0.932" style="stop-color:#FFFF8B"/>
380 <stop offset="0.9607" style="stop-color:#FFFF92"/>
381 </linearGradient>
382 <path fill="url(#XMLID_116_)" d="M113.016,37.789c0,0,2.832,19.03-7.387,36.208 c0.158,3.973-0.539,7.569-1.496,10.532c0.445,0.586,1.041,0.987,1.827,1.057c-0.347,0.32-0.692,0.62-1.026,0.904 c-0.614,0.271-1.243,0.558-1.852,0.853c-0.13,0.303-0.261,0.597-0.389,0.879c0.68-0.477,1.438-1.056,2.24-1.731 c2.087-0.922,3.965-1.638,3.961-1.642c0,0-0.383,0.143-1.303,0.478c-0.619,0.225-1.16,0.301-1.632,0.259 C113.851,78.394,124.665,62.311,113.016,37.789z M101.109,88.379c-0.902,0.529-1.558,1.025-1.698,1.408 c-0.103,0.279,0.512,0.118,1.575-0.479C101.041,88.989,101.086,88.676,101.109,88.379z"/>
383 <linearGradient id="XMLID_117_" gradientUnits="userSpaceOnUse" x1="99.2056" y1="87.7466" x2="100.7206" y2="63.1691" gradientTransform="matrix(0.9975 -0.0707 0.0707 0.9975 -10.9669 13.6507)">
384 <stop offset="0" style="stop-color:#DE5C01"/>
385 <stop offset="0.736" style="stop-color:#FEFD00"/>
386 <stop offset="0.7783" style="stop-color:#FEFE26"/>
387 <stop offset="0.8369" style="stop-color:#FFFE54"/>
388 <stop offset="0.889" style="stop-color:#FFFF76"/>
389 <stop offset="0.932" style="stop-color:#FFFF8B"/>
390 <stop offset="0.9607" style="stop-color:#FFFF92"/>
391 </linearGradient>
392 <path fill="url(#XMLID_117_)" d="M100.412,58.065c0,0,8.057,22.932-17.693,44.432 c-1.519,1.269,10.452,0.726,11.5,0.25c3.086-1.402,6.733-10.757,6.303-9.637C100.095,94.229,112.479,76.574,100.412,58.065z" />
393 <linearGradient id="XMLID_118_" gradientUnits="userSpaceOnUse" x1="58.3691" y1="113.8594" x2="105.8753" y2="85.4649">
394 <stop offset="0" style="stop-color:#B9120D"/>
395 <stop offset="0.078" style="stop-color:#BB180D"/>
396 <stop offset="0.1822" style="stop-color:#C0290C"/>
397 <stop offset="0.3013" style="stop-color:#C8450A"/>
398 <stop offset="0.4314" style="stop-color:#D36C08"/>
399 <stop offset="0.5706" style="stop-color:#E29E05"/>
400 <stop offset="0.7151" style="stop-color:#F4DA02"/>
401 <stop offset="0.7921" style="stop-color:#FEFD00"/>
402 <stop offset="0.8136" style="stop-color:#FEFD07"/>
403 <stop offset="0.8455" style="stop-color:#FEFD1B"/>
404 <stop offset="0.8837" style="stop-color:#FEFE3C"/>
405 <stop offset="0.9268" style="stop-color:#FFFE69"/>
406 <stop offset="0.9736" style="stop-color:#FFFFA3"/>
407 <stop offset="1" style="stop-color:#FFFFC7"/>
408 </linearGradient>
409 <path fill="url(#XMLID_118_)" d="M111.68,72.61c0,0-4.86,29.744-38.461,32.137 c-13.157,0.938-32.048-2.141-30.375,2.877c0.519,1.556,2.992,8.043,8.636,9.548C66.755,121.247,107.395,119.913,111.68,72.61z "/>
410 </g>
411 <g id="Layer_6" >
412 <linearGradient id="XMLID_119_" gradientUnits="userSpaceOnUse" x1="54.2402" y1="93.5825" x2="102.9066" y2="100.176" gradientTransform="matrix(0.9951 0.0989 -0.0989 0.9951 10.3843 -6.0754)">
413 <stop offset="0.0562" style="stop-color:#DE7210"/>
414 <stop offset="1" style="stop-color:#F6C08F"/>
415 </linearGradient>
416 <path fill="url(#XMLID_119_)" d="M83.657,95.119c0,0-20.559,4.697-33.878-6.641 c-12.187-10.377-6.141-1.643-4.488,2.665c1.698,4.418-7.853,1.042-9.289,0.332C34.571,90.774,58.625,105.859,83.657,95.119z" />
417 <linearGradient id="XMLID_120_" gradientUnits="userSpaceOnUse" x1="39.0127" y1="89.8896" x2="95.5219" y2="107.6497" gradientTransform="matrix(0.9895 0.1448 -0.1448 0.9895 14.2829 -5.8352)">
418 <stop offset="0.0562" style="stop-color:#DE7210"/>
419 <stop offset="1" style="stop-color:#F6C08F"/>
420 </linearGradient>
421 <path fill="url(#XMLID_120_)" d="M70.408,106.325c0,0-24.525-4.82-32.29-21.438 c-6.635-14.197-4.879-3.779-5.178,0.962c-0.314,4.877-7.191-1.783-8.11-2.942c-0.026-0.028-0.044-0.047-0.046-0.042 C24.647,82.955,37.433,102.999,70.408,106.325z"/>
422 <linearGradient id="XMLID_121_" gradientUnits="userSpaceOnUse" x1="-601.4673" y1="628.9609" x2="-574.5974" y2="680.4042" gradientTransform="matrix(0.9837 -0.1799 0.1799 0.9837 500.9515 -643.7268)">
423 <stop offset="0.0562" style="stop-color:#DE7210"/>
424 <stop offset="1" style="stop-color:#F6C08F"/>
425 </linearGradient>
426 <path fill="url(#XMLID_121_)" d="M43.617,104.176c0,0-11.714-9.073-16.995-21.514 c-4.438-1.542-10.339-5.067-10.456-5.67C18.041,86.659,27.912,97.946,43.617,104.176z"/>
427 </g>
428 </g>
429</svg>
diff --git a/web/assets/appicons/Logo_Google_Chrome.svg b/web/assets/appicons/Logo_Google_Chrome.svg
new file mode 100644
index 00000000..506184a0
--- /dev/null
+++ b/web/assets/appicons/Logo_Google_Chrome.svg
@@ -0,0 +1,2859 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:xlink="http://www.w3.org/1999/xlink"
11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13 width="632.5"
14 height="604.99976"
15 id="svg2"
16 version="1.1"
17 inkscape:version="0.47pre4 r22446"
18 sodipodi:docname="Logo Google Chrome.svg">
19 <defs
20 id="defs4">
21 <clipPath
22 id="clipPath4339"
23 clipPathUnits="userSpaceOnUse">
24 <path
25 id="path4341"
26 d="m 211.71,369.561 67.416,0 0,-12.07 -67.416,0 0,12.07 z" />
27 </clipPath>
28 <clipPath
29 id="clipPath4323"
30 clipPathUnits="userSpaceOnUse">
31 <path
32 id="path4325"
33 d="m 183.878,378.374 122.998,0 0,-36.216 -122.998,0 0,36.216 z" />
34 </clipPath>
35 <mask
36 id="mask4293"
37 height="1"
38 width="1"
39 y="0"
40 x="0"
41 maskUnits="userSpaceOnUse">
42 <g
43 id="g4295">
44 <g
45 id="g4297"
46 clip-path="url(#clipPath4275)">
47 <path
48 id="path4299"
49 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
50 d="m 183.878,405.657 122.998,0 0,-63.5 -122.998,0 0,63.5 z" />
51 <g
52 id="g4301">
53 <g
54 id="g4303" />
55 <g
56 id="g4305">
57 <g
58 id="g4307"
59 clip-path="url(#clipPath4279)">
60 <g
61 id="g4309">
62 <g
63 id="g4311">
64 <g
65 id="g4313">
66 <g
67 id="g4315">
68 <path
69 id="path4317"
70 style="fill:url(#radialGradient4287);stroke:none"
71 d="m 306.876,364.491 c 0,0 -6.917,1 -15.5,-3.166 0,0 -8.167,-1.917 -12.25,0.583 0,0 -30.75,17.916 -67.416,-4.417 0,0 -18.916,-7.666 -27.832,-15.333 0,0 46.664,63.499 122.998,22.333" />
72 </g>
73 </g>
74 </g>
75 </g>
76 </g>
77 </g>
78 </g>
79 </g>
80 </g>
81 </mask>
82 <radialGradient
83 id="radialGradient4287"
84 spreadMethod="pad"
85 gradientTransform="matrix(44.332031,0,0,-44.332031,246.87695,373.76562)"
86 gradientUnits="userSpaceOnUse"
87 r="1"
88 cy="0"
89 cx="0"
90 fy="0"
91 fx="0">
92 <stop
93 id="stop4289"
94 offset="0"
95 style="stop-opacity:1;stop-color:#414042" />
96 <stop
97 id="stop4291"
98 offset="1"
99 style="stop-opacity:1;stop-color:#9d9fa2" />
100 </radialGradient>
101 <clipPath
102 id="clipPath4279"
103 clipPathUnits="userSpaceOnUse">
104 <path
105 id="path4281"
106 d="m 183.878,405.657 122.998,0 0,-63.499 -122.998,0 0,63.499 z" />
107 </clipPath>
108 <clipPath
109 id="clipPath4275"
110 clipPathUnits="userSpaceOnUse">
111 <path
112 id="path4277"
113 d="m 183.878,378.374 122.998,0 0,-36.216 -122.998,0 0,36.216 z" />
114 </clipPath>
115 <clipPath
116 id="clipPath4259"
117 clipPathUnits="userSpaceOnUse">
118 <path
119 id="path4261"
120 d="m 299.771,343.158 25.346,0 0,-86 -25.346,0 0,86 z" />
121 </clipPath>
122 <clipPath
123 id="clipPath4243"
124 clipPathUnits="userSpaceOnUse">
125 <path
126 id="path4245"
127 d="m 298.146,343.158 32.091,0 0,-88.875 -32.091,0 0,88.875 z" />
128 </clipPath>
129 <linearGradient
130 id="linearGradient4219"
131 spreadMethod="pad"
132 gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)"
133 gradientUnits="userSpaceOnUse"
134 y2="0"
135 x2="1"
136 y1="0"
137 x1="0">
138 <stop
139 id="stop4221"
140 offset="0"
141 style="stop-opacity:1;stop-color:#231f20" />
142 <stop
143 id="stop4223"
144 offset="1"
145 style="stop-opacity:1;stop-color:#ffffff" />
146 </linearGradient>
147 <clipPath
148 id="clipPath4211"
149 clipPathUnits="userSpaceOnUse">
150 <path
151 id="path4213"
152 d="m 284.348,343.158 54.967,0 0,-117.722 -54.967,0 0,117.722 z" />
153 </clipPath>
154 <mask
155 id="mask4181"
156 height="1"
157 width="1"
158 y="0"
159 x="0"
160 maskUnits="userSpaceOnUse">
161 <g
162 id="g4183">
163 <g
164 id="g4185"
165 clip-path="url(#clipPath4163)">
166 <path
167 id="path4187"
168 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
169 d="m 284.348,343.158 103.695,0 0,-117.723 -103.695,0 0,117.723 z" />
170 <g
171 id="g4189">
172 <g
173 id="g4191" />
174 <g
175 id="g4193">
176 <g
177 id="g4195"
178 clip-path="url(#clipPath4167)">
179 <g
180 id="g4197">
181 <g
182 id="g4199">
183 <g
184 id="g4201">
185 <g
186 id="g4203">
187 <path
188 id="path4205"
189 style="fill:url(#linearGradient4175);stroke:none"
190 d="m 310.584,343.158 c 0,0 35.125,-45 -10.813,-86 0,0 -13.062,-7.75 -15.423,-31.722 0,0 103.695,48.722 26.236,117.722" />
191 </g>
192 </g>
193 </g>
194 </g>
195 </g>
196 </g>
197 </g>
198 </g>
199 </g>
200 </mask>
201 <linearGradient
202 id="linearGradient4175"
203 spreadMethod="pad"
204 gradientTransform="matrix(-7.663559,86.087174,86.087174,7.663559,311.97852,258.04639)"
205 gradientUnits="userSpaceOnUse"
206 y2="0"
207 x2="1"
208 y1="0"
209 x1="0">
210 <stop
211 id="stop4177"
212 offset="0"
213 style="stop-opacity:1;stop-color:#808285" />
214 <stop
215 id="stop4179"
216 offset="1"
217 style="stop-opacity:1;stop-color:#a7a9ac" />
218 </linearGradient>
219 <clipPath
220 id="clipPath4167"
221 clipPathUnits="userSpaceOnUse">
222 <path
223 id="path4169"
224 d="m 284.348,343.158 103.695,0 0,-117.722 -103.695,0 0,117.722 z" />
225 </clipPath>
226 <clipPath
227 id="clipPath4163"
228 clipPathUnits="userSpaceOnUse">
229 <path
230 id="path4165"
231 d="m 284.348,343.158 54.967,0 0,-117.722 -54.967,0 0,117.722 z" />
232 </clipPath>
233 <clipPath
234 id="clipPath4147"
235 clipPathUnits="userSpaceOnUse">
236 <path
237 id="path4149"
238 d="m 175.361,320.471 12.723,0 0,-49.063 -12.723,0 0,49.063 z" />
239 </clipPath>
240 <clipPath
241 id="clipPath4131"
242 clipPathUnits="userSpaceOnUse">
243 <path
244 id="path4133"
245 d="m 182.737,275.494 89.972,0 0,-43.239 -89.972,0 0,43.239 z" />
246 </clipPath>
247 <linearGradient
248 id="linearGradient4107"
249 spreadMethod="pad"
250 gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)"
251 gradientUnits="userSpaceOnUse"
252 y2="0"
253 x2="1"
254 y1="0"
255 x1="0">
256 <stop
257 id="stop4109"
258 offset="0"
259 style="stop-opacity:1;stop-color:#ffffff" />
260 <stop
261 id="stop4111"
262 offset="1"
263 style="stop-opacity:1;stop-color:#231f20" />
264 </linearGradient>
265 <clipPath
266 id="clipPath4099"
267 clipPathUnits="userSpaceOnUse">
268 <path
269 id="path4101"
270 d="m 174.219,320.471 98.49,0 0,-98.87 -98.49,0 0,98.87 z" />
271 </clipPath>
272 <mask
273 id="mask4069"
274 height="1"
275 width="1"
276 y="0"
277 x="0"
278 maskUnits="userSpaceOnUse">
279 <g
280 id="g4071">
281 <g
282 id="g4073"
283 clip-path="url(#clipPath4051)">
284 <path
285 id="path4075"
286 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
287 d="m 164.334,320.471 108.375,0 0,-103.563 -108.375,0 0,103.563 z" />
288 <g
289 id="g4077">
290 <g
291 id="g4079" />
292 <g
293 id="g4081">
294 <g
295 id="g4083"
296 clip-path="url(#clipPath4055)">
297 <g
298 id="g4085">
299 <g
300 id="g4087">
301 <g
302 id="g4089">
303 <g
304 id="g4091">
305 <path
306 id="path4093"
307 style="fill:url(#radialGradient4063);stroke:none"
308 d="m 176.834,320.471 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 16.5,-53.125 84.625,-27.812 0,0 -11,-11.313 -12.75,-21.063 0,0 -34.75,-5.625 -59.25,10.75 0,0 -36.375,24.625 -23.875,87.188" />
309 </g>
310 </g>
311 </g>
312 </g>
313 </g>
314 </g>
315 </g>
316 </g>
317 </g>
318 </mask>
319 <radialGradient
320 id="radialGradient4063"
321 spreadMethod="pad"
322 gradientTransform="matrix(52.870712,0,0,-52.870712,213.46387,243.66016)"
323 gradientUnits="userSpaceOnUse"
324 r="1"
325 cy="0"
326 cx="0"
327 fy="0"
328 fx="0">
329 <stop
330 id="stop4065"
331 offset="0"
332 style="stop-opacity:1;stop-color:#545456" />
333 <stop
334 id="stop4067"
335 offset="1"
336 style="stop-opacity:1;stop-color:#888a8c" />
337 </radialGradient>
338 <clipPath
339 id="clipPath4055"
340 clipPathUnits="userSpaceOnUse">
341 <path
342 id="path4057"
343 d="m 164.334,320.471 108.375,0 0,-103.563 -108.375,0 0,103.563 z" />
344 </clipPath>
345 <clipPath
346 id="clipPath4051"
347 clipPathUnits="userSpaceOnUse">
348 <path
349 id="path4053"
350 d="m 174.219,320.471 98.49,0 0,-98.87 -98.49,0 0,98.87 z" />
351 </clipPath>
352 <radialGradient
353 id="radialGradient4023"
354 spreadMethod="pad"
355 gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)"
356 gradientUnits="userSpaceOnUse"
357 r="1"
358 cy="0"
359 cx="0"
360 fy="0.00041198701"
361 fx="0.123642">
362 <stop
363 id="stop4025"
364 offset="0"
365 style="stop-opacity:1;stop-color:#ffffff" />
366 <stop
367 id="stop4027"
368 offset="0.9832"
369 style="stop-opacity:1;stop-color:#000000" />
370 <stop
371 id="stop4029"
372 offset="0.9832"
373 style="stop-opacity:1;stop-color:#000000" />
374 <stop
375 id="stop4031"
376 offset="1"
377 style="stop-opacity:1;stop-color:#000000" />
378 </radialGradient>
379 <clipPath
380 id="clipPath4015"
381 clipPathUnits="userSpaceOnUse">
382 <path
383 id="path4017"
384 d="m 163.456,379.817 183.02,0 0,-169.151 -183.02,0 0,169.151 z" />
385 </clipPath>
386 <mask
387 id="mask3985"
388 height="1"
389 width="1"
390 y="0"
391 x="0"
392 maskUnits="userSpaceOnUse">
393 <g
394 id="g3987">
395 <g
396 id="g3989"
397 clip-path="url(#clipPath3963)">
398 <path
399 id="path3991"
400 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
401 d="m 161.77,381.625 187.25,0 0,-173.125 -187.25,0 0,173.125 z" />
402 <g
403 id="g3993">
404 <g
405 id="g3995" />
406 <g
407 id="g3997">
408 <g
409 id="g3999"
410 clip-path="url(#clipPath3967)">
411 <g
412 id="g4001">
413 <g
414 id="g4003">
415 <g
416 id="g4005">
417 <g
418 id="g4007">
419 <path
420 id="path4009"
421 style="fill:url(#radialGradient3975);stroke:none"
422 d="m 185.145,240.751 c 0,0 24.25,-30.086 70.166,-30.041 0,0 34.084,-2.209 64.177,24.603 0,0 26.91,21.188 26.91,59.98 0,0 2.622,28.832 -22.753,55.957 0,0 -25,28.567 -69.079,28.545 0,0 -36.046,1.83 -67.046,-27.42 0,0 -24.064,-21.75 -24.036,-57.791 0,0 -1.714,-28.958 21.661,-53.833" />
423 </g>
424 </g>
425 </g>
426 </g>
427 </g>
428 </g>
429 </g>
430 </g>
431 </g>
432 </mask>
433 <radialGradient
434 id="radialGradient3975"
435 spreadMethod="pad"
436 gradientTransform="matrix(-0.4723206,-110.46269,-96.737152,0.4136353,258.46582,335.2417)"
437 gradientUnits="userSpaceOnUse"
438 r="1"
439 cy="0"
440 cx="0"
441 fy="0.00137329"
442 fx="0.109406">
443 <stop
444 id="stop3977"
445 offset="0"
446 style="stop-opacity:1;stop-color:#000000" />
447 <stop
448 id="stop3979"
449 offset="0.9832"
450 style="stop-opacity:1;stop-color:#ffffff" />
451 <stop
452 id="stop3981"
453 offset="0.9832"
454 style="stop-opacity:1;stop-color:#ffffff" />
455 <stop
456 id="stop3983"
457 offset="1"
458 style="stop-opacity:1;stop-color:#ffffff" />
459 </radialGradient>
460 <clipPath
461 id="clipPath3967"
462 clipPathUnits="userSpaceOnUse">
463 <path
464 id="path3969"
465 d="m 161.77,381.625 187.25,0 0,-173.124 -187.25,0 0,173.124 z" />
466 </clipPath>
467 <clipPath
468 id="clipPath3963"
469 clipPathUnits="userSpaceOnUse">
470 <path
471 id="path3965"
472 d="m 163.456,379.817 183.02,0 0,-169.151 -183.02,0 0,169.151 z" />
473 </clipPath>
474 <clipPath
475 id="clipPath3947"
476 clipPathUnits="userSpaceOnUse">
477 <path
478 id="path3949"
479 d="m 179.709,379.678 162.75,0 0,-66.77 -162.75,0 0,66.77 z" />
480 </clipPath>
481 <mask
482 id="mask3917"
483 height="1"
484 width="1"
485 y="0"
486 x="0"
487 maskUnits="userSpaceOnUse">
488 <g
489 id="g3919">
490 <g
491 id="g3921"
492 clip-path="url(#clipPath3897)">
493 <path
494 id="path3923"
495 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
496 d="m 179.709,385.408 162.75,0 0,-72.5 -162.75,0 0,72.5 z" />
497 <g
498 id="g3925">
499 <g
500 id="g3927" />
501 <g
502 id="g3929">
503 <g
504 id="g3931"
505 clip-path="url(#clipPath3901)">
506 <g
507 id="g3933">
508 <g
509 id="g3935">
510 <g
511 id="g3937">
512 <g
513 id="g3939">
514 <path
515 id="path3941"
516 style="fill:url(#linearGradient3909);stroke:none"
517 d="m 342.459,312.908 c 0,0 -12.5,61 -81.375,66.5 0,0 -49.375,6 -81.375,-38.626 0,0 27.833,33.543 76.834,34.958 0,0 65.333,2.918 85.916,-62.832" />
518 </g>
519 </g>
520 </g>
521 </g>
522 </g>
523 </g>
524 </g>
525 </g>
526 </g>
527 </mask>
528 <linearGradient
529 id="linearGradient3909"
530 spreadMethod="pad"
531 gradientTransform="matrix(162.75,0,0,-162.75,179.70898,346.29297)"
532 gradientUnits="userSpaceOnUse"
533 y2="0"
534 x2="1"
535 y1="0"
536 x1="0">
537 <stop
538 id="stop3911"
539 offset="0"
540 style="stop-opacity:1;stop-color:#696a6d" />
541 <stop
542 id="stop3913"
543 offset="0.478531"
544 style="stop-opacity:1;stop-color:#a3a5a8" />
545 <stop
546 id="stop3915"
547 offset="1"
548 style="stop-opacity:1;stop-color:#4d4d4f" />
549 </linearGradient>
550 <clipPath
551 id="clipPath3901"
552 clipPathUnits="userSpaceOnUse">
553 <path
554 id="path3903"
555 d="m 179.709,385.408 162.75,0 0,-72.5 -162.75,0 0,72.5 z" />
556 </clipPath>
557 <clipPath
558 id="clipPath3897"
559 clipPathUnits="userSpaceOnUse">
560 <path
561 id="path3899"
562 d="m 179.709,379.678 162.75,0 0,-66.77 -162.75,0 0,66.77 z" />
563 </clipPath>
564 <clipPath
565 id="clipPath3881"
566 clipPathUnits="userSpaceOnUse">
567 <path
568 id="path3883"
569 d="m 214.236,363.64 45.16,0 0,-22.858 -45.16,0 0,22.858 z" />
570 </clipPath>
571 <mask
572 id="mask3851"
573 height="1"
574 width="1"
575 y="0"
576 x="0"
577 maskUnits="userSpaceOnUse">
578 <g
579 id="g3853">
580 <g
581 id="g3855"
582 clip-path="url(#clipPath3833)">
583 <path
584 id="path3857"
585 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
586 d="m 212.584,365.283 46.813,0 0,-25.563 -46.813,0 0,25.563 z" />
587 <g
588 id="g3859">
589 <g
590 id="g3861" />
591 <g
592 id="g3863">
593 <g
594 id="g3865"
595 clip-path="url(#clipPath3837)">
596 <g
597 id="g3867">
598 <g
599 id="g3869">
600 <g
601 id="g3871">
602 <g
603 id="g3873">
604 <path
605 id="path3875"
606 style="fill:url(#linearGradient3845);stroke:none"
607 d="m 259.396,363.346 c 0,0 -18.312,1.937 -29.687,-4.125 0,0 -9.313,-5.188 -15.063,-14.125 0,0 -2.062,-5.375 3.063,-4.125 0,0 8,7.312 17.125,12.875 0,0 10.062,6.187 24.562,9.5" />
608 </g>
609 </g>
610 </g>
611 </g>
612 </g>
613 </g>
614 </g>
615 </g>
616 </g>
617 </mask>
618 <linearGradient
619 id="linearGradient3845"
620 spreadMethod="pad"
621 gradientTransform="matrix(41.032745,18.861435,18.861435,-41.032745,216.08203,346.61426)"
622 gradientUnits="userSpaceOnUse"
623 y2="0"
624 x2="1"
625 y1="0"
626 x1="0">
627 <stop
628 id="stop3847"
629 offset="0"
630 style="stop-opacity:1;stop-color:#7d7e81" />
631 <stop
632 id="stop3849"
633 offset="1"
634 style="stop-opacity:1;stop-color:#231f20" />
635 </linearGradient>
636 <clipPath
637 id="clipPath3837"
638 clipPathUnits="userSpaceOnUse">
639 <path
640 id="path3839"
641 d="m 212.584,365.283 46.812,0 0,-25.562 -46.812,0 0,25.562 z" />
642 </clipPath>
643 <clipPath
644 id="clipPath3833"
645 clipPathUnits="userSpaceOnUse">
646 <path
647 id="path3835"
648 d="m 214.236,363.64 45.16,0 0,-22.858 -45.16,0 0,22.858 z" />
649 </clipPath>
650 <clipPath
651 id="clipPath3817"
652 clipPathUnits="userSpaceOnUse">
653 <path
654 id="path3819"
655 d="m 189.21,356.075 33,0 0,-76.898 -33,0 0,76.898 z" />
656 </clipPath>
657 <mask
658 id="mask3787"
659 height="1"
660 width="1"
661 y="0"
662 x="0"
663 maskUnits="userSpaceOnUse">
664 <g
665 id="g3789">
666 <g
667 id="g3791"
668 clip-path="url(#clipPath3769)">
669 <path
670 id="path3793"
671 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
672 d="m 189.129,356.075 33.081,0 0,-77.999 -33.081,0 0,77.999 z" />
673 <g
674 id="g3795">
675 <g
676 id="g3797" />
677 <g
678 id="g3799">
679 <g
680 id="g3801"
681 clip-path="url(#clipPath3773)">
682 <g
683 id="g3803">
684 <g
685 id="g3805">
686 <g
687 id="g3807">
688 <g
689 id="g3809">
690 <path
691 id="path3811"
692 style="fill:url(#linearGradient3781);stroke:none"
693 d="m 222.21,356.075 c 0,0 -29.5,-4.584 -33,-54.333 0,0 -0.081,-18.999 6.833,-22.499 0,0 3.834,-1.167 3.417,6.333 0,0 -1.083,10.501 0.917,28.418 0,0 2.083,26.666 21.833,42.081" />
694 </g>
695 </g>
696 </g>
697 </g>
698 </g>
699 </g>
700 </g>
701 </g>
702 </g>
703 </mask>
704 <linearGradient
705 id="linearGradient3781"
706 spreadMethod="pad"
707 gradientTransform="matrix(13.957611,29.902389,29.902389,-13.957611,199.79492,311.26221)"
708 gradientUnits="userSpaceOnUse"
709 y2="0"
710 x2="1"
711 y1="0"
712 x1="0">
713 <stop
714 id="stop3783"
715 offset="0"
716 style="stop-opacity:1;stop-color:#353435" />
717 <stop
718 id="stop3785"
719 offset="1"
720 style="stop-opacity:1;stop-color:#7d7e81" />
721 </linearGradient>
722 <clipPath
723 id="clipPath3773"
724 clipPathUnits="userSpaceOnUse">
725 <path
726 id="path3775"
727 d="m 189.129,356.075 33.081,0 0,-77.999 -33.081,0 0,77.999 z" />
728 </clipPath>
729 <clipPath
730 id="clipPath3769"
731 clipPathUnits="userSpaceOnUse">
732 <path
733 id="path3771"
734 d="m 189.21,356.075 33,0 0,-76.898 -33,0 0,76.898 z" />
735 </clipPath>
736 <clipPath
737 id="clipPath3761"
738 clipPathUnits="userSpaceOnUse">
739 <path
740 id="path3763"
741 d="M 0,512 512,512 512,0 0,0 0,512 z" />
742 </clipPath>
743 <radialGradient
744 id="radialGradient3749"
745 spreadMethod="pad"
746 gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)"
747 gradientUnits="userSpaceOnUse"
748 r="1"
749 cy="0"
750 cx="0"
751 fy="-0.00463867"
752 fx="0.216034">
753 <stop
754 id="stop3751"
755 offset="0"
756 style="stop-opacity:1;stop-color:#b0ddf3" />
757 <stop
758 id="stop3753"
759 offset="1"
760 style="stop-opacity:1;stop-color:#005edb" />
761 </radialGradient>
762 <clipPath
763 id="clipPath3725"
764 clipPathUnits="userSpaceOnUse">
765 <path
766 id="path3727"
767 d="m 33.937,174.185 232.557,0 0,-140.5141 -232.557,0 0,140.5141 z" />
768 </clipPath>
769 <mask
770 id="mask3695"
771 height="1"
772 width="1"
773 y="0"
774 x="0"
775 maskUnits="userSpaceOnUse">
776 <g
777 id="g3697">
778 <g
779 id="g3699"
780 clip-path="url(#clipPath3677)">
781 <path
782 id="path3701"
783 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
784 d="m 33.937,174.185 232.557,0 0,-143.193 -232.557,0 0,143.193 z" />
785 <g
786 id="g3703">
787 <g
788 id="g3705" />
789 <g
790 id="g3707">
791 <g
792 id="g3709"
793 clip-path="url(#clipPath3681)">
794 <g
795 id="g3711">
796 <g
797 id="g3713">
798 <g
799 id="g3715">
800 <g
801 id="g3717">
802 <path
803 id="path3719"
804 style="fill:url(#linearGradient3689);stroke:none"
805 d="m 33.937,174.185 c 0,0 19.959,-51.527 65.609,-87.589 0,0 44.475,-40 120.363,-51.773 0,0 26.921,-3.331 34.835,1.335 0,0 8.584,0.583 11.75,3.333 0,0 -2.065,0.331 -4.813,0.87 0,0 -27.303,-9.37 -67.785,16.11 0,0 -14.685,8.353 -29.537,23.164 0,0 -67.213,10.461 -130.422,94.55" />
806 </g>
807 </g>
808 </g>
809 </g>
810 </g>
811 </g>
812 </g>
813 </g>
814 </g>
815 </mask>
816 <linearGradient
817 id="linearGradient3689"
818 spreadMethod="pad"
819 gradientTransform="matrix(232.55713,0,0,-232.55713,33.937012,103.92773)"
820 gradientUnits="userSpaceOnUse"
821 y2="0"
822 x2="1"
823 y1="0"
824 x1="0">
825 <stop
826 id="stop3691"
827 offset="0"
828 style="stop-opacity:1;stop-color:#333132" />
829 <stop
830 id="stop3693"
831 offset="1"
832 style="stop-opacity:1;stop-color:#58595b" />
833 </linearGradient>
834 <clipPath
835 id="clipPath3681"
836 clipPathUnits="userSpaceOnUse">
837 <path
838 id="path3683"
839 d="m 33.937,174.185 232.557,0 0,-143.1938 -232.557,0 0,143.1938 z" />
840 </clipPath>
841 <clipPath
842 id="clipPath3677"
843 clipPathUnits="userSpaceOnUse">
844 <path
845 id="path3679"
846 d="m 33.937,174.185 232.557,0 0,-140.5141 -232.557,0 0,140.5141 z" />
847 </clipPath>
848 <clipPath
849 id="clipPath3661"
850 clipPathUnits="userSpaceOnUse">
851 <path
852 id="path3663"
853 d="m 15.7295,436.901 90.2455,0 0,-265.368 -90.2455,0 0,265.368 z" />
854 </clipPath>
855 <mask
856 id="mask3631"
857 height="1"
858 width="1"
859 y="0"
860 x="0"
861 maskUnits="userSpaceOnUse">
862 <g
863 id="g3633">
864 <g
865 id="g3635"
866 clip-path="url(#clipPath3613)">
867 <path
868 id="path3637"
869 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
870 d="m 11.875,436.902 94.1,0 0,-265.369 -94.1,0 0,265.369 z" />
871 <g
872 id="g3639">
873 <g
874 id="g3641" />
875 <g
876 id="g3643">
877 <g
878 id="g3645"
879 clip-path="url(#clipPath3617)">
880 <g
881 id="g3647">
882 <g
883 id="g3649">
884 <g
885 id="g3651">
886 <g
887 id="g3653">
888 <path
889 id="path3655"
890 style="fill:url(#linearGradient3625);stroke:none"
891 d="m 20.875,246.283 c 0,0 -5.146,31.5 6.75,69.5 0,0 16.5,62.75 60.5,102.75 0,0 8.474,6.775 17.85,18.368 0.001,10e-4 -53.184,-30.281 -82.85,-120.118 0,0 -11.25,-26.25 -6,-70.75 0,0 2.5,-39.75 20.625,-74.5 0,0 -10.973,26.628 -16.875,74.75" />
892 </g>
893 </g>
894 </g>
895 </g>
896 </g>
897 </g>
898 </g>
899 </g>
900 </g>
901 </mask>
902 <linearGradient
903 id="linearGradient3625"
904 spreadMethod="pad"
905 gradientTransform="matrix(90.245606,0,0,-90.245606,15.729492,304.21729)"
906 gradientUnits="userSpaceOnUse"
907 y2="0"
908 x2="1"
909 y1="0"
910 x1="0">
911 <stop
912 id="stop3627"
913 offset="0"
914 style="stop-opacity:1;stop-color:#414042" />
915 <stop
916 id="stop3629"
917 offset="1"
918 style="stop-opacity:1;stop-color:#58595b" />
919 </linearGradient>
920 <clipPath
921 id="clipPath3617"
922 clipPathUnits="userSpaceOnUse">
923 <path
924 id="path3619"
925 d="m 11.8755,436.902 94.1005,0 0,-265.369 -94.1005,0 0,265.369 z" />
926 </clipPath>
927 <clipPath
928 id="clipPath3613"
929 clipPathUnits="userSpaceOnUse">
930 <path
931 id="path3615"
932 d="m 15.7295,436.901 90.2455,0 0,-265.368 -90.2455,0 0,265.368 z" />
933 </clipPath>
934 <clipPath
935 id="clipPath3597"
936 clipPathUnits="userSpaceOnUse">
937 <path
938 id="path3599"
939 d="m 30.2681,421.533 102.5029,0 0,-332.1658 -102.5029,0 0,332.1658 z" />
940 </clipPath>
941 <mask
942 id="mask3567"
943 height="1"
944 width="1"
945 y="0"
946 x="0"
947 maskUnits="userSpaceOnUse">
948 <g
949 id="g3569">
950 <g
951 id="g3571"
952 clip-path="url(#clipPath3549)">
953 <path
954 id="path3573"
955 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
956 d="m 27.084,421.533 107.625,0 0,-334.298 -107.625,0 0,334.298 z" />
957 <g
958 id="g3575">
959 <g
960 id="g3577" />
961 <g
962 id="g3579">
963 <g
964 id="g3581"
965 clip-path="url(#clipPath3553)">
966 <g
967 id="g3583">
968 <g
969 id="g3585">
970 <g
971 id="g3587">
972 <g
973 id="g3589">
974 <path
975 id="path3591"
976 style="fill:url(#linearGradient3561);stroke:none"
977 d="m 100.334,421.533 c 0,0 -50.625,-40.375 -66.125,-117.75 0,0 -7.125,-36.5 -2.215,-66.875 0,0 10.965,-90.25 89.715,-145.75 0,0 5.833,-3.923 9.613,-0.155 0,0 3.387,4.03 -0.197,7.905 0,0 -5.291,6.375 -26.083,21.077 0,0 -58.583,46.798 -67.084,132.346 0,0 -2.374,26.077 1.001,47.452 0,0 6.5,68.125 61.375,121.75" />
978 </g>
979 </g>
980 </g>
981 </g>
982 </g>
983 </g>
984 </g>
985 </g>
986 </g>
987 </mask>
988 <linearGradient
989 id="linearGradient3561"
990 spreadMethod="pad"
991 gradientTransform="matrix(102.50244,0,0,-102.50244,30.268066,255.45117)"
992 gradientUnits="userSpaceOnUse"
993 y2="0"
994 x2="1"
995 y1="0"
996 x1="0">
997 <stop
998 id="stop3563"
999 offset="0"
1000 style="stop-opacity:1;stop-color:#58595b" />
1001 <stop
1002 id="stop3565"
1003 offset="1"
1004 style="stop-opacity:1;stop-color:#333132" />
1005 </linearGradient>
1006 <clipPath
1007 id="clipPath3553"
1008 clipPathUnits="userSpaceOnUse">
1009 <path
1010 id="path3555"
1011 d="m 27.084,421.533 107.625,0 0,-334.2976 -107.625,0 0,334.2976 z" />
1012 </clipPath>
1013 <clipPath
1014 id="clipPath3549"
1015 clipPathUnits="userSpaceOnUse">
1016 <path
1017 id="path3551"
1018 d="m 30.2681,421.533 102.5029,0 0,-332.1658 -102.5029,0 0,332.1658 z" />
1019 </clipPath>
1020 <clipPath
1021 id="clipPath3533"
1022 clipPathUnits="userSpaceOnUse">
1023 <path
1024 id="path3535"
1025 d="m 78.7988,411.741 44.8122,0 0,-50.749 -44.8122,0 0,50.749 z" />
1026 </clipPath>
1027 <clipPath
1028 id="clipPath3517"
1029 clipPathUnits="userSpaceOnUse">
1030 <path
1031 id="path3519"
1032 d="m 134.084,343.039 87.166,0 0,-152.101 -87.166,0 0,152.101 z" />
1033 </clipPath>
1034 <clipPath
1035 id="clipPath3501"
1036 clipPathUnits="userSpaceOnUse">
1037 <path
1038 id="path3503"
1039 d="m 103.229,442.453 31.533,0 0,-85.341 -31.533,0 0,85.341 z" />
1040 </clipPath>
1041 <clipPath
1042 id="clipPath3485"
1043 clipPathUnits="userSpaceOnUse">
1044 <path
1045 id="path3487"
1046 d="m 239.188,40.3613 27.306,0 0,-4.248 -27.306,0 0,4.248 z" />
1047 </clipPath>
1048 <clipPath
1049 id="clipPath3469"
1050 clipPathUnits="userSpaceOnUse">
1051 <path
1052 id="path3471"
1053 d="m 132.725,114.152 98.651,0 0,-73.3317 -98.651,0 0,73.3317 z" />
1054 </clipPath>
1055 <clipPath
1056 id="clipPath3453"
1057 clipPathUnits="userSpaceOnUse">
1058 <path
1059 id="path3455"
1060 d="m 197.178,61.6895 58.71,0 0,-19.9483 -58.71,0 0,19.9483 z" />
1061 </clipPath>
1062 <clipPath
1063 id="clipPath3437"
1064 clipPathUnits="userSpaceOnUse">
1065 <path
1066 id="path3439"
1067 d="m 130.994,201.783 130.687,0 0,-162.9197 -130.687,0 0,162.9197 z" />
1068 </clipPath>
1069 <clipPath
1070 id="clipPath3421"
1071 clipPathUnits="userSpaceOnUse">
1072 <path
1073 id="path3423"
1074 d="m 149.165,329.522 72.476,0 0,-127.739 -72.476,0 0,127.739 z" />
1075 </clipPath>
1076 <clipPath
1077 id="clipPath3405"
1078 clipPathUnits="userSpaceOnUse">
1079 <path
1080 id="path3407"
1081 d="m 105.362,442.441 29.4,0 0,-85.329 -29.4,0 0,85.329 z" />
1082 </clipPath>
1083 <clipPath
1084 id="clipPath3397"
1085 clipPathUnits="userSpaceOnUse">
1086 <path
1087 id="path3399"
1088 d="M 0,512 512,512 512,0 0,0 0,512 z" />
1089 </clipPath>
1090 <radialGradient
1091 id="radialGradient3381"
1092 spreadMethod="pad"
1093 gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)"
1094 gradientUnits="userSpaceOnUse"
1095 r="1"
1096 cy="0"
1097 cx="0"
1098 fy="0.00097656198"
1099 fx="-0.00891113">
1100 <stop
1101 id="stop3383"
1102 offset="0"
1103 style="stop-opacity:1;stop-color:#91dd96" />
1104 <stop
1105 id="stop3385"
1106 offset="0.68129"
1107 style="stop-opacity:1;stop-color:#00ad00" />
1108 <stop
1109 id="stop3387"
1110 offset="0.68129"
1111 style="stop-opacity:1;stop-color:#00ad00" />
1112 <stop
1113 id="stop3389"
1114 offset="1"
1115 style="stop-opacity:1;stop-color:#008008" />
1116 </radialGradient>
1117 <clipPath
1118 id="clipPath3357"
1119 clipPathUnits="userSpaceOnUse">
1120 <path
1121 id="path3359"
1122 d="m 160.318,399.978 304.709,0 0,-77.01 -304.709,0 0,77.01 z" />
1123 </clipPath>
1124 <clipPath
1125 id="clipPath3341"
1126 clipPathUnits="userSpaceOnUse">
1127 <path
1128 id="path3343"
1129 d="m 128.268,480.049 263.941,0 0,-62.391 -263.941,0 0,62.391 z" />
1130 </clipPath>
1131 <mask
1132 id="mask3311"
1133 height="1"
1134 width="1"
1135 y="0"
1136 x="0"
1137 maskUnits="userSpaceOnUse">
1138 <g
1139 id="g3313">
1140 <g
1141 id="g3315"
1142 clip-path="url(#clipPath3293)">
1143 <path
1144 id="path3317"
1145 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
1146 d="m 128.268,481.075 263.941,0 0,-63.417 -263.941,0 0,63.417 z" />
1147 <g
1148 id="g3319">
1149 <g
1150 id="g3321" />
1151 <g
1152 id="g3323">
1153 <g
1154 id="g3325"
1155 clip-path="url(#clipPath3297)">
1156 <g
1157 id="g3327">
1158 <g
1159 id="g3329">
1160 <g
1161 id="g3331">
1162 <g
1163 id="g3333">
1164 <path
1165 id="path3335"
1166 style="fill:url(#linearGradient3305);stroke:none"
1167 d="m 128.513,435.58 c 0,0 -0.245,1.955 -0.245,3.91 0,0 55.366,37.667 103.273,40 0,0 19.501,1.585 40.334,-0.582 0,0 100.419,-9.749 120.334,-61.25 0,0 -46.745,46.001 -117.748,53.919 0,0 -19.843,2.416 -47.604,-0.002 0,0 -47.723,-4.168 -98.344,-35.995" />
1168 </g>
1169 </g>
1170 </g>
1171 </g>
1172 </g>
1173 </g>
1174 </g>
1175 </g>
1176 </g>
1177 </mask>
1178 <linearGradient
1179 id="linearGradient3305"
1180 spreadMethod="pad"
1181 gradientTransform="matrix(263.94141,0,0,-263.94141,128.26758,448.85352)"
1182 gradientUnits="userSpaceOnUse"
1183 y2="0"
1184 x2="1"
1185 y1="0"
1186 x1="0">
1187 <stop
1188 id="stop3307"
1189 offset="0"
1190 style="stop-opacity:1;stop-color:#58595b" />
1191 <stop
1192 id="stop3309"
1193 offset="1"
1194 style="stop-opacity:1;stop-color:#231f20" />
1195 </linearGradient>
1196 <clipPath
1197 id="clipPath3297"
1198 clipPathUnits="userSpaceOnUse">
1199 <path
1200 id="path3299"
1201 d="m 128.268,481.075 263.941,0 0,-63.417 -263.941,0 0,63.417 z" />
1202 </clipPath>
1203 <clipPath
1204 id="clipPath3293"
1205 clipPathUnits="userSpaceOnUse">
1206 <path
1207 id="path3295"
1208 d="m 128.268,480.049 263.941,0 0,-62.391 -263.941,0 0,62.391 z" />
1209 </clipPath>
1210 <clipPath
1211 id="clipPath3277"
1212 clipPathUnits="userSpaceOnUse">
1213 <path
1214 id="path3279"
1215 d="m 145.473,452.822 30.715,0 0,-25.322 -30.715,0 0,25.322 z" />
1216 </clipPath>
1217 <clipPath
1218 id="clipPath3261"
1219 clipPathUnits="userSpaceOnUse">
1220 <path
1221 id="path3263"
1222 d="m 131.21,432.158 13.943,0 0,-31.252 -13.943,0 0,31.252 z" />
1223 </clipPath>
1224 <clipPath
1225 id="clipPath3245"
1226 clipPathUnits="userSpaceOnUse">
1227 <path
1228 id="path3247"
1229 d="m 128.235,454.491 337.805,0 0,-128.314 -337.805,0 0,128.314 z" />
1230 </clipPath>
1231 <clipPath
1232 id="clipPath3237"
1233 clipPathUnits="userSpaceOnUse">
1234 <path
1235 id="path3239"
1236 d="M 0,512 512,512 512,0 0,0 0,512 z" />
1237 </clipPath>
1238 <radialGradient
1239 id="radialGradient3219"
1240 spreadMethod="pad"
1241 gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)"
1242 gradientUnits="userSpaceOnUse"
1243 r="1"
1244 cy="0"
1245 cx="0"
1246 fy="0"
1247 fx="0">
1248 <stop
1249 id="stop3221"
1250 offset="0"
1251 style="stop-opacity:1;stop-color:#f7010b" />
1252 <stop
1253 id="stop3223"
1254 offset="0.721237"
1255 style="stop-opacity:1;stop-color:#d90000" />
1256 <stop
1257 id="stop3225"
1258 offset="0.721237"
1259 style="stop-opacity:1;stop-color:#d90000" />
1260 <stop
1261 id="stop3227"
1262 offset="0.829605"
1263 style="stop-opacity:1;stop-color:#be0201" />
1264 <stop
1265 id="stop3229"
1266 offset="1"
1267 style="stop-opacity:1;stop-color:#e2817d" />
1268 </radialGradient>
1269 <clipPath
1270 id="clipPath3195"
1271 clipPathUnits="userSpaceOnUse">
1272 <path
1273 id="path3197"
1274 d="m 442.744,389.332 38.38,0 0,-106.63 -38.38,0 0,106.63 z" />
1275 </clipPath>
1276 <clipPath
1277 id="clipPath3179"
1278 clipPathUnits="userSpaceOnUse">
1279 <path
1280 id="path3181"
1281 d="m 451.423,372.208 25.457,0 0,-87.924 -25.457,0 0,87.924 z" />
1282 </clipPath>
1283 <clipPath
1284 id="clipPath3163"
1285 clipPathUnits="userSpaceOnUse">
1286 <path
1287 id="path3165"
1288 d="m 336.357,331.413 23.353,0 0,-94.68 -23.353,0 0,94.68 z" />
1289 </clipPath>
1290 <clipPath
1291 id="clipPath3147"
1292 clipPathUnits="userSpaceOnUse">
1293 <path
1294 id="path3149"
1295 d="m 208.204,233.913 279.458,0 0,-195.537 -279.458,0 0,195.537 z" />
1296 </clipPath>
1297 <mask
1298 id="mask3117"
1299 height="1"
1300 width="1"
1301 y="0"
1302 x="0"
1303 maskUnits="userSpaceOnUse">
1304 <g
1305 id="g3119">
1306 <g
1307 id="g3121"
1308 clip-path="url(#clipPath3099)">
1309 <path
1310 id="path3123"
1311 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
1312 d="m 208.204,233.913 279.458,0 0,-196.817 -279.458,0 0,196.817 z" />
1313 <g
1314 id="g3125">
1315 <g
1316 id="g3127" />
1317 <g
1318 id="g3129">
1319 <g
1320 id="g3131"
1321 clip-path="url(#clipPath3103)">
1322 <g
1323 id="g3133">
1324 <g
1325 id="g3135">
1326 <g
1327 id="g3137">
1328 <g
1329 id="g3139">
1330 <path
1331 id="path3141"
1332 style="fill:url(#linearGradient3111);stroke:none"
1333 d="m 208.204,66.201 c 0,0 25.817,-18.793 54.966,-26.11 0,0 1.664,-0.402 3.324,-0.6 0,0 16.684,-2.395 28.666,-0.166 0,0 167.584,21.083 192.502,194.588 0,0 -77.287,-190.422 -279.458,-167.712" />
1334 </g>
1335 </g>
1336 </g>
1337 </g>
1338 </g>
1339 </g>
1340 </g>
1341 </g>
1342 </g>
1343 </mask>
1344 <linearGradient
1345 id="linearGradient3111"
1346 spreadMethod="pad"
1347 gradientTransform="matrix(279.45801,0,0,-279.45801,208.2041,136.14453)"
1348 gradientUnits="userSpaceOnUse"
1349 y2="0"
1350 x2="1"
1351 y1="0"
1352 x1="0">
1353 <stop
1354 id="stop3113"
1355 offset="0"
1356 style="stop-opacity:1;stop-color:#58595b" />
1357 <stop
1358 id="stop3115"
1359 offset="1"
1360 style="stop-opacity:1;stop-color:#333132" />
1361 </linearGradient>
1362 <clipPath
1363 id="clipPath3103"
1364 clipPathUnits="userSpaceOnUse">
1365 <path
1366 id="path3105"
1367 d="m 208.204,233.913 279.458,0 0,-196.8173 -279.458,0 0,196.8173 z" />
1368 </clipPath>
1369 <clipPath
1370 id="clipPath3099"
1371 clipPathUnits="userSpaceOnUse">
1372 <path
1373 id="path3101"
1374 d="m 208.204,233.913 279.458,0 0,-195.537 -279.458,0 0,195.537 z" />
1375 </clipPath>
1376 <clipPath
1377 id="clipPath3083"
1378 clipPathUnits="userSpaceOnUse">
1379 <path
1380 id="path3085"
1381 d="m 159.348,331.413 218.036,0 0,-291.3222 -218.036,0 0,291.3222 z" />
1382 </clipPath>
1383 <clipPath
1384 id="clipPath3067"
1385 clipPathUnits="userSpaceOnUse">
1386 <path
1387 id="path3069"
1388 d="m 353.305,328.46 115.917,0 0,-44.905 -115.917,0 0,44.905 z" />
1389 </clipPath>
1390 <clipPath
1391 id="clipPath3051"
1392 clipPathUnits="userSpaceOnUse">
1393 <path
1394 id="path3053"
1395 d="m 456.298,370.215 22.026,0 0,-62.807 -22.026,0 0,62.807 z" />
1396 </clipPath>
1397 <clipPath
1398 id="clipPath3035"
1399 clipPathUnits="userSpaceOnUse">
1400 <path
1401 id="path3037"
1402 d="m 358.834,270.554 128.828,0 0,-205.4251 -128.828,0 0,205.4251 z" />
1403 </clipPath>
1404 <clipPath
1405 id="clipPath3019"
1406 clipPathUnits="userSpaceOnUse">
1407 <path
1408 id="path3021"
1409 d="m 361.646,268.408 125.211,0 0,-202.9119 -125.211,0 0,202.9119 z" />
1410 </clipPath>
1411 <clipPath
1412 id="clipPath3003"
1413 clipPathUnits="userSpaceOnUse">
1414 <path
1415 id="path3005"
1416 d="m 281.646,96.1582 64.208,0 0,-53.8369 -64.208,0 0,53.8369 z" />
1417 </clipPath>
1418 <clipPath
1419 id="clipPath2987"
1420 clipPathUnits="userSpaceOnUse">
1421 <path
1422 id="path2989"
1423 d="m 284.084,95.0332 60.846,0 0,-52.4941 -60.846,0 0,52.4941 z" />
1424 </clipPath>
1425 <clipPath
1426 id="clipPath2979"
1427 clipPathUnits="userSpaceOnUse">
1428 <path
1429 id="path2981"
1430 d="M 0,512 512,512 512,0 0,0 0,512 z" />
1431 </clipPath>
1432 <radialGradient
1433 id="radialGradient2963"
1434 spreadMethod="pad"
1435 gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)"
1436 gradientUnits="userSpaceOnUse"
1437 r="1"
1438 cy="0"
1439 cx="0"
1440 fy="0"
1441 fx="0">
1442 <stop
1443 id="stop2965"
1444 offset="0"
1445 style="stop-opacity:1;stop-color:#fff055" />
1446 <stop
1447 id="stop2967"
1448 offset="0.617706"
1449 style="stop-opacity:1;stop-color:#f4cf12" />
1450 <stop
1451 id="stop2969"
1452 offset="0.617706"
1453 style="stop-opacity:1;stop-color:#f4cf12" />
1454 <stop
1455 id="stop2971"
1456 offset="1"
1457 style="stop-opacity:1;stop-color:#d0ae1a" />
1458 </radialGradient>
1459 <clipPath
1460 id="clipPath2939"
1461 clipPathUnits="userSpaceOnUse">
1462 <path
1463 id="path2941"
1464 d="m 336.673,333.388 116.547,0 0,-38.477 -116.547,0 0,38.477 z" />
1465 </clipPath>
1466 <clipPath
1467 id="clipPath2923"
1468 clipPathUnits="userSpaceOnUse">
1469 <path
1470 id="path2925"
1471 d="m 451.423,324.121 6.413,0 0,-23.464 -6.413,0 0,23.464 z" />
1472 </clipPath>
1473 <clipPath
1474 id="clipPath2907"
1475 clipPathUnits="userSpaceOnUse">
1476 <path
1477 id="path2909"
1478 d="m 122.214,421.622 186.265,0 0,-306.113 -186.265,0 0,306.113 z" />
1479 </clipPath>
1480 <mask
1481 id="mask2881"
1482 height="1"
1483 width="1"
1484 y="0"
1485 x="0"
1486 maskUnits="userSpaceOnUse">
1487 <image
1488 id="image2883"
1489 xlink:href="data:image/png;base64,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"
1490 height="1"
1491 width="1" />
1492 </mask>
1493 <mask
1494 id="mask2869"
1495 height="1"
1496 width="1"
1497 y="0"
1498 x="0"
1499 maskUnits="userSpaceOnUse">
1500 <g
1501 id="g2871">
1502 <g
1503 id="g2873"
1504 clip-path="url(#clipPath2865)">
1505 <g
1506 id="g2875">
1507 <g
1508 id="g2877"
1509 transform="matrix(506,0,0,484,4.2089844,13.658203)">
1510 <image
1511 id="image2879"
1512 xlink:href="data:image/png;base64,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"
1513 transform="matrix(1,0,0,-1,0,1)"
1514 height="1"
1515 width="1" />
1516 </g>
1517 </g>
1518 </g>
1519 </g>
1520 </mask>
1521 <clipPath
1522 id="clipPath2865"
1523 clipPathUnits="userSpaceOnUse">
1524 <path
1525 id="path2867"
1526 d="m 4.20898,497.658 506.00002,0 0,-483.9998 -506.00002,0 0,483.9998 z" />
1527 </clipPath>
1528 <clipPath
1529 id="clipPath2861"
1530 clipPathUnits="userSpaceOnUse">
1531 <path
1532 id="path2863"
1533 d="m 4.20898,497.658 506.00002,0 0,-483.9998 -506.00002,0 0,483.9998 z" />
1534 </clipPath>
1535 <clipPath
1536 id="clipPath2853"
1537 clipPathUnits="userSpaceOnUse">
1538 <path
1539 id="path2855"
1540 d="M 0,512 512,512 512,0 0,0 0,512 z" />
1541 </clipPath>
1542 <radialGradient
1543 inkscape:collect="always"
1544 xlink:href="#radialGradient4023"
1545 id="radialGradient5419"
1546 gradientUnits="userSpaceOnUse"
1547 gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)"
1548 spreadMethod="pad"
1549 cx="0"
1550 cy="0"
1551 fx="0.123642"
1552 fy="0.00041198701"
1553 r="1" />
1554 <linearGradient
1555 inkscape:collect="always"
1556 xlink:href="#linearGradient4107"
1557 id="linearGradient5421"
1558 gradientUnits="userSpaceOnUse"
1559 gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)"
1560 spreadMethod="pad"
1561 x1="0"
1562 y1="0"
1563 x2="1"
1564 y2="0" />
1565 <linearGradient
1566 inkscape:collect="always"
1567 xlink:href="#linearGradient4219"
1568 id="linearGradient5423"
1569 gradientUnits="userSpaceOnUse"
1570 gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)"
1571 spreadMethod="pad"
1572 x1="0"
1573 y1="0"
1574 x2="1"
1575 y2="0" />
1576 <radialGradient
1577 inkscape:collect="always"
1578 xlink:href="#radialGradient3749"
1579 id="radialGradient5521"
1580 gradientUnits="userSpaceOnUse"
1581 gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)"
1582 spreadMethod="pad"
1583 cx="0"
1584 cy="0"
1585 fx="0.216034"
1586 fy="-0.00463867"
1587 r="1" />
1588 <radialGradient
1589 inkscape:collect="always"
1590 xlink:href="#radialGradient3381"
1591 id="radialGradient5606"
1592 gradientUnits="userSpaceOnUse"
1593 gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)"
1594 spreadMethod="pad"
1595 cx="0"
1596 cy="0"
1597 fx="-0.00891113"
1598 fy="0.00097656198"
1599 r="1" />
1600 <radialGradient
1601 inkscape:collect="always"
1602 xlink:href="#radialGradient3219"
1603 id="radialGradient5645"
1604 gradientUnits="userSpaceOnUse"
1605 gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)"
1606 spreadMethod="pad"
1607 cx="0"
1608 cy="0"
1609 fx="0"
1610 fy="0"
1611 r="1" />
1612 <radialGradient
1613 inkscape:collect="always"
1614 xlink:href="#radialGradient2963"
1615 id="radialGradient5720"
1616 gradientUnits="userSpaceOnUse"
1617 gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)"
1618 spreadMethod="pad"
1619 cx="0"
1620 cy="0"
1621 fx="0"
1622 fy="0"
1623 r="1" />
1624 <radialGradient
1625 inkscape:collect="always"
1626 xlink:href="#radialGradient2963"
1627 id="radialGradient5785"
1628 gradientUnits="userSpaceOnUse"
1629 gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)"
1630 spreadMethod="pad"
1631 cx="0"
1632 cy="0"
1633 fx="0"
1634 fy="0"
1635 r="1" />
1636 <radialGradient
1637 inkscape:collect="always"
1638 xlink:href="#radialGradient3219"
1639 id="radialGradient5858"
1640 gradientUnits="userSpaceOnUse"
1641 gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)"
1642 spreadMethod="pad"
1643 cx="0"
1644 cy="0"
1645 fx="0"
1646 fy="0"
1647 r="1" />
1648 <radialGradient
1649 inkscape:collect="always"
1650 xlink:href="#radialGradient3381"
1651 id="radialGradient5895"
1652 gradientUnits="userSpaceOnUse"
1653 gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)"
1654 spreadMethod="pad"
1655 cx="0"
1656 cy="0"
1657 fx="-0.00891113"
1658 fy="0.00097656198"
1659 r="1" />
1660 <radialGradient
1661 inkscape:collect="always"
1662 xlink:href="#radialGradient3749"
1663 id="radialGradient5978"
1664 gradientUnits="userSpaceOnUse"
1665 gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)"
1666 spreadMethod="pad"
1667 cx="0"
1668 cy="0"
1669 fx="0.216034"
1670 fy="-0.00463867"
1671 r="1" />
1672 <radialGradient
1673 inkscape:collect="always"
1674 xlink:href="#radialGradient4023"
1675 id="radialGradient5983"
1676 gradientUnits="userSpaceOnUse"
1677 gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)"
1678 spreadMethod="pad"
1679 cx="0"
1680 cy="0"
1681 fx="0.123642"
1682 fy="0.00041198701"
1683 r="1" />
1684 <linearGradient
1685 inkscape:collect="always"
1686 xlink:href="#linearGradient4107"
1687 id="linearGradient5985"
1688 gradientUnits="userSpaceOnUse"
1689 gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)"
1690 spreadMethod="pad"
1691 x1="0"
1692 y1="0"
1693 x2="1"
1694 y2="0" />
1695 <linearGradient
1696 inkscape:collect="always"
1697 xlink:href="#linearGradient4219"
1698 id="linearGradient5987"
1699 gradientUnits="userSpaceOnUse"
1700 gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)"
1701 spreadMethod="pad"
1702 x1="0"
1703 y1="0"
1704 x2="1"
1705 y2="0" />
1706 </defs>
1707 <sodipodi:namedview
1708 id="base"
1709 pagecolor="#ffffff"
1710 bordercolor="#666666"
1711 borderopacity="1.0"
1712 inkscape:pageopacity="0.0"
1713 inkscape:pageshadow="2"
1714 inkscape:zoom="0.35"
1715 inkscape:cx="-668.74997"
1716 inkscape:cy="625.35706"
1717 inkscape:document-units="px"
1718 inkscape:current-layer="layer1"
1719 showgrid="false"
1720 inkscape:window-width="1280"
1721 inkscape:window-height="750"
1722 inkscape:window-x="-4"
1723 inkscape:window-y="-3"
1724 inkscape:window-maximized="1" />
1725 <metadata
1726 id="metadata7">
1727 <rdf:RDF>
1728 <cc:Work
1729 rdf:about="">
1730 <dc:format>image/svg+xml</dc:format>
1731 <dc:type
1732 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1733 <dc:title></dc:title>
1734 </cc:Work>
1735 </rdf:RDF>
1736 </metadata>
1737 <g
1738 inkscape:label="Calque 1"
1739 inkscape:groupmode="layer"
1740 id="layer1"
1741 transform="translate(-1040.8928,-552.7195)">
1742 <g
1743 id="g2857"
1744 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1745 <g
1746 id="g2859" />
1747 <g
1748 id="g2885">
1749 <g
1750 style="opacity:0.5"
1751 clip-path="url(#clipPath2861)"
1752 id="g2887">
1753 <g
1754 id="g2889">
1755 <g
1756 id="g2891" />
1757 <g
1758 mask="url(#mask2869)"
1759 id="g2893">
1760 <g
1761 transform="matrix(506,0,0,484,4.2089844,13.658203)"
1762 id="g2895">
1763 <image
1764 width="1"
1765 height="1"
1766 transform="matrix(1,0,0,-1,0,1)"
1767 xlink:href="data:image/png;base64,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"
1768 mask="url(#mask2881)"
1769 id="image2897" />
1770 </g>
1771 </g>
1772 </g>
1773 </g>
1774 </g>
1775 </g>
1776 <g
1777 id="g2899"
1778 transform="matrix(1.25,0,0,-1.25,1158.1249,635.688)">
1779 <path
1780 d="m 0,0 c 0,0 -74.25,-54.123 -81.75,-148.625 0,0 -2.5,-21.58 0,-43.08 0,0 12.167,-172.076 203.664,-204.755 0,0 26.92,-3.332 34.836,1.335 0,0 8.583,0.583 11.75,3.333 0,0 16.833,-2.75 28.666,-0.166 0,0 167.584,21.083 192.501,194.588 0,0 3.083,17.911 0.75,43.577 0,0 -4,64.003 -43.834,111.504 0,0 -1,0.338 -1.833,0.338 0,0 -43.168,83.659 -163.833,96.409 0,0 -22.003,2.75 -53.336,0.084 0,0 -47.168,-3.001 -95.335,-31.334 0,0 -2,-2.667 -2,-12.833 0,0 -3.719,1.75 -10.907,0.125 C 19.339,10.5 10.465,8.626 0,0"
1781 style="fill:#4d4a49;fill-opacity:1;fill-rule:nonzero;stroke:none"
1782 id="path2901" />
1783 </g>
1784 <g
1785 id="g2903"
1786 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1787 <g
1788 id="g2905" />
1789 <g
1790 id="g2911">
1791 <g
1792 style="opacity:0.30000299"
1793 clip-path="url(#clipPath2907)"
1794 id="g2913">
1795 <g
1796 transform="translate(168.5435,131.6211)"
1797 id="g2915">
1798 <path
1799 d="m 0,0 c 0,0 -2.834,9.287 5.166,16.162 0,0 44,35 79.5,61.875 0,0 31.138,-2.5 55.269,17.158 0,0 -24.131,-16.033 -52.024,-16.144 0,0 -88.495,-0.006 -92.998,85.267 0,0 0.753,20.719 8.935,35.474 0,0 1.828,4.495 -5.107,13.002 0,0 -29.103,80.243 -36.644,77.118 0,0 -11.645,-5.625 -7.556,-28.875 0,0 1.673,-21.792 19.625,-39.75 0,0 15,-17.875 19.375,-32.437 0,0 -1.767,-11.813 -1.875,-25.229 0,0 -1.125,-63.584 66.125,-84.576 0,0 -2.871,-1.883 -4.693,-3.883 0,0 -82.307,-54.875 -76.525,-70.183 0,0 5.093,-12.692 14.247,-21.066 0,0 16.221,-1.382 9.18,16.087"
1800 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1801 id="path2917" />
1802 </g>
1803 </g>
1804 </g>
1805 </g>
1806 <g
1807 id="g2919"
1808 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1809 <g
1810 id="g2921" />
1811 <g
1812 id="g2927">
1813 <g
1814 style="opacity:0.30000299"
1815 clip-path="url(#clipPath2923)"
1816 id="g2929">
1817 <g
1818 transform="translate(457.5693,300.6567)"
1819 id="g2931">
1820 <path
1821 d="m 0,0 c 0,0 -3.61,12.751 -6.146,22.311 0,0 1.161,2.565 3.763,0.043 0,0 3.648,-9.853 2.383,-22.354"
1822 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1823 id="path2933" />
1824 </g>
1825 </g>
1826 </g>
1827 </g>
1828 <g
1829 id="g2935"
1830 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1831 <g
1832 id="g2937" />
1833 <g
1834 id="g2943">
1835 <g
1836 style="opacity:0.30000299"
1837 clip-path="url(#clipPath2939)"
1838 id="g2945">
1839 <g
1840 transform="translate(440.7783,326.1772)"
1841 id="g2947">
1842 <path
1843 d="m 0,0 c 0,0 1.966,-5.894 2.556,-10.644 0,0 0.375,-6.625 -5.75,-4.625 0,0 -28.5,17.552 -100.911,22.48 0,0 1.036,-10.42 15.098,-13.673 0,0 99.652,-29.932 101.448,-24.035 0,0 -1.26,14.978 -6.307,28.094 0,0 -5.203,7.638 -6.134,2.403"
1844 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1845 id="path2949" />
1846 </g>
1847 </g>
1848 </g>
1849 </g>
1850 <g
1851 id="g2959"
1852 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1853 <g
1854 id="g2961">
1855 <path
1856 d="m 465.456,333.45 c 0,0 2.065,-6.354 -4.33,-8.622 l 0,0 c 0,0 -2.754,-1.165 -6.004,-1.248 l 0,0 c 0,0 1.987,-17.384 3.167,-30.499 l 0,0 c 0,0 -34.166,18.999 -84.167,28.166 l 0,0 c 0,0 -18.667,2.082 -21.084,10.165 l 0,0 c 0,0 -3.169,-5.832 -2.168,-9.666 l 0,0 c 0,0 2.749,-4.082 4.082,-20.082 l 0,0 c 0,0 0.667,-6.578 0,-16.245 l 0,0 c 0,0 -4.91,-83.761 -98.837,-85.836 l 0,0 c 0,0 -43.742,-33.925 -89.242,-69.259 l 0,0 c 0,0 -13.666,-9.998 -4.166,-24.332 l 0,0 c 0,0 42.499,-56.333 103.787,-66.501 l 0,0 c 0,0 16.684,-2.396 28.666,-0.165 l 0,0 c 0,0 167.584,21.082 192.502,194.587 l 0,0 c 0,0 3.082,17.911 0.75,43.577 l 0,0 c 0,0 -4,64.003 -43.834,111.504 l 0,0 c 0,0 -1,0.338 -1.834,0.338 l 0,0 c 0,0 13.048,-21.506 22.712,-55.882"
1857 style="fill:url(#radialGradient5785);stroke:none"
1858 id="path2973" />
1859 </g>
1860 </g>
1861 <g
1862 id="g2983"
1863 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1864 <g
1865 id="g2985" />
1866 <g
1867 id="g2991">
1868 <g
1869 style="opacity:0.60000598"
1870 clip-path="url(#clipPath2987)"
1871 id="g2993">
1872 <g
1873 transform="translate(311.3018,42.5391)"
1874 id="g2995">
1875 <path
1876 d="m 0,0 c 0,0 -18.155,7.994 -27.218,36.619 0,0 32.5,4.875 49,15.875 0,0 15.375,-23.75 11.093,-42.043 0,0 -0.576,-0.225 -1.117,-0.435 0,0 4.149,15.166 -9.851,40.478 0,0 -13.062,-10.562 -47.25,-14.687 0,0 6.125,-23.75 26.373,-35.554 C 1.03,0.253 0.452,0.11 0,0"
1877 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1878 id="path2997" />
1879 </g>
1880 </g>
1881 </g>
1882 </g>
1883 <g
1884 id="g2999"
1885 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1886 <g
1887 id="g3001" />
1888 <g
1889 id="g3007">
1890 <g
1891 style="opacity:0.19999701"
1892 clip-path="url(#clipPath3003)"
1893 id="g3009">
1894 <g
1895 transform="translate(310.4023,42.3213)"
1896 id="g3011">
1897 <path
1898 d="m 0,0 c 0,0 -23.256,13.087 -28.756,38.712 0,0 39.813,6.75 51,15.125 0,0 14.625,-17.938 13.096,-42.548 0,0 -0.813,-0.322 -1.349,-0.535 0,0 2.128,20.833 -12.059,40.02 0,0 -14.688,-8.062 -48.125,-13.562 0,0 3.375,-21.063 27.592,-36.872 C 1.399,0.34 0.523,0.126 0,0"
1899 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
1900 id="path3013" />
1901 </g>
1902 </g>
1903 </g>
1904 </g>
1905 <g
1906 id="g3015"
1907 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1908 <g
1909 id="g3017" />
1910 <g
1911 id="g3023">
1912 <g
1913 style="opacity:0.60000598"
1914 clip-path="url(#clipPath3019)"
1915 id="g3025">
1916 <g
1917 transform="translate(371.3496,65.4961)"
1918 id="g3027">
1919 <path
1920 d="m 0,0 c 0,0 15.422,11.537 -9.703,44.662 0,0 98.062,41.75 100.812,158.25 0,0 24.399,0 24.399,-39.733 0,0 -0.142,-0.872 -0.364,-2.19 0,0 -0.952,37.673 -23.118,40.256 0,0 7.333,-101.083 -99.334,-157.333 0,0 23.792,-28.875 9.887,-42.518 C 2.579,1.394 1.327,0.712 0,0"
1921 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1922 id="path3029" />
1923 </g>
1924 </g>
1925 </g>
1926 </g>
1927 <g
1928 id="g3031"
1929 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1930 <g
1931 id="g3033" />
1932 <g
1933 id="g3039">
1934 <g
1935 style="opacity:0.19999701"
1936 clip-path="url(#clipPath3035)"
1937 id="g3041">
1938 <g
1939 transform="translate(370.6582,65.1289)"
1940 id="g3043">
1941 <path
1942 d="m 0,0 c 0,0 13.551,12.654 -11.824,43.904 0,0 101.5,42.5 102.5,161.5 0,0 23.5,2.125 26.328,-36.62 0,0 -0.217,-1.48 -0.569,-3.776 0,0 -0.634,35.021 -23.884,38.646 0,0 5,-107.125 -102.125,-160.25 0,0 22.187,-25.75 11.303,-42.481 C 1.729,0.923 0.941,0.5 0,0"
1943 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
1944 id="path3045" />
1945 </g>
1946 </g>
1947 </g>
1948 </g>
1949 <g
1950 id="g3047"
1951 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1952 <g
1953 id="g3049" />
1954 <g
1955 id="g3055">
1956 <g
1957 style="opacity:0.39999396"
1958 clip-path="url(#clipPath3051)"
1959 id="g3057">
1960 <g
1961 transform="translate(478.3242,307.4082)"
1962 id="g3059">
1963 <path
1964 d="M 0,0 C 0,0 -7.353,36.896 -22.026,62.807 -22.026,62.807 -4.353,37.648 0,0"
1965 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1966 id="path3061" />
1967 </g>
1968 </g>
1969 </g>
1970 </g>
1971 <g
1972 id="g3063"
1973 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1974 <g
1975 id="g3065" />
1976 <g
1977 id="g3071">
1978 <g
1979 style="opacity:0.39999396"
1980 clip-path="url(#clipPath3067)"
1981 id="g3073">
1982 <g
1983 transform="translate(353.3047,328.4604)"
1984 id="g3075">
1985 <path
1986 d="m 0,0 c 0,0 8.329,-11.576 37.831,-15.409 0,0 4,-0.25 12.086,-1.581 0,0 25.415,-3.002 66,-27.916 0,0 -31.253,23.914 -65.419,29.248 0,0 -38,6.582 -50.498,15.658"
1987 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
1988 id="path3077" />
1989 </g>
1990 </g>
1991 </g>
1992 </g>
1993 <g
1994 id="g3079"
1995 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
1996 <g
1997 id="g3081" />
1998 <g
1999 id="g3087">
2000 <g
2001 style="opacity:0.60000598"
2002 clip-path="url(#clipPath3083)"
2003 id="g3089">
2004 <g
2005 transform="translate(374.1221,321.2466)"
2006 id="g3091">
2007 <path
2008 d="m 0,0 c 0,0 -18.667,2.083 -21.084,10.166 0,0 -0.36,-1.958 0.505,-3.419 0,0 4.541,-6.71 6.167,-30.834 0,0 0.833,-36.167 -23.353,-60.426 0,0 -8.856,-12.867 -23.794,-22.024 0,0 -20.434,-14.591 -56.448,-15.127 0,0 -43.742,-33.925 -89.242,-69.258 0,0 -13.666,-9.999 -4.166,-24.332 0,0 40.968,-54.303 100.463,-65.902 0,0 -55.04,11.143 -98.794,68.502 0,0 -3.496,5.215 1.083,11.399 0,0 39.419,32.744 72.667,59.363 0,0 70.837,-13.298 116.674,48.203 0,0 22.749,28.165 22.583,67.498 0,0 10e-4,18.085 -3.261,26.191"
2009 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2010 id="path3093" />
2011 </g>
2012 </g>
2013 </g>
2014 </g>
2015 <g
2016 id="g3095"
2017 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2018 <g
2019 id="g3097" />
2020 <g
2021 id="g3143"
2022 mask="url(#mask3117)">
2023 <g
2024 id="g3145" />
2025 <g
2026 id="g3151">
2027 <g
2028 clip-path="url(#clipPath3147)"
2029 id="g3153">
2030 <g
2031 transform="translate(208.2041,66.2012)"
2032 id="g3155">
2033 <path
2034 d="m 0,0 c 0,0 25.817,-18.793 54.966,-26.11 0,0 1.664,-0.402 3.324,-0.6 0,0 16.684,-2.395 28.666,-0.166 0,0 167.584,21.083 192.502,194.588 C 279.458,167.712 202.171,-22.71 0,0"
2035 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2036 id="path3157" />
2037 </g>
2038 </g>
2039 </g>
2040 </g>
2041 </g>
2042 <g
2043 id="g3159"
2044 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2045 <g
2046 id="g3161" />
2047 <g
2048 id="g3167">
2049 <g
2050 style="opacity:0.25"
2051 clip-path="url(#clipPath3163)"
2052 id="g3169">
2053 <g
2054 transform="translate(353.0381,331.4126)"
2055 id="g3171">
2056 <path
2057 d="m 0,0 c 0,0 -3.169,-5.833 -2.169,-9.666 0,0 2.75,-4.083 4.083,-20.083 0,0 0.667,-6.578 0,-16.245 0,0 -1.494,-25.483 -18.595,-48.685 0,0 22.52,19.927 23.353,60.426 0,0 -1.167,22 -6.167,30.834 0,0 -0.834,1.165 -0.505,3.419"
2058 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2059 id="path3173" />
2060 </g>
2061 </g>
2062 </g>
2063 </g>
2064 <g
2065 id="g3175"
2066 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2067 <g
2068 id="g3177" />
2069 <g
2070 id="g3183">
2071 <g
2072 style="opacity:0.5"
2073 clip-path="url(#clipPath3179)"
2074 id="g3185">
2075 <g
2076 transform="translate(451.4229,372.2085)"
2077 id="g3187">
2078 <path
2079 d="m 0,0 c 0,0 9.161,-20.332 14.033,-38.758 0,0 2.081,-6.37 -4.33,-8.623 0,0 -2.754,-1.164 -6.004,-1.248 0,0 1.988,-17.383 3.167,-30.499 0,0 6.171,-3.38 13.296,-8.797 0,0 5.468,0.672 5.291,7.628 0,0 -4.416,45.664 -25.453,80.297"
2080 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2081 id="path3189" />
2082 </g>
2083 </g>
2084 </g>
2085 </g>
2086 <g
2087 id="g3191"
2088 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2089 <g
2090 id="g3193" />
2091 <g
2092 id="g3199">
2093 <g
2094 style="opacity:0.25"
2095 clip-path="url(#clipPath3195)"
2096 id="g3201">
2097 <g
2098 transform="translate(479.6689,300.1797)"
2099 id="g3203">
2100 <path
2101 d="m 0,0 c 0,0 -9.126,58.98 -36.925,89.152 0,0 3.886,-6.264 8.679,-17.123 0,0 19.099,-28.55 25.453,-80.298 0,0 0.583,-6.393 -5.291,-7.627 0,0 6.789,-5.14 9.539,3.11 0,0 0,5.766 -1.455,12.786"
2102 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2103 id="path3205" />
2104 </g>
2105 </g>
2106 </g>
2107 </g>
2108 <g
2109 id="g3215"
2110 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2111 <g
2112 id="g3217">
2113 <path
2114 d="m 225.602,485.784 c 0,0 -47.194,-2.96 -95.361,-31.293 l 0,0 c 0,0 -2.001,-2.667 -2.001,-12.833 l 0,0 c 0,0 -0.922,-29.876 21.581,-69.538 l 0,0 c 0,0 12.913,-17.756 10.497,-26.588 l 0,0 c 0,0 2.583,-1.668 6.249,-2.084 l 0,0 c 0,0 26.584,38.333 61.167,45.833 l 0,0 c 0,0 16.415,5.167 40.164,0.667 l 0,0 c 0,0 23.25,-1.918 47.416,-20.501 l 0,0 c 0,0 8.92,-6.832 17.087,-18.082 l 0,0 c 0,0 7.003,-10.005 24.003,-10.005 l 0,0 c 0,0 36.088,-1.836 74.67,-12.503 l 0,0 c 0,0 10.588,-2.416 15.838,-5.083 l 0,0 c 0,0 9.25,-2.584 16.834,1.499 l 0,0 c 0,0 3.75,1.834 1.667,9.584 l 0,0 c 0,0 -8.027,30.457 -22.669,54.475 l 0,0 c 0,0 -43.14,83.618 -163.804,96.367 l 0,0 c 0,0 -9.986,1.248 -26.077,1.248 l 0,0 c -7.8,0 -17.031,-0.293 -27.261,-1.163"
2115 style="fill:url(#radialGradient5858);stroke:none"
2116 id="path3231" />
2117 </g>
2118 </g>
2119 <g
2120 id="g3241"
2121 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2122 <g
2123 id="g3243" />
2124 <g
2125 id="g3249">
2126 <g
2127 style="opacity:0.60000598"
2128 clip-path="url(#clipPath3245)"
2129 id="g3251">
2130 <g
2131 transform="translate(130.2407,454.4907)"
2132 id="g3253">
2133 <path
2134 d="m 0,0 c 0,0 -2,-2.667 -2,-12.833 0,0 -0.923,-29.875 21.581,-69.538 0,0 12.913,-17.755 10.496,-26.588 0,0 25.141,46.709 77.891,53.501 0,0 15.084,2.125 31.125,0 0,0 40.125,-2.375 69.982,-43.375 0,0 2.331,-4.562 13.268,-5.375 0,0 33.75,-1.125 72.125,-10.875 0,0 18.035,-4.062 31.375,-12 0,0 3.625,-2.062 8.944,-0.847 0,0 1.994,2.504 0.384,8.296 0,0 -8.025,30.458 -22.668,54.475 0,0 -1.999,3.875 -6.339,10.084 0,0 13.969,-21.042 25.529,-62.258 0,0 3.094,-9.228 -3.726,-7.667 0,0 -36.829,16.802 -94.499,22.721 0,0 -28.165,56.446 -92.166,61.613 0,0 -17.5,3.166 -33.666,-0.334 0,0 -49.833,-4.333 -81.167,-48.5 0,0 -21.948,34.786 -25.5,67.167 0,0 -1.5,10.284 -0.969,22.333"
2135 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2136 id="path3255" />
2137 </g>
2138 </g>
2139 </g>
2140 </g>
2141 <g
2142 id="g3257"
2143 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2144 <g
2145 id="g3259" />
2146 <g
2147 id="g3265">
2148 <g
2149 style="opacity:0.19999701"
2150 clip-path="url(#clipPath3261)"
2151 id="g3267">
2152 <g
2153 transform="translate(143.3755,403.8237)"
2154 id="g3269">
2155 <path
2156 d="m 0,0 c 0,0 4,10 0,20 0,0 -2.562,8.334 -12.166,8.334 0,0 4.314,-20.417 9.604,-29.667 0,0 2.562,-4.334 2.562,1.333"
2157 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2158 id="path3271" />
2159 </g>
2160 </g>
2161 </g>
2162 </g>
2163 <g
2164 id="g3273"
2165 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2166 <g
2167 id="g3275" />
2168 <g
2169 id="g3281">
2170 <g
2171 style="opacity:0.19999701"
2172 clip-path="url(#clipPath3277)"
2173 id="g3283">
2174 <g
2175 transform="translate(172.709,442.4414)"
2176 id="g3285">
2177 <path
2178 d="m 0,0 c 0,0 2.122,1.261 2.903,3.594 0,0.001 1.511,3 -0.364,5.875 0,0 -1.875,1.875 -7.539,0.247 0,0 -8.361,-1.667 -18.544,-9 0,0 -2.167,-1.082 -3.208,-4.248 0,0 -1.084,-2.125 -0.006,-6.752 0,0 1.922,-8.373 10.758,-2.667"
2179 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2180 id="path3287" />
2181 </g>
2182 </g>
2183 </g>
2184 </g>
2185 <g
2186 id="g3289"
2187 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2188 <g
2189 id="g3291" />
2190 <g
2191 id="g3337"
2192 mask="url(#mask3311)">
2193 <g
2194 id="g3339" />
2195 <g
2196 id="g3345">
2197 <g
2198 clip-path="url(#clipPath3341)"
2199 id="g3347">
2200 <g
2201 transform="translate(128.5127,435.5801)"
2202 id="g3349">
2203 <path
2204 d="m 0,0 c 0,0 -0.245,1.955 -0.245,3.91 0,0 55.367,37.667 103.273,40 0,0 19.502,1.585 40.334,-0.582 0,0 100.419,-9.749 120.334,-61.25 0,0 -46.745,46.001 -117.748,53.919 0,0 -19.843,2.416 -47.604,-0.002 C 98.344,35.995 50.621,31.827 0,0"
2205 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2206 id="path3351" />
2207 </g>
2208 </g>
2209 </g>
2210 </g>
2211 </g>
2212 <g
2213 id="g3353"
2214 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2215 <g
2216 id="g3355" />
2217 <g
2218 id="g3361">
2219 <g
2220 style="opacity:0.25"
2221 clip-path="url(#clipPath3357)"
2222 id="g3363">
2223 <g
2224 transform="translate(160.3179,345.5313)"
2225 id="g3365">
2226 <path
2227 d="m 0,0 c 0,0 2.583,-1.667 6.25,-2.083 0,0 27.185,38.023 61.167,45.833 0,0 17.683,5.002 40.164,0.667 0,0 23.25,-1.918 47.416,-20.5 0,0 8.92,-6.834 17.086,-18.084 0,0 7.003,-10.004 24.003,-10.004 0,0 36.088,-1.836 74.67,-12.503 0,0 10.588,-2.417 15.838,-5.083 0,0 9.578,-2.585 16.834,1.5 0,0 0.744,0.431 1.281,1.286 0,0 -4.459,-1.324 -8.943,0.848 0,0 -14.5,8.125 -31.375,12 0,0 -36.5,9.5 -72.125,10.875 0,0 -10.125,0.375 -13.268,5.375 0,0 -26.357,38.5 -69.982,43.375 0,0 -11.625,2.125 -31.125,0 0,0 -46.875,-3 -77.891,-53.502"
2228 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2229 id="path3367" />
2230 </g>
2231 </g>
2232 </g>
2233 </g>
2234 <g
2235 id="g3377"
2236 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2237 <g
2238 id="g3379">
2239 <path
2240 d="m 117.334,441.783 c 0,0 -9.146,-1.999 -19.339,-10.499 l 0,0 c 0,0 -74.25,-54.124 -81.75,-148.626 l 0,0 c 0,0 -2.5,-21.58 0,-43.08 l 0,0 c 0,0 12.166,-172.077 203.664,-204.755 l 0,0 c 0,0 26.92,-3.331 34.835,1.335 l 0,0 c 0,0 8.584,0.584 11.75,3.333 l 0,0 c 0,0 -21.575,2.747 -46.133,16.917 l 0,0 c 0,0 -13.402,0.5 -23.184,5.282 l 0,0 c 0,0 -30.437,18.968 -55.426,54.64 l 0,0 c 0,0 -3.209,6.493 -0.001,14.703 l 0,0 c 1,1.625 5.625,17.625 79.5,70.751 l 0,0 c 0,0 0.627,3.035 0.293,7.868 l 0,0 c 0,0 -49.999,13.168 -62.043,67.631 l 0,0 c 0,0 -4.539,25.085 -2.789,41.21 l 0,0 c 0,0 -8.292,20.915 -30.001,49.832 l 0,0 c 0,0 -8.333,9.001 -14.332,31.502 l 0,0 c 0,0 -4.167,16.833 -2.378,25.331 l 0,0 c 0,0 1.544,8.669 8.125,11 l 0,0 c 0,0 4.282,1.914 10.408,-0.586 l 0,0 -0.293,6.086 c 0,0 -1.588,0.816 -4.985,0.816 l 0,0 c -1.577,0 -3.544,-0.176 -5.921,-0.691"
2241 style="fill:url(#radialGradient5895);stroke:none"
2242 id="path3391" />
2243 </g>
2244 </g>
2245 <g
2246 id="g3401"
2247 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2248 <g
2249 id="g3403" />
2250 <g
2251 id="g3409">
2252 <g
2253 style="opacity:0.25"
2254 clip-path="url(#clipPath3405)"
2255 id="g3411">
2256 <g
2257 transform="translate(134.7617,357.1118)"
2258 id="g3413">
2259 <path
2260 d="m 0,0 c 0,0 -4.532,6.713 -8.051,11.213 0,0 -8.669,9.625 -14.333,31.502 0,0 -4.167,16.834 -2.378,25.331 0,0 1.544,8.669 8.125,11 0,0 4.283,1.914 10.408,-0.586 l -0.292,6.086 c 0,0 -4.407,2.125 -10.907,-0.625 0,0 -8.859,-3.703 -11.25,-14.875 0,0 -1.625,-6.25 0,-13.375 0,0 6.125,-37.125 28.678,-55.671"
2261 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2262 id="path3415" />
2263 </g>
2264 </g>
2265 </g>
2266 </g>
2267 <g
2268 id="g3417"
2269 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2270 <g
2271 id="g3419" />
2272 <g
2273 id="g3425">
2274 <g
2275 style="opacity:0.25"
2276 clip-path="url(#clipPath3421)"
2277 id="g3427">
2278 <g
2279 transform="translate(221.25,201.7832)"
2280 id="g3429">
2281 <path
2282 d="m 0,0 c 0,0 0.627,3.036 0.293,7.869 0,0 -50,13.168 -62.043,67.631 0,0 -4.539,25.084 -2.789,41.209 0,0 -1.913,4.448 -5.254,11.03 0,0 -5.913,-28.533 1.254,-53.529 0,0 10.498,-50.835 68.539,-74.21"
2283 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2284 id="path3431" />
2285 </g>
2286 </g>
2287 </g>
2288 </g>
2289 <g
2290 id="g3433"
2291 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2292 <g
2293 id="g3435" />
2294 <g
2295 id="g3441">
2296 <g
2297 style="opacity:0.25"
2298 clip-path="url(#clipPath3437)"
2299 id="g3443">
2300 <g
2301 transform="translate(221.25,201.7832)"
2302 id="g3445">
2303 <path
2304 d="m 0,0 c -73.875,-53.125 -78.5,-69.125 -79.5,-70.75 -3.208,-8.21 0,-14.703 0,-14.703 24.99,-35.672 55.428,-54.641 55.428,-54.641 14.281,-10.943 31.813,-15.843 31.813,-15.843 15.801,-4.6 26.897,-4.105 26.897,-4.105 3.118,-0.864 5.793,-1.38 5.793,-1.38 0,0 -27.16,-8.766 -67.785,16.109 0,0 -33.062,18.188 -60.875,61.563 0,0 -4.562,6.25 0,12.25 0,0 14.313,24.875 88.229,71.5"
2305 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2306 id="path3447" />
2307 </g>
2308 </g>
2309 </g>
2310 </g>
2311 <g
2312 id="g3449"
2313 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2314 <g
2315 id="g3451" />
2316 <g
2317 id="g3457">
2318 <g
2319 style="opacity:0.5"
2320 clip-path="url(#clipPath3453)"
2321 id="g3459">
2322 <g
2323 transform="translate(255.8877,41.7412)"
2324 id="g3461">
2325 <path
2326 d="m 0,0 c 0,0 -16.804,3.911 -35.527,14.666 0,0 -13.402,0.501 -23.183,5.282 C -58.71,19.948 -33.741,0 0,0"
2327 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2328 id="path3463" />
2329 </g>
2330 </g>
2331 </g>
2332 </g>
2333 <g
2334 id="g3465"
2335 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2336 <g
2337 id="g3467" />
2338 <g
2339 id="g3473">
2340 <g
2341 style="opacity:0.60000598"
2342 clip-path="url(#clipPath3469)"
2343 id="g3475">
2344 <g
2345 transform="translate(231.376,40.8203)"
2346 id="g3477">
2347 <path
2348 d="m 0,0 c 0,0 -51.666,7.005 -97.166,73.172 0,0 -7.667,3.169 11.833,-18.664 C -85.333,54.508 -40,3.174 0,0"
2349 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2350 id="path3479" />
2351 </g>
2352 </g>
2353 </g>
2354 </g>
2355 <g
2356 id="g3481"
2357 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2358 <g
2359 id="g3483" />
2360 <g
2361 id="g3489">
2362 <g
2363 style="opacity:0.5"
2364 clip-path="url(#clipPath3485)"
2365 id="g3491">
2366 <g
2367 transform="translate(239.1875,39.4785)"
2368 id="g3493">
2369 <path
2370 d="m 0,0 c 0,0 9.557,-3.82 15.557,-3.32 0,0 10.417,1.153 11.75,3.333 0,0 -2.164,0.293 -4.814,0.87 0,0 -8.84,-2.703 -22.493,-0.883"
2371 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2372 id="path3495" />
2373 </g>
2374 </g>
2375 </g>
2376 </g>
2377 <g
2378 id="g3497"
2379 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2380 <g
2381 id="g3499" />
2382 <g
2383 id="g3505">
2384 <g
2385 style="opacity:0.60000598"
2386 clip-path="url(#clipPath3501)"
2387 id="g3507">
2388 <g
2389 transform="translate(119.811,442.2246)"
2390 id="g3509">
2391 <path
2392 d="m 0,0 c 0,0 1.757,0.293 3.897,0.215 -3.171,0.062 -6.374,-1.406 -6.374,-1.406 -9.672,-4.75 -11.25,-14.875 -11.25,-14.875 -0.797,-3.344 -0.721,-6.75 -0.721,-6.75 0.002,-3.782 0.721,-6.625 0.721,-6.625 8.062,-41.125 28.678,-55.671 28.678,-55.672 0,0 -28.72,22.838 -31.463,63.23 0,0 -0.387,5.504 0.66,8.567 0,0 4.203,11.64 15.852,13.316"
2393 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2394 id="path3511" />
2395 </g>
2396 </g>
2397 </g>
2398 </g>
2399 <g
2400 id="g3513"
2401 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2402 <g
2403 id="g3515" />
2404 <g
2405 id="g3521">
2406 <g
2407 style="opacity:0.60000598"
2408 clip-path="url(#clipPath3517)"
2409 id="g3523">
2410 <g
2411 transform="translate(164.6641,248.5342)"
2412 id="g3525">
2413 <path
2414 d="m 0,0 c 0,0 16.482,-30.876 56.586,-46.751 0,0 -9.697,-6.344 -16.728,-10.845 0,0 -58.813,21.97 -69.438,90.22 0,0 -2.25,13 0,30.875 0,0 1.75,15.625 8.759,31.005 0,0 4.098,-7.015 7.613,-13.516 0,0 -1.435,-7.708 -1.881,-14.678 0,0 -0.616,-5.623 -0.272,-16.061 0,0 -0.532,-25.437 15.361,-50.249"
2415 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2416 id="path3527" />
2417 </g>
2418 </g>
2419 </g>
2420 </g>
2421 <g
2422 id="g3529"
2423 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2424 <g
2425 id="g3531" />
2426 <g
2427 id="g3537">
2428 <g
2429 style="opacity:0.19999701"
2430 clip-path="url(#clipPath3533)"
2431 id="g3539">
2432 <g
2433 transform="translate(101.9595,411.7412)"
2434 id="g3541">
2435 <path
2436 d="m 0,0 c 0,0 -7.833,-0.833 -19.917,-19.833 0,0 -5.416,-10.083 -2.25,-23.417 0,0 0.334,-6.916 10.084,-7.5 0,0 1.253,0 2.333,1.75 0,0 3.5,4.667 11.25,6.5 0,0 3,0.917 6.167,0.167 0,0 2.032,-0.75 2,-2.5 0,0 -0.417,-2.5 5.583,-4.25 0,0 2,-0.75 5.083,-1.083 0,0 3.917,0.25 -1.75,5.75 0,0 -17.999,16.835 -17.999,37.416 0,0 0.916,7 -0.584,7"
2437 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2438 id="path3543" />
2439 </g>
2440 </g>
2441 </g>
2442 </g>
2443 <g
2444 id="g3545"
2445 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2446 <g
2447 id="g3547" />
2448 <g
2449 id="g3593"
2450 mask="url(#mask3567)">
2451 <g
2452 id="g3595" />
2453 <g
2454 id="g3601">
2455 <g
2456 clip-path="url(#clipPath3597)"
2457 id="g3603">
2458 <g
2459 transform="translate(100.334,421.5332)"
2460 id="g3605">
2461 <path
2462 d="m 0,0 c 0,0 -50.625,-40.375 -66.125,-117.75 0,0 -7.125,-36.5 -2.215,-66.875 0,0 10.965,-90.25 89.715,-145.75 0,0 5.833,-3.923 9.613,-0.155 0,0 3.387,4.03 -0.196,7.905 0,0 -5.292,6.375 -26.084,21.077 0,0 -58.583,46.798 -67.083,132.346 0,0 -2.375,26.077 1,47.452 0,0 6.5,68.125 61.375,121.75"
2463 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2464 id="path3607" />
2465 </g>
2466 </g>
2467 </g>
2468 </g>
2469 </g>
2470 <g
2471 id="g3609"
2472 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2473 <g
2474 id="g3611" />
2475 <g
2476 id="g3657"
2477 mask="url(#mask3631)">
2478 <g
2479 id="g3659" />
2480 <g
2481 id="g3665">
2482 <g
2483 clip-path="url(#clipPath3661)"
2484 id="g3667">
2485 <g
2486 transform="translate(20.8755,246.2832)"
2487 id="g3669">
2488 <path
2489 d="m 0,0 c 0,0 -5.146,31.5 6.75,69.5 0,0 16.5,62.75 60.5,102.75 0,0 8.474,6.775 17.85,18.368 0,0.001 -53.184,-30.282 -82.85,-120.118 0,0 -11.25,-26.25 -6,-70.75 0,0 2.5,-39.75 20.625,-74.5 0,0 -10.974,26.628 -16.875,74.75"
2490 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2491 id="path3671" />
2492 </g>
2493 </g>
2494 </g>
2495 </g>
2496 </g>
2497 <g
2498 id="g3673"
2499 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2500 <g
2501 id="g3675" />
2502 <g
2503 id="g3721"
2504 mask="url(#mask3695)">
2505 <g
2506 id="g3723" />
2507 <g
2508 id="g3729">
2509 <g
2510 clip-path="url(#clipPath3725)"
2511 id="g3731">
2512 <g
2513 transform="translate(33.937,174.1846)"
2514 id="g3733">
2515 <path
2516 d="m 0,0 c 0,0 19.959,-51.526 65.609,-87.589 0,0 44.475,-40 120.363,-51.772 0,0 26.921,-3.331 34.835,1.335 0,0 8.584,0.583 11.75,3.333 0,0 -2.065,0.331 -4.813,0.87 0,0 -27.303,-9.37 -67.785,16.109 0,0 -14.685,8.354 -29.537,23.164 0,0 -67.213,10.461 -130.422,94.55"
2517 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2518 id="path3735" />
2519 </g>
2520 </g>
2521 </g>
2522 </g>
2523 </g>
2524 <g
2525 id="g3745"
2526 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2527 <g
2528 id="g3747">
2529 <path
2530 d="m 187.52,352.375 c 0,0 -24.064,-21.749 -24.036,-57.791 l 0,0 c 0,0 -1.714,-28.958 21.66,-53.833 l 0,0 c 0,0 24.251,-30.086 70.166,-30.041 l 0,0 c 0,0 34.084,-2.209 64.178,24.603 l 0,0 c 0,0 26.91,21.188 26.91,59.98 l 0,0 c 0,0 2.621,28.832 -22.753,55.957 l 0,0 c 0,0 -25.001,28.567 -69.078,28.545 l 0,0 c 0,0 -0.447,0.022 -1.282,0.022 l 0,0 c -6.674,0 -38.213,-1.445 -65.765,-27.442"
2531 style="fill:url(#radialGradient5978);stroke:none"
2532 id="path3755" />
2533 </g>
2534 </g>
2535 <g
2536 id="g3765"
2537 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2538 <g
2539 id="g3767" />
2540 <g
2541 id="g3813"
2542 mask="url(#mask3787)">
2543 <g
2544 id="g3815" />
2545 <g
2546 id="g3821">
2547 <g
2548 clip-path="url(#clipPath3817)"
2549 id="g3823">
2550 <g
2551 transform="translate(222.21,356.0747)"
2552 id="g3825">
2553 <path
2554 d="m 0,0 c 0,0 -29.5,-4.583 -33,-54.333 0,0 -0.081,-18.999 6.833,-22.499 0,0 3.834,-1.167 3.417,6.333 0,0 -1.083,10.501 0.917,28.418 0,0 2.083,26.666 21.833,42.081"
2555 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2556 id="path3827" />
2557 </g>
2558 </g>
2559 </g>
2560 </g>
2561 </g>
2562 <g
2563 id="g3829"
2564 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2565 <g
2566 id="g3831" />
2567 <g
2568 id="g3877"
2569 mask="url(#mask3851)">
2570 <g
2571 id="g3879" />
2572 <g
2573 id="g3885">
2574 <g
2575 clip-path="url(#clipPath3881)"
2576 id="g3887">
2577 <g
2578 transform="translate(259.3965,363.3457)"
2579 id="g3889">
2580 <path
2581 d="m 0,0 c 0,0 -18.313,1.938 -29.688,-4.125 0,0 -9.312,-5.188 -15.062,-14.125 0,0 -2.063,-5.375 3.062,-4.125 0,0 8,7.312 17.125,12.875 0,0 10.063,6.187 24.563,9.5"
2582 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2583 id="path3891" />
2584 </g>
2585 </g>
2586 </g>
2587 </g>
2588 </g>
2589 <g
2590 id="g3893"
2591 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2592 <g
2593 id="g3895" />
2594 <g
2595 id="g3943"
2596 mask="url(#mask3917)">
2597 <g
2598 id="g3945" />
2599 <g
2600 id="g3951">
2601 <g
2602 clip-path="url(#clipPath3947)"
2603 id="g3953">
2604 <g
2605 transform="translate(342.459,312.9082)"
2606 id="g3955">
2607 <path
2608 d="m 0,0 c 0,0 -12.5,61 -81.375,66.5 0,0 -49.375,6 -81.375,-38.626 0,0 27.833,33.543 76.834,34.958 0,0 65.333,2.918 85.916,-62.832"
2609 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2610 id="path3957" />
2611 </g>
2612 </g>
2613 </g>
2614 </g>
2615 </g>
2616 <g
2617 id="g3959"
2618 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2619 <g
2620 id="g3961" />
2621 <g
2622 id="g4011"
2623 mask="url(#mask3985)">
2624 <g
2625 id="g4013" />
2626 <g
2627 id="g4033">
2628 <g
2629 clip-path="url(#clipPath4015)"
2630 id="g4035">
2631 <g
2632 id="g4037">
2633 <g
2634 id="g4039">
2635 <g
2636 id="g4041">
2637 <g
2638 id="g4043">
2639 <path
2640 d="m 185.145,240.751 c 0,0 24.25,-30.086 70.166,-30.041 0,0 34.084,-2.209 64.177,24.603 0,0 26.91,21.188 26.91,59.98 0,0 2.622,28.832 -22.753,55.957 0,0 -25,28.567 -69.079,28.545 0,0 -36.046,1.83 -67.046,-27.42 0,0 -24.064,-21.75 -24.036,-57.791 0,0 -1.714,-28.958 21.661,-53.833"
2641 style="fill:url(#radialGradient5983);stroke:none"
2642 id="path4045" />
2643 </g>
2644 </g>
2645 </g>
2646 </g>
2647 </g>
2648 </g>
2649 </g>
2650 </g>
2651 <g
2652 id="g4047"
2653 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2654 <g
2655 id="g4049" />
2656 <g
2657 id="g4095"
2658 mask="url(#mask4069)">
2659 <g
2660 id="g4097" />
2661 <g
2662 id="g4113">
2663 <g
2664 clip-path="url(#clipPath4099)"
2665 id="g4115">
2666 <g
2667 id="g4117">
2668 <g
2669 id="g4119">
2670 <g
2671 id="g4121">
2672 <g
2673 id="g4123">
2674 <path
2675 d="m 176.834,320.471 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 16.5,-53.125 84.625,-27.812 0,0 -11,-11.313 -12.75,-21.063 0,0 -34.75,-5.625 -59.25,10.75 0,0 -36.375,24.625 -23.875,87.188"
2676 style="fill:url(#linearGradient5985);stroke:none"
2677 id="path4125" />
2678 </g>
2679 </g>
2680 </g>
2681 </g>
2682 </g>
2683 </g>
2684 </g>
2685 </g>
2686 <g
2687 id="g4127"
2688 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2689 <g
2690 id="g4129" />
2691 <g
2692 id="g4135">
2693 <g
2694 style="opacity:0.14999402"
2695 clip-path="url(#clipPath4131)"
2696 id="g4137">
2697 <g
2698 transform="translate(182.7368,275.4937)"
2699 id="g4139">
2700 <path
2701 d="m 0,0 c 0,0 2.597,-3.117 5.347,-4.085 0,0 16.5,-53.125 84.625,-27.813 0,0 -2.623,-2.697 -5.511,-6.593 0,0 -66.989,-24.677 -84.461,38.491"
2702 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2703 id="path4141" />
2704 </g>
2705 </g>
2706 </g>
2707 </g>
2708 <g
2709 id="g4143"
2710 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2711 <g
2712 id="g4145" />
2713 <g
2714 id="g4151">
2715 <g
2716 style="opacity:0.39999396"
2717 clip-path="url(#clipPath4147)"
2718 id="g4153">
2719 <g
2720 transform="translate(176.834,320.4707)"
2721 id="g4155">
2722 <path
2723 d="m 0,0 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 -17.875,5.5 -11.25,49.063"
2724 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2725 id="path4157" />
2726 </g>
2727 </g>
2728 </g>
2729 </g>
2730 <g
2731 id="g4159"
2732 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2733 <g
2734 id="g4161" />
2735 <g
2736 id="g4207"
2737 mask="url(#mask4181)">
2738 <g
2739 id="g4209" />
2740 <g
2741 id="g4225">
2742 <g
2743 clip-path="url(#clipPath4211)"
2744 id="g4227">
2745 <g
2746 id="g4229">
2747 <g
2748 id="g4231">
2749 <g
2750 id="g4233">
2751 <g
2752 id="g4235">
2753 <path
2754 d="m 310.584,343.158 c 0,0 35.125,-45 -10.813,-86 0,0 -13.062,-7.75 -15.423,-31.722 0,0 103.695,48.722 26.236,117.722"
2755 style="fill:url(#linearGradient5987);stroke:none"
2756 id="path4237" />
2757 </g>
2758 </g>
2759 </g>
2760 </g>
2761 </g>
2762 </g>
2763 </g>
2764 </g>
2765 <g
2766 id="g4239"
2767 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2768 <g
2769 id="g4241" />
2770 <g
2771 id="g4247">
2772 <g
2773 style="opacity:0.14999402"
2774 clip-path="url(#clipPath4243)"
2775 id="g4249">
2776 <g
2777 transform="translate(326.7637,325.7793)"
2778 id="g4251">
2779 <path
2780 d="m 0,0 c 0,0 -5.93,8.316 -16.18,17.379 0,0 41.25,-45.188 -12.437,-88.875 0,0 44.645,5.458 28.617,71.496"
2781 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2782 id="path4253" />
2783 </g>
2784 </g>
2785 </g>
2786 </g>
2787 <g
2788 id="g4255"
2789 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2790 <g
2791 id="g4257" />
2792 <g
2793 id="g4263">
2794 <g
2795 style="opacity:0.39999396"
2796 clip-path="url(#clipPath4259)"
2797 id="g4265">
2798 <g
2799 transform="translate(310.584,343.1582)"
2800 id="g4267">
2801 <path
2802 d="m 0,0 c 0,0 35.125,-45 -10.813,-86 0,0 48.938,35.25 10.813,86"
2803 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2804 id="path4269" />
2805 </g>
2806 </g>
2807 </g>
2808 </g>
2809 <g
2810 id="g4271"
2811 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2812 <g
2813 id="g4273" />
2814 <g
2815 id="g4319"
2816 mask="url(#mask4293)">
2817 <g
2818 id="g4321" />
2819 <g
2820 id="g4327">
2821 <g
2822 clip-path="url(#clipPath4323)"
2823 id="g4329">
2824 <g
2825 transform="translate(306.876,364.4912)"
2826 id="g4331">
2827 <path
2828 d="m 0,0 c 0,0 -6.917,1 -15.5,-3.167 0,0 -8.167,-1.916 -12.25,0.584 0,0 -30.75,17.916 -67.416,-4.417 0,0 -18.916,-7.667 -27.832,-15.333 0,0 46.664,63.499 122.998,22.333"
2829 style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
2830 id="path4333" />
2831 </g>
2832 </g>
2833 </g>
2834 </g>
2835 </g>
2836 <g
2837 id="g4335"
2838 transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)">
2839 <g
2840 id="g4337" />
2841 <g
2842 id="g4343">
2843 <g
2844 style="opacity:0.39999396"
2845 clip-path="url(#clipPath4339)"
2846 id="g4345">
2847 <g
2848 transform="translate(279.126,361.9077)"
2849 id="g4347">
2850 <path
2851 d="m 0,0 c 0,0 -30.75,17.917 -67.416,-4.417 0,0 31.249,23.917 67.416,4.417"
2852 style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
2853 id="path4349" />
2854 </g>
2855 </g>
2856 </g>
2857 </g>
2858 </g>
2859</svg>
diff --git a/web/assets/appicons/android_full.png b/web/assets/appicons/android_full.png
new file mode 100644
index 00000000..1d777800
--- /dev/null
+++ b/web/assets/appicons/android_full.png
Binary files differ
diff --git a/web/assets/appicons/appstore.svg b/web/assets/appicons/appstore.svg
new file mode 100644
index 00000000..ac111e59
--- /dev/null
+++ b/web/assets/appicons/appstore.svg
@@ -0,0 +1,129 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4<svg version="1.1" id="US_UK_Download_on_the" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
5 x="0px" y="0px" width="135px" height="40px" viewBox="0 0 135 40" enable-background="new 0 0 135 40" xml:space="preserve">
6<g>
7 <path fill="#A6A6A6" d="M130.197,40H4.729C2.122,40,0,37.872,0,35.267V4.726C0,2.12,2.122,0,4.729,0h125.468
8 C132.803,0,135,2.12,135,4.726v30.541C135,37.872,132.803,40,130.197,40L130.197,40z"/>
9 <path d="M134.032,35.268c0,2.116-1.714,3.83-3.834,3.83H4.729c-2.119,0-3.839-1.714-3.839-3.83V4.725
10 c0-2.115,1.72-3.835,3.839-3.835h125.468c2.121,0,3.834,1.72,3.834,3.835L134.032,35.268L134.032,35.268z"/>
11 <g>
12 <g>
13 <path fill="#FFFFFF" d="M30.128,19.784c-0.029-3.223,2.639-4.791,2.761-4.864c-1.511-2.203-3.853-2.504-4.676-2.528
14 c-1.967-0.207-3.875,1.177-4.877,1.177c-1.022,0-2.565-1.157-4.228-1.123c-2.14,0.033-4.142,1.272-5.24,3.196
15 c-2.266,3.923-0.576,9.688,1.595,12.859c1.086,1.553,2.355,3.287,4.016,3.226c1.625-0.067,2.232-1.036,4.193-1.036
16 c1.943,0,2.513,1.036,4.207,0.997c1.744-0.028,2.842-1.56,3.89-3.127c1.255-1.78,1.759-3.533,1.779-3.623
17 C33.507,24.924,30.161,23.647,30.128,19.784z"/>
18 <path fill="#FFFFFF" d="M26.928,10.306c0.874-1.093,1.472-2.58,1.306-4.089c-1.265,0.056-2.847,0.875-3.758,1.944
19 c-0.806,0.942-1.526,2.486-1.34,3.938C24.557,12.205,26.016,11.382,26.928,10.306z"/>
20 </g>
21 </g>
22 <g>
23 <path fill="#FFFFFF" d="M53.645,31.504h-2.271l-1.244-3.909h-4.324l-1.185,3.909h-2.211l4.284-13.308h2.646L53.645,31.504z
24 M49.755,25.955L48.63,22.48c-0.119-0.355-0.342-1.191-0.671-2.507h-0.04c-0.131,0.566-0.342,1.402-0.632,2.507l-1.105,3.475
25 H49.755z"/>
26 <path fill="#FFFFFF" d="M64.662,26.588c0,1.632-0.441,2.922-1.323,3.869c-0.79,0.843-1.771,1.264-2.942,1.264
27 c-1.264,0-2.172-0.454-2.725-1.362h-0.04v5.055h-2.132V25.067c0-1.026-0.027-2.079-0.079-3.159h1.875l0.119,1.521h0.04
28 c0.711-1.146,1.79-1.718,3.238-1.718c1.132,0,2.077,0.447,2.833,1.342C64.284,23.949,64.662,25.127,64.662,26.588z M62.49,26.666
29 c0-0.934-0.21-1.704-0.632-2.31c-0.461-0.632-1.08-0.948-1.856-0.948c-0.526,0-1.004,0.176-1.431,0.523
30 c-0.428,0.35-0.708,0.807-0.839,1.373c-0.066,0.264-0.099,0.48-0.099,0.65v1.6c0,0.698,0.214,1.287,0.642,1.768
31 s0.984,0.721,1.668,0.721c0.803,0,1.428-0.31,1.875-0.928C62.266,28.496,62.49,27.68,62.49,26.666z"/>
32 <path fill="#FFFFFF" d="M75.699,26.588c0,1.632-0.441,2.922-1.324,3.869c-0.789,0.843-1.77,1.264-2.941,1.264
33 c-1.264,0-2.172-0.454-2.724-1.362H68.67v5.055h-2.132V25.067c0-1.026-0.027-2.079-0.079-3.159h1.875l0.119,1.521h0.04
34 c0.71-1.146,1.789-1.718,3.238-1.718c1.131,0,2.076,0.447,2.834,1.342C75.32,23.949,75.699,25.127,75.699,26.588z M73.527,26.666
35 c0-0.934-0.211-1.704-0.633-2.31c-0.461-0.632-1.078-0.948-1.855-0.948c-0.527,0-1.004,0.176-1.432,0.523
36 c-0.428,0.35-0.707,0.807-0.838,1.373c-0.065,0.264-0.099,0.48-0.099,0.65v1.6c0,0.698,0.214,1.287,0.64,1.768
37 c0.428,0.48,0.984,0.721,1.67,0.721c0.803,0,1.428-0.31,1.875-0.928C73.303,28.496,73.527,27.68,73.527,26.666z"/>
38 <path fill="#FFFFFF" d="M88.039,27.772c0,1.132-0.393,2.053-1.182,2.764c-0.867,0.777-2.074,1.165-3.625,1.165
39 c-1.432,0-2.58-0.276-3.449-0.829l0.494-1.777c0.936,0.566,1.963,0.85,3.082,0.85c0.803,0,1.428-0.182,1.877-0.544
40 c0.447-0.362,0.67-0.848,0.67-1.454c0-0.54-0.184-0.995-0.553-1.364c-0.367-0.369-0.98-0.712-1.836-1.029
41 c-2.33-0.869-3.494-2.142-3.494-3.816c0-1.094,0.408-1.991,1.225-2.689c0.814-0.699,1.9-1.048,3.258-1.048
42 c1.211,0,2.217,0.211,3.02,0.632l-0.533,1.738c-0.75-0.408-1.598-0.612-2.547-0.612c-0.75,0-1.336,0.185-1.756,0.553
43 c-0.355,0.329-0.533,0.73-0.533,1.205c0,0.526,0.203,0.961,0.611,1.303c0.355,0.316,1,0.658,1.936,1.027
44 c1.145,0.461,1.986,1,2.527,1.618C87.77,26.081,88.039,26.852,88.039,27.772z"/>
45 <path fill="#FFFFFF" d="M95.088,23.508h-2.35v4.659c0,1.185,0.414,1.777,1.244,1.777c0.381,0,0.697-0.033,0.947-0.099l0.059,1.619
46 c-0.42,0.157-0.973,0.236-1.658,0.236c-0.842,0-1.5-0.257-1.975-0.77c-0.473-0.514-0.711-1.376-0.711-2.587v-4.837h-1.4v-1.6h1.4
47 v-1.757l2.094-0.632v2.389h2.35V23.508z"/>
48 <path fill="#FFFFFF" d="M105.691,26.627c0,1.475-0.422,2.686-1.264,3.633c-0.883,0.975-2.055,1.461-3.516,1.461
49 c-1.408,0-2.529-0.467-3.365-1.401s-1.254-2.113-1.254-3.534c0-1.487,0.43-2.705,1.293-3.652c0.861-0.948,2.023-1.422,3.484-1.422
50 c1.408,0,2.541,0.467,3.396,1.402C105.283,24.021,105.691,25.192,105.691,26.627z M103.479,26.696
51 c0-0.885-0.189-1.644-0.572-2.277c-0.447-0.766-1.086-1.148-1.914-1.148c-0.857,0-1.508,0.383-1.955,1.148
52 c-0.383,0.634-0.572,1.405-0.572,2.317c0,0.885,0.189,1.644,0.572,2.276c0.461,0.766,1.105,1.148,1.936,1.148
53 c0.814,0,1.453-0.39,1.914-1.168C103.281,28.347,103.479,27.58,103.479,26.696z"/>
54 <path fill="#FFFFFF" d="M112.621,23.783c-0.211-0.039-0.436-0.059-0.672-0.059c-0.75,0-1.33,0.283-1.738,0.85
55 c-0.355,0.5-0.533,1.132-0.533,1.895v5.035h-2.131l0.02-6.574c0-1.106-0.027-2.113-0.08-3.021h1.857l0.078,1.836h0.059
56 c0.225-0.631,0.58-1.139,1.066-1.52c0.475-0.343,0.988-0.514,1.541-0.514c0.197,0,0.375,0.014,0.533,0.039V23.783z"/>
57 <path fill="#FFFFFF" d="M122.156,26.252c0,0.382-0.025,0.704-0.078,0.967h-6.396c0.025,0.948,0.334,1.673,0.928,2.173
58 c0.539,0.447,1.236,0.671,2.092,0.671c0.947,0,1.811-0.151,2.588-0.454l0.334,1.48c-0.908,0.396-1.98,0.593-3.217,0.593
59 c-1.488,0-2.656-0.438-3.506-1.313c-0.848-0.875-1.273-2.05-1.273-3.524c0-1.447,0.395-2.652,1.186-3.613
60 c0.828-1.026,1.947-1.539,3.355-1.539c1.383,0,2.43,0.513,3.141,1.539C121.873,24.047,122.156,25.055,122.156,26.252z
61 M120.123,25.699c0.014-0.632-0.125-1.178-0.414-1.639c-0.369-0.593-0.936-0.889-1.699-0.889c-0.697,0-1.264,0.289-1.697,0.869
62 c-0.355,0.461-0.566,1.014-0.631,1.658H120.123z"/>
63 </g>
64 <g>
65 <g>
66 <path fill="#FFFFFF" d="M49.05,10.009c0,1.177-0.353,2.063-1.058,2.658c-0.653,0.549-1.581,0.824-2.783,0.824
67 c-0.596,0-1.106-0.026-1.533-0.078V6.982c0.557-0.09,1.157-0.136,1.805-0.136c1.145,0,2.008,0.249,2.59,0.747
68 C48.723,8.156,49.05,8.961,49.05,10.009z M47.945,10.038c0-0.763-0.202-1.348-0.606-1.756c-0.404-0.407-0.994-0.611-1.771-0.611
69 c-0.33,0-0.611,0.022-0.844,0.068v4.889c0.129,0.02,0.365,0.029,0.708,0.029c0.802,0,1.421-0.223,1.857-0.669
70 S47.945,10.892,47.945,10.038z"/>
71 <path fill="#FFFFFF" d="M54.909,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.009,0.718-1.727,0.718
72 c-0.692,0-1.243-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.712-0.698
73 c0.692,0,1.248,0.229,1.669,0.688C54.708,9.757,54.909,10.333,54.909,11.037z M53.822,11.071c0-0.435-0.094-0.808-0.281-1.119
74 c-0.22-0.376-0.533-0.564-0.94-0.564c-0.421,0-0.741,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138
75 c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.714-0.191,0.94-0.574
76 C53.725,11.882,53.822,11.506,53.822,11.071z"/>
77 <path fill="#FFFFFF" d="M62.765,8.719l-1.475,4.714h-0.96l-0.611-2.047c-0.155-0.511-0.281-1.019-0.379-1.523h-0.019
78 c-0.091,0.518-0.217,1.025-0.379,1.523l-0.649,2.047h-0.971l-1.387-4.714h1.077l0.533,2.241c0.129,0.53,0.235,1.035,0.32,1.513
79 h0.019c0.078-0.394,0.207-0.896,0.389-1.503l0.669-2.25h0.854l0.641,2.202c0.155,0.537,0.281,1.054,0.378,1.552h0.029
80 c0.071-0.485,0.178-1.002,0.32-1.552l0.572-2.202H62.765z"/>
81 <path fill="#FFFFFF" d="M68.198,13.433H67.15v-2.7c0-0.832-0.316-1.248-0.95-1.248c-0.311,0-0.562,0.114-0.757,0.343
82 c-0.193,0.229-0.291,0.499-0.291,0.808v2.796h-1.048v-3.366c0-0.414-0.013-0.863-0.038-1.349h0.921l0.049,0.737h0.029
83 c0.122-0.229,0.304-0.418,0.543-0.569c0.284-0.176,0.602-0.265,0.95-0.265c0.44,0,0.806,0.142,1.097,0.427
84 c0.362,0.349,0.543,0.87,0.543,1.562V13.433z"/>
85 <path fill="#FFFFFF" d="M71.088,13.433h-1.047V6.556h1.047V13.433z"/>
86 <path fill="#FFFFFF" d="M77.258,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.01,0.718-1.727,0.718
87 c-0.693,0-1.244-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.711-0.698
88 c0.693,0,1.248,0.229,1.67,0.688C77.057,9.757,77.258,10.333,77.258,11.037z M76.17,11.071c0-0.435-0.094-0.808-0.281-1.119
89 c-0.219-0.376-0.533-0.564-0.939-0.564c-0.422,0-0.742,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138
90 c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.713-0.191,0.939-0.574
91 C76.074,11.882,76.17,11.506,76.17,11.071z"/>
92 <path fill="#FFFFFF" d="M82.33,13.433h-0.941l-0.078-0.543h-0.029c-0.322,0.433-0.781,0.65-1.377,0.65
93 c-0.445,0-0.805-0.143-1.076-0.427c-0.246-0.258-0.369-0.579-0.369-0.96c0-0.576,0.24-1.015,0.723-1.319
94 c0.482-0.304,1.16-0.453,2.033-0.446V10.3c0-0.621-0.326-0.931-0.979-0.931c-0.465,0-0.875,0.117-1.229,0.349l-0.213-0.688
95 c0.438-0.271,0.979-0.407,1.617-0.407c1.232,0,1.85,0.65,1.85,1.95v1.736C82.262,12.78,82.285,13.155,82.33,13.433z
96 M81.242,11.813v-0.727c-1.156-0.02-1.734,0.297-1.734,0.95c0,0.246,0.066,0.43,0.201,0.553c0.135,0.123,0.307,0.184,0.512,0.184
97 c0.23,0,0.445-0.073,0.641-0.218c0.197-0.146,0.318-0.331,0.363-0.558C81.236,11.946,81.242,11.884,81.242,11.813z"/>
98 <path fill="#FFFFFF" d="M88.285,13.433h-0.93l-0.049-0.757h-0.029c-0.297,0.576-0.803,0.864-1.514,0.864
99 c-0.568,0-1.041-0.223-1.416-0.669s-0.562-1.025-0.562-1.736c0-0.763,0.203-1.381,0.611-1.853c0.395-0.44,0.879-0.66,1.455-0.66
100 c0.633,0,1.076,0.213,1.328,0.64h0.02V6.556h1.049v5.607C88.248,12.622,88.26,13.045,88.285,13.433z M87.199,11.445v-0.786
101 c0-0.136-0.01-0.246-0.029-0.33c-0.059-0.252-0.186-0.464-0.379-0.635c-0.195-0.171-0.43-0.257-0.701-0.257
102 c-0.391,0-0.697,0.155-0.922,0.466c-0.223,0.311-0.336,0.708-0.336,1.193c0,0.466,0.107,0.844,0.322,1.135
103 c0.227,0.31,0.533,0.465,0.916,0.465c0.344,0,0.619-0.129,0.828-0.388C87.1,12.069,87.199,11.781,87.199,11.445z"/>
104 <path fill="#FFFFFF" d="M97.248,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.008,0.718-1.727,0.718
105 c-0.691,0-1.242-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.713-0.698
106 c0.691,0,1.248,0.229,1.668,0.688C97.047,9.757,97.248,10.333,97.248,11.037z M96.162,11.071c0-0.435-0.094-0.808-0.281-1.119
107 c-0.221-0.376-0.533-0.564-0.941-0.564c-0.42,0-0.74,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138
108 c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.715-0.191,0.941-0.574
109 C96.064,11.882,96.162,11.506,96.162,11.071z"/>
110 <path fill="#FFFFFF" d="M102.883,13.433h-1.047v-2.7c0-0.832-0.316-1.248-0.951-1.248c-0.311,0-0.562,0.114-0.756,0.343
111 s-0.291,0.499-0.291,0.808v2.796h-1.049v-3.366c0-0.414-0.012-0.863-0.037-1.349h0.92l0.049,0.737h0.029
112 c0.123-0.229,0.305-0.418,0.543-0.569c0.285-0.176,0.602-0.265,0.951-0.265c0.439,0,0.805,0.142,1.096,0.427
113 c0.363,0.349,0.543,0.87,0.543,1.562V13.433z"/>
114 <path fill="#FFFFFF" d="M109.936,9.504h-1.154v2.29c0,0.582,0.205,0.873,0.611,0.873c0.188,0,0.344-0.016,0.467-0.049
115 l0.027,0.795c-0.207,0.078-0.479,0.117-0.814,0.117c-0.414,0-0.736-0.126-0.969-0.378c-0.234-0.252-0.35-0.676-0.35-1.271V9.504
116 h-0.689V8.719h0.689V7.855l1.027-0.31v1.173h1.154V9.504z"/>
117 <path fill="#FFFFFF" d="M115.484,13.433h-1.049v-2.68c0-0.845-0.316-1.268-0.949-1.268c-0.486,0-0.818,0.245-1,0.735
118 c-0.031,0.103-0.049,0.229-0.049,0.377v2.835h-1.047V6.556h1.047v2.841h0.02c0.33-0.517,0.803-0.775,1.416-0.775
119 c0.434,0,0.793,0.142,1.078,0.427c0.355,0.355,0.533,0.883,0.533,1.581V13.433z"/>
120 <path fill="#FFFFFF" d="M121.207,10.853c0,0.188-0.014,0.346-0.039,0.475h-3.143c0.014,0.466,0.164,0.821,0.455,1.067
121 c0.266,0.22,0.609,0.33,1.029,0.33c0.465,0,0.889-0.074,1.271-0.223l0.164,0.728c-0.447,0.194-0.973,0.291-1.582,0.291
122 c-0.73,0-1.305-0.215-1.721-0.645c-0.418-0.43-0.625-1.007-0.625-1.731c0-0.711,0.193-1.303,0.582-1.775
123 c0.406-0.504,0.955-0.756,1.648-0.756c0.678,0,1.193,0.252,1.541,0.756C121.068,9.77,121.207,10.265,121.207,10.853z
124 M120.207,10.582c0.008-0.311-0.061-0.579-0.203-0.805c-0.182-0.291-0.459-0.437-0.834-0.437c-0.342,0-0.621,0.142-0.834,0.427
125 c-0.174,0.227-0.277,0.498-0.311,0.815H120.207z"/>
126 </g>
127 </g>
128</g>
129</svg>
diff --git a/web/assets/appicons/browser.png b/web/assets/appicons/browser.png
new file mode 100644
index 00000000..b70e3b8d
--- /dev/null
+++ b/web/assets/appicons/browser.png
Binary files differ
diff --git a/web/assets/appicons/fdroid.png b/web/assets/appicons/fdroid.png
new file mode 100644
index 00000000..23af0e40
--- /dev/null
+++ b/web/assets/appicons/fdroid.png
Binary files differ
diff --git a/web/assets/appicons/google_play.png b/web/assets/appicons/google_play.png
new file mode 100644
index 00000000..c77b7464
--- /dev/null
+++ b/web/assets/appicons/google_play.png
Binary files differ
diff --git a/web/assets/appicons/iOS_full.png b/web/assets/appicons/iOS_full.png
new file mode 100644
index 00000000..bd016399
--- /dev/null
+++ b/web/assets/appicons/iOS_full.png
Binary files differ
diff --git a/web/assets/appicons/ios.png b/web/assets/appicons/ios.png
new file mode 100644
index 00000000..e68fe5e9
--- /dev/null
+++ b/web/assets/appicons/ios.png
Binary files differ
diff --git a/web/assets/appicons/opera-for-computers_icon_128x128.png b/web/assets/appicons/opera-for-computers_icon_128x128.png
new file mode 100644
index 00000000..a4fc59e9
--- /dev/null
+++ b/web/assets/appicons/opera-for-computers_icon_128x128.png
Binary files differ
diff --git a/web/assets/appicons/windows.jpeg b/web/assets/appicons/windows.jpeg
new file mode 100644
index 00000000..027baf56
--- /dev/null
+++ b/web/assets/appicons/windows.jpeg
Binary files differ
diff --git a/web/assets/appicons/windowsstore.png b/web/assets/appicons/windowsstore.png
new file mode 100644
index 00000000..0c27fa04
--- /dev/null
+++ b/web/assets/appicons/windowsstore.png
Binary files differ