Additions
|
@ -11,17 +11,17 @@
|
|||
<TheAppWelcome @newConn="showNewConnModal" />
|
||||
</div>
|
||||
<TheFooter />
|
||||
<NewConnectionModal v-if="isNewConnModal" />
|
||||
<ModalNewConnection v-if="isNewConnModal" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapActions, mapState } from 'vuex';
|
||||
import { mapActions, mapGetters } from 'vuex';
|
||||
import TheSettingBar from '@/components/TheSettingBar';
|
||||
import TheExploreBar from '@/components/TheExploreBar';
|
||||
import TheFooter from '@/components/TheFooter';
|
||||
import TheAppWelcome from '@/components/TheAppWelcome';
|
||||
import NewConnectionModal from '@/components/NewConnectionModal';
|
||||
import ModalNewConnection from '@/components/ModalNewConnection';
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
|
@ -30,16 +30,16 @@ export default {
|
|||
TheExploreBar,
|
||||
TheFooter,
|
||||
TheAppWelcome,
|
||||
NewConnectionModal
|
||||
ModalNewConnection
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
isLoading: state => state.application.isLoading,
|
||||
isNewConnModal: state => state.connections.isNewConnModal
|
||||
...mapGetters({
|
||||
isLoading: 'application/isLoading',
|
||||
isNewConnModal: 'connections/isNewModal'
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
<template>
|
||||
<div class="modal active modal-sm">
|
||||
<a class="modal-overlay" />
|
||||
<div class="modal-container">
|
||||
<div class="modal-header text-light">
|
||||
<div class="modal-title h6">
|
||||
Credentials
|
||||
</div>
|
||||
<a class="btn btn-clear c-hand" @click="closeModal" />
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="content">
|
||||
<form class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<div class="col-3">
|
||||
<label class="form-label">User:</label>
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<input
|
||||
v-model="credentials.user"
|
||||
class="form-input"
|
||||
type="text"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3">
|
||||
<label class="form-label">Password:</label>
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<input
|
||||
v-model="credentials.password"
|
||||
class="form-input"
|
||||
type="password"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer text-light">
|
||||
<button class="btn btn-primary mr-2" @click="sendCredentials">
|
||||
Send
|
||||
</button>
|
||||
<button class="btn btn-link" @click="closeModal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ModalAskCredentials',
|
||||
data () {
|
||||
return {
|
||||
credentials: {
|
||||
user: '',
|
||||
password: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
closeModal () {
|
||||
this.$emit('closeAsking');
|
||||
},
|
||||
sendCredentials () {
|
||||
this.$emit('credentials', this.credentials);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
|
@ -0,0 +1,224 @@
|
|||
<template>
|
||||
<div class="modal active">
|
||||
<a class="modal-overlay c-hand" @click="closeModal" />
|
||||
<div class="modal-container">
|
||||
<div class="modal-header text-light">
|
||||
<div class="modal-title h6">
|
||||
Create a new connection
|
||||
</div>
|
||||
<a class="btn btn-clear c-hand" @click="closeModal" />
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="content">
|
||||
<form class="form-horizontal">
|
||||
<fieldset class="m-0" :disabled="isTesting">
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Client:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<select v-model="connection.client" class="form-select">
|
||||
<option value="mysql">
|
||||
MySQL/MariaDB
|
||||
</option>
|
||||
<option value="mssql">
|
||||
Microsoft SQL
|
||||
</option>
|
||||
<option value="pg">
|
||||
PostgreSQL
|
||||
</option>
|
||||
<option value="oracledb">
|
||||
Oracle DB
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Host name/IP:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.host"
|
||||
class="form-input"
|
||||
type="text"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Port:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.port"
|
||||
class="form-input"
|
||||
type="number"
|
||||
min="1"
|
||||
max="65535"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">User:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.user"
|
||||
class="form-input"
|
||||
type="text"
|
||||
:disabled="connection.ask"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Password:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.password"
|
||||
class="form-input"
|
||||
type="password"
|
||||
:disabled="connection.ask"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12" />
|
||||
<div class="col-9 col-sm-12">
|
||||
<label class="form-checkbox form-inline">
|
||||
<input v-model="connection.ask" type="checkbox"><i class="form-icon" /> Ask for credentials
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer text-light">
|
||||
<BaseToast
|
||||
class="mb-2"
|
||||
:message="toast.message"
|
||||
:status="toast.status"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-gray mr-2"
|
||||
:class="{'loading': isTesting}"
|
||||
@click="startTest"
|
||||
>
|
||||
Test connection
|
||||
</button>
|
||||
<button class="btn btn-primary mr-2" @click="saveNewConnection">
|
||||
Save
|
||||
</button>
|
||||
<button class="btn btn-link" @click="closeModal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<ModalAskCredentials
|
||||
v-if="isAsking"
|
||||
@closeAsking="closeAsking"
|
||||
@credentials="continueTest"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapActions } from 'vuex';
|
||||
import { ipcRenderer } from 'electron';
|
||||
import ModalAskCredentials from '@/components/ModalAskCredentials';
|
||||
import BaseToast from '@/components/BaseToast';
|
||||
|
||||
export default {
|
||||
name: 'ModalNewConnection',
|
||||
components: {
|
||||
ModalAskCredentials,
|
||||
BaseToast
|
||||
},
|
||||
props: {
|
||||
isOpened: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
connection: {
|
||||
client: 'mysql',
|
||||
host: '127.0.0.1',
|
||||
port: '3306',
|
||||
user: 'root',
|
||||
password: '',
|
||||
ask: false
|
||||
},
|
||||
toast: {
|
||||
status: '',
|
||||
message: ''
|
||||
},
|
||||
isTesting: false,
|
||||
isAsking: false
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
...mapActions({
|
||||
closeModal: 'connections/hideNewConnModal',
|
||||
addConnection: 'connections/addConnection'
|
||||
}),
|
||||
async startTest () {
|
||||
this.isTesting = true;
|
||||
this.toast = {
|
||||
status: '',
|
||||
message: ''
|
||||
};
|
||||
|
||||
if (this.connection.ask)
|
||||
this.isAsking = true;
|
||||
else
|
||||
await this.invokeTest(this.connection);
|
||||
},
|
||||
async continueTest (credentials) { // if "Ask for credentials" is true
|
||||
this.isAsking = false;
|
||||
const params = Object.assign({}, this.connection, credentials);
|
||||
await this.invokeTest(params);
|
||||
},
|
||||
invokeTest (params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
ipcRenderer.invoke('testConnection', params).then(res => {
|
||||
if (res.status === 'error') {
|
||||
this.toast = {
|
||||
status: 'error',
|
||||
message: res.response.message
|
||||
};
|
||||
}
|
||||
else {
|
||||
this.toast = {
|
||||
status: 'success',
|
||||
message: 'Connection successifully made!'
|
||||
};
|
||||
}
|
||||
|
||||
this.isTesting = false;
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
},
|
||||
saveNewConnection () {
|
||||
this.addConnection(this.connection);
|
||||
this.closeModal();
|
||||
},
|
||||
closeAsking () {
|
||||
this.isAsking = false;
|
||||
this.isTesting = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.modal-container{
|
||||
max-width: 450px;
|
||||
}
|
||||
</style>
|
|
@ -1,190 +0,0 @@
|
|||
<template>
|
||||
<div class="modal active">
|
||||
<a class="modal-overlay c-hand" @click="closeModal" />
|
||||
<div class="modal-container">
|
||||
<div class="modal-header text-light">
|
||||
<div class="modal-title h6">
|
||||
Create a new connection
|
||||
</div>
|
||||
<a class="btn btn-clear c-hand" @click="closeModal" />
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="content">
|
||||
<form class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Client:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<select v-model="connection.client" class="form-select">
|
||||
<option value="mysql">
|
||||
MySQL/MariaDB
|
||||
</option>
|
||||
<option value="mssql">
|
||||
Microsoft SQL
|
||||
</option>
|
||||
<option value="pg">
|
||||
PostgreSQL
|
||||
</option>
|
||||
<option value="oracledb">
|
||||
Oracle DB
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Host name/IP:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.host"
|
||||
class="form-input"
|
||||
type="text"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Port:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.port"
|
||||
class="form-input"
|
||||
type="number"
|
||||
min="1"
|
||||
max="65535"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">User:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.user"
|
||||
class="form-input"
|
||||
type="text"
|
||||
:disabled="connection.ask"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12">
|
||||
<label class="form-label">Password:</label>
|
||||
</div>
|
||||
<div class="col-9 col-sm-12">
|
||||
<input
|
||||
v-model="connection.password"
|
||||
class="form-input"
|
||||
type="password"
|
||||
:disabled="connection.ask"
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-3 col-sm-12" />
|
||||
<div class="col-9 col-sm-12">
|
||||
<label class="form-checkbox form-inline">
|
||||
<input v-model="connection.ask" type="checkbox"><i class="form-icon" /> Ask for credentials
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer text-light">
|
||||
<BaseToast
|
||||
class="mb-2"
|
||||
:message="toast.message"
|
||||
:status="toast.status"
|
||||
/>
|
||||
<button
|
||||
class="btn btn-gray mr-2"
|
||||
:class="{'loading': isTesting}"
|
||||
@click="testConnection"
|
||||
>
|
||||
Test connection
|
||||
</button>
|
||||
<button class="btn btn-primary mr-2">
|
||||
Save
|
||||
</button>
|
||||
<button class="btn btn-link" @click="closeModal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapActions } from 'vuex';
|
||||
import { ipcRenderer } from 'electron';
|
||||
import BaseToast from '@/components/BaseToast';
|
||||
|
||||
export default {
|
||||
name: 'NewConnectionModal',
|
||||
components: {
|
||||
BaseToast
|
||||
},
|
||||
props: {
|
||||
isOpened: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
connection: {
|
||||
client: 'mysql',
|
||||
host: '127.0.0.1',
|
||||
port: '3306',
|
||||
user: 'root',
|
||||
password: '',
|
||||
ask: false
|
||||
},
|
||||
toast: {
|
||||
status: '',
|
||||
message: ''
|
||||
},
|
||||
isTesting: false
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
...mapActions({
|
||||
closeModal: 'connections/hideNewConnModal'
|
||||
}),
|
||||
testConnection () {
|
||||
this.isTesting = true;
|
||||
this.toast = {
|
||||
status: '',
|
||||
message: ''
|
||||
};
|
||||
|
||||
ipcRenderer.invoke('testConnection', this.connection).then(res => {
|
||||
this.isTesting = false;
|
||||
if (res.status === 'error') {
|
||||
this.toast = {
|
||||
status: 'error',
|
||||
message: res.response.message
|
||||
};
|
||||
}
|
||||
else {
|
||||
this.toast = {
|
||||
status: 'success',
|
||||
message: 'Connection successifully made!'
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.modal-container{
|
||||
max-width: 450px;
|
||||
}
|
||||
</style>
|
|
@ -2,6 +2,14 @@
|
|||
<div id="settingbar" class="container">
|
||||
<div class="settingbar-top-elements">
|
||||
<ul class="settingbar-elements">
|
||||
<li
|
||||
v-for="(connection, key) in connections"
|
||||
:key="key"
|
||||
class="settingbar-element btn btn-link tooltip tooltip-right p-0"
|
||||
:data-tooltip="`${connection.user}@${connection.host}:${connection.port}`"
|
||||
>
|
||||
<i class="dbi" :class="`dbi-${connection.client}`" />
|
||||
</li>
|
||||
<li
|
||||
class="settingbar-element btn btn-link tooltip tooltip-right"
|
||||
data-tooltip="Add connection"
|
||||
|
@ -23,10 +31,15 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { mapActions } from 'vuex';
|
||||
import { mapActions, mapGetters } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: 'TheSettingBar',
|
||||
computed: {
|
||||
...mapGetters({
|
||||
connections: 'connections/getConnections'
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
...mapActions({
|
||||
showNewConnModal: 'connections/showNewConnModal'
|
||||
|
@ -50,8 +63,18 @@ export default {
|
|||
|
||||
.settingbar-elements{
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
.settingbar-element{
|
||||
height: initial;
|
||||
|
||||
.settingbar-element-icon{
|
||||
width: 42px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -26,24 +26,50 @@ body{
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
/*Override*/
|
||||
.modal-overlay,
|
||||
.modal.active .modal-overlay{
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
.dbi{
|
||||
display: inline-block;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
background-size: cover;
|
||||
|
||||
&.dbi-mysql{
|
||||
background-image: url('/svg/mysql.svg');
|
||||
}
|
||||
|
||||
&.dbi-mssql{
|
||||
background-image: url('/svg/mssql.svg');
|
||||
}
|
||||
|
||||
&.dbi-pg{
|
||||
background-image: url('/svg/pg.svg');
|
||||
}
|
||||
|
||||
&.dbi-oracledb{
|
||||
background-image: url('/svg/oracledb3.svg');
|
||||
}
|
||||
}
|
||||
|
||||
.modal-container{
|
||||
box-shadow: 0 0 1px 0px #000;
|
||||
padding: 0;
|
||||
background: $bg-color;
|
||||
|
||||
.modal-header{
|
||||
padding: .4rem .8rem;
|
||||
text-transform: uppercase;
|
||||
background: $bg-color-gray;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
/*Override*/
|
||||
.modal{
|
||||
.modal-overlay,
|
||||
&.active .modal-overlay{
|
||||
background: rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
|
||||
.modal-sm .modal-container,
|
||||
.modal-container{
|
||||
box-shadow: 0 0 1px 0px #000;
|
||||
padding: 0;
|
||||
background: $bg-color;
|
||||
|
||||
.modal-header{
|
||||
padding: .4rem .8rem;
|
||||
text-transform: uppercase;
|
||||
background: $bg-color-gray;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,10 +2,19 @@
|
|||
|
||||
import Vue from 'vue';
|
||||
import Vuex from 'vuex';
|
||||
import VuexPersist from 'vuex-persist';
|
||||
|
||||
import application from './modules/application.store';
|
||||
import connections from './modules/connections.store';
|
||||
|
||||
const vuexLocalStorage = new VuexPersist({
|
||||
key: 'vuex', // The key to store the state on in the storage provider.
|
||||
storage: window.localStorage,
|
||||
reducer: state => ({
|
||||
connections: state.connections.connections
|
||||
})
|
||||
});
|
||||
|
||||
Vue.use(Vuex);
|
||||
|
||||
export default new Vuex.Store({
|
||||
|
@ -13,5 +22,6 @@ export default new Vuex.Store({
|
|||
modules: {
|
||||
application,
|
||||
connections
|
||||
}
|
||||
},
|
||||
plugins: [vuexLocalStorage.plugin]
|
||||
});
|
||||
|
|
|
@ -1,20 +1,24 @@
|
|||
'use strict';
|
||||
|
||||
export default {
|
||||
namespaced: false,
|
||||
namespaced: true,
|
||||
strict: true,
|
||||
state: {
|
||||
appName: 'Antares - SQL Client',
|
||||
isLoading: false
|
||||
app_name: 'Antares - SQL Client',
|
||||
is_loading: false
|
||||
},
|
||||
getters: {
|
||||
isLoading: state => state.is_loading,
|
||||
appName: state => state.app_name
|
||||
},
|
||||
mutations: {
|
||||
setLoadingStatus (state, payload) {
|
||||
state.isLoading = payload;
|
||||
SET_LOADING_STATUS (state, payload) {
|
||||
state.is_loading = payload;
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
setLoadingStatus ({ commit }, payload) {
|
||||
commit('setLoadingStatus', payload);
|
||||
commit('SET_LOADING_STATUS', payload);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -5,23 +5,33 @@ export default {
|
|||
strict: true,
|
||||
state: {
|
||||
connections: [],
|
||||
isNewConnModal: false
|
||||
is_new_modal: false
|
||||
},
|
||||
getters: {
|
||||
getConnections: state => state.connections,
|
||||
isNewModal: state => state.is_new_modal
|
||||
},
|
||||
mutations: {
|
||||
showNewConnModal (state) {
|
||||
state.isNewConnModal = true;
|
||||
ADD_CONNECTION (state, connection) {
|
||||
state.connections.push(connection);
|
||||
},
|
||||
hideNewConnModal (state) {
|
||||
state.isNewConnModal = false;
|
||||
SHOW_NEW_CONNECTION_MODAL (state) {
|
||||
state.is_new_modal = true;
|
||||
},
|
||||
HIDE_NEW_CONNECTION_MODAL (state) {
|
||||
state.is_new_modal = false;
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
addConnection ({ commit }, connection) {
|
||||
commit('ADD_CONNECTION', connection);
|
||||
},
|
||||
// Modals
|
||||
showNewConnModal ({ commit }) {
|
||||
commit('showNewConnModal');
|
||||
commit('SHOW_NEW_CONNECTION_MODAL');
|
||||
},
|
||||
hideNewConnModal ({ commit }) {
|
||||
commit('hideNewConnModal');
|
||||
commit('HIDE_NEW_CONNECTION_MODAL');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#444" d="M16 27.534c-5.323 0-9.641-1.44-9.641-3.214v-3.214c0-.279.14-.545.341-.803 1.075 1.384 4.813 2.41 9.301 2.41s8.226-1.026 9.301-2.41c.201.259.34.524.34.803v3.214c0 1.773-4.318 3.214-9.641 3.214zm0-6.428c-5.323 0-9.641-1.441-9.641-3.214v-3.214c0-.17.064-.336.151-.5.049-.103.113-.204.19-.304 1.075 1.383 4.813 2.41 9.301 2.41s8.226-1.027 9.301-2.41c.077.1.141.201.19.304.086.164.151.33.151.5v3.214c0 1.773-4.318 3.214-9.641 3.214zm0-6.427c-5.323 0-9.641-1.44-9.641-3.214V9.858 8.251c0-1.774 4.318-3.214 9.641-3.214s9.641 1.44 9.641 3.214v3.214c0 1.774-4.318 3.214-9.641 3.214zm0-8.034c-3.55 0-6.427.718-6.427 1.607S12.451 9.859 16 9.859c3.55 0 6.427-.718 6.427-1.607S19.549 6.645 16 6.645z"/></svg>
|
Before Width: | Height: | Size: 799 B |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#444" d="M5.082 5.593c-.564.564-.423 1.213.564 2.679.508.761 1.1 1.946 1.326 2.623.226.705.677 1.664.987 2.143.564.79.564.959.197 2.397-.226.902-.31 2.031-.197 2.736.169 1.185 1.128 2.905 1.72 3.102.508.169 1.241-.733 1.269-1.551 0-.705.028-.733.338-.226.536.874 2.228 2.735 2.369 2.594.056-.056-.31-.79-.846-1.607-.508-.846-1.1-1.946-1.325-2.454-.31-.846-.423-.902-.79-.508-.226.226-.508.874-.592 1.466-.226 1.354-.733 1.523-1.128.367s-.395-3.131 0-4.484c.282-.931.254-1.184-.226-1.89-.31-.423-.79-1.438-1.044-2.256-.254-.79-.846-1.974-1.325-2.595-1.1-1.551-1.1-2.115.056-1.89.479.085 1.213.423 1.664.733.423.31 1.156.564 1.607.564 1.354 0 3.723 1.326 5.443 3.046 1.326 1.325 2.002 2.397 3.441 5.302 1.692 3.44 1.833 3.638 2.877 3.976 1.241.423 3.835 2.002 3.835 2.341 0 .113-.649.282-1.438.338-2.115.226-2.313.62-.931 1.861.649.564 1.862 1.438 2.736 1.918l1.579.902-.733-.931c-.423-.508-1.297-1.297-1.974-1.72s-1.213-.874-1.213-.987c0-.113.479-.31 1.072-.395 1.579-.282 2.03-.423 2.03-.705 0-.423-2.848-2.566-4.202-3.159-1.156-.536-1.297-.762-2.792-3.835-1.326-2.82-1.861-3.61-3.553-5.302-2.171-2.171-3.666-3.102-5.584-3.384-.649-.113-1.551-.451-1.946-.733-.931-.705-2.82-.959-3.272-.479z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#fff" d="M5.082 5.593c-.564.564-.423 1.213.564 2.679.508.761 1.1 1.946 1.326 2.623.226.705.677 1.664.987 2.143.564.79.564.959.197 2.397-.226.902-.31 2.031-.197 2.736.169 1.185 1.128 2.905 1.72 3.102.508.169 1.241-.733 1.269-1.551 0-.705.028-.733.338-.226.536.874 2.228 2.735 2.369 2.594.056-.056-.31-.79-.846-1.607-.508-.846-1.1-1.946-1.325-2.454-.31-.846-.423-.902-.79-.508-.226.226-.508.874-.592 1.466-.226 1.354-.733 1.523-1.128.367s-.395-3.131 0-4.484c.282-.931.254-1.184-.226-1.89-.31-.423-.79-1.438-1.044-2.256-.254-.79-.846-1.974-1.325-2.595-1.1-1.551-1.1-2.115.056-1.89.479.085 1.213.423 1.664.733.423.31 1.156.564 1.607.564 1.354 0 3.723 1.326 5.443 3.046 1.326 1.325 2.002 2.397 3.441 5.302 1.692 3.44 1.833 3.638 2.877 3.976 1.241.423 3.835 2.002 3.835 2.341 0 .113-.649.282-1.438.338-2.115.226-2.313.62-.931 1.861.649.564 1.862 1.438 2.736 1.918l1.579.902-.733-.931c-.423-.508-1.297-1.297-1.974-1.72s-1.213-.874-1.213-.987c0-.113.479-.31 1.072-.395 1.579-.282 2.03-.423 2.03-.705 0-.423-2.848-2.566-4.202-3.159-1.156-.536-1.297-.762-2.792-3.835-1.326-2.82-1.861-3.61-3.553-5.302-2.171-2.171-3.666-3.102-5.584-3.384-.649-.113-1.551-.451-1.946-.733-.931-.705-2.82-.959-3.272-.479z"/></svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><path d="M438.7 408.1c270.6 0 459.4-68.6 459.4-153.1v-91.9C898.1 78.6 709.4 10 438.7 10 168.1 10 10 78.6 10 163.1V255c0 84.6 158.1 153.1 428.7 153.1zM383.2 774.6c-185.9-6.9-294.4-49.3-351.5-106.1C17.1 683 10 698.4 10 714.4v122.5C10 921.5 168.1 990 438.7 990c27.1 0 53.5-.9 79.4-2.2-69.5-50-119.1-125.6-134.9-213.2zM377.6 713c.3-81 29.1-155.2 77-213.1-5.8 0-11.4.1-17.4.1-219.4 0-343.1-45.1-405.6-107.2-14.5 14.5-21.6 29.9-21.6 46v122.5c0 77.9 134.6 142.1 367.6 151.7zM730.1 608.7c-26.9 0-50.1 9.8-69.5 29.3-19.4 19.6-31.3 45.1-35.7 76.8-4.5 31.9.2 57.5 13.7 76.7 13.6 19.3 33.6 28.9 59.8 28.9 28.2 0 51.6-9.3 70.2-27.7 18.6-18.5 30.3-44.2 34.9-77.4 4.7-34 .5-60.3-12.6-78.8-13.2-18.6-33.4-27.8-60.8-27.8z"/><path d="M714.4 438.8c-152.2 0-275.6 123.4-275.6 275.6 0 152.2 123.4 275.6 275.6 275.6C866.6 990 990 866.6 990 714.4c0-152.2-123.4-275.6-275.6-275.6zM840 711.2c-6 42.8-22.2 76.8-48.6 101.9-26.5 25.1-58.9 37.6-97.2 37.6-37.5 0-65.8-12.3-85-37-19.2-24.7-26-56.7-20.5-96.3 5.9-42.6 22.2-76.5 48.7-101.7 26.6-25.2 59.5-37.8 99-37.8 36.7 0 64.5 12.3 83.4 36.9 19 24.9 25.7 56.9 20.2 96.4z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#fff" d="M16 27.534c-5.323 0-9.641-1.44-9.641-3.214v-3.214c0-.279.14-.545.341-.803 1.075 1.384 4.813 2.41 9.301 2.41s8.226-1.026 9.301-2.41c.201.259.34.524.34.803v3.214c0 1.773-4.318 3.214-9.641 3.214zm0-6.428c-5.323 0-9.641-1.441-9.641-3.214v-3.214c0-.17.064-.336.151-.5.049-.103.113-.204.19-.304 1.075 1.383 4.813 2.41 9.301 2.41s8.226-1.027 9.301-2.41c.077.1.141.201.19.304.086.164.151.33.151.5v3.214c0 1.773-4.318 3.214-9.641 3.214zm0-6.427c-5.323 0-9.641-1.44-9.641-3.214V9.858 8.251c0-1.774 4.318-3.214 9.641-3.214s9.641 1.44 9.641 3.214v3.214c0 1.774-4.318 3.214-9.641 3.214zm0-8.034c-3.55 0-6.427.718-6.427 1.607S12.451 9.859 16 9.859c3.55 0 6.427-.718 6.427-1.607S19.549 6.645 16 6.645z"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 799 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" fill="#fff"><path d="M438.7 408.1c270.6 0 459.4-68.6 459.4-153.1v-91.9C898.1 78.6 709.4 10 438.7 10 168.1 10 10 78.6 10 163.1V255c0 84.6 158.1 153.1 428.7 153.1zM383.2 774.6c-185.9-6.9-294.4-49.3-351.5-106.1C17.1 683 10 698.4 10 714.4v122.5C10 921.5 168.1 990 438.7 990c27.1 0 53.5-.9 79.4-2.2-69.5-50-119.1-125.6-134.9-213.2zM377.6 713c.3-81 29.1-155.2 77-213.1-5.8 0-11.4.1-17.4.1-219.4 0-343.1-45.1-405.6-107.2-14.5 14.5-21.6 29.9-21.6 46v122.5c0 77.9 134.6 142.1 367.6 151.7zM730.1 608.7c-26.9 0-50.1 9.8-69.5 29.3-19.4 19.6-31.3 45.1-35.7 76.8-4.5 31.9.2 57.5 13.7 76.7 13.6 19.3 33.6 28.9 59.8 28.9 28.2 0 51.6-9.3 70.2-27.7 18.6-18.5 30.3-44.2 34.9-77.4 4.7-34 .5-60.3-12.6-78.8-13.2-18.6-33.4-27.8-60.8-27.8z"/><path d="M714.4 438.8c-152.2 0-275.6 123.4-275.6 275.6 0 152.2 123.4 275.6 275.6 275.6C866.6 990 990 866.6 990 714.4c0-152.2-123.4-275.6-275.6-275.6zM840 711.2c-6 42.8-22.2 76.8-48.6 101.9-26.5 25.1-58.9 37.6-97.2 37.6-37.5 0-65.8-12.3-85-37-19.2-24.7-26-56.7-20.5-96.3 5.9-42.6 22.2-76.5 48.7-101.7 26.6-25.2 59.5-37.8 99-37.8 36.7 0 64.5 12.3 83.4 36.9 19 24.9 25.7 56.9 20.2 96.4z"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#444" d="M55.387 66.469h8.333l-4.407-7.09-8.088 12.819h-3.681l9.838-15.398c.428-.622 1.14-.998 1.931-.998.765 0 1.478.363 1.892.972l9.876 15.424h-3.681l-1.736-2.865h-8.438l-1.839-2.864zm38.235 2.864v-13.375h-3.123v14.685c0 .402.156.791.454 1.089.298.298.7.466 1.141.466h14.244l1.841-2.865h-14.557zm-51.677-2.397c3.033 0 5.496-2.449 5.496-5.482s-2.462-5.496-5.496-5.496h-13.665v16.241h3.123v-13.377h10.335c1.452 0 2.618 1.18 2.618 2.631s-1.167 2.631-2.618 2.631l-8.806-.013 9.324 8.127h4.538l-6.274-5.263h1.425zm-32.886 5.262c-4.483 0-8.122-3.629-8.122-8.114s3.638-8.127 8.122-8.127h9.439c4.485 0 8.121 3.643 8.121 8.127s-3.636 8.114-8.121 8.114h-9.439zm9.229-2.865c2.905 0 5.258-2.346 5.258-5.249 0-2.903-2.353-5.263-5.258-5.263h-9.021c-2.902 0-5.256 2.359-5.256 5.263 0 2.903 2.354 5.249 5.256 5.249h9.021zm59.314 2.865c-4.484 0-8.126-3.629-8.126-8.114s3.642-8.127 8.126-8.127h11.212l-1.829 2.864h-9.175c-2.904 0-5.264 2.359-5.264 5.263 0 2.903 2.36 5.249 5.264 5.249h11.263l-1.84 2.865h-9.631zm38.197-2.865c-2.397 0-4.433-1.607-5.055-3.824h13.35l1.84-2.864h-15.19c.622-2.203 2.658-3.824 5.055-3.824h9.163l1.854-2.864h-11.225c-4.484 0-8.126 3.643-8.126 8.127s3.642 8.114 8.126 8.114h9.631l1.841-2.865h-11.264"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#fff" d="M55.387 66.469h8.333l-4.407-7.09-8.088 12.819h-3.681l9.838-15.398c.428-.622 1.14-.998 1.931-.998.765 0 1.478.363 1.892.972l9.876 15.424h-3.681l-1.736-2.865h-8.438l-1.839-2.864zm38.235 2.864v-13.375h-3.123v14.685c0 .402.156.791.454 1.089.298.298.7.466 1.141.466h14.244l1.841-2.865h-14.557zm-51.677-2.397c3.033 0 5.496-2.449 5.496-5.482s-2.462-5.496-5.496-5.496h-13.665v16.241h3.123v-13.377h10.335c1.452 0 2.618 1.18 2.618 2.631s-1.167 2.631-2.618 2.631l-8.806-.013 9.324 8.127h4.538l-6.274-5.263h1.425zm-32.886 5.262c-4.483 0-8.122-3.629-8.122-8.114s3.638-8.127 8.122-8.127h9.439c4.485 0 8.121 3.643 8.121 8.127s-3.636 8.114-8.121 8.114h-9.439zm9.229-2.865c2.905 0 5.258-2.346 5.258-5.249 0-2.903-2.353-5.263-5.258-5.263h-9.021c-2.902 0-5.256 2.359-5.256 5.263 0 2.903 2.354 5.249 5.256 5.249h9.021zm59.314 2.865c-4.484 0-8.126-3.629-8.126-8.114s3.642-8.127 8.126-8.127h11.212l-1.829 2.864h-9.175c-2.904 0-5.264 2.359-5.264 5.263 0 2.903 2.36 5.249 5.264 5.249h11.263l-1.84 2.865h-9.631zm38.197-2.865c-2.397 0-4.433-1.607-5.055-3.824h13.35l1.84-2.864h-15.19c.622-2.203 2.658-3.824 5.055-3.824h9.163l1.854-2.864h-11.225c-4.484 0-8.126 3.643-8.126 8.127s3.642 8.114 8.126 8.114h9.631l1.841-2.865h-11.264"/></svg>
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#444" d="M26.741 18.661c-.24-.278-.65-.202-.967-.139-.762.136-1.591.294-2.329-.023 1.318-2.08 2.355-4.351 2.935-6.748.211-.911.374-1.843.343-2.781-.023-.525-.096-1.084-.417-1.519A6.019 6.019 0 0023.092 5.3c-1.585-.43-3.285-.302-4.844.18-.129.026-.256-.032-.382-.048-1.415-.287-2.975-.174-4.202.645-1.473-.53-3.056-.85-4.624-.686-1.166.121-2.337.663-3.006 1.656-.846 1.239-.961 2.821-.826 4.273.272 1.928.742 3.826 1.34 5.677.394 1.154.828 2.317 1.529 3.325.356.495.829.994 1.466 1.072.566.069 1.078-.282 1.425-.698.6-.718 1.217-1.423 1.857-2.105.418.205.872.323 1.336.358-.251.298-.458.687-.858.804-.539.208-1.17.18-1.645.539-.274.196-.287.623-.041.848.445.432 1.101.525 1.693.575a3.21 3.21 0 002.324-.768c-.004 1.334.002 2.672.152 3.999.075.777.41 1.551 1.001 2.074.557.486 1.351.587 2.058.464.694-.132 1.407-.34 1.949-.814.576-.508.822-1.275.936-2.011a93.19 93.19 0 00.514-3.969c1.483.25 3.161-.034 4.269-1.117.237-.223.462-.609.228-.912zM23.45 6.117c.89.338 1.681.925 2.275 1.668.283.355.319.832.337 1.268.013 1.04-.197 2.067-.464 3.067a21.858 21.858 0 01-2.262 5.277 4.38 4.38 0 01-.317.469 60.07 60.07 0 01-.036-.183c.121-.318.298-.618.367-.956.244-.953.038-1.934-.05-2.893-.092-.905.217-1.786.209-2.689.035-.442-.14-.86-.31-1.257-.615-1.375-1.593-2.598-2.848-3.438-.306-.21-.648-.357-.953-.568 1.334-.286 2.765-.25 4.051.234zm-.813 7.719c.078 1.071.389 2.221-.116 3.237-.677-1.347-1.552-2.633-1.857-4.133-.086-.477-.108-1.081.316-1.413.538-.382 1.241-.296 1.863-.258-.027.859-.291 1.702-.205 2.567zm-12.103 6.345c-.243.286-.571.627-.985.542-.484-.14-.792-.582-1.062-.979-.729-1.166-1.168-2.483-1.571-3.79-.451-1.547-.831-3.119-1.05-4.717-.109-1.216-.041-2.52.581-3.603.466-.82 1.335-1.343 2.248-1.514 1.462-.281 2.961.017 4.364.445a6.438 6.438 0 00-1.382 2.358 9.506 9.506 0 00-.466 3.648c.053.867.03 1.738-.091 2.598-.152 1.123.299 2.278 1.133 3.036-.568.664-1.17 1.297-1.72 1.977zm1.28-4.023c-.143-.636.044-1.276.065-1.913.049-.721-.002-1.443-.016-2.164.674-.436 1.462-.777 2.279-.73a.992.992 0 01.915.734c.371 1.477.486 3.121-.225 4.52a13.24 13.24 0 00-.622 1.666c-1.182.012-2.187-.987-2.396-2.112zm3.678 3.954c-.742 1.005-2.227 1.197-3.3.65.529-.245 1.148-.226 1.659-.528.494-.266.69-.851 1.152-1.152.503-.071.87.676.49 1.029zm6.364-1.174c-.282.454-.183 1.008-.252 1.512-.162 1.413-.321 2.828-.551 4.232-.109.673-.395 1.388-1.03 1.723-.651.331-1.407.539-2.139.426-.695-.122-1.133-.77-1.33-1.401-.144-.529-.159-1.082-.2-1.627a50.004 50.004 0 01-.037-3.949c.029-.514-.235-1.049-.694-1.299-.222-.125-.482-.142-.73-.162.195-.967.784-1.802.986-2.768.262-1.195.117-2.439-.151-3.619-.131-.589-.579-1.11-1.175-1.253-.918-.231-1.844.128-2.665.512.104-1.334.461-2.7 1.278-3.783a3.79 3.79 0 012.528-1.473c1.642-.209 3.366.243 4.671 1.27a7.406 7.406 0 012.389 3.304c-.763-.027-1.628-.058-2.245.472-.56.472-.632 1.277-.506 1.953.292 1.608 1.241 2.975 1.941 4.421.186.339.436.635.674.939-.283.143-.599.28-.76.571zm1.964 1.137c-.504.06-1.028.078-1.514-.089.002-.275-.013-.601.208-.806.175-.129.424-.248.626-.107.86.453 1.86.232 2.775.121-.559.544-1.333.798-2.095.881zm-2.642-8.347c-.179.147.014.367.168.436.373.219.884-.087.896-.513-.337-.157-.76-.141-1.065.077zm-6.602.68c.159-.09.327-.337.143-.486-.262-.213-.643-.254-.962-.168-.103.036-.211.106-.19.232.074.428.647.688 1.008.422z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#fff" d="M26.741 18.661c-.24-.278-.65-.202-.967-.139-.762.136-1.591.294-2.329-.023 1.318-2.08 2.355-4.351 2.935-6.748.211-.911.374-1.843.343-2.781-.023-.525-.096-1.084-.417-1.519A6.019 6.019 0 0023.092 5.3c-1.585-.43-3.285-.302-4.844.18-.129.026-.256-.032-.382-.048-1.415-.287-2.975-.174-4.202.645-1.473-.53-3.056-.85-4.624-.686-1.166.121-2.337.663-3.006 1.656-.846 1.239-.961 2.821-.826 4.273.272 1.928.742 3.826 1.34 5.677.394 1.154.828 2.317 1.529 3.325.356.495.829.994 1.466 1.072.566.069 1.078-.282 1.425-.698.6-.718 1.217-1.423 1.857-2.105.418.205.872.323 1.336.358-.251.298-.458.687-.858.804-.539.208-1.17.18-1.645.539-.274.196-.287.623-.041.848.445.432 1.101.525 1.693.575a3.21 3.21 0 002.324-.768c-.004 1.334.002 2.672.152 3.999.075.777.41 1.551 1.001 2.074.557.486 1.351.587 2.058.464.694-.132 1.407-.34 1.949-.814.576-.508.822-1.275.936-2.011a93.19 93.19 0 00.514-3.969c1.483.25 3.161-.034 4.269-1.117.237-.223.462-.609.228-.912zM23.45 6.117c.89.338 1.681.925 2.275 1.668.283.355.319.832.337 1.268.013 1.04-.197 2.067-.464 3.067a21.858 21.858 0 01-2.262 5.277 4.38 4.38 0 01-.317.469 60.07 60.07 0 01-.036-.183c.121-.318.298-.618.367-.956.244-.953.038-1.934-.05-2.893-.092-.905.217-1.786.209-2.689.035-.442-.14-.86-.31-1.257-.615-1.375-1.593-2.598-2.848-3.438-.306-.21-.648-.357-.953-.568 1.334-.286 2.765-.25 4.051.234zm-.813 7.719c.078 1.071.389 2.221-.116 3.237-.677-1.347-1.552-2.633-1.857-4.133-.086-.477-.108-1.081.316-1.413.538-.382 1.241-.296 1.863-.258-.027.859-.291 1.702-.205 2.567zm-12.103 6.345c-.243.286-.571.627-.985.542-.484-.14-.792-.582-1.062-.979-.729-1.166-1.168-2.483-1.571-3.79-.451-1.547-.831-3.119-1.05-4.717-.109-1.216-.041-2.52.581-3.603.466-.82 1.335-1.343 2.248-1.514 1.462-.281 2.961.017 4.364.445a6.438 6.438 0 00-1.382 2.358 9.506 9.506 0 00-.466 3.648c.053.867.03 1.738-.091 2.598-.152 1.123.299 2.278 1.133 3.036-.568.664-1.17 1.297-1.72 1.977zm1.28-4.023c-.143-.636.044-1.276.065-1.913.049-.721-.002-1.443-.016-2.164.674-.436 1.462-.777 2.279-.73a.992.992 0 01.915.734c.371 1.477.486 3.121-.225 4.52a13.24 13.24 0 00-.622 1.666c-1.182.012-2.187-.987-2.396-2.112zm3.678 3.954c-.742 1.005-2.227 1.197-3.3.65.529-.245 1.148-.226 1.659-.528.494-.266.69-.851 1.152-1.152.503-.071.87.676.49 1.029zm6.364-1.174c-.282.454-.183 1.008-.252 1.512-.162 1.413-.321 2.828-.551 4.232-.109.673-.395 1.388-1.03 1.723-.651.331-1.407.539-2.139.426-.695-.122-1.133-.77-1.33-1.401-.144-.529-.159-1.082-.2-1.627a50.004 50.004 0 01-.037-3.949c.029-.514-.235-1.049-.694-1.299-.222-.125-.482-.142-.73-.162.195-.967.784-1.802.986-2.768.262-1.195.117-2.439-.151-3.619-.131-.589-.579-1.11-1.175-1.253-.918-.231-1.844.128-2.665.512.104-1.334.461-2.7 1.278-3.783a3.79 3.79 0 012.528-1.473c1.642-.209 3.366.243 4.671 1.27a7.406 7.406 0 012.389 3.304c-.763-.027-1.628-.058-2.245.472-.56.472-.632 1.277-.506 1.953.292 1.608 1.241 2.975 1.941 4.421.186.339.436.635.674.939-.283.143-.599.28-.76.571zm1.964 1.137c-.504.06-1.028.078-1.514-.089.002-.275-.013-.601.208-.806.175-.129.424-.248.626-.107.86.453 1.86.232 2.775.121-.559.544-1.333.798-2.095.881zm-2.642-8.347c-.179.147.014.367.168.436.373.219.884-.087.896-.513-.337-.157-.76-.141-1.065.077zm-6.602.68c.159-.09.327-.337.143-.486-.262-.213-.643-.254-.962-.168-.103.036-.211.106-.19.232.074.428.647.688 1.008.422z"/></svg>
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |