Using summaries table for improved performance.
|
@ -28,7 +28,12 @@
|
|||
</template>
|
||||
|
||||
<span
|
||||
v-if="!loading && actors.length === 0 && releases.length === 0"
|
||||
v-if="error"
|
||||
class="error summary"
|
||||
>{{ error }}</span>
|
||||
|
||||
<span
|
||||
v-else-if="!loading && actors.length === 0 && releases.length === 0"
|
||||
class="summary"
|
||||
>No results</span>
|
||||
</div>
|
||||
|
@ -39,6 +44,7 @@ import Actor from '../actors/tile.vue';
|
|||
import Releases from '../releases/releases.vue';
|
||||
|
||||
async function search() {
|
||||
try {
|
||||
const results = await this.$store.dispatch('search', {
|
||||
query: this.query,
|
||||
limit: 10,
|
||||
|
@ -50,6 +56,12 @@ async function search() {
|
|||
this.actors = results.actors;
|
||||
this.releases = results.releases;
|
||||
}
|
||||
} catch (error) {
|
||||
this.loading = false;
|
||||
this.error = 'Failed to retrieve search results, sorry about that.';
|
||||
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
function query() {
|
||||
|
@ -101,6 +113,10 @@ export default {
|
|||
margin: 0 0 1rem 0;
|
||||
color: var(--shadow);
|
||||
font-weight: bold;
|
||||
|
||||
&.error {
|
||||
color: var(--error);
|
||||
}
|
||||
}
|
||||
|
||||
.tiles {
|
||||
|
|
|
@ -22,7 +22,7 @@ function initEntitiesActions(store, router) {
|
|||
$offset: Int = 0,
|
||||
$after: Datetime = "1900-01-01",
|
||||
$before: Datetime = "2100-01-01",
|
||||
$orderBy: [ReleasesOrderBy!]
|
||||
$orderBy: [ReleasesSummariesOrderBy!]
|
||||
$exclude: [String!]
|
||||
$hasAuth: Boolean!
|
||||
$userId: Int
|
||||
|
@ -67,7 +67,6 @@ function initEntitiesActions(store, router) {
|
|||
independent
|
||||
hasLogo
|
||||
${campaignsFragment}
|
||||
sceneTotal
|
||||
children: childEntitiesConnection {
|
||||
totalCount
|
||||
}
|
||||
|
@ -85,51 +84,35 @@ function initEntitiesActions(store, router) {
|
|||
${campaignsFragment}
|
||||
}
|
||||
}
|
||||
connection: releasesConnection(
|
||||
connection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
entity: {
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
or: [
|
||||
{
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
channelSlug: { equalTo: $entitySlug }
|
||||
channelType: { equalTo: $entityType }
|
||||
}
|
||||
{
|
||||
parent:{
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
}
|
||||
networkSlug: { equalTo: $entitySlug }
|
||||
networkType: { equalTo: $entityType }
|
||||
}
|
||||
{
|
||||
parent:{
|
||||
parent: {
|
||||
slug: { equalTo: $entitySlug }
|
||||
type: { equalTo: $entityType }
|
||||
}
|
||||
}
|
||||
parentNetworkSlug: { equalTo: $entitySlug }
|
||||
parentNetworkType: { equalTo: $entityType }
|
||||
}
|
||||
]
|
||||
}
|
||||
effectiveDate: {
|
||||
lessThan: $before,
|
||||
greaterThan: $after
|
||||
}
|
||||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
slug: {
|
||||
in: $exclude
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
${batchFragment}
|
||||
|
@ -153,7 +136,7 @@ function initEntitiesActions(store, router) {
|
|||
}
|
||||
|
||||
return {
|
||||
entity: curateEntity(entity, null, connection.releases, { lastBatch: lastBatch?.id }),
|
||||
entity: curateEntity(entity, null, connection.releases.map(({ release }) => release), { lastBatch: lastBatch?.id }),
|
||||
totalCount: connection.totalCount,
|
||||
};
|
||||
}
|
||||
|
|
|
@ -419,6 +419,7 @@ const releaseFields = `
|
|||
`;
|
||||
// isNew too performance-intensive
|
||||
|
||||
/*
|
||||
const releasesFragment = `
|
||||
connection: releasesConnection(
|
||||
filter: {
|
||||
|
@ -447,6 +448,27 @@ const releasesFragment = `
|
|||
totalCount
|
||||
}
|
||||
`;
|
||||
*/
|
||||
|
||||
const releasesFragment = `
|
||||
connection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
`;
|
||||
|
||||
const mediaFields = `
|
||||
id
|
||||
|
|
|
@ -23,7 +23,7 @@ function initReleasesActions(store, router) {
|
|||
$offset:Int = 0,
|
||||
$after:Datetime = "1900-01-01 00:00:00",
|
||||
$before:Datetime = "2100-01-01 00:00:00",
|
||||
$orderBy: [ReleasesOrderBy!],
|
||||
$orderBy: [ReleasesSummariesOrderBy!],
|
||||
$exclude: [String!]
|
||||
) {
|
||||
${releasesFragment}
|
||||
|
|
|
@ -15,19 +15,19 @@ function initTagsActions(store, _router) {
|
|||
}) {
|
||||
const { before, after, orderBy } = getDateRange(range);
|
||||
|
||||
const { tagBySlug, batches: [lastBatch] } = await graphql(`
|
||||
const { tagBySlug, scenesConnection, batches: [lastBatch] } = await graphql(`
|
||||
query Tag(
|
||||
$tagSlug:String!
|
||||
$tagSlug: String!
|
||||
$offset: Int = 0,
|
||||
$limit:Int = 1000,
|
||||
$after:Datetime = "1900-01-01",
|
||||
$before:Datetime = "2100-01-01",
|
||||
$orderBy: [ReleasesOrderBy!],
|
||||
$orderBy: [ReleasesSummariesOrderBy!],
|
||||
$exclude: [String!]
|
||||
$hasAuth: Boolean!
|
||||
$userId: Int
|
||||
) {
|
||||
tagBySlug(slug:$tagSlug) {
|
||||
tagBySlug(slug: $tagSlug) {
|
||||
id
|
||||
name
|
||||
slug
|
||||
|
@ -155,31 +155,24 @@ function initTagsActions(store, _router) {
|
|||
}
|
||||
}
|
||||
}
|
||||
scenesConnection(
|
||||
filter: {
|
||||
effectiveDate: {
|
||||
lessThan: $before,
|
||||
greaterThan: $after,
|
||||
},
|
||||
releasesTagsConnection: {
|
||||
none: {
|
||||
tag: {
|
||||
slug: {
|
||||
in: $exclude
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
first: $limit,
|
||||
orderBy: $orderBy,
|
||||
scenesConnection: releasesSummariesConnection(
|
||||
first: $limit
|
||||
offset: $offset
|
||||
orderBy: $orderBy
|
||||
filter: {
|
||||
not: { tags: { overlaps: $exclude } }
|
||||
tags: { anyEqualTo: $tagSlug }
|
||||
effectiveDate: { lessThan: $before, greaterThan: $after }
|
||||
showcased: { equalTo: true }
|
||||
}
|
||||
) {
|
||||
releases: nodes {
|
||||
release {
|
||||
${releaseFields}
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
totalCount
|
||||
}
|
||||
${batchFragment}
|
||||
}
|
||||
|
@ -197,8 +190,8 @@ function initTagsActions(store, _router) {
|
|||
|
||||
return {
|
||||
tag: curateTag(tagBySlug, null, curateRelease),
|
||||
releases: tagBySlug.scenesConnection.releases.map((release) => curateRelease(release, 'scene', { lastBatch: lastBatch.id })),
|
||||
totalCount: tagBySlug.scenesConnection.totalCount,
|
||||
releases: scenesConnection.releases.map(({ release }) => curateRelease(release, 'scene', { lastBatch: lastBatch.id })),
|
||||
totalCount: scenesConnection.totalCount,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
const config = require('config');
|
||||
|
||||
exports.up = async (knex) => {
|
||||
await knex.raw(`
|
||||
CREATE MATERIALIZED VIEW releases_summaries AS (
|
||||
SELECT
|
||||
releases.id as release_id,
|
||||
channels.slug as channel_slug,
|
||||
channels.type as channel_type,
|
||||
networks.slug as network_slug,
|
||||
networks.type as network_type,
|
||||
parent_networks.slug as parent_network_slug,
|
||||
parent_networks.type as parent_network_type,
|
||||
studios.showcased IS NOT false
|
||||
AND (channels.showcased IS NOT false OR COALESCE(studios.showcased, false) = true)
|
||||
AND (networks.showcased IS NOT false OR COALESCE(channels.showcased, false) = true OR COALESCE(studios.showcased, false) = true)
|
||||
AS showcased,
|
||||
releases.effective_date,
|
||||
releases.created_at,
|
||||
array_agg(tags.slug) FILTER (WHERE tags.slug IS NOT NULL) AS tags
|
||||
FROM releases
|
||||
LEFT JOIN releases_tags ON releases_tags.release_id = releases.id
|
||||
LEFT JOIN tags ON tags.id = releases_tags.tag_id
|
||||
LEFT JOIN entities AS channels ON channels.id = releases.entity_id
|
||||
LEFT JOIN entities AS studios ON studios.id = releases.studio_id
|
||||
LEFT JOIN entities AS networks ON networks.id = channels.parent_id
|
||||
LEFT JOIN entities AS parent_networks ON parent_networks.id = networks.parent_id
|
||||
GROUP BY releases.id, studios.showcased,
|
||||
channels.showcased, channels.slug, channels.type,
|
||||
networks.showcased, networks.slug, networks.type,
|
||||
parent_networks.slug, parent_networks.type
|
||||
);
|
||||
|
||||
COMMENT ON MATERIALIZED VIEW releases_summaries IS E'@foreignKey (release_id) references releases (id)';
|
||||
GRANT ALL ON ALL TABLES IN SCHEMA public TO :visitor;
|
||||
`, {
|
||||
visitor: knex.raw(config.database.query.user),
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async (knex) => {
|
||||
await knex.raw(`
|
||||
DROP MATERIALIZED VIEW IF EXISTS releases_summaries;
|
||||
`);
|
||||
};
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 873 B After Width: | Height: | Size: 909 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
BIN
public/img/logos/teamskeet/lazy/team-skeet-x-brit-studio-xxx_tld.png
Executable file → Normal file
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
public/img/logos/teamskeet/lazy/teamskeetxaussiefellatioqueens.png
Executable file → Normal file
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 211 75" style="enable-background:new 0 0 211 75;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:#FF0023;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M28.2,53.6c0,4,1.4,6,4.1,6c0.4,0,1.1-0.1,1.9-0.2c0.9-0.1,1.5-0.2,1.9-0.2c0.7,0,1.3,0.3,1.8,0.8
|
||||
c0.5,0.5,0.8,1.1,0.8,1.8c0,1.8-1.2,2.8-3.6,2.8c-0.1,0-0.3,0-0.5,0c-0.3-0.1-0.5-0.1-0.6-0.1L30.1,64c-1.5-0.2-3.2-0.3-5.1-0.3
|
||||
c-2,0-3.8,0.1-5.4,0.3l-4,0.6c-0.2,0-0.3,0-0.6,0.1c-0.3,0-0.5,0-0.6,0c-2.4,0-3.5-0.9-3.5-2.8c0-1.7,0.9-2.5,2.6-2.5
|
||||
c0.4,0,1.1,0.1,1.9,0.2c0.9,0.1,1.5,0.2,1.9,0.2c2.7,0,4-2,4-6V48V41v-6.8V21c0-3.8-2-5.7-5.9-5.7h-2.5c-3.9,0-5.8,1.9-5.8,5.6
|
||||
c0,1.3,0,2.2,0.1,2.7l0.3,3c0.1,0.5,0.1,1.2,0.1,2c0,3.4-1,5.1-3.1,5.1c-2,0-3-1.2-3-3.7c0-0.7,0.1-1.9,0.2-3.6
|
||||
c0.1-2.6,0.2-4.2,0.2-4.9c0-1.3,0-2.7-0.1-4.2c-0.2-2.8-0.3-4-0.3-3.6c0-2.2,1-3.4,3-3.4c0.7,0,2.5,0.1,5.2,0.2
|
||||
c0.3,0,2.5,0.1,6.6,0.3h9.1c1.1,0,3.9,0,8.6-0.1c1,0,2.8-0.1,5.2-0.2c2.2-0.1,3.9-0.2,5.1-0.2c2.7,0,4,1.1,4,3.3v0.2
|
||||
c0,0.5-0.1,1.5-0.2,3c-0.1,1.4-0.3,3-0.4,4.7v0.9c0,0.8,0.1,2.1,0.2,3.8c0.2,2.2,0.3,3.6,0.3,4.2c0,2.2-1,3.3-3.1,3.3
|
||||
c-2,0-3.1-1.3-3.1-4c0-1,0.1-2.4,0.2-4.3c0.2-1.9,0.2-3.3,0.2-4.3c0-3.7-2.1-5.6-6.3-5.6h-2.2c-2,0-3.4,0.4-4.3,1.2
|
||||
c-0.9,0.8-1.3,2.2-1.4,4.1l-0.3,5.6V53.6z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M159,23.3c0,5.5-3.1,9.3-9.3,11.6c2.2,0.7,4.1,1.5,5.5,2.3c4.3,2.5,6.5,6.3,6.5,11.3c0,4.9-1.9,8.8-5.7,11.8
|
||||
c-3.8,2.9-8.9,4.4-15.3,4.4c-2.3,0-5.2-0.1-8.7-0.4c-3.5-0.3-6.1-0.4-7.8-0.4c-1.4,0-2.8,0.1-4.1,0.2l-3.8,0.5
|
||||
c-0.1,0-0.3,0-0.6,0.1c-0.3,0-0.5,0-0.6,0c-2.3-0.1-3.5-1-3.5-2.9c0-1.7,0.8-2.6,2.5-2.6c0.4,0,1.2,0.1,2.2,0.2
|
||||
c0.7,0.1,1.3,0.2,1.7,0.2c2.7,0,4.1-2,4.1-5.9V21.4c0-4-1.4-6-4.1-6c-0.5,0-1,0.1-1.7,0.2c-1,0.2-1.7,0.2-2.2,0.2
|
||||
c-1.7,0-2.5-0.9-2.5-2.6c0-1.9,1.2-2.8,3.7-2.8h1l3.9,0.6c1.1,0.2,2.6,0.2,4.6,0.2c2,0,4.9-0.2,8.7-0.5c2.5-0.2,5.2-0.3,8.1-0.3
|
||||
c5.4,0,9.6,1.1,12.6,3.4C157.5,16.1,159,19.3,159,23.3z M128.3,26.8c0,2.8,0.3,4.6,0.8,5.3c0.5,0.7,1.9,1,4.2,1h4.5
|
||||
c9.5,0,14.2-3.1,14.2-9.2c0-5.6-3.9-8.4-11.7-8.4c-5.5,0-8.8,0.3-10.1,1c-1.3,0.7-1.9,2.5-1.9,5.4V26.8z M128.3,43.1V52
|
||||
c0,3.5,0.6,5.6,1.8,6.4c1.2,0.8,4.4,1.2,9.6,1.2c10,0,15-3.7,15-11.2c0-6.9-4.8-10.4-14.4-10.4h-6.7c-2.9,0-4.5,0.6-5,1.9
|
||||
C128.4,40.6,128.3,41.6,128.3,43.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M188.3,9c5.9,0,10.8,2.3,14.5,6.8v-0.9c0-0.3,0-0.6,0-0.9c-0.1-0.3-0.2-0.5-0.2-0.6c-0.1-1.2-0.2-1.8-0.2-1.6
|
||||
c0-1.9,0.8-2.8,2.5-2.8c1.8,0,2.6,1.1,2.6,3.4c0,0.4-0.1,1.7-0.2,3.9c-0.3,2.7-0.4,4.5-0.4,5.5c0,1.4,0.1,2.9,0.2,4.4l0.3,3.1V30
|
||||
c0,2.4-1,3.6-2.9,3.6c-2.1,0-3.1-1.1-3.1-3.4v-2.9c0.1-3.8-1.1-6.9-3.6-9.3c-2.5-2.4-5.8-3.6-9.8-3.6c-5.3,0-9.4,2-12.4,6.1
|
||||
c-3,4.1-4.5,9.7-4.5,16.9c0,7.3,1.5,13.1,4.6,17.2c3.1,4.1,7.4,6.2,12.9,6.2c3,0,5.7-0.7,8-2.2c2.4-1.5,4-3.4,5-5.7
|
||||
c0.6-1.6,1-3.7,1-6.3c0-2.5,1-3.7,3.1-3.7c2.2,0,3.3,1.2,3.3,3.7c0,5.7-2,10.4-5.9,14c-4,3.6-9.1,5.5-15.3,5.5
|
||||
c-7.2,0-13-2.5-17.3-7.6c-4.3-5.1-6.5-11.9-6.5-20.3c0-8.7,2.2-15.8,6.6-21.1C175.3,11.6,181.1,9,188.3,9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M82.4,64.5c-1.5-0.5-5.8-3.9-12.8-10.5c-5.7-5.3-9.7-9.4-12.1-12.5c-4.1-5.4-6.2-10.6-6.2-15.7
|
||||
c0-4.8,1.8-8.7,5.3-12c3.4-3.1,7.5-4.6,12.4-4.6c6.4,0,10.9,2.7,13.4,8.2c2.5-5.5,7-8.2,13.4-8.2c4.9,0,9,1.5,12.4,4.6
|
||||
c3.5,3.2,5.3,7.2,5.3,12c0,3.7-1.1,7.6-3.3,11.6c-2.2,4-7.2,9.6-14.9,16.7c-2.5,2.4-4.6,4.3-6.3,5.7
|
||||
C85.6,62.8,83.4,64.3,82.4,64.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |