Initial pass of the Silk.NET website (#612)
* Let's hope the bot doesn't go rogue...
* Maybe don't tell it to go rogue then?
* The Joe Rogue-un Experience
* Fix the Git part of the CI pipeline
* Same again...
* WIP Statiq Migration
* Gitignore things
* We have now migrated to Statiq!
* Remove Raisin
* License headers
* Removed submodule build/submodules/Raisin
* Update workflows
* Fix deprecation warning in workflow
* Add RSS feeds in preparation for a blog, mobile & TOC bugfixes
* This commit contains the now-scrapped ExtrapolateFromFrontMatter
* Revert "This commit contains the now-scrapped ExtrapolateFromFrontMatter"
This reverts commit 5e6ae85229
.
* Prepare for adding globbing, allow ToCs to be defined in front matter
* Inline ToCs, code highlighting, blogging, fancy images, and more
* Fix FancyImage shortcode bug
* Move feeds
* Port over all other blogs, make content navigation work always
* Update publish-site.yml
* SEO work
* Crank up logging and disable cache in CI
* Upgrade MVC to 6.0.0-rc1 (fixes upstream reflection discrepancy)
* Try messing with the project a bit to get CI to pass
* Fix template bug
* Downgrade TOC as well
* Back to the future
* WEBSITE IMPROVEMENTS
* Update .github/workflows/publish-site.yml
Co-authored-by: Kai Jellinghaus <contact@kaij.tech>
* Deleted some random JavaScript files, hopefully nothing breaks
* Update publish-site.yml
* Update .gitmodules
* add back a js file i shouldn't have deleted
* typo
* preview images
* helps if you test the code first
* still didn't test
* never learn
* ok this is a bit embarassing now
* push push push push push push
* ok c'mon
Co-authored-by: Kai Jellinghaus <contact@kaij.tech>
|
@ -0,0 +1,31 @@
|
|||
name: Website Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'feature/heavy-wip-website'
|
||||
pull_request:
|
||||
# none
|
||||
jobs:
|
||||
Build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
- name: Setup .NET 5.0
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 5.0.401
|
||||
- name: Setup .NET 6.0
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 6.0.100
|
||||
- name: Run Statiq
|
||||
run: dotnet run -c Release --project src/Website/Silk.NET.Statiq/Silk.NET.Statiq.csproj -- -l debug --nocache
|
||||
- name: Push to Website Branch
|
||||
run: |
|
||||
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
|
||||
git config --local user.name "The Silk.NET Automaton"
|
||||
git add -f docs/
|
||||
git commit -am "Push latest built in-development GitHub Pages site"
|
||||
git push -f origin HEAD:ci/github-pages
|
|
@ -472,3 +472,8 @@ src/**/build/
|
|||
|
||||
# Silk.NET Build System
|
||||
build/sln
|
||||
|
||||
# Silk.NET Website Generation Output
|
||||
docs/
|
||||
src/Website/Silk.NET.Statiq/temp
|
||||
src/Website/Silk.NET.Statiq/cache
|
33
Silk.NET.sln
|
@ -460,6 +460,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenAL.Tests", "sr
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenGL Demos", "OpenGL Demos", "{2F547104-C74A-4A84-8980-D1B973CC40C1}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Website", "Website", "{832251B9-B1A2-450A-8FB8-41F600CCA616}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Statiq", "src\Website\Silk.NET.Statiq\Silk.NET.Statiq.csproj", "{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Statiq.TableOfContents", "src\Website\Silk.NET.Statiq.TableOfContents\Silk.NET.Statiq.TableOfContents.csproj", "{507ED409-A2FD-43BB-AC7C-778B92BD40CF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.DXVA", "src\Microsoft\Silk.NET.DXVA\Silk.NET.DXVA.csproj", "{28D863B1-B60C-4C08-8661-EB820A5B78D2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Core.Win32Extras", "src\Core\Silk.NET.Core.Win32Extras\Silk.NET.Core.Win32Extras.csproj", "{3E30D674-9282-4297-AD1F-9B233A166308}"
|
||||
|
@ -2745,6 +2751,30 @@ Global
|
|||
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
|
@ -3015,6 +3045,9 @@ Global
|
|||
{514DED00-4DA3-46D1-B2E8-10CE826CD52D} = {081E7761-B200-4DBF-8950-941464DECACE}
|
||||
{2F547104-C74A-4A84-8980-D1B973CC40C1} = {6842A2C6-5C7B-42DD-9825-0EDE91BFEBF7}
|
||||
{58E7EE89-B67C-482D-9605-04B3BCC5CFBB} = {2F547104-C74A-4A84-8980-D1B973CC40C1}
|
||||
{832251B9-B1A2-450A-8FB8-41F600CCA616} = {16AFCF73-8CC1-4B5D-8969-A90F468DC6D5}
|
||||
{49ABFB5A-A0AF-45C1-921B-DA30CBDD121F} = {832251B9-B1A2-450A-8FB8-41F600CCA616}
|
||||
{507ED409-A2FD-43BB-AC7C-778B92BD40CF} = {832251B9-B1A2-450A-8FB8-41F600CCA616}
|
||||
{28D863B1-B60C-4C08-8661-EB820A5B78D2} = {F2CF5D32-4B41-425E-B229-8FFC48F88063}
|
||||
{3E30D674-9282-4297-AD1F-9B233A166308} = {0651C5EF-50AA-4598-8D9C-8F210ADD8490}
|
||||
{606214B8-07FC-436F-9523-02AF32E1AB1E} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Concurrent;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.Internals
|
||||
{
|
||||
internal record struct BakedToc
|
||||
(
|
||||
ConcurrentDictionary<NormalizedPath, (TableOfContentsElement Root, TableOfContentsElement Value)> TocMap
|
||||
);
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.Internals
|
||||
{
|
||||
internal class GlobArrayOrTocsJsonConverter : JsonConverter<List<TableOfContentsElement>?>
|
||||
{
|
||||
// TODO ==================================================== TODO
|
||||
// TODO ACTUALLY ADD SUPPORT FOR GLOB INCLUDES IN THE BAKERY TODO
|
||||
// TODO AND MAKE THIS BE USED IN TableOfContentsElement.cs TODO
|
||||
// TODO ==================================================== TODO
|
||||
public override List<TableOfContentsElement>? Read
|
||||
(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
try
|
||||
{
|
||||
var copy = reader;
|
||||
var stringArray = JsonSerializer.Deserialize<string[]>(ref copy, options);
|
||||
reader = copy;
|
||||
return stringArray?
|
||||
.Select(x => new TableOfContentsElement { Url = $"::{{{string.Join(',', x)}}}" })
|
||||
.ToList();
|
||||
}
|
||||
catch (JsonException)
|
||||
{
|
||||
return JsonSerializer.Deserialize<List<TableOfContentsElement>>(ref reader, options);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Write
|
||||
(Utf8JsonWriter writer, List<TableOfContentsElement>? value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.Internals
|
||||
{
|
||||
internal record struct LoadedRawToc
|
||||
(
|
||||
NormalizedPath OriginalToCFile,
|
||||
(NormalizedPath Rel, TableOfContentsElement RootModel, TableOfContentsElement Model) Value
|
||||
);
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.Internals
|
||||
{
|
||||
internal static class Utilities
|
||||
{
|
||||
internal static IEnumerable<T> Yield<T>(T thing)
|
||||
{
|
||||
yield return thing;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents
|
||||
{
|
||||
public delegate bool PathMatcher(NormalizedPath pathInToc, NormalizedPath candidatePath);
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.ProcessModules
|
||||
{
|
||||
public class AddTableOfContents : ParentModule
|
||||
{
|
||||
public AddTableOfContents(params string[] patterns) : this(true, patterns)
|
||||
{
|
||||
}
|
||||
public AddTableOfContents(bool anyIfNotFound, params string[] patterns)
|
||||
: base(new LoadRawToc(patterns), new BakeTocModels(), new BakeTocIntoDocuments(anyIfNotFound))
|
||||
{
|
||||
}
|
||||
public AddTableOfContents(PathMatcher matcher, params string[] patterns)
|
||||
: base(new LoadRawToc(patterns), new BakeTocModels(), new BakeTocIntoDocuments(matcher))
|
||||
{
|
||||
}
|
||||
public AddTableOfContents(PathMatcher matcher, bool anyIfNotFound, params string[] patterns)
|
||||
: base(new LoadRawToc(patterns), new BakeTocModels(), new BakeTocIntoDocuments(matcher, anyIfNotFound))
|
||||
{
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<IDocument>> ExecuteContextAsync(IExecutionContext context)
|
||||
=> await context.ExecuteModulesAsync(Children, context.Inputs);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Silk.NET.Statiq.TableOfContents.Internals;
|
||||
using Statiq.Common;
|
||||
using static Silk.NET.Statiq.TableOfContents.Internals.Utilities;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.ProcessModules
|
||||
{
|
||||
public class BakeTocIntoDocuments : ParallelModule
|
||||
{
|
||||
private readonly bool _anyIfNotFound;
|
||||
private ObjectDocument<BakedToc>[]? _tocs;
|
||||
private PathMatcher _pathMatcher;
|
||||
|
||||
public BakeTocIntoDocuments(bool anyIfNotFound = true)
|
||||
=> (_pathMatcher, _anyIfNotFound) = ((x, y) => x == y, anyIfNotFound);
|
||||
|
||||
public BakeTocIntoDocuments(PathMatcher matcher, bool anyIfNotFound = true)
|
||||
=> (_pathMatcher, _anyIfNotFound) = (matcher, anyIfNotFound);
|
||||
|
||||
protected override void BeforeExecution(IExecutionContext context)
|
||||
=> _tocs = context.Inputs.OfType<ObjectDocument<BakedToc>>().ToArray();
|
||||
|
||||
protected override async Task<IEnumerable<IDocument>> ExecuteInputAsync
|
||||
(
|
||||
IDocument input,
|
||||
IExecutionContext context
|
||||
)
|
||||
{
|
||||
if (!_tocs?.Any() ?? true)
|
||||
{
|
||||
// early out if there's no tocs to begin with
|
||||
return await input.YieldAsync();
|
||||
}
|
||||
|
||||
if (input is ObjectDocument<BakedToc>)
|
||||
{
|
||||
// if the document is itself a toc, remove it from the pipeline.
|
||||
return DocumentList<IDocument>.Empty;
|
||||
}
|
||||
|
||||
// find a toc in which the document has a matching entry in its map.
|
||||
var matchingToc = _tocs?.SelectMany(x => x.Object.TocMap)
|
||||
.FirstOrDefault(x => _pathMatcher(x.Key, input.Source.GetRelativeInputPath()));
|
||||
if (matchingToc?.Value.Value is null) // would be matchingToc is null but FirstOrDefault is strange...
|
||||
{
|
||||
if (_anyIfNotFound)
|
||||
{
|
||||
// if there is no matching ToC and _anyIfNotFound mode is on (e.g. get any ToC so we can still
|
||||
// render a navbar),
|
||||
context.LogWarning(input, "Document is not part of any ToC, using \"any-if-not-found\" mode...");
|
||||
var fallbackMetadata = input.Concat
|
||||
(
|
||||
Yield
|
||||
(
|
||||
new KeyValuePair<string, object>
|
||||
(
|
||||
nameof(TableOfContentsModel),
|
||||
new TableOfContentsModel
|
||||
(
|
||||
_tocs!.Select(x => x.Object.TocMap.Select(y => y.Value.Root).FirstOrDefault())
|
||||
.FirstOrDefault(x => x is not null)
|
||||
?? throw new InvalidOperationException
|
||||
(
|
||||
"Any-if-not-found mode failed: ToCs are empty."
|
||||
),
|
||||
null
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
// clone the document with the model added as metadata to it
|
||||
return await input.Clone(fallbackMetadata).YieldAsync();
|
||||
}
|
||||
|
||||
// _anyIfNotFound mode is off, just return the original document.
|
||||
context.LogWarning(input, "Document is not part of any ToC!");
|
||||
return await input.YieldAsync();
|
||||
}
|
||||
|
||||
context.LogDebug(input, $"Using ToC \"{matchingToc.Value.Value.Root.TocFile}\"");
|
||||
|
||||
// clone the model to ensure it's self-contained, unique for this document, & can't be modified/messed with
|
||||
var theToc = Clone(matchingToc.Value.Value);
|
||||
|
||||
// set the current document as active in the model
|
||||
theToc.Node!.IsActive = true;
|
||||
|
||||
// add the model to the metadata
|
||||
var md = input.Concat(Yield(new KeyValuePair<string, object>(nameof(TableOfContentsModel), theToc)));
|
||||
|
||||
// ensure everything has a title property
|
||||
if (theToc.Node!.Name is not null && input.GetString("Title") is null)
|
||||
{
|
||||
md = md.Concat(Yield(new KeyValuePair<string, object>("Title", theToc.Node!.Name)));
|
||||
}
|
||||
else if (theToc.Node!.Name is null)
|
||||
{
|
||||
theToc.Node!.Name = input.GetString("Title");
|
||||
}
|
||||
|
||||
// clone the document with the model added as metadata to it
|
||||
return await input.Clone(md).YieldAsync();
|
||||
}
|
||||
|
||||
private static TableOfContentsModel Clone
|
||||
(
|
||||
(TableOfContentsElement Root, TableOfContentsElement Value) @in
|
||||
)
|
||||
{
|
||||
TableOfContentsElement? value = null;
|
||||
var root = CoreClone(@in.Root, @in.Value, ref value);
|
||||
if (value is null)
|
||||
{
|
||||
throw new ArgumentException("Given Value was not present within the Root");
|
||||
}
|
||||
|
||||
return new(root, value);
|
||||
}
|
||||
|
||||
private static TableOfContentsElement CoreClone
|
||||
(
|
||||
TableOfContentsElement element,
|
||||
TableOfContentsElement lookForValue,
|
||||
ref TableOfContentsElement? value
|
||||
)
|
||||
{
|
||||
TableOfContentsElement? tempValue = null;
|
||||
var ret = new TableOfContentsElement
|
||||
{
|
||||
Name = element.Name,
|
||||
Url = element.Url,
|
||||
FullUrl = element.FullUrl,
|
||||
Children = element.Children?.Select(x => CoreClone(x, lookForValue, ref tempValue)).ToList(),
|
||||
Metadata = element.Metadata?.ToDictionary(static x => x.Key, static x => x.Value),
|
||||
IsActive = false,
|
||||
TocBasePath = element.TocBasePath,
|
||||
TocFile = element.TocFile
|
||||
};
|
||||
|
||||
foreach (var elem in ret.Children ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
elem.Parent = ret;
|
||||
}
|
||||
|
||||
if (element == lookForValue)
|
||||
{
|
||||
value ??= ret;
|
||||
}
|
||||
|
||||
value ??= tempValue;
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,193 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Silk.NET.Statiq.TableOfContents.Internals;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.ProcessModules
|
||||
{
|
||||
public class BakeTocModels : Module
|
||||
{
|
||||
protected override async Task<IEnumerable<IDocument>> ExecuteContextAsync(IExecutionContext context)
|
||||
{
|
||||
// the goal of this section is to:
|
||||
// - use all the ToC JSON files
|
||||
// - walk the tree in each of those files
|
||||
// - collect:
|
||||
// - the file in which the ToC element is declared
|
||||
// - the relative path to the file the ToC element refers to
|
||||
// - the object representation of the ToC tree to which the ToC element belongs
|
||||
// - the raw ToC element
|
||||
// this is because we need to have all that information represented in a nice way before "baking" the ToC
|
||||
// trees together, so we can just construct one big tree for all related ToCs.
|
||||
var rawTocModels = context.Inputs.OfType<ObjectDocument<LoadedRawToc>>().Select(x => x.Object).ToArray();
|
||||
if (!rawTocModels.Any())
|
||||
{
|
||||
// we can stop here if we don't have any models at all. keep everything in the pipeline, though.
|
||||
return context.Inputs;
|
||||
}
|
||||
|
||||
return context.Inputs.Where(x => x is not ObjectDocument<LoadedRawToc>)
|
||||
.Concat(await new ObjectDocument<BakedToc>(new(Bake(rawTocModels.ToArray()))).YieldAsync());
|
||||
}
|
||||
|
||||
private static ConcurrentDictionary<NormalizedPath, (TableOfContentsElement Root, TableOfContentsElement Value)>
|
||||
Bake
|
||||
(
|
||||
IEnumerable<LoadedRawToc> rawTocModels
|
||||
)
|
||||
{
|
||||
var wip =
|
||||
new Dictionary<NormalizedPath, (NormalizedPath OriginalToCFile, NormalizedPath Rel,
|
||||
TableOfContentsElement Root,
|
||||
TableOfContentsElement Value)>();
|
||||
|
||||
// First pass removing duplicates
|
||||
foreach (var (tocFile, val) in rawTocModels)
|
||||
{
|
||||
var (srcRel, root, value) = val;
|
||||
// note - there used to be a ! here but it didn't make sense so i removed it.
|
||||
// if everything breaks, add it back.
|
||||
if (wip.TryAdd(srcRel, (tocFile, srcRel, root, value)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (wip.TryGetValue(srcRel, out var existing))
|
||||
{
|
||||
if (existing.OriginalToCFile == tocFile)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
else
|
||||
{
|
||||
// uh-oh, duplicate key TODO logging
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// uh-oh, unknown error TODO logging
|
||||
}
|
||||
}
|
||||
|
||||
// Second pass resolve fragmented models (that are linked together using ::path/to/inner/toc.json)
|
||||
// key: tocFile, value: file that includes the tocFile
|
||||
var includedToCs = new Dictionary<NormalizedPath, NormalizedPath>();
|
||||
foreach (var tocFile in wip.Select(x => x.Value.OriginalToCFile).Distinct())
|
||||
{
|
||||
foreach (var (key, value) in wip)
|
||||
{
|
||||
// get the key.
|
||||
var rawNcsVal = value.Value.Url;
|
||||
|
||||
// we need to check whether this a) is an include and b) whether the include refers to the current
|
||||
// ToC file.
|
||||
if (rawNcsVal is null || !rawNcsVal.StartsWith("::"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var ncsF = value.Value.TocBasePath / rawNcsVal[2..];
|
||||
if (ncsF != tocFile)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// looks like it is, get literally anything from the ToC tree that is from the file we want.
|
||||
var referencedToCRoot = wip.FirstOrDefault(x => x.Value.OriginalToCFile == tocFile);
|
||||
|
||||
// if this condition is true, this means that FirstOrDefault returned default (but we can't
|
||||
// actually check that! grr...)
|
||||
if (referencedToCRoot.Key == default && referencedToCRoot.Value == default)
|
||||
{
|
||||
// we can't find the toc file - they probably haven't included it as an input file.
|
||||
// nuke this element of the tree... TODO logging
|
||||
if (!wip.Remove(key))
|
||||
{
|
||||
// failed to nuke it from the tree! it's now in an undefined state TODO logging
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// now, things would get incredibly weird if we let the same ToC be used twice, so let's not
|
||||
// allow that.
|
||||
if (includedToCs.TryGetValue(tocFile, out var val))
|
||||
{
|
||||
// detected inclusion of the same ToC more than once TODO logging
|
||||
// actualTocFileName is included in value.OriginalToCFile and val, nuke it...
|
||||
if (!wip.Remove(key))
|
||||
{
|
||||
// failed to nuke it from the tree! it's now in an undefined state TODO logging
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!includedToCs.TryAdd(tocFile, value.OriginalToCFile))
|
||||
{
|
||||
// failed to add it to the tree! it's now in an undefined state TODO logging
|
||||
continue;
|
||||
}
|
||||
|
||||
// cool. so now we have:
|
||||
// - key, which is the rel path we got from walking the ToC trees
|
||||
// - wip[key], which is the ToC element that contains the include.
|
||||
// - referencedToCRoot, which is the root element of the ToC we're trying to include
|
||||
var parent = wip[key].Value.Parent;
|
||||
var indexOfThisElement = parent?.Children?.IndexOf(wip[key].Value);
|
||||
|
||||
// purge all children of the include
|
||||
if (!(parent?.Children?.Remove(wip[key].Value) ?? true))
|
||||
{
|
||||
// failed to disown child TODO logging
|
||||
}
|
||||
|
||||
// create the parent-child relationship bonding the two ToC trees together
|
||||
|
||||
// set the included ToC's parent to the including ToC
|
||||
referencedToCRoot.Value.Root.Parent = parent;
|
||||
// add the included ToC as a child to the including ToC
|
||||
if (indexOfThisElement is not null)
|
||||
{
|
||||
parent?.Children?.Insert(indexOfThisElement.Value, referencedToCRoot.Value.Root);
|
||||
}
|
||||
else
|
||||
{
|
||||
parent?.Children?.Add(referencedToCRoot.Value.Root);
|
||||
}
|
||||
|
||||
// remove the ToC inclusion from the ToC model now that the other models are in there
|
||||
if (!wip.Remove(key))
|
||||
{
|
||||
// failed to nuke it from the tree! it's now in an undefined state TODO logging
|
||||
}
|
||||
|
||||
// replace all elements referencing the included ToC as the root
|
||||
foreach (var (referencingKey, referencingVal) in wip)
|
||||
{
|
||||
if (referencingVal.Root == referencedToCRoot.Value.Root)
|
||||
{
|
||||
wip[referencingKey] = (tocFile, referencingVal.Rel, value.Root, referencingVal.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Third pass getting it in the format the caller wants
|
||||
var ret =
|
||||
new ConcurrentDictionary<NormalizedPath, (TableOfContentsElement Root, TableOfContentsElement Value)>();
|
||||
foreach (var (key, value) in wip)
|
||||
{
|
||||
ret.TryAdd(key, (value.Root, value.Value));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.FileSystemGlobbing;
|
||||
using Silk.NET.Statiq.TableOfContents.Internals;
|
||||
using Statiq.Common;
|
||||
using static Silk.NET.Statiq.TableOfContents.Internals.Utilities;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents.ProcessModules
|
||||
{
|
||||
public class LoadRawToc : ParallelModule
|
||||
{
|
||||
private readonly Matcher? _matcher;
|
||||
|
||||
public LoadRawToc(params string[] patterns)
|
||||
{
|
||||
if (patterns.Length == 0)
|
||||
{
|
||||
_matcher = null; // micro-optimization
|
||||
}
|
||||
|
||||
_matcher = new();
|
||||
_matcher.AddIncludePatterns(patterns.Where(x => x.FirstOrDefault() != '!'));
|
||||
_matcher.AddExcludePatterns(patterns.Where(x => x.FirstOrDefault() == '!').Select(x => x[1..]));
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<IDocument>> ExecuteInputAsync
|
||||
(IDocument input, IExecutionContext context)
|
||||
{
|
||||
// no source? keep it in the pipeline.
|
||||
if (input.Source.IsNull)
|
||||
{
|
||||
return await input.YieldAsync();
|
||||
}
|
||||
|
||||
// check whether this file matches against any
|
||||
var match = _matcher?.Execute
|
||||
(
|
||||
new InMemoryDirectoryInfo
|
||||
(
|
||||
context.FileSystem.GetContainingInputPath(input.Source).ToString(),
|
||||
Yield(input.Source.ToString())
|
||||
)
|
||||
);
|
||||
|
||||
// assume that no pattern = everything is a toc (i.e it's a dedicated pipeline)
|
||||
var isAToC = match?.HasMatches ?? true;
|
||||
|
||||
// if it's not a ToC, keep it in the pipeline as is
|
||||
if (!isAToC)
|
||||
{
|
||||
if (input.TryGetValue("TableOfContents", out var toc) && toc is MetadataDictionary md)
|
||||
{
|
||||
context.Logger.LogDebug(input, "Found ToC in metadata");
|
||||
var model = JsonSerializer.Deserialize<TableOfContentsElement>(md.ToJson());
|
||||
if (model is not null && model.Url is null)
|
||||
{
|
||||
model.Url = input.Source.FileName.ToString();
|
||||
}
|
||||
|
||||
return Load(model).Concat(Yield(input));
|
||||
}
|
||||
|
||||
context.Logger.LogDebug(input, "Not a ToC");
|
||||
return await input.YieldAsync();
|
||||
}
|
||||
|
||||
context.Logger.LogDebug(input, "Found ToC");
|
||||
using var sr = new StreamReader(input.GetContentStream());
|
||||
return Load(JsonSerializer.Deserialize<TableOfContentsElement>(await sr.ReadToEndAsync()));
|
||||
|
||||
IEnumerable<IDocument> Load(TableOfContentsElement? e)
|
||||
=> GetRawToCModels(input, e)
|
||||
.Select(x => new ObjectDocument<LoadedRawToc>(x));
|
||||
}
|
||||
|
||||
private static IEnumerable<LoadedRawToc> GetRawToCModels
|
||||
(
|
||||
IDocument doc,
|
||||
TableOfContentsElement? model
|
||||
)
|
||||
{
|
||||
// get the file name of the ToC JSON file
|
||||
var file = doc.Source;
|
||||
|
||||
// all paths in the model are relative to the directory in which the toc is contained.
|
||||
// get the path of the ToC in the input directory, and walk relative to that.
|
||||
var tocBasePath = file.Parent.GetRelativeInputPath();
|
||||
|
||||
// get all ToC entries
|
||||
var thisRet = Walk(model!, tocBasePath, file.Parent, file, model!)
|
||||
.Select(y => new LoadedRawToc(doc.Source, y))
|
||||
.ToArray();
|
||||
|
||||
// make all the Parent properties work
|
||||
CreateParentReferences(thisRet.Select(y => y.Value.RootModel).Distinct());
|
||||
|
||||
// we're done!
|
||||
return thisRet;
|
||||
}
|
||||
|
||||
private static void CreateParentReferences
|
||||
(
|
||||
IEnumerable<TableOfContentsElement>? rootModels,
|
||||
TableOfContentsElement? parent = null
|
||||
)
|
||||
{
|
||||
foreach (var model in rootModels ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
model.Parent = parent;
|
||||
CreateParentReferences(model.Children, model);
|
||||
}
|
||||
}
|
||||
|
||||
private static IEnumerable<(NormalizedPath, TableOfContentsElement, TableOfContentsElement)> Walk
|
||||
(
|
||||
TableOfContentsElement child,
|
||||
NormalizedPath tocBasePathRelative,
|
||||
NormalizedPath tocBasePathAbsolute,
|
||||
NormalizedPath tocFile,
|
||||
TableOfContentsElement root
|
||||
)
|
||||
{
|
||||
child.TocBasePath = tocBasePathAbsolute;
|
||||
child.TocFile = tocFile;
|
||||
if (child.Url is not null)
|
||||
{
|
||||
if (child.Url.StartsWith(">>"))
|
||||
{
|
||||
child.Url = child.Url[2..];
|
||||
child.FullUrl = tocBasePathRelative / child.Url;
|
||||
}
|
||||
else
|
||||
{
|
||||
child.FullUrl = tocBasePathRelative / child.Url;
|
||||
yield return (child.FullUrl, root, child);
|
||||
}
|
||||
}
|
||||
|
||||
// recurse for children
|
||||
foreach (var element in child.Children ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
foreach (var walked in Walk(element, tocBasePathRelative, tocBasePathAbsolute, tocFile, root))
|
||||
{
|
||||
yield return walked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>10</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Statiq.Core" Version="1.0.0-beta.48" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,115 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json.Serialization;
|
||||
using Silk.NET.Statiq.TableOfContents.Internals;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents
|
||||
{
|
||||
public class TableOfContentsElement
|
||||
{
|
||||
/// <summary>
|
||||
/// The name of this page.
|
||||
/// </summary>
|
||||
[JsonInclude]
|
||||
public string? Name { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// The URL to the file referenced in the table of contents, relative to the table of contents file.
|
||||
/// </summary>
|
||||
[JsonInclude]
|
||||
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||
public string? Url { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// The URL to the file referenced in the table of contents, relative to the input directory.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public NormalizedPath FullUrl { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// The value, usable in the HTML href attribute (unless relativity matters), of this ToC element.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public string Href => "~/" + FullUrl;
|
||||
|
||||
/// <summary>
|
||||
/// The elements beneath this element in the table of contents.
|
||||
/// </summary>
|
||||
[JsonInclude]
|
||||
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||
// TODO [JsonConverter(typeof(GlobArrayOrTocsJsonConverter))]
|
||||
public List<TableOfContentsElement>? Children { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// Miscellaneous metadata, defined by the user and used by the Razor theme.
|
||||
/// </summary>
|
||||
[JsonInclude]
|
||||
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||
public Dictionary<string, string>? Metadata { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the <see cref="TableOfContentsModel"/> containing this element is being passed to the page
|
||||
/// represented by this element.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public bool IsActive { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether any of the direct descendants in <see cref="Children"/> of this table of contents element are
|
||||
/// active, as defined by <see cref="IsActive"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// i.e. this method returns true when one of this element's children is active, but false when one of the
|
||||
/// children's children are active. To return true even in the latter case, use <see cref="IsAnyChildActive"/>.
|
||||
/// </remarks>
|
||||
[JsonIgnore]
|
||||
public bool IsChildActive => Children?.Any(static x => x.IsActive) ?? false;
|
||||
|
||||
/// <summary>
|
||||
/// Whether any of the descendants in <see cref="Children"/> of this table of contents element are
|
||||
/// active, as defined by <see cref="IsActive"/>.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// i.e. this method returns true when one of this element's children is active, even when one of the
|
||||
/// children's children are active, regardless of the depth of the descendant. To return false in the latter
|
||||
/// case, use <see cref="IsChildActive"/>.
|
||||
/// </remarks>
|
||||
[JsonIgnore]
|
||||
public bool IsAnyChildActive => Children?.Any(static x => x.IsActive || x.IsAnyChildActive) ?? false;
|
||||
|
||||
public IEnumerable<TableOfContentsElement> Ancestors
|
||||
{
|
||||
get
|
||||
{
|
||||
static IEnumerable<TableOfContentsElement> GetAncestorsThisFirst(TableOfContentsElement @this)
|
||||
{
|
||||
var currentNode = @this;
|
||||
while (currentNode is not null)
|
||||
{
|
||||
if (currentNode != @this)
|
||||
{
|
||||
yield return currentNode;
|
||||
}
|
||||
|
||||
currentNode = currentNode.Parent;
|
||||
}
|
||||
}
|
||||
|
||||
return GetAncestorsThisFirst(this).Reverse();
|
||||
}
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
internal NormalizedPath TocBasePath { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
internal NormalizedPath TocFile { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public TableOfContentsElement? Parent { get; internal set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents
|
||||
{
|
||||
public static class TableOfContentsExtensions
|
||||
{
|
||||
public static TableOfContentsModel? GetToc(this IDocument doc)
|
||||
=> doc.Get<TableOfContentsModel>(nameof(TableOfContentsModel));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
namespace Silk.NET.Statiq.TableOfContents
|
||||
{
|
||||
public record TableOfContentsModel
|
||||
(
|
||||
TableOfContentsElement Root,
|
||||
TableOfContentsElement? Node
|
||||
);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq
|
||||
{
|
||||
public class CaptionShortCode : IShortcode
|
||||
{
|
||||
public Task<IEnumerable<ShortcodeResult>> ExecuteAsync
|
||||
(KeyValuePair<string, string>[] args, string content, IDocument document, IExecutionContext context) =>
|
||||
Task.FromResult(args.Select(x => new ShortcodeResult($"<p class=\"text-center\">\n{x.Value}\n</p>")));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Statiq.Common;
|
||||
|
||||
namespace Silk.NET.Statiq
|
||||
{
|
||||
public class FancyImageShortCode : IShortcode
|
||||
{
|
||||
public Task<IEnumerable<ShortcodeResult>> ExecuteAsync(KeyValuePair<string, string>[] args, string content, IDocument document, IExecutionContext context)
|
||||
{
|
||||
string? imageUrl = null;
|
||||
var width = "600px"; // keep this in sync with silk.css .silk-content > img
|
||||
string? altText = null;
|
||||
string? caption = null;
|
||||
var center = true;
|
||||
for (var i = 0; i < args.Length; i++)
|
||||
{
|
||||
var kvp = args[i];
|
||||
if (string.IsNullOrWhiteSpace(kvp.Key))
|
||||
{
|
||||
kvp = new
|
||||
(
|
||||
i switch { 0 => "url", 1 => "alt", 2 => "caption", 3 => "width", _ => string.Empty },
|
||||
kvp.Value
|
||||
);
|
||||
}
|
||||
switch (kvp.Key.ToLower())
|
||||
{
|
||||
case "url":
|
||||
{
|
||||
imageUrl = kvp.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
case "alt":
|
||||
{
|
||||
altText = kvp.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
case "caption":
|
||||
{
|
||||
caption = kvp.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
case "width":
|
||||
{
|
||||
width = kvp.Value;
|
||||
break;
|
||||
}
|
||||
|
||||
case "center":
|
||||
{
|
||||
center = bool.Parse(kvp.Value);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
throw new KeyNotFoundException("Unknown key/position for argument to fancy image shortcode.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(imageUrl))
|
||||
{
|
||||
throw new ArgumentException("Needs image url", nameof(args));
|
||||
}
|
||||
|
||||
var sb = new StringBuilder();
|
||||
var align = center ? "text-center" : "text-left";
|
||||
sb.AppendLine($"<p class=\"{align}\">");
|
||||
sb.Append($" <img src=\"{imageUrl}\" style=\"width: {width};\"");
|
||||
if (!string.IsNullOrWhiteSpace(altText))
|
||||
{
|
||||
sb.Append($" alt=\"{altText}\"");
|
||||
}
|
||||
|
||||
sb.AppendLine(">");
|
||||
if (!string.IsNullOrWhiteSpace(caption))
|
||||
{
|
||||
sb.AppendLine("<br />");
|
||||
sb.AppendLine(caption);
|
||||
}
|
||||
|
||||
sb.AppendLine("</p>");
|
||||
|
||||
return Task.FromResult<IEnumerable<ShortcodeResult>>(new[] { new ShortcodeResult(sb.ToString()) });
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Statiq.Common;
|
||||
using Statiq.Core;
|
||||
|
||||
namespace Silk.NET.Statiq
|
||||
{
|
||||
/// <summary>
|
||||
/// Similar to a <see cref="ForAllDocuments"/> and <see cref="FilterSources"/> combo, only this keeps the
|
||||
/// not applicable documents in the pipeline
|
||||
/// </summary>
|
||||
public class ForAllMatching : Module
|
||||
{
|
||||
private readonly bool _preserve;
|
||||
private readonly List<IModule> _filterModules;
|
||||
private readonly List<IModule> _executeModules;
|
||||
|
||||
/// <summary>
|
||||
/// Instantiates the <see cref="ForAllMatching"/> process module.
|
||||
/// </summary>
|
||||
/// <param name="preserve">
|
||||
/// Whether to keep the original documents in the pipeline alongside the output of the executed modules.
|
||||
/// </param>
|
||||
public ForAllMatching(bool preserve = false)
|
||||
{
|
||||
_preserve = preserve;
|
||||
_filterModules = new();
|
||||
_executeModules = new();
|
||||
}
|
||||
|
||||
public ForAllMatching WithFilterModules(params IModule[] modules)
|
||||
{
|
||||
_filterModules.AddRange(modules);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ForAllMatching WithFilterPatterns(params string[] patterns)
|
||||
=> WithFilterModules(new FilterSources(patterns));
|
||||
|
||||
public ForAllMatching WithExecuteModules(params IModule[] modules)
|
||||
{
|
||||
_executeModules.AddRange(modules);
|
||||
return this;
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<IDocument>> ExecuteContextAsync(IExecutionContext context)
|
||||
{
|
||||
var applicable = await context.ExecuteModulesAsync(_filterModules, context.Inputs);
|
||||
var notApplicable = context.Inputs.Where(x => !applicable.Contains(x));
|
||||
if (_preserve)
|
||||
{
|
||||
notApplicable = notApplicable.Concat(applicable); // just go with it
|
||||
}
|
||||
|
||||
return notApplicable.Concat(await context.ExecuteModulesAsync(_executeModules, applicable));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Silk.NET.Statiq;
|
||||
using Silk.NET.Statiq.TableOfContents.ProcessModules;
|
||||
using Statiq.App;
|
||||
using Statiq.Common;
|
||||
using Statiq.Core;
|
||||
using Statiq.Feeds;
|
||||
using Statiq.Markdown;
|
||||
using Statiq.Razor;
|
||||
using Statiq.Yaml;
|
||||
|
||||
namespace Silk.NET.Statiq;
|
||||
|
||||
public static class Program
|
||||
{
|
||||
public static async Task<int> Main(string[] args)
|
||||
{
|
||||
return await Bootstrapper.Factory
|
||||
.CreateDefault(args)
|
||||
.ConfigureFileSystem
|
||||
(
|
||||
x =>
|
||||
{
|
||||
x.InputPaths.Clear();
|
||||
x.InputPaths.Add("../../../website");
|
||||
x.OutputPath = "../../../docs";
|
||||
}
|
||||
)
|
||||
.BuildPipeline
|
||||
(
|
||||
"Static",
|
||||
builder => builder.WithInputReadFiles()
|
||||
.WithProcessModules
|
||||
(
|
||||
new CopyFiles("_theme/lib/**/*").To
|
||||
(
|
||||
x => Task.FromResult
|
||||
(
|
||||
"theme" /
|
||||
new NormalizedPath("_theme/lib").GetRelativePath(x.Path.GetRelativeInputPath())
|
||||
)
|
||||
),
|
||||
new CopyFiles("images/**/*")
|
||||
)
|
||||
)
|
||||
.BuildPipeline
|
||||
(
|
||||
"Content",
|
||||
x => x.WithInputReadFiles("{**,!_theme/**}/*.cshtml", "**/*.md", "**/toc.json")
|
||||
.WithProcessModules
|
||||
(
|
||||
new ExtractFrontMatter(new ParseJson()),
|
||||
new ForAllMatching().WithFilterPatterns("**/*.md").WithExecuteModules(new RenderMarkdown()),
|
||||
new AddTableOfContents
|
||||
(
|
||||
(tocPath, docPath) => tocPath == docPath.ChangeExtension(".html"),
|
||||
"**/toc.json"
|
||||
),
|
||||
new RenderRazor(),
|
||||
new ProcessShortcodes(),
|
||||
new SetDestination(".html"),
|
||||
new ForAllMatching(true)
|
||||
.WithFilterPatterns("blog/{**/*,!index.cshtml}")
|
||||
.WithExecuteModules
|
||||
(
|
||||
new GenerateFeeds()
|
||||
.WithItemLink
|
||||
(
|
||||
Config.FromDocument
|
||||
(
|
||||
(y, z)
|
||||
=> new Uri(new("https://dotnet.github.io/Silk.NET"), z.GetLink(y, true))
|
||||
)
|
||||
)
|
||||
.WithAtomPath("blog/feed.atom")
|
||||
.WithRssPath("blog/feed.rss")
|
||||
.WithFeedTitle("Silk.NET Blog")
|
||||
.WithFeedAuthor(".NET Foundation and Contributors")
|
||||
.WithFeedCopyright
|
||||
(
|
||||
$"Copyright (C) {DateTime.UtcNow.Year} .NET Foundation and Contributors"
|
||||
)
|
||||
)
|
||||
)
|
||||
.WithOutputWriteFiles()
|
||||
)
|
||||
.AddShortcode<FancyImageShortCode>("FancyImage")
|
||||
.AddShortcode<CaptionShortCode>("Caption")
|
||||
.RunAsync();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>10</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.36" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="3.11.0" />
|
||||
<PackageReference Include="Statiq.App" Version="1.0.0-beta.48" />
|
||||
<PackageReference Include="Statiq.Feeds" Version="1.0.0-beta.48" />
|
||||
<PackageReference Include="Statiq.Markdown" Version="1.0.0-beta.48" />
|
||||
<PackageReference Include="Statiq.Razor" Version="1.0.0-beta.48" />
|
||||
<PackageReference Include="Statiq.Yaml" Version="1.0.0-beta.48" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Silk.NET.Statiq.TableOfContents\Silk.NET.Statiq.TableOfContents.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,43 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Html;
|
||||
using Silk.NET.Statiq.TableOfContents;
|
||||
using Statiq.Common;
|
||||
using Statiq.Razor;
|
||||
|
||||
namespace Silk.NET.Statiq
|
||||
{
|
||||
public abstract class SilkPage : StatiqRazorPage<IDocument>
|
||||
{
|
||||
/// <summary>
|
||||
/// Converts a path which is relative to the input path to a URL which is relative to the current page's
|
||||
/// containing directory.
|
||||
/// </summary>
|
||||
/// <param name="path">The path.</param>
|
||||
/// <returns>The URL.</returns>
|
||||
public string InputUrl(string path)
|
||||
{
|
||||
var fs = IExecutionContext.Current.FileSystem;
|
||||
var absOutputPath = fs.RootPath / fs.GetOutputPath();
|
||||
var absDestDirPath = fs.RootPath / fs.GetOutputPath(Document.Destination.Parent);
|
||||
var relPath = absDestDirPath.GetRelativePath(absOutputPath / Href(path).TrimStart('/'));
|
||||
if (relPath.FileName == "index.html")
|
||||
{
|
||||
relPath = relPath.Parent;
|
||||
}
|
||||
|
||||
return relPath.ToString();
|
||||
}
|
||||
|
||||
public IHtmlContent Raw(string str) => new HtmlString(str);
|
||||
public bool IsBlogPost => Model?.GetToc()?.Node?.Ancestors.Any(IsBlog) ?? false;
|
||||
public bool IsBlogHomePage => IsBlog(Model?.GetToc()?.Node);
|
||||
public string ContentClasses => IsBlogPost ? "silk-content silk-blog" : "silk-content";
|
||||
private bool IsBlog(TableOfContentsElement? x)
|
||||
=> x?.Metadata is not null &&
|
||||
x.Metadata.TryGetValue("theme.silk.blog", out var val) &&
|
||||
bool.TryParse(val, out var bVal) && bVal;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"sdk": {
|
||||
"version": "6.0",
|
||||
"rollForward": "minor"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
@{
|
||||
var body = RenderBody();
|
||||
var bodyDoc = new HtmlDocument();
|
||||
using var sw = new StringWriter();
|
||||
body.WriteTo(sw, HtmlEncoder.Default);
|
||||
bodyDoc.LoadHtml(sw.ToString());
|
||||
}
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||
@{
|
||||
var title = Model.GetString("Title");
|
||||
var toc = Model.GetToc();
|
||||
string? desc = null;
|
||||
toc?.Node?.Metadata?.TryGetValue("Description", out desc);
|
||||
string? previewImage = null;
|
||||
if (toc?.Node?.Metadata?.TryGetValue("PreviewImage", out previewImage) ?? false)
|
||||
{
|
||||
previewImage = "https://dotnet.github.io/Silk.NET/" + previewImage;
|
||||
}
|
||||
}
|
||||
|
||||
@if (title is null || (!(toc is null) && toc.Root == toc.Node))
|
||||
{
|
||||
<title>
|
||||
Silk.NET - High-Speed & Advanced .NET Graphics & Compute
|
||||
</title>
|
||||
}
|
||||
else
|
||||
{
|
||||
<title>
|
||||
@title - Silk.NET
|
||||
</title>
|
||||
<meta property="og:title" content="@title" />
|
||||
<meta property="og:site_name" content="Silk.NET - High-Speed & Advanced .NET Graphics & Compute" />
|
||||
}
|
||||
|
||||
@if (desc is null)
|
||||
{
|
||||
string? firstParagraph = null;
|
||||
if (IsBlogPost && !string.IsNullOrWhiteSpace(firstParagraph = bodyDoc.DocumentNode.SelectNodes("//p[not(@id) and not(@class)]").FirstOrDefault()?.InnerText))
|
||||
{
|
||||
<meta name="description" content="@firstParagraph" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<meta name="description" content="Your one-stop-shop for high performance .NET graphics & compute. A .NET Foundation project." />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<meta name="description" content="@desc" />
|
||||
}
|
||||
|
||||
@if (IsBlogPost)
|
||||
{
|
||||
<meta property="og:type" content="article" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<meta property="og:type" content="website" />
|
||||
}
|
||||
|
||||
@if (previewImage is null)
|
||||
{
|
||||
<meta name="og:image" content="https://dotnet.github.io/Silk.NET/images/logo64.png" />
|
||||
<meta name="og:image:alt" content="Silk.NET Logo" />
|
||||
<meta name="twitter:card" content="summary" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<meta name="og:image" content="@previewImage" />
|
||||
<meta name="og:image:alt" content="Blog Preview Image" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
}
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<link href="@InputUrl("theme/nucleo.css")" rel="stylesheet" />
|
||||
<link href="@InputUrl("theme/fontawesome.css")" rel="stylesheet" />
|
||||
<link href="@InputUrl("theme/argon.css")" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/nord.min.css">
|
||||
<link rel="stylesheet" href="@InputUrl("theme/silk.css")" />
|
||||
</head>
|
||||
|
||||
<body class="silk-dark">
|
||||
@Html.Partial("_theme/src/10-nav.cshtml")
|
||||
@Html.Partial("_theme/src/20-contentroot.cshtml", new ViewDataDictionary(ViewData) { { "body", body }})
|
||||
<script src="@InputUrl("theme/jquery.min.js")" type="text/javascript"></script>
|
||||
<script src="@InputUrl("theme/popper.min.js")" type="text/javascript"></script>
|
||||
<script src="@InputUrl("theme/bootstrap.min.js")" type="text/javascript"></script>
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/highlight.min.js"></script>
|
||||
<script src="@InputUrl("theme/argon.js")" type="text/javascript"></script>
|
||||
<script src="@InputUrl("theme/clipboard.min.js")"></script>
|
||||
<script src="@InputUrl("theme/headroom.min.js")"></script>
|
||||
<script src="@InputUrl("theme/silk.js")"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,11 @@
|
|||
@using System
|
||||
@using System.Collections.Generic
|
||||
@using System.Linq
|
||||
@using System.IO
|
||||
@using System.Text.Encodings.Web
|
||||
@using HtmlAgilityPack
|
||||
@using Microsoft.AspNetCore.Html
|
||||
@using Silk.NET.Statiq
|
||||
@using Silk.NET.Statiq.TableOfContents
|
||||
|
||||
@inherits Silk.NET.Statiq.SilkPage
|
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = @"/_Layout.cshtml";
|
||||
}
|
|
@ -0,0 +1,292 @@
|
|||
/*!
|
||||
|
||||
=========================================================
|
||||
* Argon Design System - v1.2.2
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-design-system
|
||||
* Copyright 2020 Creative Tim (http://www.creative-tim.com)
|
||||
|
||||
* Coded by www.creative-tim.com
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
var transparent = true;
|
||||
var big_image;
|
||||
|
||||
var transparentDemo = true;
|
||||
var fixedTop = false;
|
||||
|
||||
var navbar_initialized,
|
||||
backgroundOrange = false,
|
||||
toggle_initialized = false;
|
||||
|
||||
var $datepicker = $('.datepicker');
|
||||
var $collapse = $('.navbar .collapse');
|
||||
var $html = $('html');
|
||||
var $tagsinput = $('.tagsinput');
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
// Activate the Tooltips
|
||||
$('[data-toggle="tooltip"], [rel="tooltip"]').tooltip();
|
||||
|
||||
// Activate Popovers and set color for popovers
|
||||
$('[data-toggle="popover"]').each(function() {
|
||||
color_class = $(this).data('color');
|
||||
$(this).popover({
|
||||
template: '<div class="popover popover-' + color_class + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
|
||||
});
|
||||
});
|
||||
|
||||
var squares1 = document.getElementById("square1");
|
||||
var squares2 = document.getElementById("square2");
|
||||
var squares3 = document.getElementById("square3");
|
||||
var squares4 = document.getElementById("square4");
|
||||
var squares5 = document.getElementById("square5");
|
||||
var squares6 = document.getElementById("square6");
|
||||
var squares9 = document.getElementById("square7");
|
||||
var squares10 = document.getElementById("square8");
|
||||
|
||||
if ($('.square').length != 0) {
|
||||
|
||||
$(document).mousemove(function(e) {
|
||||
posX = event.clientX - window.innerWidth / 2;
|
||||
posY = event.clientY - window.innerWidth / 6;
|
||||
|
||||
squares1.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares2.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares3.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares4.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares5.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares6.style.transform = "perspective(500px) rotateY(" + posX * 0.05 + "deg) rotateX(" + posY * (-0.05) + "deg)";
|
||||
squares9.style.transform = "perspective(500px) rotateY(" + posX * 0.02 + "deg) rotateX(" + posY * (-0.02) + "deg)";
|
||||
squares10.style.transform = "perspective(500px) rotateY(" + posX * 0.02 + "deg) rotateX(" + posY * (-0.02) + "deg)";
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// Activate the image for the navbar-collapse
|
||||
ArgonKit.initNavbarImage();
|
||||
|
||||
$navbar = $('.navbar[color-on-scroll]');
|
||||
scroll_distance = $navbar.attr('color-on-scroll') || 500;
|
||||
|
||||
// Check if we have the class "navbar-color-on-scroll" then add the function to remove the class "navbar-transparent" so it will transform to a plain color.
|
||||
|
||||
if ($('.navbar[color-on-scroll]').length != 0) {
|
||||
ArgonKit.checkScrollForTransparentNavbar();
|
||||
$(window).on('scroll', ArgonKit.checkScrollForTransparentNavbar)
|
||||
}
|
||||
|
||||
$('.form-control').on("focus", function() {
|
||||
$(this).parent('.input-group').addClass("input-group-focus");
|
||||
}).on("blur", function() {
|
||||
$(this).parent(".input-group").removeClass("input-group-focus");
|
||||
});
|
||||
|
||||
// Activate bootstrapSwitch
|
||||
$('.bootstrap-switch').each(function() {
|
||||
$this = $(this);
|
||||
data_on_label = $this.data('on-label') || '';
|
||||
data_off_label = $this.data('off-label') || '';
|
||||
|
||||
$this.bootstrapSwitch({
|
||||
onText: data_on_label,
|
||||
offText: data_off_label
|
||||
});
|
||||
});
|
||||
|
||||
// Activate Carousel
|
||||
$('.carousel').carousel({
|
||||
interval: false
|
||||
});
|
||||
|
||||
// Datepicker
|
||||
$('.datepicker')[0] && $('.datepicker').each(function() {
|
||||
$('.datepicker').datepicker({
|
||||
disableTouchKeyboard: true,
|
||||
autoclose: false
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Datepicker
|
||||
flatpickr('.flatpickr', {});
|
||||
|
||||
// Datepicker - range
|
||||
flatpickr('.range', {
|
||||
mode: "range"
|
||||
});
|
||||
|
||||
// DateTimePicker
|
||||
flatpickr('.datetimepicker', {
|
||||
enableTime: true,
|
||||
dateFormat: "Y-m-d H:i",
|
||||
});
|
||||
|
||||
// Activate Sliders
|
||||
ArgonKit.initSliders();
|
||||
|
||||
});
|
||||
|
||||
// Methods
|
||||
|
||||
function hideNavbarCollapse($this) {
|
||||
$this.addClass('collapsing-out');
|
||||
}
|
||||
|
||||
function hiddenNavbarCollapse($this) {
|
||||
$this.removeClass('collapsing-out');
|
||||
}
|
||||
|
||||
|
||||
// Events
|
||||
|
||||
if ($collapse.length) {
|
||||
$collapse.on({
|
||||
'hide.bs.collapse': function() {
|
||||
hideNavbarCollapse($collapse);
|
||||
}
|
||||
})
|
||||
|
||||
$collapse.on({
|
||||
'hidden.bs.collapse': function() {
|
||||
hiddenNavbarCollapse($collapse);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// Returns a function, that, as long as it continues to be invoked, will not
|
||||
// be triggered. The function will be called after it stops being called for
|
||||
// N milliseconds. If `immediate` is passed, trigger the function on the
|
||||
// leading edge, instead of the trailing.
|
||||
|
||||
function debounce(func, wait, immediate) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this,
|
||||
args = arguments;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(function() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
}, wait);
|
||||
if (immediate && !timeout) func.apply(context, args);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
ArgonKit = {
|
||||
misc: {
|
||||
navbar_menu_visible: 0
|
||||
},
|
||||
|
||||
checkScrollForTransparentNavbar: debounce(function() {
|
||||
if ($(document).scrollTop() > scroll_distance) {
|
||||
if (transparent) {
|
||||
transparent = false;
|
||||
$('.navbar[color-on-scroll]').removeClass('navbar-transparent');
|
||||
}
|
||||
} else {
|
||||
if (!transparent) {
|
||||
transparent = true;
|
||||
$('.navbar[color-on-scroll]').addClass('navbar-transparent');
|
||||
}
|
||||
}
|
||||
}, 17),
|
||||
|
||||
initNavbarImage: function() {
|
||||
var $navbar = $('.navbar').find('.navbar-translate').siblings('.navbar-collapse');
|
||||
var background_image = $navbar.data('nav-image');
|
||||
|
||||
if ($(window).width() < 991 || $('body').hasClass('burger-menu')) {
|
||||
if (background_image != undefined) {
|
||||
$navbar.css('background', "url('" + background_image + "')")
|
||||
.removeAttr('data-nav-image')
|
||||
.css('background-size', "cover")
|
||||
.addClass('has-image');
|
||||
}
|
||||
} else if (background_image != undefined) {
|
||||
$navbar.css('background', "")
|
||||
.attr('data-nav-image', '' + background_image + '')
|
||||
.css('background-size', "")
|
||||
.removeClass('has-image');
|
||||
}
|
||||
},
|
||||
|
||||
initDatePicker: function() {
|
||||
if ($datepicker.length != 0) {
|
||||
$datepicker.datetimepicker({
|
||||
icons: {
|
||||
time: "tim-icons icon-watch-time",
|
||||
date: "tim-icons icon-calendar-60",
|
||||
up: "fa fa-chevron-up",
|
||||
down: "fa fa-chevron-down",
|
||||
previous: 'tim-icons icon-minimal-left',
|
||||
next: 'tim-icons icon-minimal-right',
|
||||
today: 'fa fa-screenshot',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-remove'
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
initSliders: function() {
|
||||
// Sliders for demo purpose in refine cards section
|
||||
var slider = document.getElementById('sliderRegular');
|
||||
if ($('#sliderRegular').length != 0) {
|
||||
|
||||
noUiSlider.create(slider, {
|
||||
start: 40,
|
||||
connect: [true, false],
|
||||
range: {
|
||||
min: 0,
|
||||
max: 100
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var slider2 = document.getElementById('sliderDouble');
|
||||
|
||||
if ($('#sliderDouble').length != 0) {
|
||||
|
||||
noUiSlider.create(slider2, {
|
||||
start: [20, 60],
|
||||
connect: true,
|
||||
range: {
|
||||
min: 0,
|
||||
max: 100
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Returns a function, that, as long as it continues to be invoked, will not
|
||||
// be triggered. The function will be called after it stops being called for
|
||||
// N milliseconds. If `immediate` is passed, trigger the function on the
|
||||
// leading edge, instead of the trailing.
|
||||
|
||||
function debounce(func, wait, immediate) {
|
||||
var timeout;
|
||||
return function() {
|
||||
var context = this,
|
||||
args = arguments;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(function() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
}, wait);
|
||||
if (immediate && !timeout) func.apply(context, args);
|
||||
};
|
||||
};
|
После Ширина: | Высота: | Размер: 730 KiB |
|
@ -0,0 +1,801 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
||||
<metadata>
|
||||
Created by FontForge 20201107 at Tue Mar 16 10:15:04 2021
|
||||
By Robert Madole
|
||||
Copyright (c) Font Awesome
|
||||
</metadata>
|
||||
<!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><defs>
|
||||
<font id="FontAwesome5Free-Regular" horiz-adv-x="512" >
|
||||
<font-face
|
||||
font-family="Font Awesome 5 Free Regular"
|
||||
font-weight="400"
|
||||
font-stretch="normal"
|
||||
units-per-em="512"
|
||||
panose-1="2 0 5 3 0 0 0 0 0 0"
|
||||
ascent="448"
|
||||
descent="-64"
|
||||
bbox="-0.0663408 -64.0662 640.004 448.1"
|
||||
underline-thickness="25"
|
||||
underline-position="-50"
|
||||
unicode-range="U+0020-F5C8"
|
||||
/>
|
||||
<missing-glyph />
|
||||
<glyph glyph-name="heart" unicode=""
|
||||
d="M458.4 383.7c75.2998 -63.4004 64.0996 -166.601 10.5996 -221.3l-175.4 -178.7c-10 -10.2002 -23.2998 -15.7998 -37.5996 -15.7998c-14.2002 0 -27.5996 5.69922 -37.5996 15.8994l-175.4 178.7c-53.5996 54.7002 -64.5996 157.9 10.5996 221.2
|
||||
c57.8008 48.7002 147.101 41.2998 202.4 -15c55.2998 56.2998 144.6 63.5996 202.4 15zM434.8 196.2c36.2002 36.8994 43.7998 107.7 -7.2998 150.8c-38.7002 32.5996 -98.7002 27.9004 -136.5 -10.5996l-35 -35.7002l-35 35.7002
|
||||
c-37.5996 38.2998 -97.5996 43.1992 -136.5 10.5c-51.2002 -43.1006 -43.7998 -113.5 -7.2998 -150.7l175.399 -178.7c2.40039 -2.40039 4.40039 -2.40039 6.80078 0z" />
|
||||
<glyph glyph-name="star" unicode="" horiz-adv-x="576"
|
||||
d="M528.1 276.5c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103
|
||||
c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998l65.2998 132.4c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4zM388.6 135.7l100.601 98l-139 20.2002l-62.2002 126l-62.2002 -126l-139 -20.2002l100.601 -98l-23.7002 -138.4l124.3 65.2998
|
||||
l124.3 -65.2998z" />
|
||||
<glyph glyph-name="user" unicode="" horiz-adv-x="448"
|
||||
d="M313.6 144c74.2002 0 134.4 -60.2002 134.4 -134.4v-25.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v25.5996c0 74.2002 60.2002 134.4 134.4 134.4c28.7998 0 42.5 -16 89.5996 -16s60.9004 16 89.5996 16zM400 -16v25.5996
|
||||
c0 47.6006 -38.7998 86.4004 -86.4004 86.4004c-14.6992 0 -37.8994 -16 -89.5996 -16c-51.2998 0 -75 16 -89.5996 16c-47.6006 0 -86.4004 -38.7998 -86.4004 -86.4004v-25.5996h352zM224 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144
|
||||
s-64.5 -144 -144 -144zM224 400c-52.9004 0 -96 -43.0996 -96 -96s43.0996 -96 96 -96s96 43.0996 96 96s-43.0996 96 -96 96z" />
|
||||
<glyph glyph-name="clock" unicode=""
|
||||
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM317.8 96.4004l-84.8994 61.6992
|
||||
c-3.10059 2.30078 -4.90039 5.90039 -4.90039 9.7002v164.2c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12v-141.7l66.7998 -48.5996c5.40039 -3.90039 6.5 -11.4004 2.60059 -16.7998l-18.8008 -25.9004c-3.89941 -5.2998 -11.3994 -6.5 -16.7998 -2.59961z
|
||||
" />
|
||||
<glyph glyph-name="list-alt" unicode=""
|
||||
d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM458 16c3.31152 0 6 2.68848 6 6v340c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-340
|
||||
c0 -3.31152 2.68848 -6 6 -6h404zM416 108v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 204v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12
|
||||
v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 300v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM164 288c0 -19.8818 -16.1182 -36 -36 -36
|
||||
s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 192c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 96c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36z" />
|
||||
<glyph glyph-name="flag" unicode=""
|
||||
d="M336.174 368c35.4668 0 73.0195 12.6914 108.922 28.1797c31.6406 13.6514 66.9043 -9.65723 66.9043 -44.1162v-239.919c0 -16.1953 -8.1543 -31.3057 -21.7129 -40.1631c-26.5762 -17.3643 -70.0693 -39.9814 -128.548 -39.9814c-68.6084 0 -112.781 32 -161.913 32
|
||||
c-56.5674 0 -89.957 -11.2803 -127.826 -28.5566v-83.4434c0 -8.83691 -7.16309 -16 -16 -16h-16c-8.83691 0 -16 7.16309 -16 16v406.438c-14.3428 8.2998 -24 23.7979 -24 41.5615c0 27.5693 23.2422 49.71 51.2012 47.8965
|
||||
c22.9658 -1.49023 41.8662 -19.4717 44.4805 -42.3379c0.213867 -1.83398 0.308594 -3.65918 0.308594 -5.5498c0 -5.30273 -0.860352 -10.4053 -2.4502 -15.1768c22.418 8.68555 49.4199 15.168 80.7207 15.168c68.6084 0 112.781 -32 161.913 -32zM464 112v240
|
||||
c-31.5059 -14.6338 -84.5547 -32 -127.826 -32c-59.9111 0 -101.968 32 -161.913 32c-41.4365 0 -80.4766 -16.5879 -102.261 -32v-232c31.4473 14.5967 84.4648 24 127.826 24c59.9111 0 101.968 -32 161.913 -32c41.4365 0 80.4775 16.5879 102.261 32z" />
|
||||
<glyph glyph-name="bookmark" unicode="" horiz-adv-x="384"
|
||||
d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 21.4902 48 48 48h288zM336 19.5703v374.434c0 3.31348 -2.68555 5.99609 -6 5.99609h-276c-3.31152 0 -6 -2.68848 -6 -6v-374.43l144 84z" />
|
||||
<glyph glyph-name="image" unicode=""
|
||||
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276
|
||||
c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515
|
||||
c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" />
|
||||
<glyph glyph-name="edit" unicode="" horiz-adv-x="576"
|
||||
d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352
|
||||
v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002
|
||||
c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994
|
||||
c4 4.2002 4 10.7998 -0.0996094 14.9004z" />
|
||||
<glyph glyph-name="times-circle" unicode=""
|
||||
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM357.8 254.2l-62.2002 -62.2002l62.2002 -62.2002
|
||||
c4.7002 -4.7002 4.7002 -12.2998 0 -17l-22.5996 -22.5996c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-62.2002 62.2002l-62.2002 -62.2002c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-22.5996 22.5996c-4.7002 4.7002 -4.7002 12.2998 0 17l62.2002 62.2002l-62.2002 62.2002
|
||||
c-4.7002 4.7002 -4.7002 12.2998 0 17l22.5996 22.5996c4.7002 4.7002 12.2998 4.7002 17 0l62.2002 -62.2002l62.2002 62.2002c4.7002 4.7002 12.2998 4.7002 17 0l22.5996 -22.5996c4.7002 -4.7002 4.7002 -12.2998 0 -17z" />
|
||||
<glyph glyph-name="check-circle" unicode=""
|
||||
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200z
|
||||
M396.204 261.733c4.66699 -4.70508 4.63672 -12.3037 -0.0673828 -16.9717l-172.589 -171.204c-4.70508 -4.66797 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66797 4.70605 -4.63672 12.3047 0.0683594 16.9717l22.7188 22.5361
|
||||
c4.70508 4.66699 12.3027 4.63574 16.9697 -0.0693359l59.792 -60.2773l141.353 140.216c4.70508 4.66797 12.3027 4.6377 16.9697 -0.0673828z" />
|
||||
<glyph glyph-name="question-circle" unicode=""
|
||||
d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 -8c110.569 0 200 89.4697 200 200c0 110.529 -89.5088 200 -200 200c-110.528 0 -200 -89.5049 -200 -200
|
||||
c0 -110.569 89.4678 -200 200 -200zM363.244 247.2c0 -67.0518 -72.4209 -68.084 -72.4209 -92.8633v-6.33691c0 -6.62695 -5.37305 -12 -12 -12h-45.6475c-6.62695 0 -12 5.37305 -12 12v8.65918c0 35.7451 27.1006 50.0342 47.5791 61.5156
|
||||
c17.5615 9.84473 28.3242 16.541 28.3242 29.5791c0 17.2461 -21.999 28.6934 -39.7842 28.6934c-23.1885 0 -33.8936 -10.9775 -48.9424 -29.9697c-4.05664 -5.11914 -11.46 -6.07031 -16.666 -2.12402l-27.8232 21.0986
|
||||
c-5.10742 3.87207 -6.25098 11.0654 -2.64453 16.3633c23.627 34.6934 53.7217 54.1846 100.575 54.1846c49.0713 0 101.45 -38.3037 101.45 -88.7998zM298 80c0 -23.1592 -18.8408 -42 -42 -42s-42 18.8408 -42 42s18.8408 42 42 42s42 -18.8408 42 -42z" />
|
||||
<glyph glyph-name="eye" unicode="" horiz-adv-x="576"
|
||||
d="M288 304c0.114258 0 0.240234 -0.0175781 0.354492 -0.0175781c61.6543 0 111.71 -50.0557 111.71 -111.71s-50.0557 -111.71 -111.71 -111.71s-111.71 50.0557 -111.71 111.71c0 10.7422 1.51953 21.1328 4.35547 30.9678
|
||||
c7.95898 -4.52637 17.2129 -7.17188 27 -7.24023c30.9072 0 56 25.0928 56 56c-0.0683594 9.78711 -2.71387 19.041 -7.24023 27c9.88379 3.07617 20.3896 4.83008 31.2402 5zM572.52 206.6c2.21387 -4.37793 3.46094 -9.38965 3.46094 -14.626
|
||||
c0 -5.2373 -1.24707 -10.1855 -3.46094 -14.5635c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635
|
||||
c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48c98.6602 0 189.1 55 237.93 144c-48.8398 89 -139.27 144 -237.93 144s-189.09 -55 -237.93 -144c48.8398 -89 139.279 -144 237.93 -144z" />
|
||||
<glyph glyph-name="eye-slash" unicode="" horiz-adv-x="640"
|
||||
d="M634 -23c3.66895 -2.93262 6.00391 -7.45117 6.00391 -12.5088c0 -3.7832 -1.31543 -7.26074 -3.51367 -10.001l-10 -12.4902c-2.93359 -3.66309 -7.44824 -5.99414 -12.502 -5.99414c-3.77637 0 -7.25 1.31152 -9.98828 3.50391l-598 467.49
|
||||
c-3.66895 2.93262 -6.00391 7.45117 -6.00391 12.5088c0 3.7832 1.31543 7.26074 3.51367 10.001l10 12.4902c2.93359 3.66309 7.44824 5.99414 12.502 5.99414c3.77637 0 7.25 -1.31152 9.98828 -3.50391zM296.79 301.53c7.51172 1.60254 15.2266 2.45508 23.21 2.46973
|
||||
c60.4805 0 109.36 -47.9102 111.58 -107.85zM343.21 82.46c-7.51367 -1.59375 -15.2285 -2.44336 -23.21 -2.45996c-60.4697 0 -109.35 47.9102 -111.58 107.84zM320 336c-19.8799 0 -39.2803 -2.7998 -58.2197 -7.09961l-46.4102 36.29
|
||||
c32.9199 11.8096 67.9297 18.8096 104.63 18.8096c122.93 0 230.29 -71.5898 284.57 -177.4c2.21289 -4.37793 3.45996 -9.38965 3.45996 -14.626c0 -5.2373 -1.24707 -10.1855 -3.45996 -14.5635c-14.1924 -27.5625 -31.9229 -52.6689 -52.9004 -75.1104l-37.7402 29.5
|
||||
c17.2305 18.0527 31.9385 38.1318 44 60.2002c-48.8398 89 -139.279 144 -237.93 144zM320 48c19.8896 0 39.2803 2.7998 58.2197 7.08984l46.4102 -36.2803c-32.9199 -11.7598 -67.9297 -18.8096 -104.63 -18.8096c-122.92 0 -230.28 71.5898 -284.51 177.4
|
||||
c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635c14.1885 27.5586 31.916 52.6621 52.8896 75.1006l37.7402 -29.5c-17.249 -18.0469 -31.9727 -38.1221 -44.0498 -60.1904c48.8496 -89 139.279 -144 237.93 -144z" />
|
||||
<glyph glyph-name="calendar-alt" unicode="" horiz-adv-x="448"
|
||||
d="M148 160h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM256 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
|
||||
c6.59961 0 12 -5.40039 12 -12v-40zM352 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM256 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40
|
||||
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM160 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM352 76c0 -6.59961 -5.40039 -12 -12 -12h-40
|
||||
c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40
|
||||
c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="comment" unicode=""
|
||||
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5c-3.80078 8.7998 -2 19 4.59961 26
|
||||
c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004
|
||||
l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
|
||||
<glyph glyph-name="folder" unicode=""
|
||||
d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62
|
||||
c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" />
|
||||
<glyph glyph-name="folder-open" unicode="" horiz-adv-x="576"
|
||||
d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2
|
||||
c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" />
|
||||
<glyph glyph-name="chart-bar" unicode=""
|
||||
d="M396.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM204.8 96
|
||||
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM300.8 96
|
||||
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM496 48c8.83984 0 16 -7.16016 16 -16v-16
|
||||
c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-320h448zM108.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004
|
||||
c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004z" />
|
||||
<glyph glyph-name="comments" unicode="" horiz-adv-x="576"
|
||||
d="M532 61.7998c15.2998 -30.7002 37.4004 -54.5 37.7998 -54.7998c6.2998 -6.7002 8 -16.5 4.40039 -25c-3.7002 -8.5 -12 -14 -21.2002 -14c-53.5996 0 -96.7002 20.2998 -125.2 38.7998c-19 -4.39941 -39 -6.7998 -59.7998 -6.7998
|
||||
c-86.2002 0 -159.9 40.4004 -191.3 97.7998c-9.7002 1.2002 -19.2002 2.7998 -28.4004 4.90039c-28.5 -18.6006 -71.7002 -38.7998 -125.2 -38.7998c-9.19922 0 -17.5996 5.5 -21.1992 14c-3.7002 8.5 -1.90039 18.2998 4.39941 25
|
||||
c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44 98.2002c0 88.4004 93.0996 160 208 160c86.2998 0 160.3 -40.5 191.8 -98.0996c99.7002 -11.8008 176.2 -77.9004 176.2 -157.9c0 -37.0996 -16.5 -71.0996 -44 -98.2002zM139.2 154.1
|
||||
l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008
|
||||
c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3
|
||||
c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" />
|
||||
<glyph glyph-name="star-half" unicode="" horiz-adv-x="576"
|
||||
d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126
|
||||
l-139 -20.2002l100.601 -98l-23.7002 -138.4z" />
|
||||
<glyph glyph-name="lemon" unicode=""
|
||||
d="M484.112 420.111c28.1221 -28.123 35.9434 -68.0039 19.0215 -97.0547c-23.0576 -39.584 50.1436 -163.384 -82.3311 -295.86c-132.301 -132.298 -256.435 -59.3594 -295.857 -82.3291c-29.0459 -16.917 -68.9219 -9.11426 -97.0576 19.0205
|
||||
c-28.1221 28.1221 -35.9434 68.0029 -19.0215 97.0547c23.0566 39.5859 -50.1436 163.386 82.3301 295.86c132.308 132.309 256.407 59.3496 295.862 82.332c29.0498 16.9219 68.9307 9.09863 97.0537 -19.0234zM461.707 347.217
|
||||
c13.5166 23.2031 -27.7578 63.7314 -50.4883 50.4912c-66.6025 -38.7939 -165.646 45.5898 -286.081 -74.8457c-120.444 -120.445 -36.0449 -219.472 -74.8447 -286.08c-13.542 -23.2471 27.8145 -63.6953 50.4932 -50.4883
|
||||
c66.6006 38.7949 165.636 -45.5996 286.076 74.8428c120.444 120.445 36.0449 219.472 74.8447 286.08zM291.846 338.481c1.37012 -10.96 -6.40332 -20.957 -17.3643 -22.3271c-54.8467 -6.85547 -135.779 -87.7871 -142.636 -142.636
|
||||
c-1.37305 -10.9883 -11.3984 -18.7334 -22.3262 -17.3643c-10.9609 1.37012 -18.7344 11.3652 -17.3643 22.3262c9.16211 73.2852 104.167 168.215 177.364 177.364c10.9531 1.36816 20.9561 -6.40234 22.3262 -17.3633z" />
|
||||
<glyph glyph-name="credit-card" unicode="" horiz-adv-x="576"
|
||||
d="M527.9 416c26.5996 0 48.0996 -21.5 48.0996 -48v-352c0 -26.5 -21.5 -48 -48.0996 -48h-479.801c-26.5996 0 -48.0996 21.5 -48.0996 48v352c0 26.5 21.5 48 48.0996 48h479.801zM54.0996 368c-3.2998 0 -6 -2.7002 -6 -6v-42h479.801v42c0 3.2998 -2.7002 6 -6 6
|
||||
h-467.801zM521.9 16c3.2998 0 6 2.7002 6 6v170h-479.801v-170c0 -3.2998 2.7002 -6 6 -6h467.801zM192 116v-40c0 -6.59961 -5.40039 -12 -12 -12h-72c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h72c6.59961 0 12 -5.40039 12 -12zM384 116v-40
|
||||
c0 -6.59961 -5.40039 -12 -12 -12h-136c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h136c6.59961 0 12 -5.40039 12 -12z" />
|
||||
<glyph glyph-name="hdd" unicode="" horiz-adv-x="576"
|
||||
d="M567.403 212.358c5.59668 -8.04688 8.59668 -17.6113 8.59668 -27.4121v-136.946c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v136.946c0 10.167 3.19531 19.6465 8.59668 27.4121l105.08 151.053
|
||||
c8.67383 12.4678 23.0791 20.5889 39.4043 20.5889h269.838c16.3252 0 30.7305 -8.12109 39.4043 -20.5889zM153.081 336l-77.9131 -112h425.664l-77.9131 112h-269.838zM528 48v128h-480v-128h480zM496 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32
|
||||
s14.3271 32 32 32s32 -14.3271 32 -32zM400 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
|
||||
<glyph glyph-name="hand-point-right" unicode=""
|
||||
d="M428.8 310.4c45.0996 0 83.2002 -38.1016 83.2002 -83.2002c0 -45.6162 -37.7646 -83.2002 -83.2002 -83.2002h-35.6475c-1.71387 -7.70605 -4.43555 -15.2051 -7.92969 -22.0645c2.50586 -22.0059 -3.50293 -44.9775 -15.9844 -62.791
|
||||
c-1.14062 -52.4863 -37.3984 -91.1445 -99.9404 -91.1445h-21.2988c-60.0635 0 -98.5117 40 -127.2 40h-2.67871c-5.74707 -4.95215 -13.5361 -8 -22.1201 -8h-64c-17.6729 0 -32 12.8936 -32 28.7998v230.4c0 15.9062 14.3271 28.7998 32 28.7998h64.001
|
||||
c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816 23.6689l0.128906 0.148438l0.130859 0.145508c8.85645 9.93652 18.1162 20.8398 25.8506 33.2529c18.7051 30.2471 30.3936 78.7842 75.707 78.7842c56.9277 0 92 -35.2861 92 -83.2002
|
||||
c0 -0.0283203 0 0.0361328 0 0.0078125c0 -7.66602 -0.748047 -15.1582 -2.17578 -22.4072h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994
|
||||
c0 26.4004 -20.625 35.2002 -44 35.2002c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988
|
||||
c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
|
||||
<glyph glyph-name="hand-point-left" unicode=""
|
||||
d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529
|
||||
l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64
|
||||
c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-3.49414 6.85938 -6.21582 14.3584 -7.92969 22.0645h-35.6465
|
||||
c-45.4355 0 -83.2002 37.584 -83.2002 83.2002zM48 227.2c0 -18.9756 16.2246 -35.2002 35.2002 -35.2002h91.0244c-12.8369 -14.6689 -14.415 -42.8252 4.9502 -61.0498c-11.2256 -19.6465 -1.68652 -45.624 12.9248 -53.625
|
||||
c-6.52246 -39.1279 10.0771 -61.3252 50.6016 -61.3252h21.2988c45.4912 0 77.21 35.9131 120 39.6768v176.752c-25.2393 2.96289 -42.9658 21.2227 -59.0752 39.5967c-11.2744 12.6494 -21.7246 25.2998 -30.7988 39.875
|
||||
c-14.4814 23.3877 -26.1318 56.0996 -34.9258 56.0996c-23.375 0 -44 -8.7998 -44 -35.2002c0 -35.2002 26.3994 -53.0752 26.3994 -70.3994h-158.399c-18.4248 0 -35.2002 -16.5 -35.2002 -35.2002zM448 88c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
|
||||
s24 10.7451 24 24s-10.7451 24 -24 24z" />
|
||||
<glyph glyph-name="hand-point-up" unicode="" horiz-adv-x="448"
|
||||
d="M105.6 364.8c0 45.0996 38.1016 83.2002 83.2002 83.2002c45.6162 0 83.2002 -37.7646 83.2002 -83.2002v-35.6465c7.70605 -1.71387 15.2051 -4.43555 22.0645 -7.92969c22.0059 2.50684 44.9775 -3.50293 62.791 -15.9844
|
||||
c52.4863 -1.14062 91.1445 -37.3984 91.1445 -99.9404v-21.2988c0 -60.0635 -40 -98.5117 -40 -127.2v-2.67871c4.95215 -5.74707 8 -13.5361 8 -22.1201v-64c0 -17.6729 -12.8936 -32 -28.7998 -32h-230.4c-15.9062 0 -28.7998 14.3271 -28.7998 32v64
|
||||
c0 8.58398 3.04785 16.373 8 22.1201v2.67871c0 6.96387 -6.19336 14.8623 -23.6689 30.1816l-0.148438 0.128906l-0.145508 0.130859c-9.93652 8.85645 -20.8398 18.1162 -33.2529 25.8506c-30.2471 18.7051 -78.7842 30.3936 -78.7842 75.707
|
||||
c0 56.9277 35.2861 92 83.2002 92c0.0283203 0 -0.0361328 0 -0.0078125 0c7.66602 0 15.1582 -0.748047 22.4072 -2.17578v86.1768zM224 364.8c0 18.9756 -16.2246 35.2002 -35.2002 35.2002c-18.7002 0 -35.2002 -16.7754 -35.2002 -35.2002v-158.399
|
||||
c-17.3242 0 -35.1992 26.3994 -70.3994 26.3994c-26.4004 0 -35.2002 -20.625 -35.2002 -44c0 -8.79395 32.7119 -20.4443 56.0996 -34.9258c14.5752 -9.07422 27.2256 -19.5244 39.875 -30.7988c18.374 -16.1094 36.6328 -33.8359 39.5967 -59.0752h176.753
|
||||
c3.7627 42.79 39.6758 74.5088 39.6758 120v21.2988c0 40.5244 -22.1973 57.124 -61.3252 50.6006c-8.00098 14.6113 -33.9785 24.1514 -53.625 12.9248c-18.2246 19.3652 -46.3809 17.7871 -61.0498 4.9502v91.0254zM352 24c-13.2549 0 -24 -10.7451 -24 -24
|
||||
s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24z" />
|
||||
<glyph glyph-name="hand-point-down" unicode="" horiz-adv-x="448"
|
||||
d="M188.8 -64c-45.0986 0 -83.2002 38.1006 -83.2002 83.2002v86.1758c-6.91016 -1.3623 -14.374 -2.17578 -22.3994 -2.17578c-47.9141 0 -83.2002 35.0723 -83.2002 92c0 45.3135 48.5371 57.002 78.7852 75.707c12.4121 7.73438 23.3154 16.9951 33.2529 25.8506
|
||||
l0.145508 0.130859l0.148438 0.128906c17.4746 15.3213 23.668 23.2197 23.668 30.1836v2.67871c-4.95215 5.74707 -8 13.5361 -8 22.1201v64c0 17.6729 12.8936 32 28.7998 32h230.4c15.9062 0 28.7998 -14.3271 28.7998 -32v-64.001
|
||||
c0 -8.58398 -3.04785 -16.373 -8 -22.1201v-2.67871c0 -28.6885 40 -67.1367 40 -127.2v-21.2988c0 -62.542 -38.6582 -98.8008 -91.1445 -99.9404c-17.8135 -12.4814 -40.7852 -18.4922 -62.791 -15.9844c-6.85938 -3.49414 -14.3584 -6.21582 -22.0645 -7.92969v-35.6465
|
||||
c0 -45.4355 -37.584 -83.2002 -83.2002 -83.2002zM188.8 -16c18.9756 0 35.2002 16.2246 35.2002 35.2002v91.0244c14.6689 -12.8369 42.8252 -14.415 61.0498 4.9502c19.6465 -11.2256 45.624 -1.68652 53.625 12.9248c39.1279 -6.52246 61.3252 10.0771 61.3252 50.6016
|
||||
v21.2988c0 45.4912 -35.9131 77.21 -39.6768 120h-176.752c-2.96289 -25.2393 -21.2227 -42.9658 -39.5967 -59.0752c-12.6494 -11.2744 -25.2998 -21.7246 -39.875 -30.7988c-23.3877 -14.4814 -56.0996 -26.1318 -56.0996 -34.9258c0 -23.375 8.7998 -44 35.2002 -44
|
||||
c35.2002 0 53.0752 26.3994 70.3994 26.3994v-158.399c0 -18.4248 16.5 -35.2002 35.2002 -35.2002zM328 384c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24z" />
|
||||
<glyph glyph-name="copy" unicode="" horiz-adv-x="448"
|
||||
d="M433.941 382.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-80v-48c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h80v48c0 26.5098 21.4902 48 48 48
|
||||
h172.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM266 -16c3.31152 0 6 2.68848 6 6v42h-96c-26.5098 0 -48 21.4902 -48 48v224h-74c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM394 80c3.31152 0 6 2.68848 6 6v202h-88
|
||||
c-13.2549 0 -24 10.7451 -24 24v88h-106c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM400 336v9.63184c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-48.3682 48.3682c-1.12598 1.125 -2.65234 1.75684 -4.24316 1.75684h-9.63184v-64h64z" />
|
||||
<glyph glyph-name="save" unicode="" horiz-adv-x="448"
|
||||
d="M433.941 318.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM272 368h-128v-80h128v80z
|
||||
M394 16c3.31152 0 6 2.68848 6 6v259.632c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-78.2432 78.2432v-100.118c0 -13.2549 -10.7451 -24 -24 -24h-176c-13.2549 0 -24 10.7451 -24 24v104h-42c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340z
|
||||
M224 216c48.5234 0 88 -39.4766 88 -88s-39.4766 -88 -88 -88s-88 39.4766 -88 88s39.4766 88 88 88zM224 88c22.0557 0 40 17.9443 40 40s-17.9443 40 -40 40s-40 -17.9443 -40 -40s17.9443 -40 40 -40z" />
|
||||
<glyph glyph-name="square" unicode="" horiz-adv-x="448"
|
||||
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM394 16c3.2998 0 6 2.7002 6 6v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340z" />
|
||||
<glyph glyph-name="envelope" unicode=""
|
||||
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM464 336h-416v-40.8047c22.4248 -18.2627 58.1797 -46.6602 134.587 -106.49
|
||||
c16.834 -13.2422 50.2051 -45.0762 73.4131 -44.7012c23.2119 -0.371094 56.5723 31.4541 73.4131 44.7012c76.4189 59.8389 112.165 88.2305 134.587 106.49v40.8047zM48 48h416v185.601c-22.915 -18.252 -55.4189 -43.8691 -104.947 -82.6523
|
||||
c-22.5439 -17.748 -60.3359 -55.1787 -103.053 -54.9473c-42.9277 -0.231445 -81.2051 37.75 -103.062 54.9551c-49.5293 38.7842 -82.0244 64.3945 -104.938 82.6455v-185.602z" />
|
||||
<glyph glyph-name="lightbulb" unicode="" horiz-adv-x="352"
|
||||
d="M176 368c8.83984 0 16 -7.16016 16 -16s-7.16016 -16 -16 -16c-35.2803 0 -64 -28.7002 -64 -64c0 -8.83984 -7.16016 -16 -16 -16s-16 7.16016 -16 16c0 52.9404 43.0596 96 96 96zM96.0596 -11.1699l-0.0400391 43.1797h159.961l-0.0507812 -43.1797
|
||||
c-0.00976562 -3.13965 -0.939453 -6.21973 -2.67969 -8.83984l-24.5098 -36.8398c-2.95996 -4.45996 -7.95996 -7.14062 -13.3203 -7.14062h-78.8496c-5.35059 0 -10.3506 2.68066 -13.3203 7.14062l-24.5098 36.8398c-1.75 2.62012 -2.68066 5.68945 -2.68066 8.83984z
|
||||
M176 448c97.2002 0 176 -78.7998 176 -176c0 -44.3701 -16.4502 -84.8496 -43.5498 -115.79c-16.6406 -18.9795 -42.7402 -58.79 -52.4199 -92.1602v-0.0498047h-48v0.0996094c0.00488281 4.98145 0.790039 9.78809 2.21973 14.3008
|
||||
c5.67969 17.9893 22.9902 64.8496 62.0996 109.46c20.4102 23.29 31.6504 53.1699 31.6504 84.1396c0 70.5801 -57.4199 128 -128 128c-68.2803 0 -128.15 -54.3604 -127.95 -128c0.0898438 -30.9902 11.0703 -60.71 31.6104 -84.1396
|
||||
c39.3496 -44.9004 56.5801 -91.8604 62.1699 -109.67c1.42969 -4.56055 2.13965 -9.30078 2.15039 -14.0703v-0.120117h-48v0.0595703c-9.68066 33.3604 -35.7803 73.1709 -52.4209 92.1602c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78
|
||||
c0 93.0303 73.7197 176 176 176z" />
|
||||
<glyph glyph-name="bell" unicode="" horiz-adv-x="448"
|
||||
d="M439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29
|
||||
c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29zM67.5303 80h312.939
|
||||
c-21.2197 27.96 -44.4199 74.3203 -44.5293 159.42c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112s-112 -50.1396 -112 -112c0 -0.200195 0.0595703 -0.379883 0.0595703 -0.580078
|
||||
c-0.109375 -85.0898 -23.3096 -131.45 -44.5293 -159.42zM224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
|
||||
<glyph glyph-name="hospital" unicode="" horiz-adv-x="448"
|
||||
d="M128 204v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12zM268 192c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40
|
||||
c0 -6.62695 -5.37305 -12 -12 -12h-40zM192 108c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM268 96c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
|
||||
c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.62695 5.37305 12 12 12h19.5v378.965c0 11.6172 10.7451 21.0352 24 21.0352h88.5v40c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-40h88.5
|
||||
c13.2549 0 24 -9.41797 24 -21.0352v-378.965h19.5c6.62695 0 12 -5.37305 12 -12zM79.5 -15h112.5v67c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-67h112.5v351h-64.5v-24c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v24
|
||||
h-64.5v-351zM266 384h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
|
||||
c0 3.31152 -2.68848 6 -6 6z" />
|
||||
<glyph glyph-name="plus-square" unicode="" horiz-adv-x="448"
|
||||
d="M352 208v-32c0 -6.59961 -5.40039 -12 -12 -12h-88v-88c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v88h-88c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h88v88c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
|
||||
v-88h88c6.59961 0 12 -5.40039 12 -12zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340
|
||||
c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="circle" unicode=""
|
||||
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200z" />
|
||||
<glyph glyph-name="smile" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM332 135.4c8.5 10.1992 23.7002 11.5 33.7998 3.09961c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998
|
||||
c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.0996 8.40039 25.2998 7.09961 33.7998 -3.09961c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004z" />
|
||||
<glyph glyph-name="frown" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 144c40.2002 0 78 -17.7002 103.8 -48.5996c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008
|
||||
c-10.7002 -8.7998 -25.7002 -6.59961 -33.7998 3.10059c-16.6006 20 -41 31.3994 -66.9004 31.3994s-50.2998 -11.5 -66.9004 -31.3994c-8.5 -10.2002 -23.5996 -11.5 -33.7998 -3.10059c-10.2002 8.5 -11.5996 23.6006 -3.09961 33.8008
|
||||
c25.7998 30.8994 63.5996 48.5996 103.8 48.5996z" />
|
||||
<glyph glyph-name="meh" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM336 128c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-176c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h176z
|
||||
" />
|
||||
<glyph glyph-name="keyboard" unicode="" horiz-adv-x="576"
|
||||
d="M528 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480zM536 48v288c0 4.41113 -3.58887 8 -8 8h-480c-4.41113 0 -8 -3.58887 -8 -8v-288c0 -4.41113 3.58887 -8 8 -8
|
||||
h480c4.41113 0 8 3.58887 8 8zM170 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM266 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
|
||||
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM362 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM458 178c0 -6.62695 -5.37305 -12 -12 -12h-28
|
||||
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 96c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 96
|
||||
c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28
|
||||
c6.62695 0 12 -5.37305 12 -12v-28zM218 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM314 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
|
||||
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM410 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 260c0 -6.62695 -5.37305 -12 -12 -12h-28
|
||||
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM408 102c0 -6.62695 -5.37305 -12 -12 -12h-216c-6.62695 0 -12 5.37305 -12 12v16c0 6.62695 5.37305 12 12 12h216c6.62695 0 12 -5.37305 12 -12v-16z" />
|
||||
<glyph glyph-name="calendar" unicode="" horiz-adv-x="448"
|
||||
d="M400 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12
|
||||
v-52h48zM394 -16c3.2998 0 6 2.7002 6 6v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340z" />
|
||||
<glyph glyph-name="play-circle" unicode=""
|
||||
d="M371.7 210c16.3994 -9.2002 16.3994 -32.9004 0 -42l-176 -101c-15.9004 -8.7998 -35.7002 2.59961 -35.7002 21v208c0 18.5 19.9004 29.7998 35.7002 21zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192
|
||||
c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200z" />
|
||||
<glyph glyph-name="minus-square" unicode="" horiz-adv-x="448"
|
||||
d="M108 164c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h232c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-232zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
|
||||
c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="check-square" unicode="" horiz-adv-x="448"
|
||||
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM400 16v352h-352v-352h352zM364.136 257.724l-172.589 -171.204
|
||||
c-4.70508 -4.66699 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66699 4.70508 -4.63672 12.3037 0.0693359 16.9717l22.7188 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l59.792 -60.2773l141.353 140.217
|
||||
c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0683594l22.5361 -22.7178c4.66699 -4.70605 4.63672 -12.3047 -0.0683594 -16.9717z" />
|
||||
<glyph glyph-name="share-square" unicode="" horiz-adv-x="576"
|
||||
d="M561.938 289.94c18.75 -18.7402 18.75 -49.1406 0 -67.8809l-143.998 -144c-29.9727 -29.9727 -81.9404 -9.05273 -81.9404 33.9404v53.7998c-101.266 -7.83691 -99.625 -31.6406 -84.1104 -78.7598c14.2285 -43.0889 -33.4736 -79.248 -71.0195 -55.7402
|
||||
c-51.6924 32.3057 -84.8701 83.0635 -84.8701 144.76c0 39.3408 12.2197 72.7402 36.3301 99.3008c19.8398 21.8398 47.7402 38.4697 82.9102 49.4199c36.7295 11.4395 78.3096 16.1094 120.76 17.9893v57.1982c0 42.9355 51.9258 63.9541 81.9404 33.9404zM384 112l144 144
|
||||
l-144 144v-104.09c-110.86 -0.90332 -240 -10.5166 -240 -119.851c0 -52.1396 32.79 -85.6094 62.3096 -104.06c-39.8174 120.65 48.999 141.918 177.69 143.84v-103.84zM408.74 27.5068c7.4375 2.125 14.5508 5.30566 20.9736 9.30273
|
||||
c7.97656 4.95215 18.2861 -0.825195 18.2861 -10.2139v-42.5957c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h132c6.62695 0 12 -5.37305 12 -12v-4.48633c0 -4.91699 -2.9873 -9.36914 -7.56934 -11.1514
|
||||
c-13.7021 -5.33105 -26.3955 -11.5371 -38.0498 -18.585c-1.82715 -1.11523 -3.98633 -1.76953 -6.28027 -1.77734h-86.1006c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340c3.31152 0 6 2.68848 6 6v25.9658c0 5.37012 3.5791 10.0596 8.74023 11.541z
|
||||
" />
|
||||
<glyph glyph-name="compass" unicode="" horiz-adv-x="496"
|
||||
d="M347.94 318.14c16.6592 7.61035 33.8096 -9.54004 26.1992 -26.1992l-65.9697 -144.341c-3.19238 -6.9834 -8.78613 -12.5771 -15.7695 -15.7695l-144.341 -65.9697c-16.6592 -7.61035 -33.8096 9.5498 -26.1992 26.1992l65.9697 144.341
|
||||
c3.19238 6.9834 8.78613 12.5771 15.7695 15.7695zM270.58 169.42c12.4697 12.4697 12.4697 32.6904 0 45.1602s-32.6904 12.4697 -45.1602 0s-12.4697 -32.6904 0 -45.1602s32.6904 -12.4697 45.1602 0zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248
|
||||
s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
|
||||
<glyph glyph-name="caret-square-down" unicode="" horiz-adv-x="448"
|
||||
d="M125.1 240h197.801c10.6992 0 16.0996 -13 8.5 -20.5l-98.9004 -98.2998c-4.7002 -4.7002 -12.2002 -4.7002 -16.9004 0l-98.8994 98.2998c-7.7002 7.5 -2.2998 20.5 8.39941 20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
|
||||
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="caret-square-up" unicode="" horiz-adv-x="448"
|
||||
d="M322.9 144h-197.801c-10.6992 0 -16.0996 13 -8.5 20.5l98.9004 98.2998c4.7002 4.7002 12.2002 4.7002 16.9004 0l98.8994 -98.2998c7.7002 -7.5 2.2998 -20.5 -8.39941 -20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
|
||||
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="caret-square-right" unicode="" horiz-adv-x="448"
|
||||
d="M176 93.0996v197.801c0 10.6992 13 16.0996 20.5 8.5l98.2998 -98.9004c4.7002 -4.7002 4.7002 -12.2002 0 -16.9004l-98.2998 -98.8994c-7.5 -7.7002 -20.5 -2.2998 -20.5 8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
|
||||
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="file" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" />
|
||||
<glyph glyph-name="file-alt" unicode="" horiz-adv-x="384"
|
||||
d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12
|
||||
v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z
|
||||
M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" />
|
||||
<glyph glyph-name="thumbs-up" unicode=""
|
||||
d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562
|
||||
c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004
|
||||
c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48
|
||||
c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305
|
||||
c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004
|
||||
c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
|
||||
<glyph glyph-name="thumbs-down" unicode=""
|
||||
d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73
|
||||
c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8
|
||||
h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152
|
||||
c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM394.18 135.27c21.1104 0 37.7305 18.9102 37.8203 37.8203c0.0898438 18.9004 -12.8203 37.8105 -22.2695 37.8105c13.4883 14.5547 16.3701 45.2354 -5.21094 65.6191
|
||||
c12.5605 21.1309 1.26074 49.4102 -13.9395 57.5703c7.7002 48.7803 -17.6084 65.9004 -53.1201 65.9004h-37.8203c-71.6387 0 -118.028 -37.8203 -171.64 -37.8203v-186.17h10.9199c28.3604 0 67.9805 -70.8896 94.54 -97.46
|
||||
c28.3604 -28.3604 18.9102 -75.6299 37.8203 -94.54c47.2695 0 47.2695 32.9805 47.2695 56.7305c0 39.1699 -28.3594 56.7197 -28.3594 94.5391h103.989z" />
|
||||
<glyph glyph-name="sun" unicode=""
|
||||
d="M494.2 226.1c11.2002 -7.59961 17.7998 -20.0996 17.8994 -33.6992c0 -13.4004 -6.69922 -26 -17.7998 -33.5l-59.7998 -40.5l13.7002 -71c2.5 -13.2002 -1.60059 -26.8008 -11.1006 -36.3008s-22.8994 -13.7998 -36.2998 -11.0996l-70.8994 13.7002l-40.4004 -59.9004
|
||||
c-7.5 -11.0996 -20.0996 -17.7998 -33.5 -17.7998s-26 6.7002 -33.5 17.9004l-40.4004 59.8994l-70.7998 -13.7002c-13.3994 -2.59961 -26.7998 1.60059 -36.2998 11.1006s-13.7002 23.0996 -11.0996 36.2998l13.6992 71l-59.7998 40.5
|
||||
c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l-13.6992 71c-2.60059 13.2002 1.59961 26.7002 11.0996 36.3008c9.5 9.59961 23 13.6992 36.2998 11.1992l70.7998 -13.6992l40.4004 59.8994c15.0996 22.2998 51.9004 22.2998 67 0
|
||||
l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998
|
||||
l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136
|
||||
c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" />
|
||||
<glyph glyph-name="moon" unicode=""
|
||||
d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c16.0342 -0.00292969 31.5078 -1.46875 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836
|
||||
c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208
|
||||
c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" />
|
||||
<glyph glyph-name="caret-square-left" unicode="" horiz-adv-x="448"
|
||||
d="M272 290.9v-197.801c0 -10.6992 -13 -16.0996 -20.5 -8.5l-98.2998 98.9004c-4.7002 4.7002 -4.7002 12.2002 0 16.9004l98.2998 98.8994c7.5 7.7002 20.5 2.2998 20.5 -8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
|
||||
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="dot-circle" unicode=""
|
||||
d="M256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
|
||||
M256 272c44.1826 0 80 -35.8174 80 -80s-35.8174 -80 -80 -80s-80 35.8174 -80 80s35.8174 80 80 80z" />
|
||||
<glyph glyph-name="building" unicode="" horiz-adv-x="448"
|
||||
d="M128 300v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM268 288c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40
|
||||
c0 -6.59961 -5.40039 -12 -12 -12h-40zM140 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM268 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
|
||||
c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM192 108c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM268 96c-6.59961 0 -12 5.40039 -12 12v40
|
||||
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.59961 5.40039 12 12 12h19.5v440c0 13.2998 10.7002 24 24 24h337c13.2998 0 24 -10.7002 24 -24v-440h19.5
|
||||
c6.59961 0 12 -5.40039 12 -12zM79.5 -15h112.5v67c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-67h112.5v414l-288.5 1z" />
|
||||
<glyph glyph-name="file-pdf" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM298.2 127.7c10.5 -10.5 8 -38.7002 -17.5 -38.7002c-14.7998 0 -36.9004 6.7998 -55.7998 17c-21.6006 -3.59961 -46 -12.7002 -68.4004 -20.0996c-50.0996 -86.4004 -79.4004 -47 -76.0996 -31.2002
|
||||
c4 20 31 35.8994 51 46.2002c10.5 18.3994 25.3994 50.5 35.3994 74.3994c-7.39941 28.6006 -11.3994 51 -7 67.1006c4.7998 17.6992 38.4004 20.2998 42.6006 -5.90039c4.69922 -15.4004 -1.5 -39.9004 -5.40039 -56c8.09961 -21.2998 19.5996 -35.7998 36.7998 -46.2998
|
||||
c17.4004 2.2002 52.2002 5.5 64.4004 -6.5zM100.1 49.9004c0 -0.700195 11.4004 4.69922 30.4004 35c-5.90039 -5.5 -25.2998 -21.3008 -30.4004 -35zM181.7 240.5c-2.5 0 -2.60059 -26.9004 1.7998 -40.7998c4.90039 8.7002 5.59961 40.7998 -1.7998 40.7998zM157.3 103.9
|
||||
c15.9004 6.09961 34 14.8994 54.7998 19.1992c-11.1992 8.30078 -21.7998 20.4004 -30.0996 35.5c-6.7002 -17.6992 -15 -37.7998 -24.7002 -54.6992zM288.9 108.9c3.59961 2.39941 -2.2002 10.3994 -37.3008 7.7998c32.3008 -13.7998 37.3008 -7.7998 37.3008 -7.7998z" />
|
||||
<glyph glyph-name="file-word" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM268.1 192v0.200195h15.8008c7.7998 0 13.5 -7.2998 11.5996 -14.9004c-4.2998 -17 -13.7002 -54.0996 -34.5 -136c-1.2998 -5.39941 -6.09961 -9.09961 -11.5996 -9.09961h-24.7002
|
||||
c-5.5 0 -10.2998 3.7998 -11.6006 9.09961c-5.2998 20.9004 -17.7998 71 -17.8994 71.4004l-2.90039 17.2998c-0.5 -5.2998 -1.5 -11.0996 -3 -17.2998l-17.8994 -71.4004c-1.30078 -5.39941 -6.10059 -9.09961 -11.6006 -9.09961h-25.2002
|
||||
c-5.59961 0 -10.3994 3.7002 -11.6992 9.09961c-6.5 26.5 -25.2002 103.4 -33.2002 136c-1.7998 7.5 3.89941 14.7998 11.7002 14.7998h16.7998c5.7998 0 10.7002 -4.09961 11.7998 -9.69922c5 -25.7002 18.4004 -93.8008 19.0996 -99
|
||||
c0.300781 -1.7002 0.400391 -3.10059 0.5 -4.2002c0.800781 7.5 0.400391 4.7002 24.8008 103.7c1.39941 5.2998 6.19922 9.09961 11.6992 9.09961h13.3008c5.59961 0 10.3994 -3.7998 11.6992 -9.2002c23.9004 -99.7002 22.8008 -94.3994 23.6006 -99.5
|
||||
c0.299805 -1.7002 0.5 -3.09961 0.700195 -4.2998c0.599609 8.09961 0.399414 5.7998 21 103.5c1.09961 5.5 6 9.5 11.6992 9.5z" />
|
||||
<glyph glyph-name="file-excel" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM260 224c9.2002 0 15 -10 10.2998 -18c-16 -27.5 -45.5996 -76.9004 -46.2998 -78l46.4004 -78c4.59961 -8 -1.10059 -18 -10.4004 -18h-28.7998c-4.40039 0 -8.5 2.40039 -10.6006 6.2998
|
||||
c-22.6992 41.7998 -13.6992 27.5 -28.5996 57.7002c-5.59961 -12.7002 -6.90039 -17.7002 -28.5996 -57.7002c-2.10059 -3.89941 -6.10059 -6.2998 -10.5 -6.2998h-28.9004c-9.2998 0 -15.0996 10 -10.4004 18l46.3008 78l-46.3008 78c-4.59961 8 1.10059 18 10.4004 18
|
||||
h28.9004c4.39941 0 8.5 -2.40039 10.5996 -6.2998c21.7002 -40.4004 14.7002 -28.6006 28.5996 -57.7002c6.40039 15.2998 10.6006 24.5996 28.6006 57.7002c2.09961 3.89941 6.09961 6.2998 10.5 6.2998h28.7998z" />
|
||||
<glyph glyph-name="file-powerpoint" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM120 44v168c0 6.59961 5.40039 12 12 12h69.2002c36.7002 0 62.7998 -27 62.7998 -66.2998c0 -74.2998 -68.7002 -66.5 -95.5 -66.5v-47.2002c0 -6.59961 -5.40039 -12 -12 -12h-24.5c-6.59961 0 -12 5.40039 -12 12z
|
||||
M168.5 131.4h23c7.90039 0 13.9004 2.39941 18.0996 7.19922c8.5 9.80078 8.40039 28.5 0.100586 37.8008c-4.10059 4.59961 -9.90039 7 -17.4004 7h-23.8994v-52h0.0996094z" />
|
||||
<glyph glyph-name="file-image" unicode="" horiz-adv-x="384"
|
||||
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
|
||||
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM80 32v64l39.5 39.5c4.7002 4.7002 12.2998 4.7002 17 0l39.5 -39.5l87.5 87.5c4.7002 4.7002 12.2998 4.7002 17 0l23.5 -23.5v-128h-224zM128 272c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48
|
||||
s21.5 48 48 48z" />
|
||||
<glyph glyph-name="file-archive" unicode="" horiz-adv-x="384"
|
||||
d="M128.3 288h32v-32h-32v32zM192.3 384v-32h-32v32h32zM128.3 352h32v-32h-32v32zM192.3 320v-32h-32v32h32zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1
|
||||
c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-48.2998v-16h-32v16h-79.7002v-416h288zM194.2 182.3l17.2998 -87.7002c6.40039 -32.3994 -18.4004 -62.5996 -51.5 -62.5996
|
||||
c-33.2002 0 -58 30.4004 -51.4004 62.9004l19.7002 97.0996v32h32v-32h22.1006c5.7998 0 10.6992 -4.09961 11.7998 -9.7002zM160.3 57.9004c17.9004 0 32.4004 12.0996 32.4004 27c0 14.8994 -14.5 27 -32.4004 27c-17.8994 0 -32.3994 -12.1006 -32.3994 -27
|
||||
c0 -14.9004 14.5 -27 32.3994 -27zM192.3 256v-32h-32v32h32z" />
|
||||
<glyph glyph-name="file-audio" unicode="" horiz-adv-x="384"
|
||||
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
|
||||
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM192 60.0244c0 -10.6914 -12.9258 -16.0459 -20.4854 -8.48535l-35.5146 35.9746h-28c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h28
|
||||
l35.5146 36.9473c7.56055 7.56055 20.4854 2.20605 20.4854 -8.48535v-135.951zM233.201 107.154c9.05078 9.29688 9.05957 24.1328 0.000976562 33.4385c-22.1494 22.752 12.2344 56.2461 34.3945 33.4814c27.1982 -27.9404 27.2119 -72.4443 0.000976562 -100.401
|
||||
c-21.793 -22.3857 -56.9463 10.3154 -34.3965 33.4814z" />
|
||||
<glyph glyph-name="file-video" unicode="" horiz-adv-x="384"
|
||||
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
|
||||
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM276.687 195.303c10.0049 10.0049 27.3135 2.99707 27.3135 -11.3135v-111.976c0 -14.2939 -17.2959 -21.332 -27.3135 -11.3135l-52.6865 52.6738v-37.374
|
||||
c0 -11.0459 -8.9541 -20 -20 -20h-104c-11.0459 0 -20 8.9541 -20 20v104c0 11.0459 8.9541 20 20 20h104c11.0459 0 20 -8.9541 20 -20v-37.374z" />
|
||||
<glyph glyph-name="file-code" unicode="" horiz-adv-x="384"
|
||||
d="M149.9 98.9004c3.5 -3.30078 3.69922 -8.90039 0.399414 -12.4004l-17.3994 -18.5996c-1.60059 -1.80078 -4 -2.80078 -6.40039 -2.80078c-2.2002 0 -4.40039 0.900391 -6 2.40039l-57.7002 54.0996c-3.7002 3.40039 -3.7002 9.30078 0 12.8008l57.7002 54.0996
|
||||
c3.40039 3.2998 9 3.2002 12.4004 -0.400391l17.3994 -18.5996l0.200195 -0.200195c3.2002 -3.59961 2.7998 -9.2002 -0.799805 -12.3994l-32.7998 -28.9004l32.7998 -28.9004zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288
|
||||
c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288zM209.6 234l24.4004 -7
|
||||
c4.7002 -1.2998 7.40039 -6.2002 6 -10.9004l-54.7002 -188.199c-1.2998 -4.60059 -6.2002 -7.40039 -10.8994 -6l-24.4004 7.09961c-4.7002 1.2998 -7.40039 6.2002 -6 10.9004l54.7002 188.1c1.39941 4.7002 6.2002 7.40039 10.8994 6zM234.1 157.1
|
||||
c-3.5 3.30078 -3.69922 8.90039 -0.399414 12.4004l17.3994 18.5996c3.30078 3.60059 8.90039 3.7002 12.4004 0.400391l57.7002 -54.0996c3.7002 -3.40039 3.7002 -9.30078 0 -12.8008l-57.7002 -54.0996c-3.5 -3.2998 -9.09961 -3.09961 -12.4004 0.400391
|
||||
l-17.3994 18.5996l-0.200195 0.200195c-3.2002 3.59961 -2.7998 9.2002 0.799805 12.3994l32.7998 28.9004l-32.7998 28.9004z" />
|
||||
<glyph glyph-name="life-ring" unicode=""
|
||||
d="M256 -56c-136.967 0 -248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248s-111.033 -248 -248 -248zM152.602 20.7197c63.2178 -38.3184 143.579 -38.3184 206.797 0l-53.4111 53.4111c-31.8467 -13.5215 -68.168 -13.5059 -99.9746 0zM336 192
|
||||
c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80zM427.28 88.6016c38.3184 63.2178 38.3184 143.579 0 206.797l-53.4111 -53.4111c13.5215 -31.8467 13.5049 -68.168 0 -99.9746zM359.397 363.28
|
||||
c-63.2168 38.3184 -143.578 38.3184 -206.796 0l53.4111 -53.4111c31.8457 13.5215 68.167 13.5049 99.9736 0zM84.7197 295.398c-38.3184 -63.2178 -38.3184 -143.579 0 -206.797l53.4111 53.4111c-13.5215 31.8467 -13.5059 68.168 0 99.9746z" />
|
||||
<glyph glyph-name="paper-plane" unicode=""
|
||||
d="M440 441.5c34.5996 19.9004 77.5996 -8.7998 71.5 -48.9004l-59.4004 -387.199c-2.2998 -14.5 -11.0996 -27.3008 -23.8994 -34.5c-7.2998 -4.10059 -15.4004 -6.2002 -23.6006 -6.2002c-6.19922 0 -12.3994 1.2002 -18.2998 3.59961l-111.899 46.2002l-43.8008 -59.0996
|
||||
c-27.3994 -36.9004 -86.5996 -17.8008 -86.5996 28.5996v84.4004l-114.3 47.2998c-36.7998 15.0996 -40.1006 66 -5.7002 85.8994zM192 -16l36.5996 49.5l-36.5996 15.0996v-64.5996zM404.6 12.7002l59.4004 387.3l-416 -240l107.8 -44.5996l211.5 184.3
|
||||
c14.2002 12.2998 34.4004 -5.7002 23.7002 -21.2002l-140.2 -202.3z" />
|
||||
<glyph glyph-name="futbol" unicode="" horiz-adv-x="496"
|
||||
d="M483.8 268.6c42.2998 -130.199 -29 -270.1 -159.2 -312.399c-25.5 -8.2998 -51.2998 -12.2002 -76.6992 -12.2002c-104.5 0 -201.7 66.5996 -235.7 171.4c-42.2998 130.199 29 270.1 159.2 312.399c25.5 8.2998 51.2998 12.2002 76.6992 12.2002
|
||||
c104.5 0 201.7 -66.5996 235.7 -171.4zM409.3 74.9004c6.10059 8.39941 12.1006 16.8994 16.7998 26.1992c14.3008 28.1006 21.5 58.5 21.7002 89.2002l-38.8994 36.4004l-71.1006 -22.1006l-24.3994 -75.1992l43.6992 -60.9004zM409.3 310.3
|
||||
c-24.5 33.4004 -58.7002 58.4004 -97.8994 71.4004l-47.4004 -26.2002v-73.7998l64.2002 -46.5l70.7002 22zM184.9 381.6c-39.9004 -13.2998 -73.5 -38.5 -97.8008 -71.8994l10.1006 -52.5l70.5996 -22l64.2002 46.5v73.7998zM139 68.5l43.5 61.7002l-24.2998 74.2998
|
||||
l-71.1006 22.2002l-39 -36.4004c0.5 -55.7002 23.4004 -95.2002 37.8008 -115.3zM187.2 1.5c64.0996 -20.4004 115.5 -1.7998 121.7 0l22.3994 48.0996l-44.2998 61.7002h-78.5996l-43.6006 -61.7002z" />
|
||||
<glyph glyph-name="newspaper" unicode="" horiz-adv-x="576"
|
||||
d="M552 384c13.2549 0 24 -10.7451 24 -24v-336c0 -13.2549 -10.7451 -24 -24 -24h-496c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h42.752c6.60547 18.623 24.3896 32 45.248 32h440zM48 56c0 -4.41113 3.58887 -8 8 -8s8 3.58887 8 8v248h-16v-248z
|
||||
M528 48v288h-416v-280c0 -2.7168 -0.204102 -5.38574 -0.578125 -8h416.578zM172 168c-6.62695 0 -12 5.37305 -12 12v96c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-96c0 -6.62695 -5.37305 -12 -12 -12h-136zM200 248v-40h80v40h-80zM160 108v24
|
||||
c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-136c-6.62695 0 -12 5.37305 -12 12zM352 108v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104
|
||||
c-6.62695 0 -12 5.37305 -12 12zM352 252v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12zM352 180v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24
|
||||
c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12z" />
|
||||
<glyph glyph-name="bell-slash" unicode="" horiz-adv-x="640"
|
||||
d="M633.99 -23.0195c6.91016 -5.52051 8.01953 -15.5908 2.5 -22.4902l-10 -12.4902c-5.53027 -6.88965 -15.5898 -8.00977 -22.4902 -2.49023l-598 467.51c-6.90039 5.52051 -8.01953 15.5908 -2.49023 22.4902l10 12.4902
|
||||
c5.52051 6.90039 15.5898 8.00977 22.4902 2.49023zM163.53 80h182.84l61.3994 -48h-279.659c-19.1201 0 -31.9902 15.5996 -32.1006 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c18.3701 19.7402 51.5703 49.6904 54.8398 140.42l45.4697 -35.5498
|
||||
c-6.91992 -54.7803 -24.6895 -88.5498 -41.3994 -110.58zM320 352c-23.3496 0 -45 -7.17969 -62.9404 -19.4004l-38.1699 29.8408c19.6807 15.7793 43.1104 27.3096 69.1299 32.7197v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
|
||||
c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -41.3604 6.03027 -70.7197 14.3398 -92.8496l-59.5293 46.54c-1.63086 13.96 -2.77051 28.8896 -2.79004 45.7295c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112zM320 -64
|
||||
c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
|
||||
<glyph glyph-name="copyright" unicode=""
|
||||
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
|
||||
M363.351 93.0645c-9.61328 -9.71289 -45.5293 -41.3965 -104.064 -41.3965c-82.4297 0 -140.484 61.4248 -140.484 141.567c0 79.1514 60.2754 139.4 139.763 139.4c55.5303 0 88.7373 -26.6201 97.5928 -34.7783c2.37793 -2.1875 3.86914 -5.3252 3.86914 -8.80762
|
||||
c0 -2.39746 -0.717773 -4.64258 -1.93359 -6.51465l-18.1543 -28.1133c-3.8418 -5.9502 -11.9668 -7.28223 -17.499 -2.9209c-8.5957 6.77637 -31.8145 22.5381 -61.708 22.5381c-48.3037 0 -77.916 -35.3301 -77.916 -80.082c0 -41.5889 26.8877 -83.6924 78.2764 -83.6924
|
||||
c32.6572 0 56.8428 19.0391 65.7266 27.2256c5.26953 4.85645 13.5957 4.03906 17.8193 -1.73828l19.8652 -27.1699c1.45996 -1.98145 2.32422 -4.42969 2.32422 -7.07715c0 -3.28809 -1.32422 -6.2793 -3.47656 -8.44043z" />
|
||||
<glyph glyph-name="closed-captioning" unicode=""
|
||||
d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM458 48c3.2998 0 6 2.7002 6 6v276c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-276c0 -3.2998 2.7002 -6 6 -6h404z
|
||||
M246.9 133.7c1.69922 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.6006 -56.7998 -172.801 -32.0996 -172.801 67.9004c0 97.2998 121.7 119.5 172.5 70.0996c2.10059 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.89941 -3.09961 -6.19922 -4 -9.09961 -1.7002
|
||||
c-40.7998 32 -94.5996 14.9004 -94.5996 -31.1992c0 -48 51 -70.5 92.1992 -32.6006c2.80078 2.5 7.10059 2.10059 9.2002 -0.899414zM437.3 133.7c1.7002 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.5996 -56.9004 -172.8 -32.0996 -172.8 67.9004
|
||||
c0 97.2998 121.7 119.5 172.5 70.0996c2.09961 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.90039 -3.09961 -6.2002 -4 -9.09961 -1.7002c-40.8008 32 -94.6006 14.9004 -94.6006 -31.1992c0 -48 51 -70.5 92.2002 -32.6006c2.7998 2.5 7.09961 2.10059 9.2002 -0.899414z
|
||||
" />
|
||||
<glyph glyph-name="object-group" unicode=""
|
||||
d="M500 320h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v256h-12
|
||||
c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM448 384v-32h32v32h-32zM32 384v-32h32v32h-32zM64 0v32
|
||||
h-32v-32h32zM480 0v32h-32v-32h32zM440 64v256h-12c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h12zM404 256c6.62695 0 12 -5.37207 12 -12v-168
|
||||
c0 -6.62793 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37207 -12 12v52h-84c-6.62695 0 -12 5.37207 -12 12v168c0 6.62793 5.37305 12 12 12h200c6.62695 0 12 -5.37207 12 -12v-52h84zM136 280v-112h144v112h-144zM376 104v112h-56v-76
|
||||
c0 -6.62793 -5.37305 -12 -12 -12h-76v-24h144z" />
|
||||
<glyph glyph-name="object-ungroup" unicode="" horiz-adv-x="576"
|
||||
d="M564 224h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v24h-88v-12
|
||||
c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h72
|
||||
c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-12v-24h88v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM352 384v-32h32v32h-32zM352 128v-32h32v32h-32zM64 96v32h-32v-32h32zM64 352v32
|
||||
h-32v-32h32zM96 136h224v12c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-12zM224 0v32h-32v-32h32zM504 64v160h-12c-6.62695 0 -12 5.37305 -12 12v12
|
||||
h-88v-88h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-88v-24h12c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h12zM544 0v32h-32v-32h32zM544 256v32h-32v-32h32z" />
|
||||
<glyph glyph-name="sticky-note" unicode="" horiz-adv-x="448"
|
||||
d="M448 99.8936c0 -13.2451 -5.37012 -25.252 -14.0586 -33.9404l-83.8828 -83.8818c-8.68848 -8.68848 -20.6943 -14.0596 -33.9404 -14.0596h-268.118c-26.5098 0 -48 21.4902 -48 48v351.988c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-268.106z
|
||||
M320 19.8936l76.1182 76.1182h-76.1182v-76.1182zM400 368h-352v-351.988h224v104c0 13.2549 10.7451 24 24 24h104v223.988z" />
|
||||
<glyph glyph-name="clone" unicode=""
|
||||
d="M464 448c26.5098 0 48 -21.4902 48 -48v-320c0 -26.5098 -21.4902 -48 -48 -48h-48v-48c0 -26.5098 -21.4902 -48 -48 -48h-320c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h48v48c0 26.5098 21.4902 48 48 48h320zM362 -16c3.31152 0 6 2.68848 6 6
|
||||
v42h-224c-26.5098 0 -48 21.4902 -48 48v224h-42c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308zM458 80c3.31152 0 6 2.68848 6 6v308c0 3.31152 -2.68848 6 -6 6h-308c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308z" />
|
||||
<glyph glyph-name="hourglass" unicode="" horiz-adv-x="384"
|
||||
d="M368 400c0 -80.0996 -31.8984 -165.619 -97.1797 -208c64.9912 -42.1934 97.1797 -127.436 97.1797 -208h4c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h4
|
||||
c0 80.0996 31.8994 165.619 97.1797 208c-64.9912 42.1934 -97.1797 127.436 -97.1797 208h-4c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-4zM64 400
|
||||
c0 -101.621 57.3066 -184 128 -184s128 82.3799 128 184h-256zM320 -16c0 101.62 -57.3076 184 -128 184s-128 -82.3799 -128 -184h256z" />
|
||||
<glyph glyph-name="hand-rock" unicode=""
|
||||
d="M408.864 368.948c48.8213 20.751 103.136 -15.0723 103.136 -67.9111v-114.443c0 -15.3955 -3.08887 -30.3906 -9.18262 -44.5674l-42.835 -99.6562c-4.99707 -11.625 -3.98242 -18.8574 -3.98242 -42.3701c0 -17.6729 -14.3271 -32 -32 -32h-252
|
||||
c-17.6729 0 -32 14.3271 -32 32c0 27.3301 1.1416 29.2012 -3.11035 32.9033l-97.71 85.0811c-24.8994 21.6797 -39.1797 52.8926 -39.1797 85.6338v56.9531c0 47.4277 44.8457 82.0215 91.0459 71.1807c1.96094 55.751 63.5107 87.8262 110.671 60.8057
|
||||
c29.1895 31.0713 78.8604 31.4473 108.334 -0.0214844c32.7051 18.6846 76.4121 10.3096 98.8135 -23.5879zM464 186.594v114.445c0 34.29 -52 33.8232 -52 0.676758c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v26.751
|
||||
c0 34.457 -52 33.707 -52 0.676758v-27.4287c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v40.4658c0 34.3525 -52 33.8115 -52 0.677734v-41.1436c0 -8.83594 -7.16406 -16 -16 -16h-7c-8.83594 0 -16 7.16406 -16 16v26.751
|
||||
c0 34.4023 -52 33.7744 -52 0.676758v-116.571c0 -8.83105 -7.17773 -15.9961 -16.0078 -15.9961c-4.0166 0 -7.68848 1.48242 -10.499 3.92969l-7 6.09473c-3.37012 2.93457 -5.49316 7.25293 -5.49316 12.0674v41.2275c0 34.2148 -52 33.8857 -52 0.677734v-56.9531
|
||||
c0 -18.8555 8.27441 -36.874 22.7002 -49.4365l97.71 -85.0801c12.4502 -10.8398 19.5898 -26.4463 19.5898 -42.8164v-10.2861h220v7.07617c0 13.21 2.65332 26.0791 7.88281 38.25l42.835 99.6553c3.37891 7.82715 5.28223 16.501 5.28223 25.5625v0.0498047z" />
|
||||
<glyph glyph-name="hand-paper" unicode="" horiz-adv-x="448"
|
||||
d="M372.57 335.359c39.9062 5.63281 75.4297 -25.7393 75.4297 -66.3594v-131.564c-0.00292969 -15.7393 -1.80566 -30.9482 -5.19531 -45.666l-30.1836 -130.958c-3.34668 -14.5234 -16.2783 -24.8125 -31.1816 -24.8125h-222.897
|
||||
c-10.7539 0 -20.2588 5.28613 -26.0615 13.4316l-119.97 168.415c-21.2441 29.8203 -14.8047 71.3574 14.5498 93.1533c18.7754 13.9395 42.1309 16.2979 62.083 8.87109v126.13c0 44.0547 41.125 75.5439 82.4053 64.9834c23.8926 48.1963 92.3535 50.2471 117.982 0.74707
|
||||
c42.5186 11.1445 83.0391 -21.9346 83.0391 -65.5469v-10.8242zM399.997 137.437l-0.00195312 131.563c0 24.9492 -36.5703 25.5508 -36.5703 -0.691406v-76.3086c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v154.184
|
||||
c0 25.501 -36.5703 26.3633 -36.5703 0.691406v-154.875c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v188.309c0 25.501 -36.5703 26.3545 -36.5703 0.691406v-189c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16
|
||||
v153.309c0 25.501 -36.5713 26.3359 -36.5713 0.691406v-206.494c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832l-27.1279 38.0791c-14.3711 20.1709 -43.833 -2.33496 -29.3945 -22.6045l115.196 -161.697h201.92l27.3252 118.551
|
||||
c2.63086 11.417 3.96484 23.1553 3.96484 34.8857z" />
|
||||
<glyph glyph-name="hand-scissors" unicode=""
|
||||
d="M256 -32c-44.9561 0 -77.3428 43.2627 -64.0244 85.8535c-21.6484 13.71 -34.0156 38.7617 -30.3408 65.0068h-87.6348c-40.8037 0 -74 32.8105 -74 73.1406c0 40.3291 33.1963 73.1396 74 73.1396l94 -9.14062l-78.8496 18.6787
|
||||
c-38.3076 14.7422 -57.04 57.4707 -41.9424 95.1123c15.0303 37.4736 57.7549 55.7803 95.6416 41.2012l144.929 -55.7568c24.9551 30.5566 57.8086 43.9932 92.2178 24.7324l97.999 -54.8525c20.9746 -11.7393 34.0049 -33.8457 34.0049 -57.6904v-205.702
|
||||
c0 -30.7422 -21.4404 -57.5576 -51.7979 -64.5537l-118.999 -27.4268c-4.97168 -1.14648 -10.0889 -1.72949 -15.2031 -1.72949zM256 16.0127l70 -0.000976562c1.52441 0 2.99707 0.174805 4.42285 0.501953l119.001 27.4277
|
||||
c8.58203 1.97754 14.5762 9.29102 14.5762 17.7812v205.701c0 6.4873 -3.62109 12.542 -9.44922 15.8047l-98 54.8545c-8.13965 4.55566 -18.668 2.61914 -24.4873 -4.50781l-21.7646 -26.6475c-2.93457 -3.59375 -7.40332 -5.87305 -12.4004 -5.87305
|
||||
c-2.02246 0 -3.95703 0.375977 -5.73828 1.06152l-166.549 64.0908c-32.6543 12.5664 -50.7744 -34.5771 -19.2227 -46.7168l155.357 -59.7852c6 -2.30859 10.2539 -8.12402 10.2539 -14.9326v-11.6328c0 -8.83691 -7.16309 -16 -16 -16h-182
|
||||
c-34.375 0 -34.4297 -50.2803 0 -50.2803h182c8.83691 0 16 -7.16309 16 -16v-6.85645c0 -8.83691 -7.16309 -16 -16 -16h-28c-25.1221 0 -25.1592 -36.5674 0 -36.5674h28c8.83691 0 16 -7.16211 16 -16v-6.85547c0 -8.83691 -7.16309 -16 -16 -16
|
||||
c-25.1201 0 -25.1602 -36.5674 0 -36.5674z" />
|
||||
<glyph glyph-name="hand-lizard" unicode="" horiz-adv-x="576"
|
||||
d="M556.686 157.458c12.6357 -19.4863 19.3145 -42.0615 19.3145 -65.2871v-124.171h-224v71.582l-99.751 38.7871c-2.7832 1.08203 -5.70996 1.63086 -8.69727 1.63086h-131.552c-30.8789 0 -56 25.1211 -56 56c0 48.5234 39.4766 88 88 88h113.709l18.333 48h-196.042
|
||||
c-44.1123 0 -80 35.8877 -80 80v8c0 30.8779 25.1211 56 56 56h293.917c24.5 0 47.084 -12.2725 60.4111 -32.8291zM528 16v76.1709c0 0.0166016 -0.0439453 0.106445 -0.0439453 0.12207c0 14.3945 -4.24219 27.8057 -11.5439 39.0498l-146.358 225.715
|
||||
c-4.44336 6.85254 -11.9707 10.9424 -20.1367 10.9424h-293.917c-4.41113 0 -8 -3.58887 -8 -8v-8c0 -17.6445 14.3555 -32 32 -32h213.471c25.2021 0 42.626 -25.293 33.6299 -48.8457l-24.5518 -64.2812c-7.05371 -18.4658 -25.0732 -30.873 -44.8398 -30.873h-113.709
|
||||
c-22.0557 0 -40 -17.9443 -40 -40c0 -4.41113 3.58887 -8 8 -8h131.552c0.0175781 0 0.0712891 -0.0273438 0.0888672 -0.0273438c9.16992 0 17.9404 -1.72461 26.0039 -4.86621l99.752 -38.7881c18.5898 -7.22852 30.6035 -24.7881 30.6035 -44.7363v-23.582h128z" />
|
||||
<glyph glyph-name="hand-spock" unicode=""
|
||||
d="M501.03 331.824c6.92773 -11.1826 10.9697 -24.4053 10.9697 -38.5146c0 -5.92676 -0.706055 -11.6885 -2.03809 -17.208l-57.623 -241.963c-13.2236 -56.1904 -63.707 -98.1387 -123.908 -98.1387h-0.352539h-107.455
|
||||
c-0.0761719 0 -0.193359 0.00195312 -0.270508 0.00195312c-40.9248 0 -78.1475 15.9814 -105.761 42.0391l-91.3652 85.9766c-14.3076 13.4434 -23.2246 32.5547 -23.2246 53.7168c0 19.5254 7.61035 37.2861 20.0254 50.4766
|
||||
c5.31836 5.66406 29.875 29.3926 68.1152 21.8477l-24.3594 82.1973c-1.97363 6.64844 -2.97656 13.6836 -2.97656 20.9688c0 38.6953 29.8926 70.4639 67.8262 73.4531c-0.246094 2.45117 -0.34082 4.85547 -0.34082 7.37207c0 34.4199 23.585 63.376 55.4619 71.5752
|
||||
c43.248 10.9785 80.5645 -17.7012 89.6602 -53.0723l13.6836 -53.207l4.64648 22.6602c6.99023 33.5186 36.6826 58.8037 72.2373 58.916c8.73438 0 56.625 -3.26953 70.7383 -54.0801c15.0664 0.710938 46.9199 -3.50977 66.3105 -35.0176zM463.271 287.219
|
||||
c7.86914 32.9844 -42.1211 45.2695 -50.0859 11.9219l-24.8008 -104.146c-4.38867 -18.4141 -31.7783 -11.8926 -28.0557 6.2168l28.5479 139.166c7.39844 36.0703 -43.3076 45.0703 -50.1182 11.9629l-31.791 -154.971
|
||||
c-3.54883 -17.3086 -28.2832 -18.0469 -32.7109 -0.804688l-47.3262 184.035c-8.43359 32.8105 -58.3691 20.2676 -49.8652 -12.8359l42.4414 -165.039c4.81641 -18.7207 -23.3711 -26.9121 -28.9648 -8.00781l-31.3438 105.779
|
||||
c-9.6875 32.6465 -59.1191 18.2578 -49.3867 -14.625l36.0137 -121.539c6.59375 -22.2441 10.1777 -45.7803 10.1777 -70.1523c0 -6.54297 -8.05664 -10.9355 -13.4824 -5.82617l-51.123 48.1074c-24.7852 23.4082 -60.0527 -14.1875 -35.2793 -37.4902l91.3691 -85.9805
|
||||
c19.0469 -17.9736 44.75 -28.998 72.9795 -28.998h0.157227h107.455c0.0732422 0 0.138672 0.0429688 0.212891 0.0429688c37.5791 0 69.1016 26.1416 77.3564 61.2168z" />
|
||||
<glyph glyph-name="hand-pointer" unicode="" horiz-adv-x="448"
|
||||
d="M358.182 268.639c43.1934 16.6348 89.8184 -15.7949 89.8184 -62.6387v-84c-0.000976562 -5.24023 -0.600586 -10.3037 -1.72754 -15.2041l-27.4297 -118.999c-6.98242 -30.2969 -33.7549 -51.7969 -64.5566 -51.7969h-178.286
|
||||
c-21.2588 0 -41.3682 10.4102 -53.791 27.8457l-109.699 154.001c-21.2432 29.8193 -14.8047 71.3574 14.5498 93.1523c18.8115 13.9658 42.1748 16.2822 62.083 8.87207v161.129c0 36.9443 29.7363 67 66.2861 67s66.2861 -30.0557 66.2861 -67v-73.6338
|
||||
c20.4131 2.85742 41.4678 -3.94238 56.5947 -19.6289c27.1934 12.8467 60.3799 5.66992 79.8721 -19.0986zM80.9854 168.303c-14.4004 20.2119 -43.8008 -2.38281 -29.3945 -22.6055l109.712 -154c3.43457 -4.81934 8.92871 -7.69727 14.6973 -7.69727h178.285
|
||||
c8.49219 0 15.8037 5.99414 17.7822 14.5762l27.4297 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285v84c0 25.1602 -36.5713 25.1211 -36.5713 0c0 -8.83594 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16406 -16 16v21
|
||||
c0 25.1602 -36.5713 25.1201 -36.5713 0v-21c0 -8.83594 -7.16309 -16 -16 -16h-6.85938c-8.83691 0 -16 7.16406 -16 16v35c0 25.1602 -36.5703 25.1201 -36.5703 0v-35c0 -8.83594 -7.16309 -16 -16 -16h-6.85742c-8.83691 0 -16 7.16406 -16 16v175
|
||||
c0 25.1602 -36.5713 25.1201 -36.5713 0v-241.493c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832zM176.143 48v96c0 8.83691 6.26855 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM251.571 48v96
|
||||
c0 8.83691 6.26758 16 14 16h6c7.73145 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26855 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM327 48v96c0 8.83691 6.26758 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6
|
||||
c-7.73242 0 -14 7.16309 -14 16z" />
|
||||
<glyph glyph-name="hand-peace" unicode="" horiz-adv-x="448"
|
||||
d="M362.146 256.024c42.5908 13.3184 85.8535 -19.0684 85.8535 -64.0244l-0.0117188 -70.001c-0.000976562 -5.24023 -0.600586 -10.3027 -1.72949 -15.2031l-27.4268 -118.999c-6.99707 -30.3564 -33.8105 -51.7969 -64.5547 -51.7969h-205.702
|
||||
c-23.8447 0 -45.9502 13.0303 -57.6904 34.0059l-54.8525 97.999c-19.2607 34.4092 -5.82422 67.2617 24.7324 92.2178l-55.7568 144.928c-14.5791 37.8867 3.72754 80.6113 41.2012 95.6416c37.6406 15.0977 80.3691 -3.63477 95.1123 -41.9424l18.6787 -78.8496
|
||||
l-9.14062 94c0 40.8037 32.8096 74 73.1396 74s73.1406 -33.1963 73.1406 -74v-87.6348c26.2451 3.6748 51.2959 -8.69238 65.0068 -30.3408zM399.987 122l-0.000976562 70c0 25.1602 -36.5674 25.1201 -36.5674 0c0 -8.83691 -7.16309 -16 -16 -16h-6.85547
|
||||
c-8.83789 0 -16 7.16309 -16 16v28c0 25.1592 -36.5674 25.1221 -36.5674 0v-28c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v182c0 34.4297 -50.2803 34.375 -50.2803 0v-182c0 -8.83691 -7.16309 -16 -16 -16h-11.6328
|
||||
c-6.80859 0 -12.624 4.25391 -14.9326 10.2539l-59.7842 155.357c-12.1396 31.5518 -59.2842 13.4326 -46.7168 -19.2227l64.0898 -166.549c0.685547 -1.78125 1.07812 -3.71875 1.07812 -5.74121c0 -4.99707 -2.2959 -9.46289 -5.88965 -12.3975l-26.6475 -21.7646
|
||||
c-7.12695 -5.81934 -9.06445 -16.3467 -4.50781 -24.4873l54.8535 -98c3.26367 -5.82812 9.31934 -9.44922 15.8057 -9.44922h205.701c8.49121 0 15.8037 5.99414 17.7812 14.5762l27.4277 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285z" />
|
||||
<glyph glyph-name="registered" unicode=""
|
||||
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
|
||||
M366.442 73.791c4.40332 -7.99219 -1.37012 -17.791 -10.5107 -17.791h-42.8096c-0.00488281 0 -0.000976562 -0.0126953 -0.00585938 -0.0126953c-4.58594 0 -8.57422 2.58301 -10.5869 6.37305l-47.5156 89.3027h-31.958v-83.6631c0 -6.61719 -5.38281 -12 -12 -12
|
||||
h-38.5674c-6.61719 0 -12 5.38281 -12 12v248.304c0 6.61719 5.38281 12 12 12h78.667c71.251 0 101.498 -32.749 101.498 -85.252c0 -31.6123 -15.2148 -59.2969 -39.4824 -73.1758c3.02148 -4.61719 0.225586 0.199219 53.2715 -96.085zM256.933 208.094
|
||||
c20.9131 0 32.4307 11.5186 32.4316 32.4316c0 19.5752 -6.5127 31.709 -38.9297 31.709h-27.377v-64.1406h33.875z" />
|
||||
<glyph glyph-name="calendar-plus" unicode="" horiz-adv-x="448"
|
||||
d="M336 156v-24c0 -6.59961 -5.40039 -12 -12 -12h-76v-76c0 -6.59961 -5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12v76h-76c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h76v76c0 6.59961 5.40039 12 12 12h24c6.59961 0 12 -5.40039 12 -12
|
||||
v-76h76c6.59961 0 12 -5.40039 12 -12zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40
|
||||
c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="calendar-minus" unicode="" horiz-adv-x="448"
|
||||
d="M124 120c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h200c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12h-200zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52
|
||||
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="calendar-times" unicode="" horiz-adv-x="448"
|
||||
d="M311.7 73.2998l-17 -17c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-53.7002 53.7998l-53.7002 -53.6992c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-17 17c-4.7002 4.69922 -4.7002 12.2998 0 17l53.7002 53.6992l-53.7002 53.7002c-4.7002 4.7002 -4.7002 12.2998 0 17
|
||||
l17 17c4.7002 4.7002 12.2998 4.7002 17 0l53.7002 -53.7002l53.7002 53.7002c4.7002 4.7002 12.2998 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17l-53.7998 -53.7998l53.6992 -53.7002c4.80078 -4.7002 4.80078 -12.2998 0.100586 -17zM448 336v-352
|
||||
c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10
|
||||
v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="calendar-check" unicode="" horiz-adv-x="448"
|
||||
d="M400 384c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40
|
||||
c6.62695 0 12 -5.37305 12 -12v-52h48zM394 -16c3.31152 0 6 2.68848 6 6v298h-352v-298c0 -3.31152 2.68848 -6 6 -6h340zM341.151 184.65l-142.31 -141.169c-4.70508 -4.66699 -12.3027 -4.6377 -16.9707 0.0673828l-75.0908 75.6992
|
||||
c-4.66699 4.70508 -4.6377 12.3027 0.0673828 16.9707l22.7197 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l44.1035 -44.4609l111.072 110.182c4.70508 4.66699 12.3027 4.63672 16.9707 -0.0683594l22.5361 -22.7178
|
||||
c4.66699 -4.70508 4.63672 -12.3027 -0.0683594 -16.9697z" />
|
||||
<glyph glyph-name="map" unicode="" horiz-adv-x="576"
|
||||
d="M560.02 416c8.4502 0 15.9805 -6.83008 15.9805 -16.0195v-346.32c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-151.83 -52.8105c-6.23242 -2.02832 -12.9023 -3.12305 -19.8076 -3.12305c-7.07324 0 -13.8799 1.15039 -20.2422 3.27344l-172 60.71l-170.05 -62.8398
|
||||
c-1.99023 -0.790039 -4 -1.16016 -5.95996 -1.16016c-8.45996 0 -15.9902 6.83008 -15.9902 16.0195v346.32c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71l151.83 52.8105c6.43945 2.08984 13.1201 3.13965 19.8096 3.13965
|
||||
c7.06641 -0.00292969 13.8789 -1.16602 20.2402 -3.28027l172 -60.7197h0.00976562l170.05 62.8398c1.98047 0.790039 4 1.16016 5.95996 1.16016zM224 357.58v-285.97l128 -45.1904v285.97zM48 29.9502l127.36 47.0801l0.639648 0.229492v286.2l-128 -44.5303v-288.979z
|
||||
M528 65.0801v288.97l-127.36 -47.0693l-0.639648 -0.240234v-286.19z" />
|
||||
<glyph glyph-name="comment-alt" unicode=""
|
||||
d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.5996c-2.19922 -1.7002 -4.69922 -2.40039 -7.09961 -2.40039c-6.2002 0 -12 4.90039 -12 12v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z
|
||||
M464 96v288c0 8.7998 -7.2002 16 -16 16h-384c-8.7998 0 -16 -7.2002 -16 -16v-288c0 -8.7998 7.2002 -16 16 -16h144v-60l67.2002 50.4004l12.7998 9.59961h160c8.7998 0 16 7.2002 16 16z" />
|
||||
<glyph glyph-name="pause-circle" unicode=""
|
||||
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48
|
||||
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16zM240 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16z" />
|
||||
<glyph glyph-name="stop-circle" unicode=""
|
||||
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-160
|
||||
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16z" />
|
||||
<glyph glyph-name="handshake" unicode="" horiz-adv-x="640"
|
||||
d="M519.2 320.1h120.8v-255.699h-64c-17.5 0 -31.7998 14.1992 -31.9004 31.6992h-57.8994c-1.7998 -8.19922 -5.2998 -16.0996 -10.9004 -23l-26.2002 -32.2998c-15.7998 -19.3994 -41.8994 -25.5 -64 -16.7998c-13.5 -16.5996 -30.5996 -24 -48.7998 -24
|
||||
c-15.0996 0 -28.5996 5.09961 -41.0996 15.9004c-31.7998 -21.9004 -74.7002 -21.3008 -105.601 3.7998l-84.5996 76.3994h-9.09961c-0.100586 -17.5 -14.3008 -31.6992 -31.9004 -31.6992h-64v255.699h118l47.5996 47.6006c10.5 10.3994 24.8008 16.2998 39.6006 16.2998
|
||||
h226.8c15.4326 0 29.4326 -6.22168 39.5996 -16.2998zM48 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM438 103.3c2.7002 3.40039 2.2002 8.5 -1.2002 11.2998l-108.2 87.8008l-8.19922 -7.5
|
||||
c-40.3008 -36.8008 -86.7002 -11.8008 -101.5 4.39941c-26.7002 29 -25 74.4004 4.39941 101.3l38.7002 35.5h-56.7002c-2 -0.799805 -3.7002 -1.5 -5.7002 -2.2998l-61.6992 -61.5996h-41.9004v-128.101h27.7002l97.2998 -88
|
||||
c16.0996 -13.0996 41.4004 -10.5 55.2998 6.60059l15.6006 19.2002l36.7998 -31.5c3 -2.40039 12 -4.90039 18 2.39941l30 36.5l23.8994 -19.3994c3.5 -2.80078 8.5 -2.2002 11.3008 1.19922zM544 144.1v128h-44.7002l-61.7002 61.6006
|
||||
c-1.39941 1.5 -3.39941 2.2998 -5.5 2.2998l-83.6992 -0.200195c-10 0 -19.6006 -3.7002 -27 -10.5l-65.6006 -60.0996c-9.7002 -8.7998 -10.5 -24 -1.2002 -33.9004c8.90039 -9.39941 25.1006 -8.7002 34.6006 0l55.2002 50.6006c6.5 5.89941 16.5996 5.5 22.5996 -1
|
||||
l10.9004 -11.7002c6 -6.5 5.5 -16.6006 -1 -22.6006l-12.5 -11.3994l102.699 -83.4004c2.80078 -2.2998 5.40039 -4.89941 7.7002 -7.7002h69.2002zM592 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z
|
||||
" />
|
||||
<glyph glyph-name="envelope-open" unicode=""
|
||||
d="M494.586 283.484c10.6523 -8.80762 17.4141 -22.1064 17.4141 -36.9932v-262.491c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v262.515c0 14.9355 6.80469 28.2705 17.5146 37.0771c4.08008 3.35449 110.688 89.0996 135.15 108.549
|
||||
c22.6992 18.1426 60.1299 55.8594 103.335 55.8594c43.4365 0 81.2314 -38.1914 103.335 -55.8594c23.5283 -18.707 130.554 -104.773 135.251 -108.656zM464 -10v253.632c0 0.00195312 0.00390625 0.000976562 0.00390625 0.00292969
|
||||
c0 1.88184 -0.869141 3.56152 -2.22754 4.66016c-15.8633 12.8232 -108.793 87.5752 -132.366 106.316c-17.5527 14.0195 -49.7168 45.3887 -73.4102 45.3887c-23.6016 0 -55.2451 -30.8799 -73.4102 -45.3887c-23.5713 -18.7393 -116.494 -93.4795 -132.364 -106.293
|
||||
c-1.40918 -1.13965 -2.22559 -2.85254 -2.22559 -4.66504v-253.653c0 -3.31152 2.68848 -6 6 -6h404c3.31152 0 6 2.68848 6 6zM432.009 177.704c4.24902 -5.15918 3.46484 -12.7949 -1.74512 -16.9814c-28.9746 -23.2822 -59.2734 -47.5967 -70.9287 -56.8623
|
||||
c-22.6992 -18.1436 -60.1299 -55.8604 -103.335 -55.8604c-43.4521 0 -81.2871 38.2373 -103.335 55.8604c-11.2793 8.9668 -41.7441 33.4131 -70.9268 56.8643c-5.20996 4.1875 -5.99316 11.8223 -1.74512 16.9814l15.2578 18.5283
|
||||
c4.17773 5.07227 11.6572 5.84277 16.7793 1.72559c28.6182 -23.001 58.5654 -47.0352 70.5596 -56.5713c17.5527 -14.0195 49.7168 -45.3887 73.4102 -45.3887c23.6016 0 55.2461 30.8799 73.4102 45.3887c11.9941 9.53516 41.9434 33.5703 70.5625 56.5684
|
||||
c5.12207 4.11621 12.6016 3.3457 16.7783 -1.72656z" />
|
||||
<glyph glyph-name="address-book" unicode="" horiz-adv-x="448"
|
||||
d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
|
||||
h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM368 -16v416h-320v-416h320zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM118.4 64
|
||||
c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002
|
||||
h-179.199z" />
|
||||
<glyph glyph-name="address-card" unicode="" horiz-adv-x="576"
|
||||
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v352h-480v-352h480zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z
|
||||
M118.4 64c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002
|
||||
c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199zM360 128c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 192c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
|
||||
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 256c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112z" />
|
||||
<glyph glyph-name="user-circle" unicode="" horiz-adv-x="496"
|
||||
d="M248 344c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96zM248 200c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
|
||||
c49.7002 0 95.0996 18.2998 130.1 48.4004c-14.8994 23 -40.3994 38.5 -69.5996 39.5c-20.7998 -6.5 -40.5996 -9.60059 -60.5 -9.60059s-39.7002 3.2002 -60.5 9.60059c-29.2002 -0.900391 -54.7002 -16.5 -69.5996 -39.5c35 -30.1006 80.3994 -48.4004 130.1 -48.4004z
|
||||
M410.7 76.0996c23.3994 32.7002 37.2998 72.7002 37.2998 115.9c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -43.2002 13.9004 -83.2002 37.2998 -115.9c24.5 31.4004 62.2002 51.9004 105.101 51.9004c10.1992 0 26.0996 -9.59961 57.5996 -9.59961
|
||||
c31.5996 0 47.4004 9.59961 57.5996 9.59961c43 0 80.7002 -20.5 105.101 -51.9004z" />
|
||||
<glyph glyph-name="id-badge" unicode="" horiz-adv-x="384"
|
||||
d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM336 -16v416h-288v-416h288zM144 336c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16
|
||||
h-96zM192 160c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM102.4 32c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8
|
||||
c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199z" />
|
||||
<glyph glyph-name="id-card" unicode="" horiz-adv-x="576"
|
||||
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v288h-480v-288h32.7998c-1 4.5 -0.799805 -3.59961 -0.799805 22.4004c0 31.7998 30.0996 57.5996 67.2002 57.5996
|
||||
c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996c0 -26 0.0996094 -17.9004 -0.799805 -22.4004h224.8zM360 96c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16
|
||||
c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 160c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 224c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
|
||||
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM192 128c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z" />
|
||||
<glyph glyph-name="window-maximize" unicode=""
|
||||
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v234h-416v-234c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="window-minimize" unicode=""
|
||||
d="M480 -32h-448c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h448c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
|
||||
<glyph glyph-name="window-restore" unicode=""
|
||||
d="M464 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-48v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h48v48c0 26.5 21.5 48 48 48h320zM368 -16v208h-320v-208h320zM464 80v320h-320v-48h224
|
||||
c26.5 0 48 -21.5 48 -48v-224h48z" />
|
||||
<glyph glyph-name="snowflake" unicode="" horiz-adv-x="448"
|
||||
d="M440.1 92.7998c7.60059 -4.39941 10.1006 -14.2002 5.5 -21.7002l-7.89941 -13.8994c-4.40039 -7.7002 -14 -10.2998 -21.5 -5.90039l-39.2002 23l9.09961 -34.7002c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.5996l-15.2002 -4.09961
|
||||
c-8.39941 -2.30078 -17.0996 2.7998 -19.2998 11.2998l-21.2998 81l-71.9004 42.2002v-84.5l58.2998 -59.3008c6.10059 -6.19922 6.10059 -16.3994 0 -22.5996l-11.0996 -11.2998c-6.09961 -6.2002 -16.0996 -6.2002 -22.2002 0l-24.8994 25.3994v-46.0996
|
||||
c0 -8.7998 -7 -16 -15.7002 -16h-15.7002c-8.7002 0 -15.7002 7.2002 -15.7002 16v45.9004l-24.8994 -25.4004c-6.10059 -6.2002 -16.1006 -6.2002 -22.2002 0l-11.1006 11.2998c-6.09961 6.2002 -6.09961 16.4004 0 22.6006l58.3008 59.2998v84.5l-71.9004 -42.2002
|
||||
l-21.2998 -81c-2.2998 -8.5 -10.9004 -13.5996 -19.2998 -11.2998l-15.2002 4.09961c-8.40039 2.2998 -13.2998 11.1006 -11.1006 19.6006l9.10059 34.6992l-39.2002 -23c-7.5 -4.39941 -17.2002 -1.7998 -21.5 5.90039l-7.90039 13.9004
|
||||
c-4.2998 7.69922 -1.69922 17.5 5.80078 21.8994l39.1992 23l-34.0996 9.2998c-8.40039 2.30078 -13.2998 11.1006 -11.0996 19.6006l4.09961 15.5c2.2998 8.5 10.9004 13.5996 19.2998 11.2998l79.7002 -21.7002l71.9004 42.2002l-71.9004 42.2002l-79.7002 -21.7002
|
||||
c-8.39941 -2.2998 -17.0996 2.7998 -19.2998 11.2998l-4.09961 15.5c-2.30078 8.5 2.69922 17.2998 11.0996 19.6006l34.0996 9.09961l-39.1992 23c-7.60059 4.5 -10.1006 14.2002 -5.80078 21.9004l7.90039 13.8994c4.40039 7.7002 14 10.2998 21.5 5.90039l39.2002 -23
|
||||
l-9.10059 34.7002c-2.2998 8.5 2.7002 17.2998 11.1006 19.5996l15.2002 4.09961c8.39941 2.30078 17.0996 -2.7998 19.2998 -11.2998l21.2998 -81l71.9004 -42.2002v84.5l-58.3008 59.3008c-6.09961 6.19922 -6.09961 16.3994 0 22.5996l11.5 11.2998
|
||||
c6.10059 6.2002 16.1006 6.2002 22.2002 0l24.9004 -25.3994v46.0996c0 8.7998 7 16 15.7002 16h15.6992c8.7002 0 15.7002 -7.2002 15.7002 -16v-45.9004l24.9004 25.4004c6.09961 6.2002 16.0996 6.2002 22.2002 0l11.0996 -11.2998
|
||||
c6.09961 -6.2002 6.09961 -16.4004 0 -22.6006l-58.2998 -59.2998v-84.5l71.8994 42.2002l21.3008 81c2.2998 8.5 10.8994 13.5996 19.2998 11.2998l15.2002 -4.09961c8.39941 -2.2998 13.2998 -11.1006 11.0996 -19.6006l-9.09961 -34.6992l39.1992 23
|
||||
c7.5 4.39941 17.2002 1.7998 21.5 -5.90039l7.90039 -13.9004c4.2998 -7.69922 1.7002 -17.5 -5.7998 -21.8994l-39.2002 -23l34.0996 -9.2998c8.40039 -2.30078 13.3008 -11.1006 11.1006 -19.6006l-4.10059 -15.5c-2.2998 -8.5 -10.8994 -13.5996 -19.2998 -11.2998
|
||||
l-79.7002 21.7002l-71.8994 -42.2002l71.7998 -42.2002l79.7002 21.7002c8.39941 2.2998 17.0996 -2.7998 19.2998 -11.2998l4.09961 -15.5c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.6006l-34.0996 -9.2998z" />
|
||||
<glyph glyph-name="trash-alt" unicode="" horiz-adv-x="448"
|
||||
d="M268 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216c0 -6.62305 -5.37695 -12 -12 -12h-24zM432 368c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-16v-336
|
||||
c0 -26.4922 -21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48v336h-16c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h82.4102l34.0195 56.7002c8.39258 13.9844 23.6777 23.2998 41.1602 23.2998h100.82
|
||||
c0.0078125 0 -0.015625 0.0517578 -0.0078125 0.0517578c17.4824 0 32.7949 -9.36719 41.1875 -23.3516l34 -56.7002h82.4102zM171.84 397.09l-17.4502 -29.0898h139.221l-17.46 29.0898c-1.0498 1.74707 -2.95898 2.91016 -5.14355 2.91016h-0.00683594h-94
|
||||
c-0.00585938 0 -0.00683594 0.00683594 -0.0126953 0.00683594c-2.18457 0 -4.09766 -1.16992 -5.14746 -2.91699zM368 -16v336h-288v-336h288zM156 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216
|
||||
c0 -6.62305 -5.37695 -12 -12 -12h-24z" />
|
||||
<glyph glyph-name="images" unicode="" horiz-adv-x="576"
|
||||
d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-48h-10c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v10h48zM522 368h-372
|
||||
c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v244c0 3.31152 -2.68848 6 -6 6zM528 416c26.5098 0 48 -21.4902 48 -48v-256c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
|
||||
c0 26.5098 21.4902 48 48 48h384zM264 304c0 -22.0908 -17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40s40 -17.9092 40 -40zM192 208l39.5146 39.5146c4.68652 4.68652 12.2842 4.68652 16.9717 0l39.5137 -39.5146l103.515 103.515
|
||||
c4.68652 4.68652 12.2842 4.68652 16.9717 0l71.5137 -71.5146v-80h-288v48z" />
|
||||
<glyph glyph-name="clipboard" unicode="" horiz-adv-x="384"
|
||||
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
|
||||
s-10.7002 24 -24 24zM336 -10v340c0 3.2998 -2.7002 6 -6 6h-42v-36c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v36h-42c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h276c3.2998 0 6 2.7002 6 6z" />
|
||||
<glyph glyph-name="arrow-alt-circle-down" unicode=""
|
||||
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM224 308c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-116
|
||||
h67c10.7002 0 16.0996 -12.9004 8.5 -20.5l-99 -99c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-99 99c-7.5 7.59961 -2.2002 20.5 8.5 20.5h67v116z" />
|
||||
<glyph glyph-name="arrow-alt-circle-left" unicode=""
|
||||
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM456 192c0 110.5 -89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200zM384 212v-40c0 -6.59961 -5.40039 -12 -12 -12h-116v-67
|
||||
c0 -10.7002 -12.9004 -16 -20.5 -8.5l-99 99c-4.7002 4.7002 -4.7002 12.2998 0 17l99 99c7.59961 7.59961 20.5 2.2002 20.5 -8.5v-67h116c6.59961 0 12 -5.40039 12 -12z" />
|
||||
<glyph glyph-name="arrow-alt-circle-right" unicode=""
|
||||
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM128 172v40c0 6.59961 5.40039 12 12 12h116v67
|
||||
c0 10.7002 12.9004 16 20.5 8.5l99 -99c4.7002 -4.7002 4.7002 -12.2998 0 -17l-99 -99c-7.59961 -7.59961 -20.5 -2.2002 -20.5 8.5v67h-116c-6.59961 0 -12 5.40039 -12 12z" />
|
||||
<glyph glyph-name="arrow-alt-circle-up" unicode=""
|
||||
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM256 392c-110.5 0 -200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200zM276 64h-40c-6.59961 0 -12 5.40039 -12 12v116h-67
|
||||
c-10.7002 0 -16 12.9004 -8.5 20.5l99 99c4.7002 4.7002 12.2998 4.7002 17 0l99 -99c7.59961 -7.59961 2.2002 -20.5 -8.5 -20.5h-67v-116c0 -6.59961 -5.40039 -12 -12 -12z" />
|
||||
<glyph glyph-name="gem" unicode="" horiz-adv-x="576"
|
||||
d="M464 448c4.09961 0 7.7998 -2 10.0996 -5.40039l99.9004 -147.199c2.90039 -4.40039 2.59961 -10.1006 -0.700195 -14.2002l-276 -340.8c-4.7998 -5.90039 -13.7998 -5.90039 -18.5996 0l-276 340.8c-3.2998 4 -3.60059 9.7998 -0.700195 14.2002l100 147.199
|
||||
c2.2002 3.40039 6 5.40039 10 5.40039h352zM444.7 400h-56.7998l51.6992 -96h68.4004zM242.6 400l-51.5996 -96h194l-51.7002 96h-90.7002zM131.3 400l-63.2998 -96h68.4004l51.6992 96h-56.7998zM88.2998 256l119.7 -160l-68.2998 160h-51.4004zM191.2 256l96.7998 -243.3
|
||||
l96.7998 243.3h-193.6zM368 96l119.6 160h-51.3994z" />
|
||||
<glyph glyph-name="money-bill-alt" unicode="" horiz-adv-x="640"
|
||||
d="M320 304c53.0195 0 96 -50.1396 96 -112c0 -61.8701 -43 -112 -96 -112c-53.0195 0 -96 50.1504 -96 112c0 61.8604 42.9805 112 96 112zM360 136v16c0 4.41992 -3.58008 8 -8 8h-16v88c0 4.41992 -3.58008 8 -8 8h-13.5801
|
||||
c-4.91113 0 -9.50586 -1.49316 -13.3096 -4.03027l-15.3301 -10.2197c-2.15332 -1.43262 -3.55957 -3.88379 -3.55957 -6.66113c0 -1.6377 0.493164 -3.16113 1.33887 -4.42871l8.88086 -13.3105c1.43164 -2.15234 3.88379 -3.55957 6.66113 -3.55957
|
||||
c1.6377 0 3.16016 0.494141 4.42871 1.33984l0.469727 0.310547v-55.4404h-16c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h64c4.41992 0 8 3.58008 8 8zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576
|
||||
c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM592 112v160c-35.3496 0 -64 28.6504 -64 64h-416c0 -35.3496 -28.6504 -64 -64 -64v-160c35.3496 0 64 -28.6504 64 -64h416c0 35.3496 28.6504 64 64 64z" />
|
||||
<glyph glyph-name="window-close" unicode=""
|
||||
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v340c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z
|
||||
M356.5 253.4l-61.4004 -61.4004l61.4004 -61.4004c4.59961 -4.59961 4.59961 -12.0996 0 -16.7998l-22.2998 -22.2998c-4.60059 -4.59961 -12.1006 -4.59961 -16.7998 0l-61.4004 61.4004l-61.4004 -61.4004c-4.59961 -4.59961 -12.0996 -4.59961 -16.7998 0
|
||||
l-22.2998 22.2998c-4.59961 4.60059 -4.59961 12.1006 0 16.7998l61.4004 61.4004l-61.4004 61.4004c-4.59961 4.59961 -4.59961 12.0996 0 16.7998l22.2998 22.2998c4.60059 4.59961 12.1006 4.59961 16.7998 0l61.4004 -61.4004l61.4004 61.4004
|
||||
c4.59961 4.59961 12.0996 4.59961 16.7998 0l22.2998 -22.2998c4.7002 -4.60059 4.7002 -12.1006 0 -16.7998z" />
|
||||
<glyph glyph-name="comment-dots" unicode=""
|
||||
d="M144 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM256 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM368 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
|
||||
s-32 14.2998 -32 32s14.2998 32 32 32zM256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5
|
||||
c-3.80078 8.7998 -2 19 4.59961 26c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160
|
||||
c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
|
||||
<glyph glyph-name="smile-wink" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM365.8 138.4c10.2002 -8.5 11.6006 -23.6006 3.10059 -33.8008
|
||||
c-30 -36 -74.1006 -56.5996 -120.9 -56.5996s-90.9004 20.5996 -120.9 56.5996c-8.39941 10.2002 -7.09961 25.3008 3.10059 33.8008c10.0996 8.39941 25.2998 7.09961 33.7998 -3.10059c20.7998 -25.0996 51.5 -39.3994 84 -39.3994s63.2002 14.3994 84 39.3994
|
||||
c8.5 10.2002 23.5996 11.6006 33.7998 3.10059zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 268c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008l-9.5 8.5
|
||||
c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996z" />
|
||||
<glyph glyph-name="angry" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 136c33.5996 0 65.2002 -14.7998 86.7998 -40.5996
|
||||
c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008c-10.6006 -8.89941 -25.7002 -6.69922 -33.7998 3c-24.8008 29.7002 -75 29.7002 -99.8008 0c-8.5 -10.1992 -23.5996 -11.5 -33.7998 -3s-11.5996 23.6006 -3.09961 33.8008
|
||||
c21.5996 25.7998 53.2002 40.5996 86.7998 40.5996zM200 208c0 -17.7002 -14.2998 -32.0996 -32 -32.0996s-32 14.2998 -32 32c0 6.19922 2.2002 11.6992 5.2998 16.5996l-28.2002 8.5c-12.6992 3.7998 -19.8994 17.2002 -16.0996 29.9004
|
||||
c3.7998 12.6992 17.0996 20 29.9004 16.0996l80 -24c12.6992 -3.7998 19.8994 -17.2002 16.0996 -29.9004c-3.09961 -10.3994 -12.7002 -17.0996 -23 -17.0996zM399 262.9c3.7998 -12.7002 -3.40039 -26.1006 -16.0996 -29.8008l-28.2002 -8.5
|
||||
c3.09961 -4.89941 5.2998 -10.3994 5.2998 -16.5996c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c-10.2998 0 -19.9004 6.7002 -23 17.0996c-3.7998 12.7002 3.40039 26.1006 16.0996 29.9004l80 24c12.8008 3.7998 26.1006 -3.40039 29.9004 -16.0996z" />
|
||||
<glyph glyph-name="dizzy" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM214.2 209.9
|
||||
c-7.90039 -7.90039 -20.5 -7.90039 -28.4004 -0.200195l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998
|
||||
c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.9004c7.7998 7.7998 20.5 7.7998 28.2998 0s7.7998 -20.5 0 -28.2998l-17.9004 -17.9004l17.9004 -17.7998c7.7998 -7.7998 7.7998 -20.5 0 -28.2998zM374.2 302.1
|
||||
c7.7002 -7.7998 7.7002 -20.3994 0 -28.1992l-17.9004 -17.9004l17.7998 -18c7.80078 -7.7998 7.80078 -20.5 0 -28.2998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0
|
||||
c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.7998c7.7998 7.80078 20.5 7.80078 28.2998 0zM248 176
|
||||
c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64z" />
|
||||
<glyph glyph-name="flushed" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM344 304c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80
|
||||
s-80 35.7998 -80 80s35.7998 80 80 80zM344 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM232 224c0 -44.2002 -35.7998 -80 -80 -80
|
||||
s-80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80zM152 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM312 104
|
||||
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
|
||||
<glyph glyph-name="frown-open" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32
|
||||
s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 160c35.5996 0 88.7998 -21.2998 95.7998 -61.2002c2 -11.7998 -9.09961 -21.5996 -20.5 -18.0996
|
||||
c-31.2002 9.59961 -59.3994 15.2998 -75.2998 15.2998s-44.0996 -5.7002 -75.2998 -15.2998c-11.5 -3.40039 -22.5 6.2998 -20.5 18.0996c7 39.9004 60.2002 61.2002 95.7998 61.2002z" />
|
||||
<glyph glyph-name="grimace" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM344 192c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-192c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48
|
||||
h192zM176 96v24h-40v-8c0 -8.7998 7.2002 -16 16 -16h24zM176 136v24h-24c-8.7998 0 -16 -7.2002 -16 -16v-8h40zM240 96v24h-48v-24h48zM240 136v24h-48v-24h48zM304 96v24h-48v-24h48zM304 136v24h-48v-24h48zM360 112v8h-40v-24h24c8.7998 0 16 7.2002 16 16zM360 136v8
|
||||
c0 8.7998 -7.2002 16 -16 16h-24v-24h40z" />
|
||||
<glyph glyph-name="grin" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
|
||||
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
|
||||
<glyph glyph-name="grin-alt" unicode="" horiz-adv-x="496"
|
||||
d="M200.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56
|
||||
c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM328.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0
|
||||
c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200
|
||||
s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006
|
||||
s79.7002 4.7998 105.6 13.1006z" />
|
||||
<glyph glyph-name="grin-beam" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
|
||||
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM117.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
|
||||
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996
|
||||
l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002zM277.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998
|
||||
c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002z" />
|
||||
<glyph glyph-name="grin-beam-sweat" unicode="" horiz-adv-x="496"
|
||||
d="M440 288c-29.5 0 -53.2998 26.2998 -53.2998 58.7002c0 25 31.7002 75.5 46.2002 97.2998c3.5 5.2998 10.5996 5.2998 14.1992 0c14.5 -21.7998 46.2002 -72.2998 46.2002 -97.2998c0 -32.4004 -23.7998 -58.7002 -53.2998 -58.7002zM248 48
|
||||
c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM378.3 216.3
|
||||
c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
|
||||
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM483.6 269.2c8 -24.2998 12.4004 -50.2002 12.4004 -77.2002c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248
|
||||
c45.7002 0 88.4004 -12.5996 125.2 -34.2002c-10.9004 -21.5996 -15.5 -36.2002 -17.2002 -45.7002c-31.2002 20.1006 -68.2002 31.9004 -108 31.9004c-110.3 0 -200 -89.7002 -200 -200s89.7002 -200 200 -200s200 89.7002 200 200
|
||||
c0 22.5 -3.90039 44.0996 -10.7998 64.2998c0.399414 0 21.7998 -2.7998 46.3994 12.9004zM168 258.6c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
|
||||
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
|
||||
<glyph glyph-name="grin-hearts" unicode="" horiz-adv-x="496"
|
||||
d="M353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM200.8 192.3
|
||||
l-70.2002 18.1006c-20.3994 5.2998 -31.8994 27 -24.1992 47.1992c6.69922 17.7002 26.6992 26.7002 44.8994 22l7.10059 -1.89941l2 7.09961c5.09961 18.1006 22.8994 30.9004 41.5 27.9004c21.3994 -3.40039 34.3994 -24.2002 28.7998 -44.5l-19.4004 -69.9004
|
||||
c-1.2998 -4.5 -6 -7.2002 -10.5 -6zM389.6 257.6c7.7002 -20.1992 -3.7998 -41.7998 -24.1992 -47.0996l-70.2002 -18.2002c-4.60059 -1.2002 -9.2998 1.5 -10.5 6l-19.4004 69.9004c-5.59961 20.2998 7.40039 41.0996 28.7998 44.5c18.7002 3 36.5 -9.7998 41.5 -27.9004
|
||||
l2 -7.09961l7.10059 1.89941c18.2002 4.7002 38.2002 -4.39941 44.8994 -22zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200
|
||||
s89.7002 -200 200 -200z" />
|
||||
<glyph glyph-name="grin-squint" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
|
||||
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM118.9 184.2c-3.80078 4.39941 -3.90039 11 -0.100586 15.5l33.6006 40.2998
|
||||
l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5c3.89941 4.40039 10.1992 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5zM361.8 181.7
|
||||
l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5.10059 2.90039 11.5 1.90039 15.2998 -2.5c3.80078 -4.5 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5
|
||||
c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5z" />
|
||||
<glyph glyph-name="grin-squint-tears" unicode=""
|
||||
d="M117.1 63.9004c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998
|
||||
c16.8994 16.9004 75.0996 26.9004 100.899 30.6006zM75.9004 105.6c-19.6006 -3.89941 -35.1006 -8.09961 -47.3008 -12.1992c-39.2998 90.5996 -22.0996 199.899 52 274c48.5 48.3994 111.9 72.5996 175.4 72.5996c38.9004 0 77.7998 -9.2002 113.2 -27.4004
|
||||
c-4 -12.1992 -8.2002 -28 -12 -48.2998c-30.4004 17.9004 -65 27.7002 -101.2 27.7002c-53.4004 0 -103.6 -20.7998 -141.4 -58.5996c-61.5996 -61.5 -74.2998 -153.4 -38.6992 -227.801zM428.2 293.2c20.2998 3.89941 36.2002 8 48.5 12
|
||||
c47.8994 -93.2002 32.8994 -210.5 -45.2002 -288.601c-48.5 -48.3994 -111.9 -72.5996 -175.4 -72.5996c-33.6992 0 -67.2998 7 -98.6992 20.5996c4.19922 12.2002 8.2998 27.7002 12.1992 47.2002c26.6006 -12.7998 55.9004 -19.7998 86.4004 -19.7998
|
||||
c53.4004 0 103.6 20.7998 141.4 58.5996c65.6992 65.7002 75.7998 166 30.7998 242.601zM394.9 320.1c-6.30078 -0.899414 -11.7002 4.5 -10.9004 10.9004c3.7002 25.7998 13.7002 84 30.5996 100.9c22 21.8994 57.9004 21.5 80.3008 -0.900391
|
||||
c22.3994 -22.4004 22.7998 -58.4004 0.899414 -80.2998c-16.8994 -16.9004 -75.0996 -26.9004 -100.899 -30.6006zM207.9 211.8c3 -3 4.19922 -7.2998 3.19922 -11.5l-22.5996 -90.5c-1.40039 -5.39941 -6.2002 -9.09961 -11.7002 -9.09961h-0.899414
|
||||
c-5.80078 0.5 -10.5 5.09961 -11 10.8994l-4.80078 52.3008l-52.2998 4.7998c-5.7998 0.5 -10.3994 5.2002 -10.8994 11c-0.400391 5.89941 3.39941 11.2002 9.09961 12.5996l90.5 22.7002c4.2002 1 8.40039 -0.200195 11.4004 -3.2002zM247.6 236.9
|
||||
c-0.0996094 0 -6.39941 -1.80078 -11.3994 3.19922c-3 3 -4.2002 7.30078 -3.2002 11.4004l22.5996 90.5c1.40039 5.7002 7 9.2002 12.6006 9.09961c5.7998 -0.5 10.5 -5.09961 11 -10.8994l4.7998 -52.2998l52.2998 -4.80078c5.7998 -0.5 10.4004 -5.19922 10.9004 -11
|
||||
c0.399414 -5.89941 -3.40039 -11.1992 -9.10059 -12.5996zM299.6 148.4c29.1006 29.0996 53 59.5996 65.3008 83.7998c4.89941 9.2998 17.5996 9.89941 23.3994 1.7002c27.7002 -38.9004 6.10059 -106.9 -30.5996 -143.7s-104.8 -58.2998 -143.7 -30.6006
|
||||
c-8.2998 5.90039 -7.5 18.6006 1.7002 23.4004c24.2002 12.5 54.7998 36.2998 83.8994 65.4004z" />
|
||||
<glyph glyph-name="grin-stars" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
|
||||
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM125.7 200.9l6.09961 34.8994l-25.3994 24.6006
|
||||
c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006l34.9004 -5c6.19922 -1 8.7998 -8.69922 4.2998 -13.1992l-25.4004 -24.6006l6 -34.8994c1 -6.2002 -5.39941 -11 -11 -7.90039
|
||||
l-31.2998 16.2998l-31.2998 -16.2998c-5.60059 -3.09961 -12 1.7002 -11 7.90039zM385.4 273.6c6.19922 -1 8.89941 -8.59961 4.39941 -13.1992l-25.3994 -24.6006l6 -34.8994c1 -6.2002 -5.40039 -11 -11 -7.90039l-31.3008 16.2998l-31.2998 -16.2998
|
||||
c-5.59961 -3.09961 -12 1.7002 -11 7.90039l6 34.8994l-25.3994 24.6006c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006z" />
|
||||
<glyph glyph-name="grin-tears" unicode="" horiz-adv-x="640"
|
||||
d="M117.1 191.9c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998c16.8994 16.9004 75.0996 26.9004 100.899 30.6006
|
||||
zM623.8 161.3c21.9004 -21.8994 21.5 -57.8994 -0.799805 -80.2002c-22.4004 -22.3994 -58.4004 -22.7998 -80.2998 -0.899414c-16.9004 16.8994 -26.9004 75.0996 -30.6006 100.899c-0.899414 6.30078 4.5 11.7002 10.8008 10.8008
|
||||
c25.7998 -3.7002 84 -13.7002 100.899 -30.6006zM497.2 99.5996c12.3994 -37.2998 25.0996 -43.7998 28.2998 -46.5c-44.5996 -65.7998 -120 -109.1 -205.5 -109.1s-160.9 43.2998 -205.5 109.1c3.09961 2.60059 15.7998 9.10059 28.2998 46.5
|
||||
c33.4004 -63.8994 100.3 -107.6 177.2 -107.6s143.8 43.7002 177.2 107.6zM122.7 223.5c-2.40039 0.299805 -5 2.5 -49.5 -6.90039c12.3994 125.4 118.1 223.4 246.8 223.4s234.4 -98 246.8 -223.5c-44.2998 9.40039 -47.3994 7.2002 -49.5 7
|
||||
c-15.2002 95.2998 -97.7998 168.5 -197.3 168.5s-182.1 -73.2002 -197.3 -168.5zM320 48c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996
|
||||
c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM450.3 216.3c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17
|
||||
c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM240 258.6
|
||||
c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
|
||||
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
|
||||
<glyph glyph-name="grin-tongue" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
|
||||
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
|
||||
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
|
||||
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32
|
||||
s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
|
||||
<glyph glyph-name="grin-tongue-squint" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
|
||||
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
|
||||
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
|
||||
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998
|
||||
l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 3 11.5 1.90039 15.2998 -2.5zM214.2 250.3
|
||||
c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5
|
||||
c3.89941 4.5 10.2998 5.5 15.2998 2.5z" />
|
||||
<glyph glyph-name="grin-tongue-wink" unicode="" horiz-adv-x="496"
|
||||
d="M152 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
|
||||
c-3.7998 -3.39941 -9.2998 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM328 320c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80s-80 35.7998 -80 80s35.7998 80 80 80zM328 192
|
||||
c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM328 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z
|
||||
M312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998
|
||||
c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3
|
||||
c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998
|
||||
c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998z" />
|
||||
<glyph glyph-name="grin-wink" unicode="" horiz-adv-x="496"
|
||||
d="M328 268c25.6904 0 55.8799 -16.9199 59.8701 -42.1201c1.72949 -11.0898 -11.3506 -18.2695 -19.8301 -10.8398l-9.5498 8.47949c-14.8105 13.1904 -46.1602 13.1904 -60.9707 0l-9.5498 -8.47949c-8.33008 -7.40039 -21.5801 -0.379883 -19.8301 10.8398
|
||||
c3.98047 25.2002 34.1699 42.1201 59.8604 42.1201zM168 208c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32s-14.3301 -32 -32 -32zM353.55 143.36c10.04 3.13965 19.3906 -5.4502 17.71 -15.3408
|
||||
c-7.92969 -47.1494 -71.3193 -80.0195 -123.26 -80.0195s-115.33 32.8701 -123.26 80.0195c-1.69043 9.9707 7.76953 18.4707 17.71 15.3408c25.9297 -8.31055 64.3994 -13.0605 105.55 -13.0605s79.6201 4.75977 105.55 13.0605zM248 440c136.97 0 248 -111.03 248 -248
|
||||
s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
|
||||
<glyph glyph-name="kiss" unicode="" horiz-adv-x="496"
|
||||
d="M168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
|
||||
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
|
||||
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM248 440c137 0 248 -111 248 -248
|
||||
s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z
|
||||
" />
|
||||
<glyph glyph-name="kiss-beam" unicode="" horiz-adv-x="496"
|
||||
d="M168 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
|
||||
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
|
||||
c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
|
||||
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
|
||||
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296
|
||||
c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
|
||||
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
|
||||
<glyph glyph-name="kiss-wink-heart" unicode="" horiz-adv-x="504"
|
||||
d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002
|
||||
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002
|
||||
c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994
|
||||
c3.89941 25.2002 34.2002 42.1006 59.7998 42.1006s55.7998 -16.9004 59.7998 -42.1006c0.799805 -5 -1.7002 -10 -6.09961 -12.3994c-4.40039 -2.40039 -9.90039 -1.7002 -13.7002 1.59961zM136 239.5c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32
|
||||
s-32 14.2998 -32 32zM501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941
|
||||
l8.40039 2.2002c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM334 11.7002c17.7002 -64 10.9004 -39.5 13.4004 -46.7998c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 247.9 -248
|
||||
c0 -31.7998 -6.2002 -62.0996 -17.1006 -90c-6 1.5 -12.2002 2.7998 -18.5996 2.90039c-5.60059 9.69922 -13.6006 17.5 -22.6006 23.8994c6.7002 19.9004 10.4004 41.1006 10.4004 63.2002c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200
|
||||
c30.7998 0 59.9004 7.2002 86 19.7002z" />
|
||||
<glyph glyph-name="laugh" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
|
||||
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM168 224
|
||||
c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
|
||||
<glyph glyph-name="laugh-beam" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
|
||||
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.700195 -8.5 -10.7998 -11.8994 -14.8994 -4.5
|
||||
l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006c-12.3008 0 -23.8008 -7.90039 -31.5 -21.6006l-9.5 -17c-4.10059 -7.39941 -15.6006 -4.09961 -14.9004 4.5c3.2998 42.1006 32.2002 71.4004 56 71.4004zM127 220.1c-4.2002 -7.39941 -15.7002 -4 -15.0996 4.5
|
||||
c3.2998 42.1006 32.1992 71.4004 56 71.4004c23.7998 0 52.6992 -29.2998 56 -71.4004c0.699219 -8.5 -10.8008 -11.8994 -14.9004 -4.5l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006s-23.7998 -7.90039 -31.5 -21.6006zM362.4 160c8.19922 0 14.5 -7 13.5 -15
|
||||
c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
|
||||
<glyph glyph-name="laugh-squint" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
|
||||
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM343.6 252l33.6006 -40.2998c8.59961 -10.4004 -3.90039 -24.7998 -15.4004 -18l-80 48
|
||||
c-7.7998 4.7002 -7.7998 15.8994 0 20.5996l80 48c11.6006 6.7998 24 -7.7002 15.4004 -18zM134.2 193.7c-11.6006 -6.7998 -24.1006 7.59961 -15.4004 18l33.6006 40.2998l-33.6006 40.2998c-8.59961 10.2998 3.7998 24.9004 15.4004 18l80 -48
|
||||
c7.7998 -4.7002 7.7998 -15.8994 0 -20.5996zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
|
||||
<glyph glyph-name="laugh-wink" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
|
||||
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 284c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008
|
||||
l-9.5 8.5c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996zM168 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z
|
||||
M362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
|
||||
<glyph glyph-name="meh-blank" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
|
||||
s-32 14.2998 -32 32s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
|
||||
<glyph glyph-name="meh-rolling-eyes" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM336 296c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
|
||||
s-72 32.2002 -72 72s32.2002 72 72 72zM336 184c22.0996 0 40 17.9004 40 40c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998
|
||||
c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998c0 -22.0996 17.9004 -40 40 -40zM232 224c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM120 224c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40
|
||||
c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998zM312 96
|
||||
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
|
||||
<glyph glyph-name="sad-cry" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM392 53.5996c34.5996 35.9004 56 84.7002 56 138.4c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -53.7002 21.4004 -102.4 56 -138.4v114.4
|
||||
c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-151.4c28.5 -15.5996 61.2002 -24.5996 96 -24.5996s67.5 9 96 24.5996v151.4c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-114.4zM205.8 213.5c-5.7998 -3.2002 -11.2002 -0.700195 -13.7002 1.59961l-9.5 8.5
|
||||
c-14.7998 13.2002 -46.1992 13.2002 -61 0l-9.5 -8.5c-3.7998 -3.39941 -9.2998 -4 -13.6992 -1.59961c-4.40039 2.40039 -6.90039 7.40039 -6.10059 12.4004c3.90039 25.1992 34.2002 42.0996 59.7998 42.0996c25.6006 0 55.8008 -16.9004 59.8008 -42.0996
|
||||
c0.799805 -5 -1.7002 -10 -6.10059 -12.4004zM344 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
|
||||
c-3.7998 -3.39941 -9.2002 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM248 176c30.9004 0 56 -28.7002 56 -64s-25.0996 -64 -56 -64s-56 28.7002 -56 64s25.0996 64 56 64z" />
|
||||
<glyph glyph-name="sad-tear" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM256 144c38.0996 0 74 -16.7998 98.5 -46.0996
|
||||
c8.5 -10.2002 7.09961 -25.3008 -3.09961 -33.8008c-10.6006 -8.7998 -25.7002 -6.69922 -33.8008 3.10059c-15.2998 18.2998 -37.7998 28.7998 -61.5996 28.7998c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
|
||||
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM162.4 173.2c2.7998 3.7002 8.39941 3.7002 11.1992 0c11.4004 -15.2998 36.4004 -50.6006 36.4004 -68.1006
|
||||
c0 -22.6992 -18.7998 -41.0996 -42 -41.0996s-42 18.4004 -42 41.0996c0 17.5 25 52.8008 36.4004 68.1006z" />
|
||||
<glyph glyph-name="smile-beam" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM332 135.4c8.5 10.1992 23.5996 11.5 33.7998 3.09961
|
||||
c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.2002 8.40039 25.2998 7.09961 33.7998 -3.09961
|
||||
c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004zM136.5 237l-9.5 -17c-1.90039 -3.2002 -5.90039 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
|
||||
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996zM328 296c23.7998 0 52.7002 -29.2998 56 -71.4004
|
||||
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002
|
||||
c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
|
||||
<glyph glyph-name="surprise" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 168c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64
|
||||
s-64 28.7002 -64 64s28.7002 64 64 64zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
|
||||
<glyph glyph-name="tired" unicode="" horiz-adv-x="496"
|
||||
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5
|
||||
l-33.6006 -40.2998l33.6006 -40.2998c3.7998 -4.5 3.7002 -11 -0.100586 -15.5c-3.5 -4.10059 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 2.90039 11.5 1.90039 15.2998 -2.5z
|
||||
M220 240c0 -4.2002 -2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7998 -1.60059 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7998 4.5 -3.7002 11 0.100586 15.5
|
||||
c3.7998 4.40039 10.2998 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998zM248 176c45.4004 0 100.9 -38.2998 107.8 -93.2998c1.5 -11.9004 -7 -21.6006 -15.5 -17.9004c-22.7002 9.7002 -56.2998 15.2002 -92.2998 15.2002
|
||||
s-69.5996 -5.5 -92.2998 -15.2002c-8.60059 -3.7002 -17 6.10059 -15.5 17.9004c6.89941 55 62.3994 93.2998 107.8 93.2998z" />
|
||||
</font>
|
||||
</defs></svg>
|
После Ширина: | Высота: | Размер: 141 KiB |
После Ширина: | Высота: | Размер: 898 KiB |
|
@ -0,0 +1,312 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<font id="hermes-dashboard-icons" horiz-adv-x="256">
|
||||
<font-face font-family="hermes-dashboard-icons"
|
||||
units-per-em="256" ascent="256"
|
||||
descent="0" />
|
||||
<missing-glyph horiz-adv-x="0" />
|
||||
<glyph glyph-name="active-40"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M193.36128 154.90432L106.6666666666667 170.6666666666667V222.8587733333333C106.6666666666667 233.48576 99.4055466666667 243.33472 88.9166933333333 245.0417066666667C75.5508266666667 247.2154666666667 64 236.9576533333334 64 224V106.6666666666667H53.3333333333333V138.6666666666667H42.6666666666667C30.8848 138.6666666666667 21.3333333333333 129.11584 21.3333333333333 117.3333333333334V86.44992C21.3333333333333 71.9173333333334 26.2792533333333 57.8170666666667 35.35808 46.4688L64 10.6666666666667H202.6666666666667L219.26496 118.5546666666667C221.9003733333333 135.6868266666667 210.416 151.8034133333334 193.36128 154.90432z" />
|
||||
<glyph glyph-name="air-baloon"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M149.3333333333333 42.6666666666667H106.6666666666667C100.768 42.6666666666667 96 37.888 96 32V10.6666666666667C96 4.7786666666667 100.768 0 106.6666666666667 0H149.3333333333333C155.232 0 160 4.7786666666667 160 10.6666666666667V32C160 37.888 155.232 42.6666666666667 149.3333333333333 42.6666666666667z M128.736 255.9573333333334C128.6613333333333 255.9573333333334 128.5866666666667 255.968 128.512 255.968C128.3413333333333 255.9786666666667 128.1706666666667 256 128 256C127.84 256 127.68 255.9786666666667 127.5093333333333 255.9786666666667C127.4133333333333 255.9786666666667 127.3386666666667 255.968 127.2426666666667 255.968C80.544 255.552 42.6666666666667 217.4613333333333 42.6666666666667 170.6666666666667C42.6666666666667 138.6773333333333 82.4853333333333 75.936 87.0293333333333 68.8853333333333C89.0026666666667 65.8453333333333 92.3733333333333 64 96 64H106.6346666666667C106.6453333333333 64 106.656 64 106.6666666666667 64C106.6773333333333 64 106.688 64 106.6986666666667 64H160C163.6266666666667 64 166.9973333333333 65.8453333333333 168.9706666666667 68.8853333333333C173.5146666666667 75.936 213.3333333333333 138.6773333333333 213.3333333333333 170.6666666666667C213.3333333333333 217.472 175.4453333333334 255.5626666666667 128.736 255.9573333333334z" />
|
||||
<glyph glyph-name="album-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 234.6666666666667H192V256H170.6666666666667V234.6666666666667H138.6666666666667V256H117.3333333333333V234.6666666666667H85.3333333333333V256H64V234.6666666666667H10.6666666666667C4.7786666666667 234.6666666666667 0 229.8986666666667 0 224V10.6666666666667C0 4.768 4.7786666666667 0 10.6666666666667 0H245.3333333333333C251.2213333333333 0 256 4.768 256 10.6666666666667V224C256 229.8986666666667 251.2213333333333 234.6666666666667 245.3333333333333 234.6666666666667zM234.6666666666667 21.3333333333333H21.3333333333333V213.3333333333334H64V192H85.3333333333333V213.3333333333334H117.3333333333333V192H138.6666666666667V213.3333333333334H170.6666666666667V192H192V213.3333333333334H234.6666666666667V21.3333333333333z M158.3786666666667 144.32C156.7146666666667 146.9866666666667 153.952 148.7786666666667 150.848 149.2266666666667C147.744 149.6853333333334 144.5973333333334 148.7253333333333 142.24 146.6453333333333L46.24 61.312C42.9333333333333 58.368 41.792 53.6853333333333 43.36 49.5466666666667S48.9066666666667 42.6666666666667 53.3333333333333 42.6666666666667H202.6666666666666C206.5493333333333 42.6666666666667 210.112 44.768 212 48.16S213.7706666666667 55.7013333333334 211.7226666666667 58.9866666666667L158.3786666666667 144.32z M53.3333333333333 144C53.3333333333333 135.1634440027073 60.4967773360406 128 69.3333333333333 128C78.169889330626 128 85.3333333333333 135.1634440027073 85.3333333333333 144C85.3333333333333 152.8365559972927 78.169889330626 160 69.3333333333333 160C60.4967773360406 160 53.3333333333333 152.8365559972927 53.3333333333333 144z" />
|
||||
<glyph glyph-name="align-center"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 213.3333333333334H10.6666666666667C4.776 213.3333333333334 0 218.1093333333333 0 224S4.776 234.6666666666667 10.6666666666667 234.6666666666667H245.3333333333333C251.224 234.6666666666667 256 229.8906666666667 256 224S251.224 213.3333333333334 245.3333333333333 213.3333333333334z M192 149.3333333333334H64C58.1093333333333 149.3333333333334 53.3333333333333 154.1093333333333 53.3333333333333 160S58.1093333333333 170.6666666666667 64 170.6666666666667H192C197.8906666666667 170.6666666666667 202.6666666666667 165.8906666666667 202.6666666666667 160S197.8906666666667 149.3333333333334 192 149.3333333333334z M245.3333333333333 85.3333333333333H10.6666666666667C4.776 85.3333333333333 0 90.1093333333334 0 96S4.776 106.6666666666667 10.6666666666667 106.6666666666667H245.3333333333333C251.224 106.6666666666667 256 101.8906666666667 256 96S251.224 85.3333333333333 245.3333333333333 85.3333333333333z M192 21.3333333333333H64C58.1093333333333 21.3333333333333 53.3333333333333 26.1093333333334 53.3333333333333 32S58.1093333333333 42.6666666666667 64 42.6666666666667H192C197.8906666666667 42.6666666666667 202.6666666666667 37.8906666666666 202.6666666666667 32S197.8906666666667 21.3333333333333 192 21.3333333333333z" />
|
||||
<glyph glyph-name="align-left-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 213.3333333333334H10.6666666666667C4.776 213.3333333333334 0 218.1093333333333 0 224S4.776 234.6666666666667 10.6666666666667 234.6666666666667H245.3333333333333C251.224 234.6666666666667 256 229.8906666666667 256 224S251.224 213.3333333333334 245.3333333333333 213.3333333333334z M138.6666666666667 149.3333333333334H10.6666666666667C4.776 149.3333333333334 0 154.1093333333333 0 160S4.776 170.6666666666667 10.6666666666667 170.6666666666667H138.6666666666667C144.5573333333333 170.6666666666667 149.3333333333333 165.8906666666667 149.3333333333333 160S144.5573333333333 149.3333333333334 138.6666666666667 149.3333333333334z M245.3333333333333 85.3333333333333H10.6666666666667C4.776 85.3333333333333 0 90.1093333333334 0 96S4.776 106.6666666666667 10.6666666666667 106.6666666666667H245.3333333333333C251.224 106.6666666666667 256 101.8906666666667 256 96S251.224 85.3333333333333 245.3333333333333 85.3333333333333z M138.6666666666667 21.3333333333333H10.6666666666667C4.776 21.3333333333333 0 26.1093333333334 0 32S4.776 42.6666666666667 10.6666666666667 42.6666666666667H138.6666666666667C144.5573333333333 42.6666666666667 149.3333333333333 37.8906666666666 149.3333333333333 32S144.5573333333333 21.3333333333333 138.6666666666667 21.3333333333333z" />
|
||||
<glyph glyph-name="ambulance"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M249.6 126.9333333333333L234.6666666666667 134.4V170.6666666666667C234.6666666666667 177.0666666666667 230.4 181.3333333333334 224 181.3333333333334H170.6666666666667V213.3333333333334C170.6666666666667 219.7333333333334 166.4 224 160 224H10.6666666666667C4.2666666666667 224 0 219.7333333333334 0 213.3333333333334V74.6666666666667C0 68.2666666666667 4.2666666666667 64 10.6666666666667 64H22.4C26.6666666666667 45.8666666666667 43.7333333333333 32 64 32S100.2666666666667 45.8666666666667 105.6 64H150.4C152.5333333333333 45.8666666666667 168.5333333333333 32 186.6666666666666 32S220.8 45.8666666666667 222.9333333333333 64H245.3333333333333C251.7333333333333 64 256 68.2666666666667 256 74.6666666666667V117.3333333333334C256 121.6 253.8666666666667 124.8 249.6 126.9333333333333zM64 53.3333333333333C52.2666666666667 53.3333333333333 42.6666666666667 62.9333333333333 42.6666666666667 74.6666666666667C42.6666666666667 86.4 52.2666666666667 96 64 96S85.3333333333333 86.4 85.3333333333333 74.6666666666667C85.3333333333333 62.9333333333333 75.7333333333333 53.3333333333333 64 53.3333333333333zM117.3333333333333 149.3333333333334H96V128H74.6666666666667V149.3333333333334H53.3333333333333V170.6666666666667H74.6666666666667V192H96V170.6666666666667H117.3333333333333V149.3333333333334zM186.6666666666667 53.3333333333333C178.1333333333333 53.3333333333333 170.6666666666667 60.8 170.6666666666667 69.3333333333333S178.1333333333333 85.3333333333333 186.6666666666667 85.3333333333333S202.6666666666667 77.8666666666667 202.6666666666667 69.3333333333333S195.2 53.3333333333333 186.6666666666667 53.3333333333333zM213.3333333333333 144C213.3333333333333 140.8 211.2 138.6666666666667 208 138.6666666666667H186.6666666666666C183.4666666666667 138.6666666666667 181.3333333333333 140.8 181.3333333333333 144V154.6666666666667C181.3333333333333 157.8666666666667 183.4666666666667 160 186.6666666666667 160H208C211.2 160 213.3333333333333 157.8666666666667 213.3333333333333 154.6666666666667V144z" />
|
||||
<glyph glyph-name="app"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 161.0666666666667L222.9333333333333 203.7333333333333L132.2666666666667 244.2666666666667C129.0666666666667 245.3333333333333 125.8666666666667 245.3333333333333 123.7333333333334 244.2666666666667L33.0666666666667 203.7333333333334L128 161.0666666666667z M138.6666666666667 142.9333333333333V14.9333333333333L228.2666666666667 54.4C232.5333333333334 56.5333333333333 234.6666666666667 59.7333333333334 234.6666666666667 64V185.6L138.6666666666667 142.9333333333333z M117.3333333333333 142.9333333333333L21.3333333333333 185.6V64C21.3333333333333 59.7333333333333 23.4666666666667 55.4666666666667 27.7333333333333 54.4L117.3333333333333 14.9333333333333V142.9333333333333z" />
|
||||
<glyph glyph-name="archive-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M224 170.6666666666667H32C26.112 170.6666666666667 21.3333333333333 165.8986666666667 21.3333333333333 160V10.6666666666667C21.3333333333333 4.768 26.112 0 32 0H224C229.888 0 234.6666666666667 4.768 234.6666666666667 10.6666666666667V160C234.6666666666667 165.8986666666667 229.888 170.6666666666667 224 170.6666666666667zM181.3333333333333 96C181.3333333333333 90.1013333333333 176.5546666666667 85.3333333333333 170.6666666666667 85.3333333333333H85.3333333333333C79.4453333333333 85.3333333333333 74.6666666666667 90.1013333333333 74.6666666666667 96V128H96V106.6666666666667H160V128H181.3333333333334V96z M42.6666666666667 213.3333333333334H213.3333333333333V192H42.6666666666667V213.3333333333333z M74.6666666666667 256H181.3333333333333V234.6666666666667H74.6666666666667V256z" />
|
||||
<glyph glyph-name="atom"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M235.7973333333334 197.0133333333333C229.6106666666667 206.6666666666667 214.784 216.5013333333333 179.264 208.5546666666667C176.5546666666667 207.9466666666667 173.7706666666667 207.2213333333334 170.9546666666667 206.432C162.1226666666667 235.6053333333334 147.7013333333333 256 128 256C109.8026666666667 256 94.7946666666667 238.3786666666667 85.0986666666667 206.336C57.1413333333333 214.208 31.2426666666667 214.272 20.2133333333333 197.0133333333333C14.0266666666667 187.3493333333333 11.2853333333333 169.76 33.3866666666667 140.8426666666667C36.64 136.5866666666667 40.352 132.2986666666667 44.3413333333333 128C40.352 123.7013333333334 36.64 119.4133333333333 33.3866666666667 115.1466666666667C11.2853333333333 86.2293333333333 14.0266666666667 68.64 20.2133333333333 58.976C26.3786666666667 49.344 37.7173333333333 44.4906666666667 53.312 44.4906666666667C62.4746666666667 44.4906666666667 73.1413333333333 46.208 85.0666666666667 49.568C93.472 21.6533333333334 107.3813333333333 0 128 0C147.7013333333334 0 162.1226666666667 20.3946666666667 170.9653333333333 49.5786666666667C173.7813333333333 48.7893333333333 176.5546666666667 48.064 179.2746666666667 47.456C199.4133333333333 42.944 224.7253333333333 41.6533333333333 235.7973333333333 58.9973333333333C246.3893333333333 75.5306666666667 237.5786666666667 99.7546666666667 211.4133333333333 127.712C233.8666666666667 151.6693333333333 247.9893333333333 177.9733333333333 235.7973333333334 197.0133333333333zM217.8346666666667 185.5146666666667C222.5386666666667 178.1653333333333 211.5093333333333 155.008 181.3333333333333 128.192C181.3226666666666 147.9466666666667 179.5413333333333 167.7653333333333 176.0426666666667 185.696C185.952 188.5226666666667 212.2986666666666 194.144 217.8346666666667 185.5146666666667zM74.8586666666667 128C97.76 148.288 127.392 166.9546666666667 155.6053333333333 178.528C161.2906666666667 147.6586666666667 161.632 110.2293333333333 155.6053333333333 77.472C127.4133333333333 89.0346666666667 97.7813333333333 107.7013333333333 74.8586666666667 128zM128 234.6666666666667C134.9973333333333 234.6666666666667 143.9573333333334 221.76 150.6133333333334 199.5413333333334C143.2213333333333 196.6186666666667 135.6373333333333 193.1626666666667 128 189.312C120.672 192.992 113.024 196.4373333333334 105.28 199.4773333333334C112.9173333333333 224.992 122.752 234.6666666666667 128 234.6666666666667zM38.176 185.5146666666667C42.7626666666667 192.704 68.3306666666667 192.5226666666667 105.12 176.5226666666667C88.3626666666667 166.272 73.504 155.392 59.584 142.9226666666667C51.6693333333333 151.52 32 175.8933333333334 38.176 185.5146666666667zM38.1653333333333 70.4853333333334C32.0106666666667 80.1066666666667 51.648 104.4586666666667 59.584 113.0773333333334C64.704 108.4906666666667 70.1653333333333 103.968 75.9146666666667 99.5413333333333C76.768 89.8666666666667 78.1013333333333 80 79.9893333333333 70.368C54.3893333333333 63.04 40.992 66.1013333333333 38.1653333333333 70.4853333333334zM128 21.3333333333333C119.2746666666667 21.3333333333333 105.696 43.1146666666667 99.392 82.9973333333333C116.5013333333333 72.0533333333333 134.0053333333334 63.0186666666667 150.6133333333333 56.4586666666667C143.9573333333334 34.24 134.9973333333333 21.3333333333333 128 21.3333333333333zM217.824 70.4853333333334C212.32 61.824 185.92 67.488 176.0426666666667 70.2933333333334C177.856 79.6053333333334 179.1573333333333 89.44 180.0426666666667 99.488C185.504 103.7013333333334 190.9226666666667 108.1706666666667 196.1493333333333 112.8533333333334C217.1093333333333 90.3253333333333 220.9386666666667 75.3386666666667 217.824 70.4853333333334z M117.3333333333333 128C117.3333333333333 122.1089626684716 122.1089626684715 117.3333333333334 128 117.3333333333334C133.8910373315285 117.3333333333334 138.6666666666667 122.1089626684716 138.6666666666667 128C138.6666666666667 133.8910373315285 133.8910373315285 138.6666666666667 128 138.6666666666667C122.1089626684715 138.6666666666667 117.3333333333333 133.8910373315285 117.3333333333333 128z" />
|
||||
<glyph glyph-name="badge"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M149.3333333333333 181.3333333333334H106.6666666666667V234.6666666666667C106.6666666666667 246.4533333333333 116.2133333333333 256 128 256H128C139.7866666666667 256 149.3333333333333 246.4533333333333 149.3333333333333 234.6666666666667V181.3333333333334z M245.3333333333333 202.6666666666667H170.6666666666667V160H85.3333333333333V202.6666666666667H10.6666666666667C4.7786666666667 202.6666666666667 0 197.888 0 192V10.6666666666667C0 4.7786666666667 4.7786666666667 0 10.6666666666667 0H245.3333333333333C251.2213333333333 0 256 4.7786666666667 256 10.6666666666667V192C256 197.888 251.2213333333333 202.6666666666667 245.3333333333333 202.6666666666667zM85.3333333333333 128C97.12 128 106.6666666666667 118.4533333333333 106.6666666666667 106.6666666666667C106.6666666666667 94.88 97.12 85.3333333333333 85.3333333333333 85.3333333333333S64 94.88 64 106.6666666666667C64 118.4533333333334 73.5466666666667 128 85.3333333333333 128zM42.6666666666667 42.6666666666667C42.6666666666667 60.3413333333334 56.992 74.6666666666667 74.6666666666667 74.6666666666667H96C113.6746666666667 74.6666666666667 128 60.3413333333334 128 42.6666666666667H42.6666666666667zM213.3333333333333 53.3333333333333H149.3333333333333V74.6666666666667H213.3333333333333V53.3333333333333zM213.3333333333333 96H149.3333333333333V117.3333333333334H213.3333333333333V96z" />
|
||||
<glyph glyph-name="bag-17"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M213.3333333333333 256H42.6666666666667C24.5333333333333 256 10.6666666666667 242.1333333333334 10.6666666666667 224V10.6666666666667C10.6666666666667 4.2666666666667 14.9333333333333 0 21.3333333333333 0H234.6666666666667C241.0666666666667 0 245.3333333333333 4.2666666666667 245.3333333333333 10.6666666666667V224C245.3333333333333 242.1333333333334 231.4666666666667 256 213.3333333333333 256zM128 85.3333333333333C92.8 85.3333333333333 64 114.1333333333334 64 149.3333333333334C64 155.7333333333334 68.2666666666667 160 74.6666666666667 160S85.3333333333333 155.7333333333334 85.3333333333333 149.3333333333334C85.3333333333333 125.8666666666667 104.5333333333334 106.6666666666667 128 106.6666666666667S170.6666666666667 125.8666666666667 170.6666666666667 149.3333333333334C170.6666666666667 155.7333333333334 174.9333333333333 160 181.3333333333333 160S192 155.7333333333334 192 149.3333333333334C192 114.1333333333333 163.2 85.3333333333333 128 85.3333333333333zM213.3333333333333 213.3333333333334H42.6666666666667C36.2666666666667 213.3333333333334 32 217.6 32 224S36.2666666666667 234.6666666666667 42.6666666666667 234.6666666666667H213.3333333333333C219.7333333333333 234.6666666666667 224 230.4 224 224S219.7333333333334 213.3333333333334 213.3333333333333 213.3333333333334z" />
|
||||
<glyph glyph-name="basket"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 181.3333333333334H208.8533333333333L169.2586666666667 250.624C166.3466666666667 255.7333333333334 159.8293333333334 257.5253333333333 154.7093333333334 254.592C149.6 251.6693333333334 147.8186666666667 245.152 150.7413333333334 240.0426666666667L184.288 181.3333333333334H71.712L105.2586666666667 240.0426666666667C108.1813333333333 245.152 106.4 251.6693333333334 101.2906666666667 254.592C96.1813333333333 257.5253333333333 89.664 255.7333333333334 86.7413333333333 250.624L47.1466666666667 181.3333333333334H10.6666666666667C4.7786666666667 181.3333333333334 0 176.5653333333334 0 170.6666666666667V149.3333333333334C0 143.4346666666667 4.7786666666667 138.6666666666667 10.6666666666667 138.6666666666667H245.3333333333333C251.2213333333333 138.6666666666667 256 143.4346666666667 256 149.3333333333334V170.6666666666667C256 176.5653333333334 251.2213333333333 181.3333333333334 245.3333333333333 181.3333333333334z M234.6666666666667 117.3333333333334H21.3333333333333V10.6666666666667C21.3333333333333 4.7786666666667 26.112 0 32 0H224C229.888 0 234.6666666666667 4.7786666666667 234.6666666666667 10.6666666666667V117.3333333333334zM96 32H74.6666666666667L74.6666666666667 85.3333333333333H96L96 32zM138.6666666666667 32H117.3333333333333L117.3333333333333 85.3333333333333H138.6666666666667L138.6666666666667 32zM181.3333333333333 32H160L160 85.3333333333333H181.3333333333333L181.3333333333333 32z" />
|
||||
<glyph glyph-name="bell-55"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M202.6666666666667 138.6666666666667C202.6666666666667 155.7333333333334 202.6666666666667 170.6666666666667 202.6666666666667 170.6666666666667C202.6666666666667 212.2666666666667 169.6 245.3333333333333 128 245.3333333333333S53.3333333333333 212.2666666666667 53.3333333333333 170.6666666666667C53.3333333333333 170.6666666666667 53.3333333333333 155.7333333333334 53.3333333333333 138.6666666666667C53.3333333333333 103.4666666666667 21.3333333333333 94.9333333333333 21.3333333333333 74.6666666666667C21.3333333333333 56.5333333333334 62.9333333333333 42.6666666666667 128 42.6666666666667S234.6666666666667 56.5333333333334 234.6666666666667 74.6666666666667C234.6666666666667 94.9333333333333 202.6666666666667 103.4666666666667 202.6666666666667 138.6666666666667z M128 21.3333333333333C114.1333333333333 21.3333333333333 102.4 22.4 90.6666666666667 23.4666666666667C98.1333333333333 9.6 112 0 128 0S158.9333333333333 9.6 165.3333333333333 23.4666666666667C153.6 22.4 141.8666666666667 21.3333333333333 128 21.3333333333333z" />
|
||||
<glyph glyph-name="bold-down"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M21.3333333333333 160L64 202.6666666666667L128 138.6666666666667L192 202.6666666666667L234.6666666666667 160L128 53.3333333333333z" />
|
||||
<glyph glyph-name="bold-left"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M160 234.6666666666667L202.6666666666667 192L138.6666666666667 128L202.6666666666667 64L160 21.3333333333333L53.3333333333333 128z" />
|
||||
<glyph glyph-name="bold-right"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M96 234.6666666666667L53.3333333333333 192L117.3333333333333 128L53.3333333333333 64L96 21.3333333333333L202.6666666666667 128z" />
|
||||
<glyph glyph-name="bold-up"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M234.6666666666667 96L192 53.3333333333333L128 117.3333333333334L64 53.3333333333333L21.3333333333333 96L128 202.6666666666667z" />
|
||||
<glyph glyph-name="bold"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M32 10.6666666666667V35.9504L45.86976 40.3169066666667C50.312 41.71552 53.3333333333333 45.83424 53.3333333333333 50.4913066666667V205.2781866666667C53.3333333333333 210.0450133333334 50.17056 214.23328 45.5856 215.5377066666667L32 219.4029866666667V245.3333333333334H139.8369066666667C195.2605866666667 245.3333333333334 210.81888 220.0496 210.81888 187.9698133333333C210.81888 157.1700266666667 191.0510933333333 139.9886933333334 171.2833066666667 133.50944V132.5461333333333C208.2324266666667 128.3233066666667 224 107.0763733333334 224 74.6666666666667C224 26.6987733333334 187.8048 10.6666666666667 136.9205333333334 10.6666666666667H32zM119.0925866666667 146.7978666666667C142.42336 146.7978666666667 163.16768 152.3138133333333 163.16768 179.8673066666667C163.16768 206.4442666666667 146.3162666666667 210.0072533333333 123.9488 210.0072533333333H106.6666666666667V146.7978666666667H119.0925866666667zM128.4882133333333 45.6759466666667C155.7117866666666 45.6759466666667 173.5397333333333 52.1552 173.5397333333333 80.3553066666667C173.5397333333333 107.2621866666667 155.3950933333333 114.38816 133.3575466666666 114.38816H106.6666666666667V45.6759466666667H128.4882133333333z" />
|
||||
<glyph glyph-name="book-bookmark"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M42.6666666666667 32C42.6666666666667 37.888 47.4453333333333 42.6666666666667 53.3333333333333 42.6666666666667H213.3333333333333C225.12 42.6666666666667 234.6666666666667 52.2133333333333 234.6666666666667 64V224C234.6666666666667 241.6746666666667 220.3413333333333 256 202.6666666666667 256H128V170.6666666666667L96 192L64 170.6666666666667V256H53.3333333333333C35.6586666666667 256 21.3333333333333 241.6746666666667 21.3333333333333 224V32C21.3333333333333 14.3253333333333 35.6586666666667 0 53.3333333333333 0H224C229.888 0 234.6666666666667 4.7786666666667 234.6666666666667 10.6666666666667C234.6666666666667 16.5546666666667 229.888 21.3333333333333 224 21.3333333333333H53.3333333333333C47.4453333333333 21.3333333333333 42.6666666666667 26.112 42.6666666666667 32z" />
|
||||
<glyph glyph-name="books"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M53.3333333333333 234.6666666666667H10.6666666666667C4.7786666666667 234.6666666666667 0 229.8986666666667 0 224V32C0 26.1013333333333 4.7786666666667 21.3333333333333 10.6666666666667 21.3333333333333H53.3333333333333C59.2213333333333 21.3333333333333 64 26.1013333333333 64 32V224C64 229.8986666666667 59.2213333333333 234.6666666666667 53.3333333333333 234.6666666666667z M138.6666666666667 234.6666666666667H96C90.112 234.6666666666667 85.3333333333333 229.8986666666667 85.3333333333333 224V32C85.3333333333333 26.1013333333333 90.112 21.3333333333333 96 21.3333333333333H138.6666666666667C144.5546666666667 21.3333333333333 149.3333333333333 26.1013333333333 149.3333333333333 32V224C149.3333333333333 229.8986666666667 144.5546666666667 234.6666666666667 138.6666666666667 234.6666666666667z M255.7013333333334 44.5546666666667L210.5173333333334 231.1573333333334C209.1306666666667 236.8853333333334 203.3173333333334 240.4373333333334 197.6426666666667 239.008L156.1706666666667 228.9813333333334C153.4186666666667 228.32 151.0506666666667 226.5813333333334 149.5786666666667 224.1706666666667C148.1066666666667 221.76 147.648 218.8586666666667 148.3093333333334 216.1066666666667L193.4826666666667 29.4933333333333C194.1440000000001 26.7413333333333 195.8826666666667 24.3733333333333 198.2933333333334 22.9013333333333C200 21.8666666666667 201.92 21.3333333333333 203.8613333333333 21.3333333333333C204.704 21.3333333333333 205.5466666666667 21.44 206.368 21.632L247.84 31.6693333333333C253.568 33.0666666666667 257.088 38.8266666666667 255.7013333333334 44.5546666666667z" />
|
||||
<glyph glyph-name="box-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M167.4666666666667 202.6666666666667H249.6L188.8 253.8666666666667C186.6666666666667 254.9333333333334 183.4666666666667 256 181.3333333333333 256H147.2L167.4666666666667 202.6666666666667z M170.6666666666667 181.3333333333334V106.6666666666667H85.3333333333333V181.3333333333334H0V10.6666666666667C0 4.2666666666667 4.2666666666667 0 10.6666666666667 0H245.3333333333333C251.7333333333333 0 256 4.2666666666667 256 10.6666666666667V181.3333333333334H170.6666666666667z M88.5333333333333 202.6666666666667L108.8 256H74.6666666666667C72.5333333333333 256 69.3333333333333 254.9333333333334 68.2666666666667 253.8666666666667L6.4 202.6666666666667H88.5333333333333z" />
|
||||
<glyph glyph-name="briefcase-24"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M160 64V42.6666666666667H96V64H10.6666666666667V10.6666666666667C10.6666666666667 4.7786666666667 15.4453333333333 0 21.3333333333333 0H234.6666666666667C240.5546666666667 0 245.3333333333333 4.7786666666667 245.3333333333333 10.6666666666667V64H160z M245.3333333333333 213.3333333333334H181.3333333333333V245.3333333333334C181.3333333333333 251.2213333333334 176.5546666666667 256 170.6666666666667 256H85.3333333333333C79.4453333333333 256 74.6666666666667 251.2213333333334 74.6666666666667 245.3333333333334V213.3333333333334H10.6666666666667C4.7786666666667 213.3333333333334 0 208.5546666666667 0 202.6666666666667V96C0 90.112 4.7786666666667 85.3333333333333 10.6666666666667 85.3333333333333H96V117.3333333333334H160V85.3333333333333H245.3333333333333C251.2213333333333 85.3333333333333 256 90.112 256 96V202.6666666666667C256 208.5546666666667 251.2213333333333 213.3333333333334 245.3333333333333 213.3333333333334zM160 213.3333333333334H96V234.6666666666667H160V213.3333333333334z" />
|
||||
<glyph glyph-name="building"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M74.6666666666667 149.3333333333334H53.3333333333333V245.3333333333334C53.3333333333333 251.232 58.1013333333333 256 64 256H192C197.8986666666667 256 202.6666666666667 251.232 202.6666666666667 245.3333333333334V181.3333333333333H181.3333333333333V234.6666666666667H74.6666666666667V149.3333333333334z M245.3333333333333 170.6666666666667H149.3333333333333C143.4346666666667 170.6666666666667 138.6666666666667 165.8986666666667 138.6666666666667 160V21.3333333333333H117.3333333333333V117.3333333333334C117.3333333333333 123.232 112.5653333333333 128 106.6666666666667 128H10.6666666666667C4.768 128 0 123.232 0 117.3333333333334V10.6666666666667C0 4.768 4.768 0 10.6666666666667 0H245.3333333333333C251.232 0 256 4.768 256 10.6666666666667V160C256 165.8986666666667 251.232 170.6666666666667 245.3333333333333 170.6666666666667zM74.6666666666667 32H42.6666666666667V53.3333333333333H74.6666666666667V32zM74.6666666666667 74.6666666666667H42.6666666666667V96H74.6666666666667V74.6666666666667zM213.3333333333333 32H181.3333333333333V53.3333333333333H213.3333333333333V32zM213.3333333333333 74.6666666666667H181.3333333333333V96H213.3333333333333V74.6666666666667zM213.3333333333333 117.3333333333334H181.3333333333333V138.6666666666667H213.3333333333333V117.3333333333334z" />
|
||||
<glyph glyph-name="bulb-61"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M85.3333333333333 74.0266666666667V42.6666666666667H170.6666666666667V74.0266666666667C203.296 90.1760000000001 224 123.168 224 160C224 212.9386666666667 180.928 256 128 256S32 212.9386666666667 32 160C32 123.1786666666667 52.704 90.176 85.3333333333333 74.0266666666667zM74.6666666666667 160C74.6666666666667 189.408 98.592 213.3333333333333 128 213.3333333333333H138.6666666666667V192H128C110.3573333333333 192 96 177.6426666666667 96 160V149.3333333333333H74.6666666666667V160z M85.3333333333333 21.3333333333333V10.6666666666667C85.3333333333333 4.768 90.112 0 96 0H160C165.888 0 170.6666666666667 4.768 170.6666666666667 10.6666666666667V21.3333333333333H85.3333333333333z" />
|
||||
<glyph glyph-name="bullet-list-67"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M10.6666666666667 213.3333333333334C10.6666666666667 195.6602213387479 24.9935546720813 181.3333333333334 42.6666666666667 181.3333333333334C60.3397786612521 181.3333333333334 74.6666666666667 195.6602213387479 74.6666666666667 213.3333333333334C74.6666666666667 231.0064453279188 60.3397786612521 245.3333333333334 42.6666666666667 245.3333333333334C24.9935546720813 245.3333333333334 10.6666666666667 231.0064453279188 10.6666666666667 213.3333333333334z M10.6666666666667 128C10.6666666666667 110.3268880054146 24.9935546720813 96 42.6666666666667 96C60.3397786612521 96 74.6666666666667 110.3268880054146 74.6666666666667 128C74.6666666666667 145.6731119945854 60.3397786612521 160 42.6666666666667 160C24.9935546720813 160 10.6666666666667 145.6731119945854 10.6666666666667 128z M10.6666666666667 42.6666666666667C10.6666666666667 24.9935546720813 24.9935546720813 10.6666666666667 42.6666666666667 10.6666666666667C60.3397786612521 10.6666666666667 74.6666666666667 24.9935546720813 74.6666666666667 42.6666666666667C74.6666666666667 60.3397786612521 60.3397786612521 74.6666666666667 42.6666666666667 74.6666666666667C24.9935546720813 74.6666666666667 10.6666666666667 60.3397786612521 10.6666666666667 42.6666666666667z M96 224H245.3333333333333V202.6666666666667H96V224z M96 138.6666666666667H245.3333333333333V117.3333333333334H96V138.6666666666667z M96 53.3333333333333H245.3333333333333V32H96V53.3333333333333z" />
|
||||
<glyph glyph-name="bus-front-12"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M42.6666666666667 21.3333333333333V10.6666666666667C42.6666666666667 4.7786666666667 47.4346666666667 0 53.3333333333333 0H85.3333333333333C91.232 0 96 4.7786666666667 96 10.6666666666667V21.3333333333333H42.6666666666667z M160 21.3333333333333V10.6666666666667C160 4.7786666666667 164.768 0 170.6666666666667 0H202.6666666666667C208.5653333333333 0 213.3333333333333 4.7786666666667 213.3333333333333 10.6666666666667V21.3333333333333H160z M0 170.6666666666667H21.3333333333333V117.3333333333334H0V170.6666666666667z M234.6666666666667 170.6666666666667H256V117.3333333333334H234.6666666666667V170.6666666666667z M192 256H64C46.3573333333333 256 32 241.6426666666667 32 224V42.6666666666667C32 36.7786666666667 36.7786666666667 32 42.6666666666667 32H213.3333333333333C219.2213333333333 32 224 36.7786666666667 224 42.6666666666667V224C224 241.6426666666667 209.6426666666667 256 192 256zM74.6666666666667 64C68.7786666666667 64 64 68.7786666666667 64 74.6666666666667C64 80.5546666666667 68.7786666666667 85.3333333333333 74.6666666666667 85.3333333333333S85.3333333333333 80.5546666666667 85.3333333333333 74.6666666666667C85.3333333333333 68.7786666666667 80.5546666666667 64 74.6666666666667 64zM181.3333333333333 64C175.4453333333333 64 170.6666666666667 68.7786666666667 170.6666666666667 74.6666666666667C170.6666666666667 80.5546666666667 175.4453333333334 85.3333333333333 181.3333333333333 85.3333333333333S192 80.5546666666667 192 74.6666666666667C192 68.7786666666667 187.2213333333333 64 181.3333333333333 64zM202.6666666666667 117.3333333333334H53.3333333333333V213.3333333333334H202.6666666666666V117.3333333333334z" />
|
||||
<glyph glyph-name="button-pause"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M96 245.3333333333334H32C26.1013333333333 245.3333333333334 21.3333333333333 240.5653333333334 21.3333333333333 234.6666666666667V21.3333333333333C21.3333333333333 15.4346666666667 26.1013333333333 10.6666666666667 32 10.6666666666667H96C101.8986666666667 10.6666666666667 106.6666666666667 15.4346666666667 106.6666666666667 21.3333333333333V234.6666666666667C106.6666666666667 240.5653333333334 101.8986666666667 245.3333333333334 96 245.3333333333334z M224 245.3333333333334H160C154.1013333333334 245.3333333333334 149.3333333333334 240.5653333333334 149.3333333333334 234.6666666666667V21.3333333333333C149.3333333333334 15.4346666666667 154.1013333333334 10.6666666666667 160 10.6666666666667H224C229.8986666666667 10.6666666666667 234.6666666666667 15.4346666666667 234.6666666666667 21.3333333333333V234.6666666666667C234.6666666666667 240.5653333333334 229.8986666666667 245.3333333333334 224 245.3333333333334z" />
|
||||
<glyph glyph-name="button-play"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M219.2533333333333 136.8746666666667L59.2533333333333 243.5413333333334C55.9786666666667 245.7173333333334 51.7653333333333 245.9306666666667 48.3093333333333 244.0746666666667C44.832 242.2186666666667 42.6666666666667 238.6026666666667 42.6666666666667 234.6666666666667V21.3333333333333C42.6666666666667 17.3973333333333 44.832 13.7813333333334 48.2986666666667 11.9253333333334C49.8773333333333 11.0826666666667 51.6053333333333 10.6666666666667 53.3333333333333 10.6666666666667C55.4026666666667 10.6666666666667 57.472 11.2746666666667 59.2533333333333 12.4586666666667L219.2533333333333 119.1253333333334C222.2186666666667 121.1093333333333 224 124.4373333333334 224 128S222.2186666666667 134.8906666666667 219.2533333333333 136.8746666666667z" />
|
||||
<glyph glyph-name="button-power"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M186.6346666666667 218.9866666666667C181.536 221.9306666666667 175.008 220.192 172.064 215.0826666666667C169.12 209.984 170.8693333333333 203.456 175.968 200.512C205.5893333333334 183.3813333333334 224 151.5093333333334 224 117.3333333333334C224 64.3946666666667 180.9386666666667 21.3333333333333 128 21.3333333333333S32 64.3946666666667 32 117.3333333333334C32 151.4986666666667 50.4 183.36 80.0106666666667 200.5013333333333C85.1093333333333 203.4453333333334 86.8586666666667 209.9733333333333 83.8933333333333 215.072C80.96 220.1813333333333 74.432 221.9413333333333 69.3226666666667 218.9546666666667C33.1413333333333 198.0266666666667 10.6666666666667 159.0826666666667 10.6666666666667 117.3333333333334C10.6666666666667 52.64 63.3066666666667 0 128 0S245.3333333333333 52.64 245.3333333333333 117.3333333333333C245.3333333333333 159.104 222.848 198.0586666666667 186.6346666666667 218.9866666666667z M128 160C133.8986666666667 160 138.6666666666667 164.768 138.6666666666667 170.6666666666667V245.3333333333334C138.6666666666667 251.232 133.8986666666667 256 128 256S117.3333333333333 251.232 117.3333333333333 245.3333333333334V170.6666666666667C117.3333333333333 164.768 122.1013333333333 160 128 160z" />
|
||||
<glyph glyph-name="calendar-grid-58"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 234.6666666666667H202.6666666666667V256H181.3333333333333V234.6666666666667H138.6666666666667V256H117.3333333333333V234.6666666666667H74.6666666666667V256H53.3333333333333V234.6666666666667H10.6666666666667C4.7786666666667 234.6666666666667 0 229.888 0 224V10.6666666666667C0 4.7786666666667 4.7786666666667 0 10.6666666666667 0H245.3333333333333C251.2213333333333 0 256 4.7786666666667 256 10.6666666666667V224C256 229.888 251.2213333333333 234.6666666666667 245.3333333333333 234.6666666666667zM234.6666666666667 21.3333333333333H21.3333333333333V170.6666666666667H234.6666666666667V21.3333333333333z M42.6666666666667 138.6666666666667H85.3333333333333V106.6666666666667H42.6666666666667V138.6666666666667z M106.6666666666667 138.6666666666667H149.3333333333333V106.6666666666667H106.6666666666667V138.6666666666667z M42.6666666666667 85.3333333333333H85.3333333333333V53.3333333333333H42.6666666666667V85.3333333333333z M106.6666666666667 85.3333333333333H149.3333333333333V53.3333333333333H106.6666666666667V85.3333333333333z M170.6666666666667 138.6666666666667H213.3333333333333V106.6666666666667H170.6666666666667V138.6666666666667z" />
|
||||
<glyph glyph-name="camera-compact"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M32 245.3333333333334H96V224H32V245.3333333333334z M245.3333333333333 213.3333333333334H10.6666666666667C4.768 213.3333333333334 0 208.5546666666667 0 202.6666666666667V21.3333333333334C0 15.4453333333334 4.768 10.6666666666667 10.6666666666667 10.6666666666667H245.3333333333333C251.232 10.6666666666667 256 15.4453333333334 256 21.3333333333334V202.6666666666667C256 208.5546666666667 251.232 213.3333333333334 245.3333333333333 213.3333333333334zM64 138.6666666666667C58.112 138.6666666666667 53.3333333333333 143.4453333333334 53.3333333333333 149.3333333333334C53.3333333333333 155.2213333333334 58.112 160 64 160S74.6666666666667 155.2213333333334 74.6666666666667 149.3333333333334C74.6666666666667 143.4453333333334 69.888 138.6666666666667 64 138.6666666666667zM160 53.3333333333333C130.5493333333333 53.3333333333333 106.6666666666667 77.216 106.6666666666667 106.6666666666667S130.5493333333333 160 160 160S213.3333333333333 136.1173333333334 213.3333333333333 106.6666666666667S189.4506666666667 53.3333333333333 160 53.3333333333333z" />
|
||||
<glyph glyph-name="caps-small"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M42.6666666666667 21.3333333333333V38.44448L70.7122133333333 40.0974933333333C74.0183466666667 40.3381333333334 74.6666666666667 41.2797866666667 74.6666666666667 44.816V213.3333333333334H23.34144C20.7467733333333 213.3333333333334 20.0353066666667 213.09792 19.5645866666667 210.7386666666667L15.79808 192H0V234.6666666666667H170.6666666666667V192H154.8685866666667L151.1021866666667 210.7386666666667C150.63136 213.09792 149.9198933333333 213.3333333333334 147.3252266666667 213.3333333333334H96V44.816C96 41.5098666666667 96.40768 40.56832 99.944 40.3381333333333L128 38.44448V21.3333333333333H42.6666666666667z M160 21.3333333333333V38.44448L177.37888 40.0974933333333C180.6850133333333 40.3381333333334 181.3333333333333 41.2797866666667 181.3333333333333 44.816V138.6666666666667H151.34144C148.7467733333333 138.6666666666667 148.0353066666667 138.4312533333334 147.5645866666667 136.072L143.79808 117.3333333333334H128V160H256V117.3333333333334H240.20192L236.43552 136.072C235.9646933333334 138.4312533333334 235.2532266666667 138.6666666666667 232.65856 138.6666666666667H202.6666666666667V44.816C202.6666666666667 41.5098666666667 203.0743466666667 40.56832 206.6106666666667 40.3381333333333L224 38.44448V21.3333333333333H160z" />
|
||||
<glyph glyph-name="cart"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 85.3333333333333H32L48 106.6666666666667H202.6666666666667C207.264 106.6666666666667 211.328 109.6 212.7786666666667 113.9626666666667L244.7786666666667 209.9626666666667C245.8773333333334 213.216 245.3226666666667 216.7893333333333 243.3173333333333 219.5733333333334C241.312 222.3573333333334 238.0906666666667 224 234.6666666666667 224H47.0826666666667L18.208 252.8746666666667C14.0373333333333 257.0453333333334 7.296 257.0453333333334 3.1253333333333 252.8746666666667S-1.0453333333333 241.9626666666667 3.1253333333333 237.792L32 208.9173333333334V120.896L2.1333333333333 81.0666666666667C-0.2986666666667 77.8346666666667 -0.6826666666667 73.5146666666667 1.12 69.8986666666667C2.9333333333333 66.2826666666667 6.624 64 10.6666666666667 64H245.3333333333333C251.232 64 256 68.7786666666667 256 74.6666666666667S251.232 85.3333333333333 245.3333333333333 85.3333333333333z M21.3333333333333 21.3333333333333C21.3333333333333 9.5512586702764 30.8845920036097 0 42.6666666666667 0C54.4487413297236 0 64 9.5512586702764 64 21.3333333333333C64 33.1154079963903 54.4487413297236 42.6666666666667 42.6666666666667 42.6666666666667C30.8845920036097 42.6666666666667 21.3333333333333 33.1154079963903 21.3333333333333 21.3333333333333z M192 21.3333333333333C192 9.5512586702764 201.5512586702764 0 213.3333333333333 0C225.1154079963903 0 234.6666666666667 9.5512586702764 234.6666666666667 21.3333333333333C234.6666666666667 33.1154079963903 225.1154079963903 42.6666666666667 213.3333333333333 42.6666666666667C201.5512586702764 42.6666666666667 192 33.1154079963903 192 21.3333333333333z" />
|
||||
<glyph glyph-name="chart-bar-32"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M149.3333333333333 234.6666666666667H106.6666666666667C100.7786666666667 234.6666666666667 96 229.888 96 224V32C96 26.112 100.7786666666667 21.3333333333333 106.6666666666667 21.3333333333333H149.3333333333334C155.2213333333334 21.3333333333333 160 26.112 160 32V224C160 229.888 155.2213333333333 234.6666666666667 149.3333333333333 234.6666666666667z M53.3333333333333 117.3333333333334H10.6666666666667C4.7786666666667 117.3333333333334 0 112.5546666666667 0 106.6666666666667V32C0 26.112 4.7786666666667 21.3333333333334 10.6666666666667 21.3333333333334H53.3333333333333C59.2213333333333 21.3333333333334 64 26.112 64 32V106.6666666666667C64 112.5546666666667 59.2213333333333 117.3333333333334 53.3333333333333 117.3333333333334z M245.3333333333333 170.6666666666667H202.6666666666667C196.7786666666667 170.6666666666667 192 165.888 192 160V32C192 26.112 196.7786666666667 21.3333333333333 202.6666666666667 21.3333333333333H245.3333333333333C251.2213333333333 21.3333333333333 256 26.112 256 32V160C256 165.888 251.2213333333333 170.6666666666667 245.3333333333333 170.6666666666667z" />
|
||||
<glyph glyph-name="chart-pie-35"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M138.6666666666667 138.6666666666667H255.456C250.304 200.736 200.736 250.304 138.6666666666667 255.456V138.6666666666667z M132.416 117.3333333333334L45.4293333333333 30.3466666666667C67.744 11.456 96.544 0 128 0C194.976 0 250.0053333333334 51.744 255.456 117.3333333333333H132.416z M117.3333333333333 132.416V255.456C51.744 250.0053333333334 0 194.976 0 128C0 96.544 11.456 67.744 30.3466666666667 45.4293333333333L117.3333333333333 132.416z" />
|
||||
<glyph glyph-name="chat-round"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 245.3333333333334C57.6 245.3333333333334 0 197.3333333333334 0 138.6666666666667S57.6 32 128 32C138.6666666666667 32 149.3333333333334 33.0666666666667 160 35.2L219.7333333333333 11.7333333333333C220.8 11.7333333333333 221.8666666666667 10.6666666666667 224 10.6666666666667C226.1333333333334 10.6666666666667 228.2666666666667 11.7333333333333 230.4 12.8C233.6 14.9333333333333 234.6666666666667 19.2 234.6666666666667 22.4L229.3333333333334 72.5333333333333C246.4 91.7333333333333 256 114.1333333333333 256 137.6C256 197.3333333333334 198.4 245.3333333333334 128 245.3333333333334z" />
|
||||
<glyph glyph-name="check-bold"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M21.3333333333333 138.6666666666667L42.6666666666667 160L96 128L213.3333333333333 213.3333333333334L234.6666666666667 192L96 53.3333333333333z" />
|
||||
<glyph glyph-name="circle-08"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 256C57.4186666666667 256 0 198.5813333333333 0 128S57.4186666666667 0 128 0S256 57.4186666666667 256 128S198.5813333333333 256 128 256zM85.3333333333333 149.3333333333334C85.3333333333333 172.896 105.0026666666667 192 128 192S170.6666666666667 172.896 170.6666666666667 149.3333333333334V138.6666666666667C170.6666666666667 115.104 150.9973333333333 96 128 96S85.3333333333333 115.104 85.3333333333333 138.6666666666667V149.3333333333334zM128 21.3333333333333C102.048 21.3333333333333 78.24 30.6773333333333 59.7226666666667 46.144C68.672 63.0293333333333 86.2186666666667 74.6666666666667 106.6666666666667 74.6666666666667H149.3333333333333C169.7813333333333 74.6666666666667 187.328 63.0293333333333 196.2773333333333 46.144C177.76 30.6773333333334 153.952 21.3333333333333 128 21.3333333333333z" />
|
||||
<glyph glyph-name="cloud-download-95"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M211.968 148.5226666666667C204.6826666666667 191.52 167.104 224 122.6666666666667 224C76.7573333333333 224 38.6453333333333 189.9093333333333 32.864 145.1093333333333C13.184 136.9493333333334 0 117.728 0 96C0 66.592 23.9253333333333 42.6666666666667 53.3333333333333 42.6666666666667H202.6666666666666C232.0746666666667 42.6666666666667 256 66.592 256 96C256 122.24 236.96 144.1066666666667 211.968 148.5226666666667zM128 74.6666666666667L74.6666666666667 128H117.3333333333334V170.6666666666667H138.6666666666667V128H181.3333333333334L128 74.6666666666667z" />
|
||||
<glyph glyph-name="cloud-upload-96"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M211.968 148.5226666666667C204.6826666666667 191.52 167.104 224 122.6666666666667 224C76.7573333333333 224 38.656 189.9093333333333 32.864 145.1093333333333C13.1733333333333 136.9493333333334 0 117.728 0 96C0 66.592 23.9253333333333 42.6666666666667 53.3333333333333 42.6666666666667H202.6666666666666C232.0746666666667 42.6666666666667 256 66.592 256 96C256 122.24 236.96 144.1173333333333 211.968 148.5226666666667zM138.6666666666667 117.3333333333334V74.6666666666667H117.3333333333333V117.3333333333334H74.6666666666667L128 170.6666666666667L181.3333333333333 117.3333333333334H138.6666666666667z" />
|
||||
<glyph glyph-name="compass-04"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 256C57.4186666666667 256 0 198.5813333333333 0 128S57.4186666666667 0 128 0S256 57.4186666666667 256 128S198.5813333333333 256 128 256zM138.6666666666667 21.8773333333333V42.6666666666667H117.3333333333333V21.8773333333334C67.0186666666667 26.8906666666667 26.8906666666667 67.0186666666667 21.8773333333333 117.3333333333334H42.6666666666667V138.6666666666667H21.8773333333333C26.8906666666667 188.9813333333334 67.0186666666667 229.1093333333333 117.3333333333333 234.1226666666667V213.3333333333334H138.6666666666667V234.1226666666667C188.9813333333333 229.0986666666667 229.1093333333333 188.9813333333334 234.1226666666667 138.6666666666667H213.3333333333333V117.3333333333334H234.1226666666667C229.1093333333333 67.0186666666667 188.9813333333333 26.8906666666667 138.6666666666667 21.8773333333333z M98.5386666666667 157.4613333333334L54.3573333333333 54.3573333333333L157.4613333333333 98.5386666666667L201.6426666666667 201.6426666666667L98.5386666666667 157.4613333333334zM94.976 94.976L114.7946666666667 141.2053333333333L141.216 114.784L94.976 94.976z" />
|
||||
<glyph glyph-name="controller"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M138.6666666666667 234.6666666666667C138.6666666666667 240.5546666666667 133.888 245.3333333333334 128 245.3333333333334S117.3333333333333 240.5546666666667 117.3333333333333 234.6666666666667V181.3333333333334H138.6666666666667V234.6666666666667z M192 160H64C28.704 160 0 131.296 0 96S28.704 32 64 32C86.9866666666667 32 108.0213333333333 44.352 119.3706666666667 64H136.6186666666667C147.968 44.352 169.0026666666667 32 191.9893333333333 32C227.2853333333333 32 255.9893333333333 60.704 255.9893333333333 96S227.296 160 192 160zM96 85.3333333333333H74.6666666666667V64H53.3333333333333V85.3333333333333H32V106.6666666666667H53.3333333333333V128H74.6666666666667V106.6666666666667H96V85.3333333333333zM181.3333333333333 64C175.4453333333333 64 170.6666666666667 68.7786666666667 170.6666666666667 74.6666666666667C170.6666666666667 80.5546666666667 175.4453333333334 85.3333333333333 181.3333333333333 85.3333333333333S192 80.5546666666667 192 74.6666666666667C192 68.7786666666667 187.2213333333333 64 181.3333333333333 64zM213.3333333333333 96C207.4453333333333 96 202.6666666666667 100.7786666666667 202.6666666666667 106.6666666666667C202.6666666666667 112.5546666666667 207.4453333333334 117.3333333333333 213.3333333333333 117.3333333333333S224 112.5546666666667 224 106.6666666666667C224 100.7786666666667 219.2213333333333 96 213.3333333333333 96z" />
|
||||
<glyph glyph-name="credit-card"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M256 170.6773333333333V213.3333333333334C256 225.12 246.4533333333333 234.6666666666667 234.6666666666667 234.6666666666667H21.3333333333333C9.5466666666667 234.6666666666667 0 225.12 0 213.3333333333334V170.6773333333333H256z M0 138.6666666666667V42.6666666666667C0 30.88 9.5466666666667 21.3333333333333 21.3333333333333 21.3333333333333H234.6666666666667C246.4533333333333 21.3333333333333 256 30.88 256 42.6666666666667V138.6666666666667H0zM117.3333333333333 74.6666666666667H42.6666666666667V96H117.3333333333333V74.6666666666667zM213.3333333333333 74.6666666666667H170.6666666666667V96H213.3333333333333V74.6666666666667z" />
|
||||
<glyph glyph-name="curved-next"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M138.6666666666667 96V27.7333333333334L249.6 138.6666666666667L138.6666666666667 249.6V181.3333333333334C89.6 179.2 0 158.9333333333333 0 42.6666666666667V3.2L20.2666666666667 37.3333333333333C45.8666666666667 81.0666666666667 71.4666666666667 94.9333333333333 138.6666666666667 96z" />
|
||||
<glyph glyph-name="delivery-fast"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M0 245.3333333333334H96V224H0V245.3333333333334z M21.3333333333333 202.6666666666667H96V181.3333333333334H21.3333333333333V202.6666666666667z M42.6666666666667 160H96V138.6666666666667H42.6666666666667V160z M64 117.3333333333334H96V96H64V117.3333333333334z M250.1013333333333 137.5466666666667L211.8186666666667 156.6826666666667L202.3466666666666 194.5813333333333C201.1626666666667 199.3386666666667 196.896 202.6666666666667 192 202.6666666666667H174.6666666666667H117.3333333333333C117.3333333333333 202.6666666666667 117.3333333333333 69.856 117.3333333333333 64S117.8773333333333 53.3333333333333 117.8773333333333 53.3333333333333C120.5653333333333 29.3973333333333 140.6933333333333 10.6666666666667 165.3333333333333 10.6666666666667S210.1013333333333 29.3973333333333 212.7893333333333 53.3333333333333H245.3333333333333C251.2213333333333 53.3333333333333 256 58.112 256 64V128C256 132.0426666666667 253.7173333333334 135.7333333333334 250.1013333333333 137.5466666666667zM165.3333333333333 32C150.6346666666667 32 138.6666666666667 43.9573333333333 138.6666666666667 58.6666666666667S150.6346666666667 85.3333333333333 165.3333333333333 85.3333333333333S192 73.376 192 58.6666666666667S180.032 32 165.3333333333333 32zM138.6666666666667 149.3333333333334V181.3333333333334H185.0026666666667L192 149.3333333333334H138.6666666666667z" />
|
||||
<glyph glyph-name="diamond"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M200.192 241.4933333333334C198.1653333333333 243.9253333333334 195.168 245.3333333333334 192 245.3333333333334H64C60.832 245.3333333333334 57.8346666666667 243.9253333333334 55.808 241.4933333333334L2.4746666666667 177.4933333333334C-0.6613333333333 173.728 -0.832 168.3093333333334 2.0586666666667 164.3626666666667L119.392 4.3626666666667C121.408 1.6213333333334 124.608 0 128 0S134.592 1.6213333333333 136.608 4.3626666666667L253.9413333333333 164.3626666666667C256.832 168.32 256.672 173.728 253.5253333333333 177.4933333333334L200.192 241.4933333333334zM202.6666666666667 160H53.3333333333333V181.3333333333334H202.6666666666666V160z" />
|
||||
<glyph glyph-name="email-83"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 234.6666666666667H10.6666666666667C4.2666666666667 234.6666666666667 0 230.4 0 224V192C0 187.7333333333334 2.1333333333333 184.5333333333333 5.3333333333333 182.4L122.6666666666667 118.4C124.8 117.3333333333334 125.8666666666667 117.3333333333334 128 117.3333333333334S131.2 117.3333333333334 133.3333333333334 118.4L250.6666666666667 182.4C253.8666666666667 184.5333333333333 256 187.7333333333334 256 192V224C256 230.4 251.7333333333334 234.6666666666667 245.3333333333333 234.6666666666667z M142.9333333333333 100.2666666666667C138.6666666666667 97.0666666666667 133.3333333333333 96 128 96S117.3333333333333 97.0666666666667 113.0666666666667 100.2666666666667L0 161.0666666666667V32C0 25.6 4.2666666666667 21.3333333333333 10.6666666666667 21.3333333333333H245.3333333333333C251.7333333333333 21.3333333333333 256 25.6 256 32V161.0666666666667L142.9333333333333 100.2666666666667z" />
|
||||
<glyph glyph-name="fat-add"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M192 149.3333333333334L149.3333333333333 149.3333333333334L149.3333333333333 192L106.6666666666667 192L106.6666666666667 149.3333333333334L64 149.3333333333334L64 106.6666666666667L106.6666666666667 106.6666666666667L106.6666666666667 64L149.3333333333333 64L149.3333333333333 106.6666666666667L192 106.6666666666667z" />
|
||||
<glyph glyph-name="fat-delete"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M64 149.3333333333334H192V106.6666666666667H64V149.3333333333334z" />
|
||||
<glyph glyph-name="fat-remove"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M188.8 98.1333333333333L157.8666666666667 128L188.8 157.8666666666667L157.8666666666667 188.8L128 157.8666666666667L98.1333333333333 188.8L67.2 157.8666666666667L98.1333333333333 128L67.2 98.1333333333333L98.1333333333333 67.2L128 98.1333333333333L157.8666666666667 67.2z" />
|
||||
<glyph glyph-name="favourite-28"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M181.3333333333333 256C161.0666666666667 256 141.8666666666667 247.4666666666667 128 233.6C114.1333333333333 247.4666666666667 94.9333333333333 256 74.6666666666667 256C33.0666666666667 256 0 222.9333333333333 0 181.3333333333334C0 113.0666666666667 116.2666666666667 17.0666666666667 121.6 12.8C123.7333333333333 10.6666666666667 125.8666666666667 10.6666666666667 128 10.6666666666667S132.2666666666667 11.7333333333333 134.4 12.8C139.7333333333333 17.0666666666667 256 113.0666666666667 256 181.3333333333334C256 222.9333333333333 222.9333333333333 256 181.3333333333333 256z" />
|
||||
<glyph glyph-name="folder-17"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M101.3333333333333 224C107.7333333333333 224 114.1333333333333 220.8 118.4 215.4666666666667L144 181.3333333333334H234.6666666666667V245.3333333333334C234.6666666666667 251.7333333333333 230.4 256 224 256H32C25.6 256 21.3333333333333 251.7333333333333 21.3333333333333 245.3333333333334V224H101.3333333333333z M245.3333333333333 160H133.3333333333333L104.5333333333333 198.4C102.4 201.6 99.2 202.6666666666667 96 202.6666666666667H10.6666666666667C4.2666666666667 202.6666666666667 0 198.4 0 192V10.6666666666667C0 4.2666666666667 4.2666666666667 0 10.6666666666667 0H245.3333333333333C251.7333333333333 0 256 4.2666666666667 256 10.6666666666667V149.3333333333334C256 155.7333333333334 251.7333333333334 160 245.3333333333333 160z" />
|
||||
<glyph glyph-name="glasses-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M213.3333333333333 245.3333333333334H202.6666666666667V224H213.3333333333333C225.0986666666667 224 234.6666666666667 214.432 234.6666666666667 202.6666666666667V114.5493333333334C224.512 122.944 211.4986666666667 128 197.3333333333333 128C176.2133333333333 128 157.7173333333333 116.7466666666667 147.392 99.9466666666667C141.9946666666667 104.096 135.3173333333333 106.6666666666667 128 106.6666666666667S114.0053333333334 104.096 108.608 99.9466666666667C98.2826666666667 116.7466666666667 79.7866666666667 128 58.6666666666667 128C44.5013333333333 128 31.488 122.944 21.3333333333333 114.5493333333333V202.6666666666667C21.3333333333333 214.432 30.9013333333333 224 42.6666666666667 224H53.3333333333333V245.3333333333334H42.6666666666667C19.136 245.3333333333334 0 226.1973333333334 0 202.6666666666667V69.3333333333334C0 36.992 26.3253333333333 10.6666666666667 58.6666666666667 10.6666666666667C89.2053333333333 10.6666666666667 114.3573333333333 34.144 117.0666666666667 64H117.3333333333333V74.6666666666667C117.3333333333333 80.5546666666667 122.112 85.3333333333333 128 85.3333333333333S138.6666666666667 80.5546666666667 138.6666666666667 74.6666666666667V64H138.9333333333333C141.6426666666667 34.144 166.784 10.6666666666667 197.3333333333333 10.6666666666667C229.6746666666667 10.6666666666667 256 36.992 256 69.3333333333333V202.6666666666667C256 226.1973333333334 236.864 245.3333333333334 213.3333333333333 245.3333333333334z" />
|
||||
<glyph glyph-name="hat-3"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M234.6666666666667 138.6666666666667H256V74.6666666666667H234.6666666666667V138.6666666666667z M141.2373333333333 88.2133333333333C137.0346666666667 86.2933333333334 132.5866666666667 85.3333333333333 128 85.3333333333333S118.9653333333333 86.2933333333334 114.7733333333334 88.2026666666667L42.6666666666667 120.9813333333334V64C42.6666666666667 35.9893333333333 85.5893333333333 21.3333333333333 128 21.3333333333333S213.3333333333333 35.9893333333334 213.3333333333333 64V120.9706666666667L141.2373333333333 88.2133333333333z M249.7493333333334 180.3733333333333L132.416 233.7066666666667C129.6106666666667 234.976 126.4 234.976 123.5946666666667 233.7066666666667L6.2613333333333 180.3733333333333C2.4426666666667 178.6453333333333 0 174.8586666666667 0 170.6666666666667S2.4426666666667 162.688 6.2506666666667 160.96L123.584 107.6266666666667C124.992 106.9866666666667 126.496 106.6666666666667 128 106.6666666666667S131.008 106.9866666666667 132.416 107.6266666666667L249.7493333333333 160.96C253.5573333333334 162.688 256 166.4746666666667 256 170.6666666666667S253.5573333333334 178.6453333333333 249.7493333333334 180.3733333333333z" />
|
||||
<glyph glyph-name="headphones"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 106.112V160C245.3333333333333 212.928 202.2613333333333 256 149.3333333333333 256H106.6666666666667C53.7386666666667 256 10.6666666666667 212.928 10.6666666666667 160V106.112C3.9466666666667 95.4346666666667 0 82.848 0 69.3333333333334C0 31.104 31.104 0 69.3333333333333 0C75.6266666666667 0 81.984 0.896 88.2346666666667 2.6666666666667C92.832 3.968 96 8.16 96 12.928V125.7386666666667C96 130.5066666666667 92.832 134.6986666666667 88.2346666666667 136C81.984 137.7706666666667 75.6266666666667 138.6666666666667 69.3333333333333 138.6666666666667C55.584 138.6666666666667 42.7946666666667 134.592 32 127.6586666666667V160C32 201.1733333333334 65.4933333333333 234.6666666666667 106.6666666666667 234.6666666666667H149.3333333333333C190.5066666666667 234.6666666666667 224 201.1733333333333 224 160V127.6586666666667C213.2053333333333 134.592 200.416 138.6666666666667 186.6666666666667 138.6666666666667C180.3733333333333 138.6666666666667 174.016 137.7706666666667 167.7653333333333 136C163.168 134.6986666666667 160 130.5066666666667 160 125.7386666666667V12.9386666666667C160 8.1706666666667 163.168 3.9786666666667 167.7653333333333 2.6773333333334C174.016 0.896 180.3733333333333 0 186.6666666666667 0C224.896 0 256 31.104 256 69.3333333333333C256 82.848 252.0533333333333 95.4346666666667 245.3333333333333 106.112z" />
|
||||
<glyph glyph-name="html5"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M231.9466666666667 241.7813333333333C229.9306666666667 244.0426666666667 227.04 245.3333333333334 224 245.3333333333334H32C28.96 245.3333333333334 26.0693333333333 244.0426666666667 24.0533333333333 241.7813333333333C22.0266666666667 239.52 21.0666666666667 236.5013333333333 21.3973333333333 233.4933333333334L42.7306666666667 41.4933333333333C43.2 37.1946666666667 46.24 33.6106666666667 50.4 32.4053333333333L125.0666666666667 11.072C126.0266666666667 10.8053333333334 127.0186666666667 10.6666666666667 128 10.6666666666667S129.9733333333333 10.8053333333334 130.9333333333333 11.072L205.6 32.4053333333334C209.76 33.6000000000001 212.7893333333333 37.184 213.2693333333333 41.4933333333334L234.6026666666667 233.4933333333334C234.9333333333333 236.5013333333333 233.9733333333333 239.52 231.9466666666667 241.7813333333333zM192 181.3333333333334H86.2613333333333L89.8133333333333 138.6666666666667H187.7866666666667L180.5333333333333 66.1333333333334L128 53.0026666666667L74.6666666666667 66.336V96H96V82.9973333333333L128 74.9973333333333L160.8 83.2L164.2133333333334 117.3333333333333H70.1866666666667L63.072 202.6666666666667H192V181.3333333333334z" />
|
||||
<glyph glyph-name="istanbul"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M234.6666666666667 221.8666666666667V245.3333333333334C234.6666666666667 251.7333333333333 230.4 256 224 256S213.3333333333334 251.7333333333333 213.3333333333334 245.3333333333334V221.8666666666667C200.5333333333333 217.6 192 205.8666666666667 192 192V160V128C192 160 168.5333333333333 185.6 138.6666666666667 190.9333333333333V213.3333333333334C138.6666666666667 219.7333333333334 134.4 224 128 224S117.3333333333334 219.7333333333334 117.3333333333334 213.3333333333334V190.9333333333333C87.4666666666667 185.6 64 160 64 128V160V192C64 205.8666666666667 55.4666666666667 217.6 42.6666666666667 221.8666666666667V245.3333333333334C42.6666666666667 251.7333333333333 38.4 256 32 256S21.3333333333333 251.7333333333333 21.3333333333333 245.3333333333334V221.8666666666667C8.5333333333333 217.6 0 205.8666666666667 0 192V160V10.6666666666667C0 4.2666666666667 4.2666666666667 0 10.6666666666667 0H106.6666666666667V21.3333333333334C106.6666666666667 33.0666666666667 116.2666666666667 42.6666666666667 128 42.6666666666667L128 42.6666666666667C139.7333333333334 42.6666666666667 149.3333333333334 33.0666666666667 149.3333333333334 21.3333333333334V0H245.3333333333334C251.7333333333334 0 256 4.2666666666667 256 10.6666666666667V160V192C256 205.8666666666667 247.4666666666667 217.6 234.6666666666667 221.8666666666667zM42.6666666666667 170.6666666666667H21.3333333333333V192C21.3333333333333 198.4 25.6 202.6666666666667 32 202.6666666666667S42.6666666666667 198.4 42.6666666666667 192V170.6666666666667zM170.6666666666667 117.3333333333334H85.3333333333333V128C85.3333333333333 151.4666666666667 104.5333333333333 170.6666666666667 128 170.6666666666667C151.4666666666667 170.6666666666667 170.6666666666667 151.4666666666667 170.6666666666667 128V117.3333333333334zM234.6666666666667 170.6666666666667H213.3333333333333V192C213.3333333333333 198.4 217.6 202.6666666666667 224 202.6666666666667S234.6666666666667 198.4 234.6666666666667 192V170.6666666666667z" />
|
||||
<glyph glyph-name="key-25"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M252.8746666666667 178.208L217.7493333333334 213.3333333333334L242.208 237.792C246.3786666666667 241.9626666666667 246.3786666666667 248.704 242.208 252.8746666666667S231.296 257.0453333333334 227.1253333333334 252.8746666666667L116.2773333333333 142.0266666666667C119.072 139.8506666666667 121.792 137.5466666666667 124.3413333333333 135.008C126.8906666666667 132.4586666666667 129.184 129.7386666666667 131.36 126.944L170.6666666666667 166.2506666666667L205.792 131.1253333333334C207.872 129.0453333333334 210.6026666666667 128 213.3333333333333 128S218.7946666666667 129.0453333333333 220.8746666666667 131.1253333333334L252.8746666666667 163.1253333333334C257.0453333333333 167.296 257.0453333333333 174.0373333333333 252.8746666666667 178.208z M64 10.6666666666667C81.0986666666667 10.6666666666667 97.1626666666667 17.3226666666667 109.2586666666667 29.408S128 57.568 128 74.6666666666667S121.344 107.8293333333334 109.2586666666667 119.9253333333334S81.0986666666667 138.6666666666667 64 138.6666666666667S30.8373333333333 132.0106666666667 18.7413333333333 119.9253333333334S0 91.7653333333333 0 74.6666666666667S6.656 41.504 18.7413333333333 29.408S46.9013333333333 10.6666666666667 64 10.6666666666667z" />
|
||||
<glyph glyph-name="laptop"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M224 108.8533333333334V213.3333333333334C224 225.0986666666667 214.432 234.6666666666667 202.6666666666667 234.6666666666667H53.3333333333333C41.568 234.6666666666667 32 225.0986666666667 32 213.3333333333334V108.8533333333334L7.232 51.072C4.4053333333333 44.4586666666667 5.0773333333333 36.928 9.0346666666667 30.9226666666667C12.992 24.9173333333333 19.648 21.3333333333333 26.848 21.3333333333333H229.1626666666667C236.352 21.3333333333333 243.008 24.9173333333333 246.976 30.9226666666667C250.9333333333334 36.928 251.6053333333334 44.4586666666667 248.768 51.072L224 108.8533333333334zM202.6666666666667 117.3333333333334H53.3333333333333V213.3333333333334H202.6666666666666V117.3333333333334z" />
|
||||
<glyph glyph-name="like-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M53.3333333333333 21.3333333333333H32C25.6 21.3333333333333 21.3333333333333 25.6 21.3333333333333 32V128C21.3333333333333 134.4 25.6 138.6666666666667 32 138.6666666666667H53.3333333333333C59.7333333333333 138.6666666666667 64 134.4 64 128V32C64 25.6 59.7333333333333 21.3333333333333 53.3333333333333 21.3333333333333z M213.3333333333333 149.3333333333334H160V181.3333333333334C160 199.4666666666667 149.3333333333334 224 133.3333333333334 233.6C125.8666666666667 236.8 117.3333333333333 232.5333333333334 117.3333333333333 224V181.3333333333334L85.3333333333333 142.9333333333333V32L88.5333333333333 30.9333333333333C100.2666666666667 24.5333333333334 114.1333333333333 21.3333333333333 128 21.3333333333333H202.6666666666667C214.4 21.3333333333333 224 30.9333333333333 224 42.6666666666667L234.6666666666667 128C234.6666666666667 139.7333333333334 225.0666666666667 149.3333333333334 213.3333333333333 149.3333333333334z" />
|
||||
<glyph glyph-name="lock-circle-open"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 170.6666666666667C112.448 170.6666666666667 97.8986666666667 166.4213333333333 85.3333333333333 159.1253333333334V192C85.3333333333333 215.5306666666667 104.4693333333333 234.6666666666667 128 234.6666666666667S170.6666666666667 215.5306666666667 170.6666666666667 192H192C192 227.296 163.296 256 128 256S64 227.296 64 192V141.5893333333334C50.7626666666667 126.5493333333334 42.6666666666667 106.8906666666667 42.6666666666667 85.3333333333333C42.6666666666667 38.2826666666667 80.9493333333333 0 128 0S213.3333333333333 38.2826666666667 213.3333333333333 85.3333333333333S175.0506666666667 170.6666666666667 128 170.6666666666667zM138.6666666666667 65.9626666666667V42.6666666666667H117.3333333333333V65.9626666666667C104.9493333333333 70.3786666666667 96 82.112 96 96C96 113.6426666666667 110.3573333333333 128 128 128S160 113.6426666666667 160 96C160 82.112 151.0506666666667 70.3786666666667 138.6666666666667 65.9626666666667z" />
|
||||
<glyph glyph-name="map-big"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M181.3333333333333 241.2586666666667L138.6666666666667 219.9253333333333L138.6666666666667 14.7413333333334L181.3333333333333 36.0746666666667z M117.3333333333333 219.9253333333333L74.6666666666667 241.2586666666667L74.6666666666667 36.0746666666667L117.3333333333333 14.7413333333334z M53.3333333333333 240.704L5.1733333333333 211.808C1.9733333333333 209.888 0 206.4213333333333 0 202.6666666666667V0L53.3333333333333 34.496V240.704z M250.8266666666667 211.808L202.6666666666667 240.704V34.496L256 0V202.6666666666667C256 206.4213333333333 254.0266666666667 209.888 250.8266666666667 211.808z" />
|
||||
<glyph glyph-name="mobile-button"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M192 256H64C46.3573333333333 256 32 241.6426666666667 32 224V32C32 14.3573333333333 46.3573333333333 0 64 0H192C209.6426666666667 0 224 14.3573333333333 224 32V224C224 241.6426666666667 209.6426666666667 256 192 256zM128 21.3333333333333C122.112 21.3333333333333 117.3333333333333 26.112 117.3333333333333 32S122.112 42.6666666666667 128 42.6666666666667S138.6666666666667 37.888 138.6666666666667 32S133.888 21.3333333333333 128 21.3333333333333zM202.6666666666667 74.6666666666667C202.6666666666667 68.7786666666667 197.888 64 192 64H64C58.112 64 53.3333333333333 68.7786666666667 53.3333333333333 74.6666666666667V213.3333333333334C53.3333333333333 219.2213333333334 58.112 224 64 224H192C197.888 224 202.6666666666667 219.2213333333334 202.6666666666667 213.3333333333334V74.6666666666667z" />
|
||||
<glyph glyph-name="money-coins"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M85.3333333333333 106.6666666666667H10.6666666666667C4.7786666666667 106.6666666666667 0 111.4453333333333 0 117.3333333333334V245.3333333333334C0 251.2213333333334 4.7786666666667 256 10.6666666666667 256H202.6666666666667C208.5546666666667 256 213.3333333333333 251.2213333333334 213.3333333333333 245.3333333333334V192H192V234.6666666666667H21.3333333333333V128H85.3333333333333V106.6666666666667z M181.3333333333333 85.3333333333333C149.856 85.3333333333333 123.7013333333333 92.1493333333334 106.6666666666667 103.5946666666667C106.6666666666667 95.6373333333334 106.6666666666667 90.3893333333334 106.6666666666667 85.3333333333333C106.6666666666667 67.6586666666667 140.096 53.3333333333333 181.3333333333333 53.3333333333333S256 67.6586666666667 256 85.3333333333333C256 90.3893333333334 256 95.6373333333334 256 103.5946666666667C238.9653333333333 92.1493333333334 212.8106666666667 85.3333333333333 181.3333333333333 85.3333333333333z M181.3333333333333 32C149.856 32 123.7013333333333 38.816 106.6666666666667 50.2613333333333C106.6666666666667 42.304 106.6666666666667 37.056 106.6666666666667 32C106.6666666666667 14.3253333333333 140.096 0 181.3333333333333 0S256 14.3253333333333 256 32C256 37.056 256 42.304 256 50.2613333333333C238.9653333333333 38.816 212.8106666666667 32 181.3333333333333 32z M95.0293333333333 163.4986666666667C102.3466666666667 172.0426666666667 113.5253333333333 179.0186666666667 127.7333333333333 183.936C126.4426666666667 194.4533333333334 117.5466666666667 202.6666666666667 106.6666666666667 202.6666666666667C94.9013333333333 202.6666666666667 85.3333333333333 193.0986666666667 85.3333333333333 181.3333333333334C85.3333333333333 173.8666666666667 89.2053333333333 167.3066666666667 95.0293333333333 163.4986666666667z M106.6666666666667 138.6666666666667C106.6666666666667 120.9935546720813 140.0960720126341 106.6666666666667 181.3333333333333 106.6666666666667C222.5705946540326 106.6666666666667 256 120.9935546720813 256 138.6666666666667C256 156.3397786612521 222.5705946540326 170.6666666666667 181.3333333333333 170.6666666666667C140.0960720126341 170.6666666666667 106.6666666666667 156.3397786612521 106.6666666666667 138.6666666666667z" />
|
||||
<glyph glyph-name="note-03"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 256H85.3333333333333C79.4453333333333 256 74.6666666666667 251.2213333333334 74.6666666666667 245.3333333333334V87.872C67.0293333333333 92.992 57.8666666666667 96 48 96C21.536 96 0 74.464 0 48S21.536 0 48 0S96 21.536 96 48V170.6666666666667H234.6666666666667V109.2053333333333C227.0293333333333 114.3253333333333 217.8666666666667 117.3333333333334 208 117.3333333333334C181.536 117.3333333333334 160 95.7973333333333 160 69.3333333333333S181.536 21.3333333333333 208 21.3333333333333S256 42.8693333333333 256 69.3333333333333V245.3333333333334C256 251.2213333333334 251.2213333333333 256 245.3333333333333 256z" />
|
||||
<glyph glyph-name="notification-70"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M202.6666666666667 256C170.6666666666667 256 140.8 240 122.6666666666667 213.3333333333334H85.3333333333333H74.6666666666667H32C13.8666666666667 213.3333333333334 0 190.9333333333333 0 160S13.8666666666667 106.6666666666667 32 106.6666666666667H56.5333333333333L102.4 28.8C108.8 18.1333333333334 121.6 14.9333333333333 131.2 21.3333333333333C141.8666666666667 27.7333333333334 145.0666666666667 40.5333333333333 138.6666666666667 50.1333333333334L105.6 106.6666666666667H122.6666666666667C140.8 80 170.6666666666667 64 202.6666666666667 64C233.6 64 256 105.6 256 160S233.6 256 202.6666666666667 256zM202.6666666666667 85.3333333333333C193.0666666666667 85.3333333333333 182.4 99.2 176 120.5333333333333C192 126.9333333333333 202.6666666666667 141.8666666666667 202.6666666666667 160S192 193.0666666666667 176 199.4666666666667C182.4 220.8 193.0666666666667 234.6666666666667 202.6666666666667 234.6666666666667C217.6 234.6666666666667 234.6666666666667 202.6666666666667 234.6666666666667 160S217.6 85.3333333333333 202.6666666666667 85.3333333333333z" />
|
||||
<glyph glyph-name="palette"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M217.6 190.9333333333333C205.8666666666666 196.2666666666667 194.1333333333333 199.4666666666667 181.3333333333333 199.4666666666667C164.2666666666667 199.4666666666667 149.3333333333333 194.1333333333333 135.4666666666667 189.8666666666667C126.9333333333333 186.6666666666667 118.4 184.5333333333334 112 184.5333333333334C107.7333333333333 184.5333333333334 105.6 185.6 104.5333333333333 187.7333333333334C104.5333333333333 188.8 105.6 194.1333333333334 106.6666666666666 197.3333333333334C109.8666666666667 206.9333333333333 113.0666666666667 218.6666666666667 104.5333333333333 230.4C99.2 236.8 90.6666666666666 241.0666666666667 81.0666666666666 241.0666666666667C71.4666666666666 241.0666666666667 62.9333333333333 237.8666666666667 54.4 232.5333333333334C20.2666666666667 209.0666666666667 0 169.6 0 128C0 57.6 57.6 0 128 0C184.5333333333333 0 235.7333333333333 38.4 251.7333333333333 93.8666666666667C252.8 100.2666666666667 267.7333333333334 166.4 217.6 190.9333333333333zM32 128C32 139.7333333333334 41.6 149.3333333333333 53.3333333333333 149.3333333333333S74.6666666666667 139.7333333333334 74.6666666666667 128S65.0666666666667 106.6666666666667 53.3333333333333 106.6666666666667S32 116.2666666666667 32 128zM80 53.3333333333333C68.2666666666667 53.3333333333333 58.6666666666667 62.9333333333333 58.6666666666667 74.6666666666667S68.2666666666667 96 80 96S101.3333333333333 86.4 101.3333333333333 74.6666666666667S91.7333333333333 53.3333333333333 80 53.3333333333333zM138.6666666666667 32C126.9333333333333 32 117.3333333333333 41.6 117.3333333333333 53.3333333333333S126.9333333333333 74.6666666666667 138.6666666666667 74.6666666666667S160 65.0666666666667 160 53.3333333333333S150.4 32 138.6666666666667 32zM181.3333333333333 96C163.2 96 149.3333333333333 109.8666666666667 149.3333333333333 128S163.2 160 181.3333333333333 160S213.3333333333333 146.1333333333333 213.3333333333333 128S199.4666666666667 96 181.3333333333333 96z" />
|
||||
<glyph glyph-name="paper-diploma"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M74.6666666666667 37.3333333333333C74.6666666666667 24.608 61.9306666666667 21.8986666666667 58.24 21.376C49.6106666666667 21.6106666666667 42.6666666666667 28.6613333333333 42.6666666666667 37.3333333333333V234.6666666666667H138.6666666666667V256H32C26.112 256 21.3333333333333 251.2213333333334 21.3333333333333 245.3333333333334V37.3333333333333C21.3333333333333 16.7466666666667 38.08 0 58.6666666666667 0H218.6666666666667C239.2533333333334 0 256 16.7466666666667 256 37.3333333333333V53.3333333333333H74.6666666666667V37.3333333333333z M202.6666666666667 128C186.8053333333333 128 172.1066666666667 133.0133333333333 160 141.4826666666667V74.6666666666667L202.6666666666667 106.6666666666667L245.3333333333333 74.6666666666667V141.4826666666667C233.2266666666667 133.0133333333334 218.528 128 202.6666666666667 128z M149.3333333333333 202.6666666666667C149.3333333333333 173.2114800090244 173.2114800090243 149.3333333333334 202.6666666666667 149.3333333333334C232.121853324309 149.3333333333334 256 173.2114800090244 256 202.6666666666667C256 232.121853324309 232.121853324309 256 202.6666666666667 256C173.2114800090243 256 149.3333333333333 232.121853324309 149.3333333333333 202.6666666666667z" />
|
||||
<glyph glyph-name="pin-3"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 256C81.0666666666667 256 32 219.7333333333334 32 160C32 103.4666666666667 117.3333333333333 17.0666666666667 120.5333333333333 13.8666666666667C122.6666666666667 11.7333333333333 124.8 10.6666666666667 128 10.6666666666667S133.3333333333334 11.7333333333333 135.4666666666667 13.8666666666667C138.6666666666667 17.0666666666667 224 103.4666666666667 224 160C224 219.7333333333334 174.9333333333333 256 128 256zM128 128C109.8666666666667 128 96 141.8666666666667 96 160S109.8666666666667 192 128 192S160 178.1333333333333 160 160S146.1333333333333 128 128 128z" />
|
||||
<glyph glyph-name="planet"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M228.608 54.624C235.7653333333333 37.5253333333333 236.032 26.4426666666667 232.5333333333333 22.9333333333333C228.1066666666667 18.5066666666667 211.1466666666667 21.7066666666667 185.984 35.8186666666667C209.2053333333333 55.4133333333334 224 84.6613333333334 224 117.3333333333334C224 176.1493333333334 176.1493333333334 224 117.3333333333334 224C84.6613333333333 224 55.4133333333333 209.2053333333333 35.8293333333333 185.9946666666667C21.7066666666667 211.1573333333333 18.5173333333333 228.1173333333334 22.9333333333333 232.544C26.4426666666667 236.0426666666667 37.5253333333333 235.776 54.624 228.6186666666667C62.7093333333333 233.2053333333334 71.3386666666667 236.8426666666667 80.384 239.6053333333334C47.2853333333333 257.952 21.3866666666667 261.1840000000001 7.84 247.6373333333334C-7.8293333333333 231.936 1.3653333333333 200.7466666666667 22.6666666666667 166.2826666666667C15.04 151.6053333333333 10.6666666666667 134.9866666666667 10.6666666666667 117.3333333333334C10.6666666666667 58.5173333333333 58.5173333333333 10.6666666666667 117.3333333333333 10.6666666666667C134.9866666666667 10.6666666666667 151.6053333333333 15.04 166.2826666666667 22.6666666666667C200.7573333333334 1.3653333333334 231.936 -7.8293333333333 247.6266666666667 7.8613333333334C261.1733333333334 21.408 257.9413333333333 47.296 239.5946666666667 80.4053333333334C236.8426666666667 71.3493333333333 233.1946666666667 62.7093333333334 228.608 54.624zM69.3333333333333 96C60.5013333333333 96 53.3333333333333 103.168 53.3333333333333 112S60.5013333333333 128 69.3333333333333 128S85.3333333333333 120.832 85.3333333333333 112S78.1653333333333 96 69.3333333333333 96zM138.6666666666667 74.6666666666667C132.7786666666667 74.6666666666667 128 79.4453333333333 128 85.3333333333333C128 91.2213333333334 132.7786666666667 96 138.6666666666667 96C144.5546666666667 96 149.3333333333333 91.2213333333334 149.3333333333333 85.3333333333333C149.3333333333333 79.4453333333333 144.5546666666667 74.6666666666667 138.6666666666667 74.6666666666667zM133.3333333333333 138.6666666666667C124.5013333333333 138.6666666666667 117.3333333333333 145.8346666666667 117.3333333333333 154.6666666666667S124.5013333333333 170.6666666666667 133.3333333333333 170.6666666666667S149.3333333333333 163.4986666666667 149.3333333333333 154.6666666666667S142.1653333333333 138.6666666666667 133.3333333333333 138.6666666666667z" />
|
||||
<glyph glyph-name="ruler-pencil"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M202.6666666666667 0C199.3173333333333 0 196.1493333333333 1.5786666666667 194.1333333333333 4.2666666666667L162.1333333333333 46.9333333333333C160.7466666666667 48.7786666666667 160 51.0293333333333 160 53.3333333333333V202.6666666666667H245.3333333333333V53.3333333333334C245.3333333333333 51.0293333333334 244.5866666666667 48.7786666666667 243.2 46.9333333333334L211.2 4.2666666666667C209.184 1.5786666666667 206.016 0 202.6666666666667 0z M234.6666666666667 256H170.6666666666667C164.7786666666667 256 160 251.2213333333334 160 245.3333333333334V224H245.3333333333333V245.3333333333334C245.3333333333333 251.2213333333334 240.5546666666667 256 234.6666666666667 256z M106.6666666666667 256H21.3333333333333C14.9333333333333 256 10.6666666666667 251.7333333333333 10.6666666666667 245.3333333333334V202.6666666666667H53.3333333333333V181.3333333333334H10.6666666666667V160H42.6666666666667V138.6666666666667H10.6666666666667V117.3333333333334H53.3333333333333V96H10.6666666666667V74.6666666666667H42.6666666666667V53.3333333333333H10.6666666666667V10.6666666666667C10.6666666666667 4.2666666666667 14.9333333333333 0 21.3333333333333 0H106.6666666666667C113.0666666666667 0 117.3333333333333 4.2666666666667 117.3333333333333 10.6666666666667V245.3333333333334C117.3333333333333 251.7333333333333 113.0666666666667 256 106.6666666666667 256z" />
|
||||
<glyph glyph-name="satisfied"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 256C57.6 256 0 198.4 0 128S57.6 0 128 0C198.4 0 256 57.6 256 128S198.4 256 128 256zM53.3333333333333 160C53.3333333333333 178.1333333333333 67.2 192 85.3333333333333 192C103.4666666666667 192 117.3333333333333 178.1333333333333 117.3333333333333 160H96C96 166.4 91.7333333333333 170.6666666666667 85.3333333333333 170.6666666666667C78.9333333333333 170.6666666666667 74.6666666666667 166.4 74.6666666666667 160H53.3333333333333zM202.6666666666667 117.3333333333334C202.6666666666667 75.7333333333334 169.6 42.6666666666667 128 42.6666666666667C86.4 42.6666666666667 53.3333333333333 75.7333333333334 53.3333333333333 117.3333333333334H74.6666666666667C74.6666666666667 87.4666666666667 98.1333333333333 64 128 64C157.8666666666667 64 181.3333333333333 87.4666666666667 181.3333333333333 117.3333333333333H202.6666666666667zM181.3333333333333 160C181.3333333333333 166.4 177.0666666666666 170.6666666666667 170.6666666666667 170.6666666666667C164.2666666666667 170.6666666666667 160 166.4 160 160H138.6666666666667C138.6666666666667 178.1333333333333 152.5333333333333 192 170.6666666666667 192C188.8 192 202.6666666666667 178.1333333333333 202.6666666666667 160H181.3333333333333z" />
|
||||
<glyph glyph-name="scissors"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M197.3333333333333 96C189.568 96 182.336 93.9733333333333 175.8293333333333 90.6773333333333L152.2773333333333 118.144L212.2773333333333 178.144C232.96 198.8266666666667 236.9173333333333 230.9226666666667 221.8666666666667 256L128 146.4853333333334L34.1333333333333 256C19.0826666666667 230.9226666666667 23.04 198.8266666666667 43.7226666666667 178.1546666666667L103.7226666666667 118.1546666666667L80.1706666666667 90.688C73.664 93.9733333333334 66.432 96 58.6666666666667 96C32.2026666666667 96 10.6666666666667 74.464 10.6666666666667 48S32.2026666666667 0 58.6666666666667 0S106.6666666666667 21.536 106.6666666666667 48C106.6666666666667 55.168 104.9813333333333 61.9093333333333 102.1546666666667 68.0213333333333L128 93.8666666666667L153.8453333333334 68.0213333333333C151.0186666666667 61.9093333333333 149.3333333333333 55.168 149.3333333333333 48C149.3333333333333 21.536 170.8693333333333 0 197.3333333333333 0S245.3333333333333 21.536 245.3333333333333 48S223.7973333333334 96 197.3333333333333 96zM58.6666666666667 21.3333333333333C43.968 21.3333333333333 32 33.2906666666667 32 48S43.968 74.6666666666667 58.6666666666667 74.6666666666667S85.3333333333333 62.7093333333334 85.3333333333333 48S73.3653333333333 21.3333333333333 58.6666666666667 21.3333333333333zM170.6666666666667 48C170.6666666666667 62.7093333333334 182.6346666666667 74.6666666666667 197.3333333333333 74.6666666666667S224 62.7093333333333 224 48S212.032 21.3333333333333 197.3333333333333 21.3333333333333S170.6666666666667 33.2906666666667 170.6666666666667 48z" />
|
||||
<glyph glyph-name="send"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M15.1786666666667 138.1546666666667L42.6666666666667 117.3333333333334L138.6666666666667 160L64.2453333333333 101.344V29.3546666666667C64.2453333333333 19.4026666666667 76.6613333333333 14.8693333333333 83.072 22.4853333333333L116.4693333333333 62.1653333333333L185.8026666666667 10.1546666666667C192.0853333333333 5.4506666666667 201.12 8.896 202.6666666666667 16.5973333333334L245.376 229.9306666666667C247.04 238.24 238.816 245.0773333333334 230.9546666666667 241.9306666666667L17.6213333333333 156.5973333333333C9.8986666666667 153.504 8.5226666666667 143.1466666666667 15.1786666666667 138.1546666666667z" />
|
||||
<glyph glyph-name="settings-gear-65"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M224 149.3333333333334H210.1333333333333C208 156.8 204.8 164.2666666666667 200.5333333333333 171.7333333333334L210.1333333333333 181.3333333333334C218.6666666666667 189.8666666666667 218.6666666666667 202.6666666666667 210.1333333333333 211.2H210.1333333333333C201.6 219.7333333333334 188.8 219.7333333333334 180.2666666666667 211.2L170.6666666666667 201.6C164.2666666666667 205.8666666666667 156.8 209.0666666666667 148.2666666666667 211.2V224C148.2666666666667 235.7333333333334 138.6666666666667 245.3333333333334 126.9333333333333 245.3333333333334S105.6 235.7333333333334 105.6 224V210.1333333333333C99.2 208 91.7333333333333 205.8666666666667 84.2666666666667 201.6L75.7333333333333 211.2C67.2 219.7333333333334 54.4 219.7333333333334 45.8666666666667 211.2H45.8666666666667C37.3333333333333 202.6666666666667 37.3333333333333 189.8666666666667 45.8666666666667 181.3333333333334L55.4666666666667 171.7333333333334C50.1333333333333 164.2666666666667 48 156.8 45.8666666666667 149.3333333333334H32C20.2666666666667 149.3333333333334 10.6666666666667 139.7333333333334 10.6666666666667 128C10.6666666666667 116.2666666666667 20.2666666666667 106.6666666666667 32 106.6666666666667H45.8666666666667C48 99.2 51.2 91.7333333333334 55.4666666666667 84.2666666666667L45.8666666666667 74.6666666666667C37.3333333333333 66.1333333333334 37.3333333333333 53.3333333333333 45.8666666666667 44.8H45.8666666666667C54.4 36.2666666666667 67.2 36.2666666666667 75.7333333333333 44.8L85.3333333333333 54.4C91.7333333333333 50.1333333333333 99.2 46.9333333333333 107.7333333333333 44.8V32C107.7333333333333 20.2666666666667 117.3333333333333 10.6666666666667 129.0666666666667 10.6666666666667S150.4 20.2666666666667 150.4 32V45.8666666666667C157.8666666666667 48 165.3333333333334 51.2 172.8 55.4666666666667L182.4 45.8666666666667C190.9333333333333 37.3333333333333 203.7333333333334 37.3333333333333 212.2666666666667 45.8666666666667H212.2666666666667C220.8 54.4 220.8 67.2 212.2666666666667 75.7333333333334L202.6666666666667 85.3333333333333C206.9333333333334 91.7333333333334 210.1333333333334 99.2 212.2666666666667 107.7333333333334H224C235.7333333333334 107.7333333333334 245.3333333333334 117.3333333333334 245.3333333333334 129.0666666666667C245.3333333333333 139.7333333333334 235.7333333333334 149.3333333333334 224 149.3333333333334zM128 96C109.8666666666667 96 96 109.8666666666667 96 128S109.8666666666667 160 128 160S160 146.1333333333333 160 128S146.1333333333333 96 128 96z" />
|
||||
<glyph glyph-name="settings"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M115.7653333333333 155.3173333333334L71.5413333333333 199.5413333333334L85.3333333333333 213.3333333333334L42.6666666666667 256L0 213.3333333333334L42.6666666666667 170.6666666666667L56.4586666666667 184.4586666666667L98.016 142.9013333333334z M202.0266666666667 107.3066666666667C198.7306666666667 106.9226666666667 195.392 106.6666666666667 192 106.6666666666667C188.7466666666667 106.6666666666667 185.5146666666667 106.8586666666667 182.272 107.232L143.4346666666667 59.2426666666667L191.6266666666667 11.0506666666667C206.3573333333334 -3.6799999999999 230.2293333333334 -3.6799999999999 244.96 11.0506666666667V11.0506666666667C259.6906666666667 25.7813333333334 259.6906666666667 49.6533333333334 244.96 64.384L202.0266666666667 107.3066666666667z M216.224 183.776L183.776 216.224L217.9946666666667 250.4426666666667C210.048 253.984 201.2693333333333 256 192 256C156.6506666666667 256 128 227.3493333333334 128 192C128 185.664 128.9493333333333 179.5626666666667 130.6666666666667 173.7813333333334L15.584 80.6613333333334C6.08 72.2666666666667 0.4053333333333 60.192 0.0213333333333 47.5306666666667C-0.3733333333333 34.8586666666667 4.544 22.4533333333333 13.504 13.504C22.208 4.7893333333334 33.7813333333333 0 46.0906666666667 0C59.3066666666667 0 71.9146666666667 5.6746666666667 80.6613333333333 15.584L173.7813333333334 130.6666666666667C179.5626666666667 128.9493333333334 185.664 128 192 128C227.3493333333334 128 256 156.6506666666667 256 192C256 201.2693333333334 253.984 210.048 250.4426666666667 218.0053333333334L216.224 183.776z" />
|
||||
<glyph glyph-name="single-02"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M164.9173333333333 106.4213333333333C153.856 99.9253333333334 141.4186666666667 96 128 96S102.144 99.9253333333333 91.0826666666667 106.4213333333333C52.2026666666667 103.872 21.3333333333333 71.5093333333334 21.3333333333333 32V13.5466666666667L28.7466666666667 11.168C30.176 10.72 64.4053333333333 0 128 0S225.824 10.72 227.2533333333334 11.168L234.6666666666667 13.5466666666667V32C234.6666666666667 71.5093333333334 203.7973333333334 103.872 164.9173333333333 106.4213333333333z M128 117.3333333333334C164.0426666666667 117.3333333333334 192 157.472 192 192C192 227.296 163.296 256 128 256S64 227.296 64 192C64 157.472 91.9573333333333 117.3333333333334 128 117.3333333333334z" />
|
||||
<glyph glyph-name="single-copy-04"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 21.3333333333333H224V234.6666666666667H42.6666666666667V256H234.6666666666667C240.5546666666667 256 245.3333333333333 251.2213333333334 245.3333333333333 245.3333333333334V21.3333333333333z M192 213.3333333333334H21.3333333333333C15.4453333333333 213.3333333333334 10.6666666666667 208.5546666666667 10.6666666666667 202.6666666666667V10.6666666666667C10.6666666666667 4.7786666666667 15.4453333333333 0 21.3333333333333 0H192C197.888 0 202.6666666666667 4.7786666666667 202.6666666666667 10.6666666666667V202.6666666666667C202.6666666666667 208.5546666666667 197.888 213.3333333333334 192 213.3333333333334zM117.3333333333333 53.3333333333333H53.3333333333333V74.6666666666667H117.3333333333333V53.3333333333333zM160 96H53.3333333333333V117.3333333333334H160V96zM160 138.6666666666667H53.3333333333333V160H160V138.6666666666667z" />
|
||||
<glyph glyph-name="sound-wave"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M96 32C91.6586666666667 32 87.7226666666667 34.6453333333333 86.0906666666667 38.6986666666667L50.9546666666667 126.5386666666667L40.8746666666667 111.4133333333333C38.8906666666667 108.448 35.5626666666667 106.6666666666667 32 106.6666666666667H0V128H26.2933333333333L44.4586666666667 155.2533333333333C46.656 158.5386666666667 50.4213333333333 160.3093333333334 54.4426666666667 159.9466666666667C58.3786666666667 159.5306666666667 61.7813333333333 156.9813333333334 63.2426666666667 153.3013333333333L94.7626666666667 74.4746666666667L139.1573333333333 216.512C140.544 220.9706666666667 144.6613333333333 224 149.3333333333333 224C149.344 224 149.344 224 149.3546666666667 224C154.0266666666667 223.9893333333333 158.1546666666667 220.9386666666667 159.5306666666666 216.4693333333334L196.032 97.824L215.4666666666667 123.7333333333334C217.472 126.4213333333333 220.64 128 224 128H256V106.6666666666667H229.3333333333333L200.5333333333333 68.2666666666667C198.1333333333333 65.0666666666667 194.144 63.488 190.1653333333333 64.16C186.2186666666667 64.8533333333334 182.9866666666667 67.7013333333334 181.8026666666667 71.5306666666667L149.248 177.312L106.176 39.488C104.832 35.1786666666667 100.928 32.1813333333334 96.416 32.0106666666667C96.2666666666667 32 96.1386666666667 32 96 32z" />
|
||||
<glyph glyph-name="spaceship"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M254.592 243.3493333333334A10.623999999999999 10.623999999999999 0 0 1 243.392 254.6026666666667C198.6453333333333 252.2666666666667 162.4 238.6773333333334 133.4613333333334 220.7893333333333C98.4 233.6 59.424 225.376 32.7573333333334 198.6986666666667A96.544 96.544 0 0 1 18.0053333333334 179.5093333333333C15.5413333333334 175.328 16.224 169.9946666666667 19.6586666666667 166.5493333333333L50.4 135.808C42.0373333333334 121.9733333333333 38.0906666666667 112.5226666666667 37.952 112.1706666666667C36.3626666666667 108.2026666666667 37.2906666666667 103.6693333333333 40.3093333333334 100.6506666666666L100.6506666666667 40.3093333333333A10.666666666666666 10.666666666666666 0 0 1 112.2346666666667 37.9733333333333C112.5866666666667 38.112 121.9626666666667 42.0906666666666 135.7226666666667 50.496L166.56 19.6586666666666A10.613333333333335 10.613333333333335 0 0 1 179.5200000000001 18.016A95.93599999999998 95.93599999999998 0 0 1 198.7093333333334 32.768C225.6106666666667 59.6693333333333 233.7813333333334 98.8266666666667 220.6720000000001 133.9946666666667C238.4853333333334 162.8586666666667 252.0746666666668 198.9333333333333 254.5920000000001 243.3493333333334zM110.4853333333333 60.64L60.5866666666667 110.528C69.3013333333333 128.5333333333334 98.3253333333333 179.7013333333334 157.1306666666667 210.1013333333334L209.824 157.408C179.3706666666666 98.7093333333334 128.4693333333334 69.4613333333334 110.4853333333333 60.64z M128 149.3333333333334C128 137.5512586702764 137.5512586702764 128 149.3333333333333 128C161.1154079963903 128 170.6666666666667 137.5512586702764 170.6666666666667 149.3333333333334C170.6666666666667 161.1154079963903 161.1154079963903 170.6666666666667 149.3333333333333 170.6666666666667C137.5512586702764 170.6666666666667 128 161.1154079963903 128 149.3333333333334z M11.872 54.9973333333333A30.32533333333333 30.32533333333333 0 1 0 54.7733333333333 12.096C42.9226666666667 0.2453333333333 0 0 0 0S0.0213333333333 43.1573333333333 11.872 54.9973333333333z" />
|
||||
<glyph glyph-name="square-pin"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M234.6666666666667 0H21.3333333333333C17.632 0 14.208 1.92 12.256 5.056C10.3146666666667 8.2026666666667 10.1333333333333 12.128 11.7866666666667 15.4346666666667L43.7866666666667 79.4346666666667C46.4213333333333 84.704 52.8213333333333 86.8373333333334 58.1013333333333 84.2026666666667C63.3706666666667 81.568 65.504 75.1573333333334 62.8693333333333 69.888L38.592 21.3333333333333H217.408L193.1306666666666 69.8986666666667C190.496 75.168 192.6293333333333 81.5786666666667 197.8986666666666 84.2133333333333C203.1786666666666 86.848 209.5786666666666 84.704 212.2133333333333 79.4453333333333L244.2133333333333 15.4453333333333C245.8666666666667 12.1386666666666 245.6853333333333 8.2133333333333 243.744 5.0666666666666C241.792 1.92 238.368 0 234.6666666666667 0z M128 256C86.048 256 42.6666666666667 224.0853333333333 42.6666666666667 170.6666666666667C42.6666666666667 121.6 112.4693333333333 49.8453333333333 120.4266666666667 41.8133333333333C122.432 39.7973333333333 125.152 38.6666666666667 128 38.6666666666667S133.568 39.7973333333333 135.5733333333333 41.8133333333333C143.5306666666667 49.8453333333333 213.3333333333333 121.6 213.3333333333333 170.6666666666667C213.3333333333333 224.0853333333333 169.952 256 128 256zM128 149.3333333333334C116.2133333333334 149.3333333333334 106.6666666666667 158.88 106.6666666666667 170.6666666666667C106.6666666666667 182.4533333333333 116.2133333333334 192 128 192S149.3333333333334 182.4533333333333 149.3333333333334 170.6666666666667C149.3333333333333 158.88 139.7866666666667 149.3333333333334 128 149.3333333333334z" />
|
||||
<glyph glyph-name="support-16"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.3333333333333 160H240.9173333333333C229.856 199.2533333333333 199.264 229.856 160 240.9173333333334V245.3333333333334C160 251.2213333333334 155.232 256 149.3333333333334 256H106.6666666666667C100.768 256 96 251.2213333333334 96 245.3333333333334V240.9173333333334C56.736 229.856 26.144 199.2533333333333 15.0826666666667 160H10.6666666666667C4.768 160 0 155.2213333333334 0 149.3333333333333V106.6666666666667C0 100.7786666666667 4.768 96 10.6666666666667 96H15.0826666666667C26.144 56.7466666666667 56.736 26.144 96 15.0826666666667V10.6666666666667C96 4.7786666666667 100.768 0 106.6666666666667 0H149.3333333333334C155.232 0 160 4.7786666666667 160 10.6666666666667V15.0826666666667C199.264 26.144 229.856 56.7466666666667 240.9173333333333 96H245.3333333333333C251.232 96 256 100.7786666666667 256 106.6666666666667V149.3333333333333C256 155.2213333333334 251.232 160 245.3333333333333 160zM128 85.3333333333333C104.4693333333333 85.3333333333333 85.3333333333333 104.4693333333333 85.3333333333333 128S104.4693333333333 170.6666666666667 128 170.6666666666667S170.6666666666667 151.5306666666667 170.6666666666667 128S151.5306666666667 85.3333333333333 128 85.3333333333333zM218.4746666666667 160H183.3386666666667C177.728 169.6746666666667 169.6746666666667 177.728 160 183.3386666666667V218.4746666666667C187.3813333333333 208.8533333333334 208.8533333333333 187.3813333333334 218.4746666666667 160zM96 218.4746666666667V183.3386666666667C86.3253333333333 177.728 78.272 169.6746666666667 72.6613333333333 160H37.5253333333333C47.1466666666667 187.3813333333334 68.6186666666667 208.8533333333334 96 218.4746666666667zM37.5253333333333 96H72.6613333333333C78.272 86.3253333333333 86.3253333333333 78.272 96 72.6613333333334V37.5253333333334C68.6186666666667 47.1466666666667 47.1466666666667 68.6186666666667 37.5253333333333 96zM160 37.5253333333334V72.6613333333334C169.6746666666667 78.272 177.728 86.336 183.3386666666667 96H218.4746666666667C208.8533333333333 68.6186666666667 187.3813333333333 47.1466666666667 160 37.5253333333334z" />
|
||||
<glyph glyph-name="tablet-button"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M213.3333333333333 256H42.6666666666667C25.024 256 10.6666666666667 241.6426666666667 10.6666666666667 224V32C10.6666666666667 14.3573333333333 25.024 0 42.6666666666667 0H213.3333333333333C230.976 0 245.3333333333333 14.3573333333333 245.3333333333333 32V224C245.3333333333333 241.6426666666667 230.976 256 213.3333333333333 256zM128 21.3333333333333C122.112 21.3333333333333 117.3333333333333 26.112 117.3333333333333 32S122.112 42.6666666666667 128 42.6666666666667S138.6666666666667 37.888 138.6666666666667 32S133.888 21.3333333333333 128 21.3333333333333zM224 74.6666666666667C224 68.7786666666667 219.2213333333334 64 213.3333333333334 64H42.6666666666667C36.7786666666667 64 32 68.7786666666667 32 74.6666666666667V213.3333333333334C32 219.2213333333334 36.7786666666667 224 42.6666666666667 224H213.3333333333333C219.2213333333333 224 224 219.2213333333334 224 213.3333333333334V74.6666666666667z" />
|
||||
<glyph glyph-name="tag"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M242.208 124.8746666666667L124.8746666666667 242.2080000000001C122.88 244.2026666666667 120.16 245.3333333333334 117.3333333333333 245.3333333333334H21.3333333333333C15.4453333333333 245.3333333333334 10.6666666666667 240.5546666666667 10.6666666666667 234.6666666666667V138.6666666666667C10.6666666666667 135.84 11.7866666666667 133.12 13.792 131.1253333333334L131.1253333333333 13.792C133.2053333333333 11.7013333333334 135.936 10.6666666666667 138.6666666666667 10.6666666666667S144.128 11.712 146.208 13.792L242.208 109.792C246.3786666666667 113.952 246.3786666666667 120.704 242.208 124.8746666666667zM74.6666666666667 160C62.88 160 53.3333333333333 169.5466666666667 53.3333333333333 181.3333333333334C53.3333333333333 193.12 62.88 202.6666666666667 74.6666666666667 202.6666666666667S96 193.12 96 181.3333333333334C96 169.5466666666667 86.4533333333333 160 74.6666666666667 160z" />
|
||||
<glyph glyph-name="tie-bow"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 74.6666666666667L128 74.6666666666667C116.2666666666667 74.6666666666667 106.6666666666667 84.2666666666667 106.6666666666667 96V160C106.6666666666667 171.7333333333334 116.2666666666667 181.3333333333333 128 181.3333333333333H128C139.7333333333334 181.3333333333333 149.3333333333334 171.7333333333334 149.3333333333334 160V96C149.3333333333333 84.2666666666667 139.7333333333333 74.6666666666667 128 74.6666666666667z M240 204.8C230.4 210.1333333333333 218.6666666666667 211.2 208 204.8L165.3333333333333 181.3333333333334C168.5333333333333 174.9333333333333 170.6666666666667 167.4666666666667 170.6666666666667 160V138.6666666666667H202.6666666666667V117.3333333333334H170.6666666666667V96C170.6666666666667 88.5333333333333 168.5333333333333 81.0666666666667 165.3333333333333 74.6666666666667L209.0666666666666 50.1333333333333C214.4 46.9333333333333 219.7333333333333 45.8666666666666 225.0666666666666 45.8666666666666C230.4 45.8666666666666 235.7333333333333 46.9333333333333 241.0666666666667 50.1333333333333C250.6666666666667 55.4666666666667 257.0666666666666 66.1333333333333 257.0666666666666 77.8666666666667V177.0666666666667C256 188.8 249.6 198.4 240 204.8z M85.3333333333333 117.3333333333334H53.3333333333333V138.6666666666667H85.3333333333333V160C85.3333333333333 167.4666666666667 87.4666666666667 174.9333333333333 90.6666666666667 181.3333333333333L48 204.8C38.4 210.1333333333333 25.6 210.1333333333333 16 204.8C6.4 198.4 0 188.8 0 177.0666666666667V78.9333333333333C0 67.2 6.4 57.6 16 51.2C21.3333333333333 48 26.6666666666667 46.9333333333333 32 46.9333333333333C37.3333333333333 46.9333333333333 42.6666666666667 48 48 51.2L90.6666666666667 74.6666666666667C87.4666666666667 81.0666666666667 85.3333333333333 88.5333333333334 85.3333333333333 96V117.3333333333334z" />
|
||||
<glyph glyph-name="time-alarm"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M244.2666666666667 158.9333333333333C246.4 160 248.5333333333334 161.0666666666667 249.6 163.2C253.8666666666667 172.8 256 182.4 256 192C256 227.2 227.2 256 192 256C176 256 161.0666666666667 249.6 149.3333333333334 238.9333333333334C147.2 236.8 146.1333333333334 234.6666666666667 146.1333333333334 232.5333333333334C189.8666666666667 227.2 227.2 198.4 244.2666666666667 158.9333333333333z M11.7333333333333 158.9333333333333C29.8666666666667 198.4 66.1333333333333 226.1333333333334 109.8666666666667 232.5333333333334C109.8666666666667 234.6666666666667 108.8 236.8 106.6666666666667 238.9333333333334C94.9333333333333 249.6 80 256 64 256C28.8 256 0 227.2 0 192C0 182.4 2.1333333333333 172.8 6.4 164.2666666666667C7.4666666666667 162.1333333333333 9.6 160 11.7333333333333 158.9333333333333z M231.4666666666667 18.1333333333333L210.1333333333333 39.4666666666667C225.0666666666666 57.6 234.6666666666667 81.0666666666667 234.6666666666667 106.6666666666667C234.6666666666667 165.3333333333333 186.6666666666666 213.3333333333333 128 213.3333333333333S21.3333333333333 165.3333333333334 21.3333333333333 106.6666666666667C21.3333333333333 81.0666666666667 29.8666666666667 57.6 45.8666666666667 39.4666666666667L24.5333333333333 18.1333333333334C20.2666666666667 13.8666666666667 20.2666666666667 7.4666666666667 24.5333333333333 3.2C26.6666666666667 1.0666666666667 28.8 0 32 0S37.3333333333333 1.0666666666667 39.4666666666667 3.2L60.8 24.5333333333333C78.9333333333333 8.5333333333334 102.4 0 128 0C153.6 0 177.0666666666667 8.5333333333333 195.2 24.5333333333333L216.5333333333333 3.2C218.6666666666667 1.0666666666667 221.8666666666667 0 224 0S229.3333333333334 1.0666666666667 231.4666666666667 3.2C235.7333333333334 7.4666666666667 235.7333333333334 13.8666666666667 231.4666666666667 18.1333333333333zM181.3333333333333 96H117.3333333333333V160H138.6666666666667V117.3333333333334H181.3333333333333V96z" />
|
||||
<glyph glyph-name="trophy"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M213.3333333333333 234.6666666666667V256H42.6666666666667V234.6666666666667H0V170.6666666666667C0 147.1406250666667 19.1354165333333 128 42.6666666666667 128H48.9492192C59.0195317333333 103.2167968 80.4055989333333 84.2721354666667 106.6666666666667 77.4752608V42.6666666666667H96C78.3541664 42.6666666666667 64 28.3125002666667 64 10.6666666666667V0H192V10.6666666666667C192 28.3125002666667 177.6458336 42.6666666666667 160 42.6666666666667H149.3333333333334V77.4752608C175.5944010666667 84.2721354666667 196.9804682666667 103.2167968 207.0507808 128H213.3333333333333C236.8645834666667 128 256 147.1406250666667 256 170.6666666666667V234.6666666666667H213.3333333333333zM42.6666666666667 149.3333333333334C30.9062496 149.3333333333334 21.3333333333333 158.9010421333333 21.3333333333333 170.6666666666667V213.3333333333334H42.6666666666667V160C42.6666666666667 156.380208 42.9680992 152.8359370666667 43.407552 149.3333333333333H42.6666666666667zM234.6666666666667 170.6666666666667C234.6666666666667 158.9010421333333 225.0937504 149.3333333333334 213.3333333333333 149.3333333333334H212.592448C213.0319008 152.8359370666667 213.3333333333333 156.380208 213.3333333333333 160V213.3333333333334H234.6666666666667V170.6666666666667z" />
|
||||
<glyph glyph-name="tv-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M181.3333333333333 32H74.6666666666667C68.7786666666667 32 64 27.2213333333333 64 21.3333333333333S68.7786666666667 10.6666666666667 74.6666666666667 10.6666666666667H181.3333333333333C187.2213333333333 10.6666666666667 192 15.4453333333333 192 21.3333333333333S187.2213333333333 32 181.3333333333333 32z M245.3333333333333 245.3333333333334H10.6666666666667C4.7786666666667 245.3333333333334 0 240.5546666666667 0 234.6666666666667V64C0 58.112 4.7786666666667 53.3333333333333 10.6666666666667 53.3333333333333H245.3333333333333C251.2213333333333 53.3333333333333 256 58.112 256 64V234.6666666666667C256 240.5546666666667 251.2213333333333 245.3333333333334 245.3333333333333 245.3333333333334zM234.6666666666667 74.6666666666667H21.3333333333333V224H234.6666666666667V74.6666666666667z" />
|
||||
<glyph glyph-name="umbrella-13"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M245.28 129.056C239.6586666666667 185.7066666666667 194.6773333333333 229.2266666666667 138.6666666666667 234.1653333333334V256H117.3333333333333V234.1653333333334C61.3226666666667 229.2266666666667 16.3413333333333 185.7066666666667 10.72 129.056L9.5573333333333 117.3333333333334H246.4533333333333L245.28 129.056z M192 53.3333333333333C186.112 53.3333333333333 181.3333333333334 48.5546666666667 181.3333333333334 42.6666666666667C181.3333333333334 30.9013333333334 171.7653333333333 21.3333333333333 160 21.3333333333333S138.6666666666667 30.9013333333334 138.6666666666667 42.6666666666667V96H117.3333333333333V42.6666666666667C117.3333333333333 19.136 136.4693333333334 0 160 0S202.6666666666667 19.136 202.6666666666667 42.6666666666667C202.6666666666667 48.5546666666667 197.888 53.3333333333333 192 53.3333333333333z" />
|
||||
<glyph glyph-name="user-run"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M170.6666666666667 224C170.6666666666667 206.3268880054146 184.9935546720813 192 202.6666666666667 192C220.3397786612521 192 234.6666666666667 206.3268880054146 234.6666666666667 224C234.6666666666667 241.6731119945854 220.3397786612521 256 202.6666666666667 256C184.9935546720813 256 170.6666666666667 241.6731119945854 170.6666666666667 224z M237.7916672 178.2083328L219.2916672 159.7083328C215.4322912 155.8645834666667 209.3333333333333 155.5364586666667 205.0833333333333 158.9218752L128.2395829333333 220.4010421333334C115.4947914666667 230.6041674666667 97.1770826666667 229.5885418666667 85.6249994666667 218.0416672L67.1249994666667 199.5416672C62.9583328 195.3750005333334 62.9583328 188.6250005333334 67.1249994666667 184.4583338666667S78.0416661333333 180.2916672 82.2083328 184.4583338666667L100.7083328 202.9583338666667C104.5520832 206.8177088 110.6510410666667 207.1406250666667 114.9166656 203.7447925333334L144.0332021333333 180.4498709333333L109.7916661333333 146.2083349333333C102.9843744 139.4010432 99.6249994666666 130.0052096 100.5729162666666 120.4270848S106.6614581333333 102.2968746666667 114.6666666666667 96.9583338666667L147.1666666666667 74.9583338666667L119.5 38.4427093333334C115.9427082666667 33.7447925333334 116.8645834666667 27.0572928 121.5572917333333 23.5000010666667C123.4843754666667 22.0364586666667 125.75 21.3333333333333 127.9895829333334 21.3333333333333C131.2187498666667 21.3333333333333 134.4062496 22.7916672 136.5 25.5572917333333L164 61.8541664C167.7239584 66.510416 169.3333333333334 72.5624992 168.4166666666667 78.4583328C167.5 84.3489578666667 164.1249994666667 89.6249994666667 159.1666666666667 92.9270826666667L126.5 114.7083328C123.8333333333333 116.4895829333334 122.119792 119.3385408 121.8020832 122.5312490666667C121.4895829333334 125.7239573333333 122.6093749333333 128.8541653333333 124.8749994666667 131.1249994666667L160.7923168 167.0423168L191.760416 142.2656245333333C197.640624 137.5572917333333 204.7031242666667 135.2395829333334 211.7447914666667 135.2395829333334C219.9687498666667 135.2395829333334 228.1562496 138.4062496 234.3749994666667 144.6249994666667L252.8749994666667 163.1249994666667C257.0416661333334 167.2916661333333 257.0416661333334 174.0416661333333 252.8749994666667 178.2083328S241.9583338666667 182.3749994666667 237.7916672 178.2083328z M67.1250005333333 103.5416661333333L3.1250005333333 39.5416661333333C-1.0416661333333 35.3749994666667 -1.0416661333333 28.6249994666667 3.1250005333333 24.4583328C5.2083328 22.3749994666667 7.9374997333333 21.3333333333333 10.6666666666667 21.3333333333333S16.1250005333333 22.3749994666667 18.2083328 24.4583338666667L82.2083328 88.4583338666667C86.3749994666667 92.6250005333333 86.3749994666667 99.3750005333333 82.2083328 103.5416672S71.2916672 107.7083328 67.1250005333333 103.5416661333333z" />
|
||||
<glyph glyph-name="vector"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M99.68 177.3973333333333C54.5813333333333 164.9493333333334 21.3333333333333 123.6693333333333 21.3333333333333 74.6666666666667H42.6666666666667C42.6666666666667 121.7173333333333 80.9493333333333 160 128 160C115.616 160 105.0026666666667 167.104 99.68 177.3973333333333z M156.32 177.3973333333333C150.9973333333333 167.104 140.384 160 128 160C175.0506666666667 160 213.3333333333333 121.7173333333333 213.3333333333333 74.6666666666667H234.6666666666667C234.6666666666667 123.6693333333333 201.4186666666667 164.9493333333334 156.32 177.3973333333333z M32 181.3333333333334H97.9626666666667C96.768 184.6826666666667 96 188.2346666666667 96 192S96.768 199.3173333333334 97.9626666666667 202.6666666666667H32C26.112 202.6666666666667 21.3333333333333 197.888 21.3333333333333 192S26.112 181.3333333333334 32 181.3333333333334z M224 181.3333333333334C229.888 181.3333333333334 234.6666666666667 186.112 234.6666666666667 192S229.888 202.6666666666667 224 202.6666666666667H158.0373333333333C159.232 199.3173333333334 160 195.7653333333333 160 192S159.232 184.6826666666667 158.0373333333333 181.3333333333333H224z M0 192C0 180.2179253369431 9.5512586702764 170.6666666666667 21.3333333333333 170.6666666666667C33.1154079963903 170.6666666666667 42.6666666666667 180.2179253369431 42.6666666666667 192C42.6666666666667 203.7820746630569 33.1154079963903 213.3333333333334 21.3333333333333 213.3333333333334C9.5512586702764 213.3333333333334 0 203.7820746630569 0 192z M0 213.3333333333334H42.6666666666667V170.6666666666667H0V213.3333333333334z M213.3333333333333 213.3333333333334H256V170.6666666666667H213.3333333333333V213.3333333333334z M128 149.3333333333334C104.4693333333333 149.3333333333334 85.3333333333333 168.4693333333334 85.3333333333333 192S104.4693333333333 234.6666666666667 128 234.6666666666667S170.6666666666667 215.5306666666667 170.6666666666667 192S151.5306666666667 149.3333333333334 128 149.3333333333334zM128 213.3333333333334C116.2346666666667 213.3333333333334 106.6666666666667 203.7653333333333 106.6666666666667 192S116.2346666666667 170.6666666666667 128 170.6666666666667S149.3333333333334 180.2346666666667 149.3333333333334 192S139.7653333333333 213.3333333333334 128 213.3333333333334z M53.3333333333333 21.3333333333333H10.6666666666667C4.7786666666667 21.3333333333333 0 26.112 0 32V74.6666666666667C0 80.5546666666667 4.7786666666667 85.3333333333333 10.6666666666667 85.3333333333333H53.3333333333333C59.2213333333333 85.3333333333333 64 80.5546666666667 64 74.6666666666667V32C64 26.112 59.2213333333333 21.3333333333333 53.3333333333333 21.3333333333333z M245.3333333333333 21.3333333333333H202.6666666666667C196.7786666666667 21.3333333333333 192 26.112 192 32V74.6666666666667C192 80.5546666666667 196.7786666666667 85.3333333333333 202.6666666666667 85.3333333333333H245.3333333333333C251.2213333333333 85.3333333333333 256 80.5546666666667 256 74.6666666666667V32C256 26.112 251.2213333333333 21.3333333333333 245.3333333333333 21.3333333333333z" />
|
||||
<glyph glyph-name="watch-time"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M224 192C224 207.6586666666667 212.6826666666667 220.6613333333334 197.8133333333333 223.4133333333333L191.68 247.9253333333334C190.496 252.672 186.2293333333333 256 181.3333333333333 256H74.6666666666667C69.7706666666667 256 65.504 252.672 64.32 247.9253333333334L58.1866666666667 223.4133333333333C43.3173333333333 220.6613333333334 32 207.6586666666667 32 192V64C32 48.3413333333333 43.3173333333333 35.3386666666667 58.1866666666667 32.5866666666667L64.3093333333333 8.0746666666667C65.504 3.328 69.7706666666667 0 74.6666666666667 0H181.3333333333333C186.2293333333333 0 190.496 3.328 191.68 8.0746666666667L197.8026666666667 32.5866666666667C212.6826666666667 35.3386666666667 224 48.3413333333334 224 64V96H245.3333333333334V160H224V192zM202.6666666666667 64C202.6666666666667 58.1226666666667 197.8773333333333 53.3333333333333 192 53.3333333333333H64C58.1226666666667 53.3333333333333 53.3333333333333 58.1226666666667 53.3333333333333 64V192C53.3333333333333 197.8773333333333 58.1226666666667 202.6666666666667 64 202.6666666666667H192C197.8773333333333 202.6666666666667 202.6666666666667 197.8773333333333 202.6666666666667 192V64z M138.6666666666667 181.3333333333334L117.3333333333333 181.3333333333334L117.3333333333333 117.3333333333334L181.3333333333333 117.3333333333334L181.3333333333333 138.6666666666667L138.6666666666667 138.6666666666667z" />
|
||||
<glyph glyph-name="world"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M128 256C57.4186666666667 256 0 198.5813333333333 0 128S57.4186666666667 0 128 0S256 57.4186666666667 256 128S198.5813333333333 256 128 256zM128 21.3333333333333C101.3333333333333 21.3333333333333 76.9813333333333 31.2426666666667 58.2613333333333 47.4773333333334C58.3466666666667 47.616 58.464 47.7333333333334 58.5386666666667 47.872C76.16 77.3973333333333 65.0773333333333 95.4346666666667 56.896 103.5626666666667C54.7413333333333 105.7066666666667 52.2773333333333 107.6586666666667 49.7386666666667 109.6213333333333C43.104 114.7733333333334 38.7093333333333 118.176 38.7093333333333 128C38.7093333333333 132.6293333333333 41.2906666666667 134.4426666666667 54.0373333333333 138.7946666666667C62.8053333333333 141.792 72.736 145.184 79.1466666666667 153.472C94.0266666666667 172.7146666666667 77.664 202.3893333333334 74.2293333333333 208.1493333333334C72.4693333333333 211.104 70.56 213.8773333333334 68.576 216.5333333333333C84.608 227.328 103.744 233.7706666666667 124.3093333333333 234.4853333333334C127.6373333333333 228.8426666666667 133.1306666666667 224.0853333333333 138.528 219.4453333333334C143.136 215.4773333333333 150.4533333333333 213.8133333333333 154.2186666666667 209.12C156.3733333333333 206.432 155.328 201.248 155.4026666666667 197.856C155.552 191.1253333333334 159.6266666666666 181.3653333333333 173.3653333333333 181.3653333333333C173.9733333333333 181.3653333333333 174.6026666666666 181.3866666666667 175.2533333333333 181.4293333333333C180.5653333333333 181.8026666666667 197.1413333333333 185.6 213.8026666666666 191.104C226.8586666666667 173.3973333333333 234.6666666666667 151.616 234.6666666666667 128C234.6666666666667 69.184 186.816 21.3333333333333 128 21.3333333333333z M165.4826666666667 161.0346666666667C148.672 161.0346666666667 131.5093333333333 153.0453333333333 122.784 141.1626666666667C116.928 133.184 115.2213333333333 123.9573333333334 117.9733333333333 115.1786666666667C123.4666666666667 97.664 124 87.3386666666667 120.5653333333333 75.7653333333333C117.5146666666667 65.4826666666667 117.216 50.5706666666667 134.6346666666667 43.4666666666667C137.92 42.1226666666667 141.5253333333333 41.44 145.3226666666666 41.44C158.272 41.44 173.6 49.4506666666667 187.392 63.4346666666667C203.968 80.2346666666667 213.7173333333333 100.8213333333333 213.4826666666666 118.528C213.1626666666667 142.3573333333334 192.0746666666667 161.0346666666667 165.4826666666667 161.0346666666667z" />
|
||||
<glyph glyph-name="zoom-split-in"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M210.208 60.8746666666667C206.0373333333333 65.0453333333334 199.296 65.0453333333334 195.1253333333334 60.8746666666667S190.9546666666667 49.9626666666667 195.1253333333334 45.792L227.1253333333334 13.792C229.2053333333334 11.712 231.936 10.6666666666667 234.6666666666667 10.6666666666667S240.128 11.712 242.208 13.792C246.3786666666667 17.9626666666667 246.3786666666667 24.704 242.208 28.8746666666667L210.208 60.8746666666667z M106.6666666666667 256C47.8506666666667 256 0 208.1493333333334 0 149.3333333333334S47.8506666666667 42.6666666666667 106.6666666666667 42.6666666666667S213.3333333333333 90.5173333333333 213.3333333333333 149.3333333333334S165.4826666666667 256 106.6666666666667 256zM149.3333333333333 138.6666666666667H117.3333333333333V106.6666666666667H96V138.6666666666667H64V160H96V192H117.3333333333333V160H149.3333333333333V138.6666666666667z" />
|
||||
<glyph glyph-name="collection"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M22 224L22 192L11 192L0 192L0 181.534L0 171.068L10.75 170.784L21.5 170.5L21.775 154.75L22.051 139L11.025 139L0 139L0 128L0 117L11.025 117L22.051 117L21.775 101.25L21.5 85.5L10.75 85.216L0 84.932L0 74.466L0 64L11 64L22 64L22 32L22 0L139 0L256 0L256 128L256 256L139 256L22 256L22 224M235 127.995L235 20.99L138.75 21.245L42.5 21.5L42.23 42.75L41.96 64L52.98 64L64 64L64 74.466L64 84.932L53.25 85.216L42.5 85.5L42.225 101.25L41.949 117L52.975 117L64 117L64 128L64 139L52.975 139L41.949 139L42.225 154.75L42.5 170.5L53.25 170.784L64 171.068L64 181.534L64 192L53 192L42 192L42 212.833C42 224.292 42.3 233.967 42.667 234.333C43.033 234.7 86.458 235 139.167 235L235 235L235 127.995M96 128L96 85L149 85L202 85L202 128L202 171L149 171L96 171L96 128M182 128L182 107L149.5 107L117 107L117 128L117 149L149.5 149L182 149L182 128" />
|
||||
<glyph glyph-name="image"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M0 128L0 11L128 11L256 11L256 128L256 245L128 245L0 245L0 128M235 171.441C235 129.656 234.744 119.037 233.75 119.64C232.497 120.401 186.403 158.598 182.333 162.249L180.166 164.193L148.462 127.096C131.024 106.693 116.35 90 115.853 90C115.356 90 103.722 99 90 110C76.278 121 64.575 130 63.994 130C63.412 130 54.063 122.888 43.218 114.196C32.373 105.504 22.938 98.052 22.25 97.637C21.255 97.036 21 109.858 21 160.441L21 224L128 224L235 224L235 171.441M101.217 201.79C94.355 200.773 89.484 198.189 84.334 192.833C78.207 186.461 75.763 181.031 75.244 172.642C74.637 162.822 77.446 155.424 84.435 148.435C91.424 141.446 98.822 138.637 108.642 139.244C132.89 140.743 146.408 167.943 132.981 188.215C126.076 198.64 114.202 203.715 101.217 201.79M114.077 178.077C116.367 175.787 117 174.257 117 171.011C117 165.83 115.745 163.437 112.02 161.51C107.141 158.987 103.227 159.573 99.4 163.4C95.578 167.222 94.987 171.14 97.5 176C99.47 179.809 101.579 180.933 106.827 180.97C110.299 180.994 111.731 180.423 114.077 178.077M209.49 112.147L235 90.794L235 61.397L235 32L128 32L21 32L21.015 50.75L21.03 69.5L42.004 86.25C53.54 95.463 63.449 103 64.025 103C64.601 103 72.818 96.793 82.286 89.208C91.754 81.622 103.827 71.987 109.115 67.796L118.731 60.177L150.428 97.151C167.861 117.487 182.542 133.984 183.053 133.813C183.563 133.641 195.46 123.891 209.49 112.147" />
|
||||
<glyph glyph-name="shop"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M34.245 209.497C12.648 166.291 11.003 162.622 11.036 157.747C11.133 143.439 18.248 129.336 28.597 122.94L32 120.837L32 60.418L32 0L74.5 0L117 0L117 26.5L117 53L128 53L139 53L139 26.5L139 0L181.5 0L224 0L224 60.418L224 120.837L227.403 122.94C237.752 129.336 244.867 143.439 244.964 157.747C244.997 162.622 243.352 166.291 221.755 209.497L198.51 256L128 256L57.49 256L34.245 209.497M204.907 196.187C223.169 159.623 224.25 157.146 223.564 153.437C222.445 147.398 219.973 142.955 216.58 140.886C212.251 138.246 203.786 138.351 199.337 141.101C195.802 143.286 192 149.431 192 152.96C192 154.881 191.4 155 181.707 155L171.415 155L170.254 150.658C169.472 147.737 167.767 145.119 165.043 142.658C161.37 139.34 160.46 139 155.247 139.004C146.467 139.009 140.689 143.395 139.078 151.275L138.418 154.5L128 154.5L117.582 154.5L116.922 151.275C115.311 143.395 109.533 139.009 100.753 139.004C95.54 139 94.63 139.34 90.957 142.658C88.233 145.119 86.528 147.737 85.746 150.658L84.585 155L74.293 155C64.287 155 64 154.937 63.995 152.75C63.988 149.586 59.934 143.255 56.442 140.953C52.487 138.346 43.642 138.311 39.42 140.886C36.049 142.941 33.186 148.08 32.271 153.716C31.747 156.944 33.75 161.463 51.082 196.165L70.479 235L128 235L185.521 235L204.907 196.187M78.317 125.614C85.924 119.913 92.23 117.851 101.95 117.885C109.8 117.912 115.707 119.827 122.696 124.612L127.893 128.17L132.602 124.93C139.805 119.974 146.284 117.889 154.481 117.889C163.912 117.889 170.158 120.158 180.205 127.232C181.597 128.213 182.332 128.056 184.205 126.378C188 122.98 193.223 120.22 198.25 118.957L203 117.763L203 69.381L203 21L181.5 21L160 21L160 48L160 75L128 75L96 75L96 48L96 21L74.5 21L53 21L53 69.381L53 117.763L57.669 118.938C62.601 120.18 70.011 124.103 72.038 126.545C73.683 128.527 74.614 128.389 78.317 125.614" />
|
||||
<glyph glyph-name="ungroup"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M11 160L11 75L43 75L75 75L75 43L75 11L160 11L245 11L245 96L245 181L213 181L181 181L181 213L181 245L96 245L11 245L11 160M160 160L160 96L96 96L32 96L32 160L32 224L96 224L160 224L160 160M224 96L224 32L160 32L96 32L96 53.5L96 75L138.5 75L181 75L181 117.5L181 160L202.5 160L224 160L224 96" />
|
||||
<glyph glyph-name="world-2"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M113.63 255.01C85.844 251.5 59.791 239.266 40.142 220.5C-13.081 169.67 -12.827 85.301 40.7 34.967C58.266 18.449 79.155 7.785 104.5 2.394C115.485 0.058 140.515 0.058 151.5 2.395C178.843 8.21 201.725 20.562 219.599 39.156C261.858 83.115 267.53 148.763 233.496 200C227.079 209.66 209.552 227.243 200.227 233.375C185.482 243.071 168.553 250.085 151.752 253.46C142.18 255.383 122.816 256.17 113.63 255.01M80.346 218.25C66.451 198.907 56.913 172.408 54.43 146.25L53.742 139L37.777 139L21.812 139L22.523 144.25C25.978 169.767 42.212 197.015 63.568 213.139C68.734 217.04 83.793 226 85.182 226C85.584 226 83.408 222.513 80.346 218.25M118 182.5L118 139L96.362 139L74.724 139L75.414 145.75C77.565 166.792 84.971 187.624 96.299 204.5C100.481 210.73 115.161 226 116.968 226C117.662 226 118 211.733 118 182.5M147.869 218.25C160.281 205.924 168.942 191.36 174.777 173C177.748 163.652 181 147.358 181 141.824L181 139L159.5 139L138 139L138 182.5C138 211.733 138.338 226 139.032 226C139.6 226 143.576 222.513 147.869 218.25M179.209 221.634C189.762 215.62 194.242 212.203 203.334 203.231C219.215 187.559 230.64 165.203 233.477 144.25L234.188 139L218.223 139L202.258 139L201.57 146.25C199.087 172.408 189.549 198.907 175.654 218.25C172.592 222.513 170.416 226 170.818 226C171.22 226 174.996 224.035 179.209 221.634M54.43 109.75C56.913 83.592 66.451 57.093 80.346 37.75C83.408 33.488 85.632 30 85.289 30C83.97 30 71.221 37.411 65.5 41.503C57.79 47.018 46.284 58.732 40.553 66.901C31.812 79.361 24.418 97.753 22.523 111.75L21.812 117L37.777 117L53.742 117L54.43 109.75M118 73.5C118 42.032 117.69 30 116.879 30C115.044 30 100.666 45.028 96.309 51.5C90.327 60.386 84.629 72.284 81.223 83C78.252 92.348 75 108.642 75 114.176L75 117L96.5 117L118 117L118 73.5M180.597 110.75C178.324 89.269 170.845 68.073 159.69 51.5C155.335 45.029 140.957 30 139.121 30C138.31 30 138 42.032 138 73.5L138 117L159.629 117L181.258 117L180.597 110.75M233.477 111.75C231.505 97.182 223.389 77.661 214.099 65.139C208.576 57.694 197.706 46.665 191.185 41.891C186.51 38.467 172.006 30 170.818 30C170.416 30 172.481 33.337 175.407 37.415C189.532 57.101 199.078 83.495 201.57 109.75L202.258 117L218.223 117L234.188 117L233.477 111.75" />
|
||||
<glyph glyph-name="ui-04"
|
||||
unicode=""
|
||||
horiz-adv-x="256" d=" M60.5 255.324C40.632 252.533 21.376 236.603 14.192 217.015C10.95 208.175 10.152 193.2 12.411 183.613C17.247 163.1 34.884 145.303 55.103 140.537C64.339 138.36 190.028 138.299 200.257 140.467C220.62 144.782 238.673 162.757 243.589 183.613C244.773 188.639 245.069 193.202 244.685 200.5C243.863 216.087 239.53 226.326 229.07 237.394C222.26 244.601 215.845 248.832 206 252.614L198.5 255.494L131 255.62C93.875 255.689 62.15 255.556 60.5 255.324M76.535 233.909C84.449 232.446 89.339 229.795 95.474 223.641C104.462 214.625 108.134 203.334 106.022 191.208C104.582 182.935 102.027 177.966 95.862 171.448C76.111 150.564 40.67 160.048 33.024 188.263C29.798 200.164 34.161 215.079 43.432 223.847C49.448 229.537 53.541 231.875 60.5 233.594C66.951 235.188 69.358 235.236 76.535 233.909M202 231.375C214.639 225.298 222.802 213.504 223.774 199.913C224.765 186.064 219.127 174.436 207.594 166.542C198.545 160.348 195.021 159.943 152.724 160.238L115.091 160.5L118.373 165.5C130.863 184.534 130.922 210.024 118.519 228.837C116.583 231.773 115 234.388 115 234.649C115 234.91 133.113 234.983 155.25 234.812L195.5 234.5L202 231.375M59 116.326C52.281 115.159 43.125 111.303 36.415 106.815C15.804 93.029 6.649 68.331 12.978 43.585C15.552 33.522 19.121 27.064 26.5 19.122C33.741 11.328 42.085 5.737 50.928 2.753C57.413 0.564 58.379 0.531 124.094 0.222C198.612 -0.129 199.271 -0.081 213 6.649C221.879 11.001 232.882 21.414 237.83 30.147C244.395 41.735 246.694 59.188 243.463 72.897C239.136 91.251 223.631 107.957 205.072 114.262C198.54 116.481 198.078 116.496 130 116.628C92.325 116.701 60.375 116.565 59 116.326M140.351 94.75C139.929 94.062 138.268 91.547 136.66 89.16C125.199 72.145 125.603 44.679 137.577 26.885C139.46 24.088 141 21.619 141 21.4C141 20.4 66.724 21.08 61.799 22.124C44.292 25.839 32.022 40.828 32.022 58.5C32.022 69.276 35.346 77.251 43.048 84.952C53.609 95.514 55.166 95.802 102.309 95.911C133.117 95.982 140.96 95.742 140.351 94.75M196.546 94.632C205.268 92.31 210.633 88.462 217.182 79.832C224.666 69.97 226.081 55.233 220.669 43.5C209.72 19.763 179.402 13.833 161.11 31.851C154.503 38.358 151.397 44.176 149.855 52.935C148.593 60.098 149.906 68.935 153.187 75.367C155.644 80.183 163.108 88.286 167.704 91.126C175.097 95.695 187.084 97.152 196.546 94.632" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 123 KiB |
|
@ -0,0 +1,572 @@
|
|||
/*--------------------------------
|
||||
|
||||
hermes-dashboard-icons Web Font - built using nucleoapp.com
|
||||
License - nucleoapp.com/license/
|
||||
|
||||
-------------------------------- */
|
||||
@font-face {
|
||||
font-family: 'NucleoIcons';
|
||||
src: url('./nucleo-icons.eot');
|
||||
src: url('./nucleo-icons.eot') format('embedded-opentype'), url('./nucleo-icons.woff2') format('woff2'), url('./nucleo-icons.woff') format('woff'), url('./nucleo-icons.ttf') format('truetype'), url('./nucleo-icons.svg') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/*------------------------
|
||||
base class definition
|
||||
-------------------------*/
|
||||
.ni {
|
||||
display: inline-block;
|
||||
font: normal normal normal 14px/1 NucleoIcons;
|
||||
font-size: inherit;
|
||||
text-rendering: auto;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
/*------------------------
|
||||
change icon size
|
||||
-------------------------*/
|
||||
.ni-lg {
|
||||
font-size: 1.33333333em;
|
||||
line-height: 0.75em;
|
||||
vertical-align: -15%;
|
||||
}
|
||||
.ni-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.ni-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
.ni-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
.ni-5x {
|
||||
font-size: 5em;
|
||||
}
|
||||
|
||||
/*----------------------------------
|
||||
add a square/circle background
|
||||
-----------------------------------*/
|
||||
.ni.square,
|
||||
.ni.circle {
|
||||
padding: 0.33333333em;
|
||||
vertical-align: -16%;
|
||||
background-color: #eee;
|
||||
}
|
||||
.ni.circle {
|
||||
border-radius: 50%;
|
||||
}
|
||||
/*------------------------
|
||||
list icons
|
||||
-------------------------*/
|
||||
.ni-ul {
|
||||
padding-left: 0;
|
||||
margin-left: 2.14285714em;
|
||||
list-style-type: none;
|
||||
}
|
||||
.ni-ul > li {
|
||||
position: relative;
|
||||
}
|
||||
.ni-ul > li > .ni {
|
||||
position: absolute;
|
||||
left: -1.57142857em;
|
||||
top: 0.14285714em;
|
||||
text-align: center;
|
||||
}
|
||||
.ni-ul > li > .ni.lg {
|
||||
top: 0;
|
||||
left: -1.35714286em;
|
||||
}
|
||||
.ni-ul > li > .ni.circle,
|
||||
.ni-ul > li > .ni.square {
|
||||
top: -0.19047619em;
|
||||
left: -1.9047619em;
|
||||
}
|
||||
/*------------------------
|
||||
spinning icons
|
||||
-------------------------*/
|
||||
.ni.spin {
|
||||
-webkit-animation: nc-spin 2s infinite linear;
|
||||
-moz-animation: nc-spin 2s infinite linear;
|
||||
animation: nc-spin 2s infinite linear;
|
||||
}
|
||||
@-webkit-keyframes nc-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-moz-keyframes nc-spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-moz-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes nc-spin {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-o-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
/*------------------------
|
||||
rotated/flipped icons
|
||||
-------------------------*/
|
||||
.ni.rotate-90 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
|
||||
-webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
-o-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.ni.rotate-180 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
||||
-webkit-transform: rotate(180deg);
|
||||
-moz-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
-o-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.ni.rotate-270 {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
|
||||
-webkit-transform: rotate(270deg);
|
||||
-moz-transform: rotate(270deg);
|
||||
-ms-transform: rotate(270deg);
|
||||
-o-transform: rotate(270deg);
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
.ni.flip-y {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
|
||||
-webkit-transform: scale(-1, 1);
|
||||
-moz-transform: scale(-1, 1);
|
||||
-ms-transform: scale(-1, 1);
|
||||
-o-transform: scale(-1, 1);
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
.ni.flip-x {
|
||||
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
|
||||
-webkit-transform: scale(1, -1);
|
||||
-moz-transform: scale(1, -1);
|
||||
-ms-transform: scale(1, -1);
|
||||
-o-transform: scale(1, -1);
|
||||
transform: scale(1, -1);
|
||||
}
|
||||
/*------------------------
|
||||
font icons
|
||||
-------------------------*/
|
||||
|
||||
.ni-active-40::before {
|
||||
content: "\ea02";
|
||||
}
|
||||
|
||||
.ni-air-baloon::before {
|
||||
content: "\ea03";
|
||||
}
|
||||
|
||||
.ni-album-2::before {
|
||||
content: "\ea04";
|
||||
}
|
||||
|
||||
.ni-align-center::before {
|
||||
content: "\ea05";
|
||||
}
|
||||
|
||||
.ni-align-left-2::before {
|
||||
content: "\ea06";
|
||||
}
|
||||
|
||||
.ni-ambulance::before {
|
||||
content: "\ea07";
|
||||
}
|
||||
|
||||
.ni-app::before {
|
||||
content: "\ea08";
|
||||
}
|
||||
|
||||
.ni-archive-2::before {
|
||||
content: "\ea09";
|
||||
}
|
||||
|
||||
.ni-atom::before {
|
||||
content: "\ea0a";
|
||||
}
|
||||
|
||||
.ni-badge::before {
|
||||
content: "\ea0b";
|
||||
}
|
||||
|
||||
.ni-bag-17::before {
|
||||
content: "\ea0c";
|
||||
}
|
||||
|
||||
.ni-basket::before {
|
||||
content: "\ea0d";
|
||||
}
|
||||
|
||||
.ni-bell-55::before {
|
||||
content: "\ea0e";
|
||||
}
|
||||
|
||||
.ni-bold-down::before {
|
||||
content: "\ea0f";
|
||||
}
|
||||
|
||||
.ni-bold-left::before {
|
||||
content: "\ea10";
|
||||
}
|
||||
|
||||
.ni-bold-right::before {
|
||||
content: "\ea11";
|
||||
}
|
||||
|
||||
.ni-bold-up::before {
|
||||
content: "\ea12";
|
||||
}
|
||||
|
||||
.ni-bold::before {
|
||||
content: "\ea13";
|
||||
}
|
||||
|
||||
.ni-book-bookmark::before {
|
||||
content: "\ea14";
|
||||
}
|
||||
|
||||
.ni-books::before {
|
||||
content: "\ea15";
|
||||
}
|
||||
|
||||
.ni-box-2::before {
|
||||
content: "\ea16";
|
||||
}
|
||||
|
||||
.ni-briefcase-24::before {
|
||||
content: "\ea17";
|
||||
}
|
||||
|
||||
.ni-building::before {
|
||||
content: "\ea18";
|
||||
}
|
||||
|
||||
.ni-bulb-61::before {
|
||||
content: "\ea19";
|
||||
}
|
||||
|
||||
.ni-bullet-list-67::before {
|
||||
content: "\ea1a";
|
||||
}
|
||||
|
||||
.ni-bus-front-12::before {
|
||||
content: "\ea1b";
|
||||
}
|
||||
|
||||
.ni-button-pause::before {
|
||||
content: "\ea1c";
|
||||
}
|
||||
|
||||
.ni-button-play::before {
|
||||
content: "\ea1d";
|
||||
}
|
||||
|
||||
.ni-button-power::before {
|
||||
content: "\ea1e";
|
||||
}
|
||||
|
||||
.ni-calendar-grid-58::before {
|
||||
content: "\ea1f";
|
||||
}
|
||||
|
||||
.ni-camera-compact::before {
|
||||
content: "\ea20";
|
||||
}
|
||||
|
||||
.ni-caps-small::before {
|
||||
content: "\ea21";
|
||||
}
|
||||
|
||||
.ni-cart::before {
|
||||
content: "\ea22";
|
||||
}
|
||||
|
||||
.ni-chart-bar-32::before {
|
||||
content: "\ea23";
|
||||
}
|
||||
|
||||
.ni-chart-pie-35::before {
|
||||
content: "\ea24";
|
||||
}
|
||||
|
||||
.ni-chat-round::before {
|
||||
content: "\ea25";
|
||||
}
|
||||
|
||||
.ni-check-bold::before {
|
||||
content: "\ea26";
|
||||
}
|
||||
|
||||
.ni-circle-08::before {
|
||||
content: "\ea27";
|
||||
}
|
||||
|
||||
.ni-cloud-download-95::before {
|
||||
content: "\ea28";
|
||||
}
|
||||
|
||||
.ni-cloud-upload-96::before {
|
||||
content: "\ea29";
|
||||
}
|
||||
|
||||
.ni-compass-04::before {
|
||||
content: "\ea2a";
|
||||
}
|
||||
|
||||
.ni-controller::before {
|
||||
content: "\ea2b";
|
||||
}
|
||||
|
||||
.ni-credit-card::before {
|
||||
content: "\ea2c";
|
||||
}
|
||||
|
||||
.ni-curved-next::before {
|
||||
content: "\ea2d";
|
||||
}
|
||||
|
||||
.ni-delivery-fast::before {
|
||||
content: "\ea2e";
|
||||
}
|
||||
|
||||
.ni-diamond::before {
|
||||
content: "\ea2f";
|
||||
}
|
||||
|
||||
.ni-email-83::before {
|
||||
content: "\ea30";
|
||||
}
|
||||
|
||||
.ni-fat-add::before {
|
||||
content: "\ea31";
|
||||
}
|
||||
|
||||
.ni-fat-delete::before {
|
||||
content: "\ea32";
|
||||
}
|
||||
|
||||
.ni-fat-remove::before {
|
||||
content: "\ea33";
|
||||
}
|
||||
|
||||
.ni-favourite-28::before {
|
||||
content: "\ea34";
|
||||
}
|
||||
|
||||
.ni-folder-17::before {
|
||||
content: "\ea35";
|
||||
}
|
||||
|
||||
.ni-glasses-2::before {
|
||||
content: "\ea36";
|
||||
}
|
||||
|
||||
.ni-hat-3::before {
|
||||
content: "\ea37";
|
||||
}
|
||||
|
||||
.ni-headphones::before {
|
||||
content: "\ea38";
|
||||
}
|
||||
|
||||
.ni-html5::before {
|
||||
content: "\ea39";
|
||||
}
|
||||
|
||||
.ni-istanbul::before {
|
||||
content: "\ea3a";
|
||||
}
|
||||
|
||||
.ni-key-25::before {
|
||||
content: "\ea3b";
|
||||
}
|
||||
|
||||
.ni-laptop::before {
|
||||
content: "\ea3c";
|
||||
}
|
||||
|
||||
.ni-like-2::before {
|
||||
content: "\ea3d";
|
||||
}
|
||||
|
||||
.ni-lock-circle-open::before {
|
||||
content: "\ea3e";
|
||||
}
|
||||
|
||||
.ni-map-big::before {
|
||||
content: "\ea3f";
|
||||
}
|
||||
|
||||
.ni-mobile-button::before {
|
||||
content: "\ea40";
|
||||
}
|
||||
|
||||
.ni-money-coins::before {
|
||||
content: "\ea41";
|
||||
}
|
||||
|
||||
.ni-note-03::before {
|
||||
content: "\ea42";
|
||||
}
|
||||
|
||||
.ni-notification-70::before {
|
||||
content: "\ea43";
|
||||
}
|
||||
|
||||
.ni-palette::before {
|
||||
content: "\ea44";
|
||||
}
|
||||
|
||||
.ni-paper-diploma::before {
|
||||
content: "\ea45";
|
||||
}
|
||||
|
||||
.ni-pin-3::before {
|
||||
content: "\ea46";
|
||||
}
|
||||
|
||||
.ni-planet::before {
|
||||
content: "\ea47";
|
||||
}
|
||||
|
||||
.ni-ruler-pencil::before {
|
||||
content: "\ea48";
|
||||
}
|
||||
|
||||
.ni-satisfied::before {
|
||||
content: "\ea49";
|
||||
}
|
||||
|
||||
.ni-scissors::before {
|
||||
content: "\ea4a";
|
||||
}
|
||||
|
||||
.ni-send::before {
|
||||
content: "\ea4b";
|
||||
}
|
||||
|
||||
.ni-settings-gear-65::before {
|
||||
content: "\ea4c";
|
||||
}
|
||||
|
||||
.ni-settings::before {
|
||||
content: "\ea4d";
|
||||
}
|
||||
|
||||
.ni-single-02::before {
|
||||
content: "\ea4e";
|
||||
}
|
||||
|
||||
.ni-single-copy-04::before {
|
||||
content: "\ea4f";
|
||||
}
|
||||
|
||||
.ni-sound-wave::before {
|
||||
content: "\ea50";
|
||||
}
|
||||
|
||||
.ni-spaceship::before {
|
||||
content: "\ea51";
|
||||
}
|
||||
|
||||
.ni-square-pin::before {
|
||||
content: "\ea52";
|
||||
}
|
||||
|
||||
.ni-support-16::before {
|
||||
content: "\ea53";
|
||||
}
|
||||
|
||||
.ni-tablet-button::before {
|
||||
content: "\ea54";
|
||||
}
|
||||
|
||||
.ni-tag::before {
|
||||
content: "\ea55";
|
||||
}
|
||||
|
||||
.ni-tie-bow::before {
|
||||
content: "\ea56";
|
||||
}
|
||||
|
||||
.ni-time-alarm::before {
|
||||
content: "\ea57";
|
||||
}
|
||||
|
||||
.ni-trophy::before {
|
||||
content: "\ea58";
|
||||
}
|
||||
|
||||
.ni-tv-2::before {
|
||||
content: "\ea59";
|
||||
}
|
||||
|
||||
.ni-umbrella-13::before {
|
||||
content: "\ea5a";
|
||||
}
|
||||
|
||||
.ni-user-run::before {
|
||||
content: "\ea5b";
|
||||
}
|
||||
|
||||
.ni-vector::before {
|
||||
content: "\ea5c";
|
||||
}
|
||||
|
||||
.ni-watch-time::before {
|
||||
content: "\ea5d";
|
||||
}
|
||||
|
||||
.ni-world::before {
|
||||
content: "\ea5e";
|
||||
}
|
||||
|
||||
.ni-zoom-split-in::before {
|
||||
content: "\ea5f";
|
||||
}
|
||||
|
||||
.ni-collection::before {
|
||||
content: "\ea60";
|
||||
}
|
||||
|
||||
.ni-image::before {
|
||||
content: "\ea61";
|
||||
}
|
||||
|
||||
.ni-shop::before {
|
||||
content: "\ea62";
|
||||
}
|
||||
|
||||
.ni-ungroup::before {
|
||||
content: "\ea63";
|
||||
}
|
||||
|
||||
.ni-world-2::before {
|
||||
content: "\ea64";
|
||||
}
|
||||
|
||||
.ni-ui-04::before {
|
||||
content: "\ea65";
|
||||
}
|
||||
|
||||
|
||||
/* all icon font classes list here */
|
|
@ -0,0 +1,252 @@
|
|||
|
||||
/* Silk.NET Additions */
|
||||
.silk-home-text {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.silk-dnf-logo {
|
||||
height: 48px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.silk-buzzcards > div > .card {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.silk-supported-logo {
|
||||
max-height: 48px;
|
||||
max-width:100%;
|
||||
}
|
||||
|
||||
.navbar-silk {
|
||||
width: 100%;
|
||||
height: 96px;
|
||||
}
|
||||
|
||||
.navbar-silk-fixed {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.navbar-brand img {
|
||||
height: 48px;
|
||||
}
|
||||
|
||||
.navbar-silk .navbar-brand img {
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
.navbar-silk-fixed .navbar-brand {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.navbar-silk-fixed .silk-nav-btn {
|
||||
margin-left: 0px !important;
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
|
||||
@media (max-width: 991.98px) {
|
||||
.navbar-expand-lg>.container, .navbar-expand-lg>.container-fluid {
|
||||
padding-right: 15px !important;
|
||||
padding-left: 15px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar.navbar-main {
|
||||
z-index: 1069;
|
||||
min-height: 56px;
|
||||
}
|
||||
|
||||
.silk-dropdown-menu {
|
||||
z-index: 2048;
|
||||
}
|
||||
|
||||
.dropdown-item > i {
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
|
||||
.docs {
|
||||
background: white;
|
||||
}
|
||||
|
||||
|
||||
@media (min-width:751px) {
|
||||
.ct-sidebar {
|
||||
top: 0rem;
|
||||
height: calc(100vh);
|
||||
}
|
||||
|
||||
.silk-sidebar-activator {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width:750px) {
|
||||
.breadcrumb {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.ct-links {
|
||||
height: 100%;
|
||||
max-height: calc(100vh);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.silk-disclaimer > small {
|
||||
font-size: 60%;
|
||||
}
|
||||
|
||||
.silk-disclaimer {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.silk-last-hr {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.silk-content .lead, .silk-content p {
|
||||
font-weight: inherit !important;
|
||||
}
|
||||
|
||||
.silk-content img {
|
||||
width: 600px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.dropdown-menu .dropdown-item {
|
||||
padding: .25rem 1.5rem !important;
|
||||
}
|
||||
|
||||
.silk-blog h1, .silk-blog h2, .silk-blog h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
color: #abb2bf;
|
||||
}
|
||||
|
||||
/* These are based on the Nord colour pallette */
|
||||
|
||||
.silk-dark, .silk-dark .dropdown-item:hover {
|
||||
background: #3B4252 !important;
|
||||
}
|
||||
|
||||
.silk-dark .headroom--not-top, .silk-dark .navbar-dark, .silk-dark .section-shaped .shape-style-1.shape-dark, .silk-dark .navbar-silk-fixed, .silk-dark .ct-sidebar, .silk-dark .breadcrumb, .silk-dark .dropdown-menu, .silk-dark .navbar-nav .dropdown-menu:before, code, pre {
|
||||
background: #2E3440;
|
||||
}
|
||||
|
||||
.silk-dark .card, .silk-dark .dropdown-item:focus {
|
||||
background: #434C5E;
|
||||
}
|
||||
|
||||
.silk-dark .bg-gradient-default {
|
||||
background: #2E3440 !important;
|
||||
}
|
||||
|
||||
.silk-dark, .silk-dark p, .silk-dark .ct-sidebar .nav>li>a {
|
||||
color: #D8DEE9;
|
||||
}
|
||||
|
||||
.silk-dark .text-default {
|
||||
color: #D8DEE9 !important;
|
||||
}
|
||||
|
||||
.silk-dark .h1, .silk-dark .h2, .silk-dark .h3, .silk-dark .h4, .silk-dark .h5, .silk-dark .h6, .silk-dark h1, .silk-dark h2, .silk-dark h3, .silk-dark h4, .silk-dark h5, .silk-dark h6, .silk-dark a {
|
||||
color: #81A1C1;
|
||||
}
|
||||
|
||||
.silk-dark .btn-outline-primary, .silk-dark .btn-primary, .silk-dark .btn-success, .silk-dark .btn-warning {
|
||||
color: #ECEFF4;
|
||||
}
|
||||
|
||||
|
||||
.silk-dark .text-primary {
|
||||
color: #81A1C1 !important;
|
||||
}
|
||||
|
||||
.silk-dark .btn-white, .silk-dark .ni .text-primary i, .silk-dark .text-primary .icon {
|
||||
color: #2E3440 !important;
|
||||
}
|
||||
|
||||
.silk-dark a:hover, .silk-dark .ct-toc-item.active > .ct-toc-link, .silk-dark .dropdown-item:focus, .silk-dark .dropdown-item:hover, .silk-dark .dropdown-item:active, .silk-dark .ct-sidebar .nav>.active:hover>a, .silk-dark .ct-sidebar .nav>.active>a {
|
||||
color: #88C0D0;
|
||||
}
|
||||
|
||||
.silk-dark .dropdown-menu a.media:hover .heading, .silk-dark .dropdown-menu a.media:hover p {
|
||||
color: #88C0D0 !important;
|
||||
}
|
||||
|
||||
.silk-dark .ct-sidebar {
|
||||
border-right: 0px;
|
||||
border-bottom: 0px;
|
||||
}
|
||||
|
||||
.silk-dark .ct-sidebar .nav>.active>a:before {
|
||||
background-color: #88C0D0;
|
||||
}
|
||||
|
||||
.silk-dark .icon-shape-info, .silk-dark .badge-info {
|
||||
background-color: rgba(65,215,242,.1);
|
||||
}
|
||||
|
||||
.silk-dark .text-danger {
|
||||
color: #BF616A !important;
|
||||
}
|
||||
|
||||
.silk-dark .alert-danger {
|
||||
background-color: #BF616A !important;
|
||||
}
|
||||
|
||||
.silk-dark .text-success {
|
||||
color: #A3BE8C !important;
|
||||
}
|
||||
|
||||
.silk-dark .badge-success, .silk-dark .btn-success {
|
||||
border-color: #A3BE8C;
|
||||
background-color: #A3BE8C;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.silk-dark .text-warning {
|
||||
color: #D08770 !important;
|
||||
}
|
||||
|
||||
.silk-dark .badge-warning, .silk-dark .btn-warning {
|
||||
border-color: #D08770;
|
||||
background-color: #D08770;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.silk-dark .silk-nav-btn a {
|
||||
color: #ECEFF4 !important;
|
||||
}
|
||||
|
||||
.silk-dark .silk-invert-dark {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
.silk-dark .silk-light-only {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.silk-light .section-shaped .shape-style-1.shape-dark, .silk-light .headroom--not-top, .silk-light .navbar-dark {
|
||||
background: #dfd8f7;
|
||||
box-shadow: 0 2.5px 2.5px 0px rgb(0 0 0 / 20%);
|
||||
}
|
||||
|
||||
.silk-light .section-shaped .shape-style-1.shape-dark span {
|
||||
filter: brightness(0.5);
|
||||
}
|
||||
|
||||
.silk-light .silk-home-text, .silk-light .nav-link {
|
||||
color: #08090a !important;
|
||||
}
|
||||
|
||||
.silk-light .silk-dark-only {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body {
|
||||
transition: background .15s linear;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
var headrooms = document.querySelector(".headroom");
|
||||
if (headrooms != null && headrooms.length > 0) {
|
||||
new Headroom(headrooms).init();
|
||||
}
|
||||
|
||||
hljs.highlightAll();
|
||||
|
||||
function setTheme(theme) {
|
||||
localStorage.setItem('theme', theme);
|
||||
$("body").attr("class", "silk-" + theme);
|
||||
}
|
||||
|
||||
$("#lighton").click(function() {
|
||||
setTheme("light");
|
||||
});
|
||||
|
||||
$("#lightoff").click(function() {
|
||||
setTheme("dark");
|
||||
});
|
||||
|
||||
(function () {
|
||||
if (localStorage.getItem("theme") === "dark") {
|
||||
setTheme("dark");
|
||||
} else if (localStorage.getItem("theme") === "light") {
|
||||
setTheme("light");
|
||||
} else if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
|
||||
setTheme("dark");
|
||||
} else {
|
||||
setTheme("light");
|
||||
}
|
||||
})();
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
<header class="header-global">
|
||||
@if (Model.GetBool("HeadroomNav"))
|
||||
{
|
||||
<nav id="navbar-main" class="navbar navbar-main navbar-expand-lg navbar-transparent navbar-silk headroom">
|
||||
@Html.Partial("11-navcontent.cshtml")
|
||||
</nav>
|
||||
}
|
||||
else
|
||||
{
|
||||
<nav id="navbar-main" class="navbar navbar-main navbar-expand-lg navbar-horizontal navbar-dark navbar-silk-fixed">
|
||||
@Html.Partial("11-navcontent.cshtml")
|
||||
</nav>
|
||||
}
|
||||
</header>
|
|
@ -0,0 +1,163 @@
|
|||
|
||||
@{
|
||||
TableOfContentsElement tocModelRoot = null!;
|
||||
var tocModel = Model.GetToc();
|
||||
if (!(tocModel is null))
|
||||
{
|
||||
tocModelRoot = tocModel.Root;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("The Silk.NET website needs a ToC.");
|
||||
}
|
||||
|
||||
var navImg = string.Empty;
|
||||
}
|
||||
|
||||
<div class="container-fluid">
|
||||
@{var imgClass = "";}
|
||||
@if (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.img.dark", out navImg) ?? false)
|
||||
{
|
||||
imgClass = "silk-light-only";
|
||||
<a class="navbar-brand silk-dark-only" href="@InputUrl(tocModelRoot.Href)">
|
||||
<img src="@InputUrl(navImg)">
|
||||
</a>
|
||||
}
|
||||
@if (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.img", out navImg) ?? false)
|
||||
{
|
||||
<a class="navbar-brand @imgClass" href="@InputUrl(tocModelRoot.Href)">
|
||||
<img src="@InputUrl(navImg)">
|
||||
</a>
|
||||
}
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar_global" aria-controls="navbar_global" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse" id="navbar_global">
|
||||
<div class="navbar-collapse-header">
|
||||
<div class="row">
|
||||
<div class="col-6 collapse-brand">
|
||||
@if (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.img", out navImg) ?? false)
|
||||
{
|
||||
<a href="@InputUrl(tocModelRoot.Href)">
|
||||
<img src="@InputUrl(navImg)">
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
<div class="col-6 collapse-close">
|
||||
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar_global" aria-controls="navbar_global" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav navbar-nav-hover align-items-lg-center">
|
||||
@foreach (var tocChild in tocModelRoot.Children ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
var bigDropdown = string.Empty;
|
||||
if ((tocChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown", out bigDropdown) ?? false) && bool.Parse(bigDropdown))
|
||||
{
|
||||
<li class="nav-item dropdown">
|
||||
<a href="@InputUrl(tocChild.Href)" class="nav-link" data-toggle="dropdown" href="#" role="button">
|
||||
<i class="ni ni-bold-right d-lg-none"></i>
|
||||
<span class="nav-link-inner--text">@tocChild.Name</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-xl">
|
||||
<div class="dropdown-menu-inner">
|
||||
@foreach (var innerChild in tocChild.Children ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
var innerChildTitleClass = string.Empty;
|
||||
var innerChildTitle = string.Empty;
|
||||
var innerChildIconClass = string.Empty;
|
||||
var innerChildIcon = string.Empty;
|
||||
var innerChildDescription = string.Empty;
|
||||
if ((innerChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown.title.class", out innerChildTitleClass) ?? false) &&
|
||||
(innerChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown.title", out innerChildTitle) ?? false) &&
|
||||
(innerChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown.icon.class", out innerChildIconClass) ?? false) &&
|
||||
(innerChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown.icon", out innerChildIcon) ?? false) &&
|
||||
(innerChild.Metadata?.TryGetValue("theme.silk.nav.big_dropdown.description", out innerChildDescription) ?? false))
|
||||
{
|
||||
<a href="@InputUrl(innerChild.Href)" class="media d-flex align-items-center">
|
||||
<div class="@innerChildIconClass">
|
||||
<i class="@innerChildIcon"></i>
|
||||
</div>
|
||||
<div class="media-body ml-3">
|
||||
<h6 class="@innerChildTitleClass">@innerChildTitle</h6>
|
||||
<p class="description d-none d-md-inline-block mb-0">@innerChildDescription</p>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a href="@InputUrl(tocChild.Href)" class="nav-link">
|
||||
<i class="ni ni-bold-right d-lg-none"></i>
|
||||
<span class="nav-link-inner--text">@tocChild.Name</span>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
<ul class="navbar-nav align-items-lg-center ml-lg-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link nav-link-icon silk-dark-only" id="lighton" href="#" data-toggle="tooltip" title="Toggle Light Mode">
|
||||
<i class="fa fa-sun"></i>
|
||||
<span class="nav-link-inner--text d-lg-none">Toggle Light Mode</span>
|
||||
</a>
|
||||
<a class="nav-link nav-link-icon silk-light-only" id="lightoff" href="#" data-toggle="tooltip" title="Toggle Dark Mode">
|
||||
<i class="fa fa-moon"></i>
|
||||
<span class="nav-link-inner--text d-lg-none">Toggle Dark Mode</span>
|
||||
</a>
|
||||
</li>
|
||||
@{
|
||||
var discordLink = string.Empty;
|
||||
var githubLink = string.Empty;
|
||||
}
|
||||
@if (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.discord", out discordLink) ?? false)
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a class="nav-link nav-link-icon" href="@discordLink" target="_blank" data-toggle="tooltip" title="Chat to us on Discord">
|
||||
<i class="fab fa-discord"></i>
|
||||
<span class="nav-link-inner--text d-lg-none">Discord</span>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
@if (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.github", out discordLink) ?? false)
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a class="nav-link nav-link-icon" href="@githubLink" target="_blank" data-toggle="tooltip" title="Star us on Github">
|
||||
<i class="fab fa-github"></i>
|
||||
<span class="nav-link-inner--text d-lg-none">GitHub</span>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
@{
|
||||
var navBtnClass = string.Empty;
|
||||
var navBtnTxt = string.Empty;
|
||||
var navBtnHref = string.Empty;
|
||||
}
|
||||
@if ((tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.btn", out navBtnClass) ?? false) &&
|
||||
(tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.btn.txt", out navBtnTxt) ?? false) &&
|
||||
(tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.btn.href", out navBtnHref) ?? false))
|
||||
{
|
||||
<li class="nav-item d-none d-lg-block ml-lg-4 silk-nav-btn">
|
||||
@{
|
||||
var navBtnHrefAbs = "false";
|
||||
var hrefToUse = (tocModelRoot.Metadata?.TryGetValue("theme.silk.nav.btn.href.abs", out navBtnHrefAbs) ?? false) && bool.Parse(navBtnHrefAbs)
|
||||
? navBtnHref
|
||||
: InputUrl(navBtnHref);
|
||||
}
|
||||
|
||||
<a href="@hrefToUse" target="_blank" class="btn btn-outline-primary">
|
||||
<span class="nav-link-inner--text">Getting Started</span>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,16 @@
|
|||
@{var isRawContent = "false"; var tocModel = Model.GetToc(); }
|
||||
@if (!(tocModel?.Node is null))
|
||||
{
|
||||
@if (Model.GetBool("RawContent"))
|
||||
{
|
||||
@Html.Partial("24-actualcontent.cshtml");
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.Partial("21-sidenavcontent.cshtml");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.Partial("23-nosidenavcontent.cshtml");
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row flex-xl-nowrap">
|
||||
<!-- Sidenav -->
|
||||
@Html.Partial("22-sidenav.cshtml")
|
||||
@{
|
||||
var tocModel = Model.GetToc();
|
||||
var content = Html.Partial("24-actualcontent.cshtml");
|
||||
static IHtmlContent GetPageToC(ref IHtmlContent html)
|
||||
{
|
||||
var htmlDocument = new HtmlDocument();
|
||||
using var sw = new StringWriter();
|
||||
html.WriteTo(sw, HtmlEncoder.Default);
|
||||
htmlDocument.LoadHtml(sw.ToString());
|
||||
var currentHeaderLevel = 1;
|
||||
var started = false;
|
||||
var ret = string.Empty;
|
||||
foreach (HtmlNode node in htmlDocument.DocumentNode?.SelectNodes("//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6]") ?? Enumerable.Empty<HtmlNode>())
|
||||
{
|
||||
if (!started)
|
||||
{
|
||||
ret += "<ul class=\"section-nav\">";
|
||||
started = true;
|
||||
}
|
||||
|
||||
var thisHeaderLevel = ((int)node.Name[1]) - ((int)'0');
|
||||
IndentIfNeeded(ref currentHeaderLevel, thisHeaderLevel, ref ret);
|
||||
OutdentIfNeeded(ref currentHeaderLevel, thisHeaderLevel, ref ret);
|
||||
ret += $"<li class=\"toc-entry toc-{node.Name}\">";
|
||||
var id = node.GetAttributeValue("id", null);
|
||||
if (id is null)
|
||||
{
|
||||
node.SetAttributeValue("id", id = new string(node.InnerText.ToLower().Select(x => "abcdefghijklmnopqrstuvwxyz0123456789".Contains(x) ? x : '-').ToArray()).Trim('-'));
|
||||
}
|
||||
|
||||
ret += $"<a href=\"#{id}\">{node.InnerText}</a>";
|
||||
ret += "</li>";
|
||||
}
|
||||
|
||||
OutdentIfNeeded(ref currentHeaderLevel, 1, ref ret);
|
||||
if (started)
|
||||
{
|
||||
ret += "</ul>";
|
||||
}
|
||||
|
||||
html = new HtmlString(htmlDocument.DocumentNode.OuterHtml);
|
||||
return new HtmlString(ret);
|
||||
}
|
||||
|
||||
static void IndentIfNeeded(ref int currentHeaderLevel, int thisHeaderLevel, ref string ret)
|
||||
{
|
||||
for (; currentHeaderLevel < thisHeaderLevel; currentHeaderLevel++)
|
||||
{
|
||||
ret += "<ul>";
|
||||
}
|
||||
}
|
||||
|
||||
static void OutdentIfNeeded(ref int currentHeaderLevel, int thisHeaderLevel, ref string ret)
|
||||
{
|
||||
for (; currentHeaderLevel > thisHeaderLevel; currentHeaderLevel--)
|
||||
{
|
||||
ret += "</ul>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<!-- Content Navigation-->
|
||||
<div class="d-none d-xl-block col-xl-2 ct-toc">
|
||||
@GetPageToC(ref content)
|
||||
</div>
|
||||
|
||||
<main class="col-12 col-md-9 col-xl-8 py-md-3 pl-md-5 @ContentClasses" role="main">
|
||||
@if (!(tocModel?.Node is null))
|
||||
{
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
@foreach (var ancestor in tocModel.Node.Ancestors)
|
||||
{
|
||||
<li class="breadcrumb-item"><a href="@InputUrl(ancestor.Href)">@ancestor.Name</a></li>
|
||||
}
|
||||
|
||||
<li class="breadcrumb-item active" aria-current="page">@tocModel.Node.Name</li>
|
||||
<li class="ml-auto silk-sidebar-activator"><a data-toggle="collapse" href="#ct-docs-nav" role="button" aria-expanded="false" aria-controls="ct-docs-nav"><i class="fa fa-bars"></i></a></li>
|
||||
</ol>
|
||||
</nav>
|
||||
}
|
||||
|
||||
<!-- Content -->
|
||||
@content
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,63 @@
|
|||
@{var tocModel = Model.GetToc();}
|
||||
@if (!(tocModel?.Node is null))
|
||||
{
|
||||
var chosenParent = (tocModel.Node.Children?.Any() ?? false)
|
||||
? tocModel.Node
|
||||
: tocModel.Node?.Parent;
|
||||
if (!(chosenParent is null))
|
||||
{
|
||||
<div class="col-12 col-md-3 col-xl-2 ct-sidebar">
|
||||
<nav class="collapse ct-links" id="ct-docs-nav">
|
||||
<div class="ct-toc-item active">
|
||||
@if ((chosenParent.Parent?.Children?.Any(x => x != chosenParent) ?? false) && !(chosenParent.Parent?.Parent is null))
|
||||
{
|
||||
// our parent has other children and our parent is not the top-level navigation
|
||||
<div class="dropdown">
|
||||
<a class="dropdown-toggle ct-toc-link" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@chosenParent.Name
|
||||
</a>
|
||||
<div class="dropdown-menu silk-dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<a class="dropdown-item" href="@InputUrl(chosenParent.Parent.Href)"><i class="ni ni-bold-up"></i> @chosenParent.Parent.Name</a>
|
||||
@foreach (var sibling in chosenParent.Parent.Children)
|
||||
{
|
||||
@if (sibling != chosenParent)
|
||||
{
|
||||
<a class="dropdown-item" href="@InputUrl(sibling.Href)"><i class="ni ni-bold-right"></i> @sibling.Name</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else if (!(chosenParent is null))
|
||||
{
|
||||
<a class="ct-toc-link" href="@InputUrl(chosenParent.Href)">
|
||||
@chosenParent.Name
|
||||
</a>
|
||||
}
|
||||
<ul class="nav ct-sidenav">
|
||||
@foreach (var child in chosenParent?.Children ?? Enumerable.Empty<TableOfContentsElement>())
|
||||
{
|
||||
// ct-docs-nav
|
||||
@if (child == tocModel.Node)
|
||||
{
|
||||
<li class="active ct-sidenav-active">
|
||||
<a href="@InputUrl(child.Href)">
|
||||
@child.Name
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li>
|
||||
<a href="@InputUrl(child.Href)">
|
||||
@child.Name
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
<main role="main" class="@ContentClasses">
|
||||
<div class="container">
|
||||
@Html.Partial("24-actualcontent.cshtml")
|
||||
</div>
|
||||
</main>
|
|
@ -0,0 +1,57 @@
|
|||
@{
|
||||
TableOfContentsModel? tocModel = Model.GetToc();
|
||||
}
|
||||
|
||||
@if (tocModel?.Node is null)
|
||||
{
|
||||
<br />
|
||||
}
|
||||
|
||||
@{
|
||||
var isWip = "false";
|
||||
var copyrightHolder = string.Empty;
|
||||
var copyrightHolderUrl = string.Empty;
|
||||
var footNote = string.Empty;
|
||||
}
|
||||
|
||||
@if ((tocModel?.Root.Metadata?.TryGetValue("theme.silk.wip", out isWip) ?? false) && bool.Parse(isWip) &&
|
||||
!Model.GetBool("RawContent"))
|
||||
{
|
||||
<div class="alert alert-danger" role="alert">
|
||||
This site is a work in progress!
|
||||
</div>
|
||||
}
|
||||
|
||||
@((IHtmlContent) ViewData["body"])
|
||||
|
||||
@if (tocModel?.Root.Metadata?.TryGetValue("theme.silk.footer.copyright", out copyrightHolder) ?? false)
|
||||
{
|
||||
<hr class="silk-last-hr">
|
||||
<div>
|
||||
<div class="col-md-6">
|
||||
<div class="copyright">
|
||||
© @DateTime.Now.Year
|
||||
@if (tocModel?.Root.Metadata?.TryGetValue("theme.silk.footer.copyright.url", out copyrightHolderUrl) ?? false)
|
||||
{
|
||||
<a href="@copyrightHolderUrl" target="_blank">@copyrightHolder</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a target="_blank">@copyrightHolder</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (tocModel?.Root.Metadata?.TryGetValue("theme.silk.footer.note", out footNote) ?? false)
|
||||
{
|
||||
<div class="container-fluid">
|
||||
<p class="silk-disclaimer">
|
||||
<small>@footNote</small>
|
||||
<br />
|
||||
<br />
|
||||
<small>Powered by <a href="https://statiq.dev">Statiq Framework</a></small>
|
||||
</p>
|
||||
</div>
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Go live with Silk.NET 2.0 Preview 4",
|
||||
"Url": "silk20pre4.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "08/12/2020 21:00",
|
||||
"PreviewImage": "images/blog/dec-2020/Silk20TeaseSmaller-pre4.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Go live with Silk.NET 2.0 Preview 4
|
||||
|
||||
DirectX, Maths, and more. Silk.NET 2.0 Preview 4 is a big leap for Silk.NET as it's the first time we're confident enough to class 2.0 as production-ready. All that and more, happening now.
|
||||
|
||||
Today, we’re releasing Silk.NET 2.0 Preview 4. It contains the last of our new feature additions we're adding for 2.0's initial release date. Please install Preview 4, and test any workloads you can with it!
|
||||
|
||||
You can download Silk.NET 2.0 Preview 4 from NuGet: [https://nuget.org/packages/Silk.NET/2.0.0-preview4](https://nuget.org/packages/Silk.NET/2.0.0-preview4).
|
||||
|
||||
## Patch notes at a glance
|
||||
Don't need the full scoop? No worries, here's a summary of what's been going on:
|
||||
1. A generic, flexible maths library to fill in the holes left by System.Numerics
|
||||
1. An initial set of Microsoft DirectX bindings
|
||||
1. Miscellaenous fixes and improvements
|
||||
|
||||
Let's look at some of the new Silk.NET features and improvements in 2.0 Preview 4.
|
||||
|
||||
## Go live
|
||||
Silk.NET 2.0 Preview 4 is our first 2.0 preview that we're classing as production-ready, meaning that you can use it in live production workloads if you so wish. We're working with some partners to port some massive projects over to Silk.NET 2.0 as part of the brand new "Silk Advanced Technology Group" in hopes we can streamline the process and document any "gotchas" for your benefit, as well as it being a testament to our confidence in the readiness of this preview.
|
||||
|
||||
We've done our best to get any breaking changes done for this preview so that once you've ported over, you most likely won't encounter any breaks when keeping up-to-date with the 2.0 preview cycle into release to manufacturing (RTM).
|
||||
|
||||
## Silk.NET December 2020 Final Update (v1.9.0)
|
||||
Today, we're also announcing the final release of Silk.NET 1.x. I know, as if we've tucked it all the way in here among all the 2.0 noise! The fact of the matter is, there's not really that many changes left for 1.x. The patch notes are:
|
||||
1. Update to the latest specifications
|
||||
1. Miscellaneous bug fixes and improvements
|
||||
|
||||
Now, enough meta jibber jabber. Let's take a look at what's new for Preview 4:
|
||||
|
||||
## DirectX bindings
|
||||
At long last, Silk.NET is endevouring into the Windows SDK world! This has been of popular demand since Silk.NET's inception, both internally and externally, so that developers can wield the power of DirectX and get a little performance boost on Microsoft platforms.
|
||||
|
||||
This initial iteration has Direct3D 9, Direct3D 11, Direct3D 12, DXGI, XAudio, and XInput bindings. However, in the future we want to expand this to the entire DirectX lineup and, eventually, more of the Windows SDK.
|
||||
|
||||
It's only a small initial set for now, however it fills in the little hole left by SharpDX, the previous leader in this space, which now unfortunately is obsolete and no longer receiving updates.
|
||||
|
||||
With Preview 4, we're starting to cast our net a lot wider with regards to our coverage of graphics and compute workloads. My hope is that one day Silk.NET will be the one and only library you absolutely need for all graphics and compute workloads in .NET, and with DirectX this preview and Metal on the way post-2.0, it may not be just a dream for long.
|
||||
|
||||
## Mathematics
|
||||
In Silk.NET 1.x, we opted for System.Numerics because of its ability to use SIMD hardware intrinsics such as x86's Advanced Vector eXtensions and Streaming Simd Extensions. However, we quickly realised throughout the the 1.x lifecycle that they're just too limited - being single-precision only and exposing a thin API surface, they're not suitable for every use of Silk.NET.
|
||||
|
||||
Our first attempt at solving this problem was proposing a set of API proposals on the .NET Runtime. These were recently approved, but the .NET Runtime is a massive project and due to the team's scheduling issues, the new API set wasn't prioritized so close to .NET 5's release.
|
||||
|
||||
So we decided to bite the bullet, and whip up our own maths library. We historically avoided this due to only the runtime being able to access SIMD hardware intrinsics. However, thanks to the new System.Runtime.Intrinsics repo, we can wield the true power of your CPU from within our maths library (we're not in this preview, but just know that it's a key target of future updates).
|
||||
|
||||
The new maths library supports **every numeric type** in the .NET BCL, including half-precision floats. This means that no matter what your scenario is, you should be able to use Silk.NET.Maths for your project. I don't want to go too in-depth about this as a little birdie told me that there might be a dedicated blog series on maths in the new year, so stay tuned for that ;)
|
||||
|
||||
## Closing
|
||||
|
||||
Silk.NET 2.0 Preview 4 is the last big feature update for the 2.x preview cycle and is recommended for anyone using Silk.NET - new users or existing users. As the 2.0 preview cycle comes to a close, we hope to smooth out the last wrinkles, if any, in 2.0 - the largest Silk.NET feature release to date. You can, as you always have, get Silk.NET 2.0 Preview 4 from NuGet.
|
||||
|
||||
###### Afterword
|
||||
<p style="font-size: 0.75rem">Unfortunately we've made the decision to postpone our Metal and FEMFX bindings. There isn't significant enough demand such that we should delay the 2.0 preview cycle further, as such these bindings will be a target for 2.x.</p>
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Silk.NET 2.0 Preview 5: The Final Preview",
|
||||
"Url": "silk20pre5.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "29/12/2020 18:45",
|
||||
"PreviewImage": "images/blog/dec-2020/silk20pre5image.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Silk.NET 2.0 Preview 5: The Final Preview
|
||||
|
||||
Bug fixes, improvements, 2.0's release date, and more. Go live with 2.0 Preview 5 - the last Silk.NET 2.0 preview before its full release date and the encapsulation of all bug reports and feedback on 2.0 given to date.
|
||||
|
||||
Today, we’re releasing Silk.NET 2.0 Preview 5. It contains most of our new improvements we're adding for 2.0's initial release date as well as a lot of bug fixes found during the 2.0 Preview cycle. Please install Preview 5, and test any workloads you can with it!
|
||||
|
||||
You can download Silk.NET 2.0 Preview 5 from NuGet: [https://nuget.org/packages/Silk.NET/2.0.0-preview5](https://nuget.org/packages/Silk.NET/2.0.0-preview5).
|
||||
|
||||
## Patch notes
|
||||
|
||||
1. Maths packaging fixes
|
||||
2. Improved function pointer support
|
||||
3. Vulkan bug fixes
|
||||
4. OpenGL VSync fixes
|
||||
5. Miscellaneous Linux library loading improvements (#279)
|
||||
6. More OpenGL framebuffer bit-depth options (#286)
|
||||
7. Shared OpenGL contexts (#334)
|
||||
8. SDL windowing improvements (#350)
|
||||
9. Minor assembly size improvements (#374)
|
||||
10. Other miscellaneous fixes and improvements
|
||||
|
||||
## Go live
|
||||
Silk.NET 2.0 Preview 5 is the final 2.0 preview. It's classed as production-ready, meaning that you can use it in live production workloads if you so wish. We're working with some partners to port some massive projects over to Silk.NET 2.0 as part of the brand new "Silk Advanced Technology Group" in hopes we can streamline the process and document any "gotchas" for your benefit, as well as it being a testament to our confidence in the readiness of this preview.
|
||||
|
||||
Silk.NET 2.0 should be pretty much good to go now, as this preview has fixed all the bugs we've found with it thus far and has implemented most of the improvements we've got on the list for 2.0. There's certainly still some improvements to be made, which we'll be working on over the next few days, but the point here is Silk.NET 2.0 is ready for prime time and ready to be rolled out in your codebases!
|
||||
|
||||
## Silk.NET 2.0's release date: 1st January 2021
|
||||
We haven't announced this officially until now (although we've been working towards this all year and may have even dropped it in a few conversations), but we are ready to announce that 2.0 will leave preview on the 1st January 2021. With a new year, comes a new Silk.NET, and the 2.0 release will go down as the largest in Silk.NET history.
|
||||
|
||||
Being in development for over 7 months, it's taken us a lot to get to this point, but at the same time we've added a lot and have been working under the most unprecedented circumstances. A lot has changed since development started in May, for example Silk.NET 1.x is now at v1.9.0 instead of v1.2.1 as it was back then! Moreover, we've been delighted to welcome Kai - a new maintainer, maths junkie, and source generator guru - onto the team whom 2.0 would not be possible without.
|
||||
|
||||
And last but not least, we've been accepted into the .NET Foundation - a prestigous umbrella under which many projects within the .NET ecosystem reside - which you may have seen us talk about briefly in some places. We'll give that a dedicated blog post in due course, mainly because we're not that far along the process right now! However, if all goes according to plan we'll have more to share on this front in the first half of 2021.
|
||||
|
||||
We've come a long way, and now it's almost time to show off our progress in all its glory. Mark it down on the calendar: 1st January 2021!
|
||||
|
||||
## Closing
|
||||
Silk.NET 2.0 Preview 5 is the last preview of Silk.NET 2.0 and is recommended for anyone using Silk.NET - new users or existing users. We believe we've smoothed out the last wrinkles, and are almost ready to release proper. Whether you're at home, or hungover from a socially distanced rave, we hope that you'll enjoy the result of our work in 2020 and join us in kicking off the new year strong! You can, as you always have, get Silk.NET 2.0 Preview 5 from NuGet.
|
|
@ -0,0 +1,214 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Generating an entire library: An introduction to BuildTools",
|
||||
"Url": "buildtools.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "12/02/2021 15:10",
|
||||
"PreviewImage": "images/blog/feb-2021/sbt.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Generating an entire library: An introduction to BuildTools
|
||||
We've been doing a lot of blog posts on one of our new and shiny components of Silk.NET, our source generator SilkTouch, however you may have heard that there's another generator working in the shadows to get all these bindings going. This is something we called BuildTools. Admittedly, the name isn't very catchy, but it does a lot of work for us and BuildTools-generated code makes up ~95% of the entire Silk.NET codebase and has existed since the earliest days of Silk.NET.
|
||||
|
||||
So, what gives? Back when we were starting development of Silk.NET, we knew for a fact that we wanted to stay up-to-date, always. That's why we have the monthly updates. The fact of the matter is the libraries we're binding to change all the time, and we don't want to be left behind. We needed to find some way to ensure that our bindings remain up-to-date, but without labouring away to do so. This is where BuildTools comes in.
|
||||
|
||||
Here's a rough overview of the workflow that BuildTools undertakes:
|
||||
|
||||
<p class="text-center">
|
||||
<img src="../../images/blog/feb-2021/Blank-diagram-1--1.png" style="height: 500px; width: initial;" />
|
||||
</p>
|
||||
|
||||
BuildTools operates in many different ways depending on whether you're binding to a Khronos API or a C++ API. Today we'll only talk about the former. In that scenario, BuildTools is split up into 5 different stages. These are:
|
||||
|
||||
## Reader
|
||||
|
||||
Code for your reference: [OpenGLReader.cs](https://github.com/dotnet/Silk.NET/blob/main/src/Core/Silk.NET.BuildTools/Converters/Readers/OpenGLReader.cs)
|
||||
|
||||
This phase is the very first step of a Silk.NET monthly update. The Khronos Group are kind enough to give us a big XML document containing all the latest functions, enums, and structs, like so:
|
||||
|
||||
```xml
|
||||
<command>
|
||||
<proto>void <name>glDrawArrays</name></proto>
|
||||
<param group="PrimitiveType"><ptype>GLenum</ptype> <name>mode</name></param>
|
||||
<param><ptype>GLint</ptype> <name>first</name></param>
|
||||
<param><ptype>GLsizei</ptype> <name>count</name></param>
|
||||
<glx type="render" opcode="193"/>
|
||||
</command>
|
||||
```
|
||||
|
||||
For the most part, this XML file is very easily parsed. There are some places, like with the function pointer signatures, that don't make it easy but for those cases we just ship hand-written stuff with our bindings.
|
||||
|
||||
If you'd like to have a look at [this file](https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/gl.xml) yourself, it's in [the official OpenGL registry](https://github.com/KhronosGroup/OpenGL-Registry). It's certainly a behemoth, but because it gives us all of the information on OpenGL we can start to create parsed functions and enums.
|
||||
|
||||
As we go, we also assign certain metadata to those functions and enums such that we have something to go on in the next step, such as categories (e.g. GL_VERISON_4_3, or GL_EXT_direct_state_access), an extension name (or "Core" if the element didn't come from an extension), and version numbers.
|
||||
|
||||
The reader stage spits out those in Function and Enum objects, which are common APIs that BuildTools uses throughout and maps, for the most part, 1:1 to the Binder JSON Interchange Format.
|
||||
|
||||
## Constructor
|
||||
Code for your reference: [OpenGLConstructor.cs](https://github.com/dotnet/Silk.NET/blob/main/src/Core/Silk.NET.BuildTools/Converters/Constructors/OpenGLConstructor.cs)
|
||||
|
||||
Right now we're in the situation where we have lots of Function and Enum objects flying around in the wild, but nothing really tying them together. This is where the constructor comes in.
|
||||
|
||||
The constructor takes all those Function and Enum objects, looks at the metadata within them, and writes them to a Profile object, which contains the project structure which the resultant C# code ends up taking on, as well as all the Function and Enum objects. There are many more objects that are added to the Binder JSON, but for sake of simplicitly I'll leave them out of this post.
|
||||
|
||||
Each version and API has its own Profile object which are created by the ProfileConverter class that tie the Reader and Constructor stages together. Let's look at a snippet of how this is done:
|
||||
```cs
|
||||
var profiles = enums.Select(x => (x.ProfileName, x.ProfileVersion))
|
||||
.Concat(functions.Select(x => (x.ProfileName, x.ProfileVersion)))
|
||||
.Distinct()
|
||||
.Select(x => CreateBlankProfile(x.ProfileName, x.ProfileVersion));
|
||||
```
|
||||
|
||||
Pretty self explanatory. `CreateBlankProfile` returns a Profile object with sensible defaults given the profile name and version.
|
||||
|
||||
The constructor is then called for every single one of those blank profiles, and is responsible for writing functions to the correct profile, and creating the aforementioned project structure as it deems fit.
|
||||
|
||||
Awesome, we're done with the XML-specific stuff! By now the entirety of the Binder JSON for each profile name and version is constructed using our regular .NET objects. That function we saw earlier? Here's what that looks like now:
|
||||
|
||||
|
||||
<a class="btn btn-primary" data-toggle="collapse" href="#binderjson" role="button" aria-expanded="false" aria-controls="binderjson">
|
||||
glDrawArrays' Binder JSON (Click to expand)
|
||||
</a>
|
||||
|
||||
<div class="collapse" id="binderjson">
|
||||
<pre>
|
||||
<code class="language-json">
|
||||
{
|
||||
"Name": "DrawArrays",
|
||||
"ReturnType": {
|
||||
"IndirectionLevels": 0,
|
||||
"ArrayDimensions": 0,
|
||||
"Name": "void",
|
||||
"OriginalName": "void",
|
||||
"OriginalGroup": null,
|
||||
"OriginalClass": null,
|
||||
"GenericTypes": [],
|
||||
"IsByRef": false,
|
||||
"IsOut": false,
|
||||
"IsIn": false,
|
||||
"IsThis": false,
|
||||
"FunctionPointerSignature": null,
|
||||
"IsGenericTypeParameterReference": false
|
||||
},
|
||||
"NativeName": "glDrawArrays",
|
||||
"Parameters": [
|
||||
{
|
||||
"Name": "mode",
|
||||
"Type": {
|
||||
"IndirectionLevels": 0,
|
||||
"ArrayDimensions": 0,
|
||||
"Name": "GLEnum",
|
||||
"OriginalName": "GLenum",
|
||||
"OriginalGroup": "PrimitiveType",
|
||||
"OriginalClass": null,
|
||||
"GenericTypes": [],
|
||||
"IsByRef": false,
|
||||
"IsOut": false,
|
||||
"IsIn": false,
|
||||
"IsThis": false,
|
||||
"FunctionPointerSignature": null,
|
||||
"IsGenericTypeParameterReference": false
|
||||
},
|
||||
"Count": null,
|
||||
"Flow": 1,
|
||||
"Attributes": []
|
||||
},
|
||||
{
|
||||
"Name": "first",
|
||||
"Type": {
|
||||
"IndirectionLevels": 0,
|
||||
"ArrayDimensions": 0,
|
||||
"Name": "int",
|
||||
"OriginalName": "GLint",
|
||||
"OriginalGroup": null,
|
||||
"OriginalClass": null,
|
||||
"GenericTypes": [],
|
||||
"IsByRef": false,
|
||||
"IsOut": false,
|
||||
"IsIn": false,
|
||||
"IsThis": false,
|
||||
"FunctionPointerSignature": null,
|
||||
"IsGenericTypeParameterReference": false
|
||||
},
|
||||
"Count": null,
|
||||
"Flow": 1,
|
||||
"Attributes": []
|
||||
},
|
||||
{
|
||||
"Name": "count",
|
||||
"Type": {
|
||||
"IndirectionLevels": 0,
|
||||
"ArrayDimensions": 0,
|
||||
"Name": "uint",
|
||||
"OriginalName": "GLsizei",
|
||||
"OriginalGroup": null,
|
||||
"OriginalClass": null,
|
||||
"GenericTypes": [],
|
||||
"IsByRef": false,
|
||||
"IsOut": false,
|
||||
"IsIn": false,
|
||||
"IsThis": false,
|
||||
"FunctionPointerSignature": null,
|
||||
"IsGenericTypeParameterReference": false
|
||||
},
|
||||
"Count": null,
|
||||
"Flow": 1,
|
||||
"Attributes": []
|
||||
}
|
||||
],
|
||||
"PreprocessorConditions": null,
|
||||
"GenericTypeParameters": [],
|
||||
"Attributes": [],
|
||||
"Doc": "",
|
||||
"ExtensionName": "Core",
|
||||
"Convention": 0,
|
||||
"Accessibility": 0,
|
||||
"Kind": 0,
|
||||
"VtblIndex": 0,
|
||||
"IsReadOnly": false
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
That's pretty verbose! Most of that is various unused metadata that is sometimes collected by the various readers in specific circumstances.
|
||||
|
||||
## The Bakery
|
||||
|
||||
Remember how I said that we create a profile for each name and version pair we find in the reader/constructor phase? That's really not ideal when we progress into the later stages, nor is it how BuildTools outputs its bindings. This means that we need to combine them into one big profile before carrying on.
|
||||
|
||||
There's not really much to be said about this stage beyond that. This is one of the longest phases of the generation process, but that's because we have to go super in-depth with duplicate checking, and making sure our function signatures don't conflict. There's also lots of merging done in places (e.g. enums with the same name but different tokens)
|
||||
|
||||
## Overloader
|
||||
C and C++ APIs aren't really nice to use in a C# context, we get that. That's why BuildTools does its best to create overloads for the functions it encounters with signatures that feel more at home with C# code. For example, we overload pointers with a ref, depending on the Count property which is sometimes set for parameters.
|
||||
|
||||
The overloading stage isn't an individual stage in itself, rather it it split up and compliments other stages. This introduces the distinction of "simple" overloading and "complex" overloading.
|
||||
|
||||
Simple overloading is when only the function signature is concerned, and we don't need to write any additional manual code to get it to work with SilkTouch. Theoretically this should be the case for every overload, however we haven't had time to integrate everything we need into SilkTouch yet. Simple overloads get all its code generated at compile time by SilkTouch, as with any of the original functions. Simple overloading is integrated into the bakery stage.
|
||||
|
||||
On the other hand, complex overloads are overloads that are too complicated for SilkTouch (in its current form) to generate by itself. As such, integrated into the bind/C# output stage we write complex overloads. These have both their signatures and their bodies generated by BuildTools, so that SilkTouch doesn't need to do any extra work. These complex overloads call into either the other simple overloads or the original function itself, so it's a benign addition on top.
|
||||
|
||||
Complex overloads can either be marked as potentially conflicting or non-conflicting. If they're conflicting, we extract them out into an extension method such that the compiler doesn't complain about an ambigious method invocation if you try to call one of these potentially conflicting overloads. If they're non-conflicting, they're just a regular instance method.
|
||||
|
||||
Here's a quick summary of our overloaders:
|
||||
1. **ArrayParameterOverloader**: This complex overloader is rather OpenGL-specific, but this is what creates a DeleteBuffer (singular) function for DeleteBuffers (plural). It can be pretty boilerplate to have to pass in an extra parameter if you're only deleting one buffer, so this one removes that parameter entirely and makes a new function. This is complex because it mutates the entire function signature.
|
||||
2. **ClassOverloader**: This simple overloader is brand new. Recently, Khronos approved the addition of metadata which indicates what type of handle a GLuint refers to in the OpenGL specification, which allows us to create strongly-typed struct wrappers for ease of use. This overloader implements that behaviour.
|
||||
3. **GroupOverloader**: Similar to the ClassOverloader, this simple overloader overloads GLenum parameters with their strongly-typed enum group (you may have caught a glimpse of PrimitiveType in the last couple of examples - this is the strongly typed group!)
|
||||
4. **RefOverloader**: As touched upon previously, this simple overloader creates ref parameter overloads for every pointer parameter we encounter.
|
||||
5. **StringArrayOverloader**: This complex overloader, similar to the simple StringOverloader, generates a string array overload for every char** or byte** we encounter. SilkTouch currently can't generate this itself today, but it's certainly one we want to make a simple overloader in the future!
|
||||
6. **StringOverloader**: If we encounter a char* or a byte*, we assume that it refers to a native string. This simple overloader will generate an overload with a C# string parameter. This used to be a complex overloader, but SilkTouch has gained the support for strings since such that we could "promote" it to be a simple overloader.
|
||||
7. **SpanOverloader**: This complex overloader generates a Span overload for every ref we encounter, or a ReadOnlySpan for every in we encounter. This almost always piggybacks off overloads generated by the simple RefOverloader as it results in a cleaner implementation. SilkTouch is actually capable of handling Span overloads, but because the compiler sometimes generates ambiguous method invocation warnings, we had to make this a potentially conflicting complex overload.
|
||||
8. **ReturnTypeOverloader**: This complex overloader is pretty similar to the ArrayParameterOverloader, only that this one is for functions like GenBuffers (plural), which have accompanying singular methods generated such as GenBuffer. We can't reuse the ArrayParameterOverloader, because we need to provide a way to actually return the generated buffer! This is probably the most useful overloader for our OpenGL users, as you no longer have to touch unsafe at all when generating OpenGL objects and it's a lot cleaner in general.
|
||||
|
||||
## Binder (C# output generation)
|
||||
This is the final stage of BuildTools. We've got all the information in a freshly baked Profile object, now all that's left to do is write C# enums, SilkTouch-compatible partials, and other plaintext C# files for that profile. Most of the information we need is in the JSON and the project structure pretty much maps 1:1 with how we output them, so it's pretty self-explanatory how this all comes together.
|
||||
|
||||
## Closing
|
||||
And that's it! That was a "brief" introduction into one of the lesser-known, yet most important cogs in the Silk.NET machine. There's lot to unpack here, and there's also a lot of BuildTools nibs that I haven't talked about such as structs, BuildTools Intrinsics, NanoCOM support, the entire Clang backend, The Fusion Reactor, and much much more, but I guess that's something we can touch upon in a future set of blogs.
|
||||
|
||||
If you're one of those people who enjoy watching TV shows and movies in the story's canonical order rather than the order in which they're published, your next stop is [Kai's first SilkTouch blog post](../nov-2020/silktouch-invokes-marshalling.html)!
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Blog",
|
||||
"Url": "index.html",
|
||||
"_comment": "Order the children newest (at the top) to oldest!",
|
||||
"Children": [
|
||||
{ "Url": "::nov-2021/xamarin-deprecation.md" },
|
||||
{ "Url": "::mar-2021/dotnetfoundation.md" },
|
||||
{ "Url": "::feb-2021/buildtools.md" },
|
||||
{ "Url": "::jan-2021/silk20.md" },
|
||||
{ "Url": "::dec-2020/silk20pre5.md" },
|
||||
{ "Url": "::dec-2020/silk20pre4.md" },
|
||||
{ "Url": "::nov-2020/silktouch-slots-vtables.md" },
|
||||
{ "Url": "::nov-2020/silktouch-invokes-marshalling.md"},
|
||||
{ "Url": "::nov-2020/silk20pre3.md" }
|
||||
],
|
||||
"Metadata": {
|
||||
"theme.silk.blog": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
<h1>Blog</h1>
|
||||
|
||||
All the latest information & announcements on Silk.NET, the Silk.NET Community, and more.
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Announcing Silk.NET 2.0: The Largest Update To Date",
|
||||
"Url": "silk20.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "02/01/2021 18:17",
|
||||
"PreviewImage": "images/blog/jan-2021/sn20.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Announcing Silk.NET 2.0: The Largest Update To Date
|
||||
|
||||
Source generators, .NET Foundation membership, mobile support, and a whole lot of bindings. There's something for everyone in Silk.NET 2.0, the largest Silk.NET update to date. Find out what's new in 2.0!
|
||||
|
||||
Today, we’re releasing Silk.NET 2.0, and we're not kidding when we say it's the largest Silk.NET update to date. Full stop. Period. Yep, even bigger than that 1.1 release we did a while back. Silk.NET 2.0 is the culmination of just shy of 9 months of work by lots of people, and we're super happy to finally be able to get it in your hands in all its glory!
|
||||
|
||||
You can download Silk.NET 2.0 from NuGet: [https://nuget.org/packages/Silk.NET/2.0.0](https://nuget.org/packages/Silk.NET/2.0.0)
|
||||
|
||||
## Patch notes at a glance
|
||||
Don't need the full scoop? No worries, here's a summary of what's been going on:
|
||||
|
||||
1. Adds Assimp bindings
|
||||
1. Adds SDL bindings
|
||||
1. Adds a SDL windowing backend
|
||||
1. Adds a new, AOT-friendly interop system (SilkTouch)
|
||||
1. Adds Android support
|
||||
1. Adds a generic, flexible maths library to fill in the holes left by System.Numerics
|
||||
1. Adds an initial set of Microsoft DirectX bindings
|
||||
1. Adds improved function pointer support
|
||||
1. Adds more OpenGL framebuffer bit-depth options
|
||||
1. Adds shared OpenGL contexts
|
||||
1. (EXPERIMENTAL!) Adds OpenXR bindings
|
||||
1. (EXPERIMENTAL!) Adds iOS support
|
||||
1. Massive performance improvements
|
||||
1. GLFW fixes
|
||||
1. Windowing and Input fixes/refactorings
|
||||
1. OpenCL and OpenAL improvements
|
||||
1. Vulkan bug fixes
|
||||
1. Miscellaneous bug fixes and improvements
|
||||
|
||||
Once again, this update was a nightmare to get out but it's finally finished, working, and tested. Apologies for the 1 day delay, but there's no way we're giving you untested production builds...
|
||||
|
||||
## SilkTouch
|
||||
This wasn't one of the first things we worked on for 2.0, but it's perhaps the most significant of all. In Silk.NET 2.0, we're introducing a new native library interoperability mechanism called SilkTouch. And no, we're not on about the stuff you put on your pickaxes in Minecraft.
|
||||
|
||||
SilkTouch is a brand new Roslyn Source Generator which replaces our clunky runtime interop IL generators such as AdvancedDLSupport (used from 1.0 Preview 1 to 1.0 Preview 3) and SuperInvoke (used from 1.0 Preview 4 to 2.0 Preview 2) which really drove up start-up time, with a new plaintext C# generator which runs at build time.
|
||||
|
||||
Because this runs at build time, we're really happy to bring an insane amount of massive performance improvements to Silk.NET 2.0! There are lots of benefits to the Roslyn Source Generator approach, but I'll let[] Phillip Carter from the .NET team fill you in on how they work](https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/), and Kai Jellinghaus - arguably the best gift the Silk.NET maintenance team has ever received since since 1.0 released - tell you more about SilkTouch [in a new blog series on this very site](../nov-2020/silktouch-invokes-marshalling.html).
|
||||
|
||||
## .NET Foundation membership
|
||||
Another massive development in Silk.NET isn't actually a programmatical development, but rather an organizational one. The Silk.NET team are proud to announce that the .NET Foundation has selected us to become an official project under its benevolent umbrella consisting of lots of prestigous projects, such as ImageSharp, Xamarin, and the .NET runtime itself! We'll give this a dedicated blog post later on in this quarter once we have more to share (turns out this onboarding stuff takes a while!) but this is a massive step to ensure that Silk.NET remains alive, happy, and in good hands.
|
||||
|
||||
## Assimp bindings
|
||||
Arguably one of the most useful utilities in a graphics programmer's toolkit is a model loading library such as the Open Asset Importer library (or Assimp, yes they know how colourful the name sounds). Assimp allows you to load in dozens of model formats through one simple API! We're happy to present a new C# API surface for this, and has already been used in some cool applications such as [Voltium](https://github.com/john-h-k/Voltium), a render engine written by [John Kelly](https://github.com/john-h-k).
|
||||
|
||||
## Experimental OpenXR bindings
|
||||
This is still experimental, but I wanted to briefly touch upon it. We've recently added support for Khronos' new extended reality (XR) platform called OpenXR. This means that you can bring your Silk.NET games and applications to new mediums such as VR and AR, with astounding industry support from Oculus/Facebook, Valve, and Microsoft. Again, still experimental because we need to play around with it more ourselves, but let us know how you get on with this if you do try it out!
|
||||
|
||||
## SDL bindings, windowing, and input
|
||||
In Silk.NET 1.x, we used a third-party library called the Graphics Library Framework (GLFW) to handle windowing and input across multiple desktop platforms, over which we wrote an abstraction that you have come to know and love as Silk.NET.Windowing.
|
||||
|
||||
Originally, this led to questions such as "why make an abstraction if there's only one platform?". This is because we've always known there'll be more than one platform. GLFW is modern, but only supports Windows, macOS, and Linux.
|
||||
|
||||
To help us expand further to these mobile platforms we're releasing bindings and a windowing backend for an older library called Simple DirectMedia Layer (SDL). This library is a lot clunkier, but at the same time it's battle-tested (most notably in Valve's amazing line-up of games) and has a much wider range of platforms it supports. Which leads directly onto my next point...
|
||||
|
||||
## Mobile support
|
||||
|
||||
<?# FancyImage "../../images/blog/nov-2020/triangledroid.jpg" "A triangle on an Android phone with a plant behind it." "(The plant's name is frank)" /?>
|
||||
|
||||
Many have been waiting for this for a long time, a windowing and OpenGL bindings library that truly is cross-platform. Now we're happy to be making steps towards this with one of 2.0's largest features: Android and experimental iOS support. Currently, we have successfully ran an amalgamation of our Triangle and InputTest lab applications on Android and iOS simulators, as well as on an Android device to great avail pictured above. This is new territory for Silk.NET, so it may have some early teething issues, but if anything that should encourage you more to play around with our Android support! Our iOS support is still experimental, but that's because we're waiting for an iOS guru to come along and help drive our iOS backend home. If this is you, join our Discord server!
|
||||
|
||||
If you do encounter bugs, let us know and we'll continue improving upon our mobile support as part of the Monthly Update Promise.
|
||||
|
||||
## Native AOT support
|
||||
Prior to 2.0, Silk.NET used a lot of reflection magic which meant that in most cases, it just worked! For example, Silk.NET.Windowing wouldn't know whether Silk.NET.Windowing.Glfw exists at compile-time, so at runtime it does a check for it using reflection. This means that you only have to reference and ship the packages you actually use.
|
||||
|
||||
However, when we embarked on a Silk.NET Lab project to get Silk.NET running on Microsoft's experimental Native AOT runtime (formerly known as CoreRT), we hit a bump because reflection is notoriously inconsistent in ahead-of-time compiled scenarios such as Native AOT.
|
||||
|
||||
In most of these scenarios, however, we realised that despite Silk.NET.Windowing not knowing about the Glfw package, the Glfw package knew about the Windowing package and, more importantly, the actual application knows about both. This means that, at your command, you're able to tell Glfw to tell Windowing that it exists all without reflection, using a simple one liner like so:
|
||||
|
||||
```cs
|
||||
GlfwWindowing.RegisterPlatform();
|
||||
GlfwInput.RegisterPlatform();
|
||||
```
|
||||
|
||||
After doing that at the beginning of your program, Silk.NET won't need to touch reflection at all and everything else should fall into place.
|
||||
|
||||
## DirectX bindings
|
||||
At long last, Silk.NET is endevouring into the Windows SDK world! This has been of popular demand since Silk.NET's inception, both internally and externally, so that developers can wield the power of DirectX and get a little performance boost on Microsoft platforms.
|
||||
|
||||
This initial iteration has Direct3D 9, Direct3D 11, Direct3D 12, DXGI, XAudio, and XInput bindings. However, in the future we want to expand this to the entire DirectX lineup and, eventually, more of the Windows SDK.
|
||||
|
||||
It's only a small initial set for now, however it fills in the little hole left by SharpDX, the previous leader in this space, which now unfortunately is obsolete and no longer receiving updates.
|
||||
|
||||
With Preview 4, we're starting to cast our net a lot wider with regards to our coverage of graphics and compute workloads. My hope is that one day Silk.NET will be the one and only library you absolutely need for all graphics and compute workloads in .NET, and with DirectX this preview and Metal on the way post-2.0, it may not be just a dream for long.
|
||||
|
||||
## Mathematics
|
||||
In Silk.NET 1.x, we opted for System.Numerics because of its ability to use SIMD hardware intrinsics such as x86's Advanced Vector eXtensions and Streaming Simd Extensions. However, we quickly realised throughout the the 1.x lifecycle that they're just too limited - being single-precision only and exposing a thin API surface, they're not suitable for every use of Silk.NET.
|
||||
|
||||
Our first attempt at solving this problem was proposing a set of API proposals on the .NET Runtime. These were recently approved, but the .NET Runtime is a massive project and due to the team's scheduling issues, the new API set wasn't prioritized so close to .NET 5's release.
|
||||
|
||||
So we decided to bite the bullet, and whip up our own maths library. We historically avoided this due to only the runtime being able to access SIMD hardware intrinsics. However, thanks to the new System.Runtime.Intrinsics repo, we can wield the true power of your CPU from within our maths library (we're not in this preview, but just know that it's a key target of future updates).
|
||||
|
||||
The new maths library supports **every numeric type** in the .NET BCL, including half-precision floats. This means that no matter what your scenario is, you should be able to use Silk.NET.Maths for your project. I don't want to go too in-depth about this as a little birdie told me that there might be a dedicated blog series on maths in the new year, so stay tuned for that ;)
|
||||
|
||||
## Closing
|
||||
Silk.NET 2.0 is a massive feature update and is recommended for any existing users. It's worth taking the time to port over to the latest and greatest Silk.NET update no matter what your project is or how long it's been around for. Now that 2.0 is out, we'll be working with some partners on moving some massive projects over to make sure that we can really battle test this version over the next couple of months, as well as to identify possible issues when migrating from different Silk.NET versions or even different libraries. We plan to release a migration guide soon for your convenience, however Silk.NET 1.x is out of support now so if you need help moving over hop on over to our Discord server where we're happy to assist you.
|
||||
|
||||
You can download Silk.NET 2.0, as you always have, from NuGet.
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": ".NET Foundation & The next stage for Silk.NET",
|
||||
"Url": "dotnetfoundation.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "17/03/2021 21:40",
|
||||
"PreviewImage": "images/blog/mar-2021/DotNetBotNextUp.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# .NET Foundation & The next stage for Silk.NET
|
||||
|
||||
The times they are a changin' around these hereparts. We've got a lot of stuff planned for Silk.NET over the coming months, and I wanted to take this opportunity to sum it all up in one nice blog post.
|
||||
|
||||
## The .NET Foundation
|
||||
We're pleased to finally announce that we are reaching the final stages of joining the .NET Foundation.
|
||||
|
||||
The .NET Foundation is an independent, non-profit organization established to support an innovative, commercially friendly, open-source ecosystem around the .NET platform.
|
||||
|
||||
Through the .NET Foundation we're strengthening our commitment to open source and provide assurance that Silk.NET is here to stay and will always be free and open source under a permissive license. Many libraries of this nature suffer inconsistency with regards to releases, or are out-of-date with regards to their upstream specifications.
|
||||
|
||||
We believe that becoming a part of the .NET Foundation will allow us to solidify our commitment so that we're able to keep continuous progress with a strong backing and larger exposure to the flourishing .NET open source community.
|
||||
|
||||
The .NET Foundation will provide Silk.NET as a project the ability to thrive, as well as give the project greater exposure to the wider .NET ecosystem. Moreover, the .NET Foundation provides the backbone we need to remain fully independent, free, and open-source, forever.
|
||||
|
||||
## We've moved!
|
||||
As part of the move into the .NET Foundation, we've moved out of the Ultz organisation on GitHub into the dotnet organisation, which homes other beloved .NET projects (including .NET itself).
|
||||
The goal behind this is to make Silk.NET as independent as possible such that the project can continue to thrive despite external factors, such as those which may flow down from the Ultz organisation, don't affect the project in a significant way.
|
||||
|
||||
We'll share more on the reasoning from the Ultz side in due course, but from the Silk.NET side this will benefit the Silk.NET Maintenance Team greatly, in that we no longer have to deal with scenarios where project-level decisions conflict with the interests of Ultz and its customers, which has caused some tension in the past; as well as it allows the project to continue on and outlive Ultz’s relationship with it rather than be cast aside.
|
||||
|
||||
Moreover, like with the rest of the .NET Foundation onboarding, this move signifies the move away from the commercial organisation which originally created Silk.NET for use in their own products, to standing on its own two feet free of any influence from a private company.
|
||||
|
||||
## master -> main
|
||||
We're a bit late to the party on this, but that's only because we wanted to do all the possibly breaking repo changes at once. Like many open source projects, we've renamed our primary branch from master, historically the "traditional" default branch name but, as part of the black lives matter movement, became less used by projects; to main, a much more friendly default branch name with less controversial connotations.
|
||||
|
||||
If you'd like to support the black lives matter movement, please do as while media coverage has faded, the problem has not. Here's a great charity here in the UK: SARI (Stand Against Racism & Inequality) - [https://www.sariweb.org.uk](https://www.sariweb.org.uk)
|
||||
|
||||
## Silk.NET 3.0
|
||||
Soon we'll be kicking off the next major release for Silk.NET: 3.0! Silk.NET 3.0 is still in heavy planning at the moment, so we'll be announcing more stuff as we solidify our plans, but like the ever evolving .NET ecosystem, this will be a massively innovative update exclusively adopting the .NET 6 platform on both desktop and mobile, as well as including a major set of rewrites across the SilkTouch platform!
|
||||
|
||||
We can't wait to show you what we have in store for the next stage of Silk.NET, and we hope you're as excited for this journey as we are! If you have any questions, talk to us in our Discord server or open a GitHub Discussion.
|
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Announcing Silk.NET 2.0 Preview 3",
|
||||
"Url": "silk20pre3.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"PreviewImage": "images/blog/nov-2020/triangledroid.jpg",
|
||||
"DateTimeWritten": "17/11/2020 21:52"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Announcing Silk.NET 2.0 Preview 3
|
||||
|
||||
Woah, this is different. A dedicated blog for Silk.NET and other development news? This is new. I guess now I have to get used to talking about releases instead of that boilerplate Discord announcement we do every now and then. Whether that's a good thing or a bad thing is up to you, but it gives me a chance to talk about all the great things we've been working on for Preview 3.
|
||||
|
||||
Today, we’re releasing Silk.NET 2.0 Preview 3. It contains a lot of the bigger features that will define the 2.0 release that are a first for Silk.NET. Please install Preview 3, and test any workloads you can with it!
|
||||
You can download Silk.NET 2.0 Preview 3 from NuGet: https://nuget.org/packages/Silk.NET/2.0.0-preview3.
|
||||
|
||||
## Patch notes at a glance
|
||||
Don't need the full scoop? No worries, here's a summary of what's been going on:
|
||||
|
||||
1. Experimental Android support
|
||||
1. Experimental iOS support
|
||||
1. Add static linking support to SilkTouch
|
||||
1. Surface API improvements
|
||||
1. SilkTouch improvements
|
||||
1. OpenCL and OpenAL improvements
|
||||
1. Other miscellaneous bug fixes and improvements
|
||||
|
||||
This update was a bear to get out, but it was worth taking the extra time to get it all fully working before getting it in your hands. We apologise for the delays, however, and for any inconvenience caused by them.
|
||||
|
||||
Let's look at some of the new Silk.NET features and improvements in 2.0 Preview 3.
|
||||
|
||||
## Mobile support
|
||||
|
||||
<?# FancyImage "../../images/blog/nov-2020/triangledroid.jpg" "A triangle on an Android phone with a plant behind it." "(The plant's name is frank)" /?>
|
||||
|
||||
Many have been waiting for this for a long time, a windowing and OpenGL bindings library that truly is cross-platform. Now we're happy to be making steps towards this with one of Preview 3's largest features: experimental Android and iOS support. Currently, we have successfully ran an amalgamation of our Triangle and InputTest lab applications on Android and iOS simulators, as well as on an Android device to great avail pictured above.
|
||||
|
||||
In Silk.NET 1.x, we used a third-party library called the Graphics Library Framework (GLFW) to handle windowing and input across multiple desktop platforms, over which we wrote an abstraction that you have come to know and love as Silk.NET.Windowing.
|
||||
|
||||
Originally, this led to questions such as "why make an abstraction if there's only one platform?". This is because we've always known there'll be more than one platform. GLFW is modern, but only supports Windows, macOS, and Linux. To help us expand further to these mobile platforms we're using an older library called Simple DirectMedia Layer (SDL). This library is a lot clunkier, but at the same time it's battle-tested (most notably in Valve's amazing line-up of games) and has a much wider range of platforms it supports.
|
||||
|
||||
Now, before you get ahead of yourself, our mobile support is experimental! This is to make sure I, and our other lovely developers, don't have to rock themselves to sleep every night thinking about the maintenance nightmare that marking these as ready would ensue. But feel free to have a play around with them in a non-production environment! You can find our Android and iOS applications in the Silk.NET Lab.
|
||||
|
||||
## Native AOT support
|
||||
Prior to Preview 3, Silk.NET used a lot of reflection magic which meant that in most cases, it just worked! For example, Silk.NET.Windowing wouldn't know whether Silk.NET.Windowing.Glfw exists at compile-time, so at runtime it does a check for it using reflection. This means that you only have to reference and ship the packages you actually use.
|
||||
|
||||
However, when we embarked on a Silk.NET Lab project to get Silk.NET running on Microsoft's experimental Native AOT runtime (formerly known as CoreRT), we hit a bump because reflection is notoriously inconsistent in ahead-of-time compiled scenarios such as Native AOT.
|
||||
|
||||
In most of these scenarios, however, we realised that despite Silk.NET.Windowing not knowing about the Glfw package, the Glfw package knew about the Windowing package and, more importantly, the actual application knows about both. This means that, at your command, you're able to tell Glfw to tell Windowing that it exists all without reflection, using a simple one liner like so:
|
||||
|
||||
```cs
|
||||
GlfwWindowing.RegisterPlatform();
|
||||
GlfwInput.RegisterPlatform();
|
||||
```
|
||||
|
||||
After doing that at the beginning of your program, Silk.NET won't need to touch reflection at all and everything else should fall into place.
|
||||
|
||||
## Closing
|
||||
Silk.NET 2.0 Preview 3 is a massive feature update and is recommended for any existing users of the 2.0 previews. As the 2.0 preview cycle goes on, we hope to bring Silk.NET a number of new features and by extension opportunities, which we can't wait to see you take advantage of. You can download Silk.NET 2.0 Preview 3, as you always have, from NuGet.
|
|
@ -0,0 +1,112 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "SilkTouch: Invokes & Marshalling",
|
||||
"Url": "silktouch-invokes-marshalling.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "HurricanKai",
|
||||
"DateTimeWritten": "20/11/2020 09:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# SilkTouch: Invokes & Marshalling
|
||||
|
||||
## SilkTouch? What even is that?
|
||||
|
||||
Most people don't realize this, but a lot is going into getting all those bindings going. SilkTouch is our solution to automated marshalling. Let's first look into what our bindings pipeline looks like, and then I'll go into more detail what SilkTouch is, what it does, how it works.
|
||||
|
||||
## BuildTools
|
||||
|
||||
This isn't really my area, but I want to briefly touch on it. BuildTools is what takes a huge configuration file linking specifications and headers, and turns it into signatures. That is it's primary purpose, producing signatures. It saves those as partial C# classes, cause this takes, in comparison, a lot of time. BuildTools is a great tool for automating API updates, but that's a topic for another blog post.
|
||||
|
||||
## The most basic case
|
||||
|
||||
SilkTouch is a Source Generator (SG), source generators are a C# 9 feature which and are essentially analyzers, just they get to contribute some code, they get the full compilation (so all code + SyntaxNodes + Roslyn tools) and then get to work. First of all, SilkTouch is a pretty complex SG, and some would say it abuses what SGs are supposed to do. First of all, it takes exceptionally long to complete (not BuildTools long, but a lot longer than your average SG), and instead of generating (C#) strings like most generators, it uses Roslyn SyntaxNodes / SyntaxFactory to generate code, so don't develop a fear for SGs if you look at SilkTouch. They are amazing, I promise!
|
||||
|
||||
Now, above I've said "SilkTouch is our solution to automated marshalling". Our Core (Silk.NET.Core) is what does all the native library loading, but it only gives us the raw native symbol, for example `(delegate unmanaged[Cdecl]<uint, uint, GLEnum, GLEnum*, uint*, GLEnum*, uint*, byte*, uint>)` (this is the function pointer form introduced in C# 9, Silk.NET.Core will actually give you an IntPtr). Now, SilkTouch doesn't really know this either, it will (usually) only get something like
|
||||
|
||||
```cs
|
||||
[NativeApi(EntryPoint = "glGetDebugMessageLog")]
|
||||
public unsafe partial uint GetDebugMessageLog(
|
||||
uint count,
|
||||
uint bufSize,
|
||||
[Count(Parameter = "count")] GLEnum* sources,
|
||||
[Count(Parameter = "count")] GLEnum* types,
|
||||
[Count(Parameter = "count")] uint* ids,
|
||||
[Count(Parameter = "count")] GLEnum* severities,
|
||||
[Count(Parameter = "count")] uint* lengths,
|
||||
[Count(Parameter = "bufSize")] byte* messageLog);
|
||||
```
|
||||
|
||||
This is the most basic case, for now. Here, all the parameters are already in their native form. SilkTouch won't do all that much in this case, the parameters will just pass through the marshalling pipeline, which should feel somewhat familiar to anyone who used Kestrels (ASP.NET Cores) Middlewares. It will then end up at the terminal middleware, called `BuildLoadInvoke` as you may figure, this build the native invocation call. This will essentially build something like
|
||||
|
||||
```cs
|
||||
n8 = ((delegate *unmanaged[Cdecl]<uint, uint, GLEnum*, GLEnum*, uint*, GLEnum*, uint*, byte*, uint>)(CurrentVTable as GeneratedVTable).Load(719, "glGetDebugMessageLog"))((count), (bufSize), (sources), (types), (ids), (severities), (lengths), (messageLog));
|
||||
```
|
||||
<?# Caption "A function pointer signature generated by SilkTouch. Simplified from the original for readability." /?>
|
||||
|
||||
You may notice that this includes a cast to the previously mentioned native signature, and then a call of said signature using the method parameters. We'll for now ignore the `(CurrentVTable as GeneratedVTable).Load(719, "glGetDebugMessageLog")` bit, I'll talk about that down the road.
|
||||
|
||||
Awesome! We've made it, that really is all there is to it, in this most basic case. Here is the full signature again:
|
||||
|
||||
```cs
|
||||
public unsafe partial uint GetDebugMessageLog(uint count, uint bufSize, GLEnum* sources, GLEnum* types, uint* ids, GLEnum* severities, uint* lengths, byte* messageLog)
|
||||
{
|
||||
uint n8;
|
||||
n8 = ((delegate *unmanaged[Cdecl]<uint, uint, GLEnum*, GLEnum*, uint*, GLEnum*, uint*, byte*, uint>)(CurrentVTable as GeneratedVTable).Load(719, "glGetDebugMessageLog"))((count), (bufSize), (sources), (types), (ids), (severities), (lengths), (messageLog));
|
||||
return n8;
|
||||
}
|
||||
```
|
||||
<?# Caption "A finished function generated by SilkTouch. Simplified from the original for readability." /?>
|
||||
|
||||
## Marshalling
|
||||
|
||||
Now, we don't want to make our users do all the unsafe stuff themselves, for example, users don't have to handle strings themselves, we do our best to handle that. One such overload is
|
||||
|
||||
```cs
|
||||
[NativeApi(EntryPoint = "glGetDebugMessageLog")]
|
||||
public unsafe partial uint GetDebugMessageLog(
|
||||
uint count,
|
||||
uint bufSize,
|
||||
[Count(Parameter = "count")] GLEnum* sources,
|
||||
[Count(Parameter = "count")] GLEnum* types,
|
||||
[Count(Parameter = "count")] uint* ids,
|
||||
[Count(Parameter = "count")] GLEnum* severities,
|
||||
[Count(Parameter = "count")] uint* lengths,
|
||||
[Count(Parameter = "bufSize")] out string messageLog);
|
||||
```
|
||||
|
||||
This again is what SilkTouch gets from BuildTools. Most of the parameters will just pass through the Marshalling pipeline, but not `string`! `string` requires some action from us. The `StringMarshaller` (the second element in the pipeline) will catch this. Because there are many different ways to encode a string before passing it to native code, it will check whether it knows what this parameter is supposed to be marshalled as (possibilities are `BStr`, `LPWStr`, `LPStr` and `LPTStr`) or fallback to `LPStr`.
|
||||
|
||||
Once it knows what native type to marhsal the parameter as, it'll check for the `RefKind` of the parameter. In this case, `out`. `out` parameters are significantly different to the other `RefKind`s because it needs to figure out how much memory to allocate. We do this using the `Count` attribute. In this instance a parameter is specified, so we'll pass that parameter as the length argument to `SilkMarshal.AllocateString` to allocate the buffer for the native string. After all of that, at long last we have a pointer we can pass to native!
|
||||
|
||||
Awesome, the rest of the parameters are fine as is, and we normally generate our invoke like above:
|
||||
|
||||
```cs
|
||||
n9 = ((delegate *unmanaged[Cdecl]<uint, uint, GLEnum*, GLEnum*, uint*, GLEnum*, uint*, byte*, uint>)(CurrentVTable as GeneratedVTable).Load(721, "glGetDebugMessageLog"))((count), (bufSize), (sources), (types), (ids), (severities), (lengths), n8);
|
||||
```
|
||||
<?# Caption "Simplified from the original for readability." /?>
|
||||
|
||||
Now, the way the Pipeline works is heavily inspired by how the ASP.NET Core Middlewares work. The first middleware is called with the context, and a callback for the next middleware, and so on. The terminal middleware (`BuildLoadInvoke`) just does not call `next()` (doing so would throw) and the recursive stack resolves, now each middleware gets the chance to do post-invoke processing. The string middleware has remembered that this parameter was `out` and needs some readback. This is done using `SilkMarshal.PtrToString` the result is written into `messageLog` and the string buffer is freed using `FreeString` we return, and done. Here is the full version again:
|
||||
|
||||
```cs
|
||||
public unsafe partial uint GetDebugMessageLog(uint count, uint bufSize, GLEnum* sources, GLEnum* types, uint* ids, GLEnum* severities, uint* lengths, out string messageLog)
|
||||
{
|
||||
uint n9;
|
||||
byte* n8;
|
||||
|
||||
n8 = (byte*)SilkMarshal.AllocateString((int)bufSize, (NativeStringEncoding)20);
|
||||
|
||||
n9 = ((delegate *unmanaged[Cdecl]<uint, uint, GLEnum*, GLEnum*, uint*, GLEnum*, uint*, byte*, uint>)(CurrentVTable as GeneratedVTable).Load(721, "glGetDebugMessageLog"))((count), (bufSize), (sources), (types), (ids), (severities), (lengths), n8);
|
||||
|
||||
messageLog = SilkMarshal.PtrToString((IntPtr)n8, (NativeStringEncoding)20);
|
||||
SilkMarshal.FreeString((IntPtr)n8, (NativeStringEncoding)20);
|
||||
return n9;
|
||||
}
|
||||
```
|
||||
<?# Caption "Simplified from the original for readability." /?>
|
||||
|
||||
If you are interested in this kind of thing, I encourage you to have a look at [https://github.com/dotnet/Silk.NET/tree/v2.0.0/src/Core/Silk.NET.SilkTouch/Middlewares](https://github.com/dotnet/Silk.NET/tree/v2.0.0/src/Core/Silk.NET.SilkTouch/Middlewares) It's not that bad, I promise, especially the `GenericPointerMarshaller` is super simple.
|
||||
Onwards in another Blog Post, about Slots & VTables (the bit we ignored above, `(CurrentVTable as GeneratedVTable).Load(719, "glGetDebugMessageLog")`). If you'd like to find out more about SilkTouch, again take a look at [SilkTouch's source code](https://github.com/dotnet/Silk.NET/tree/v2.0.0/src/Core/Silk.NET.SilkTouch) or head over to [our Discord server](https://discord.gg/DTHHXRt) where myself or one of the other maintainers, contributors, or regulars will be happy to answer your questions or just generally have a natter.
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "SilkTouch: Slots & VTables",
|
||||
"Url": "silktouch-slots-vtables.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "HurricanKai",
|
||||
"DateTimeWritten": "27/11/2020 09:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# SilkTouch: Slots & VTables
|
||||
|
||||
Please read [the previous blog post](../silktouch-invokes-marshalling.html), which introduces SilkTouch and it's core features Invokes & Marshalling.
|
||||
|
||||
This time, we are going to talk about this little yet essential part of SilkTouch and Silk.NET as a whole. We ignored this last time for simplicity. `(CurrentVTable as GeneratedVTable).Load(721, "glGetDebugMessageLog")`.
|
||||
The quick break down is this, first, we cast `CurrentVTable to GeneratedVTable` to allow inlining, because it isn't a virtual call anymore (`GeneratedVTable` is a private sealed class).
|
||||
Then, besides the native name, we pass a slot to the `Load` method.
|
||||
|
||||
## VTables
|
||||
A VTable is basically a "tiny" abstraction around `INativeContext` it's defined as:
|
||||
|
||||
```cs
|
||||
public interface IVTable : IDisposable
|
||||
{
|
||||
void Initialize(INativeContext ctx, int maxSlots);
|
||||
IntPtr Load(int slot, string entryPoint);
|
||||
void Purge();
|
||||
}
|
||||
```
|
||||
|
||||
Pretty simple, right?
|
||||
You may wonder what `INativeContext` is, if you are unfamiliar with Silk.NET.Core it's designed as
|
||||
|
||||
```cs
|
||||
public interface INativeContext : IDisposable
|
||||
{
|
||||
IntPtr GetProcAddress(string proc, int? slot = default);
|
||||
}
|
||||
```
|
||||
|
||||
And is implemented by GLFW / SDL and some default / composite types, and provides platform specific information on loading native symbols. It also powers overrides (see addendum)
|
||||
|
||||
Note that `INativeContext` does not cache anything, it's asked to always call directly down to whatever loading mechanism it wraps. This is where `IVTable` comes in.
|
||||
|
||||
## ConcurrentDictionaryVTable
|
||||
The "default" `IVTable` we used was `ConcurrentDictionaryVTable`, and while it's still there, we don't use it anymore. We only use the generated VTables from SilkTouch. But it still serves as a good example of the basic functionality here.
|
||||
|
||||
So, let's go back to our interface. First of all, we know we have to store the `INativeContext` somewhere, to later load from, then, we can already know the maximum amount of unique slots we are every going to be queried for, and while it's not necessary, we can put that in as the maximum capacity of our `ConcurrentDictionary` now, I think it's obvious by now that the key of that dictionary is going to be an `int` (a slot), and maybe that the value is going to be `IntPtr` (the address we get back from `INativeContext.GetProcAddress`).
|
||||
|
||||
Next, the `Load` method, it's pretty simple, we just use the `GetOrAdd` method on our dictionary to either the the existing address, or load it from the `INativeContext` and then store it into the dictionary.
|
||||
|
||||
Last and also least important, `Purge`. First of all, `Purge` does not reset the Initialize params, the `INativeContext` and the number of slots stays the same! So in this implementation, it's just using `Clear()`.
|
||||
|
||||
## How SilkTouch does it
|
||||
|
||||
Now SilkTouch knows a lot more about the slots. Basically it's just a compile-time Dictionary. In a nutshell, we generate one field per `entrypoint` and use the `slot` to find the appropriate field. `Purge` is just Zeroing all those fields, and `Initialize` just stores the `_ctx`.
|
||||
|
||||
This allows the whole lookup to be inlined, which allows maximum performance. Now, at first you'd think this will result in just one huuuuge Load function, lot's of `if (slot == x) return _...;` now, that was much first approach to, I've then quickly learned that JIT does not care how hard you tell it to aggressively inline and optimize, it refuses to inline.
|
||||
|
||||
## Making JIT inline
|
||||
Now, it's pretty simple, it's like a binary search, we just sort all the slots, and generate for that section of slots (at the beginning these are all the slots). We then look whether the section of slots is an odd amount of slots, if it is, we load the lowest removing it from the slot section. As a fallback, we put an unreachable throw helper + `return default`.
|
||||
|
||||
Then, we take the mid slot and split again and we do that over and over and over again, recursively. This may be a bit of a surprise, but that means the JIT is happy to inline the whole thing.Loading, in this case means checking whether the field that was found is `IntPtr.Zero` and if it is, call `_ctx.Load` otherwise, just return it.
|
||||
|
||||
## AOT (Ahead of Time Compilation)
|
||||
I've recently added support for AOT into Silk.NET, and with it came the idea to add a feature to SilkTouch, preloading. Basically, what it does, it gets rid of all those branches in the loading, and preloads all addresses when `Initialize` is called. This means that `Load` call to the `IVTable` is as good as it gets. Right now we use the `Cdecl` calling convention in all cases, but that's not hard coded into SilkTouch, it's configurable per-method, this does mean some overhead. Also, every call we have a GC transition, but again, not much we can do about that. in the middle of the cdecl clutter and the GC entry/exit is our amazing `call rax` which, to my knowledge is the best we can do right now. (If you know any way to improve this please contact me)
|
||||
|
||||
Well yeah and that's kind of it. Thanks again, and if you're interested, I encourage you to look at the source yourself, see [https://github.com/dotnet/Silk.NET/blob/v2.0.0/src/Core/Silk.NET.SilkTouch/VTableGeneration.cs](https://github.com/dotnet/Silk.NET/blob/v2.0.0/src/Core/Silk.NET.SilkTouch/VTableGeneration.cs)
|
||||
|
||||
---
|
||||
|
||||
## Addendum: Overrides
|
||||
So overrides are the solution to conditionally changing the `INativeContext` in some cases.
|
||||
|
||||
On some platforms, specifically iOS, it's required to statically link the entire application, so trying to load functions from "glfw3.dll" won't work, since it's linked into the application itself, which can only be circumvented using `__Internal` which can only be used from P/Invoke.
|
||||
So we had to go back to using P/Invoke.
|
||||
|
||||
We didn't want to rely on P/Invoke marshalling, so all P/Invoke signatures are what you would expect to find in the invoke function pointer, the native types, names, etc.
|
||||
Now, to override this, but only sometimes, SilkTouch generates an override, which is then put into a function `CreateDefaultContext`. It just compares a parameter with the condition given in the attribute, and then either creates one of the overrides, and then returns either the override, or the default context.
|
||||
In the generated override, we just put all the P/Invoke definitions, and then a binary tree similar to the one used in VTables, returning the pointer to the correct P/Invoke definition.
|
||||
|
||||
And that's it, it's pretty short, but there's not much to it. Once again, check out the relevant code [https://github.com/dotnet/Silk.NET/blob/v2.0.0/src/Core/Silk.NET.SilkTouch/NativeContextOverrides/PInvokeNativeContextOverride.cs](https://github.com/dotnet/Silk.NET/blob/v2.0.0/src/Core/Silk.NET.SilkTouch/NativeContextOverrides/PInvokeNativeContextOverride.cs)
|
||||
You'll kind of get to see this running if you get the iOS or Android demo (included in preview3) running, which both use the P/Invoke override (the latter due to loading bugs). iOS (and Android) support is still pretty experimental, so not yet full glory :)
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Silk.NET, .NET 6, and the Sunsetting of Xamarin Support",
|
||||
"Url": "xamarin-deprecation.html",
|
||||
"Metadata": {
|
||||
"AuthorGitHub": "Perksey",
|
||||
"DateTimeWritten": "12/11/2021 23:00",
|
||||
"PreviewImage": "images/blog/nov-2021/dotnet-bot-selfie-stick.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Silk.NET, .NET 6, and the Sunsetting of Xamarin Support
|
||||
|
||||
Silk.NET is coming up on 2.5 years old now, and a lot has happened during that time. Silk.NET has released 2 major updates, in addition to 25 other patches and 5 previews in that time. Furthermore, across all of our packages we have amassed just over 1,000,000 downloads, we've joined the .NET Foundation, we've seen use in multiple sizeable games and game engines, we've had users who worked for Blizzard, Microsoft, HP; and so much more that's happened over the past 2.5 years that to list all of it you'd be reading for quite a while.
|
||||
|
||||
One of the things Silk.NET prides itself in is keeping up with the times. We have monthly updates which regenerate all of our bindings against the latest versions of their respective headers and specifications, to ensure we're always bringing you the latest and greatest features exposed by the native APIs we bind to. In addition, we're always quick to adopt new platform features as soon as possible.
|
||||
|
||||
For example, Silk.NET adopted C# 9 Source Generators before they were in general availability, as well as C# 9 Function Pointers and C# 9 native integers. We first started on .NET Core 2.1, and since then we've seen the release of .NET Core 3, .NET 5, and now .NET 6; and with every new .NET version we've taken the opportunity to improve at least *something* using the new features added in that particular update, be it loader improvements, performance enhancements, or whatever else.
|
||||
|
||||
Which brings us now to .NET 6.
|
||||
|
||||
## .NET 6
|
||||
|
||||
.NET 6 is the largest, final step towards the ecosystem unification that .NET 5 originally aimed to achieve: instead of having a .NET Framework, .NET Core, Xamarin iOS, Xamarin Android, etc; why can't we just have one: ".NET"? As of .NET 6, that dream is pretty much complete. Other than UWP, which Silk.NET didn't support anyway, we now have all platforms at our disposal with one target framework, one Base Class Library (BCL), one SDK, and one build system (`dotnet build`).
|
||||
|
||||
Today, **Silk.NET supports the release .NET 6 SDK**, and its Windowing and Input abstractions have officially supported Android and experimentally supported iOS for some time now, both through .NET 6 and Xamarin. However, because of how different Xamarin is to modern .NET mobile, we have had to write and maintain a lot of code for this.
|
||||
|
||||
## Silk.NET 2.X's Maintainability
|
||||
|
||||
Throughout the last 2.5 years, we have been learning as we went. This little corner of the ecosystem is very fast-moving, and it's hard to keep with what the "best practice" is considering by the time the community has decided on one, we had already written our code. As a result, a lot of the Silk.NET code (particularly our two generators BuildTools and SilkTouch) have grown in very strange ways, with the codebases being very large, meandering, and very hard to maintain. This doesn't help when, as mentioned before, we'd frequently added special cases and different generation paths; be it for Xamarin, a new feature we're trying out, or so on... While this complexity only leaked out to users in extremely rare cases, it's a massive blocker for contributors and us maintainers.
|
||||
|
||||
We've been putting lots of thought into the design of Silk.NET 3.0, the future of Silk.NET and our upcoming planned full rewrite of the library (compared to 2.X which was just a partial rewrite & evolution of 1.X) and work on designing this to be the best library we can be continues to this day, but until then we're still stuck maintaining 2.X in all its complexity.
|
||||
|
||||
As such, anywhere we can start chipping away at this codebase can help us massively for the (hopefully shorter than we think) time in which we need to keep maintaining 2.X before 3.0 is fully out-the-door.
|
||||
|
||||
## Sunsetting of Legacy Xamarin Support
|
||||
|
||||
Shortly before Silk.NET 2.9 released, we announced in our Discord server that to encourage our users to move to .NET 6, as well as to reduce a significant amount of maintenance overhead and contributor friction, the last update before the .NET 6 LTS release (2.10) will be the last to support Legacy Xamarin. Since then, Silk.NET 2.10 has released.
|
||||
|
||||
Back when .NET 6 was first announced, the idea was that its Android and iOS support were going to be generally available with the SDK itself, and the similar (but different) MAUI plans remaining in preview while the Xamarin team ported over everything from Xamarin Forms into MAUI. These plans have now slipped, with .NET 6 Android and .NET 6 iOS still being in preview today.
|
||||
|
||||
Nonetheless, the majority of our users who are using Silk.NET on Android and iOS are using .NET 6, and the maintainence cost of having support for Android and iOS via both legacy Xamarin and modern .NET 6 is too significant to justify supporting the minority of users who aren't using .NET 6.
|
||||
|
||||
Given this, as well as the excellent stability of .NET 6 Android and iOS insofar, we are sticking to our original plans to **remove support for legacy Xamarin** despite .NET 6 Android and iOS still technically being in preview.
|
||||
|
||||
We apologise for the inconvenience this might cause for some of you, but please understand that we're all maintaining this in our free time and if there's something blocking us from using that limited free time in the most efficient & effective way without significant reason for it doing so, chances are it needs to go.
|
||||
|
||||
**Please move your Silk.NET mobile applications to .NET 6**. 2.11 will only officially support mobile on .NET 6, and all code in our Windowing and Input abstractions to support legacy Xamarin will be removed.
|
||||
|
||||
Thank you for your continued support.
|
||||
|
||||
<sub>
|
||||
Note: This does not change the "experimental" status of our iOS support. We still only officially support Android today, despite iOS working in some capacity.
|
||||
</sub>
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "HLU Tutorials",
|
||||
"Url": "index.html",
|
||||
"Children": [
|
||||
],
|
||||
"Metadata": {
|
||||
"theme.silk.nav.big_dropdown.icon.class": "icon icon-shape bg-gradient-warning rounded-circle text-white",
|
||||
"theme.silk.nav.big_dropdown.icon": "ni ni-ui-04",
|
||||
"theme.silk.nav.big_dropdown.title.class": "heading text-warning mb-md-1",
|
||||
"theme.silk.nav.big_dropdown.title": "Silk.NET Windowing & Input Superbible",
|
||||
"theme.silk.nav.big_dropdown.description": "The ultimate guide to using Silk.NET's high-level cross-platform utilities."
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# HLU Tutorials
|
||||
|
||||
We're still working on our Windowing & Input High Level Utilities (HLU) tutorials!
|
||||
|
||||
You can get the gist of how HLU works by reading through the [OpenGL tutorials](../opengl)
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Documentation",
|
||||
"Url": "index.html",
|
||||
"Children": [
|
||||
{ "Url": "::opengl/index.md" },
|
||||
{ "Url": "::hlu/index.md" },
|
||||
{ "Url": "::silk.net/index.md" }
|
||||
],
|
||||
"Metadata": {
|
||||
"theme.silk.nav.big_dropdown": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Guidebooks
|
||||
|
||||
- WORK IN PROGRESS: [Getting Started with Silk.NET & OpenGL](./opengl)
|
||||
- WORK IN PROGRESS: [Silk.NET Windowing & Input Superbible](./hlu)
|
||||
- WORK IN PROGRESS: [Tips & Tricks](../docs)
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "OpenGL Tutorials",
|
||||
"Url": "index.html",
|
||||
"Children": [
|
||||
],
|
||||
"Metadata": {
|
||||
"theme.silk.nav.big_dropdown.icon.class": "icon icon-shape bg-gradient-primary rounded-circle text-white",
|
||||
"theme.silk.nav.big_dropdown.icon": "ni ni-spaceship",
|
||||
"theme.silk.nav.big_dropdown.title.class": "heading text-primary mb-md-1",
|
||||
"theme.silk.nav.big_dropdown.title": "Getting Started with Silk.NET & OpenGL",
|
||||
"theme.silk.nav.big_dropdown.description": "Learn how to use Silk.NET for making basic cross-platform games and applications powered by OpenGL."
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# OpenGL Tutorials
|
||||
|
||||
We're still working on the web, text-based walkthroughs of our example projects. However, the code is already written!
|
||||
|
||||
You can check out some examples of using Silk.NET for OpenGL [here](https://github.com/dotnet/Silk.NET/tree/main/examples).
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Frequently Asked Questions",
|
||||
"Url": "faq.html"
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Frequently Asked Questions
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
{
|
||||
"TableOfContents": {
|
||||
"Name": "Miscellaneous",
|
||||
"Url": "index.html",
|
||||
"Children": [
|
||||
{ "Url": "::faq.md" }
|
||||
],
|
||||
"Metadata": {
|
||||
"theme.silk.nav.big_dropdown.icon.class": "icon icon-shape bg-gradient-danger rounded-circle text-white",
|
||||
"theme.silk.nav.big_dropdown.icon": "ni ni-delivery-fast",
|
||||
"theme.silk.nav.big_dropdown.title.class": "heading text-danger mb-md-1",
|
||||
"theme.silk.nav.big_dropdown.title": "Tips & Tricks",
|
||||
"theme.silk.nav.big_dropdown.description": "Miscellaneous further documentation for getting the most out of your Silk.NET applications."
|
||||
}
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# Tips & Tricks
|
||||
|
||||
> a.k.a. the miscellaneous section
|
||||
|
||||
This section of the website contains useful miscellaneous tidbits which we think will come in handy to get the most out of your Silk.NET application!
|
После Ширина: | Высота: | Размер: 44 KiB |
После Ширина: | Высота: | Размер: 154 KiB |
После Ширина: | Высота: | Размер: 1.8 MiB |
После Ширина: | Высота: | Размер: 16 KiB |
После Ширина: | Высота: | Размер: 2.2 MiB |
После Ширина: | Высота: | Размер: 7.2 MiB |
После Ширина: | Высота: | Размер: 102 KiB |
После Ширина: | Высота: | Размер: 124 KiB |
После Ширина: | Высота: | Размер: 135 KiB |
После Ширина: | Высота: | Размер: 315 KiB |
После Ширина: | Высота: | Размер: 86 KiB |
После Ширина: | Высота: | Размер: 22 KiB |
После Ширина: | Высота: | Размер: 5.1 KiB |
|
@ -0,0 +1 @@
|
|||
<svg id="svg8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 269.29 269.29"><defs><linearGradient id="linear-gradient" x1="134.65" x2="134.65" y2="269.29" gradientUnits="userSpaceOnUse"><stop offset="0.09" stop-color="#7014eb"/><stop offset="1" stop-color="#4931de"/></linearGradient></defs><path d="M224.84,134.65h0l-90.2-90.2v90.2h90.2l-90.2,90.19L44.45,134.65l90.19-90.2V0A134.64,134.64,0,0,0,0,134.65H0a134.65,134.65,0,0,0,269.29,0Z" style="fill:url(#linear-gradient)"/></svg>
|
После Ширина: | Высота: | Размер: 525 B |
После Ширина: | Высота: | Размер: 1.4 KiB |
После Ширина: | Высота: | Размер: 14 KiB |
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Vulkan" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="1100px" height="500px" viewBox="0 0 1100 500" style="enable-background:new 0 0 1100 500;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ABD038;}
|
||||
.st1{fill:#EE332D;}
|
||||
.st2{fill:#F2BA1A;}
|
||||
.st3{fill:#3DAE2B;}
|
||||
.st4{fill:#010101;}
|
||||
</style>
|
||||
<path class="st0" d="M477.9,98.3c14.6-22.8,31.8-49.8,37.4-58.6c-63.9,4.8-123,21.4-173,46.7c7.7,14.4,17.7,32.5,25.4,46.5
|
||||
c26.5-9.9,55.3-16.7,85.7-19.6C463.4,112.3,472.4,106.8,477.9,98.3z"/>
|
||||
<path class="st1" d="M711.2,190.5c13.9,6.6,27.4,8.6,46.3,8.6c34.6,0,99.9,0.1,135.8,0.2c0,0,0,0,0,0
|
||||
c-31.6-52.5-85.8-96.2-153.7-124.8c-24.1,16.1-93.1,62.3-104.1,69.6C679.1,165.4,697.5,184,711.2,190.5z"/>
|
||||
<path class="st2" d="M528.5,38.9c-1.9,5.6-18.9,56.6-24.3,73.1c27.4,1.2,53.8,5.4,78.5,12.3c14.7,4.1,30.5,2.6,44.1-4.4l99.6-50.8
|
||||
C674.9,49.4,616.3,38.2,554,38.2C545.4,38.2,536.9,38.5,528.5,38.9z"/>
|
||||
<path class="st3" d="M205.6,212.9l32.3,0.1c8.7,0,17-3.6,22.9-10c17.5-19.1,39-35.9,63.7-49.8c8.8-4.9,13.7-14.8,12.1-24.7
|
||||
c-2.4-15.6-5-31.7-5.7-36C274.6,123,230.8,164.6,205.6,212.9z"/>
|
||||
<g>
|
||||
<polygon class="st4" points="987.9,239.5 980.5,239.5 980.5,258.8 974,258.8 974,239.5 966.5,239.5 966.5,233.9 987.9,233.9
|
||||
987.9,239.5 "/>
|
||||
<polyline class="st4" points="1018.6,233.9 1018.6,258.8 1012.5,258.8 1012.5,239.9 1012.4,239.9 1007.2,258.8 1002.2,258.8
|
||||
997,239.9 996.9,239.9 996.9,258.8 990.8,258.8 990.8,233.9 990.8,233.9 1000.4,233.9 1004.7,250.5 1004.7,250.5 1009,233.9 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st4" d="M216.7,260.3c-7.9-9.2-17.6-16.5-29.1-21.8c-11.4-5.4-24.4-8.1-38.8-8.1c-14.4,0-27.3,2.7-38.8,8.1
|
||||
c-11.4,5.4-21.1,12.7-29.1,21.8c-7.9,9.2-14,19.9-18.2,32.1c-4.2,12.2-6.4,25.2-6.4,38.8c0,13.8,2.1,26.9,6.4,39.1
|
||||
c4.2,12.2,10.3,22.9,18.2,32.1c7.9,9.2,17.6,16.4,29.1,21.7c11.4,5.3,24.4,8,38.8,8c14.4,0,27.3-2.7,38.8-8
|
||||
c11.4-5.3,21.1-12.5,29.1-21.7c7.9-9.2,14-19.9,18.2-32.1c4.2-12.2,6.4-25.3,6.4-39.1c0-13.7-2.1-26.6-6.4-38.8
|
||||
C230.7,280.2,224.6,269.5,216.7,260.3z M204.1,358.2c-2.3,8.8-5.7,16.7-10.4,23.6c-4.7,6.9-10.8,12.5-18.2,16.6
|
||||
c-7.5,4.1-16.4,6.2-26.6,6.2c-10.3,0-19.1-2.1-26.6-6.2c-7.5-4.1-13.6-9.7-18.2-16.6c-4.7-6.9-8.2-14.8-10.4-23.6
|
||||
c-2.3-8.8-3.4-17.8-3.4-27s1.1-18.2,3.4-27c2.3-8.8,5.7-16.7,10.4-23.6c4.7-6.9,10.8-12.4,18.2-16.6c7.5-4.1,16.4-6.2,26.6-6.2
|
||||
c10.3,0,19.1,2.1,26.6,6.2c7.5,4.1,13.6,9.7,18.2,16.6c4.7,6.9,8.2,14.8,10.4,23.6c2.3,8.8,3.4,17.8,3.4,27
|
||||
S206.3,349.4,204.1,358.2z"/>
|
||||
<path class="st4" d="M384.5,306c-5.4-6.7-12.2-12-20.4-15.9c-8.2-3.9-17.8-5.8-28.8-5.8c-9,0-17.4,1.8-25.1,5.3
|
||||
c-7.8,3.5-13.8,9.3-18.1,17.4h-0.5V288h-29.2v191h30.8v-69.6h0.5c2.3,3.8,5.3,7.1,8.8,9.8c3.5,2.8,7.3,5.1,11.5,6.9
|
||||
c4.1,1.8,8.5,3.1,13,3.9c4.5,0.8,9,1.2,13.5,1.2c10.3,0,19.2-2,26.8-6.1c7.6-4,13.8-9.4,18.8-16.2c5-6.7,8.7-14.5,11.1-23.3
|
||||
c2.4-8.8,3.6-17.9,3.6-27.3c0-10.3-1.4-19.9-4.1-28.9C394,320.6,389.9,312.7,384.5,306z M367.9,375.8c-1.4,5.8-3.6,11.1-6.8,15.7
|
||||
c-3.2,4.6-7.2,8.3-12,11.2c-4.9,2.9-10.8,4.3-17.8,4.3c-6.3,0-11.9-1.3-16.6-3.8c-4.8-2.5-8.9-5.9-12.3-10.3
|
||||
c-3.4-4.3-6-9.5-7.7-15.5c-1.7-6-2.6-12.5-2.6-19.6c0-14.9,3.3-26.9,9.9-35.9c6.6-9,16.4-13.5,29.3-13.5c6.3,0,11.9,1.4,16.8,4.2
|
||||
c4.9,2.8,8.9,6.5,12.2,11.1s5.7,9.8,7.3,15.8c1.6,5.9,2.4,12.1,2.4,18.3C369.9,364,369.3,370,367.9,375.8z"/>
|
||||
<path class="st4" d="M531.8,309.3c-5.8-7.6-13-13.6-21.8-18.2c-8.7-4.6-18.6-6.9-29.6-6.9c-10.5,0-19.8,2-28.1,5.9
|
||||
c-8.3,4-15.4,9.3-21.2,16.1c-5.9,6.7-10.4,14.6-13.5,23.5c-3.2,8.9-4.7,18.3-4.7,28.2c0,10.8,1.5,20.7,4.5,29.7
|
||||
c3,9,7.4,16.7,13.2,23.2c5.9,6.5,13,11.5,21.5,15.1c8.5,3.6,18.2,5.4,29.2,5.4c7.6,0,14.8-1,21.8-3.1c6.9-2.1,13.2-5.1,18.8-9.2
|
||||
c5.6-4,10.4-9,14.3-15c4-5.9,6.8-12.7,8.4-20.2h-29.2c-2.7,7.7-6.8,13.5-12.3,17.4c-5.5,3.9-12.8,5.8-21.8,5.8
|
||||
c-6.5,0-12.1-1.1-16.8-3.4c-4.7-2.2-8.6-5.3-11.6-9c-3.1-3.8-5.4-8.2-6.9-13.2c-1.5-5-2.3-10.3-2.3-15.7h102.7
|
||||
c1.3-10.4,0.6-20.5-2-30.4C541.7,325.6,537.5,316.9,531.8,309.3z M443.6,345.5c0.2-5.2,1.2-10.1,3.1-14.6c1.9-4.5,4.4-8.4,7.6-11.7
|
||||
c3.2-3.3,6.9-5.9,11.4-7.8c4.4-1.9,9.3-2.8,14.7-2.8c5.2,0,10,1,14.2,3.1c4.2,2.1,7.8,4.8,10.8,8.1c3,3.3,5.3,7.2,7,11.7
|
||||
c1.7,4.5,2.7,9.2,3.1,14H443.6z"/>
|
||||
<path class="st4" d="M673.3,296.1c-8.8-7.9-20.9-11.9-36.2-11.9c-9.2,0-17.6,2.2-25.1,6.6c-7.6,4.4-13.7,10.5-18.4,18.2l-0.5-0.5
|
||||
V288h-29.2v139.5h30.8v-82.3c0-5,0.8-9.8,2.4-14.3c1.6-4.5,3.9-8.4,6.8-11.7c2.9-3.3,6.4-5.9,10.5-7.8c4.1-1.9,8.8-2.8,14.1-2.8
|
||||
c9.2,0,16,2.5,20.3,7.4c4.3,4.9,6.7,12.9,7,23.9v87.7h30.8v-95.8C686.6,315.9,682.1,304,673.3,296.1z"/>
|
||||
<path class="st4" d="M840.7,352.1c-1.5,12-5.8,21.9-12.6,29.4c-6.7,7.3-16.2,11.1-28.2,11.1c-9,0-16.6-1.7-22.8-5.2
|
||||
c-6.2-3.4-11.3-8-15.2-13.7c-3.9-5.7-6.8-12.3-8.6-19.6c-1.8-7.3-2.7-14.9-2.7-22.6c0-8.1,0.9-16,2.7-23.6
|
||||
c1.8-7.5,4.7-14.2,8.6-20.1c3.9-5.8,8.9-10.4,15.2-13.9c6.2-3.4,13.9-5.2,22.8-5.2c4.8,0,9.6,0.8,14,2.4c4.4,1.6,8.5,3.8,12,6.7
|
||||
c3.5,2.8,6.5,6.2,8.8,9.9c2.3,3.7,3.8,7.8,4.5,12.3l0.3,1.9h44.8l-0.3-2.5c-1.3-11.2-4.4-21.3-9.3-30c-4.9-8.7-11.2-16.1-18.8-22
|
||||
c-7.5-5.9-16.1-10.4-25.6-13.5c-9.5-3.1-19.7-4.6-30.3-4.6c-14.9,0-28.5,2.6-40.2,7.9c-11.7,5.2-21.8,12.6-30,21.8
|
||||
c-8.1,9.2-14.4,20.1-18.8,32.5c-4.3,12.4-6.5,25.8-6.5,39.9c0,13.8,2.2,27,6.5,39.2c4.3,12.2,10.6,23,18.8,32
|
||||
c8.1,9,18.2,16.3,30,21.5c11.7,5.2,25.3,7.9,40.2,7.9c11.9,0,23-1.9,32.9-5.6c10-3.7,18.8-9.1,26.2-16c7.4-6.9,13.5-15.3,18-25.1
|
||||
c4.5-9.7,7.3-20.8,8.4-32.8l0.2-2.4H841L840.7,352.1z"/>
|
||||
<polygon class="st4" points="948.6,388.1 948.6,233.9 902.4,233.9 902.4,427.5 1040.9,427.5 1040.9,388.1 "/>
|
||||
</g>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 5.5 KiB |
После Ширина: | Высота: | Размер: 6.9 KiB |
После Ширина: | Высота: | Размер: 7.4 KiB |
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
|
||||
<svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" width="1400px" height="500px" viewBox="0 0 1400 500" xml:space="preserve">
|
||||
<g id="Vulkan">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#782D8E" d="M281,243.7c4.2-12.8,10.5-24.1,18.8-34c8.4-9.8,18.8-17.7,31.2-23.6c12.5-5.9,27-8.8,43.5-8.8
|
||||
c16.5,0,31,2.9,43.5,8.8c12.5,5.9,22.9,13.7,31.2,23.6c8.4,9.8,14.6,21.2,18.8,34c4.2,12.8,6.3,26.1,6.3,39.9
|
||||
c0,13.8-2.1,27.1-6.3,39.9c-4.2,12.8-10.5,24.1-18.8,34c-8.4,9.8-18.8,17.7-31.2,23.4c-12.5,5.8-27,8.7-43.5,8.7
|
||||
c-16.5,0-31-2.9-43.5-8.7c-12.5-5.8-22.9-13.6-31.2-23.4c-8.4-9.9-14.6-21.2-18.8-34c-4.2-12.8-6.3-26.1-6.3-39.9
|
||||
C274.7,269.8,276.8,256.5,281,243.7z M306.5,314c2.7,10,7,18.9,12.9,26.9c5.8,8,13.3,14.4,22.5,19.2c9.2,4.8,20.1,7.2,32.7,7.2
|
||||
c12.7,0,23.6-2.4,32.7-7.2c9.2-4.8,16.7-11.2,22.5-19.2c5.8-8,10.1-16.9,12.9-26.9c2.7-10,4.1-20.1,4.1-30.3s-1.4-20.3-4.1-30.3
|
||||
c-2.7-10-7-18.9-12.9-26.9c-5.8-8-13.4-14.4-22.5-19.2c-9.2-4.8-20.1-7.3-32.7-7.3c-12.7,0-23.6,2.4-32.7,7.3
|
||||
c-9.2,4.8-16.7,11.2-22.5,19.2c-5.8,8-10.1,16.9-12.9,26.9c-2.7,10-4.1,20-4.1,30.3S303.7,304,306.5,314z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#782D8E" d="M493.8,256.9h21v17.3h0.5c3.5-7.1,8.9-12.3,16.3-15.5c7.4-3.2,15.6-4.8,24.5-4.8c9.9,0,18.5,1.8,25.9,5.4
|
||||
c7.3,3.6,13.4,8.5,18.3,14.7c4.9,6.2,8.5,13.3,11,21.4c2.5,8.1,3.7,16.7,3.7,25.7c0,9.1-1.2,17.7-3.6,25.7
|
||||
c-2.4,8.1-6,15.1-10.9,21.2c-4.9,6-11,10.8-18.3,14.4c-7.3,3.5-15.9,5.3-25.6,5.3c-3.3,0-6.9-0.3-10.6-1
|
||||
c-3.8-0.7-7.6-1.8-11.4-3.3c-3.8-1.6-7.4-3.6-10.8-6.2c-3.4-2.6-6.2-5.7-8.5-9.5h-0.5v66.1h-21V256.9z M592.9,319.8
|
||||
c0-5.9-0.8-11.8-2.4-17.4c-1.6-5.7-4-10.8-7.2-15.2c-3.2-4.5-7.3-8-12.4-10.6c-5-2.6-10.9-4-17.7-4c-7.1,0-13.1,1.4-18.1,4.2
|
||||
c-5,2.8-9,6.5-12.1,11c-3.1,4.5-5.4,9.7-6.8,15.5c-1.4,5.8-2.1,11.6-2.1,17.6c0,6.3,0.7,12.3,2.2,18.2c1.5,5.9,3.8,11,7.1,15.5
|
||||
c3.2,4.5,7.4,8,12.5,10.8c5.1,2.7,11.3,4.1,18.6,4.1c7.1,0,13.1-1.4,18.1-4.2c5-2.8,8.9-6.5,11.9-11.1c3-4.6,5.1-9.9,6.4-15.8
|
||||
C592.2,332.2,592.9,326.1,592.9,319.8z"/>
|
||||
<path fill="#782D8E" d="M746.6,344.3c-2.8,14.2-9,25-18.6,32.4c-9.6,7.4-21.7,11.1-36.2,11.1c-10.3,0-19.1-1.7-26.7-5.1
|
||||
c-7.5-3.4-13.9-8-19-14c-5.1-5.9-9-13-11.5-21.3c-2.6-8.3-4-17.2-4.3-27c0-9.6,1.5-18.4,4.5-26.6c3-8.2,7.1-15.2,12.5-21.2
|
||||
c5.4-5.9,11.7-10.6,19.1-13.9c7.3-3.3,15.4-5,24.1-5c11.4,0,20.8,2.4,28.3,7.1c7.5,4.7,13.5,10.7,18.1,17.9
|
||||
c4.5,7.3,7.7,15.2,9.4,23.8c1.7,8.6,2.4,16.8,2.1,24.5h-95.8c-0.2,5.6,0.5,10.9,2,16c1.5,5,3.9,9.5,7.2,13.4
|
||||
c3.3,3.9,7.5,7,12.6,9.3c5.1,2.3,11.1,3.5,18.1,3.5c8.7,0,16-2.1,21.8-6.2c5.8-4.1,9.6-10.4,11.4-18.8H746.6z M726.1,308.7
|
||||
c-0.3-5-1.4-9.7-3.3-14.1c-1.9-4.5-4.5-8.3-7.7-11.5c-3.2-3.2-7.1-5.8-11.5-7.7c-4.5-1.9-9.2-2.8-14.4-2.8
|
||||
c-5.4,0-10.4,1-14.7,2.8c-4.4,1.9-8.1,4.5-11.3,7.8c-3.1,3.3-5.6,7.1-7.4,11.5c-1.8,4.4-2.9,9-3.2,14H726.1z"/>
|
||||
<path fill="#782D8E" d="M768.6,256.9h19.8v20.3h0.5c4.5-7.9,10.2-13.8,17.2-17.6c7-3.8,15.1-5.7,24.4-5.7c8.4,0,15.4,1.2,21,3.5
|
||||
c5.6,2.3,10.1,5.5,13.6,9.7c3.5,4.1,5.9,9,7.3,14.7c1.4,5.7,2.1,12,2.1,18.9v84.2h-21v-86.6c0-7.9-2.3-14.2-6.9-18.8
|
||||
c-4.6-4.6-11-6.9-19.1-6.9c-6.4,0-12,1-16.7,3c-4.7,2-8.6,4.8-11.8,8.4c-3.1,3.6-5.5,7.9-7.1,12.7c-1.6,4.9-2.4,10.2-2.4,16v72.3
|
||||
h-21V256.9z"/>
|
||||
<path fill="#782D8E" d="M1090.1,181.9h109.5c9.1,0,17.3,1.5,24.6,4.4c7.3,2.9,13.6,7,18.8,12.1c5.2,5.1,9.2,11.1,11.9,17.9
|
||||
c2.7,6.8,4.1,14,4.1,21.6c0,11.9-2.5,22.3-7.5,31c-5,8.7-13.2,15.4-24.6,19.9v0.6c5.5,1.5,10,3.8,13.7,7
|
||||
c3.6,3.1,6.5,6.9,8.8,11.2c2.3,4.4,3.9,9.1,5,14.1c1,5,1.8,10.1,2.1,15.2c0.2,3.2,0.4,7,0.6,11.4c0.2,4.4,0.5,8.8,1,13.2
|
||||
c0.5,4.5,1.2,8.8,2.3,12.9c1,4.2,2.6,7.7,4.7,10.5h-44.6c-1.3-3.2-2.3-6.8-3-10.7c-0.7-3.9-1.2-8-1.7-12.2
|
||||
c-0.5-4.3-0.9-8.6-1.1-13.1c-0.3-4.5-0.7-8.7-1.3-12.7c-1.5-10.6-4.7-18.4-9.7-23.3c-4.9-4.9-13-7.4-24.2-7.4h-44.6v79.3h-44.6
|
||||
V181.9z M1134.8,273.8h48.9c10,0,17.7-2.3,22.9-6.8c5.2-4.5,7.8-11.9,7.8-22.2c0-9.9-2.6-17-7.8-21.5c-5.2-4.5-12.8-6.7-22.9-6.7
|
||||
h-48.9V273.8z"/>
|
||||
</g>
|
||||
<path fill="#782D8E" d="M225.7,249.9c26.3-93.1,212.4-137.5,415.7-99.2c122,23,216,74.3,286.9,122.6
|
||||
c-53.1-77.4-187.3-169.1-373.3-194.4C332.8,48.6,117.9,99.2,96.5,197.4c-15.4,71,74.4,147.9,209.2,196.2
|
||||
C243.9,349.6,212.1,298,225.7,249.9z"/>
|
||||
<polygon fill="#782D8E" points="1013.7,288.8 955,288.8 887.9,384.9 938.3,384.9 983.5,318 1027.8,384.9 1081,384.9 "/>
|
||||
<path fill="#782D8E" d="M973,273.7h40.7l61.7-91.8h-48.9l-40.6,63.9C921,153.6,825.6,116.6,740.1,104.3
|
||||
c99.2,41.2,176.1,104,215,169.4H973z"/>
|
||||
<g>
|
||||
<polygon fill="#782D8E" points="1302.3,365.7 1294.9,365.7 1294.9,385 1288.5,385 1288.5,365.7 1281,365.7 1281,360.1
|
||||
1302.3,360.1 1302.3,365.7 "/>
|
||||
<polygon fill="#782D8E" points="1305.2,360.1 1314.8,360.1 1319,376.7 1319.1,376.7 1323.4,360.1 1332.9,360.1 1332.9,385
|
||||
1326.8,385 1326.8,366.1 1326.8,366.1 1321.5,385 1316.6,385 1311.4,366.1 1311.3,366.1 1311.3,385 1305.2,385 1305.2,360.1
|
||||
"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Layer_5">
|
||||
</g>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 5.1 KiB |
После Ширина: | Высота: | Размер: 20 KiB |