Merge branch 'android-resource-adapters' into android-settings-ui-rework

This commit is contained in:
jahorton 2019-06-25 13:01:22 +07:00
commit f2758f9e70
153 changed files with 7670 additions and 1117516 deletions

View file

@ -12,35 +12,48 @@ android {
minSdkVersion 16
targetSdkVersion 28
//dumpProperties(project.ext) // Use this to dump all external properties for debugging TeamCity integration
//println "===DUMPING PROPERTIES==="
//dumpProperties(project) // Use this to dump all external properties for debugging TeamCity integration
//println "===END DUMP==="
if (project.hasProperty("services_json_file")) {
String env_services_json_file = System.getenv('services_json_file')
if (env_services_json_file != null) {
env_services_json_file = String.valueOf(env_services_json_file)
println "Copying production google-services.json and using at kMAPro/"
copy {
from project.ext.services_json_file
from env_services_json_file
include '*.json'
into './'
}
}
if (project.hasProperty("build.number")) {
versionCode project.ext['build_counter'] as Integer
// Because TeamCity does not bubble build.counter into system properties...
versionName "${project.ext['build.number']}"
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
String env_build_counter = System.getenv("build_counter")
if (env_build_number != null) {
println "Using build number $env_build_number and counter $env_build_counter from environment"
versionCode env_build_counter as Integer
versionName env_build_number
} else {
String majorMinorVersion = file('$projectDir/../../../../resources/VERSION.md').text.trim()
versionCode 100
versionName majorMinorVersion + '.0.0'
println "Using build $majorMinorVersion from project VERSION.md"
}
}
if (project.hasProperty("release_store_file")) {
String env_release_store_file = System.getenv("release_store_file")
String env_release_store_password = System.getenv("release_store_password")
String env_release_key_alias = System.getenv("release_key_alias")
String env_release_key_password = System.getenv("release_key_password")
if (env_release_store_file != null) {
signingConfigs {
release {
storeFile file(project.ext.release_store_file)
storePassword project.ext.release_store_password
keyAlias project.ext.release_key_alias
keyPassword project.ext.release_key_password
println "Using signing from environment"
storeFile file(String.valueOf(env_release_store_file))
storePassword env_release_store_password
keyAlias env_release_key_alias
keyPassword env_release_key_password
}
}
}
@ -52,7 +65,7 @@ android {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
if (project.hasProperty("release_store_file")) {
if (env_release_store_file != null) {
signingConfig signingConfigs.release
}
}
@ -65,11 +78,12 @@ android {
}
}
if (project.hasProperty("keys_json_file")) {
String env_keys_json_file = System.getenv("keys_json_file")
if (env_keys_json_file != null) {
apply plugin: 'com.github.triplet.play'
play {
serviceAccountCredentials = file(project.ext.keys_json_file)
serviceAccountCredentials = file(String.valueOf(env_keys_json_file))
// Deactivate lower conflicting version APKs
resolutionStrategy = "ignore"
@ -112,8 +126,7 @@ dependencies {
implementation 'androidx.preference:preference:1.1.0-alpha04'
}
/*
def void dumpProperties(it){
/*def void dumpProperties(it){
//println "Examining $it.name:"
//println "Meta:"
//println it.metaClass.metaMethods*.name.sort().unique()
@ -124,7 +137,6 @@ def void dumpProperties(it){
println "Properties:"
println it.properties.entrySet()*.toString()
.sort().toString().replaceAll(", ","\n")
}
*/
}*/
apply plugin: 'com.google.gms.google-services'

View file

@ -8,13 +8,17 @@ android {
minSdkVersion 16
targetSdkVersion 28
if (project.hasProperty("build.number")) {
versionCode project.ext['build_counter'] as Integer // Because TeamCity does not bubble build.counter into system properties...
versionName "${project.ext['build.number']}"
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
String env_build_counter = System.getenv("build_counter")
if (env_build_number != null) {
println "Using build number $env_build_number and counter $env_build_counter from environment"
versionCode env_build_counter as Integer
versionName env_build_number
} else {
String majorMinorVersion = file('$projectDir/../../../../resources/VERSION.md').text.trim()
versionCode 100
versionName majorMinorVersion + '.0.0'
println "Using build $majorMinorVersion from project VERSION.md"
}
}

View file

@ -14,18 +14,34 @@ die () {
SHLVL=0
echo Build KMEA and KMAPro:
# Building Keyman Engine for Android
cd KMEA
./build.sh $@
./build.sh "$@"
if [ $? -ne 0 ]; then
die "ERROR: KMEA/build.sh failed"
fi
# Building Keyman for Android
cd ../KMAPro
./build.sh $@
./build.sh "$@"
if [ $? -ne 0 ]; then
die "ERROR: KMAPro/build.sh failed"
fi
cd ../
# Building OEM apps
if [ ! -z "$RELEASE_OEM" ]; then
pushd ../oem/firstvoices/android
./build.sh -lib-nobuild "$@"
if [ $? -ne 0 ]; then
die "ERROR: oem/firstvoices/android/build.sh failed"
fi
fi

View file

@ -111,7 +111,7 @@ namespace com.keyman.text.prediction {
});
}
predict(transform: Transform, context: Context): Promise<Suggestion[]> {
predict(transform: Transform | Distribution<Transform>, context: Context): Promise<Suggestion[]> {
let token = this._nextToken++;
return new Promise((resolve, reject) => {
this._promises.make(token, resolve, reject);

View file

@ -179,6 +179,26 @@ interface Transform {
deleteRight?: number;
}
/**
* Represents members of a probability distribution over potential outputs
* from ambiguous text sequences. Designed for use with fat-finger correction
* and similar typing ambiguities.
*/
interface ProbabilityMass<T> {
/**
* An individual sample from a Distribution over the same type.
*/
sample: T;
/**
* The probability mass for this member of the distribution,
* calculated devoid of any language-modeling influences.
*/
p: number;
}
type Distribution<T> = ProbabilityMass<T>[];
/**
* The text and environment surrounding the insertion point (text cursor).
*/

View file

@ -252,22 +252,6 @@
"callsite": "1.0.0"
}
},
"big-integer": {
"version": "1.6.40",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.40.tgz",
"integrity": "sha512-CjhtJp0BViLzP1ZkEnoywjgtFQXS2pomKjAJtIISTCnuHILkLcAXLdFLG/nxsHc4s9kJfc+82Xpg8WNyhfACzQ==",
"dev": true
},
"binary": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
"dev": true,
"requires": {
"buffers": "~0.1.1",
"chainsaw": "~0.1.0"
}
},
"binary-extensions": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
@ -361,22 +345,45 @@
"dev": true
},
"browserstack": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.1.tgz",
"integrity": "sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg==",
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz",
"integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==",
"dev": true,
"requires": {
"https-proxy-agent": "^2.2.1"
}
},
"browserstacktunnel-wrapper": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.4.tgz",
"integrity": "sha512-GCV599FUUxNOCFl3WgPnfc5dcqq9XTmMXoxWpqkvmk0R9TOIoqmjENNU6LY6DtgIL6WfBVbg/jmWtnM5K6UYSg==",
"browserstack-local": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.4.0.tgz",
"integrity": "sha512-BUJWxIsJkJxqfTPJIvGWTsf+IYSqSFUeFNW9tnuyTG7va/0LkXLhIi/ErFGDle1urQkol48HlQUXj4QrliXFpg==",
"dev": true,
"requires": {
"https-proxy-agent": "^2.2.1",
"unzipper": "^0.9.3"
"is-running": "^2.0.0",
"ps-tree": "=1.1.1",
"sinon": "^1.17.6",
"temp-fs": "^0.9.9"
},
"dependencies": {
"lolex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
"integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=",
"dev": true
},
"sinon": {
"version": "1.17.7",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
"integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=",
"dev": true,
"requires": {
"formatio": "1.1.1",
"lolex": "1.3.2",
"samsam": "1.1.2",
"util": ">=0.10.3 <1"
}
}
}
},
"buffer-alloc": {
@ -407,18 +414,6 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
"buffer-indexof-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz",
"integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=",
"dev": true
},
"buffers": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
"dev": true
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -462,15 +457,6 @@
"type-detect": "^4.0.5"
}
},
"chainsaw": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
"dev": true,
"requires": {
"traverse": ">=0.3.0 <0.4"
}
},
"check-error": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
@ -686,6 +672,15 @@
"type-detect": "^4.0.0"
}
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
},
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
@ -757,14 +752,11 @@
"void-elements": "^2.0.0"
}
},
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
"dev": true,
"requires": {
"readable-stream": "^2.0.2"
}
"duplexer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
"edge-launcher": {
"version": "1.2.2",
@ -836,10 +828,35 @@
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
"dev": true
},
"es-abstract": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
"integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.0",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"is-callable": "^1.1.4",
"is-regex": "^1.0.4",
"object-keys": "^1.0.12"
}
},
"es-to-primitive": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
"es6-promise": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
"integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==",
"dev": true
},
"es6-promisify": {
@ -863,6 +880,21 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"event-stream": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
"duplexer": "~0.1.1",
"from": "~0",
"map-stream": "~0.1.0",
"pause-stream": "0.0.11",
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
}
},
"eventemitter3": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
@ -1133,6 +1165,15 @@
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"formatio": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
"integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=",
"dev": true,
"requires": {
"samsam": "~1.1"
}
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@ -1142,6 +1183,12 @@
"map-cache": "^0.2.2"
}
},
"from": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
"fs-access": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
@ -1705,17 +1752,11 @@
}
}
},
"fstream": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"get-func-name": {
"version": "2.0.0",
@ -1776,6 +1817,15 @@
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"dev": true
},
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
},
"has-binary2": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
@ -1805,6 +1855,12 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
@ -1927,6 +1983,12 @@
}
}
},
"is-arguments": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
"integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
"dev": true
},
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
@ -1942,6 +2004,12 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@ -1962,6 +2030,12 @@
}
}
},
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
@ -1993,6 +2067,12 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-generator-function": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz",
"integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==",
"dev": true
},
"is-glob": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
@ -2031,6 +2111,30 @@
"isobject": "^3.0.1"
}
},
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
"has": "^1.0.1"
}
},
"is-running": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-running/-/is-running-2.1.0.tgz",
"integrity": "sha1-MKc/9cw4VOT8JUkICen1q/jeCeA=",
"dev": true
},
"is-symbol": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"dev": true,
"requires": {
"has-symbols": "^1.0.0"
}
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
@ -2107,13 +2211,13 @@
}
},
"karma-browserstack-launcher": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.4.0.tgz",
"integrity": "sha512-bUQK84U+euDfOUfEjcF4IareySMOBNRLrrl9q6cttIe8f011Ir6olLITTYMOJDcGY58wiFIdhPHSPd9Pi6+NfQ==",
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.5.1.tgz",
"integrity": "sha512-zt9Ukow5A9WZHZXCFVO/h5kRsAdaZYeMNJK9Uan8v42amQXt3B/DZVxl24NCcAIxufKjW13UWd9iJ9knG9OCYw==",
"dev": true,
"requires": {
"browserstack": "~1.5.1",
"browserstacktunnel-wrapper": "~2.0.2",
"browserstack-local": "^1.3.7",
"q": "~1.5.0"
}
},
@ -2258,12 +2362,6 @@
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
"listenercount": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
"integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=",
"dev": true
},
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
@ -2354,6 +2452,12 @@
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-stream": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
"dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
@ -2616,6 +2720,12 @@
}
}
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
@ -2625,6 +2735,18 @@
"isobject": "^3.0.0"
}
},
"object.entries": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
"integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.12.0",
"function-bind": "^1.1.1",
"has": "^1.0.3"
}
},
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
@ -2733,6 +2855,15 @@
"integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
"dev": true
},
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"dev": true,
"requires": {
"through": "~2.3"
}
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@ -2750,6 +2881,15 @@
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz",
"integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA=="
},
"ps-tree": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.1.tgz",
"integrity": "sha512-kef7fYYSKVqQffmzTMsVcUD1ObNJMp8sNSmHGlGKsZQyL/ht9MZKk86u0Rd1NhpTOAuhqwKCLLpktwkqz+MF8A==",
"dev": true,
"requires": {
"event-stream": "=3.3.4"
}
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@ -2900,6 +3040,12 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"samsam": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
"integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=",
"dev": true
},
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
@ -2923,12 +3069,6 @@
}
}
},
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
@ -3189,6 +3329,15 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
"split": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2"
}
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@ -3225,6 +3374,15 @@
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
}
},
"streamroller": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
@ -3255,6 +3413,32 @@
"has-flag": "^3.0.0"
}
},
"temp-fs": {
"version": "0.9.9",
"resolved": "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz",
"integrity": "sha1-gHFzBDeHByDpQxUy/igUNk+IA9c=",
"dev": true,
"requires": {
"rimraf": "~2.5.2"
},
"dependencies": {
"rimraf": {
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
"integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=",
"dev": true,
"requires": {
"glob": "^7.0.5"
}
}
}
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@ -3312,12 +3496,6 @@
"repeat-string": "^1.6.1"
}
},
"traverse": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
"dev": true
},
"ts-node": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
@ -3451,31 +3629,6 @@
}
}
},
"unzipper": {
"version": "0.9.7",
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.7.tgz",
"integrity": "sha512-icFtME1RD648v+cjfcUWoky4bHbMTi8nk06nGxH77EPYyEeKaTgT3nRHM/dQ3znGXLi3+OlhYo86zQzNBRdNhw==",
"dev": true,
"requires": {
"big-integer": "^1.6.17",
"binary": "~0.3.0",
"bluebird": "~3.4.1",
"buffer-indexof-polyfill": "~1.0.0",
"duplexer2": "~0.1.4",
"fstream": "~1.0.10",
"listenercount": "~1.0.1",
"readable-stream": "~2.3.6",
"setimmediate": "~1.0.4"
},
"dependencies": {
"bluebird": {
"version": "3.4.7",
"resolved": "http://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
"integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
"dev": true
}
}
},
"upath": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
@ -3504,6 +3657,19 @@
"tmp": "0.0.x"
}
},
"util": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/util/-/util-0.12.0.tgz",
"integrity": "sha512-pPSOFl7VLhZ7LO/SFABPraZEEurkJUWSMn3MuA/r3WQZc+Z1fqou2JqLSOZbCLl73EUIxuUVX8X4jkX2vfJeAA==",
"dev": true,
"requires": {
"inherits": "2.0.3",
"is-arguments": "^1.0.4",
"is-generator-function": "^1.0.7",
"object.entries": "^1.1.0",
"safe-buffer": "^5.1.2"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View file

@ -23,7 +23,7 @@
"@types/node": "^10.12.11",
"chai": "^4.2.0",
"karma": "^3.1.3",
"karma-browserstack-launcher": "^1.4.0",
"karma-browserstack-launcher": "^1.5.1",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^2.2.0",
"karma-edge-launcher": "^0.4.2",

View file

@ -0,0 +1,34 @@
/*
* Integration tests for the model compositor with the trie model.
*/
var assert = require('chai').assert;
var TrieModel = require('../../build/intermediate').models.TrieModel;
var ModelCompositor = require('../../build/intermediate').ModelCompositor;
describe('ModelCompositor', function() {
it('should compose suggestions from a fat-fingered keypress', function () {
var model = new TrieModel(
jsonFixture('tries/english-1000')
);
var composite = new ModelCompositor(model);
// Pretend to fat finger "the" as "thr"
var the = { sample: { insert: 'r', deleteLeft: 0}, p: 0.45 };
var thr = { sample: { insert: 'e', deleteLeft: 0}, p: 0.55 };
var suggestions = composite.predict([thr, the], {
left: 'Th', startOfBuffer: false, endOfBuffer: true,
});
// Get the top suggest for 'the' and 'thr*'.
var theSuggestion = suggestions.filter(function (s) { return s.displayAs === 'the'; })[0];
var thrSuggestion = suggestions.filter(function (s) { return s.displayAs.startsWith('thr'); })[0];
// Sanity check: do we have actual real-valued probabilities?
assert.isAbove(thrSuggestion.p, 0.0);
assert.isBelow(thrSuggestion.p, 1.0);
assert.isAbove(theSuggestion.p, 0.0);
assert.isBelow(theSuggestion.p, 1.0);
// 'the' should be the intended the result here.
assert.isAbove(theSuggestion.p, thrSuggestion.p);
});
});

View file

@ -60,7 +60,9 @@ describe('LMLayerWorker dummy model', function() {
left: "I'm a little ",
startOfBuffer: true,
endOfBuffer: true,
}, expectedSuggestions);
}, expectedSuggestions).map(function(value) {
return value.sample;
});
assert.deepEqual(suggestions, expectedSuggestions);
});
@ -77,13 +79,13 @@ describe('LMLayerWorker dummy model', function() {
// The dummy model should give suggestions in order,
// regardless of the provided transform and context.
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
futureSuggestions[0]);
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
futureSuggestions[1]);
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
futureSuggestions[2]);
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
futureSuggestions[3]);
});
});

View file

@ -21,7 +21,7 @@ describe('LMLayerWorker trie model for word lists', function() {
var suggestions = model.predict({
insert: 't',
deleteLeft: 0,
}, emptyContext());
}, emptyContext()).map(getSample);
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions actually start with 't'
@ -54,7 +54,7 @@ describe('LMLayerWorker trie model for word lists', function() {
var suggestions = model.predict({
insert: insertedLetter,
deleteLeft: 0,
}, context);
}, context).map(function(value) { return value.sample });
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions actually start with 'th'
@ -77,7 +77,7 @@ describe('LMLayerWorker trie model for word lists', function() {
jsonFixture('tries/english-1000')
);
var suggestions = model.predict(zeroTransform(), emptyContext());
var suggestions = model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample });
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions seem okay.
@ -107,7 +107,7 @@ describe('LMLayerWorker trie model for word lists', function() {
left: 'I ',
startOfBuffer: false,
endOfBuffer: true,
});
}).map(function(value) { return value.sample });
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions seem valid.
@ -154,7 +154,36 @@ describe('LMLayerWorker trie model for word lists', function() {
firstResults.map(s => s.displayAs)
);
});
})
});
describe('The default key function', function () {
it('uses the default key function', function () {
var model = new TrieModel(jsonFixture('tries/accented'));
// «nai| » [Send]
// [ ??? ] [ naïve ] [ ??? ]
var [suggestion] = model.predict({
insert: 'i', deleteLeft: 0
}, {
left: 'na',
startOfBuffer: false,
endOfBuffer: true
}).map(getSample);
assert.strictEqual(suggestion.displayAs, 'naïve');
// «Let‘s get some pho| » [Send]
// [ ??? ] [ phở ] [ ??? ]
var [suggestion] = model.predict({
insert: 'o', deleteLeft: 0
}, {
left: 'Let‘s get some ph',
startOfBuffer: false,
endOfBuffer: true
}).map(getSample);
assert.strictEqual(suggestion.displayAs, 'phở');
});
});
it('replaces the entire typed word when a suggestion is accepted', function () {
// Ensure that all input is lower-cased when we try to look it up.
@ -172,7 +201,7 @@ describe('LMLayerWorker trie model for word lists', function() {
// Predict upon typing
// «TH| » [Send]
// [ there ] [ the ] [ they ]
var [suggestion] = model.predict(transform, context);
var [suggestion] = model.predict(transform, context).map(getSample);
// I'm assuming the top word in English is "the".
assert.strictEqual(suggestion.displayAs, 'the');
@ -187,4 +216,12 @@ describe('LMLayerWorker trie model for word lists', function() {
buffer = buffer.substr(0, buffer.length - transform.deleteLeft) + transform.insert;
return buffer;
}
/**
* For use in predict().map(FUNC) to get the underlying suggestion.
* @param {ProbabilityMass<T>} pm
*/
function getSample(pm) {
return pm.sample
}
});

View file

@ -1,144 +0,0 @@
/*
* Unit tests for the Dummy prediction model.
*/
var assert = require('chai').assert;
var WordListModel = require('../../build/intermediate').models.WordListModel;
describe('LMLayerWorker word list model', function() {
describe('instantiation', function () {
it('can be instantiated with an empty word list', function () {
var model = new WordListModel([]);
assert.isObject(model);
});
it('can be instantiated with an word list', function () {
var model = new WordListModel([
['foo', 0],
['bar', 1],
['baz', Math.MAX_SAFE_INTEGER]
]);
});
});
describe('prediction', function () {
var MIN_SUGGESTIONS = 3;
it('should predict prefixes with an empty context and a single letter transform', function () {
// Predicting when the user JUST typed 't' should result in something like this:
//
// «t| » [Send]
// [ to ] [ the ] [ this ]
var model = new WordListModel(
jsonFixture('wordlists/english-1000')
);
var suggestions = model.predict({
insert: 't',
deleteLeft: 0,
}, emptyContext());
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions actually start with 't'
var suggestion;
var suggestedWord;
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
suggestion = suggestions[i];
suggestedWord = suggestion.transform.insert;
assert.strictEqual(suggestedWord.substr(0, 1), 't');
}
});
it('should predict prefixes within an word and a single letter transform', function () {
// Predicting when the user JUST typed 'h', with the buffer having a 't' in it:
//
// «th| » [Send]
// [ this ] [ the ] [ there ]
var model = new WordListModel(
jsonFixture('wordlists/english-1000')
);
var initialPrefix = 't';
var insertedLetter = 'h';
var truePrefix = initialPrefix + insertedLetter;
var suggestions = model.predict({
insert: insertedLetter,
deleteLeft: 0,
}, {
left: initialPrefix,
startOfBuffer: false,
endOfBuffer: true
});
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions actually start with 'th'
var suggestion;
var suggestedWord;
// XXX: this tests knows TOO MUCH about the implementation of the function.
// Need a test that asserts behavior; not how it got there.
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
suggestion = suggestions[i];
suggestedWord = suggestion.displayAs;
// Assuming the transform where nothing is deleted, but
// the rest of the suggested word is inserted.
assert.strictEqual(suggestion.transform.deleteLeft, 0);
// The first two characters should match the prefix WITH the transform.
assert.strictEqual(suggestedWord.substr(0, truePrefix.length), truePrefix);
assert.strictEqual(suggestion.transform.insert[0], insertedLetter);
}
});
it('should produce suggestions with an empty buffer and a zero transform', function () {
// Predicting when the user has activated an empty text field:
//
// «| » [Send]
// [ I'm ] [ I ] [ Hey ]
var model = new WordListModel(
jsonFixture('wordlists/english-1000')
);
var suggestions = model.predict(zeroTransform(), emptyContext());
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions seem valid.
var suggestion;
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
suggestion = suggestions[i];
assert.isNotEmpty(suggestion.transform.insert);
assert.strictEqual(suggestion.transform.deleteLeft, 0);
assert.isNotEmpty(suggestion.displayAs);
}
});
it('should produce after typing at least one word', function () {
// Predicting after typing at least one word.
//
// «I g| » [Send]
// [ gave ] [ got ] [ got the ]
var model = new WordListModel(
jsonFixture('wordlists/english-1000')
);
var truePrefix = 'g';
var suggestions = model.predict({
insert: truePrefix,
deleteLeft: 0
}, {
left: 'I ',
startOfBuffer: false,
endOfBuffer: true,
});
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
// Ensure all of the suggestions seem valid.
var suggestion;
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
suggestion = suggestions[i];
assert.strictEqual(suggestion.transform.insert.substr(0, truePrefix.length), truePrefix);
assert.strictEqual(suggestion.transform.deleteLeft, 0);
assert.isNotEmpty(suggestion.displayAs.substr(0, truePrefix.length), truePrefix);
}
});
});
});

View file

@ -0,0 +1,29 @@
var assert = chai.assert;
/*
* A canary test to ensure our timeout configurations are working correctly for our CI.
*/
describe('Test configuration', function () {
this.timeout(config.timeouts.standard);
it('Correctly retrieves timeout configurations', function() {
let configArgs = __karma__.config.args;
assert.isNotNull(configArgs, "Cannot find the custom arguments object from our Karma config.");
var timeoutConfig;
for(var i=0; i < configArgs.length; i++) {
if(configArgs[i].type == 'timeouts') {
timeoutConfig = configArgs[i];
}
}
assert.isNotNull(timeoutConfig, "Cannot find the timeout configuration object.");
// Now, were they processed correctly?
assert.isNotNull(window['config'], "Test global 'config' is missing!");
let timeouts = config.timeouts;
// May be longer if an extra factor (such as a mobile device multiplier) is added.
assert.isAtLeast(timeouts.standard, timeoutConfig.standard, "Timeouts were not parsed properly for test configuration.");
})
});

View file

@ -2,6 +2,8 @@ var assert = chai.assert;
var LMLayer = com.keyman.text.prediction.LMLayer;
describe('LMLayer', function () {
this.timeout(config.timeouts.standard);
describe('[[constructor]]', function () {
it('should construct with a single argument', function () {
let lmLayer = new LMLayer(helpers.defaultCapabilities);

View file

@ -10,8 +10,12 @@ var LMLayer = com.keyman.text.prediction.LMLayer;
* of suggestions when loaded and return them sequentially.
*/
describe('LMLayer using dummy model', function () {
this.timeout(config.timeouts.standard);
describe('Prediction', function () {
it('will predict future suggestions', function () {
this.timeout(config.timeouts.standard * 3); // This one makes multiple subsequent calls across
// the WebWorker boundary, so we should be generous here.
var lmLayer = new LMLayer(helpers.defaultCapabilities);
// We're testing many as asynchronous messages in a row.

View file

@ -4,23 +4,22 @@ var LMLayer = com.keyman.text.prediction.LMLayer;
/*
* How to run the worlist
*/
describe('LMLayer using the word list model', function () {
describe('LMLayer using the trie model', function () {
this.timeout(config.timeouts.standard);
describe('Prediction', function () {
var EXPECTED_SUGGESTIONS = 3;
it('will predict an empty buffer', function () {
this.timeout(config.timeouts.standard * 3); // This one makes multiple subsequent calls across
// the WebWorker boundary, so we should be generous here.
var lmLayer = new LMLayer(helpers.defaultCapabilities);
// N.B.: This test can OCCASIONALLY Mocha's default 2
// seconds expected execution time, causing sporadic build
// failures. So just double the default timeout value! 🙃
this.timeout(4000);
// We're testing many as asynchronous messages in a row.
// this would be cleaner using async/await syntax, but
// alas some of our browsers don't support it.
return lmLayer.loadModel(
// We need to provide an absolute path since the worker is based within a blob.
document.location.protocol + '//' + document.location.host + "/resources/models/simple-wordlist.js"
document.location.protocol + '//' + document.location.host + "/resources/models/simple-trie.js"
).then(function (_actualConfiguration) {
return Promise.resolve();
}).then(function () {

View file

@ -2,7 +2,9 @@ var assert = chai.assert;
var LMLayer = com.keyman.text.prediction.LMLayer;
describe('LMLayerWorker', function () {
this.timeout(5000);
// This one makes multiple subsequent calls across the WebWorker boundary, so we should be generous here.
this.timeout(Math.max(config.timeouts.standard, 5000));
describe('LMLayerWorkerCode', function() {
it('should exist!', function() {
assert.isFunction(LMLayerWorkerCode,

View file

@ -5,4 +5,17 @@ var helpers;
helpers.defaultCapabilities = {
maxLeftContextCodeUnits: 64
};
var config = window['config'] = {};
var configArgs = window['__karma__'].config.args; // Where Karma gives us our custom args.
for(var i = 0; i < configArgs.length; configArgs++) {
switch(configArgs[i].type) {
case 'timeouts':
var timeouts = JSON.parse(JSON.stringify(configArgs[i]));
delete timeouts.type;
config['timeouts'] = timeouts;
break;
}
}
})(helpers || (helpers = {}));

View file

@ -0,0 +1,4 @@
{
"totalWeight": 2,
"root": {"type":"internal","weight":1,"values":["p","n"],"children":{"p":{"type":"leaf","weight":1,"entries":[{"key":"pho","weight":1,"content":"phở"}]},"n":{"type":"leaf","weight":1,"entries":[{"key":"naive","weight":1,"content":"naïve"}]}}}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -31,8 +31,8 @@
/// <reference path="../message.d.ts" />
/// <reference path="models/dummy-model.ts" />
/// <reference path="models/wordlist-model.ts" />
/// <reference path="word_breaking/ascii-word-breaker.ts" />
/// <reference path="./model-compositor.ts" />
/**
* Encapsulates all the state required for the LMLayer's worker thread.
@ -247,16 +247,9 @@ class LMLayerWorker {
switch(payload.message) {
case 'predict':
let {transform, context} = payload;
let compositor = new ModelCompositor(model); // Yeah, should probably use a persistent one eventually.
let suggestions = model.predict(transform, context);
// Let's not rely on the model to copy transform IDs.
// Only bother is there IS an ID to copy.
if(transform.id !== undefined) {
suggestions.forEach(function(s: Suggestion) {
s.transformId = transform.id;
});
}
let suggestions = compositor.predict(transform, context);
// Now that the suggestions are ready, send them out!
this.cast('suggestions', {
@ -311,6 +304,8 @@ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
module.exports = LMLayerWorker;
module.exports['models'] = models;
module.exports['wordBreakers'] = wordBreakers;
/// XXX: export the ModelCompositor for testing.
module.exports['ModelCompositor'] = ModelCompositor;
} else if (typeof self !== 'undefined' && 'postMessage' in self) {
// Automatically install if we're in a Web Worker.
LMLayerWorker.install(self as DedicatedWorkerGlobalScope);

View file

@ -0,0 +1,47 @@
class ModelCompositor {
private lexicalModel: WorkerInternalModel;
private static readonly MAX_SUGGESTIONS = 12;
constructor(lexicalModel: WorkerInternalModel) {
this.lexicalModel = lexicalModel;
}
predict(transformDistribution: Transform | Distribution<Transform>, context: Context): Suggestion[] {
let suggestionDistribution: Distribution<Suggestion> = [];
if(!(transformDistribution instanceof Array)) {
transformDistribution = [ {sample: transformDistribution, p: 1.0} ];
}
for(let alt of transformDistribution) {
let transform = alt.sample;
let distribution = this.lexicalModel.predict(transform, context);
distribution.forEach(function(pair: ProbabilityMass<Suggestion>) {
// Let's not rely on the model to copy transform IDs.
// Only bother is there IS an ID to copy.
if(transform.id !== undefined) {
pair.sample.transformId = transform.id;
}
let compositedPair = {sample: pair.sample, p: pair.p * alt.p};
suggestionDistribution.push(compositedPair);
});
}
// Now that we've calculated the set of probability masses, time to join 'em together
// and return the most likely candidates.
// TODO: What if the model emits duplicate samples, each with their own mass?
suggestionDistribution = suggestionDistribution.sort(function(a, b) {
return b.p - a.p; // Use descending order - we want the largest probabilty suggestions first!
});
let suggestions = suggestionDistribution.splice(0, ModelCompositor.MAX_SUGGESTIONS).map(function(value) {
return value.sample;
});
return suggestions;
}
}

View file

@ -52,11 +52,29 @@ namespace models {
return this.configuration;
}
predict(transform: Transform, context: Context, injectedSuggestions?: Suggestion[]): Suggestion[] {
if (injectedSuggestions) {
return injectedSuggestions;
predict(transform: Transform, context: Context, injectedSuggestions?: Suggestion[]): Distribution<Suggestion> {
let makeUniformDistribution = function(suggestions: Suggestion[]): Distribution<Suggestion> {
let distribution: Distribution<Suggestion> = [];
let n = suggestions.length;
for(let s of suggestions) {
distribution.push({sample: s, p: 1}); // For a dummy model, this is sufficient. The uniformness is all that matters.
}
return distribution;
}
if (injectedSuggestions) {
return makeUniformDistribution(injectedSuggestions);
}
let currentSet = this._futureSuggestions.shift();
if(!currentSet) {
return [];
} else {
return makeUniformDistribution(currentSet);
}
return this._futureSuggestions.shift();
}
};
}

File diff suppressed because one or more lines are too long

View file

@ -1,122 +0,0 @@
/*
* Copyright (c) 2018 National Research Council Canada (author: Eddie A. Santos)
* Copyright (c) 2018 SIL International
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/**
* @file wordlist-model.ts
*
* Defines a simple word list (unigram) model.
*/
namespace models {
/**
* @class WordListModel
*
* Defines the word list model, or the unigram model.
* Unigram models throw away all preceding words, and search
* for the next word exclusively. As such, they can perform simple
* prefix searches within words, however they are not very good
* at predicting the next word.
*/
/** Upper bound on the amount of suggestions to generate. */
const MAX_SUGGESTIONS = 12;
/**
* Additional arguments to pass into the model, in addition to the model
* parameters themselves.
*/
interface WordListModelOptions {
/**
* How to break words in a phrase.
*/
wordBreaker?: WordBreakingFunction;
}
export class WordListModel implements WorkerInternalModel {
configuration: Configuration;
private _wordlist: string[];
readonly breakWords: WordBreakingFunction;
constructor(wordlist: [string, number][], options: WordListModelOptions = {}) {
// The wordlist is always given as an array of
// [wordform, count] pairs. Since this model does not
// support weighting, discard the count.
this._wordlist = wordlist.map(([word, _count]) => word);
this.breakWords = options.wordBreaker || wordBreakers.placeholder;
}
configure(capabilities: Capabilities): Configuration {
return this.configuration = {
leftContextCodeUnits: capabilities.maxLeftContextCodeUnits,
rightContextCodeUnits: capabilities.maxRightContextCodeUnits
};
}
predict(transform: Transform, context: Context): Suggestion[] {
// EVERYTHING to the left of the cursor:
let fullLeftContext = context.left || '';
// Stuff to the left of the cursor in the current word.
let words = this.breakWords(fullLeftContext);
let leftContext = words.length > 0 ? words.pop().text : '';
// All text to the left of the cursor INCLUDING anything that has
// just been typed.
let prefix = leftContext + (transform.insert || '');
let suggestions: Suggestion[] = [];
// Special-case the empty buffer/transform: return the top suggestions.
if (!transform.insert && context.startOfBuffer && context.endOfBuffer) {
return this._wordlist.slice(0, MAX_SUGGESTIONS).map(word => ({
transform: {
insert: word + ' ',
deleteLeft: 0
},
displayAs: word
}));
}
// Naïve O(n) exhaustive search through the entire word
// list, up to the suggestion limit.
for (let word of this._wordlist) {
let suggestionPrefix = word.substr(0, prefix.length);
if (prefix !== suggestionPrefix) {
continue;
}
suggestions.push({
transform: {
// The left part of the word has already been entered.
insert: word.substr(leftContext.length) + ' ',
deleteLeft: 0,
},
displayAs: word,
});
// Do not exceed the limit on suggestions.
if (suggestions.length >= MAX_SUGGESTIONS) {
break;
}
}
return suggestions;
}
};
}

View file

@ -86,7 +86,7 @@ interface PredictMessage {
*
* TODO: test for absent transform!
*/
transform?: Transform;
transform?: Transform | Distribution<Transform>;
/**
* The context (text to the left and text to right) at the
@ -118,7 +118,7 @@ interface LMLayerWorkerState {
*/
interface WorkerInternalModel {
configure(capabilities: Capabilities): Configuration;
predict(transform: Transform, context: Context): Suggestion[];
predict(transform: Transform, context: Context): Distribution<Suggestion>;
}
/**

View file

@ -9,7 +9,7 @@ import * as ts from "typescript";
import KmpCompiler from "./package-compiler/kmp-compiler";
import * as fs from "fs";
import * as path from "path";
import { createWordListDataStructure, createTrieDataStructure } from "./lexical-model-compiler/build-trie";
import { createTrieDataStructure } from "./lexical-model-compiler/build-trie";
// The model ID MUST adhere to this pattern:
// author .bcp47 .uniq
@ -234,15 +234,7 @@ export default class LexicalModelCompiler {
(oc as LexicalModelCompiledFst).fst = Buffer.from(sources.join('')).toString('base64');
this.logError('Unimplemented model format '+modelSource.format);
return false;
case "trie-1.0":
func += `var model = {};\n`;
func += `model.backingData = ${createWordListDataStructure(sources)};\n`;
func += `LMLayerWorker.loadModel(new models.WordListModel(model.backingData`;
if (wordBreakingSource) {
func += `, {wordBreaking: ${wordBreakingSource}}`;
}
func += `));\n`;
break;
case "trie-1.0": // TODO: in lexical-models, rollback all trie-2.0 models to use trie-1.0!
case 'trie-2.0':
func += `LMLayerWorker.loadModel(new models.TrieModel(${
createTrieDataStructure(sources, modelSource.searchTermToKey)

View file

@ -4,22 +4,6 @@
*/
type WordList = [string, number][];
/**
* Returns a data structure suitable for use by the wordlist model.
*
* @param sourceFiles an array of the CONTENTS of source files
*
* @return a data structure that will be used internally by the wordlist
* implemention. Currently this is an array of [wordlist, count] pairs.
*/
export function createWordListDataStructure(sourceFiles: string[]): string {
// NOTE: this generates a simple array of word forms --- not a trie!
// In the future, this function may construct a true trie data structure,
// but this is not yet implemented.
let contents = sourceFiles.join('\n');
return JSON.stringify(parseWordList(contents));
}
/**
* Returns a data structure that can be loaded by the TrieModel.
*
@ -108,17 +92,17 @@ namespace Trie {
// The MIT License
// Copyright (c) 2015-2017 Conrad Irwin <conrad.irwin@gmail.com>
// Copyright (c) 2011 Marc Campbell <marc.e.campbell@gmail.com>
//
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@ -184,10 +168,14 @@ namespace Trie {
*
* @param wordlist The wordlist with non-negative weights.
* @param keyFunction Function that converts word forms into indexed search keys
* @returns The root node as a JSON-serialiable object.
* @returns A JSON-serialiable object that can be given to the TrieModel constructor.
*/
export function buildTrie(wordlist: WordList, keyFunction: Wordform2Key = defaultWordform2Key): object {
return new Trie(keyFunction).buildFromWordList(wordlist).root;
let root = new Trie(keyFunction).buildFromWordList(wordlist).root;
return {
totalWeight: sumWeights(root),
root: root
}
}
/**
@ -344,6 +332,24 @@ namespace Trie {
delete node.unsorted;
}
/**
* O(n) recursive traversal to sum the total weight of all leaves in the
* trie, starting at the provided node.
*
* @param node The node to start summing weights.
*/
function sumWeights(node: Node): number {
if (node.type === 'leaf') {
return node.entries
.map(entry => entry.weight)
.reduce((acc, count) => acc + count, 0);
} else {
return Object.values(node.children)
.map((child) => sumWeights(child))
.reduce((acc, count) => acc + count, 0);
}
}
/**
* Converts word forms in into an indexable form. It does this by converting
* the string to uppercase and trying to remove diacritical marks.
@ -364,8 +370,8 @@ namespace Trie {
const COMBINING_DIACRITICAL_MARKS = /[\u0300-\u036f]/g;
return wordform
.normalize('NFD')
.toUpperCase()
.toLowerCase()
// remove diacritical marks.
.replace(COMBINING_DIACRITICAL_MARKS, '') as SearchKey;
}
}
}

View file

@ -9,6 +9,7 @@ interface ClassBasedWordBreaker {
}
interface LexicalModel {
// TODO: remove trie-2.0 when https://github.com/keymanapp/lexical-models/pull/39 is merged.
readonly format: 'trie-1.0'|'trie-2.0'|'fst-foma-1.0'|'custom-1.0',
//... metadata ...
}

View file

@ -1019,6 +1019,10 @@ public class Manager: NSObject, HTTPDownloadDelegate, UIGestureRecognizerDelegat
if let error = error {
log.info("Failed to fetch lexical model list for "+languageID+". error: "+(error as! String))
self.downloadFailed(forLanguageID: languageID, error: error) //???forKeyboards
} else if nil == lexicalModels {
log.info("No lexical models available for language \(languageID) (nil)")
} else if 0 == lexicalModels?.count {
log.info("No lexical models available for language \(languageID) (empty)")
} else {
log.info("Fetched lexical model list for "+languageID+".")
// choose which of the lexical models to download

View file

@ -34,7 +34,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>Keyman $(PRODUCT_VERSION) for macOS</string>
<string>$(PRODUCT_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>

View file

@ -14,7 +14,14 @@ CFBundleDisplayName = "Keyman";
go out of date easily.
*/
// NOTE: Do not put version-related strings in here. The following are now computed based
// on User-Defined Build Setting variables such as PRODUCT_VERSION and COPYRIGHT_STRING_RIGHTS
//
//NSHumanReadableCopyright = "Copyright © 2018 SIL International. All rights reserved.";
//CFBundleShortVersionString = "Keyman 10.0 for macOS";
//CFBundleShortVersionString = "10.0";
//CFBundleVersion = "10.0";
//CFBundleGetInfoString = "Keyman 10.0 for macOS, Copyright 2018, SIL International";
// The PRODUCT_VERSION only needs to be changed once per version. It should be in sync with
// ../resources/VERSION.md
// There is a Run Script that checks to be sure

View file

@ -1,7 +1,7 @@
PODS:
- Crashlytics (3.12.0):
- Fabric (~> 1.9.0)
- Fabric (1.9.0)
- Crashlytics (3.13.1):
- Fabric (~> 1.10.1)
- Fabric (1.10.1)
DEPENDENCIES:
- Crashlytics
@ -13,8 +13,8 @@ SPEC REPOS:
- Fabric
SPEC CHECKSUMS:
Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933
Fabric: f988e33c97f08930a413e08123064d2e5f68d655
Crashlytics: 5aa8e90dcbf2f34898b4f5a0037787531246cca0
Fabric: f6f21452846788bb44595d73e9909d79d328e617
PODFILE CHECKSUM: f97fe7081827fd61ed7a61b5a0820d4e0df01dee

23
oem/firstvoices/android/.gitignore vendored Normal file
View file

@ -0,0 +1,23 @@
.gradle
# Built application files
**/build/
# Local configuration file (sdk path, etc)
**/local.properties
# User-specific stuff:
**/.idea/libraries/
**/.idea/dictionaries
**/.idea/**/*.xml
**/.idea/caches/
**/*.iml
**/.DS_Store
# This is the file output from KMEA; it's part of our build process.
**/keyman-engine.aar
# Files generated as part of the build
app/src/main/assets/packages
app/src/main/assets/keyboards.csv

View file

@ -0,0 +1,127 @@
plugins {
id 'com.android.application'
id 'io.fabric'
id 'com.github.triplet.play' version '2.1.0' apply false
}
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.firstvoices.keyboards"
minSdkVersion 17
targetSdkVersion 28
String env_services_json_file = System.getenv('oem_firstvoices_services_json_file')
if (env_services_json_file != null) {
env_services_json_file = String.valueOf(env_services_json_file)
println "Copying production google-services.json and using for firstvoices"
copy {
from env_services_json_file
include '*.json'
into './'
}
}
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
String env_build_counter = System.getenv("build_counter")
if (env_build_number != null) {
println "Using build number $env_build_number and counter $env_build_counter from environment"
versionCode env_build_counter as Integer
versionName env_build_number
} else {
String majorMinorVersion = file('$projectDir/../../../../../resources/VERSION.md').text.trim()
versionCode 999
versionName majorMinorVersion + '.0.0'
println "Using build $majorMinorVersion from project VERSION.md"
}
}
String env_release_store_file = System.getenv("oem_firstvoices_release_store_file")
String env_release_store_password = System.getenv("oem_firstvoices_release_store_password")
String env_release_key_alias = System.getenv("oem_firstvoices_release_key_alias")
String env_release_key_password = System.getenv("oem_firstvoices_release_key_password")
if (env_release_store_file != null) {
signingConfigs {
release {
println "Using signing from environment"
storeFile file(String.valueOf(env_release_store_file))
storePassword env_release_store_password
keyAlias env_release_key_alias
keyPassword env_release_key_password
}
}
}
buildTypes {
/*debug {
applicationIdSuffix ".debug"
}*/
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
if (env_release_store_file != null) {
signingConfig signingConfigs.release
}
}
}
productFlavors {
}
lintOptions {
disable 'MissingTranslation'
}
}
String env_keys_json_file = System.getenv("oem_firstvoices_keys_json_file")
if (env_keys_json_file != null) {
apply plugin: 'com.github.triplet.play'
play {
serviceAccountCredentials = file(String.valueOf(env_keys_json_file))
// Deactivate lower conflicting version APKs
resolutionStrategy = "ignore"
switch (System.env.TIER) {
case 'beta':
track = 'beta'
break
case 'stable':
track = 'production'
break
default:
track = 'alpha'
}
println "TIER set to $track"
}
}
repositories {
flatDir {
dirs 'libs'
}
google()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.0.0'
api(name: 'keyman-engine', ext: 'aar')
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.firebase:firebase-crash:16.2.1"
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
implementation 'androidx.preference:preference:1.1.0-alpha05'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

View file

@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "207806011344",
"firebase_url": "https://keyman-for-firstvoices.firebaseio.com",
"project_id": "keyman-for-firstvoices",
"storage_bucket": "keyman-for-firstvoices.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:207806011344:android:24fc6473e17e4354",
"android_client_info": {
"package_name": "com.firstvoices.keyboards"
}
},
"oauth_client": [
{
"client_id": "207806011344-a8hhvioppu699pgq5d4i9csa5ou04kbi.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyDrAfZLNVdRIq6aB4YkcEpkWuYwxcDhZsw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "207806011344-a8hhvioppu699pgq5d4i9csa5ou04kbi.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

View file

@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/serkankurt/Desktop/Android Development/adt-bundle-mac-x86_64-20140624/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View file

@ -0,0 +1,13 @@
package com.firstvoices.keyboards;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View file

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.firstvoices.keyboards" >
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:fullBackupContent="@xml/backup_descriptor">
<service
android:name="com.firstvoices.keyboards.SystemKeyboard"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize"
android:permission="android.permission.BIND_INPUT_METHOD" >
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data
android:name="android.view.im"
android:resource="@xml/method" />
</service>
<activity
android:name="com.firstvoices.keyboards.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.firstvoices.keyboards.RegionListActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.Dialog" >
</activity>
<activity
android:name="com.firstvoices.keyboards.KeyboardListActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.Dialog" >
</activity>
<activity
android:name="com.firstvoices.keyboards.SetupActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Holo.Light.Dialog" >
</activity>
<meta-data
android:name="io.fabric.ApiKey"
android:value="4efced22a226f98e05442a7e472b377d89fcc294"
/>
</application>
</manifest>

View file

@ -0,0 +1,232 @@
@font-face {
font-family: "Nunito";
src: url("nunito-regular-webfont.eot");
src: url("nunito-regular-webfont.ttf") format("truetype"),
url("nunito-regular-webfont.otf") format("opentype"),
url("nunito-regular-webfont.woff") format("woff"),
url("nunito-regular-webfont.svg#nunitoregular") format("svg");
}
@font-face {
font-family: "Open Sans";
src: url("opensans-regular-webfont.eot");
src: url("opensans-regular-webfont.ttf") format("truetype"),
url("opensans-regular-webfont.otf") format("opentype"),
url("opensans-regular-webfont.woff") format("woff"),
url("opensans-regular-webfont.svg#open_sansregular") format("svg");
}
html, body{
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: 0;
}
html{
margin: 0;
min-height: 100%;
position: relative;
}
body{
background: #f7511e;
background: -moz-linear-gradient(25deg, #f7511e 0%, #aa1225 55%, #9f031f 100%);
background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#f7511e), color-stop(55%,#aa1225), color-stop(100%,#9f031f));
background: -webkit-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
background: -o-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
background: -ms-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
/*background: linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);*/
color: #fff;
font-family: 'Open Sans';
margin: 0 0 200px 0;
}
#instructions{
padding: 0 30px 10px;
width: calc(100% - 60px);
}
#instructions p{
font-size: 0.875em;
margin: 15px 0;
}
#logo {
display: block;
margin: 30px auto;
text-align: center;
}
#logo img{
max-width: 400px;
width: 100%;
}
#logo p{
color: #FBF8E4;
font-family: 'Nunito';
font-size: 1.5em;
font-weight: bold;
text-shadow: 1px 1px 0px #000;
margin: 0;
}
h2{
color: #ffd988;
font-family: 'Nunito';
font-size: 1.25em;
font-weight: normal;
}
.steps{
display: table;
width: 100%;
}
.step{
display: table-row;
}
.step-number, .step-instruction{
border-bottom: 1px solid #A0BC76;
display: table-cell;
vertical-align: top;
}
.step-number{
width: 80px;
}
.step-number img{
display: block;
height: 30px;
margin: 15px auto;
width: 30px;
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
}
.step-number span {
display: block;
height: 30px;
line-height: 30px;
margin: 15px auto;
width: 30px;
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
-moz-border-radius: 15px;
border-radius: 15px;
background-color: #A0BC76;
color: white;
text-align: center;
font-family: 'Nunito';
font-size: 1.5em;
font-weight: bold;
}
.steps.use .step-number, .steps.use .step-instruction{
border-bottom: 0 none;
}
.step-instruction{
margin-top: 10px;
}
.step-instruction img{
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
height: 30px;
margin-right: 5px;
vertical-align: top;
width: 30px;
opacity: 0.25;
}
.step-instruction input[type="button"]{
background-color: #DDDDDD;
border: 0 none;
border-radius: 5px;
color: #333;
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
height: 30px;
line-height: 30px;
text-transform: uppercase;
width: 150px;
}
#supporters{
padding: 0 30px 10px;
width: calc(100% - 60px);
text-align: center;
}
#supporters p{
color: #ffd988;
font-size: 0.875em;
margin: 5px;
text-align: left;
}
#supporters img{
background-color: white;
height: 43px;
width: auto;
padding: 2px;
margin: 5px;
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
}
#donation{
padding: 0 30px 10px;
width: calc(100% - 60px);
text-align: center;
}
#donation p{
color: #ffd988;
font-size: 0.875em;
margin: 5px;
text-align: left;
}
#donation a:link{
text-decoration: underline;
color: white;
font-weight: bold;
}
#donation a:visited{
text-decoration: underline;
color: white;
font-weight: bold;
}
#footer{
background-color: #605E4B;
color: #CFCEC8;
height: 200px;
bottom: 0;
left: 0;
position: absolute;
text-align: center;
width: 100%;
}
#footer h2, #footer a{
color: #CFCEC8;
}
#footer p{
font-size: 0.875em;
margin: 5px 0;
}
#footer img{
height: auto;
width: 50px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="60px" height="60px" viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve">
<style type="text/css">
.st0{fill:#DDDDDD;}
</style>
<path class="st0" d="M30,0C13.5,0,0,13.5,0,30s13.5,30,30,30s30-13.5,30-30S46.5,0,30,0z M43.3,21.9L24.4,39.6
c-0.2,0.2-0.4,0.3-0.7,0.3c-0.3,0-0.5-0.1-0.7-0.3l-6.3-6.3c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0l5.6,5.6l18.2-17
c0.4-0.4,1-0.4,1.4,0C43.7,20.9,43.7,21.5,43.3,21.9z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" xml:space="preserve" enable-background="new 0 0 60 60">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#9ACD32;}
</style>
<circle class="st0" cx="30" cy="30" r="21.8"/>
<path class="st1" d="M30 0C13.5 0 0 13.5 0 30s13.5 30 30 30 30-13.5 30-30S46.5 0 30 0zM43.3 21.9L24.4 39.6c-0.2 0.2-0.4 0.3-0.7 0.3 -0.3 0-0.5-0.1-0.7-0.3l-6.3-6.3c-0.4-0.4-0.4-1 0-1.4 0.4-0.4 1-0.4 1.4 0l5.6 5.6 18.2-17c0.4-0.4 1-0.4 1.4 0C43.7 20.9 43.7 21.5 43.3 21.9z"/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
<g/>
</svg>

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 4502.1875 1143.75"
height="1143.75"
width="4502.1875"
xml:space="preserve"
version="1.1"
id="svg2"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs6" /><g
transform="matrix(1.25,0,0,-1.25,0,1143.75)"
id="g10"><g
transform="scale(0.245535,0.245535)"
id="g12"><path
id="path14"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 5211.55,2140.41 0,-198.41 339.59,0 c 37.35,0 68.26,-30.93 68.26,-68.16 0,-38.5 -30.91,-68.21 -68.26,-68.21 l -339.59,0 0,-354.4 -158.55,0 0,746.08 c 0,43.4 35.97,79.35 79.3,79.35 l 534.18,0 0,-136.25 -454.93,0" /><path
id="path16"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 5821.53,1451.23 158.59,0 0,825.305 -158.59,0 0,-825.305 z" /><path
id="path18"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 6619.75,2140.41 -257.73,0 0,-241.81 257.73,0 c 71.96,0 135.13,43.4 135.13,122.75 0,77.95 -63.17,119.06 -135.13,119.06 m 152.56,-689.18 -182.29,311.12 -228,0 0,-311.12 -158.55,0 0,746.08 c 0,43.4 35.88,79.35 79.34,79.35 l 366.71,0 c 157.33,0 266.48,-115.18 266.48,-257.86 0,-105.32 -63.17,-195.67 -159.9,-234.24 l 197,-333.33 -180.79,0" /><path
id="path20"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 7400.9,1437.61 c -109.15,0 -221.88,24.82 -325.99,64.4 l 29.73,122.69 c 91.68,-30.99 202.01,-53.26 298.7,-53.26 116.52,0 174.76,35.95 174.76,91.64 0,49.63 -64.39,79.35 -235.53,157.43 -162.29,73.06 -241.63,133.9 -241.63,252.83 0,148.72 100.35,215.79 324.72,215.79 90.41,0 220.41,-19.85 293.8,-40.98 l -23.82,-127.65 c -92.69,18.58 -190.6,32.26 -267.54,32.26 -127.64,0 -168.61,-21.13 -168.61,-71.85 0,-53.32 40.97,-74.45 218.18,-156.1 178.34,-82.02 259.03,-121.61 259.03,-249.26 0,-153.68 -139.9,-237.94 -335.8,-237.94" /><path
id="path22"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 8237.56,2137.8 0,-686.57 -158.59,0 0,686.57 -274.02,0 0,138.86 706.71,0 0,-138.86 -274.1,0" /><path
id="path24"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 9288.73,2140.41 -239.15,0 0,-255.37 239.15,0 c 71.85,0 133.79,50.78 133.79,128.8 0,79.36 -61.94,126.57 -133.79,126.57 m 22.28,-391.8 -261.43,0 0,-297.38 -158.59,0 0,746.08 c 0,43.4 35.88,79.35 79.17,79.35 l 340.85,0 c 163.69,0 271.53,-120.21 271.53,-262.82 0,-142.48 -107.84,-265.23 -271.53,-265.23" /><path
id="path26"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 9785.97,1451.23 c -43.61,0 -79.45,35.95 -79.45,79.29 l 0,666.79 c 0,43.46 35.84,79.23 79.45,79.23 l 512.93,0 0,-136.25 -433.79,0 0,-198.23 327.29,0 c 38.5,0 69.4,-30.99 69.4,-68.22 0,-38.5 -30.9,-68.09 -69.4,-68.09 l -327.29,0 0,-218.21 435.09,0 0,-136.31 -514.23,0" /><path
id="path28"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 10838.4,2147.67 c -161.1,0 -264.1,-120.08 -264.1,-285.03 0,-164.75 103,-283.69 264.1,-283.69 161.1,0 265.2,118.94 265.2,283.69 0,164.95 -104.1,285.03 -265.2,285.03 m 0,-710.06 c -249.3,0 -422.9,188.3 -422.9,425.03 0,236.73 173.6,426.31 422.9,426.31 249.1,0 422.5,-189.58 422.5,-426.31 0,-236.73 -173.4,-425.03 -422.5,-425.03" /><path
id="path30"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 11813.9,2140.41 -239,0 0,-255.37 239,0 c 72,0 133.7,50.78 133.7,128.8 0,79.36 -61.7,126.57 -133.7,126.57 m 22.3,-391.8 -261.3,0 0,-297.38 -158.7,0 0,746.08 c 0,43.4 35.8,79.35 79.3,79.35 l 340.7,0 c 163.6,0 271.4,-120.21 271.4,-262.82 0,-142.48 -107.8,-265.23 -271.4,-265.23" /><path
id="path32"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 12309.8,1451.23 c -42.1,0 -78.2,35.95 -78.2,79.29 l 0,746.02 158.8,0 0,-687.92 436.2,0 0,-137.39 -516.8,0" /><path
id="path34"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 13036.4,1451.23 c -43.5,0 -79.4,35.95 -79.4,79.29 l 0,666.79 c 0,43.46 35.9,79.23 79.4,79.23 l 512.9,0 0,-136.25 -433.6,0 0,-198.23 327,0 c 38.5,0 69.5,-30.99 69.5,-68.22 0,-38.5 -31,-68.09 -69.5,-68.09 l -327,0 0,-218.21 435,0 0,-136.31 -514.3,0" /><path
id="path36"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 14004.3,1437.61 c -108.9,0 -221.7,24.82 -325.8,64.4 l 29.7,122.69 c 91.6,-30.99 202,-53.26 298.6,-53.26 116.5,0 174.8,35.95 174.8,91.64 0,49.63 -64.5,79.35 -235.4,157.43 -162.5,73.06 -241.8,133.9 -241.8,252.83 0,148.72 100.4,215.79 324.8,215.79 90.6,0 220.8,-19.85 293.7,-40.98 l -23.5,-127.65 c -92.9,18.58 -190.8,32.26 -267.7,32.26 -127.7,0 -168.6,-21.13 -168.6,-71.85 0,-53.32 40.9,-74.45 218.1,-156.1 178.5,-82.02 258.9,-121.61 258.9,-249.26 0,-153.68 -139.9,-237.94 -335.8,-237.94" /><path
id="path38"
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 14661.4,2157.66 c -43.4,-94.18 -110.2,-231.7 -110.2,-231.7 l -74.6,0 69.5,180.98 c -38.6,11.13 -65.7,47.03 -65.7,89.16 0,52.05 42.2,92.85 94.3,92.85 52,0 94.3,-40.8 94.3,-92.85 0,-12.41 -1.4,-26.03 -7.6,-38.44" /><path
id="path40"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 5343.31,1024.61 c -30.18,8.46 -69.48,12.6 -105.08,12.6 -112.32,0 -178.63,-69.362 -178.63,-161.128 0,-92.465 66.31,-162.016 178.63,-162.016 35.6,0 72.05,5.727 105.08,15.653 l 18.12,-72.289 c -35.67,-14.703 -86.05,-22.399 -133.09,-22.399 -152,0 -260.01,100.926 -260.01,241.051 0,140.068 105.85,240.228 260.01,240.228 45.49,0 91.75,-4.9 134.52,-18.77 l -19.55,-72.93" /><path
id="path42"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 5706.23,635.031 c -126.21,0 -203.84,91.762 -203.84,195.489 l 0,278.92 89.52,0 0,-279.62 c 0,-70.062 46.27,-114.929 114.32,-114.929 67.16,0 114.08,44.867 114.08,114.929 l 0,279.62 89.92,0 0,-278.92 c 0,-103.727 -78.52,-195.489 -204,-195.489" /><path
id="path44"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 6118.23,642.727 c -23.87,0 -44.15,20.238 -44.15,44.992 l 0,421.721 89.76,0 0,-388.881 246.61,0 0,-77.832 -292.22,0" /><path
id="path46"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 6671.67,1030.91 0,-388.117 -89.76,0 0,388.117 -154.77,0 0,78.47 399.3,0 0,-78.47 -154.77,0" /><path
id="path48"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 7138.37,635.031 c -126.17,0 -204.05,91.762 -204.05,195.489 l 0,278.92 89.68,0 0,-279.62 c 0,-70.062 46.36,-114.929 114.37,-114.929 67.12,0 114.24,44.867 114.24,114.929 l 0,279.62 89.68,0 0,-278.92 c 0,-103.727 -78.48,-195.489 -203.92,-195.489" /><path
id="path50"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 7741.62,1032.38 -145.92,0 0,-136.696 145.92,0 c 40.61,0 76.28,24.629 76.28,69.363 0,44.163 -35.67,67.333 -76.28,67.333 m 86.1,-389.653 -103,175.828 -129.02,0 0,-175.828 -89.61,0 0,421.723 c 0,24.69 20.45,44.99 45.09,44.99 l 207.14,0 c 89.07,0 150.69,-65.36 150.69,-145.858 0,-59.434 -35.67,-110.602 -90.33,-132.363 l 111.51,-188.492 -102.47,0" /><path
id="path52"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 8252.22,982.484 -63.58,-164.629 128.05,0 -64.47,164.629 z m 131.1,-339.757 -40.68,104.429 -180.71,0 -40.61,-104.429 -91.75,0 185.71,446.343 c 7.01,16.04 21.63,25.2 36.94,25.2 16.33,0 30.83,-9.16 38,-25.2 l 184.9,-446.343 -91.8,0" /><path
id="path54"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 8634.16,642.727 c -23.78,0 -43.98,20.238 -43.98,44.992 l 0,421.721 89.52,0 0,-388.881 246.68,0 0,-77.832 -292.22,0" /><path
id="path56"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 9584.41,1024.61 c -30.3,8.46 -69.48,12.6 -105.23,12.6 -112.09,0 -178.64,-69.362 -178.64,-161.128 0,-92.465 66.55,-162.016 178.64,-162.016 35.75,0 72.08,5.727 105.23,15.653 l 18.21,-72.289 c -36.05,-14.703 -86.26,-22.399 -133.18,-22.399 -152.12,0 -260,100.926 -260,241.051 0,140.068 105.81,240.228 260,240.228 45.49,0 91.76,-4.9 134.4,-18.77 l -19.43,-72.93" /><path
id="path58"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 9954.14,1036.51 c -91.11,0 -149.19,-67.901 -149.19,-161.127 0,-93.227 58.08,-160.492 149.19,-160.492 91.16,0 150.06,67.265 150.06,160.492 0,93.226 -58.9,161.127 -150.06,161.127 m 0,-401.545 c -140.68,0 -238.79,106.652 -238.79,240.418 0,133.827 98.11,240.997 238.79,240.997 140.96,0 239.06,-107.17 239.06,-240.997 0,-133.766 -98.1,-240.418 -239.06,-240.418" /><path
id="path60"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 10525.9,635.031 c -126,0 -203.9,91.762 -203.9,195.489 l 0,278.92 89.6,0 0,-279.62 c 0,-70.062 46.4,-114.929 114.3,-114.929 67.4,0 114.4,44.867 114.4,114.929 l 0,279.62 89.7,0 0,-278.92 c 0,-103.727 -78.5,-195.489 -204.1,-195.489" /><path
id="path62"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 11258.9,639.227 c -14,-2.102 -30,2.039 -39.9,14.64 l -235.4,299.981 0,-311.121 -89.8,0 0,426.743 c 0,24.57 20.4,44.8 44.9,44.8 13.9,0 24.4,-3.5 34.2,-15.52 l 235.7,-299.031 0,309.721 89.6,0 0,-426.174 c 0,-23.102 -17.1,-41.43 -39.3,-44.039" /><path
id="path64"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 11809,1024.61 c -30.2,8.46 -69.4,12.6 -105.1,12.6 -112.2,0 -178.6,-69.362 -178.6,-161.128 0,-92.465 66.4,-162.016 178.6,-162.016 35.7,0 72.3,5.727 105.1,15.653 l 18.1,-72.289 c -35.6,-14.703 -86,-22.399 -133.1,-22.399 -152,0 -260,100.926 -260,241.051 0,140.068 105.9,240.228 260,240.228 45.6,0 91.9,-4.9 134.6,-18.77 l -19.6,-72.93" /><path
id="path66"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 11978.7,642.727 89.52,0 0,466.648 -89.52,0 0,-466.648 z" /><path
id="path68"
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 12286.8,642.727 c -23.9,0 -44.2,20.238 -44.2,44.992 l 0,421.721 89.7,0 0,-388.881 246.7,0 0,-77.832 -292.2,0" /><path
id="path70"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 0.144531,0 3972.729969,0 0,3726.55 -3972.729969,0 0,-3726.55 z" /><path
id="path72"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 608.891,3726.55 110.304,0 c 175.77,-233.41 396.235,-491.14 639.045,-795.26 229.49,-287.51 497.09,-741.18 992.02,-662.65 512.27,81.14 979.63,868.96 572.94,1457.91 l 88.17,0 C 3566.82,2968.96 2593.86,1814.34 1843.15,2290.66 1355.09,2600.44 1003.12,3343.02 608.891,3726.55" /><path
id="path74"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 829.355,3726.55 2005.525,0 c 554.39,-720.3 -388.71,-1768.58 -1035.71,-1192.86 -355.05,315.83 -663.54,857.18 -969.815,1192.86" /><path
id="path76"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 3187.57,3726.55 784.59,0 0.72,-1301.68 C 3797.75,1716.34 3371.14,1068.46 2658.61,1097.86 c -486.48,20.17 -702.43,402.37 -881.5,839.43 284.14,-512.27 929.56,-733.29 1366.41,-331.23 509.69,468.87 330.41,1562.65 44.05,2120.49" /><path
id="path78"
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="M 0.144531,3641.28 C 362.785,3330.99 756.297,2952.35 1159.98,2511.73 1555.93,2079.13 1975.52,1607.39 1975.52,987.449 1975.52,414.719 1653.91,115.883 1145.8,0 L 0.144531,0 0,952.254 C 232.352,844.457 887.801,564.711 983.566,854.957 1060.28,1087.61 681.23,1309.96 520.648,1429.34 322.387,1576.72 170.758,1692.35 0.5,1802.06 L 0.144531,2079.39 C 421.875,1764.96 900.84,1508.5 1049.75,921.266 1113.85,1308.18 813.309,1541.21 608.891,1738.29 414.785,1925.83 207.07,2116.93 0.359375,2278.06 L 0.144531,3641.28" /><path
id="path80"
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="M 3972.88,870.355 C 3851.11,415.102 3595.41,94.1836 3113.51,0.0625 l -1567.03,0 c 437.99,87.1172 387.92,721.2575 825.63,899.0585 404.32,164.239 806.93,80.692 1124.16,331.419 244.96,193.46 350.11,449.46 476.61,739.52" /><path
id="path82"
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 3972.88,0 -539.99,0.0625 c 262.07,71.2109 445.29,221.9605 539.99,461.1755" /><path
id="path84"
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 0.144531,3641.28 0,-1363.22" /></g></g></svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="68px" height="78px" viewBox="0 0 68 78" style="enable-background:new 0 0 68 78;" xml:space="preserve">
<style type="text/css">
.st0{fill:#878A8E;}
.st1{fill:#ACB4BE;}
</style>
<symbol id="Light_Keyboard_Secondary_Inactive" viewBox="0 -78 52 78">
<path class="st0" d="M48.9-74.8c-0.2-0.1-0.4-0.2-0.6-0.4c-1-0.5-2.1-0.8-3.3-0.8H7c-1.2,0-2.3,0.3-3.3,0.8
c-0.2,0.1-0.4,0.2-0.6,0.4c-1.7,1.1-2.8,3-3.1,5.1c0,0.2,0,0.5,0,0.7v-2c0-3.9,3.1-7,7-7h38c3.9,0,7,3.1,7,7v2c0-0.2,0-0.5,0-0.7
C51.7-71.8,50.6-73.7,48.9-74.8z"/>
<g>
<path class="st1" d="M45-76H7c-3.9,0-7,3.1-7,7v62c0,3.9,3.1,7,7,7h38c3.9,0,7-3.1,7-7v-62C52-72.9,48.9-76,45-76z"/>
</g>
</symbol>
<g>
<use xlink:href="#Light_Keyboard_Secondary_Inactive" width="52" height="78" x="0" y="-78" transform="matrix(1.3077 0 0 -1 -1.277043e-03 0)" style="overflow:visible;"/>
</g>
<path d="M53.9,38C53.4,27.8,45.2,19.6,35,19.1V19h-2v0.1C22.8,19.6,14.6,27.8,14.1,38H14v2h0.1c0.5,10.2,8.7,18.4,18.9,18.9V59h2
v-0.1c10.2-0.5,18.4-8.7,18.9-18.9H54L53.9,38L53.9,38z M45,38c-0.1-2.7-0.4-5.3-1.1-7.6c1.6-0.9,3-2,4.3-3.2
c2.5,3,4.1,6.8,4.3,10.9H45z M42.1,29.6c-2.2,1.1-4.6,1.7-7.1,1.9V20.6C38,21.3,40.6,24.7,42.1,29.6z M33,20.6v10.8
c-2.5-0.1-5-0.8-7.1-1.9C27.4,24.7,30,21.3,33,20.6z M33,32.9V38h-8.5c0.1-2.5,0.4-4.8,0.9-6.9C27.8,32.2,30.3,32.8,33,32.9z M33,40
v6c-2.6,0.1-5.1,0.8-7.3,1.8c-0.7-2.4-1.1-5-1.2-7.8H33z M33,47.5v9.8c-2.8-0.6-5.3-3.7-6.8-8.1C28.3,48.3,30.6,47.7,33,47.5z
M35,57.4v-9.8c2.4,0.1,4.7,0.7,6.8,1.7C40.3,53.7,37.8,56.8,35,57.4z M43.2,50c1.2,0.7,2.4,1.5,3.4,2.5c-2.1,2-4.7,3.5-7.6,4.3
C40.7,55.2,42.1,52.9,43.2,50z M35,46v-6h8.5c-0.1,2.8-0.5,5.5-1.2,7.8C40.1,46.8,37.6,46.2,35,46z M35,38v-5.1
c2.7-0.1,5.2-0.8,7.5-1.9c0.5,2.1,0.9,4.5,0.9,6.9H35z M47.6,26.6c-0.2-0.2-0.3-0.4-0.5-0.6c-1.1,1.1-2.3,2.1-3.7,2.9
c-1.1-3.3-2.6-5.9-4.5-7.7C42.4,22.2,45.3,24,47.6,26.6z M29,21.2c-1.9,1.7-3.4,4.4-4.5,7.7c-1.3-0.8-2.6-1.8-3.7-2.9
c-0.2,0.2-0.3,0.4-0.5,0.5C22.7,24,25.6,22.2,29,21.2z M19.8,27.1c1.3,1.3,2.7,2.3,4.3,3.2c-0.6,2.3-1,4.9-1.1,7.6h-7.5
C15.8,33.9,17.3,30.1,19.8,27.1z M15.6,40H23c0.1,3.1,0.5,6,1.3,8.5c-1.4,0.8-2.8,1.8-4,2.9c0.3,0.4,0.7,0.7,1.1,1.1
c1-1,2.2-1.8,3.4-2.5c1,2.9,2.5,5.2,4.2,6.8C21.5,54.7,16,48,15.6,40z M46.6,52.5c0.4-0.3,0.7-0.7,1.1-1.1c-1.2-1.1-2.5-2.1-4-2.9
c0.8-2.6,1.2-5.5,1.3-8.5h7.5C52.2,44.9,50,49.3,46.6,52.5z"/>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="72px" height="53.7px" viewBox="0 0 72 53.7" style="enable-background:new 0 0 72 53.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#CFCEC8;}
.st1{fill:#69B8D4;}
.st2{fill:#BA2034;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#BFBEB6;}
.st4{fill:#F58721;}
.st5{fill:#8F8E7F;}
.st6{fill:#FFFFFF;}
.st7{fill:#BFBEB6;}
.st8{fill:#FBBF88;}
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#8F8E7F;}
.st11{fill:#A5CFE1;}
.st12{fill:#CDCCC6;}
.st13{fill-rule:evenodd;clip-rule:evenodd;fill:#CFCEC8;}
</style>
<g>
<g>
<path class="st0" d="M39,17.6c0.2,0,0.4-0.1,0.5-0.3c-0.2-0.1-1-0.9-1.1-0.4c0.2,0.1,0.6,0.5,0.3,0.6c-0.1,0-0.8-0.2-0.9-0.2
c0-0.3-0.2-0.4-0.1-0.7l0.2,0C37.3,15.8,35.1,17,36,18c0.5,0.6,1.6-0.1,2,0.8c0,0.1,0,0.3,0,0.4c0.1,0.2,0.2,0.3,0.4,0.4
c0.5-0.1,0.9-0.2,1.4-0.3c0-0.2-0.1-0.4-0.2-0.5C39.2,18.4,39.1,18.1,39,17.6z"/>
<path class="st1" d="M46.2,11l-0.4-0.2l0,0C45.9,10.9,46,11,46.2,11z"/>
<path class="st2" d="M71.1,22.7C70.4,22,60.3,11.1,59.8,10.5C60.3,11.1,70.4,22,71.1,22.7z"/>
<path class="st3" d="M65.4,31.7c-0.1-0.2-0.2-0.4,0.1-0.5c0.2-0.1,0.3,0.2,0.3,0.4c0-0.1,0.1-0.1,0.1-0.1c0.1,0.1,0.2,0.3,0.3,0.4
c-0.2,0.2-0.1,0.2,0.1,0.4l0-0.1c0,0,0,0.1,0.1,0.1C65.9,32.4,65.6,32,65.4,31.7z M63.5,31.3c-0.1,0-0.1-0.1-0.3-0.1
c-0.1,0-0.4,0-0.5-0.1c-0.2,0.1-0.2,0.3-0.2,0.4l-0.1-0.3c-0.1-0.1-0.2-0.5,0-0.6c0.1-0.2,0.5-0.2,0.4-0.6
c-0.1-0.4-0.9-0.4-1.1-0.9l0.1,0c0.4,0.4,0.4,0.6,1,0.5c0.2,0.1,0.4,0.3,0.6,0.5c0.2,0.2,0.2,0.5,0.5,0.6
C63.8,31,63.6,31.2,63.5,31.3z M62.2,30.3c-0.1,0.1-0.1,0-0.2,0.2c0,0,0.1,0.1,0,0.1c0,0-0.2,0.1-0.2,0c-0.1-0.1-0.1-0.2-0.1-0.3
c0,0.1-0.1,0.2-0.1,0.2c-0.2-0.1-0.4-0.3-0.4-0.5c0.1,0,0.2-0.1,0.2,0c0.2,0,0.3,0,0.4,0c0-0.1,0-0.1,0-0.2c0.1-0.1,0.1,0,0.2,0.1
c0.2,0.2,0,0.2,0.3,0.1C62.4,30.2,62.3,30.2,62.2,30.3z M60.4,29.7c0.2,0,0.4,0.2,0.4,0.4l0,0c-0.2,0.1-0.3,0-0.5-0.2
c0,0,0-0.2-0.1-0.3c-0.2-0.1-0.4,0-0.6-0.1c-0.1-0.1-0.7-0.9-0.7-1c0.1-0.3,0.4-0.2,0.6-0.1c0.2,0.1,0.2,0.3,0.4,0.5
c0.4,0.4,0.8,0.2,1.3,0c0.1,0.1,0.1,0.2,0.1,0.4c0.1,0,0.2,0.1,0.3,0.2C61.4,29.8,60.5,29.3,60.4,29.7z M60.8,32.2
c-0.1-0.4,0-0.9-0.1-1.3c0.3,0,0.3,1,0.2,1.1l0.1,0C61,32.1,60.9,32.2,60.8,32.2z M51.9,41.7c-0.2,0-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.2-0.2-0.4-0.4-0.3-0.6v0c0.3-0.1,0.9,0.1,1.1,0.3C52.2,41.1,51.8,41.3,51.9,41.7z M57.4,21.5
c-0.2,0-0.3,0-0.5,0c0.1,0.2,0.3,0.7-0.1,0.8c-0.1,0-0.7-0.2-0.6,0.1c0.1,0.1,0.4,0,0.5,0c0.1,0.1,0.4,0.5,0.4,0.6
c0.1,0.3,0,0.3-0.3,0.2c-0.2-0.1-0.5-0.2-0.6-0.3c0,0.1-0.1,0-0.2,0.1l0.1,0.2c-0.4,0.2-0.4-0.9-0.3-1.1c0.1-0.3,0.3-0.5,0.5-0.8
c0.1-0.2,0-0.5,0.1-0.7c0.4,0.2,0.1-0.7,0-0.8c-0.2-0.2-0.6-0.4-0.9-0.5c-0.3-0.2-0.6-0.1-0.8-0.4c-0.1-0.1-0.1-0.2-0.2-0.3
c-0.2-0.1-0.4,0-0.5-0.3c0.3-0.3,1.7-1,1.9-0.5c0,0.1-0.1,0.4-0.1,0.5c-0.1,0.3-0.4,0.3-0.6,0.5c0.2,0.3,0.8,0.1,1,0.1
c0.5,0,0.8,0.4,1.1,0.7c0.2,0.3,0.6,0.5,0.5,0.9C57.7,20.8,57.2,21,57.4,21.5z M57.4,27.5c-0.3,0-0.9-0.8-0.6-1H57
C57.1,26.7,58,27.6,57.4,27.5z M71.1,22.7C70.4,22,60.3,11.1,59.8,10.5c-0.8-0.9-1.4-0.8-2-0.9c-0.8,0-1.9,1.7-3.5,3.9
c0,0.6,0.5,0.8,0.8,1.4c-0.6-0.1-1-0.3-1.6-0.3c-0.6,0.8-1.3,1.6-2,2.3c0.2,0.1,0.3,0.1,0.5,0.1c0.3,0,0.9-0.2,1.1,0
c-0.1,0.1-0.3,0.2-0.4,0.3c0.3,0.1,0.5,0.2,0.8,0.2c0.2,0,0.4,0,0.5,0.2c-0.4,0.5-1.1-0.1-1.6-0.2c-0.4-0.1-0.9-0.2-1.4-0.2
l-0.1,0.1c1,0.5,2.1,1.3,2.2,2.6c0,0.3-0.3,0.7-0.2,1c0,0.2,0.2,0.3,0.2,0.4c0,0.1,0,0.4,0,0.5c0.5,0,1.9-0.3,2.2,0.2
c0.1,0.2,0,0.4-0.1,0.6c-0.3,0.5-0.5,0.2-1,0.1c-0.2-0.1-0.4-0.1-0.6-0.1c-0.3,0-0.5,0.2-0.7,0.1c-0.2,0-0.3-0.2-0.5-0.2
c-0.2,0-0.6,0.5-0.7,0.6c-0.5-0.5-1,0-0.8,0.6c0.4,1,1.2-0.2,1.6-0.4c0,0.5,0,1,0.4,1.2c0.5,0.2,1.1,0.1,1.6,0.3
c0.3,0.1,0.8,0.6,1.1,0.9c0.5,0.4,0.7,0.9,0.7,1.6c0,0.5-0.2,0.9-0.4,1.4c-0.2,0.4-0.9,1-0.4,1.4c0.2,0.1,0.9,0.3,0.5,0.7
c-0.2,0.3-0.9-0.1-0.7-0.5c-0.4-0.4-0.8,0.2-0.8,0.6c0,0.6,0.8,1,1.3,1c0.7,0.1,1.5,0.2,1.8,0.9c0.3,0.5,0,1.3-0.1,1.9
c-0.7,0-1.7-0.5-2.4-0.2c0.1,0.4,0.5,1.1,0.9,1.3c0.5,0.3,1,0.3,1.5,0.3c0.5,0,0.8,0.1,1.2,0.3c0.3,0.2,0.8,0.2,1,0.6
c-0.6,0.4-1.6,0.4-2.2,0c-0.3-0.1-0.5-0.3-0.8-0.4c-0.3-0.1-0.7-0.1-0.9-0.3c-0.5-0.2-0.7-0.9-1.1-1.1c-0.4-0.3-1-0.6-1.5-0.7
c-0.2,0.9-0.5,0.4-1.1,0.1c-0.5-0.3-1.3-0.4-1.8-0.4c-0.4,0-0.3-0.1-0.5,0.3c-0.1,0.2-0.3,0.4-0.3,0.7c0,0.4,0,0.7,0,1.1
c-0.1,0.6-0.3,1.8,0,2.4c0.4,0.8,1.3,1.2,1.3,2.1c0,0.2,0,0.4-0.2,0.6c-0.4,0-0.8-0.3-1.2-0.5c-0.5-0.2-1-0.4-1.6-0.7
c-0.5-0.2-1.1-0.4-1.5-0.9c-0.3-0.3-0.6-0.6-1-0.9c0,0.3,0,0.6-0.1,0.9c-0.3,0-0.7,0-0.9-0.2c0.1-0.2,0.2-0.3,0.3-0.4
c-0.3,0.2-0.8,0.4-1.2,0.4c1.4,5,2.8,9.7,2.9,10.1c0.3,1.2,1.1,1.8,2,1.9c0.7,0,1.5-0.3,2.1-0.9c0.6-0.7,5.3-5.8,10-10.9h-0.1
c-0.6,0-1.1-0.3-1.6-0.4c-0.3-0.1-0.4-0.2-0.6-0.3c-0.3-0.2-0.4-0.1-0.8-0.1c-0.3,0-1.1,0-1.3-0.3l-0.2-0.2c0.2,0.1,0.3,0,0.5-0.1
c0.4-0.2,0.6-0.2,1-0.1c0.4,0,0.9,0,1.3,0c0.3,0,0.8,0,1.1,0.1c0.1,0,0.1,0.2,0.2,0.2c0.1,0,0.2-0.1,0.3-0.1
c0.1,0,0.3,0.2,0.5,0.1c-0.1-0.2,0.2-0.1,0.3,0c0.1,0,0.3,0,0.4,0.1l0,0l1-1.2c-0.1,0.1-0.3,0.1-0.5,0c-0.5-0.2-1.1-0.6-1.2-1.1
c0.2,0,0.3-0.1,0.4-0.2c-0.2-0.2,0-1,0-1.3c0-0.3,0.2-0.6,0.2-0.9c0-0.2-0.1-0.8,0-0.9c0.1-0.1,0.7-0.1,0.8-0.1
c0.3,0,0.4,0,0.4,0.3c0,0.2-0.4,0.4-0.2,0.7c0.1,0.2,0.5,0.3,0.6,0.4c0.2-0.1,0.4,0,0.5,0.2c-0.5,0.3-0.1,0.6,0.1,1
c0.1,0.2,0.1,0.4,0.2,0.6l0.6-0.7c0-0.1-0.1-0.2-0.1-0.3c-0.1-0.2-0.3-0.5-0.4-0.7c-0.2-0.6,1-1,1.2-1.7c0.5,0.7-0.8,1.1-1,1.5
c-0.1,0.2-0.1,0.4,0.3,0.4c0.3,0,0.5-0.3,0.7-0.5c0.1,0.3,0,0.4,0.1,0.5l2.1-2.3c-0.1,0-0.2-0.1-0.2-0.2c-0.2-0.3,0.1-0.6,0.4-0.7
c0.2,0,0.3,0,0.5,0.1c1.5-1.7,2.6-2.9,2.7-3c0.4-0.5,1.4-1.9,1.4-2.9C72,24.7,71.7,23.4,71.1,22.7z"/>
<path class="st4" d="M41.5,49.7l0.2,2C41.8,51.2,41.7,50.5,41.5,49.7z"/>
<path class="st5" d="M26.1,33.2c-0.6-0.4-1,0.4-1.1,0.9c0.1,0.1,0.2,0.2,0.2,0.3C25.6,34.1,25.9,33.7,26.1,33.2z"/>
<polygon class="st4" points="25.2,34.5 25.2,34.4 25.1,34.4 "/>
<path class="st4" d="M32.6,30.9c0.1,0,0.3,0,0.4,0l-0.9,0C32.3,30.9,32.5,30.9,32.6,30.9z"/>
<path class="st5" d="M17.5,29.9c0.1-0.3,0.3-0.9,0.2-1.2c0-0.1,0-0.1-0.1-0.1c-0.1-0.2-0.2-0.2-0.5-0.4c-0.4-0.3-0.4-0.9-0.7-1.1
c-0.2-0.2-0.7-0.2-1-0.3c-0.9-0.3-1.9-0.2-2.7-0.6l-0.2-0.1c-0.6-0.4-1-0.6-1.3-1.4c-0.3-0.8-0.4-1.6-0.7-2.4
c-0.2-0.8-0.3-1.4,0.1-2.2c0.2-0.4,0.5-0.6,0.6-1.1c0.1-0.4,0-0.6,0.2-0.9c0.4-0.5,1-0.8,1.5-1.2c0.3-0.2,0.6-0.6,0.9-0.8
c0.3-0.2,0.7-0.2,1-0.4v0c0.1,0,0.1-0.1,0.1-0.2c0.1-0.1,0.2-0.2,0.3-0.3l0-0.1c-0.8-0.3-1.3-0.6-1.5-0.6
c-0.3-0.1-0.7-0.2-1.1-0.2c-0.7,0-1.4,0.2-2.2,1.2C9.4,17.1,0.6,31.2,0.2,32C0.1,32.3,0,32.8,0,33.3c0,1.1,0.4,2.5,2.2,3.2
C3.3,37,9,39.7,15.7,42.8l0-0.2c-0.1-0.7,0-1.4,0-2c0-0.4,0.1-0.7,0.1-1c0-0.5-0.2-1-0.3-1.4c0-0.2,0-0.4,0-0.5
c0.1-0.5,0.4-0.7,0.7-1c0.1-0.1,0.1-0.1,0.2-0.2c0.5-0.5,0.8-1.3,1.1-2c0.4-0.9,0.2-1.5,0-2.3C17.3,31.1,17.3,30.8,17.5,29.9z"/>
<path class="st5" d="M24.2,37.8c0.1,0.5-0.1,1-0.2,1.6c0.1,0.1,0.2,0.1,0.4,0.1c0.1-0.4,0.4-0.9,0.5-1.3c0.1-0.6-0.2-0.8-0.5-1.2
c-0.3-0.5-0.2-0.5-0.3-1c0-0.3-0.1-0.7-0.2-1l-0.1-0.3c0-0.4-0.2-0.7-0.5,0.1c-0.2,0.5,0.1,1,0.2,1.4
C23.7,36.8,24.1,37.2,24.2,37.8z"/>
<path class="st6" d="M56.8,26.6c-0.3,0.2,0.3,0.9,0.6,1c0.6,0.1-0.3-0.8-0.4-1H56.8z"/>
<path class="st6" d="M63.4,34.2c-0.1-0.2-0.3-0.2-0.5-0.2c-0.1-0.1-0.5-0.3-0.6-0.4c-0.2-0.3,0.2-0.4,0.2-0.7
c0-0.3-0.1-0.2-0.4-0.3c-0.1,0-0.7,0-0.8,0.1c-0.1,0.1,0,0.7,0,0.9c0,0.3-0.2,0.6-0.2,0.9c0,0.3-0.2,1.1,0,1.3
c-0.1,0.1-0.3,0.2-0.4,0.2c0.2,0.5,0.8,1,1.2,1.1c0.2,0.1,0.4,0.1,0.5,0l1.2-1.4c-0.1-0.2-0.2-0.3-0.2-0.6
C63.3,34.8,62.9,34.5,63.4,34.2z"/>
<path class="st6" d="M64.3,34.3c-0.3,0-0.4-0.2-0.3-0.4c0.2-0.4,1.5-0.8,1-1.5c-0.2,0.6-1.3,1-1.2,1.7c0.1,0.2,0.3,0.5,0.4,0.7
c0,0.1,0.1,0.2,0.1,0.3l0.8-0.8C65,34.1,65,34,65,33.8C64.7,34,64.6,34.3,64.3,34.3z"/>
<path class="st6" d="M51.1,41.1c0.1,0.1,0.2,0.3,0.3,0.4c0.2,0.1,0.2,0.2,0.4,0.2c0-0.3,0.3-0.6,0-0.9c-0.2-0.2-0.8-0.4-1.1-0.3v0
C50.7,40.7,51,40.9,51.1,41.1z"/>
<path class="st6" d="M61,38.2c-0.1,0-0.4-0.2-0.3,0c-0.2,0-0.3-0.1-0.5-0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.1-0.2-0.2-0.2
c-0.3-0.1-0.8,0-1.1-0.1c-0.5,0-0.9,0-1.3,0c-0.4,0-0.6,0-1,0.1c-0.2,0.1-0.3,0.2-0.5,0.1l0.2,0.2c0.2,0.3,1,0.3,1.3,0.3
c0.3,0,0.5-0.1,0.8,0.1c0.2,0.2,0.3,0.2,0.6,0.3c0.5,0.1,1,0.4,1.6,0.4h0.1l1.1-1.2l0,0C61.3,38.2,61.1,38.2,61,38.2z"/>
<path class="st7" d="M55.1,14.9c-0.4-0.5-0.8-0.8-0.8-1.4c-0.3,0.4-0.5,0.7-0.8,1.1C54,14.6,54.5,14.8,55.1,14.9z"/>
<path class="st6" d="M44.2,39.5c0.2,0.3,0.6,0.2,0.9,0.2c0.1-0.3,0.1-0.6,0.1-0.9c0.4,0.2,0.6,0.6,1,0.9c0.4,0.5,1,0.6,1.5,0.9
c0.5,0.2,1,0.5,1.6,0.7c0.4,0.2,0.8,0.5,1.2,0.5c0.1-0.2,0.2-0.4,0.2-0.6c0-1-0.9-1.3-1.3-2.1c-0.3-0.6-0.1-1.7,0-2.4
c0.1-0.4,0-0.8,0-1.1c0-0.3,0.2-0.5,0.3-0.7c0.2-0.4,0.1-0.3,0.5-0.3c0.5,0.1,1.3,0.1,1.8,0.4c0.6,0.3,0.9,0.9,1.1-0.1
c0.5,0.1,1.1,0.4,1.5,0.7c0.5,0.3,0.7,0.9,1.1,1.1c0.3,0.2,0.6,0.2,0.9,0.3c0.3,0.1,0.5,0.3,0.8,0.4c0.6,0.3,1.6,0.3,2.2,0
c-0.2-0.3-0.7-0.4-1-0.6c-0.4-0.2-0.7-0.2-1.2-0.3c-0.5,0-1.1,0-1.5-0.3c-0.3-0.2-0.8-0.9-0.9-1.3c0.8-0.3,1.7,0.1,2.4,0.2
c0.1-0.5,0.3-1.3,0.1-1.9c-0.3-0.7-1.1-0.8-1.8-0.9c-0.5,0-1.3-0.4-1.3-1c0-0.4,0.3-1,0.8-0.6c-0.2,0.4,0.5,0.8,0.7,0.5
c0.3-0.4-0.4-0.6-0.5-0.7c-0.5-0.4,0.2-1,0.4-1.4c0.2-0.4,0.4-0.9,0.4-1.4c0-0.6-0.2-1.1-0.7-1.6c-0.3-0.2-0.8-0.7-1.1-0.9
c-0.5-0.2-1.1-0.1-1.6-0.3c-0.4-0.2-0.4-0.8-0.4-1.2c-0.3,0.2-1.2,1.4-1.6,0.4c-0.2-0.5,0.3-1.1,0.8-0.6c0.1-0.1,0.5-0.6,0.6-0.6
c0.2,0,0.3,0.2,0.5,0.2c0.3,0.1,0.5-0.1,0.7-0.1c0.2,0,0.4,0.1,0.6,0.1c0.4,0.1,0.7,0.3,1-0.1c0.1-0.2,0.2-0.5,0.1-0.6
c-0.3-0.5-1.7-0.2-2.2-0.2c0-0.1,0-0.4,0-0.5c0-0.2-0.2-0.3-0.2-0.4c-0.1-0.4,0.2-0.7,0.2-1c0-1.2-1.1-2.1-2.2-2.6
c-0.8,0.8-1.7,1.5-2.6,2.2c-4.2,2.9-7.3,3.1-8.2,4c-0.4,0.5-0.6,1-0.6,1.6c0,0.6,0.1,1.3,0.3,1.9c0.3,0.9,2,6.7,3.5,12.2
c0.4,0,0.9-0.2,1.2-0.4C44.5,39.2,44.3,39.3,44.2,39.5z"/>
<path class="st7" d="M52.4,17.6c0.5,0.1,1.2,0.7,1.6,0.2c-0.2-0.2-0.3-0.1-0.5-0.2c-0.3,0-0.5-0.1-0.8-0.2
c0.1-0.1,0.3-0.2,0.4-0.3c-0.3-0.2-0.8,0-1.1,0c-0.2,0-0.4-0.1-0.5-0.1L51,17.4C51.5,17.4,52,17.5,52.4,17.6z"/>
<path class="st6" d="M60.4,29.7c0-0.5,1,0.1,1.2-0.1c-0.1-0.1-0.2-0.2-0.3-0.2c0-0.2,0-0.3-0.1-0.4c-0.5,0.1-0.9,0.4-1.3,0
c-0.2-0.2-0.2-0.4-0.4-0.5c-0.2-0.1-0.5-0.1-0.6,0.1c0,0.1,0.6,0.9,0.7,1c0.2,0.1,0.4,0,0.6,0.1c0.1,0.1,0.1,0.2,0.1,0.3
c0.2,0.2,0.3,0.3,0.5,0.2l0,0C60.8,29.9,60.6,29.7,60.4,29.7z"/>
<path class="st6" d="M61.4,30c0,0,0.1,0,0.2,0.1l-0.4,0C61.3,30,61.3,30,61.4,30c-0.1,0-0.2,0-0.2,0c0,0.2,0.3,0.4,0.4,0.5
c0,0,0.1-0.1,0.1-0.2l0-0.1c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3c0,0,0.2,0,0.2,0c0-0.1,0-0.1,0-0.1c0-0.1,0-0.1,0.2-0.2
c0.1-0.1,0.2-0.1,0.1-0.3c-0.3,0-0.2,0-0.3-0.2c-0.1-0.1-0.1-0.2-0.2-0.1c0,0.1,0,0.1,0,0.2C61.7,30,61.6,29.9,61.4,30z"/>
<path class="st7" d="M61.7,30.3c0,0,0-0.1,0-0.1L61.7,30.3z"/>
<path class="st7" d="M61.6,30c0,0-0.1-0.1-0.2-0.1c-0.1,0-0.2,0-0.2,0.1L61.6,30z"/>
<path class="st6" d="M66.3,32.3c0,0-0.1-0.1-0.1-0.1L66.3,32.3c-0.2-0.2-0.3-0.2-0.1-0.4c-0.1-0.1-0.2-0.3-0.3-0.4
c0,0-0.1,0.1-0.1,0.1c0-0.2-0.1-0.5-0.3-0.4c-0.2,0.1-0.2,0.3-0.1,0.5C65.6,32,65.9,32.4,66.3,32.3z"/>
<path class="st6" d="M57.2,23c0-0.1-0.3-0.5-0.4-0.6c-0.1-0.1-0.4,0.1-0.5,0c-0.1-0.3,0.5-0.1,0.6-0.1c0.4-0.1,0.2-0.6,0.1-0.8
c0.2,0,0.3,0,0.5,0c-0.2-0.4,0.3-0.6,0.3-1.1c0.1-0.4-0.3-0.6-0.5-0.9c-0.3-0.4-0.6-0.7-1.1-0.7c-0.2,0-0.8,0.2-1-0.1
c0.2-0.2,0.5-0.3,0.6-0.5c0-0.1,0.1-0.4,0.1-0.5c-0.2-0.4-1.6,0.3-1.9,0.5c0.1,0.3,0.4,0.2,0.5,0.3c0.1,0.1,0.2,0.2,0.2,0.3
c0.1,0.4,0.4,0.2,0.8,0.4c0.3,0.1,0.7,0.3,0.9,0.5c0.1,0.1,0.4,1,0,0.8c-0.1,0.2,0.1,0.5-0.1,0.7c-0.2,0.3-0.4,0.5-0.5,0.8
c0,0.2,0,1.2,0.3,1L56.2,23c0.1,0,0.1,0,0.2-0.1c0.1,0.1,0.4,0.2,0.6,0.3C57.1,23.3,57.3,23.3,57.2,23z"/>
<path class="st6" d="M62.7,31.1c0.1,0.1,0.4,0.1,0.5,0.1c0.2,0,0.1,0.1,0.3,0.1c0.1,0,0.4-0.3,0.4-0.4c-0.3-0.1-0.3-0.4-0.5-0.6
c-0.2-0.2-0.3-0.4-0.6-0.5c-0.6,0.1-0.6-0.2-1-0.5l-0.1,0c0.2,0.5,1,0.5,1.1,0.9c0.1,0.4-0.3,0.4-0.4,0.6c-0.1,0.2,0,0.5,0,0.6
l0.1,0.3C62.5,31.4,62.5,31.2,62.7,31.1z"/>
<path class="st6" d="M60.8,30.9c0,0.4,0,0.9,0.1,1.3c0.1,0,0.2-0.1,0.2-0.2L61,32C61.1,31.9,61.1,30.9,60.8,30.9z"/>
<path class="st6" d="M67.3,31.1c-0.3,0.1-0.5,0.4-0.4,0.7c0.1,0.1,0.1,0.1,0.2,0.2l0.7-0.8C67.7,31.1,67.5,31,67.3,31.1z"/>
<path class="st8" d="M34.7,25c-0.1-0.2-0.2-0.3-0.3-0.5C34.5,24.7,34.6,24.8,34.7,25z"/>
<polygon class="st8" points="15.4,15.1 15.3,15.1 15.3,15.2 "/>
<path class="st8" d="M30.7,29.2c-0.1-0.1-0.1-0.3-0.3-0.5c0,0.1,0,0.2,0.1,0.3C30.6,29.1,30.6,29.2,30.7,29.2z"/>
<path class="st9" d="M25.2,34.4L25.2,34.4L25.2,34.4L25.2,34.4c-0.1-0.1-0.1-0.2-0.2-0.3c0.1-0.5,0.6-1.2,1.1-0.9
C25.9,33.7,25.6,34.1,25.2,34.4z M24.3,39.5c-0.1,0-0.3-0.1-0.3-0.1c0.1-0.6,0.4-1.1,0.2-1.6c-0.1-0.5-0.5-1-0.8-1.6
c-0.2-0.4-0.4-1-0.2-1.4c0.3-0.8,0.4-0.5,0.5-0.1l0.1,0.3c0.1,0.3,0.2,0.7,0.2,1c0,0.5-0.1,0.5,0.3,1c0.3,0.4,0.6,0.6,0.5,1.2
C24.7,38.7,24.5,39.2,24.3,39.5z M22.1,25.7c0,0-0.1-0.1-0.1-0.1L22.1,25.7L22.1,25.7z M33,30.9c-0.1,0-0.3,0-0.4,0
c-0.2,0-0.3,0-0.5,0c-0.5-0.1-1.1-0.3-1.5-0.6c0.2-0.4,0.2-0.7,0-1c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1-0.1-0.1-0.2-0.1-0.3
c-0.5-0.8-0.6-1.3-0.6-2.2c0-0.5-0.1-1-0.1-1.5c0-1.1,0-2.2-0.2-3.3c0.6,0.5,1.2,1.7,1.5,2.5c0.2,0.6,0.1,1.3,0.1,1.9
c0,0.6,0.3,1.2,0.3,1.8c0.1,0.9-0.5,1.6,0.7,1.6c1.1,0.1,2.6,0,3.7-0.4c-0.2-1-0.3-1.7-0.4-2c-0.1-0.4-0.2-1.3-0.7-2.1
c-0.1-0.1-0.2-0.3-0.3-0.5c-0.1-0.2-0.3-0.5-0.5-0.7c-0.4-0.4-1-0.9-1.8-1.2c-3-1.1-12.9-5.8-16.7-7.5l-0.1,0
c-0.1,0.1-0.2,0.2-0.3,0.3c0,0.1-0.1,0.2-0.1,0.2v0c-0.3,0.2-0.6,0.2-1,0.4c-0.3,0.2-0.6,0.5-0.9,0.8c-0.5,0.4-1.2,0.7-1.5,1.2
c-0.2,0.3-0.1,0.6-0.2,0.9c-0.1,0.5-0.4,0.7-0.6,1.1c-0.4,0.8-0.3,1.3-0.1,2.2c0.2,0.8,0.4,1.6,0.7,2.4c0.3,0.7,0.7,1,1.3,1.4
l0.2,0.1c0.9,0.5,1.8,0.4,2.7,0.6c0.3,0.1,0.8,0.1,1,0.3c0.3,0.3,0.3,0.8,0.7,1.1c0.2,0.2,0.4,0.2,0.5,0.4c0,0,0,0.1,0.1,0.1
c0.1,0.3-0.1,0.9-0.2,1.2c-0.2,0.9-0.3,1.3-0.1,2.2c0.2,0.9,0.4,1.5,0,2.3c-0.3,0.7-0.6,1.4-1.1,2c-0.1,0.1-0.1,0.1-0.2,0.2
c-0.3,0.3-0.6,0.5-0.7,1c0,0.2,0,0.4,0,0.5c0.1,0.5,0.3,0.9,0.3,1.4c0,0.3,0,0.7-0.1,1c-0.1,0.7-0.1,1.3,0,2l0,0.2l0.6,0.3
l3.7,1.7l0.2,0.1l0.3-0.5c0.1-0.2,0.3-0.4,0.5-0.6c0.1-0.1,0.2-0.2,0.3-0.2c0.5-0.2,1-0.2,1.4-0.8c0.2-0.2,0.2-0.6,0.3-0.9
c0.1-0.1,0.1-0.2,0.2-0.3c0.2-0.2,0.4-0.3,0.7-0.3c0.2,0,0.3-0.1,0.5-0.1c0.9-0.4,1.6-0.8,1.9-1.8c0.3-0.8,0.4-1.6,0.6-2.4
c0.2-1,0.3-1.1,1.1-1.7c0.4-0.3,0.8-0.7,1.2-1c0.7-0.4,1.5-0.4,2.3-0.8c0.7-0.3,2.6-1.5,2.3-2.6C33.5,30.8,33.3,30.8,33,30.9z"/>
<path class="st8" d="M22.1,25.7L22,25.6C22,25.6,22,25.7,22.1,25.7L22.1,25.7z"/>
<path class="st10" d="M26.5,45l-0.1,0.1c-0.5,0-1,0.1-1.1-0.6c0-0.1,0-0.3,0-0.4c0.1-0.5,0.7-0.9,1-1.3c0.4-0.7,0.3-1,0.9-1.4
c0.7-0.4,1.3-0.6,1.9-1.1c0.1,0.1,0.1,0.2,0.1,0.3C29.5,42.1,27.4,44.5,26.5,45z M41.5,49.7l0-0.2c-1-3-3.5-12.2-3.5-12.2l0-0.1
c-1.1-3.8-1.7-6.3-2.1-7.9l-0.1-0.3c-1.1,0.4-2.6,0.5-3.7,0.4c-1.2-0.1-0.6-0.7-0.7-1.6c0-0.6-0.3-1.2-0.3-1.8
c0-0.6,0.1-1.3-0.1-1.9c-0.2-0.8-0.8-2-1.5-2.5c0.2,1.1,0.2,2.2,0.2,3.3c0,0.5,0,1,0.1,1.5c0.1,0.9,0.1,1.4,0.6,2.2
c0.1,0.2,0.2,0.3,0.3,0.5c0.1,0.3,0.1,0.5,0,1c0.4,0.3,1,0.5,1.5,0.6l0.9,0c0.3,0,0.5-0.1,0.8,0c0.3,1.1-1.5,2.3-2.3,2.6
c-0.8,0.3-1.6,0.4-2.3,0.8c-0.4,0.3-0.8,0.7-1.2,1c-0.8,0.6-0.9,0.7-1.1,1.7c-0.2,0.8-0.4,1.7-0.6,2.4c-0.3,0.9-1,1.4-1.9,1.8
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.5,0.1-0.7,0.3c-0.1,0.1-0.1,0.2-0.2,0.3c-0.1,0.3-0.2,0.7-0.3,0.9c-0.4,0.7-0.9,0.6-1.4,0.8
c-0.1,0-0.2,0.1-0.3,0.2c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.2-0.2,0.3-0.3,0.5c9.1,4.2,18.3,8.5,19,8.7c0.7,0.2,1.4,0,1.8-0.5
c0.3-0.3,0.5-0.8,0.6-1.4L41.5,49.7z"/>
<path class="st6" d="M29.2,40.7c0-0.1-0.1-0.2-0.1-0.3c-0.7,0.5-1.3,0.7-1.9,1.1c-0.7,0.3-0.5,0.7-0.9,1.4c-0.3,0.5-0.9,0.8-1,1.3
c0,0.1,0,0.2,0,0.4c0.2,0.7,0.7,0.5,1.1,0.6l0.1-0.1C27.4,44.5,29.5,42.1,29.2,40.7z"/>
<path class="st11" d="M47.1,8.8c-0.5,0.1-1,0.6-1.5,0.5c0.1,0.4,0.9,1.2,1.3,1.2l-0.2-0.2c0.4-0.7-0.1-1,1-1
c0.7,0,1.1,0.2,1.7,0.4C49.3,9.2,47.8,8.7,47.1,8.8z"/>
<path class="st6" d="M29.9,7.2c0.2-0.1,0.3-0.3,0.5-0.5c-0.1-0.1-0.3-0.3-0.5-0.5c0.1,0,0.3-0.2,0.4-0.2c-0.4-0.2-1.1,0.4-1.1,0.7
c0,0.3,0.4,0.7,0.2,1c-0.1,0.2-0.5-0.1-0.5,0.4c-0.1,0-0.1-0.1-0.2-0.1c-0.2,0.2-0.1,0.4,0,0.6c-0.3,0.1-0.5,0-0.9,0.1
C27.9,8.8,28,8.9,28.1,9l0-0.2c0.3,0.2,1.8,0.8,2.1,0.5C30.6,8.9,30.1,7.6,29.9,7.2z"/>
<path class="st9" d="M37.1,14.4L37.1,14.4C37,14.4,37,14.3,37,14.3L37.1,14.4z M50.3,11.5c-0.1-0.1-0.8,0.1-0.9,0.3
c-0.3,0.4,0.2,0.6,0,1.1c-0.7-0.7-1.4-1.3-2.2-1.8c0.1,0.1,0,0.3,0.1,0.4l-0.4-0.2c0,0.1-0.1,0-0.1,0.1l0.1,0.1h0l-0.4-0.2
c0.1-0.1,0.1-0.1,0.1-0.1c-0.1,0-0.2-0.1-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2l0,0l-0.2-0.1c-0.6-0.4-0.9-0.3-1.6-0.3
c0.3-0.4,0.1-0.7-0.3-0.8c-0.3,0.7-0.1,0.5-0.8,0.6c-0.4,0.1-0.7,0.3-1.1-0.1c0,0.1-0.1,0.2-0.2,0.2C41.2,10,41.2,9.3,41,8.9
c0.6,0.2,0.8,1,1.4,1.3c0.5-0.4,0.2-0.8-0.1-1.2c-0.3-0.4-1-1.3-1.4-1.5l-0.3-0.3c-0.2-0.3-0.5-0.8-0.8-1c-0.2-0.1-0.5,0.1-0.7,0
c-0.9-0.3-1-0.8-2-0.4c-1,0.4-2,0.5-3,0.8c-0.5,0.1-0.9,0-1.2,0.4c-0.3,0.3-0.3,0.9,0,1.2c0.4,0.4,0.9,0.1,1.1,0.5
c0.2,0.4,0.1,1.1-0.4,0.9c-0.5,0.6,1,0.7,1.4,0.5c0.2-0.1,0.4-0.4,0.6-0.6c0.2-0.1,0.5-0.1,0.6-0.4c0.3-0.5-0.1-1,0.8-1.2
c0.6-0.1,1.3,0,1.8,0.2c-0.3,0.6-1.2,0.2-1.6,0.7c-0.5,0.7,0.3,1.1,0.8,1.3c0.5,0.2,1.5,1.1,0.4,0.6c-0.3-0.1-0.7-0.7-1.1-0.5
c-0.2,0.2,0.1,0.5-0.1,0.8c-0.9-0.1-0.4-0.9-1.1-0.2c-0.7,0.6-0.4,0.4-1.3-0.1c-0.4-0.2-1.5-0.3-1.7-0.8c-0.2-0.4,0.4-0.8,0.5-1.1
c-0.3-0.1-0.6-0.1-0.8,0.1c-0.2,0.2-0.1,0.7-0.1,0.8c-0.2,0.1-0.5-0.1-0.8-0.1c-0.3-0.1-0.5,0-0.9,0.1c-0.5,0.1-1.1,0.5-1.7,0.5
c-0.4,0-0.6-0.2-0.9-0.4c-0.3-0.1-0.6,0-0.8-0.2c0.3,0.8,0.9,1.4,0,2c-0.7,0.5-1.2-0.3-1.8-0.6C25,10.4,25,11,24.5,11.6
c-0.3,0.3-1,0.5-0.8,1.2c0.2,0.6,1,0.9,1.5,1c0.9,0.2,0.9,0.3,1.6-0.2c0.5-0.4,1-0.2,1.5-0.5c0.3-0.1,0.3-0.4,0.7-0.4
c0.3,0,0.6,0.4,0.9,0.5c0.6,0.2,0.8-0.1,1,0.7c0.2,0.5,0.2,0.8,0.5,1.2c0.2,0.3,0.5,1,0,1.2c-0.4,0.2-0.7-0.4-1.1-0.1
c0.2,0.4,0,1.1,0.8,0.9c-0.1,0,0.5-0.4,0.5-0.4c0.2-0.2,0.3-0.3,0.4-0.6c0.2,0.2,0.3,0.3,0.5,0.4c0.4-0.8-1.4-2.1-0.9-3
c0.5,0.1,0.6,1,0.9,1.4c0.1,0.2,0.5,0.5,0.5,0.8c0,0.3-0.1,0.4-0.2,0.7c0,0.4,0.1,0.8,0,1.2c-0.1,0.4-0.5,0.9,0.2,1
c0-0.1,0.2-0.2,0.2-0.4c0.2,0.1,0.4,0.2,0.6,0.2c0.2-0.5-0.3-1,0-1.5c0.7,0.5,1.3,0.5,1.9,1.1c-0.4,0-1-0.5-1.3,0
c-0.1,0.1,0,0.9,0.1,1.1c0,0,0,0,0,0.1c0.8,0.2,1.5,0.3,2.1,0.4c0.5,0,1.1,0,1.7-0.1c-0.1-0.1-0.3-0.2-0.4-0.4c0-0.1,0-0.3,0-0.4
c-0.4-0.9-1.5-0.2-2-0.8c-0.9-1,1.4-2.2,1.9-1.3l-0.2,0c-0.1,0.3,0.1,0.4,0.1,0.7c0.1,0,0.8,0.2,0.9,0.2c0.3-0.2-0.2-0.5-0.3-0.6
c0.1-0.5,1,0.3,1.1,0.4c-0.1,0.1-0.3,0.2-0.5,0.3c0.1,0.5,0.3,0.7,0.6,1.2c0.1,0.1,0.2,0.3,0.2,0.5c2.2-0.6,4.8-1.7,6.6-3
c1.5-1.1,3-2.7,4.2-4.3C50.5,11.7,50.4,11.6,50.3,11.5z"/>
<path class="st11" d="M45,9.9c-0.1,0-0.2,0.1-0.3,0.2c0.2,0.2,0.4,0.2,0.5-0.1C45.2,10,45.1,9.9,45,9.9L45,9.9z"/>
<path class="st11" d="M46.2,11l-0.1-0.1c0-0.1,0.1,0,0.1-0.1c-0.2-0.1-0.2-0.1-0.4,0.1L46.2,11L46.2,11z"/>
<path class="st12" d="M26.8,15c-0.5-0.1-1-0.1-1.5-0.3c-0.5-0.2-0.6-0.7-1-0.8c-0.5-0.1-1.1,0.1-1.6,0.3l0,0c2.1,1,4.5,2.1,6.6,3
c0.1-0.1,0.2-0.2,0.2-0.4C29.6,15.7,27.5,15.1,26.8,15z"/>
<path class="st11" d="M46.8,11.3L46.8,11.3c-0.2-0.1-0.2-0.2-0.3-0.1c0,0-0.1,0.1-0.1,0.1l0.4,0.2h0V11.3
C46.7,11.3,46.8,11.4,46.8,11.3z"/>
<path class="st11" d="M37.1,14.4L37,14.3C37,14.3,37,14.4,37.1,14.4L37.1,14.4z"/>
<path class="st13" d="M49.5,9.8c-0.6-0.2-1-0.4-1.7-0.4C47.8,9.4,49.3,9.1,49.5,9.8z M44.8,10.1c0.1-0.1,0.2-0.2,0.3-0.2l-0.1,0
c0.1,0,0.2,0.1,0.3,0.2C45.2,10.3,45,10.3,44.8,10.1z M30.2,9.3c-0.4,0.3-1.8-0.3-2.1-0.5l0,0.2c-0.1-0.1-0.2-0.1-0.3-0.3
c0.3-0.1,0.6,0,0.9-0.1c-0.2-0.2-0.2-0.4,0-0.6c0.1,0,0.1,0.1,0.2,0.1c0-0.5,0.4-0.2,0.5-0.4c0.1-0.3-0.3-0.7-0.2-1
c0.1-0.3,0.7-0.9,1.1-0.7c-0.1,0-0.3,0.2-0.4,0.2c0.2,0.2,0.3,0.3,0.5,0.5c-0.1,0.2-0.3,0.3-0.5,0.5C30.1,7.6,30.6,8.9,30.2,9.3z
M27.2,7.7c-0.1,0-0.2-0.1-0.3-0.2c0.1-0.2,0.4-0.3,0.6-0.2c0-0.2,0-0.4-0.1-0.6c0.2,0,0.8,0,0.9,0c0.3,0.1,0.6,0.5,0.2,0.5
l-0.1,0c-0.1,0.2-0.2,0.3-0.3,0.5c-0.2,0-0.4,0-0.6,0C27.4,7.8,27.3,7.7,27.2,7.7z M52.3,5.3c-1.1-0.5-14.8-4.6-16-5.1
c-0.5-0.2-1-0.3-1.5-0.3c-0.8,0-1.7,0.2-2.3,0.7c-0.9,0.8-4.4,5.1-8.4,7c-3.6,1.7-4.9,1.5-6.2,1.8c-0.6,0.2-0.9,0.7-1,0.9
c-0.1,0.4,0,1,1,1.5c0.6,0.3,2.1,1,4.7,2.3l0,0c0.4-0.2,1.1-0.4,1.6-0.3c0.4,0.1,0.6,0.6,1,0.8c0.5,0.2,1,0.2,1.5,0.3
c0.7,0.1,2.9,0.8,2.7,1.8c0,0.2-0.1,0.3-0.2,0.4c1.6,0.7,3.1,1.3,4,1.6c0.5,0.2,1,0.3,1.4,0.4l0-0.1c-0.1-0.2-0.2-0.9-0.1-1.1
c0.3-0.5,0.8,0,1.3,0c-0.6-0.6-1.2-0.6-1.9-1.1c-0.3,0.5,0.3,1,0,1.5c-0.2,0-0.4-0.1-0.6-0.2c0,0.1-0.2,0.2-0.2,0.4
c-0.7-0.2-0.3-0.6-0.2-1c0.1-0.4-0.1-0.8,0-1.2c0-0.3,0.2-0.4,0.2-0.7c0-0.3-0.4-0.5-0.5-0.8c-0.2-0.4-0.4-1.3-0.9-1.4
c-0.5,1,1.3,2.2,0.9,3c-0.3-0.1-0.4-0.3-0.5-0.4c-0.1,0.2-0.3,0.4-0.4,0.6c0,0-0.6,0.4-0.5,0.4c-0.8,0.2-0.6-0.5-0.8-0.9
c0.4-0.3,0.7,0.4,1.1,0.1c0.5-0.3,0.2-0.9,0-1.2c-0.3-0.5-0.3-0.7-0.5-1.2c-0.2-0.8-0.4-0.5-1-0.7c-0.3-0.1-0.6-0.5-0.9-0.5
c-0.4,0-0.4,0.2-0.7,0.4c-0.5,0.2-1,0.1-1.5,0.5c-0.7,0.5-0.7,0.5-1.6,0.2c-0.5-0.1-1.3-0.4-1.5-1c-0.2-0.7,0.4-0.9,0.8-1.2
c0.5-0.5,0.5-1.1,1.3-0.7c0.7,0.3,1.1,1.1,1.8,0.6c0.9-0.6,0.3-1.2,0-2c0.2,0.1,0.5,0.1,0.8,0.2c0.4,0.1,0.5,0.4,0.9,0.4
c0.6,0,1.2-0.3,1.7-0.5c0.4-0.1,0.6-0.1,0.9-0.1c0.2,0,0.6,0.3,0.8,0.1c0.1-0.1-0.1-0.6,0.1-0.8c0.2-0.2,0.6-0.2,0.8-0.1
c-0.2,0.4-0.7,0.8-0.5,1.1c0.2,0.5,1.4,0.6,1.7,0.8c0.9,0.4,0.7,0.7,1.3,0.1c0.7-0.7,0.3,0.1,1.1,0.2c0.2-0.2-0.1-0.6,0.1-0.8
c0.3-0.3,0.8,0.4,1.1,0.5c1,0.4,0.1-0.4-0.4-0.6c-0.5-0.2-1.3-0.6-0.8-1.3c0.4-0.5,1.3-0.1,1.6-0.7c-0.5-0.2-1.2-0.3-1.8-0.2
c-0.9,0.2-0.5,0.7-0.8,1.2c-0.2,0.3-0.5,0.3-0.6,0.4c-0.2,0.1-0.3,0.4-0.6,0.6c-0.4,0.2-1.9,0.1-1.4-0.5c0.5,0.2,0.7-0.6,0.4-0.9
C33.9,8.1,33.4,8.4,33,8c-0.3-0.3-0.3-0.9,0-1.2c0.3-0.4,0.8-0.3,1.2-0.4c1-0.2,2-0.4,3-0.8c1-0.3,1,0.1,2,0.4
c0.2,0.1,0.5-0.1,0.7,0c0.3,0.2,0.5,0.7,0.8,1L41,7.4c0.4,0.2,1.1,1.1,1.4,1.5c0.3,0.4,0.6,0.9,0.1,1.2c-0.6-0.3-0.8-1.1-1.4-1.3
c0.1,0.5,0.2,1.1,0.6,1.4c0-0.1,0.1-0.2,0.2-0.2c0.4,0.4,0.7,0.2,1.1,0.1c0.7-0.1,0.5,0.1,0.8-0.6c0.4,0.2,0.6,0.5,0.3,0.8
c0.6,0,1-0.1,1.6,0.3l0.2,0.1c0.2-0.2,0.2-0.2,0.4-0.1c0.1,0.1-0.1,0.1-0.1,0.1l0.1,0.1h0c0.1,0.1,0.2,0.1,0.4,0.1
c0.1,0,0.1,0,0.3,0.1l0,0l0.4,0.2c0-0.1,0-0.3-0.1-0.4c0.8,0.5,1.5,1.1,2.2,1.8c0.2-0.5-0.3-0.7,0-1.1c0.1-0.1,0.8-0.3,0.9-0.3
c0.1,0.1,0.2,0.3,0.3,0.5c1.7-2.3,2.9-4.6,2.8-5.2C53.2,6.1,53,5.6,52.3,5.3z"/>
<path class="st6" d="M28.3,6.7c-0.2-0.1-0.7,0-0.9,0c0.1,0.2,0.1,0.4,0.1,0.6c-0.3,0-0.5,0-0.6,0.2c0.1,0.1,0.2,0.2,0.3,0.2
c0.1,0.1,0.2,0.1,0.3,0.1c0.2,0,0.4-0.1,0.6,0c0.1-0.2,0.2-0.4,0.3-0.5l0.1,0C28.9,7.1,28.6,6.8,28.3,6.7z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html>
<head>
<title>FirstVoices Keyboards installation</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" name="viewport">
<link rel="stylesheet" type="text/css" href="android-instructions.css" />
<script language="JavaScript">
function showSetup() {
window.jsInterface.showSetup();
}
function showRegionList() {
window.jsInterface.showRegionList();
}
function setCheckBox1On() {
var checkbox1 = document.getElementById("checkbox1");
if (checkbox1.src != "check-on.png") {
checkbox1.src = "check-on.png";
checkbox1.style.opacity = 1.0;
}
}
function setCheckBox1Off() {
var checkbox1 = document.getElementById("checkbox1");
if (checkbox1.src != "check-off.png") {
checkbox1.src = "check-off.png";
checkbox1.style.opacity = 0.25;
}
}
function setCheckBox2On() {
var checkbox2 = document.getElementById("checkbox2");
if (checkbox2.src != "check-on.png") {
checkbox2.src = "check-on.png";
checkbox2.style.opacity = 1.0;
}
}
function setCheckBox2Off() {
var checkbox2 = document.getElementById("checkbox2");
if (checkbox2.src != "check-off.png") {
checkbox2.src = "check-off.png";
checkbox2.style.opacity = 0.25;
}
}
</script>
</head>
<body>
<div id="instructions">
<div id="logo">
<img src="firstvoices-logo.gif" alt="FirstVoices" />
<p>Keyboards</p>
</div>
<h2>Installation instructions</h2>
<div class="steps">
<div class="step">
<div class="step-number"><span>1</span></div>
<div class="step-instruction">
<p><input type="button" value="Select keyboards" onclick="showRegionList()" id="button1" /> <img src="check-off.png" alt="CheckBox" class="checkicon" id="checkbox1" /></p>
</div>
</div>
<div class="step">
<div class="step-number"><span>2</span></div>
<div class="step-instruction">
<p><input type="button" value="Setup" onclick="showSetup()" id="button2" /> <img src="check-off.png" alt="CheckBox" class="checkicon" id="checkbox2" /></p>
</div>
</div>
</div>
<h2>To use FirstVoices Keyboards</h2>
<p>After completing these steps above, selected FirstVoices keyboards will be available on your Android device.</p>
</div>
<div id="supporters">
<p>FirstVoices gratefully acknowledges the following supporters of this project:</p>
<a href="http://www.newrelationshiptrust.ca/"><img src="nrt.svg" alt="" /></a>
<a href="http://www.fpcc.ca/"><img src="fpcc.svg" alt="" /></a>
<a href="http://www.languagegeek.com/"><img src="languagegeek.png" alt="" /></a>
</div>
<div id="donation">
<p>If you like this app please consider supporting FirstVoices by donating to the First Peoples' Cultural Foundation</p>
<p><a href="http://fpcf.ca/donate-now/">Donate</a></p>
</div>
<div id="footer">
<h2>Developed by</h2>
<img src="keyman.svg" alt="" />
<p>SIL International</p>
<p><a href="http://www.keyman.com">www.keyman.com</a></p>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,548 @@
<?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></metadata>
<defs>
<font id="nunitoregular" horiz-adv-x="1163" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="581" />
<glyph unicode=" " horiz-adv-x="581" />
<glyph unicode="&#x09;" horiz-adv-x="581" />
<glyph unicode="&#xa0;" horiz-adv-x="581" />
<glyph unicode="!" horiz-adv-x="791" d="M360 458q2 -27 17 -42.5t35 -15.5t35 15t17 43l55 934v8q0 44 -31.5 68t-74.5 24t-74.5 -24t-31.5 -68v-8zM415 -5q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
<glyph unicode="&#x22;" horiz-adv-x="669" d="M471 985q23 0 39.5 16.5t19.5 52.5l28 355q1 33 -24.5 51.5t-61.5 18.5t-62.5 -19t-24.5 -51q0 -1 5 -67.5t12 -155t11 -132.5q6 -69 58 -69zM190 985q23 0 39.5 16.5t19.5 52.5l29 355q1 33 -25 51.5t-62 18.5q-37 0 -63 -19t-24 -55q0 -46 28 -351q3 -36 19 -52.5 t39 -16.5z" />
<glyph unicode="#" horiz-adv-x="1186" d="M453 592l39 270h258l-40 -270h-257zM296 -48q26 0 47 17t25 47l65 439h258q-5 -35 -22 -153t-28.5 -197t-11.5 -80v-9q0 -31 21 -47.5t49 -16.5q26 0 46.5 16.5t25.5 47.5l65 439h143q33 0 51 20t18 48t-18 48.5t-51 20.5h-123l40 270h140q33 0 51 20t18 48t-18 48.5 t-51 20.5h-121q58 370 58 393v7q0 30 -21 46t-50 16q-27 0 -48.5 -16.5t-26.5 -47.5l-58 -398h-257q6 40 21 142t26 177l11 74v8q0 29 -21 45t-50 16q-27 0 -48.5 -16.5t-26.5 -47.5l-58 -398h-161q-33 0 -50.5 -20t-17.5 -48t18 -48.5t50 -20.5h141l-39 -270h-158 q-33 0 -51 -20t-18 -48t18.5 -48.5t50.5 -20.5h139q-6 -43 -22.5 -155t-27.5 -193l-12 -81q0 -2 -0.5 -5.5t-0.5 -4.5q0 -31 21 -47.5t50 -16.5z" />
<glyph unicode="$" horiz-adv-x="1246" d="M574 0q0 -30 18 -46t43 -16q26 0 45 16.5t19 45.5v205q149 15 237.5 91t88.5 211q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 73 64 108t172 35q29 0 58.5 -3.5t52 -8.5t49 -13t40.5 -13t36 -13.5t27 -10.5q16 -6 31 -6q17 0 30 8t20 20.5 t7 27.5q0 17 -10 33t-29 26q-110 59 -252 73v205q0 29 -19 45.5t-45 16.5q-25 0 -43 -16t-18 -46v-204q-40 -3 -77 -9.5t-71 -18t-63 -27.5t-53 -38t-40.5 -48t-25.5 -59t-9 -71t7.5 -69.5t19.5 -55t34 -43t44 -33.5t56.5 -27t64.5 -21.5t76 -20.5l177 -44q44 -11 75 -25 t51 -33t29 -42t9 -54q0 -42 -18.5 -75t-51.5 -54t-77.5 -31.5t-97.5 -10.5q-153 1 -290 86q-23 14 -46 14q-17 0 -31 -8.5t-21.5 -22t-7.5 -28.5t7.5 -29t22.5 -25q52 -38 136 -68.5t177 -38.5v-204z" />
<glyph unicode="%" horiz-adv-x="2067" d="M1515 -32q104 0 182.5 53.5t118 141.5t39.5 196q0 74 -20.5 142t-60 124t-107 89.5t-152.5 33.5q-155 0 -248 -111.5t-93 -277.5q0 -170 91.5 -280.5t249.5 -110.5zM1515 82q-68 0 -112.5 41t-61.5 100.5t-17 135.5t17 135.5t61.5 100.5t112.5 41q51 0 89 -23t59.5 -63 t31.5 -87.5t10 -103.5q0 -77 -17.5 -136.5t-61.5 -100t-111 -40.5zM551 631q156 0 249 111.5t93 278.5q0 74 -20.5 142t-60.5 124.5t-107.5 90t-153.5 33.5q-156 0 -248 -112t-92 -278q0 -171 91.5 -280.5t248.5 -109.5zM551 743q-67 0 -111 41t-61.5 101t-17.5 136 t17.5 135.5t61.5 100t111 40.5q68 0 112.5 -40.5t62 -100t17.5 -135.5t-17.5 -136t-62 -101t-112.5 -41zM609 -70q33 0 54 38l779 1374q13 26 13 42q0 24 -17 41.5t-40 17.5q-36 0 -58 -39l-781 -1382q-12 -21 -12 -35q0 -24 19 -40.5t43 -16.5z" />
<glyph unicode="&#x26;" horiz-adv-x="1523" d="M610 953q-155 157 -155 274q0 71 51.5 106t126.5 35q70 0 121.5 -37t51.5 -104q0 -28 -10 -56t-21 -48.5t-36.5 -48t-39 -41t-46.5 -42.5t-43 -38zM647 123q-92 0 -171 35t-130 106.5t-51 165.5q0 164 281 314l425 -455q-156 -166 -354 -166zM989 1235q0 68 -30 121.5 t-79.5 85.5t-108 48.5t-120.5 16.5q-105 0 -190 -30t-139.5 -95t-54.5 -155q0 -97 51.5 -180.5t144.5 -182.5q-80 -43 -138 -84t-113.5 -97t-84.5 -126t-29 -152q0 -204 151 -318.5t403 -114.5q142 0 251 53t202 156l149 -161q26 -30 59 -30q36 0 67.5 30.5t31.5 67.5 q0 24 -25 53l-156 167q81 134 121.5 290.5t40.5 256.5q0 35 -25.5 55.5t-59.5 20.5q-31 0 -53.5 -16.5t-26.5 -49.5q-4 -106 -35.5 -221t-80.5 -216l-391 416q59 44 101.5 81.5t83.5 86.5t62 105.5t21 117.5z" />
<glyph unicode="'" horiz-adv-x="593" d="M295 985q55 0 60 58l28 366q0 33 -25 51.5t-61 18.5t-62 -18.5t-26 -51.5q0 -1 5.5 -70.5t12.5 -161t11 -134.5q4 -58 57 -58z" />
<glyph unicode="(" horiz-adv-x="606" d="M430 -225q29 0 49.5 19t20.5 49q0 14 -8 36q-147 406 -147 751q0 349 149 758q7 17 7 35q0 30 -21 50t-50 20q-51 0 -76 -63q-95 -230 -147.5 -422.5t-52.5 -378.5q0 -189 53.5 -381.5t150.5 -421.5q23 -51 72 -51z" />
<glyph unicode=")" horiz-adv-x="606" d="M177 -226q49 0 73 52q97 228 150.5 421t53.5 381q0 187 -52.5 379.5t-147.5 422.5q-28 62 -75 62q-29 0 -50.5 -20t-21.5 -49q0 -16 8 -35q148 -412 148 -758q0 -351 -147 -751q-8 -21 -8 -37q0 -29 20.5 -48.5t48.5 -19.5z" />
<glyph unicode="*" horiz-adv-x="1084" d="M430 779l111 201l112 -201q19 -36 53 -36q25 0 45.5 20t20.5 47q0 18 -10 35l-117 191l236 -8q31 0 48 18.5t17 44.5t-17 44.5t-48 18.5l-235 -9l121 194q9 17 9 33q0 27 -19 47t-45 20q-35 0 -58 -37l-113 -205l-114 206q-20 35 -54 35q-26 0 -46.5 -19.5t-20.5 -46.5 q0 -18 10 -35l119 -192l-231 9q-31 0 -48.5 -19t-17.5 -44q0 -26 17.5 -44.5t48.5 -18.5l234 8l-120 -193q-10 -16 -10 -34q0 -27 20.5 -46.5t46.5 -19.5q34 0 55 36z" />
<glyph unicode="+" horiz-adv-x="1333" d="M666 4q32 0 53 22.5t21 53.5v346h361q33 0 56 20.5t23 51.5q0 32 -23.5 51.5t-55.5 19.5h-361v349q0 33 -21 55t-53 22q-33 0 -53.5 -22.5t-20.5 -54.5v-349h-360q-34 0 -56.5 -19.5t-22.5 -51.5q0 -31 23.5 -51.5t55.5 -20.5h360v-346q0 -33 20.5 -54.5t53.5 -21.5z" />
<glyph unicode="," horiz-adv-x="593" d="M154 -335h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="-" horiz-adv-x="683" d="M119 459h445q35 0 57.5 19t22.5 49q0 32 -22 51.5t-58 19.5h-445q-36 0 -58 -19.5t-22 -51.5q0 -30 22.5 -49t57.5 -19z" />
<glyph unicode="." horiz-adv-x="593" d="M296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
<glyph unicode="/" horiz-adv-x="747" d="M131 -166q51 0 70 52l484 1451q5 18 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -52l-480 -1452q-5 -18 -5 -28q0 -31 22 -50t52 -19z" />
<glyph unicode="0" horiz-adv-x="1186" d="M593 -22q115 0 204 41t144.5 108.5t91 164.5t49 199t13.5 222q0 737 -502 737q-503 0 -503 -737q0 -121 14 -223t49.5 -199t91 -164.5t144.5 -108t204 -40.5zM593 140q-55 0 -99.5 19.5t-74.5 50.5t-52.5 78t-35.5 95t-20.5 108.5t-10 111.5t-2.5 110q0 62 2.5 114.5 t10.5 113.5t20.5 109t35.5 94t53 76.5t74 49t99 18.5t99 -18.5t74.5 -49.5t53 -77t35.5 -94t21 -108.5t10.5 -113t2.5 -114.5q0 -59 -2.5 -109.5t-10 -111t-20.5 -108.5t-35.5 -95t-53 -78.5t-75 -51t-99.5 -19.5z" />
<glyph unicode="1" horiz-adv-x="1175" d="M658 0q41 0 71 25t30 70l-1 1236q0 47 -27.5 72.5t-67.5 25.5q-33 0 -55 -15l-343 -214q-34 -23 -34 -58q0 -30 21.5 -52t51.5 -22q20 0 39 11l216 139v-1123q0 -45 29.5 -70t69.5 -25z" />
<glyph unicode="2" horiz-adv-x="1179" d="M1043 1038q0 168 -124.5 285t-312.5 117q-132 0 -222.5 -31.5t-189.5 -91.5q-39 -24 -39 -62q0 -32 24.5 -57.5t55.5 -25.5q15 0 29 7q9 5 55.5 32.5t70 37.5t80 22t122.5 12q111 0 187.5 -72.5t76.5 -190.5q0 -70 -38 -139.5t-119 -152.5l-520 -527q-47 -47 -47 -98 q0 -44 36 -73.5t95 -29.5h688q37 0 58 22.5t21 53.5t-21 53.5t-58 22.5h-602l457 445q127 117 182 221t55 220z" />
<glyph unicode="3" horiz-adv-x="1175" d="M558 -22q98 0 183.5 23.5t155 70.5t110 126t40.5 180q0 140 -74 238t-202 130q109 36 175.5 116.5t66.5 200.5q0 126 -64 215.5t-167 130.5t-234 41q-102 0 -208.5 -28.5t-153.5 -57.5q-33 -19 -33 -58q0 -34 23 -62.5t53 -28.5q14 0 24 5q136 68 292 68q112 0 189 -60 t77 -169q0 -121 -84.5 -184.5t-224.5 -63.5h-65q-34 0 -52.5 -22t-18.5 -53q0 -30 18.5 -51t52.5 -21h73q147 0 242 -78t95 -209q0 -113 -82.5 -175t-215.5 -62q-132 0 -275 66q-15 5 -25 5q-31 0 -54 -25t-23 -58q0 -48 52 -75q142 -75 334 -75z" />
<glyph unicode="4" horiz-adv-x="1175" d="M265 456l478 768v-768h-478zM841 -1q38 0 67 24t29 66v221h146q35 0 54 21.5t19 51.5t-19 51.5t-54 21.5h-145v834q0 69 -40 104t-100 35q-102 0 -163 -95l-546 -858q-19 -29 -19 -62q0 -42 28.5 -73t74.5 -31h570v-221q0 -42 30 -66t68 -24z" />
<glyph unicode="5" horiz-adv-x="1175" d="M607 -22q214 0 349.5 127t135.5 337q0 202 -120 329.5t-320 127.5q-60 0 -114.5 -12t-89 -28.5t-60 -33.5t-36.5 -29l-12 -12l1 483h593q36 0 55 22t19 53t-19.5 53.5t-54.5 22.5h-656q-97 0 -97 -90v-653q0 -30 41 -51.5t82 -21.5q28 0 39 12q46 56 124.5 92.5 t158.5 36.5q124 0 199 -81.5t75 -214.5q0 -145 -76 -226t-224 -81q-180 0 -318 120q-16 13 -35 13q-31 0 -58 -29.5t-27 -62.5q0 -26 20 -43q91 -80 192 -120t233 -40z" />
<glyph unicode="6" horiz-adv-x="1175" d="M623 762q138 0 207.5 -88t69.5 -226q0 -143 -77 -227.5t-220 -84.5q-139 0 -216 88.5t-77 220.5q0 145 82 231t231 86zM613 -22q220 0 351 133t131 339q0 202 -123.5 328t-329.5 127q-130 0 -226.5 -62.5t-119.5 -143.5q0 77 3.5 138.5t14 124.5t28 110t46 89t67 69 t92.5 42.5t121 15.5q122 0 252 -60q14 -6 25 -6q30 0 51.5 28.5t21.5 62.5q0 45 -37 63q-151 74 -309 74q-106 0 -192 -26.5t-145.5 -71t-105 -110.5t-71.5 -135t-42.5 -155t-22 -161.5t-5.5 -162.5q0 -106 15.5 -197.5t53.5 -176.5t96.5 -145t150 -95.5t209.5 -35.5z" />
<glyph unicode="7" horiz-adv-x="1175" d="M437 0q62 0 86 56l512 1185q18 42 18 86q0 43 -29 68.5t-83 25.5h-766q-39 0 -60 -24t-21 -56q0 -33 21 -56.5t60 -23.5h659l-490 -1125q-10 -25 -10 -43q0 -40 31 -66.5t72 -26.5z" />
<glyph unicode="8" horiz-adv-x="1175" d="M588 832q-130 0 -205 61.5t-75 178.5q0 61 23 107.5t63.5 73t89 39.5t104.5 13q120 0 200 -57t80 -176q0 -117 -74.5 -178.5t-205.5 -61.5zM588 130q-83 0 -147.5 25t-105.5 83t-41 143q0 131 83.5 201.5t210.5 70.5q126 0 209 -70.5t83 -201.5q0 -126 -82 -188.5 t-210 -62.5zM587 -22q142 0 252.5 45.5t176.5 138.5t66 220q0 137 -71 228.5t-211 129.5q125 30 192 116t67 212q0 92 -37 166t-101.5 120.5t-149.5 71t-184 24.5q-132 0 -237 -42t-169 -130t-64 -210q0 -124 65.5 -210.5t195.5 -117.5q-136 -28 -210 -125.5t-74 -232.5 q0 -127 65.5 -220t176 -138.5t251.5 -45.5z" />
<glyph unicode="9" horiz-adv-x="1175" d="M555 666q-138 0 -207.5 88t-69.5 226q0 143 76.5 227.5t220.5 84.5q139 0 215.5 -88.5t76.5 -220.5q0 -145 -81.5 -231t-230.5 -86zM506 -22q106 0 192 26.5t145.5 71t105 110.5t71.5 135t42.5 155t22 161.5t5.5 162.5q0 106 -15.5 197.5t-53.5 176.5t-96.5 145 t-150.5 95.5t-210 35.5q-219 0 -350 -132.5t-131 -339.5q0 -202 123 -328t329 -127q130 0 226.5 62.5t120.5 143.5q0 -77 -3.5 -138.5t-14 -124.5t-28 -110t-46 -89t-67 -69t-92.5 -42.5t-121 -15.5q-123 0 -252 60q-14 6 -25 6q-30 0 -51.5 -28.5t-21.5 -62.5q0 -45 37 -63 q151 -74 309 -74z" />
<glyph unicode=":" horiz-adv-x="593" d="M296 794q53 0 84.5 31t31.5 75t-32 75.5t-84 31.5t-84 -31.5t-32 -75.5q0 -45 31.5 -75.5t84.5 -30.5zM296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
<glyph unicode=";" horiz-adv-x="593" d="M323 813q53 0 85 31.5t32 76.5q0 43 -32.5 74t-84.5 31q-53 0 -84.5 -31t-31.5 -74q0 -45 32 -76.5t84 -31.5zM162 -222h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x3c;" horiz-adv-x="1333" d="M1079 31q8 -4 18 -4q24 0 41.5 24.5t17.5 53.5q0 36 -27 47l-781 345l779 326q34 15 34 49q0 28 -20.5 52t-46.5 24q-11 0 -19 -4l-870 -369q-57 -24 -57 -78q0 -25 14 -46t39 -32z" />
<glyph unicode="=" horiz-adv-x="1333" d="M228 625h871q33 0 56.5 20.5t23.5 51.5q0 33 -23.5 53t-56.5 20h-866q-34 0 -57 -20t-23 -53q0 -29 22 -50.5t53 -21.5zM228 226h872q33 0 56 20t23 51q0 33 -22.5 53t-54.5 20h-869q-34 0 -57 -20.5t-23 -52.5q0 -29 22 -50t53 -21z" />
<glyph unicode="&#x3e;" horiz-adv-x="1333" d="M230 31l879 388q25 11 39 32.5t14 45.5q0 53 -58 78l-870 369q-8 4 -19 4q-26 0 -46.5 -23.5t-20.5 -51.5q0 -35 35 -50l778 -326l-781 -345q-26 -11 -26 -46q0 -28 17.5 -53.5t41.5 -25.5q9 0 17 4z" />
<glyph unicode="?" horiz-adv-x="1036" d="M425 -18q52 0 84 32t32 77q0 43 -32 74t-84 31q-53 0 -84.5 -31t-31.5 -74q0 -45 31.5 -77t84.5 -32zM333 447q1 -37 27.5 -58t62.5 -21q35 0 60 20t25 55l-1 100q0 32 21.5 64t56 61.5t76.5 61t84 68.5t77 78t56.5 95.5t21.5 115.5q0 94 -32.5 164.5t-90 112t-130 61.5 t-159.5 20q-134 0 -288 -41q-34 -8 -50.5 -30.5t-16.5 -49.5q0 -34 19.5 -58t51.5 -24q20 0 116 17.5t123 17.5q53 0 94 -8.5t79 -29.5t58.5 -63t20.5 -103q0 -48 -19.5 -92t-51 -77.5t-70 -65.5t-76.5 -62t-70 -61t-52.5 -68.5t-21.5 -78.5z" />
<glyph unicode="@" horiz-adv-x="1638" d="M710 430q-80 0 -121 55t-41 146q0 100 39.5 197.5t116 164.5t168.5 67q35 0 67.5 -13.5t53 -33t36 -39t22.5 -32.5l7 -14l-91 -311q-24 -81 -100 -134t-157 -53zM808 -26q154 0 321 51q37 10 37 51q0 23 -14.5 39t-40.5 16q-15 0 -26 -4q-130 -40 -260 -40 q-129 0 -241.5 41t-199.5 118.5t-137.5 201t-50.5 278.5q0 123 40.5 232t110 187.5t159 135.5t189 85t199.5 28q105 0 197.5 -32t165.5 -94.5t115.5 -165.5t42.5 -234q0 -110 -40.5 -213t-107.5 -167t-141 -64q-54 0 -54 51q0 35 23 109l148 476q4 11 4 25q0 26 -19 41.5 t-45 15.5t-47.5 -14t-29.5 -40l-9 -29q-31 63 -93.5 97t-137.5 34q-85 0 -162.5 -33.5t-134.5 -90t-99.5 -129.5t-64 -155t-21.5 -163q0 -134 79 -224.5t212 -90.5q155 0 254 116q12 -56 60 -85.5t106 -29.5q79 0 160 44t147 117.5t108 181.5t42 225q0 127 -36 233.5 t-98 180.5t-146.5 125.5t-180 75.5t-199.5 24q-122 0 -241.5 -32t-226.5 -98t-189.5 -156.5t-130.5 -217t-48 -271.5q0 -234 99 -408.5t268.5 -264.5t384.5 -90z" />
<glyph unicode="A" horiz-adv-x="1428" d="M1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="B" horiz-adv-x="1318" d="M377 813v461h294q55 0 95.5 -4.5t81.5 -17.5t67 -36t42.5 -62t16.5 -93q0 -132 -77.5 -190t-246.5 -58h-273zM377 157v501h251q204 0 298 -53t94 -197q0 -146 -75.5 -198.5t-244.5 -52.5h-323zM276 0h465q122 0 218 32t153.5 86.5t87.5 122t30 142.5q0 159 -92.5 250.5 t-255.5 109.5v4q139 18 213.5 108t74.5 218q0 169 -120 262.5t-371 93.5h-403q-41 0 -70 -28t-29 -69v-1235q0 -40 29 -68.5t70 -28.5z" />
<glyph unicode="C" horiz-adv-x="1354" d="M784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5 q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
<glyph unicode="D" horiz-adv-x="1509" d="M379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="E" horiz-adv-x="1241" d="M277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="F" horiz-adv-x="1151" d="M277 0q42 0 72 25t30 72v564h568q38 0 59.5 23.5t21.5 56.5q0 32 -21.5 55t-59.5 23h-568v449h595q38 0 59 24t21 57t-21 56.5t-59 23.5h-701q-40 0 -68.5 -27.5t-28.5 -70.5v-1234q0 -46 30 -71.5t71 -25.5z" />
<glyph unicode="G" horiz-adv-x="1460" d="M807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42 q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="H" horiz-adv-x="1481" d="M277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="I" horiz-adv-x="605" d="M302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="J" horiz-adv-x="1018" d="M427 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
<glyph unicode="K" horiz-adv-x="1271" d="M276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
<glyph unicode="L" horiz-adv-x="1105" d="M279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
<glyph unicode="M" horiz-adv-x="1906" d="M951 37q35 0 68 23t52 66l466 1046v-1089q0 -34 27.5 -53t65.5 -19q37 0 65 19t28 53v1184q0 58 -46 97t-107 39q-50 0 -94.5 -29.5t-70.5 -89.5l-454 -1008l-454 1008q-27 60 -71.5 89.5t-94.5 29.5q-61 0 -106.5 -39t-45.5 -97v-1184q0 -34 28 -53t65 -19q38 0 65.5 19 t27.5 53v1089l466 -1046q19 -43 52 -66t68 -23z" />
<glyph unicode="N" horiz-adv-x="1515" d="M268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="O" horiz-adv-x="1599" d="M800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="P" horiz-adv-x="1234" d="M379 769v500h315q165 0 239 -56t74 -191q0 -138 -78.5 -195.5t-245.5 -57.5h-304zM278 0q42 0 71.5 25t29.5 71v519h305q119 0 211 21t163.5 66.5t109.5 126t38 193.5q0 217 -129 312t-375 95h-423q-43 0 -72.5 -29t-29.5 -71v-1233q0 -45 30 -70.5t71 -25.5z" />
<glyph unicode="Q" horiz-adv-x="1599" d="M1304 -221q30 0 53 23.5t23 56.5q0 47 -47 70l-328 148l-280 -45l544 -245q16 -8 35 -8zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5 q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="R" horiz-adv-x="1365" d="M379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5 q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="S" horiz-adv-x="1286" d="M636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5 q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="T" horiz-adv-x="1169" d="M587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
<glyph unicode="U" horiz-adv-x="1496" d="M748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837 q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="V" horiz-adv-x="1310" d="M661 -8q118 0 170 141l433 1178q6 17 6 32q0 38 -31.5 63.5t-71.5 25.5q-67 0 -90 -64l-416 -1156l-415 1156q-23 64 -90 64q-40 0 -72 -25.5t-32 -63.5q0 -15 6 -32l433 -1178q52 -141 170 -141z" />
<glyph unicode="W" horiz-adv-x="2110" d="M1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5 t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
<glyph unicode="X" horiz-adv-x="1287" d="M1034 39q28 -39 75 -39q39 0 71 26.5t32 63.5q0 26 -18 51l-427 583l430 577q18 24 18 51q0 32 -24.5 55t-58.5 23q-48 0 -83 -46l-387 -517l-381 519q-32 43 -77 43q-40 0 -71.5 -30t-31.5 -67q0 -25 15 -44l418 -569l-444 -581q-20 -26 -20 -55q0 -34 26.5 -59.5 t61.5 -25.5q46 0 80 45l399 536z" />
<glyph unicode="Y" horiz-adv-x="1285" d="M541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="Z" horiz-adv-x="1174" d="M208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
<glyph unicode="[" horiz-adv-x="634" d="M263 -206h194q33 1 51 21.5t18 48.5t-18 47.5t-51 19.5h-105v1362h105q33 0 51 20.5t18 48.5t-18 47.5t-51 19.5h-194q-39 0 -65 -26t-26 -62v-1458q0 -37 26 -63t65 -26z" />
<glyph unicode="\" horiz-adv-x="599" d="M542 -101q30 0 51.5 19t21.5 50q0 15 -4 28l-480 1451q-19 53 -73 53q-30 0 -52.5 -19t-22.5 -50q0 -9 5 -29l484 -1451q17 -52 70 -52z" />
<glyph unicode="]" horiz-adv-x="634" d="M175 -206h195q38 0 64.5 26t26.5 63v1458q0 36 -26.5 62t-64.5 26h-195q-33 0 -50.5 -19.5t-17.5 -47.5t18 -48.5t50 -20.5h106v-1362h-106q-32 0 -50 -20t-18 -47q0 -28 18 -48.5t50 -21.5z" />
<glyph unicode="^" horiz-adv-x="1333" d="M258 498q47 0 69 51l340 683l338 -683q24 -50 70 -50q30 0 52.5 20t22.5 49q0 14 -10 36l-378 738q-34 66 -95 66q-59 0 -95 -66l-379 -738q-10 -22 -10 -37q0 -30 22.5 -49.5t52.5 -19.5z" />
<glyph unicode="_" horiz-adv-x="1024" d="M56 -254h908q28 0 43.5 18t15.5 42q0 25 -15.5 43t-43.5 18h-908q-26 0 -41.5 -18t-15.5 -43q0 -24 15.5 -42t41.5 -18z" />
<glyph unicode="`" horiz-adv-x="569" d="M461 1194q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="a" horiz-adv-x="1048" d="M440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46 q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="b" horiz-adv-x="1190" d="M644 106q-310 0 -310 396q0 76 17 143t51.5 123t94 89t138.5 33q78 0 136.5 -35t90.5 -93.5t47.5 -124.5t15.5 -138q0 -70 -14 -134.5t-44 -124.5t-87.5 -96.5t-135.5 -37.5zM676 -18q104 0 187.5 42.5t135.5 115t79.5 165.5t27.5 198q0 107 -30 199.5t-85.5 162 t-141 109t-189.5 39.5q-111 0 -196.5 -48t-130.5 -139v519q0 39 -27 61.5t-64 22.5q-36 0 -63 -22.5t-27 -61.5v-1258q0 -40 27 -62.5t63 -22.5q45 0 68 22.5t23 61.5v89q48 -96 137.5 -144.5t205.5 -48.5z" />
<glyph unicode="c" horiz-adv-x="959" d="M557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="d" horiz-adv-x="1190" d="M546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258 q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
<glyph unicode="e" horiz-adv-x="1119" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="f" horiz-adv-x="704" d="M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph unicode="g" horiz-adv-x="1178" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72z" />
<glyph unicode="h" horiz-adv-x="1158" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23z" />
<glyph unicode="i" horiz-adv-x="491" d="M253 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM252 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="j" horiz-adv-x="502" d="M256 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM20 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
<glyph unicode="k" horiz-adv-x="999" d="M241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="l" horiz-adv-x="498" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="m" horiz-adv-x="1846" d="M241 0q38 0 65.5 22.5t27.5 62.5v488q0 150 78 233.5t208 83.5q218 0 218 -276v-528q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v482q0 158 81 240t206 82q105 0 162 -63.5t57 -187.5v-554q0 -40 26 -62.5t63 -22.5t64.5 22.5t27.5 62.5v547q0 98 -28.5 173t-79 119.5 t-114.5 66.5t-140 22q-132 0 -224 -58.5t-134 -174.5q-31 112 -118 172.5t-211 60.5q-109 0 -194 -49.5t-128 -141.5v93q0 37 -27.5 58t-63.5 21t-63.5 -22.5t-27.5 -61.5v-825q0 -40 26 -62.5t63 -22.5z" />
<glyph unicode="n" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5z" />
<glyph unicode="o" horiz-adv-x="1158" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
<glyph unicode="p" horiz-adv-x="1190" d="M635 106q-79 0 -138.5 33t-94 89t-51.5 122.5t-17 142.5q0 397 310 397q63 -1 112.5 -26t80.5 -64t51.5 -92t28.5 -105t8 -107q0 -72 -15.5 -138t-47.5 -124.5t-90.5 -93t-136.5 -34.5zM242 -380q37 0 64 22.5t27 61.5v465q45 -90 130.5 -138.5t196.5 -48.5 q104 0 189.5 39.5t141 109t85.5 162t30 199.5q0 105 -27.5 198t-79.5 165.5t-135.5 115t-187.5 42.5q-116 0 -205.5 -48.5t-137.5 -144.5v89q0 39 -23 61.5t-68 22.5q-37 0 -63.5 -22t-26.5 -62v-1205q0 -39 27 -61.5t63 -22.5z" />
<glyph unicode="q" horiz-adv-x="1190" d="M555 106q-78 0 -136.5 34.5t-90.5 93t-47.5 124.5t-15.5 138q0 55 8 107t28.5 105t51.5 92t80.5 64t112.5 26q310 0 310 -397q0 -76 -17 -142.5t-51.5 -122.5t-94 -89t-138.5 -33zM948 -380q36 0 63 22.5t27 61.5v1205q0 40 -26.5 62t-63.5 22q-45 0 -68 -22.5t-23 -61.5 v-89q-48 96 -137.5 144.5t-205.5 48.5q-104 0 -187.5 -42.5t-135.5 -115t-79.5 -165.5t-27.5 -198q0 -107 30 -199.5t85.5 -162t141 -109t189.5 -39.5q111 0 196.5 48.5t130.5 138.5v-465q0 -39 27 -61.5t64 -22.5z" />
<glyph unicode="r" horiz-adv-x="728" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
<glyph unicode="s" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54z" />
<glyph unicode="t" horiz-adv-x="740" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5z" />
<glyph unicode="u" horiz-adv-x="1161" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5z" />
<glyph unicode="v" horiz-adv-x="1039" d="M524 -1q57 0 89.5 30.5t63.5 104.5l312 747q6 13 6 28q0 34 -28.5 59.5t-63.5 25.5q-52 0 -74 -57l-305 -753l-306 753q-22 57 -74 57q-35 0 -63.5 -25.5t-28.5 -59.5q0 -15 6 -28l312 -747q31 -74 63.5 -104.5t90.5 -30.5z" />
<glyph unicode="w" horiz-adv-x="1700" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110z" />
<glyph unicode="x" horiz-adv-x="1045" d="M870 0q36 0 62.5 25.5t26.5 59.5q0 25 -18 48l-307 381l287 359q17 23 17 45q0 30 -24.5 53t-56.5 23q-38 0 -63 -34l-259 -324l-258 320q-31 38 -71 38q-37 0 -63 -26t-26 -61q0 -26 18 -48l282 -349l-315 -388q-16 -19 -16 -42q0 -32 25.5 -56t59.5 -24q35 0 61 33 l283 356l284 -352q28 -37 71 -37z" />
<glyph unicode="y" horiz-adv-x="1042" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56z" />
<glyph unicode="z" horiz-adv-x="941" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5z" />
<glyph unicode="{" horiz-adv-x="636" d="M430 -213h123q31 0 47.5 20t17.5 49q0 30 -17 50.5t-47 20.5h-58q-46 0 -65.5 39.5t-19.5 119.5v272q0 65 -18 118t-46 84.5t-48.5 47.5t-36.5 23q57 26 87 63q62 75 62 216v270q0 80 19.5 119.5t64.5 39.5h56q32 0 49 20t17 50q0 31 -17.5 50.5t-48.5 19.5h-121 q-81 0 -140.5 -66.5t-59.5 -164.5v-301q0 -118 -29.5 -176t-112.5 -66q-36 -1 -55 -22.5t-19 -52.5t20 -52t54 -22q84 -8 113 -65t29 -174v-300q0 -100 61 -165t139 -65z" />
<glyph unicode="|" horiz-adv-x="455" d="M227 -422q30 0 52 20t22 55v1754q0 35 -21.5 54t-51.5 19t-52 -19t-22 -54v-1754q0 -35 21.5 -55t51.5 -20z" />
<glyph unicode="}" horiz-adv-x="636" d="M81 -213h122q80 0 140.5 66.5t60.5 165.5v298q0 118 29.5 175t114.5 65q33 0 52.5 22t19.5 51q0 32 -20 53.5t-54 21.5q-85 9 -113.5 66.5t-28.5 175.5v303q0 99 -61.5 164t-139.5 65h-122q-31 0 -48 -20.5t-17 -49.5q0 -30 18 -50t49 -20h56q84 0 84 -157v-276 q0 -53 12.5 -97.5t33.5 -74.5t39 -49t39 -35t24 -19q-17 -8 -37 -24t-47.5 -47.5t-45.5 -84.5t-18 -117v-276q0 -155 -83 -155h-59q-31 0 -48 -20.5t-17 -49.5q0 -30 17.5 -50t47.5 -20z" />
<glyph unicode="~" horiz-adv-x="1333" d="M770 1174q128 0 171 127q2 5 2 15q0 21 -15.5 36t-35.5 15q-28 0 -47 -30q-23 -38 -65 -38q-29 0 -115 35.5t-138 35.5q-122 0 -171 -122q-5 -13 -5 -22q0 -20 15.5 -33t36.5 -13q30 0 45 25q27 43 76 43q33 0 117.5 -37t128.5 -37z" />
<glyph unicode="&#xa1;" horiz-adv-x="791" d="M382 651q2 27 17 42.5t35 15.5t35 -15t17 -43l55 -934v-8q0 -44 -31.5 -68t-74.5 -24t-74.5 24t-31.5 68v8zM437 1114q52 0 84 -32t32 -76q0 -43 -32.5 -74.5t-83.5 -31.5q-52 0 -84 32t-32 74q0 44 32 76t84 32z" />
<glyph unicode="&#xa2;" horiz-adv-x="1035" d="M501 956l108 1v256q0 26 -15.5 40.5t-37.5 14.5t-38.5 -14.5t-16.5 -40.5v-257zM556 -268q22 0 37.5 14.5t15.5 40.5v256l-108 1v-257q0 -26 16.5 -40.5t38.5 -14.5zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64 q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="&#xa3;" horiz-adv-x="1366" d="M228 -1h854q20 0 31 23t11 54t-11 53.5t-31 22.5h-572v596h361q19 0 29.5 19.5t10.5 46.5t-10.5 47.5t-28.5 20.5h-362v117q0 73 4.5 118t17.5 84t38.5 58.5t66.5 30.5t103 11q25 0 48.5 -1.5t51.5 -5.5t43 -6t49.5 -8t43.5 -8h4q21 0 34.5 30.5t13.5 62.5t-13 36 q-151 44 -297 44q-186 0 -290 -87.5t-104 -275.5v-200h-131q-18 0 -27.5 -18.5t-9.5 -45.5q0 -28 10 -49t27 -21h131v-597h-99q-18 0 -28.5 -22t-10.5 -52q0 -32 11 -55t31 -23z" />
<glyph unicode="&#xa4;" horiz-adv-x="1175" d="M592 290q-142 0 -222 93t-80 220q0 126 80 220t222 94q96 0 167 -47t103.5 -116.5t32.5 -150.5q0 -127 -80 -220t-223 -93zM206 159q21 0 38 16l86 87q109 -77 262 -77q157 0 263 78l88 -88q16 -16 35 -16q22 0 38.5 16t16.5 38t-15 38l-87 84q91 115 91 268 q0 150 -88 263l84 83q15 15 15 37t-16 38t-37 16t-38 -16l-83 -84q-109 82 -267 82q-154 0 -266 -82l-82 84q-17 16 -38 16t-37 -16t-16 -37q0 -22 16 -38l82 -83q-88 -112 -88 -263q0 -155 91 -268l-85 -84q-16 -17 -16 -38q0 -22 16 -38t37 -16z" />
<glyph unicode="&#xa5;" horiz-adv-x="1200" d="M200 543h864q29 0 45 18t16 44q0 25 -16 44t-45 19h-864q-29 0 -45 -18.5t-16 -42.5q0 -26 16 -45t45 -19zM200 298h864q29 0 45 18t16 44q0 25 -16 44t-45 19h-864q-29 0 -45 -18.5t-16 -42.5q0 -26 16 -45t45 -19zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5 t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#xa6;" horiz-adv-x="455" d="M221 808q35 0 53.5 24t18.5 61v549q0 39 -19 62t-53 23q-32 0 -52.5 -19.5t-20.5 -53.5v-561q0 -40 19.5 -62.5t53.5 -22.5zM219 -104q36 0 54.5 24t18.5 62v539q0 40 -19 63t-53 23q-31 0 -52 -20t-21 -52v-553q0 -40 19 -63t53 -23z" />
<glyph unicode="&#xa7;" horiz-adv-x="1186" d="M599 586q-6 2 -30.5 12.5t-34.5 15t-33 15.5t-34 18.5t-27.5 20.5t-24.5 24.5t-14 27t-6 32.5q0 20 3.5 37t15 32.5t18.5 25.5t27.5 25t28 20t34.5 21.5t33 20.5q19 -9 56 -23.5t62 -26t52.5 -28t41.5 -39t14 -50.5q0 -20 -5 -37t-17.5 -32.5t-22.5 -26.5t-32 -25 t-32.5 -20.5t-37.5 -21t-35 -18.5zM667 1374q36 0 105 -16.5t83 -16.5q27 0 47.5 21t20.5 49q0 47 -48 61q-143 39 -240 39q-81 0 -148.5 -16t-121.5 -48.5t-84.5 -88.5t-30.5 -130q0 -36 11 -67.5t24 -52.5t43 -46.5t49.5 -38.5t61.5 -40q-91 -35 -156 -102.5t-65 -149.5 q0 -64 29.5 -113t76.5 -78t104 -52t114.5 -41.5t104.5 -38.5t76.5 -51t29.5 -72q0 -91 -71.5 -135.5t-169.5 -44.5q-128 0 -218 33q-17 5 -27 5q-29 0 -46 -20.5t-17 -48.5q0 -45 48 -61q134 -45 295 -45q112 0 202 33t147 105.5t57 174.5q0 95 -57 154.5t-158 99.5 q93 39 155.5 106t62.5 152q0 56 -28 100t-72.5 73t-98 53t-107.5 45t-98.5 43t-72.5 54t-28 72t20 69t53.5 44t68.5 21.5t74 6.5z" />
<glyph unicode="&#xa8;" horiz-adv-x="569" d="M480 1203q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM90 1203q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#xa9;" horiz-adv-x="1666" d="M842 119q188 0 348 89.5t253 243.5t93 335q0 136 -55 259.5t-148 213t-221.5 142.5t-269.5 53q-142 0 -271.5 -53t-223 -142.5t-149 -213t-55.5 -259.5q0 -181 93.5 -335t254.5 -243.5t351 -89.5zM842 235q-163 0 -294.5 71t-205.5 197t-74 284q0 238 163 394.5 t411 156.5q162 0 292.5 -71t203.5 -197t73 -283q0 -240 -161 -396t-408 -156zM852 395q45 0 102.5 11.5t106.5 38t49 60.5q0 19 -12.5 33t-29.5 14q-10 0 -20 -5q-93 -49 -176 -49q-117 0 -198.5 78.5t-81.5 217.5q0 142 76 213.5t194 71.5q99 0 193 -48q13 -5 19 -5 q20 0 33 16t13 37q0 32 -53.5 57t-113.5 36t-103 11q-105 0 -191 -42.5t-140.5 -133t-54.5 -215.5t56 -217t142.5 -136t189.5 -44z" />
<glyph unicode="&#xaa;" horiz-adv-x="1053" d="M432 802q-71 2 -115.5 37.5t-44.5 103.5q0 43 21.5 73t53.5 46.5t86.5 25.5t101 11t115.5 2v-68q-5 -111 -65 -170t-153 -61zM399 706q82 0 152 39t101 107v-68q0 -27 18.5 -42t43.5 -15q26 0 45 15.5t19 43.5l1 460q0 135 -77.5 200t-216.5 65q-194 0 -286 -100 q-14 -16 -14 -31q0 -19 13 -32.5t33 -13.5q17 0 26 7q38 22 63 33.5t68 21t92 9.5q170 0 170 -149v-63q-41 3 -85 3q-427 0 -427 -257q0 -108 74 -170.5t187 -62.5z" />
<glyph unicode="&#xab;" horiz-adv-x="1169" d="M876 100q27 0 46 17.5t19 44.5q0 11 -6 27l-165 353l164 349q7 18 7 31q0 26 -19 43.5t-46 17.5q-46 0 -75 -51l-219 -390l216 -387q30 -55 76 -55h2zM474 100q27 0 45.5 17t18.5 44q0 12 -6 28l-165 353l164 349q7 15 7 31q0 26 -18.5 43.5t-45.5 17.5q-46 0 -76 -51 l-218 -390l216 -387q31 -55 78 -55z" />
<glyph unicode="&#xac;" horiz-adv-x="1333" d="M1106 230q30 0 52 19t22 53v418q0 28 -23.5 51.5t-52.5 23.5h-882q-32 0 -49.5 -22t-17.5 -52t17.5 -51.5t49.5 -21.5h810v-346q0 -34 21.5 -53t52.5 -19z" />
<glyph unicode="&#xad;" horiz-adv-x="710" d="M119 461h469q38 0 60 18t22 48q0 32 -22 50.5t-60 18.5h-466q-38 0 -60.5 -18.5t-22.5 -50.5q0 -30 21.5 -48t58.5 -18z" />
<glyph unicode="&#xae;" horiz-adv-x="1668" d="M839 87q191 0 353.5 91t257.5 246t95 337q0 183 -95 339t-257.5 247t-353.5 91q-144 0 -275 -54t-226 -144.5t-151.5 -216t-56.5 -262.5q0 -136 56.5 -260.5t151.5 -215t226 -144.5t275 -54zM839 202q-251 0 -415 158.5t-164 400.5q0 241 164 399t415 158q164 0 296 -72 t206 -199.5t74 -285.5q0 -242 -163 -400.5t-413 -158.5zM700 826v214h192q80 0 125 -21t45 -80q0 -31 -10 -53t-24 -33.5t-39 -17.5t-45 -7.5t-53 -1.5h-191zM639 388q25 0 43 15t18 41v284h143l201 -315q16 -26 44 -26q23 0 41.5 17.5t18.5 39.5q0 14 -8 26l-180 259 q109 12 168.5 57.5t59.5 147.5q0 107 -64 157t-215 50h-252q-38 0 -57 -23t-19 -56v-618q0 -27 17 -41.5t41 -14.5z" />
<glyph unicode="&#xaf;" horiz-adv-x="569" d="M35 1264h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
<glyph unicode="&#xb0;" horiz-adv-x="819" d="M410 821q125 0 215 86t90 208t-90 208.5t-215 86.5q-127 0 -216 -86.5t-89 -208.5t89 -208t216 -86zM410 924q-86 0 -142.5 54t-56.5 137q0 82 55.5 137.5t141.5 55.5q85 0 143 -55.5t58 -137.5q0 -83 -57 -137t-142 -54z" />
<glyph unicode="&#xb1;" horiz-adv-x="1333" d="M228 0h877q34 0 54 21.5t20 49.5q0 31 -19 51.5t-55 20.5h-877q-35 0 -54 -21t-19 -51q0 -29 19 -50t54 -21zM665 219q30 0 52.5 18.5t22.5 51.5v244h365q34 0 53.5 21.5t19.5 49.5q0 30 -19 51t-54 21h-365v246q0 33 -21.5 52t-52.5 19q-30 0 -52 -19t-22 -52v-246h-364 q-35 0 -53.5 -21t-18.5 -50q0 -30 19 -51t53 -21h364v-244q0 -33 21 -51.5t52 -18.5z" />
<glyph unicode="&#xb2;" horiz-adv-x="748" d="M163 575h434q21 0 33 13.5t12 31.5q0 19 -12 33t-33 14h-373q74 63 132.5 118t128.5 132t109.5 152t39.5 139q0 96 -73.5 150t-182.5 54q-76 0 -160 -36t-84 -76q0 -17 12 -28.5t31 -11.5q15 0 32 9q83 48 159 48q60 0 103.5 -31.5t43.5 -86.5q0 -43 -34.5 -104.5 t-92.5 -127.5t-107.5 -116t-104.5 -100q-7 -7 -20.5 -20t-19.5 -19.5t-15.5 -16.5t-14.5 -16.5t-10 -15.5t-7 -16.5t-2 -15.5q0 -25 19 -40.5t57 -15.5z" />
<glyph unicode="&#xb3;" horiz-adv-x="797" d="M397 542q119 0 198.5 59.5t79.5 169.5q0 83 -46.5 140.5t-125.5 75.5q156 45 156 190q0 111 -77.5 170.5t-190.5 59.5q-77 0 -156 -24t-79 -62q0 -18 13 -32t33 -14q1 0 70 20t121 20q68 0 114 -37.5t46 -101.5q0 -71 -52 -108.5t-129 -39.5l-39 -1q-21 -1 -31.5 -13.5 t-10.5 -31.5q0 -18 11.5 -31t31.5 -13h46q78 0 132 -45t54 -120q0 -68 -44.5 -103.5t-122.5 -35.5q-84 0 -177 41q-5 2 -14 2q-18 0 -30.5 -14t-12.5 -31q0 -26 42.5 -47.5t95 -32t94.5 -10.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="569" d="M95 1202q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xb5;" horiz-adv-x="1168" d="M238 -261q38 0 65.5 24t27.5 66v213q74 -53 187 -53q102 0 191 47.5t129 132.5v-85q0 -40 26.5 -62t62.5 -22q37 0 64 22.5t27 62.5v823q0 41 -26 63t-63 22t-64 -22.5t-27 -62.5v-524q-9 -136 -89 -209t-198 -73q-93 0 -156.5 63.5t-63.5 182.5v559q0 41 -27 63.5 t-64 22.5t-63.5 -22.5t-26.5 -63.5v-1078q0 -44 25.5 -67t62.5 -23z" />
<glyph unicode="&#xb6;" horiz-adv-x="1322" d="M601 -253q32 0 55 20t23 55v1476h224v-1476q0 -35 23 -55t55 -20t55 20t23 55v1486q0 27 -3.5 45t-14 37.5t-35.5 29t-64 9.5h-367q-213 0 -332 -100.5t-119 -277.5q0 -151 117 -260t282 -109v-860q0 -35 23 -55t55 -20z" />
<glyph unicode="&#xb7;" horiz-adv-x="593" d="M282 411q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32z" />
<glyph unicode="&#xb8;" horiz-adv-x="569" d="M295 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5z" />
<glyph unicode="&#xb9;" horiz-adv-x="691" d="M426 575q21 0 37.5 13.5t16.5 38.5v705q0 28 -14.5 42.5t-35.5 14.5q-16 0 -31 -9l-200 -126q-20 -11 -20 -34q0 -16 12.5 -29.5t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5z" />
<glyph unicode="&#xba;" horiz-adv-x="1106" d="M536 717q97 0 173.5 33t122.5 89.5t70 126t24 147.5t-24 148t-70 126.5t-122.5 90t-173.5 33.5t-173 -33.5t-122 -90t-69.5 -126.5t-23.5 -148t23.5 -147.5t69.5 -126t122 -89.5t173 -33zM536 818q-61 0 -109 26.5t-75.5 70.5t-41.5 94.5t-14 103.5q0 54 14 104.5 t41.5 94t75.5 70t109 26.5q62 0 110 -26.5t75.5 -69.5t41.5 -93.5t14 -104.5t-14 -104.5t-41.5 -94.5t-75.5 -70.5t-110 -26.5z" />
<glyph unicode="&#xbb;" horiz-adv-x="1169" d="M692 100q47 0 77 55l216 387l-216 385q-32 56 -78 56q-27 0 -46 -17.5t-19 -43.5q0 -13 8 -31l164 -349l-164 -351q-8 -18 -8 -31q0 -26 19 -43t47 -17zM289 100q47 0 77 55l216 387l-216 385q-32 56 -78 56q-27 0 -46 -17.5t-19 -43.5q0 -14 8 -30l164 -350l-164 -351 q-8 -18 -8 -31q0 -26 19.5 -43t46.5 -17z" />
<glyph unicode="&#xbc;" horiz-adv-x="1568" d="M949 265l303 472v-472h-303zM521 -85q43 0 58 43l475 1398q5 15 5 24q0 26 -19 42t-44 16q-44 0 -59 -44l-473 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM396 575q22 0 38.5 13.5t16.5 38.5v705q0 28 -15 42.5t-36 14.5q-16 0 -30 -9l-201 -126q-20 -11 -20 -34 q0 -16 12.5 -29.5t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5zM1304 1q21 0 37 14t16 39v134h87q20 0 31 11.5t11 27.5t-11 27.5t-31 11.5h-87v490q0 41 -21 62t-55 21q-61 0 -94 -58l-326 -499q-12 -20 -12 -39q0 -23 16.5 -39t44.5 -16h342v-134 q0 -25 15.5 -39t36.5 -14z" />
<glyph unicode="&#xbd;" horiz-adv-x="1587" d="M518 -85q43 0 58 43l475 1398q4 12 4 24q0 26 -18.5 42t-43.5 16q-46 0 -59 -44l-473 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM396 575q22 0 38.5 13.5t16.5 38.5v705q0 28 -15 42.5t-36 14.5q-16 0 -30 -9l-201 -126q-20 -11 -20 -34q0 -16 12.5 -29.5 t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5zM993 0h434q22 0 34 13.5t12 32.5t-12.5 33t-33.5 14h-371q60 52 103 91t105.5 103.5t102 117.5t68.5 115t29 114q0 96 -73 149.5t-182 53.5q-75 0 -159.5 -36.5t-84.5 -75.5q0 -16 12 -27.5t30 -11.5q19 0 32 9 q87 48 160 48q60 0 103.5 -31t43.5 -87q0 -44 -33.5 -103.5t-96 -129.5t-104.5 -112.5t-105 -102.5l-20 -20t-19 -19.5t-16 -17t-14.5 -17t-9.5 -15.5t-7 -16.5t-2 -15.5q0 -25 18.5 -40.5t55.5 -15.5z" />
<glyph unicode="&#xbe;" horiz-adv-x="1636" d="M973 265l303 472v-472h-303zM560 -85q43 0 58 43l475 1398q4 11 4 24q0 26 -18.5 42t-43.5 16q-45 0 -60 -44l-472 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM1329 1q21 0 36.5 14t15.5 39v134h88q20 0 31 11.5t11 27.5t-11 27.5t-31 11.5h-88v490q0 41 -21 62 t-55 21q-60 0 -93 -58l-326 -499q-12 -18 -12 -39q0 -23 16.5 -39t44.5 -16h341v-134q0 -25 15.5 -39t37.5 -14zM302 549q119 0 198.5 59t79.5 170q0 83 -48 140t-127 75q6 4 28.5 18.5t32 21t28.5 21.5t28.5 27t21 28.5t16 35.5t4.5 40q0 74 -39 127t-99 77.5t-133 24.5 q-77 0 -154.5 -24.5t-77.5 -62.5q0 -19 12.5 -32t33.5 -13q1 0 70.5 19t119.5 19q68 0 114.5 -37t46.5 -100q0 -71 -52 -108.5t-129 -39.5l-38 -1q-21 -1 -32 -14t-11 -31t11 -30.5t32 -12.5h45q78 0 132.5 -45.5t54.5 -120.5q0 -67 -44.5 -102.5t-122.5 -35.5 q-77 0 -176 38q-10 2 -15 2q-19 0 -31 -13t-12 -30q0 -38 80.5 -64t151.5 -26z" />
<glyph unicode="&#xbf;" horiz-adv-x="1036" d="M604 1132q-52 0 -84 -32t-32 -77q0 -43 32 -74t84 -31q53 0 84.5 31t31.5 74q0 45 -31.5 77t-84.5 32zM696 667q-1 37 -27.5 58t-62.5 21q-35 0 -60 -20t-25 -55l1 -100q0 -32 -21.5 -64t-56 -61.5t-76.5 -61t-84 -68.5t-77 -78t-56.5 -95.5t-21.5 -115.5 q0 -94 32.5 -164.5t90 -112t130 -61.5t159.5 -20q134 0 288 41q34 8 50.5 30.5t16.5 49.5q0 34 -19.5 58t-51.5 24q-20 0 -116 -17.5t-123 -17.5q-53 0 -94 8.5t-79 29.5t-58.5 63t-20.5 103q0 48 19.5 92t51 77.5t70 65.5t76.5 62t70 61t52.5 68.5t21.5 78.5z" />
<glyph unicode="&#xc0;" horiz-adv-x="1424" d="M726 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5 l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc1;" horiz-adv-x="1424" d="M690 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5 l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc2;" horiz-adv-x="1424" d="M464 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5 t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc3;" horiz-adv-x="1424" d="M955 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM1176 60q25 -66 92 -66q39 0 70 25t31 63 q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc4;" horiz-adv-x="1424" d="M904 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM514 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179 q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc5;" horiz-adv-x="1424" d="M711 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM711 1666q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#xc6;" horiz-adv-x="1967" d="M509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545q35 0 54 20.5t19 50.5q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5 t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
<glyph unicode="&#xc7;" horiz-adv-x="1361" d="M785 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16 t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
<glyph unicode="&#xc8;" horiz-adv-x="1236" d="M663 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24 t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#xc9;" horiz-adv-x="1236" d="M627 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24 t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#xca;" horiz-adv-x="1236" d="M401 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5 t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#xcb;" horiz-adv-x="1236" d="M841 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM451 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600 q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#xcc;" horiz-adv-x="606" d="M325 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#xcd;" horiz-adv-x="606" d="M289 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#xce;" horiz-adv-x="606" d="M63 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236 q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#xcf;" horiz-adv-x="606" d="M503 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM113 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5 t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#xd0;" horiz-adv-x="1505" d="M74 656h445q35 0 57.5 19t22.5 49q0 32 -22 51.5t-58 19.5h-445q-36 0 -58 -19.5t-22 -51.5q0 -30 22.5 -49t57.5 -19zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5 q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#xd1;" horiz-adv-x="1515" d="M1049 1786q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM268 0q38 0 66 23.5t28 65.5v1037 l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#xd2;" horiz-adv-x="1602" d="M816 1594q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5 t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#xd3;" horiz-adv-x="1602" d="M780 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5 t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#xd4;" horiz-adv-x="1602" d="M554 1555q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537 t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#xd5;" horiz-adv-x="1602" d="M1045 1786q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM800 -22q315 0 495.5 199t180.5 537 t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#xd6;" horiz-adv-x="1602" d="M994 1603q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM604 1603q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199 t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#xd7;" horiz-adv-x="1333" d="M358 115q28 0 50 22l258 258l248 -248q21 -21 47 -21q31 0 54 23.5t23 54.5q0 27 -20 47l-248 248l258 259q22 22 22 50q0 29 -22 51t-51 22t-51 -22l-258 -258l-249 249q-22 22 -48 22q-30 0 -54 -24.5t-24 -53.5q0 -27 22 -48l249 -250l-258 -258q-22 -22 -22 -50 t22.5 -50.5t51.5 -22.5z" />
<glyph unicode="&#xd8;" horiz-adv-x="1599" d="M281 -135q33 0 64 41l106 155q150 -83 349 -83q315 0 495.5 199t180.5 537q0 176 -51 317.5t-148 238.5l115 169q21 31 21 60q0 26 -18 43t-43 17q-40 0 -63 -36l-116 -171q-157 98 -373 98q-315 0 -496 -199t-181 -537q0 -187 58 -335t167 -245l-113 -166 q-15 -22 -15 -44q0 -25 18 -42t43 -17zM1163 1104q49 -74 74 -172.5t25 -217.5q0 -267 -121.5 -420.5t-340.5 -153.5q-144 0 -248 69zM1072 1202l-615 -906q-120 152 -120 418q0 267 121.5 420.5t341.5 153.5q161 0 272 -86z" />
<glyph unicode="&#xd9;" horiz-adv-x="1495" d="M773 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832 q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#xda;" horiz-adv-x="1495" d="M737 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832 q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#xdb;" horiz-adv-x="1495" d="M511 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72 t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#xdc;" horiz-adv-x="1495" d="M951 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM561 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5 v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#xdd;" horiz-adv-x="1285" d="M647 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627 l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#xde;" horiz-adv-x="1293" d="M393 548v527h283q343 0 343 -262q0 -265 -348 -265h-278zM291 -1q42 0 72 25t30 72v300h258q118 0 216 20.5t182 66.5t131.5 130t47.5 200q0 92 -31.5 164.5t-84 118.5t-126 76t-152.5 42.5t-170 12.5h-271v115q0 45 -30.5 70.5t-72.5 25.5q-41 0 -71 -25.5t-30 -70.5 v-1246q0 -46 30 -71.5t72 -25.5z" />
<glyph unicode="&#xdf;" horiz-adv-x="1298" d="M853 -27q157 0 264.5 91t107.5 246q0 86 -44.5 151t-107.5 103t-126 70t-107.5 71t-44.5 88q0 26 24.5 57t59.5 62.5t70 66t59.5 78.5t24.5 89q0 98 -58 171t-148 108t-196 35q-236 0 -352.5 -124t-116.5 -349v-900q0 -42 26 -64.5t63 -22.5t64.5 23t27.5 64v876 q1 72 14.5 133t43 115.5t83.5 86t128 31.5q60 0 112 -18.5t87 -60.5t35 -101q0 -31 -18 -61.5t-44.5 -54.5t-57.5 -53t-57.5 -56t-44.5 -65t-18 -79q0 -71 45 -126.5t109 -92t128.5 -71t109.5 -82t45 -106.5q0 -96 -53 -145.5t-145 -49.5q-111 0 -176 102q-21 31 -57 31 q-29 0 -52 -21t-23 -51q0 -18 10 -37q41 -78 120 -118t186 -40z" />
<glyph unicode="&#xe0;" horiz-adv-x="1051" d="M530 1146q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18 q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22 t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe1;" horiz-adv-x="1051" d="M494 1154q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18 q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22 t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe2;" horiz-adv-x="1051" d="M268 1107q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30 q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109 q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe3;" horiz-adv-x="1051" d="M759 1338q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM440 102q-93 0 -147 42.5t-54 133.5 q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5 q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe4;" horiz-adv-x="1051" d="M708 1155q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM318 1155q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34 t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13 q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe5;" horiz-adv-x="1051" d="M515 1136q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM515 1220q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#xe6;" horiz-adv-x="1709" d="M921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166 q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5 q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81z" />
<glyph unicode="&#xe7;" horiz-adv-x="968" d="M555 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="&#xe8;" horiz-adv-x="1135" d="M602 1155q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57 q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#xe9;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM566 1163q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xea;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM340 1116q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40 t41.5 -16z" />
<glyph unicode="&#xeb;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM780 1164q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM390 1164q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30 t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#xec;" horiz-adv-x="485" d="M259 1145q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#xed;" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM223 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xee;" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM-3 1106q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49 q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#xef;" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM437 1154q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM47 1154q50 0 80 30t30 72q0 40 -30 70t-80 30 q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#xf0;" horiz-adv-x="1186" d="M580 119q-140 0 -217 85.5t-77 227.5q0 90 27 161.5t90 117.5t155 46q148 0 230.5 -92.5t82.5 -240.5q0 -127 -82.5 -216t-208.5 -89zM566 -33q117 0 209.5 35.5t152.5 95.5t99.5 145t56 178.5t16.5 202.5q0 224 -50 430h133q30 0 47.5 19.5t17.5 45.5t-17 45t-48 19 h-174q-35 89 -75 163t-93 131t-99 57q-37 0 -63 -24.5t-26 -57.5q0 -29 21 -54q85 -105 131 -215h-177q-32 0 -49 -19.5t-17 -45.5t17 -45t49 -19h221q44 -151 44 -336v-31q-48 102 -144 154t-219 52q-205 0 -324 -124t-119 -327q0 -209 129.5 -342t349.5 -133z" />
<glyph unicode="&#xf1;" d="M864 1337q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM241 0q37 0 64.5 23t27.5 63v499 q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
<glyph unicode="&#xf2;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M595 1154q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="&#xf3;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M559 1162q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xf4;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M333 1115q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#xf5;" horiz-adv-x="1161" d="M824 1346q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM585 -18q231 0 366 145t135 370 q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
<glyph unicode="&#xf6;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M773 1163q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM383 1163q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#xf7;" horiz-adv-x="1333" d="M667 848q50 0 79 29t29 70q0 40 -29.5 69t-78.5 29t-78.5 -29t-29.5 -69q0 -41 29 -70t79 -29zM667 -14q50 0 79 29t29 70q0 39 -29.5 68t-78.5 29t-78.5 -29.5t-29.5 -67.5q0 -41 29 -70t79 -29zM213 442h915q33 0 50.5 21t17.5 51q0 31 -17.5 52.5t-50.5 21.5h-915 q-33 0 -51 -21.5t-18 -52.5q0 -30 18 -51t51 -21z" />
<glyph unicode="&#xf8;" horiz-adv-x="1161" d="M144 -15q0 -21 14.5 -35.5t37.5 -14.5q26 0 42 22l74 95q117 -70 273 -70q231 0 366 145t135 370q0 45 -6 88t-17 82.5t-27.5 75.5t-38.5 68t-49 60l75 96q18 24 18 39q0 21 -17 36t-40 15q-25 0 -42 -21l-76 -98q-120 75 -281 75q-230 0 -365.5 -145t-135.5 -371 q0 -116 37.5 -214t108.5 -167l-72 -94q-14 -18 -14 -37zM585 106q-110 -1 -187 57l451 580q57 -99 57 -246q0 -181 -84 -286t-237 -105zM779 826l-451 -585q-64 101 -64 256q0 182 85 287.5t236 105.5q17 0 33 -1.5t31 -4t29 -6.5t27.5 -9.5t26.5 -12t24.5 -14.5t22.5 -16z " />
<glyph unicode="&#xf9;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM589 1154q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="&#xfa;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM553 1162q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xfb;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM327 1115q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#xfc;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM767 1163q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM377 1163q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#xfd;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM545 1167q18 0 43 18l318 248q26 19 26 50 q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#xfe;" horiz-adv-x="1172" d="M628 107q-312 0 -312 407q0 77 16.5 142t50.5 117.5t93 82.5t138 30q61 0 110.5 -21.5t81 -57.5t52.5 -85.5t29.5 -102.5t8.5 -111q0 -57 -7 -109.5t-25.5 -107t-47.5 -94.5t-77.5 -65t-110.5 -25zM223 -343q36 0 62 23.5t26 66.5v429q129 -203 361 -203q104 0 185.5 45 t130 121.5t73.5 168.5t25 194q0 106 -25.5 198t-75 165t-131.5 115t-187 42q-106 0 -203 -50.5t-148 -141.5v515q0 40 -26.5 61.5t-63.5 21.5t-64 -22t-27 -61v-1598q0 -43 26 -66.5t62 -23.5z" />
<glyph unicode="&#xff;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM759 1168q49 0 79 30t30 72q0 41 -30 70.5 t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM369 1168q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#x100;" horiz-adv-x="1424" d="M459 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37 q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x101;" horiz-adv-x="1051" d="M263 1223h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96 q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55 t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x102;" horiz-adv-x="1424" d="M711 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x103;" horiz-adv-x="1051" d="M514 1192q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x104;" horiz-adv-x="1424" d="M1460 -400v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37 q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x105;" horiz-adv-x="1051" d="M1015 -407v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96 q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55 t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x106;" horiz-adv-x="1361" d="M771 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82 t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371 t228 -262t357 -98z" />
<glyph unicode="&#x107;" horiz-adv-x="968" d="M557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5zM543 1167q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x108;" horiz-adv-x="1361" d="M545 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11 q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58 t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
<glyph unicode="&#x109;" horiz-adv-x="968" d="M317 1120q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13 q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="&#x10a;" horiz-adv-x="1361" d="M786 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5 t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
<glyph unicode="&#x10b;" horiz-adv-x="968" d="M559 1182q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5 q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="&#x10c;" horiz-adv-x="1361" d="M784 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11 q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58 t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
<glyph unicode="&#x10d;" horiz-adv-x="968" d="M557 1081q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13 q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
<glyph unicode="&#x10e;" horiz-adv-x="1505" d="M764 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172 t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x10f;" horiz-adv-x="1195" d="M546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258 q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5zM1207 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85 q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x110;" horiz-adv-x="1505" d="M74 658h469q38 0 60 18t22 48q0 32 -22 50.5t-60 18.5h-466q-38 0 -60.5 -19t-22.5 -50q0 -30 21.5 -48t58.5 -18zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5 q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x111;" horiz-adv-x="1195" d="M646 1149h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143 q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5 q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
<glyph unicode="&#x112;" horiz-adv-x="1236" d="M396 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5 t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x113;" horiz-adv-x="1135" d="M335 1232h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5 q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#x114;" horiz-adv-x="1236" d="M648 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495 h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x115;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM587 1201q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5 t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
<glyph unicode="&#x116;" horiz-adv-x="1236" d="M643 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741 q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x117;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM582 1178q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x118;" horiz-adv-x="1236" d="M1011 -410v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5 h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x119;" horiz-adv-x="1135" d="M944 -392v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5 q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#x11a;" horiz-adv-x="1236" d="M641 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5 t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x11b;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM580 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48 l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x11c;" horiz-adv-x="1459" d="M610 1543q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386 q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73 q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x11d;" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM301 1106q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x11e;" horiz-adv-x="1459" d="M857 1628q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5 t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69 q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x11f;" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM548 1191q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116 t168 -41z" />
<glyph unicode="&#x120;" horiz-adv-x="1459" d="M852 1605q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43 q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5 t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x121;" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM543 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x122;" horiz-adv-x="1459" d="M678 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415 q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226 q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x123;" horiz-adv-x="1181" d="M493 1208h106q64 2 73 56l84 475q1 3 1 12q0 30 -25 31h-56q-38 0 -53 -43l-164 -475q-3 -12 -3 -18q0 -35 37 -38zM569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5 zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198 q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72z" />
<glyph unicode="&#x124;" horiz-adv-x="1477" d="M518 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71 v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x125;" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23zM472 1304q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x126;" horiz-adv-x="1477" d="M118 1023h1243q31 0 49 14.5t18 38.5t-18 39t-49 15h-1243q-30 0 -47.5 -15t-17.5 -39t17.5 -38.5t47.5 -14.5zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510 q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x127;" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23z" />
<glyph unicode="&#x128;" horiz-adv-x="606" d="M554 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM302 1q42 0 72 25t30 71v1236 q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x129;" horiz-adv-x="485" d="M488 1337q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM240 0q37 0 65 24t28 67v813q0 42 -27 66 t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#x12a;" horiz-adv-x="606" d="M58 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x12b;" horiz-adv-x="485" d="M-8 1222h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#x12c;" horiz-adv-x="606" d="M310 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5 t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x12d;" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM243 1191q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30 q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
<glyph unicode="&#x12e;" horiz-adv-x="606" d="M495 -396v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x12f;" horiz-adv-x="485" d="M437 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM239 1168q53 0 84.5 31t31.5 76q0 42 -32 74 t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x130;" horiz-adv-x="606" d="M305 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x131;" horiz-adv-x="484" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#x132;" horiz-adv-x="1632" d="M1033 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102zM302 1q42 0 72 25t30 71v1236 q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x133;" horiz-adv-x="1013" d="M758 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM522 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM253 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM252 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24 q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="&#x134;" horiz-adv-x="1027" d="M536 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM427 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25 t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
<glyph unicode="&#x135;" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5zM1 1106q39 0 69 38 l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x136;" horiz-adv-x="1269" d="M494 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24 q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
<glyph unicode="&#x137;" horiz-adv-x="1004" d="M366 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25 q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="&#x138;" horiz-adv-x="1002" d="M243 0q37 0 64.5 24t27.5 67v410l471 -474q26 -27 60 -27t59.5 24.5t25.5 56.5q0 29 -24 52l-396 391l362 352q23 23 23 52q0 32 -24 57t-55 25q-27 0 -48 -21l-454 -443v370q0 42 -26.5 66t-62.5 24q-37 0 -64 -23.5t-27 -66.5v-825q0 -44 26 -67.5t62 -23.5z" />
<glyph unicode="&#x139;" horiz-adv-x="1108" d="M356 1615q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232 q0 -42 30 -71t72 -29z" />
<glyph unicode="&#x13a;" horiz-adv-x="504" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM283 1592q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x13b;" horiz-adv-x="1108" d="M498 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z " />
<glyph unicode="&#x13c;" horiz-adv-x="504" d="M98 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="&#x13d;" horiz-adv-x="1108" d="M749 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
<glyph unicode="&#x13e;" horiz-adv-x="504" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM573 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x13f;" horiz-adv-x="1108" d="M682 602q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
<glyph unicode="&#x140;" horiz-adv-x="504" d="M598 552q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32zM254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
<glyph unicode="&#x141;" horiz-adv-x="1157" d="M534 850q29 19 29 53q0 9 -2.5 17.5t-6.5 16.5t-10 15t-12.5 12t-15 7.5t-17.5 2.5q-8 0 -16.5 -2.5t-17.5 -8.5l-86 -55v424q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-552l-101 -64q-32 -21 -32 -58q0 -27 17.5 -47.5t42.5 -20.5q6 0 12 1t12.5 4t12.5 7 l36 23v-525q0 -42 30 -71t72 -29h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v591z" />
<glyph unicode="&#x142;" horiz-adv-x="575" d="M511 839q29 19 29 53q0 10 -3 20.5t-9 19.5t-14 16t-17.5 11t-20.5 4q-8 0 -16.5 -2.5t-17.5 -8.5l-52 -33v419q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-536l-103 -66q-32 -21 -32 -58q0 -27 17.5 -47.5t42.5 -20.5q9 0 18.5 3t18.5 9l38 24v-555 q0 -44 26 -67.5t63 -23.5t64.5 24.5t27.5 66.5v671z" />
<glyph unicode="&#x143;" horiz-adv-x="1515" d="M784 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5 q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#x144;" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM599 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x145;" horiz-adv-x="1515" d="M619 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5 v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#x146;" d="M426 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540 q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
<glyph unicode="&#x147;" horiz-adv-x="1515" d="M798 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17 q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#x148;" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM612 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x149;" d="M165 1163h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540 q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
<glyph unicode="&#x14a;" horiz-adv-x="1512" d="M636 -411q187 -42 308 -42q200 0 298.5 115t98.5 387v1291q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5t66 23.5t28 65.5v1037l792 -1133 q0 -161 -49.5 -231t-173.5 -70q-100 0 -268 44q-18 4 -27 4q-35 0 -57 -22.5t-22 -51.5q0 -26 19.5 -47t58.5 -30z" />
<glyph unicode="&#x14b;" horiz-adv-x="1168" d="M399 -290q153 -48 268 -48q169 0 261 102.5t92 315.5v546q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5t64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195 v-548q0 -147 -45 -213t-146 -66q-82 0 -219 43q-16 4 -23 4q-28 0 -45.5 -20t-17.5 -48q0 -53 55 -70z" />
<glyph unicode="&#x14c;" horiz-adv-x="1602" d="M549 1671h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5 t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x14d;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M328 1230h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
<glyph unicode="&#x14e;" horiz-adv-x="1602" d="M801 1640q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM800 -22q315 0 495.5 199t180.5 537t-180.5 537 t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x14f;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M580 1200q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
<glyph unicode="&#x150;" horiz-adv-x="1602" d="M966 1506q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM635 1506q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12 zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x151;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M745 1066q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM414 1066q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12z " />
<glyph unicode="&#x152;" horiz-adv-x="1998" d="M731 126q-104 0 -185 48t-130 131t-74 187t-25 223t25.5 223t74.5 186t130 129.5t184 47.5q202 0 334 -22v-1125q-3 -2 -41 -8t-120 -12.5t-173 -7.5zM722 -28q56 0 143.5 7t153 13.5t67.5 6.5h710q38 0 59 23.5t21 55.5t-21 56t-59 24h-534v497h475q39 0 61 23.5 t22 55.5t-22 56t-61 24h-475v456h509q38 0 60 24t22 56t-22 55.5t-60 23.5h-671q-3 0 -68 6.5t-153 13t-146 6.5q-288 0 -453.5 -200.5t-165.5 -540.5q0 -224 73.5 -391.5t211.5 -259t323 -91.5z" />
<glyph unicode="&#x153;" horiz-adv-x="1840" d="M1031 582q9 133 77 221.5t184 88.5q124 0 192 -84t77 -226h-530zM565 106q-61 0 -110.5 23t-83 61t-56.5 89t-33 105.5t-10 111.5q0 74 17 141.5t50.5 124.5t92 91.5t133.5 34.5t132 -35t89.5 -93t48.5 -126t16 -142q-1 -72 -18 -138.5t-50 -123t-89.5 -90.5t-128.5 -34z M1287 -30q150 0 271 60t121 134q0 24 -14.5 40t-37.5 16q-19 0 -39 -13q-132 -95 -258 -95q-79 0 -137.5 26.5t-93 75t-51.5 110t-18 137.5h641q32 0 48.5 19.5t16.5 46.5q-3 108 -30 196.5t-79.5 157t-137 106t-194.5 37.5q-120 0 -211 -59t-146 -160q-58 101 -152 159 t-221 58q-95 0 -175.5 -28.5t-136.5 -78.5t-95 -117t-57.5 -143.5t-18.5 -158.5q0 -102 30 -194.5t88 -166.5t152.5 -118t212.5 -44q126 0 219 59.5t151 162.5q52 -105 141.5 -165t210.5 -60z" />
<glyph unicode="&#x154;" horiz-adv-x="1362" d="M670 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20 t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5 t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="&#x155;" horiz-adv-x="730" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22zM357 1163q18 0 43 18l318 248 q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x156;" horiz-adv-x="1362" d="M549 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1 q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434 q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="&#x157;" horiz-adv-x="730" d="M83 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120 q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
<glyph unicode="&#x158;" horiz-adv-x="1362" d="M684 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88 q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211 q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="&#x159;" horiz-adv-x="730" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22zM371 1077q51 0 89 52l189 264 q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x15a;" horiz-adv-x="1282" d="M629 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5 q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5 q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x15b;" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM469 1164q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x15c;" horiz-adv-x="1282" d="M403 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59 l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41 t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x15d;" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM243 1117q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x15e;" horiz-adv-x="1282" d="M656 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5 t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x15f;" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM524 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5 q0 -32 72 -53.5t160 -21.5z" />
<glyph unicode="&#x160;" horiz-adv-x="1282" d="M642 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5 t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96 q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x161;" horiz-adv-x="893" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM490 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x162;" horiz-adv-x="1167" d="M600 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
<glyph unicode="&#x163;" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM460 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35 q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5t160 -21.5z" />
<glyph unicode="&#x164;" horiz-adv-x="1167" d="M593 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5 h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
<glyph unicode="&#x165;" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM628 1027h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x166;" horiz-adv-x="1167" d="M337 695h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71 t71 -26z" />
<glyph unicode="&#x167;" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM99 519h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
<glyph unicode="&#x168;" horiz-adv-x="1495" d="M1002 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM748 -22q91 0 173.5 20t154.5 62 t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95 t214.5 -32.5z" />
<glyph unicode="&#x169;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM818 1346q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
<glyph unicode="&#x16a;" horiz-adv-x="1495" d="M506 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114 t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x16b;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM322 1230h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
<glyph unicode="&#x16c;" horiz-adv-x="1495" d="M758 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x16d;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM573 1200q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
<glyph unicode="&#x16e;" horiz-adv-x="1495" d="M758 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM758 1666q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x16f;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM574 1144q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM574 1228q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5z" />
<glyph unicode="&#x170;" horiz-adv-x="1495" d="M923 1504q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM592 1504q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12 zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837 q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x171;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM739 1066q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM408 1066q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304 q-12 -15 -12 -33q0 -17 12 -29t30 -12z" />
<glyph unicode="&#x172;" horiz-adv-x="1495" d="M1064 -410v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114 t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x173;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM1111 -400v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29z" />
<glyph unicode="&#x174;" horiz-adv-x="2135" d="M815 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167 l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
<glyph unicode="&#x175;" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM615 1118q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x176;" horiz-adv-x="1285" d="M421 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48 q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#x177;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM319 1120q39 0 69 38l171 229l170 -229 q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x178;" horiz-adv-x="1285" d="M861 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM471 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506 l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#x179;" horiz-adv-x="1175" d="M616 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5 q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
<glyph unicode="&#x17a;" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM454 1163q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64 t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x17b;" horiz-adv-x="1175" d="M632 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105 q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
<glyph unicode="&#x17c;" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM470 1178q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32 t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x17d;" horiz-adv-x="1175" d="M630 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73 q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
<glyph unicode="&#x17e;" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM468 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42 t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x192;" horiz-adv-x="1186" d="M58 -537q51 0 95.5 13t94 48.5t91 93t81.5 152.5t70 220q35 145 94.5 428.5t78.5 370.5h200q36 0 56 23t20 54t-20 54t-56 23h-169q55 261 123 373t169 112q49 0 75.5 20t26.5 47q0 25 -22 42.5t-63 17.5q-166 0 -287 -147.5t-179 -464.5h-180q-36 0 -56.5 -22.5 t-20.5 -53.5q0 -32 20.5 -55t56.5 -23h149q-7 -30 -70.5 -338t-99.5 -459q-94 -389 -266 -394q-46 -1 -73 -24t-27 -51q0 -26 22 -43t66 -17z" />
<glyph unicode="&#x1c4;" horiz-adv-x="2680" d="M2135 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM1713 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73 q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350 q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x1c5;" horiz-adv-x="2447" d="M1678 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM1973 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42 t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5 t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x1c6;" horiz-adv-x="2137" d="M1368 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5 t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5 v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5zM1663 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38 q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1c7;" horiz-adv-x="2135" d="M279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29zM1535 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877 q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
<glyph unicode="&#x1c8;" horiz-adv-x="1619" d="M1364 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1128 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
<glyph unicode="&#x1c9;" horiz-adv-x="1015" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM760 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM524 -378q77 0 131.5 7.5 t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
<glyph unicode="&#x1ca;" horiz-adv-x="2541" d="M268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z M1942 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
<glyph unicode="&#x1cb;" horiz-adv-x="2025" d="M1771 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1535 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060 q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#x1cc;" horiz-adv-x="1674" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM1419 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1183 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66 v-967q0 -43 -1.5 -69.5t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
<glyph unicode="&#x1cd;" horiz-adv-x="1424" d="M704 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179 q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x1ce;" horiz-adv-x="1051" d="M507 1068q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16 t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51 t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x1cf;" horiz-adv-x="606" d="M303 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26 t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x1d0;" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM236 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5 q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1d1;" horiz-adv-x="1602" d="M794 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199 t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x1d2;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M573 1076q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1d3;" horiz-adv-x="1495" d="M751 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837 q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x1d4;" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM566 1076q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1e2;" horiz-adv-x="1967" d="M1035 1684h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545q35 0 54 20.5t19 50.5 q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
<glyph unicode="&#x1e3;" horiz-adv-x="1710" d="M609 1222h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5 t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110 t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78 q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81z" />
<glyph unicode="&#x1e6;" horiz-adv-x="1459" d="M850 1504q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386 q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73 q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x1e7;" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM541 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1e8;" horiz-adv-x="1269" d="M640 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5 q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
<glyph unicode="&#x1e9;" horiz-adv-x="1004" d="M241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z M653 1274q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1ea;" horiz-adv-x="1602" d="M1015 -408v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5 t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x1eb;" horiz-adv-x="1161" d="M825 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5 t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
<glyph unicode="&#x1f0;" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5zM241 1067q51 0 89 52 l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x1f1;" horiz-adv-x="2680" d="M1713 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5zM379 163v1108h225q297 0 435 -128t138 -426 q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x1f2;" horiz-adv-x="2447" d="M1678 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM379 163v1108h225q297 0 435 -128t138 -426 q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x1f3;" horiz-adv-x="2137" d="M1368 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5 t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5 v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
<glyph unicode="&#x1f4;" horiz-adv-x="1459" d="M836 1590q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52 t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5 t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
<glyph unicode="&#x1f5;" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM527 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x1f8;" horiz-adv-x="1515" d="M820 1594q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5 q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
<glyph unicode="&#x1f9;" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM635 1145q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="&#x1fa;" horiz-adv-x="1424" d="M689 2080q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM711 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM711 1666q-50 0 -79.5 28.5 t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66 l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x1fb;" horiz-adv-x="1051" d="M515 1136q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM515 1220q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75zM493 1634q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31 t29.5 -12z" />
<glyph unicode="&#x1fc;" horiz-adv-x="1967" d="M1266 1615q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545 q35 0 54 20.5t19 50.5q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
<glyph unicode="&#x1fd;" horiz-adv-x="1710" d="M921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166 q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5 q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81zM840 1153q18 0 43 18l318 248 q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x1fe;" horiz-adv-x="1599" d="M780 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM281 -135q33 0 64 41l106 155q150 -83 349 -83q315 0 495.5 199t180.5 537q0 176 -51 317.5t-148 238.5l115 169q21 31 21 60 q0 26 -18 43t-43 17q-40 0 -63 -36l-116 -171q-157 98 -373 98q-315 0 -496 -199t-181 -537q0 -187 58 -335t167 -245l-113 -166q-15 -22 -15 -44q0 -25 18 -42t43 -17zM1163 1104q49 -74 74 -172.5t25 -217.5q0 -267 -121.5 -420.5t-340.5 -153.5q-144 0 -248 69z M1072 1202l-615 -906q-120 152 -120 418q0 267 121.5 420.5t341.5 153.5q161 0 272 -86z" />
<glyph unicode="&#x1ff;" horiz-adv-x="1161" d="M144 -15q0 -21 14.5 -35.5t37.5 -14.5q26 0 42 22l74 95q117 -70 273 -70q231 0 366 145t135 370q0 45 -6 88t-17 82.5t-27.5 75.5t-38.5 68t-49 60l75 96q18 24 18 39q0 21 -17 36t-40 15q-25 0 -42 -21l-76 -98q-120 75 -281 75q-230 0 -365.5 -145t-135.5 -371 q0 -116 37.5 -214t108.5 -167l-72 -94q-14 -18 -14 -37zM585 106q-110 -1 -187 57l451 580q57 -99 57 -246q0 -181 -84 -286t-237 -105zM779 826l-451 -585q-64 101 -64 256q0 182 85 287.5t236 105.5q17 0 33 -1.5t31 -4t29 -6.5t27.5 -9.5t26.5 -12t24.5 -14.5t22.5 -16z M549 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x200;" horiz-adv-x="1424" d="M850 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM518 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x201;" horiz-adv-x="1051" d="M654 1100q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM322 1100q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87 q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x202;" horiz-adv-x="1424" d="M481 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x203;" horiz-adv-x="1051" d="M285 1215q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x204;" horiz-adv-x="1236" d="M787 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM455 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x205;" horiz-adv-x="1135" d="M718 1155q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM386 1155q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48 q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#x206;" horiz-adv-x="1236" d="M418 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660 v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x207;" horiz-adv-x="1135" d="M352 1146q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27 q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187 t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#x208;" horiz-adv-x="606" d="M449 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM117 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x209;" horiz-adv-x="485" d="M451 1156q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM119 1156q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#x20a;" horiz-adv-x="606" d="M80 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5 t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x20b;" horiz-adv-x="485" d="M10 1134q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24 q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
<glyph unicode="&#x20c;" horiz-adv-x="1602" d="M941 1548q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM609 1548q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x20d;" horiz-adv-x="1161" d="M720 1107q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM388 1107q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5 t-238.5 -104.5z" />
<glyph unicode="&#x20e;" horiz-adv-x="1602" d="M571 1663q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM800 -22q315 0 495.5 199t180.5 537t-180.5 537 t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x20f;" horiz-adv-x="1176" d="M349 1140q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5 t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
<glyph unicode="&#x210;" horiz-adv-x="1362" d="M831 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM499 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5 t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="&#x211;" horiz-adv-x="730" d="M517 1109q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM185 1109q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
<glyph unicode="&#x212;" horiz-adv-x="1362" d="M461 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21 t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314 q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
<glyph unicode="&#x213;" horiz-adv-x="730" d="M148 1224q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187 t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
<glyph unicode="&#x214;" horiz-adv-x="1495" d="M897 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM565 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72 v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x215;" d="M713 1107q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM381 1107q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5z" />
<glyph unicode="&#x216;" horiz-adv-x="1495" d="M528 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
<glyph unicode="&#x217;" d="M344 1223q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5 t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539q0 -194 98.5 -290.5t262.5 -96.5z" />
<glyph unicode="&#x218;" horiz-adv-x="1282" d="M481 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55 q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58 q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x219;" horiz-adv-x="1006" d="M349 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5 q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26 t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5t-17 -41.5q0 -33 30 -54z" />
<glyph unicode="&#x21a;" horiz-adv-x="1167" d="M425 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71 t71 -26z" />
<glyph unicode="&#x21b;" horiz-adv-x="742" d="M285 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44 t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5z" />
<glyph unicode="&#x21e;" horiz-adv-x="1477" d="M757 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5 q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
<glyph unicode="&#x21f;" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23zM712 1265q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x226;" horiz-adv-x="1424" d="M706 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63 t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
<glyph unicode="&#x227;" horiz-adv-x="1051" d="M510 1170q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5 t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100 q0 -138 98 -213t255 -75z" />
<glyph unicode="&#x228;" horiz-adv-x="1236" d="M669 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x229;" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM602 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5 q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5t160 -21.5z" />
<glyph unicode="&#x22e;" horiz-adv-x="1602" d="M796 1617q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5 q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
<glyph unicode="&#x22f;" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M575 1177q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x232;" horiz-adv-x="1285" d="M416 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624 q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#x233;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM314 1236h504q33 0 50 18t17 47 q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
<glyph unicode="&#x237;" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5z" />
<glyph unicode="&#x2bc;" horiz-adv-x="600" d="M189 181h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x2c6;" horiz-adv-x="569" d="M47 1155q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
<glyph unicode="&#x2c7;" horiz-adv-x="569" d="M285 1116q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
<glyph unicode="&#x2c9;" horiz-adv-x="569" d="M47 1310h481q33 0 50 18t17 47q0 27 -17.5 45.5t-49.5 18.5h-481q-34 0 -52 -18.5t-18 -45.5q0 -29 18 -47t52 -18z" />
<glyph unicode="&#x2d8;" horiz-adv-x="569" d="M285 1240q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
<glyph unicode="&#x2d9;" horiz-adv-x="593" d="M288 1207q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x2da;" horiz-adv-x="569" d="M285 1184q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM285 1268q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5z" />
<glyph unicode="&#x2db;" horiz-adv-x="569" d="M437 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29z" />
<glyph unicode="&#x2dc;" horiz-adv-x="569" d="M537 1386q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
<glyph unicode="&#x2dd;" horiz-adv-x="569" d="M339 1106q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM8 1106q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12z " />
<glyph unicode="&#x307;" horiz-adv-x="600" d="M322 411q53 0 85.5 32t32.5 77q0 44 -32.5 76t-85.5 32t-85.5 -32t-32.5 -76q0 -45 32.5 -77t85.5 -32z" />
<glyph unicode="&#x30f;" horiz-adv-x="569" d="M627 1156q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM295 1156q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18z" />
<glyph unicode="&#x311;" horiz-adv-x="569" d="M56 1263q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13z" />
<glyph unicode="&#x312;" horiz-adv-x="600" d="M223 1208h106q64 2 73 56l84 475q1 3 1 12q0 30 -25 31h-56q-38 0 -53 -43l-164 -475q-3 -12 -3 -18q0 -35 37 -38z" />
<glyph unicode="&#x326;" horiz-adv-x="593" d="M155 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x358;" horiz-adv-x="600" d="M322 411q53 0 85.5 32t32.5 77q0 44 -32.5 76t-85.5 32t-85.5 -32t-32.5 -76q0 -45 32.5 -77t85.5 -32z" />
<glyph unicode="&#x394;" horiz-adv-x="1226" d="M207 104l404 1128l410 -1128h-814zM8 0h1211l-520 1382q-25 59 -86 59q-27 0 -50.5 -15.5t-34.5 -43.5z" />
<glyph unicode="&#x3a3;" horiz-adv-x="1383" d="M271 -128l890 1q36 0 56.5 27.5t20.5 64.5t-20.5 64.5t-56.5 27.5h-811l482 480q67 65 67 117q0 51 -67 117l-481 479h810q36 0 56.5 27.5t20.5 64.5t-20.5 64.5t-56.5 27.5h-875q-62 0 -103.5 -36.5t-41.5 -92.5q0 -71 68 -139l503 -509l-503 -526q-65 -66 -65 -138 q0 -52 36 -86.5t91 -34.5z" />
<glyph unicode="&#x3a9;" horiz-adv-x="1537" d="M266 0h478q-83 125 -146 232t-123 227.5t-92 230.5t-32 201q0 180 116 281t368 101q253 0 369 -101t116 -281q0 -90 -32 -200.5t-92 -230.5t-123 -227t-146 -233h478q26 0 41 22t15 53q0 29 -15 51t-41 22h-268q170 196 274 402.5t104 379.5q0 92 -18.5 167t-66 144.5 t-122.5 116t-195 74.5t-278 28q-144 0 -259.5 -28t-193 -76t-129 -115.5t-74.5 -144.5t-23 -166q0 -173 102.5 -376.5t274.5 -405.5h-267q-27 0 -41.5 -21.5t-14.5 -51.5q0 -31 14.5 -53t41.5 -22z" />
<glyph unicode="&#x3bc;" d="M230 -274q40 0 66.5 27t26.5 72v676h-182v-676q0 -49 25 -74t64 -25zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541 q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539q0 -194 98.5 -290.5t262.5 -96.5z" />
<glyph unicode="&#x3c0;" horiz-adv-x="1222" d="M961 -20q45 7 63 22.5t18 42.5q0 22 -13 69.5t-26.5 117t-13.5 143.5v547h81q35 0 54.5 21.5t19.5 52.5q0 30 -19.5 51.5t-54.5 21.5h-859q-43 0 -67 -22t-24 -51q0 -31 24 -52.5t67 -21.5h75q0 -401 -157 -837q-7 -20 -7 -38q0 -35 25 -55t60 -20q33 0 62 18.5t44 55.5 q53 132 93.5 395t49.5 481h357v-582q0 -199 24.5 -281t95.5 -82q13 0 28 3z" />
<glyph unicode="&#x1e02;" horiz-adv-x="1312" d="M652 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM377 813v461h294q55 0 95.5 -4.5t81.5 -17.5t67 -36t42.5 -62t16.5 -93q0 -132 -77.5 -190t-246.5 -58h-273zM377 157v501h251q204 0 298 -53t94 -197q0 -146 -75.5 -198.5 t-244.5 -52.5h-323zM276 0h465q122 0 218 32t153.5 86.5t87.5 122t30 142.5q0 159 -92.5 250.5t-255.5 109.5v4q139 18 213.5 108t74.5 218q0 169 -120 262.5t-371 93.5h-403q-41 0 -70 -28t-29 -69v-1235q0 -40 29 -68.5t70 -28.5z" />
<glyph unicode="&#x1e03;" horiz-adv-x="1195" d="M675 1275q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM644 106q-310 0 -310 396q0 76 17 143t51.5 123t94 89t138.5 33q78 0 136.5 -35t90.5 -93.5t47.5 -124.5t15.5 -138q0 -70 -14 -134.5t-44 -124.5t-87.5 -96.5t-135.5 -37.5 zM676 -18q104 0 187.5 42.5t135.5 115t79.5 165.5t27.5 198q0 107 -30 199.5t-85.5 162t-141 109t-189.5 39.5q-111 0 -196.5 -48t-130.5 -139v519q0 39 -27 61.5t-64 22.5q-36 0 -63 -22.5t-27 -61.5v-1258q0 -40 27 -62.5t63 -22.5q45 0 68 22.5t23 61.5v89 q48 -96 137.5 -144.5t205.5 -48.5z" />
<glyph unicode="&#x1e0a;" horiz-adv-x="1505" d="M767 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5 t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
<glyph unicode="&#x1e0b;" horiz-adv-x="1195" d="M524 1260q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396z M514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5 t135.5 -115t187.5 -42.5z" />
<glyph unicode="&#x1e1e;" horiz-adv-x="1145" d="M655 1617q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM277 0q42 0 72 25t30 72v564h568q38 0 59.5 23.5t21.5 56.5q0 32 -21.5 55t-59.5 23h-568v449h595q38 0 59 24t21 57t-21 56.5t-59 23.5h-701q-40 0 -68.5 -27.5 t-28.5 -70.5v-1234q0 -46 30 -71.5t71 -25.5z" />
<glyph unicode="&#x1e1f;" horiz-adv-x="704" d="M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM407 1553q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x1e40;" horiz-adv-x="1914" d="M979 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM951 37q35 0 68 23t52 66l466 1046v-1089q0 -34 27.5 -53t65.5 -19q37 0 65 19t28 53v1184q0 58 -46 97t-107 39q-50 0 -94.5 -29.5t-70.5 -89.5l-454 -1008l-454 1008 q-27 60 -71.5 89.5t-94.5 29.5q-61 0 -106.5 -39t-45.5 -97v-1184q0 -34 28 -53t65 -19q38 0 65.5 19t27.5 53v1089l466 -1046q19 -43 52 -66t68 -23z" />
<glyph unicode="&#x1e41;" horiz-adv-x="1849" d="M241 0q38 0 65.5 22.5t27.5 62.5v488q0 150 78 233.5t208 83.5q218 0 218 -276v-528q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v482q0 158 81 240t206 82q105 0 162 -63.5t57 -187.5v-554q0 -40 26 -62.5t63 -22.5t64.5 22.5t27.5 62.5v547q0 98 -28.5 173t-79 119.5 t-114.5 66.5t-140 22q-132 0 -224 -58.5t-134 -174.5q-31 112 -118 172.5t-211 60.5q-109 0 -194 -49.5t-128 -141.5v93q0 37 -27.5 58t-63.5 21t-63.5 -22.5t-27.5 -61.5v-825q0 -40 26 -62.5t63 -22.5zM951 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32 t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x1e56;" horiz-adv-x="1232" d="M649 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM379 769v500h315q165 0 239 -56t74 -191q0 -138 -78.5 -195.5t-245.5 -57.5h-304zM278 0q42 0 71.5 25t29.5 71v519h305q119 0 211 21t163.5 66.5t109.5 126t38 193.5 q0 217 -129 312t-375 95h-423q-43 0 -72.5 -29t-29.5 -71v-1233q0 -45 30 -70.5t71 -25.5z" />
<glyph unicode="&#x1e57;" horiz-adv-x="1195" d="M635 106q-79 0 -138.5 33t-94 89t-51.5 122.5t-17 142.5q0 397 310 397q63 -1 112.5 -26t80.5 -64t51.5 -92t28.5 -105t8 -107q0 -72 -15.5 -138t-47.5 -124.5t-90.5 -93t-136.5 -34.5zM242 -380q37 0 64 22.5t27 61.5v465q45 -90 130.5 -138.5t196.5 -48.5 q104 0 189.5 39.5t141 109t85.5 162t30 199.5q0 105 -27.5 198t-79.5 165.5t-135.5 115t-187.5 42.5q-116 0 -205.5 -48.5t-137.5 -144.5v89q0 39 -23 61.5t-68 22.5q-37 0 -63.5 -22t-26.5 -62v-1205q0 -39 27 -61.5t63 -22.5zM611 1184q53 0 84.5 31t31.5 76q0 42 -32 74 t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x1e60;" horiz-adv-x="1282" d="M645 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5 t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132 q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
<glyph unicode="&#x1e61;" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM485 1179q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x1e6a;" horiz-adv-x="1167" d="M595 1618q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
<glyph unicode="&#x1e6b;" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM326 1469q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph unicode="&#x1e80;" horiz-adv-x="2135" d="M1077 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5 q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
<glyph unicode="&#x1e81;" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM877 1157q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="&#x1e82;" horiz-adv-x="2135" d="M1041 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5 q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
<glyph unicode="&#x1e83;" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM841 1165q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
<glyph unicode="&#x1e84;" horiz-adv-x="2135" d="M1255 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM865 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18 t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29 q51 0 93 30t56 84z" />
<glyph unicode="&#x1e85;" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM1055 1166q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM665 1166q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
<glyph unicode="&#x1ebc;" horiz-adv-x="1236" d="M892 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM277 0h762q38 0 59 23.5t21 56.5t-21 57 t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
<glyph unicode="&#x1ebd;" horiz-adv-x="1135" d="M831 1347q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM275 572q5 62 26.5 117.5t58 101 t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72 t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
<glyph unicode="&#x1ef2;" horiz-adv-x="1285" d="M683 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627 l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#x1ef3;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM581 1159q18 0 29.5 12t11.5 30t-14 35 l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
<glyph unicode="&#x1ef8;" horiz-adv-x="1285" d="M912 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM541 98q0 -46 30 -71.5t72 -25.5 q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
<glyph unicode="&#x1ef9;" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM810 1351q-24 0 -61 -38t-62 -38 q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M76 452h871q35 0 54.5 22.5t19.5 53.5t-19.5 54.5t-54.5 23.5h-871q-35 0 -54.5 -23t-19.5 -54q0 -32 19.5 -54.5t54.5 -22.5z" />
<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M76 452h1896q35 0 54.5 22.5t19.5 53.5t-19.5 54.5t-54.5 23.5h-1896q-35 0 -54.5 -23t-19.5 -54q0 -32 19.5 -54.5t54.5 -22.5z" />
<glyph unicode="&#x2018;" horiz-adv-x="593" d="M175 964h108q64 2 73 56l66 366q1 3 1 12q0 31 -25 31h-54q-22 0 -34 -9.5t-22 -33.5l-147 -366q-3 -6 -3 -18q0 -38 37 -38z" />
<glyph unicode="&#x2019;" horiz-adv-x="593" d="M187 964h53q22 0 34 9.5t22 33.5l148 366q3 12 3 18q0 38 -37 38h-109q-63 0 -73 -56l-65 -366q-1 -3 -1 -12q0 -31 25 -31z" />
<glyph unicode="&#x201a;" horiz-adv-x="593" d="M187 -260h53q22 0 34 9.5t22 33.5l148 367q3 12 3 18q0 38 -37 38h-109q-63 0 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x201c;" horiz-adv-x="1150" d="M639 964h109q64 2 73 56l65 366q1 3 1 12q0 31 -25 31h-53q-22 0 -34.5 -9.5t-21.5 -33.5l-148 -366q-3 -6 -3 -18q0 -38 37 -38zM251 964h108q64 2 73 56l66 366q7 43 -24 43h-54q-22 0 -34 -9.5t-22 -33.5l-147 -366q-3 -6 -3 -18q0 -38 37 -38z" />
<glyph unicode="&#x201d;" horiz-adv-x="1150" d="M649 963h54q22 0 34 9.5t22 33.5l147 367q3 6 3 18q0 38 -37 38h-108q-64 -2 -73 -56l-66 -367q-1 -3 -1 -12q0 -30 25 -31zM264 963h54q22 0 34 9.5t22 33.5l148 367q3 12 3 18q0 38 -37 38h-109q-64 -2 -73 -56l-66 -367q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x201e;" horiz-adv-x="1150" d="M673 -244h56q20 0 31.5 9.5t21.5 33.5l148 367q3 12 3 18q0 35 -37 38h-109q-64 -2 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31zM270 -244h56q20 0 31.5 9.5t21.5 33.5l148 367q3 12 3 18q0 35 -37 38h-109q-64 -2 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph unicode="&#x2020;" horiz-adv-x="1186" d="M593 0q35 0 60 22t25 61v890h276q33 0 52 22t19 53q0 29 -19 51t-52 22h-276v273q0 39 -25 61.5t-60 22.5t-60 -22t-25 -62v-273h-281q-32 0 -50 -22t-18 -53q0 -30 18 -51.5t50 -21.5h281v-890q0 -39 25 -61t60 -22z" />
<glyph unicode="&#x2021;" horiz-adv-x="1186" d="M593 -1q34 0 58.5 22t24.5 61v261h276q34 0 53 21.5t19 51.5q0 29 -19 50t-53 21h-276v499h276q34 0 53 21t19 52q0 29 -19 50t-53 21h-276v264q0 40 -24.5 62t-58.5 22t-58.5 -22t-24.5 -62v-264h-280q-33 0 -52 -21.5t-19 -50.5t19 -50.5t52 -21.5h280v-499h-280 q-33 0 -52 -21.5t-19 -50.5t19 -50.5t52 -21.5h280v-261q0 -39 24.5 -61t58.5 -22z" />
<glyph unicode="&#x2022;" horiz-adv-x="1024" d="M510 358q153 0 262 105t109 250q0 148 -108.5 253t-262.5 105q-151 0 -259 -105t-108 -253q0 -144 108.5 -249.5t258.5 -105.5z" />
<glyph unicode="&#x2026;" horiz-adv-x="1780" d="M1483 -2q53 0 84.5 32t31.5 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 31.5 -76t84.5 -32zM890 -2q52 0 83.5 32t31.5 76q0 43 -32 74.5t-83 31.5q-53 0 -85 -32t-32 -74q0 -44 32 -76t85 -32zM296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5 q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
<glyph unicode="&#x2030;" horiz-adv-x="2309" d="M1905 -32q155 0 243 112t88 277q0 163 -88.5 273t-237.5 110q-156 0 -244 -111.5t-88 -276.5q0 -164 88.5 -274t238.5 -110zM1907 78q-52 0 -90 23t-59 63.5t-31 88t-10 102.5q0 75 17 134t61.5 100.5t111.5 41.5q51 0 89.5 -23.5t59.5 -64t31 -87.5t10 -101 q0 -76 -17.5 -136t-61.5 -100.5t-111 -40.5zM1158 -32q104 0 180.5 54t113.5 141t37 194q0 163 -88.5 273t-237.5 110q-156 0 -244 -111.5t-88 -276.5q0 -164 89 -274t238 -110zM1160 78q-68 0 -112 41.5t-60.5 101t-16.5 134.5q0 54 10 101t30.5 87.5t59 64t89.5 23.5 t89 -23.5t59.5 -63.5t31.5 -87.5t10 -101.5q0 -119 -46 -198t-144 -79zM369 639q104 0 180.5 54t113.5 141t37 194q0 162 -88.5 272.5t-237.5 110.5q-156 0 -244 -111.5t-88 -277.5q0 -163 88.5 -273t238.5 -110zM371 748q-51 0 -89.5 23.5t-60 63.5t-31.5 87.5t-10 102.5 q0 74 17 133.5t62 101.5t112 42q51 0 89.5 -23.5t59.5 -64t31 -87.5t10 -102q0 -76 -17.5 -135.5t-61.5 -100.5t-111 -41zM363 -70q32 0 54 38l779 1374q13 26 13 42q0 25 -17 42t-40 17q-36 0 -58 -39l-781 -1382q-12 -24 -12 -35q0 -24 19 -40.5t43 -16.5z" />
<glyph unicode="&#x2039;" horiz-adv-x="593" d="M397 101q26 0 44.5 17t18.5 42q0 14 -5 27l-165 355l165 354q5 11 5 26q0 26 -18.5 43t-44.5 17q-47 0 -76 -51l-218 -389l218 -390q28 -51 76 -51z" />
<glyph unicode="&#x203a;" horiz-adv-x="593" d="M197 101q47 0 77 51l218 390l-218 389q-30 51 -77 51q-26 0 -45 -17t-19 -43q0 -13 6 -26l166 -354l-166 -355q-6 -14 -6 -26q0 -25 19 -42.5t45 -17.5z" />
<glyph unicode="&#x2044;" horiz-adv-x="599" d="M57 -72q51 0 70 53l484 1450q5 20 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -53l-480 -1450q-5 -18 -5 -28q0 -32 22 -51t52 -19z" />
<glyph unicode="&#x2074;" horiz-adv-x="731" d="M134 837l303 472v-472h-303zM490 573q21 0 36.5 14t15.5 39v134h88q20 0 31 11.5t11 27.5t-11.5 27t-30.5 11h-88v491q0 41 -21 62t-54 21q-60 0 -94 -58l-326 -499q-12 -20 -12 -39q0 -23 16.5 -39t44.5 -16h341v-134q0 -25 15.5 -39t37.5 -14z" />
<glyph unicode="&#x20ac;" horiz-adv-x="1398" d="M839 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-76 0 -141.5 17.5t-115 49.5t-89 77.5t-65.5 100t-42 118.5h542q25 0 38.5 16.5t13.5 40.5t-14 42.5t-39 18.5h-561q-4 44 -4 91q0 22 1 43h565q25 0 38.5 16.5 t13.5 40.5t-14 42t-39 18h-551q16 91 51 165t90.5 131t136 88.5t179.5 31.5q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-136 0 -251.5 -43.5t-198.5 -121t-137.5 -183t-76.5 -230.5h-132 q-22 0 -35 -18t-13 -42q0 -23 12.5 -40t35.5 -17h119q-1 -23 -1 -46q0 -22 1 -44t3 -44h-122q-22 0 -35 -18.5t-13 -42.5q0 -23 12.5 -40t35.5 -17h140q20 -92 58.5 -172t95.5 -145t129 -111.5t162.5 -71.5t193.5 -25z" />
<glyph unicode="&#x2113;" horiz-adv-x="742" d="M487 1348q33 0 57.5 -26t24.5 -73q0 -73 -41 -137.5t-126 -130.5v222q0 77 24.5 111t60.5 34zM487 1494q-39 0 -75.5 -10.5t-71 -34t-60 -58t-41 -87.5t-15.5 -118l-1 -327l-177 -139q-22 -18 -22 -39q0 -16 11.5 -27.5t27.5 -11.5t32 12l128 100v-465q0 -162 68.5 -234 t184.5 -72q112 0 150 7q24 4 37.5 21.5t13.5 40.5q0 28 -18 47t-49 19h-4l-65 -3h-11q-66 0 -97 44.5t-31 154.5v562q174 128 238 207.5t64 177.5q0 44 -12.5 84.5t-37 74.5t-68 54t-99.5 20z" />
<glyph unicode="&#x2122;" horiz-adv-x="1944" d="M366 653q28 0 48.5 17.5t20.5 48.5v559h183q23 0 36.5 15t13.5 35q0 21 -13.5 36t-36.5 15h-504q-25 0 -38 -14.5t-13 -35.5t13.5 -36t37.5 -15h183v-559q0 -31 20.5 -48.5t48.5 -17.5zM887 652q28 0 48 17.5t20 48.5v471l235 -489q17 -43 61 -43q42 0 63 43l235 489 v-471q0 -31 20 -48.5t47 -17.5t47.5 17.5t20.5 48.5v544q0 58 -29 87t-74 29q-71 0 -109 -81l-219 -452l-220 452q-39 82 -110 82q-44 0 -73.5 -29.5t-29.5 -87.5v-544q0 -31 20 -48.5t47 -17.5z" />
<glyph unicode="&#x2126;" horiz-adv-x="1497" d="M266 0h478q-83 125 -146 232t-123 227.5t-92 230.5t-32 201q0 180 116 281t368 101q253 0 369 -101t116 -281q0 -90 -32 -200.5t-92 -230.5t-123 -227t-146 -233h478q26 0 41 22t15 53q0 29 -15 51t-41 22h-268q170 196 274 402.5t104 379.5q0 92 -18.5 167t-66 144.5 t-122.5 116t-195 74.5t-278 28q-144 0 -259.5 -28t-193 -76t-129 -115.5t-74.5 -144.5t-23 -166q0 -173 102.5 -376.5t274.5 -405.5h-267q-27 0 -41.5 -21.5t-14.5 -51.5q0 -31 14.5 -53t41.5 -22z" />
<glyph unicode="&#x212e;" horiz-adv-x="1132" d="M317 562q9 182 80 294t194 112q124 0 180 -102t65 -304h-519zM600 -12q130 0 218.5 31.5t163.5 95.5q37 31 37 62q0 16 -11 26.5t-28 10.5q-30 0 -59 -31q-140 -144 -317 -144q-137 0 -208.5 105t-80.5 347h640q33 0 49 27t16 59q0 67 -12 126t-43.5 117.5t-80 100 t-127.5 67t-180 25.5q-100 0 -181.5 -28.5t-135.5 -76.5t-90 -113t-52 -135.5t-16 -147.5q0 -251 126.5 -387.5t371.5 -136.5z" />
<glyph unicode="&#x2202;" horiz-adv-x="1167" d="M535 120q-121 0 -196.5 94.5t-75.5 240.5q0 160 90 273t216 113q109 0 190 -71t106 -151q-13 -133 -55 -244.5t-114 -183t-159 -71.5h-2zM520 -24q128 0 232 64.5t171.5 178.5t103.5 268.5t36 335.5q0 197 -41.5 349t-116 246.5t-174.5 142.5t-221 48q-166 0 -347 -82 q-43 -19 -43 -62q0 -29 21 -52.5t49 -23.5q14 0 26 6q167 65 284 65q181 0 284.5 -148.5t103.5 -453.5q0 -53 -2 -75q-47 54 -79 82q-135 117 -271 117q-91 0 -173 -37.5t-143.5 -105t-98 -167.5t-36.5 -218q0 -89 27 -172.5t78.5 -152.5t137 -111t192.5 -42z" />
<glyph unicode="&#x2205;" horiz-adv-x="1745" d="M367 75q0 -23 17.5 -43t41.5 -20q14 0 29.5 11.5t22.5 20.5t24 31l81 106q139 -71 291 -71q122 0 234 46t193 123.5t129 184t48 223.5q0 124 -50 233t-139 189l84 111q2 3 12 17.5t14 21t8.5 18t4.5 20.5q0 23 -16.5 41t-39.5 18q-30 0 -52 -29l-111 -147 q-147 89 -319 89q-127 0 -241 -48t-193.5 -127.5t-126 -186t-46.5 -220.5q0 -133 57.5 -247.5t158.5 -194.5l-76 -100q-40 -49 -40 -70zM550 333q-74 65 -115.5 157t-41.5 197q0 201 138.5 336.5t342.5 135.5q137 0 252 -67zM648 267l572 752q133 -135 133 -332 q0 -135 -65.5 -244t-174.5 -168.5t-239 -59.5q-122 0 -226 52z" />
<glyph unicode="&#x2206;" horiz-adv-x="1226" d="M207 104l404 1128l410 -1128h-814zM8 0h1211l-520 1382q-25 59 -86 59q-27 0 -50.5 -15.5t-34.5 -43.5z" />
<glyph unicode="&#x220f;" horiz-adv-x="1485" d="M372 0q36 0 62 22.5t26 64.5v1191h565v-1192q0 -41 26 -63.5t62 -22.5t62.5 22.5t26.5 63.5l1 1192h138q33 0 51 23t18 55t-18 55t-51 23h-1200q-36 0 -56.5 -23t-20.5 -55t20 -55t56 -23h144v-1191q0 -41 26 -64t62 -23z" />
<glyph unicode="&#x2211;" horiz-adv-x="1175" d="M107 -199h1024q37 0 57 24t20 57t-20 57t-57 24h-850l529 675l-489 648h776q35 0 54 21.5t19 52.5q0 30 -19 52t-54 22h-959q-42 0 -61.5 -19t-19.5 -47q0 -31 18 -54l529 -699l-554 -702q-17 -20 -17 -49q0 -26 18 -44.5t56 -18.5z" />
<glyph unicode="&#x2212;" horiz-adv-x="715" d="M112 452h486q36 0 56.5 22.5t20.5 53.5t-20.5 54.5t-56.5 23.5h-486q-37 0 -57 -23t-20 -54t20.5 -54t56.5 -23z" />
<glyph unicode="&#x2215;" horiz-adv-x="342" d="M131 -166q51 0 70 52l484 1451q5 18 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -52l-480 -1452q-5 -18 -5 -28q0 -31 22 -50t52 -19z" />
<glyph unicode="&#x2219;" horiz-adv-x="569" d="M296 311q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
<glyph unicode="&#x221a;" horiz-adv-x="1310" d="M218 557q-42 0 -73.5 -29t-31.5 -67q0 -21 11 -40l217 -403q34 -73 71.5 -103.5t94.5 -30.5q62 0 103.5 30.5t65.5 100.5l525 1423q6 18 6 31q0 37 -29 62t-67 25q-28 0 -54.5 -18t-39.5 -51l-509 -1377h-3l-202 394q-28 53 -85 53z" />
<glyph unicode="&#x221e;" horiz-adv-x="1615" d="M1197 366q-77 0 -144.5 50.5t-179.5 176.5q7 7 45.5 50t60 63.5t59.5 51.5t76 45t77 14h3q89 0 147 -62t58 -166q0 -88 -55 -155.5t-147 -67.5zM432 366q-96 0 -155.5 64.5t-59.5 158.5q0 96 55.5 162t147.5 66q36 0 68.5 -8t64.5 -29t52.5 -36t53.5 -51.5t44.5 -50.5 t46.5 -58q-6 -7 -36 -39.5t-41.5 -44t-39.5 -39t-47 -39.5t-45.5 -27.5t-52.5 -22t-53 -6.5h-3zM419 261q49 0 95.5 14t82.5 34.5t77 56t68.5 65t67.5 74.5q110 -128 198 -186t182 -58q130 0 225.5 93t95.5 242v3q0 143 -87 232t-224 89q-48 0 -94 -14.5t-78 -32t-73 -54.5 t-61.5 -58.5t-60.5 -67.5q-11 -12 -16 -18q-46 56 -85.5 95t-87.5 76t-101 55.5t-109 18.5q-142 0 -236.5 -94.5t-94.5 -238.5q0 -138 93.5 -232t222.5 -94z" />
<glyph unicode="&#x222b;" horiz-adv-x="755" d="M167 -336q51 0 93 13t83 48.5t69 93t45 152.5t17 221q0 171 -14.5 519t-14.5 507q0 222 41 318t135 96q41 0 65 18.5t24 45.5q0 26 -26.5 44.5t-76.5 18.5q-320 0 -320 -524q0 -161 15.5 -515t15.5 -526q0 -99 -10 -172t-25.5 -115t-39 -67t-45.5 -33t-49 -8 q-45 0 -69.5 -19t-24.5 -46q0 -28 29 -49t83 -21z" />
<glyph unicode="&#x2248;" horiz-adv-x="1182" d="M810 667q70 0 117 46.5t47 130.5q0 25 -20 42.5t-44 17.5q-28 0 -45 -14t-22 -30t-14.5 -30t-25.5 -14q-22 0 -213.5 44t-250.5 44q-61 0 -115 -45t-54 -132q0 -25 18 -41.5t44 -16.5q27 0 40 10q20 15 33 35.5t22.5 31t29.5 10.5q21 -2 209 -45.5t244 -43.5zM810 301 q70 0 117 46.5t47 130.5q0 25 -20 42.5t-44 17.5q-28 0 -45 -14t-22 -30t-14.5 -30t-25.5 -14q-22 0 -213.5 44t-250.5 44q-61 0 -115 -45t-54 -132q0 -24 18 -40.5t44 -16.5q28 0 40 9q20 15 33 35.5t22.5 31t29.5 10.5q21 -2 209 -45.5t244 -43.5z" />
<glyph unicode="&#x2260;" horiz-adv-x="1170" d="M351 -11q47 0 69 47l117 252h498q34 0 53 21t19 51q0 29 -19 50t-53 21h-435l118 257h317q34 0 52.5 21t18.5 50q0 30 -19 51t-52 21h-254l86 185q8 19 8 36q0 30 -22.5 49t-52.5 19q-50 0 -71 -47l-110 -242h-462q-34 0 -52.5 -20.5t-18.5 -49.5q0 -30 19 -51.5 t52 -21.5h399l-118 -257h-281q-34 0 -52.5 -21t-18.5 -50q0 -30 19 -51t52 -21h219l-90 -196q-10 -17 -8 -35q0 -30 21.5 -49t51.5 -19z" />
<glyph unicode="&#x2264;" horiz-adv-x="1182" d="M160 9h847q28 0 43.5 17.5t15.5 41.5t-15.5 41.5t-43.5 17.5h-847q-28 0 -43 -17.5t-15 -41.5t15 -41.5t43 -17.5zM1032 230q28 0 46.5 21.5t18.5 49.5q0 41 -40 58l-793 350l791 332q42 17 42 59q0 29 -19.5 51t-49.5 22q-14 0 -28 -6l-881 -374q-66 -29 -66 -83 q0 -55 63 -81l885 -392q14 -7 31 -7z" />
<glyph unicode="&#x2265;" horiz-adv-x="1182" d="M168 9h847q28 0 43.5 17.5t15.5 41.5t-15.5 41.5t-43.5 17.5h-847q-27 0 -42.5 -17.5t-15.5 -41.5t15.5 -41.5t42.5 -17.5zM164 240q14 0 29 6l881 374q65 29 65 83q0 56 -63 81l-885 392q-15 6 -30 6q-28 0 -47.5 -21.5t-19.5 -48.5q0 -41 42 -58l792 -350l-790 -332 q-43 -17 -43 -60q0 -29 20 -50.5t49 -21.5z" />
<glyph unicode="&#x25ca;" horiz-adv-x="1219" d="M607 99l-334 622l331 613h7l333 -620l-331 -615h-6zM606 -90q46 0 73 49l422 757l-412 752q-35 62 -79 62t-75 -56l-415 -758l410 -746q32 -60 76 -60z" />
<glyph unicode="&#xfb00;" horiz-adv-x="1332" d="M954 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131 q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph unicode="&#xfb01;" horiz-adv-x="1184" d="M941 1238q53 0 85 28t32 69q0 42 -32 70t-85 28q-52 0 -84.5 -28.5t-32.5 -69.5t32.5 -69t84.5 -28zM320 1q37 0 64 23.5t27 65.5v771h440v-770q0 -44 26 -67.5t63 -23.5t64.5 24.5t27.5 66.5v812q0 44 -28 67t-66 23h-527v32q0 178 19.5 230t100.5 52q20 0 55.5 -5.5 t54.5 -5.5q27 0 43.5 21t16.5 48q0 51 -48 64q-84 23 -161 23q-128 0 -195 -82.5t-67 -271.5v-105h-131q-33 0 -51 -19t-18 -46t18 -47t51 -20h131v-771q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph unicode="&#xfb02;" horiz-adv-x="1184" d="M320 1q37 0 64 23.5t27 65.5v771h154q33 0 51.5 20t18.5 47t-18.5 46t-51.5 19h-154v36q0 173 24.5 234.5t102.5 61.5h246v-1234q0 -44 25.5 -67.5t62.5 -23.5t65 24t28 67v1247q0 43 -26.5 66.5t-63.5 23.5q-34 0 -60 -20.5t-30 -56.5q-5 9 -22.5 23t-51 32t-93 30.5 t-131.5 12.5q-257 -2 -257 -351v-105h-131q-33 0 -51 -19t-18 -46t18 -47t51 -20h131v-771q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph unicode="&#xfb03;" horiz-adv-x="1834" d="M1585 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM1584 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5zM954 0q37 0 64 23.5t27 65.5v777h169 q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131 v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph unicode="&#xfb04;" horiz-adv-x="1837" d="M1586 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM954 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20 t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5 t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph horiz-adv-x="608" d="M281 302h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
<glyph horiz-adv-x="1215" d="M960 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM724 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5 t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
<glyph horiz-adv-x="1347" d="M280 2l389 276l397 -276l-144 459l391 294h-485l-159 460l-150 -460h-485l389 -294zM485 405v267h106l170 -149v149h106v-267h-106l-170 147v-147h-106z" />
<glyph horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM239 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
<glyph horiz-adv-x="600" d="M282 411q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32z" />
<glyph horiz-adv-x="600" d="M80 625l611 201q49 16 49 65q0 29 -19 52t-49 23q-11 0 -26 -5l-610 -199q-53 -17 -53 -70q0 -29 19 -50.5t50 -21.5q11 0 28 5z" />
<hkern u1="&#x30;" u2="&#x31;" k="108" />
<hkern u1="&#x30;" u2="&#x30;" k="-29" />
<hkern u1="&#x31;" u2="&#x39;" k="71" />
<hkern u1="&#x31;" u2="&#x38;" k="50" />
<hkern u1="&#x31;" u2="&#x37;" k="100" />
<hkern u1="&#x31;" u2="&#x36;" k="71" />
<hkern u1="&#x31;" u2="&#x35;" k="71" />
<hkern u1="&#x31;" u2="&#x34;" k="71" />
<hkern u1="&#x31;" u2="&#x33;" k="71" />
<hkern u1="&#x31;" u2="&#x31;" k="165" />
<hkern u1="&#x31;" u2="&#x30;" k="108" />
<hkern u1="&#x31;" u2="&#x2d;" k="108" />
<hkern u1="&#x37;" u2="&#x36;" k="108" />
<hkern u1="&#x37;" u2="&#x34;" k="193" />
<hkern u1="&#x37;" u2="&#x2d;" k="57" />
<hkern u1="D" u2="J" k="79" />
<hkern u1="F" u2="r" k="79" />
<hkern u1="F" u2="g" k="28" />
<hkern u1="F" u2="J" k="251" />
<hkern u1="F" u2="&#x2d;" k="179" />
<hkern u1="H" u2="T" k="64" />
<hkern u1="H" u2="O" k="29" />
<hkern u1="L" u2="&#x201d;" k="475" />
<hkern u1="L" u2="&#x201c;" k="466" />
<hkern u1="L" u2="&#x2019;" k="382" />
<hkern u1="L" u2="&#x2018;" k="337" />
<hkern u1="L" u2="&#x2d;" k="287" />
<hkern u1="c" u2="k" k="71" />
<hkern u1="e" u2="&#x201d;" k="108" />
<hkern u1="e" u2="&#x201c;" k="108" />
<hkern u1="e" u2="&#x2019;" k="36" />
<hkern u1="e" u2="x" k="29" />
<hkern u1="f" u2="&#x201d;" k="60" />
<hkern u1="f" u2="&#x2019;" k="25" />
<hkern u1="f" u2="t" k="71" />
<hkern u1="f" u2="o" k="29" />
<hkern u1="f" u2="f" k="76" />
<hkern u1="n" u2="&#x2019;" k="79" />
<hkern u1="x" u2="&#x2d;" k="115" />
<hkern u1="&#x2018;" u2="&#x2018;" k="183" />
<hkern u1="&#x2019;" u2="&#x2019;" k="183" />
<hkern u1="&#x2019;" u2="t" k="40" />
<hkern u1="&#x2019;" u2="r" k="77" />
<hkern u1="&#x2019;" u2="d" k="211" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 210 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 115 KiB

View file

@ -0,0 +1,88 @@
package com.firstvoices.keyboards;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
class FVKeyboardListAdapter extends ArrayAdapter<FVShared.FVKeyboard> {
Typeface listFont;
private static class ViewHolder {
TextView text1;
ImageButton helpButton;
CheckBox checkBox;
}
FVKeyboardListAdapter(Context context, FVShared.FVRegion regionData) {
super(context, 0, regionData.keyboards);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
ViewHolder holder;
FVShared.FVKeyboard keyboard = getItem(position);
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.keyboard_row_layout, parent, false);
holder = new ViewHolder();
holder.text1 = convertView.findViewById(R.id.text1);
holder.checkBox = convertView.findViewById(R.id.checkBox1);
holder.helpButton = convertView.findViewById(R.id.buttonHelp);
holder.helpButton.setOnClickListener(new FVKeyboardListAdapter.FVOnClickHelpListener());
holder.checkBox.setOnCheckedChangeListener(new FVKeyboardListAdapter.FVOnCheckedChangeListener());
convertView.setTag(holder);
if (listFont != null) {
holder.text1.setTypeface(listFont, Typeface.BOLD);
}
} else {
holder = (ViewHolder) convertView.getTag();
}
if(keyboard != null) {
holder.text1.setText(keyboard.name);
holder.helpButton.setTag(keyboard.id);
holder.checkBox.setTag(keyboard.id);
holder.checkBox.setChecked(FVShared.getInstance().checkState(keyboard.id));
}
return convertView;
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
@Override
public boolean isEnabled(int position) {
return true;
}
private class FVOnClickHelpListener implements ImageButton.OnClickListener {
@Override
public void onClick(View v) {
FVShared.getInstance().helpAction(getContext(), (String)v.getTag());
}
}
private class FVOnCheckedChangeListener implements CheckBox.OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
FVShared.getInstance().setCheckState((String)buttonView.getTag(), isChecked);
}
}
}

View file

@ -0,0 +1,71 @@
package com.firstvoices.keyboards;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.Locale;
final class FVRegionListAdapter extends ArrayAdapter<FVShared.FVRegion> {
Typeface listFont;
private static class ViewHolder {
TextView text1, text2;
}
FVRegionListAdapter(Context context, FVShared.FVRegionList regions) {
super(context, 0, regions);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
ViewHolder holder;
FVShared.FVRegion region = getItem(position);
if(convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.region_row_layout, parent, false);
holder = new ViewHolder();
holder.text1 = convertView.findViewById(R.id.text1);
holder.text2 = convertView.findViewById(R.id.text2);
if (listFont != null) {
holder.text1.setTypeface(listFont, Typeface.BOLD);
holder.text2.setTypeface(listFont, Typeface.NORMAL);
}
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if(region != null) {
holder.text1.setText(region.name);
int kbCount = region.keyboards.size();
int activeKbCount = FVShared.getInstance().activeKeyboardCount(region);
holder.text2.setText(String.format(Locale.US, "%d/%d", activeKbCount, kbCount));
}
return convertView;
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
@Override
public boolean isEnabled(int position) {
return true;
}
}

View file

@ -0,0 +1,406 @@
package com.firstvoices.keyboards;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.AssetManager;
import android.net.Uri;
import android.util.Log;
import com.tavultesoft.kmea.KMManager;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
final class FVShared {
private static FVShared instance = null;
private static final String FVLoadedKeyboardList = "loaded_keyboards.dat";
// Keys from earlier versions of app, used only in the upgrade process
private static final String FVUpgrade_KeyboardList = "keyboard_list.dat";
private static final String FVUpgrade_KeyboardListHashKey = "FVKeyboardListHash";
private static final String FVUpgrade_Preferences = "FVPreferences";
private static final String FVUpgrade_KeyboardFilenameKey = "FVKeyboardFilename";
private static final String FVUpgrade_KeyboardCheckStateKey = "FVKeyboardCheckState";
private static final String FVKeyboardHelpLink = "http://help.keyman.com/keyboard/";
/// Describes a keyboard used in FirstVoices Keyboards
static class FVKeyboard {
final String id, name, legacyId;
FVKeyboard(String id, String name, String legacyId) {
this.id = id;
this.name = name;
this.legacyId = legacyId;
}
}
static class FVKeyboardList extends ArrayList<FVKeyboard> {
FVKeyboardList() {
super();
}
}
/// Keyboards are grouped by region in the keyboards.csv data
/// The order of the keyboards in the csv is the final order
/// shown everywhere in the app
static class FVRegion {
final String name;
final FVKeyboardList keyboards;
FVRegion(String name) {
this.name = name;
this.keyboards = new FVKeyboardList();
}
}
static class FVRegionList extends ArrayList<FVRegion> {
FVRegionList() {
super();
}
FVRegion findRegion(String name) {
for(FVRegion r : this) {
if(r.name.equals(name)) {
return r;
}
}
return null;
}
}
static class FVLoadedKeyboardList extends ArrayList<String> {
FVLoadedKeyboardList() {
super();
}
}
FVShared(Context context) {
// We only want a single instance
assert(instance == null);
instance = this;
this.context = context.getApplicationContext();
this.regionList = loadRegionList();
this.loadedKeyboards = loadLoadedKeyboardList();
}
private final Context context;
private final FVRegionList regionList;
private final FVLoadedKeyboardList loadedKeyboards;
static FVShared getInstance() {
// This 'singleton' requires initialization, so
// we cannot lazily instanatiate.
assert(instance != null);
return instance;
}
private FVRegionList loadRegionList() {
FVRegionList list = new FVRegionList();
try {
InputStream inputStream = context.getAssets().open("keyboards.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
reader.readLine(); // skip header row
String line = reader.readLine();
while (line != null) {
while (line.contains(",,"))
line = line.replace(",,", ", ,");
String[] values = line.split(",");
if (values.length > 0) {
// Columns: shortname,id,name,region,legacyId
String kbId = values[1];
String kbName = values[2];
String regionName = values[3];
String legacyId = values[4];
FVRegion region = list.findRegion(regionName);
if(region == null) {
region = new FVRegion(regionName);
list.add(region);
}
FVKeyboard keyboard = new FVKeyboard(kbId, kbName, legacyId);
region.keyboards.add(keyboard);
}
line = reader.readLine();
}
inputStream.close();
}
catch (Exception e) {
Log.e("createKeyboardList", "Error: " + e);
// We'll return a malformed list for now in this situation
}
return list;
}
private FVLoadedKeyboardList loadLoadedKeyboardList() {
FVLoadedKeyboardList data = new FVLoadedKeyboardList();
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVLoadedKeyboardList);
if (file.exists()) {
try {
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file));
data = (FVLoadedKeyboardList) inputStream.readObject();
inputStream.close();
}
catch (Exception e) {
Log.e("loadData", "Error: " + e);
}
}
return data;
}
private void saveLoadedKeyboardList() {
try {
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVLoadedKeyboardList);
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(file));
outputStream.writeObject(loadedKeyboards);
outputStream.flush();
outputStream.close();
}
catch (Exception e) {
Log.e("saveLoadedKeyboardList", "Error: " + e);
}
updateActiveKeyboardsList();
}
FVRegionList getRegionList() {
return regionList;
}
int activeKeyboardCount() {
return loadedKeyboards.size();
}
int activeKeyboardCount(FVRegion region) {
int count = 0;
for (FVKeyboard keyboard : region.keyboards) {
if (loadedKeyboards.contains(keyboard.id)) count++;
}
return count;
}
boolean checkState(String id) {
return loadedKeyboards.contains(id);
}
void setCheckState(String id, boolean isChecked) {
// Remove the keyboard from the list first
loadedKeyboards.remove(id);
if(isChecked) {
loadedKeyboards.add(id);
}
saveLoadedKeyboardList();
}
void helpAction(Context localContext, String id) {
String helpUrl = String.format("%s%s", FVKeyboardHelpLink, id);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(helpUrl));
localContext.startActivity(i);
}
private void updateActiveKeyboardsList() {
// Clear existing active keyboards list
ArrayList<HashMap<String, String>> activeKbList = KMManager.getKeyboardsList(context);
if (activeKbList != null) {
int len = activeKbList.size();
for (int i = len-1; i >= 0; i--)
KMManager.removeKeyboard(context, i);
}
// Recreate active keyboards list
for(FVRegion region : regionList) {
for(FVKeyboard keyboard : region.keyboards) {
if(loadedKeyboards.contains(keyboard.id)) {
// Load the .keyboard_info file and find its first language code
HashMap<String, String> kbInfo = new HashMap<>();
kbInfo.put(KMManager.KMKey_PackageID, keyboard.id); //TODO: we want to share keyboard build scripts between ios and android; can we do this?
kbInfo.put(KMManager.KMKey_KeyboardID, keyboard.id);
kbInfo.put(KMManager.KMKey_LanguageID, "en"); //TODO: use language code from kmp.json
kbInfo.put(KMManager.KMKey_KeyboardName, keyboard.name);
kbInfo.put(KMManager.KMKey_LanguageName, keyboard.name);
kbInfo.put(KMManager.KMKey_KeyboardVersion, "1.0"); //TODO: use keyboard version from kmp.json
kbInfo.put(KMManager.KMKey_Font, "NotoSansCanadianAboriginal.ttf");
kbInfo.put(KMManager.KMKey_CustomKeyboard, "Y");
kbInfo.put(KMManager.KMKey_CustomHelpLink, String.format("%s%s", FVKeyboardHelpLink, keyboard.id));
KMManager.addKeyboard(context, kbInfo);
}
}
}
activeKbList = KMManager.getKeyboardsList(context);
if (activeKbList != null) {
if (activeKbList.size() > 0) {
if (KMManager.getCurrentKeyboardIndex(context) < 0)
KMManager.setKeyboard(context, 0);
}
else {
// Add a default keyboard in if none are available
HashMap<String, String> kbInfo = new HashMap<>();
kbInfo.put(KMManager.KMKey_KeyboardID, KMManager.KMDefault_KeyboardID);
kbInfo.put(KMManager.KMKey_LanguageID, KMManager.KMDefault_LanguageID);
kbInfo.put(KMManager.KMKey_KeyboardName, KMManager.KMDefault_KeyboardName);
kbInfo.put(KMManager.KMKey_LanguageName, KMManager.KMDefault_LanguageName);
//kbInfo.put(KMManager.KMKey_KeyboardVersion, KMManager.getLatestKeyboardFileVersion(context, KMManager.KMDefault_KeyboardID));
kbInfo.put(KMManager.KMKey_Font, KMManager.KMDefault_KeyboardFont);
KMManager.addKeyboard(context, kbInfo);
}
}
}
private String getResourceRoot() {
return context.getDir("data", 0).toString() + File.separator;
}
private String getPackagesDir() {
return getResourceRoot() + "packages" + File.separator;
}
private void createDir(File dir) throws IOException {
if (dir.exists()) {
if (!dir.isDirectory()) {
throw new IOException("Cannot create directory, a file is in the way");
}
} else {
if(!dir.mkdirs() || !dir.isDirectory()) {
throw new IOException("Unable to create directory");
}
}
}
private void copyAssets(String assetSource, String dest) throws IOException {
AssetManager assetManager = context.getAssets();
String[] items = assetManager.list(assetSource);
if(items == null) {
// Nothing found to copy
return;
}
File dest_dir = new File(dest);
createDir(dest_dir);
for(String item : items) {
String assetItem = assetSource + File.separator + item;
String destItem = dest + File.separator + item;
String[] subItems = assetManager.list(assetItem);
if(subItems == null || subItems.length == 0) {
// Is a file or empty folder, try and copy it
InputStream in = assetManager.open(assetItem);
OutputStream out = new FileOutputStream(destItem);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0)
out.write(buf, 0, len);
in.close();
out.close();
} else {
// Is a folder,
copyAssets(assetItem, dest + "/" + item);
}
}
}
void preloadPackages() {
try {
copyAssets("packages", getPackagesDir());
}
catch (Exception e) {
Log.e("preloadPackages", "Error: " + e);
// We'll squawk in this situation
}
}
/// Upgrades from an earlier vesion, converting data structures
/// The data structures in earlier versions were a bit messy
@SuppressWarnings("unchecked")
void upgradeTo12() {
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVUpgrade_KeyboardList);
if(!file.exists()) {
// New install, or already upgraded to 12.0
return;
}
// Remove legacy preferences that are no longer required.
SharedPreferences prefs = context.getSharedPreferences(FVUpgrade_Preferences, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.remove(FVUpgrade_KeyboardListHashKey);
editor.apply();
ArrayList<ArrayList<HashMap<String, String>>> keyboardList;
try {
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file));
keyboardList = (ArrayList<ArrayList<HashMap<String, String>>>) inputStream.readObject();
inputStream.close();
}
catch (Exception e) {
// Unable to load the data from earlier version. Log the issue, then we will
// just delete the file and give up on it. The user will have to reconfigure
// their keyboards but that's not the end of the world.
Log.e("upgradeTo12", "Error: " + e);
if(!file.delete()) {
Log.w("upgradeTo12", "Could not remove legacy data file "+FVUpgrade_KeyboardList);
}
return;
}
// We've loaded the data, so delete the legacy file.
if(!file.delete()) {
Log.w("upgradeTo12", "Could not remove legacy data file "+FVUpgrade_KeyboardList);
}
// Iterate through the keyboards and prepare the new active keyboard list
loadedKeyboards.clear();
int len1 = keyboardList.size();
for (int i = 0; i < len1; i+=2) {
ArrayList<HashMap<String, String>> kbSubList = keyboardList.get(i+1);
int len2 = kbSubList.size();
for (int j = 0; j < len2; j++) {
HashMap<String, String> kbDict = kbSubList.get(j);
String checkState = kbDict.get(FVUpgrade_KeyboardCheckStateKey);
String kbFilename = kbDict.get(FVUpgrade_KeyboardFilenameKey);
if (checkState != null && kbFilename != null && checkState.equals("Y")) {
// The keyboard is loaded, so find the equivalent entry in the
// legacyId column
boolean found = false;
for (FVRegion region : regionList) {
for (FVKeyboard keyboard : region.keyboards) {
if (keyboard.legacyId.equalsIgnoreCase(kbFilename)) {
loadedKeyboards.add(keyboard.id);
found = true;
break;
}
}
if (found) break;
}
}
}
}
saveLoadedKeyboardList();
}
}

View file

@ -0,0 +1,74 @@
package com.firstvoices.keyboards;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
public final class KeyboardListActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Context context = this;
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.list_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.keyboard_title_layout);
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
TextView title = findViewById(R.id.bar_title);
title.setText(getIntent().getStringExtra("regionName"));
ListView listView = findViewById(R.id.listView);
int regionIndex = getIntent().getIntExtra("regionIndex", 0);
FVShared.FVRegionList regionList = FVShared.getInstance().getRegionList();
FVShared.FVRegion region = regionList.get(regionIndex);
FVKeyboardListAdapter listAdapter = new FVKeyboardListAdapter(context, region);
listAdapter.listFont = Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf");
listView.setAdapter(listAdapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//
}
});
final ImageButton backButton = findViewById(R.id.left_button);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showRegionList();
finish();
}
});
}
@Override
public void onBackPressed() {
showRegionList();
super.onBackPressed();
}
private void showRegionList() {
// Return to region list with scroll position and selection set as per history
Intent i = new Intent(this, RegionListActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("listPosition", getIntent().getIntExtra("listPosition", 0));
i.putExtra("offsetY", getIntent().getIntExtra("offsetY", 0));
startActivity(i);
}
}

View file

@ -0,0 +1,162 @@
package com.firstvoices.keyboards;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
//import android.support.v8.app.ActionBarActivity;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
import androidx.appcompat.app.AppCompatActivity;
import com.tavultesoft.kmea.*;
public class MainActivity extends AppCompatActivity {
@SuppressWarnings("SetJavascriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
new FVShared(this);
FVShared.getInstance().upgradeTo12();
FVShared.getInstance().preloadPackages();
if (BuildConfig.DEBUG) {
KMManager.setDebugMode(true);
}
KMManager.initialize(getApplicationContext(), KMManager.KeyboardType.KEYBOARD_TYPE_INAPP);
final Context context = this;
final String htmlPath = "file:///android_asset/setup/main.html";
WebView webView = findViewById(R.id.webView);
webView.addJavascriptInterface(new JSHandler(context), "jsInterface");
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
/*
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webView.setWebContentsDebuggingEnabled(true);
}*/
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equals(htmlPath)) {
view.loadUrl(url);
}
else {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
if (didCompleteSelectKeyboard())
view.loadUrl("javascript:setCheckBox1On();");
else
view.loadUrl("javascript:setCheckBox1Off();");
if (didCompleteSetup())
view.loadUrl("javascript:setCheckBox2On();");
else
view.loadUrl("javascript:setCheckBox2Off();");
}
});
webView.loadUrl(htmlPath);
}
@Override
protected void onResume() {
super.onResume();
WebView webView = findViewById(R.id.webView);
if (webView != null) {
if (didCompleteSelectKeyboard())
webView.loadUrl("javascript:setCheckBox1On();");
else
webView.loadUrl("javascript:setCheckBox1Off();");
if (didCompleteSetup())
webView.loadUrl("javascript:setCheckBox2On();");
else
webView.loadUrl("javascript:setCheckBox2Off();");
}
}
/*
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
*/
private static final class JSHandler {
final private Context context;
JSHandler(Context context) { this.context = context; }
@SuppressWarnings("unused")
@JavascriptInterface
public void showSetup() {
Intent setupIntent = new Intent(context, SetupActivity.class);
context.startActivity(setupIntent);
}
@SuppressWarnings("unused")
@JavascriptInterface
public void showRegionList() {
Intent i = new Intent(context, RegionListActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
context.startActivity(i);
}
}
private boolean didCompleteSelectKeyboard() {
return FVShared.getInstance().activeKeyboardCount() > 0;
}
private boolean didCompleteSetup() {
if (!SetupActivity.isEnabledSystemWide(this))
return false;
return SetupActivity.isDefaultKB(this);
}
}

View file

@ -0,0 +1,63 @@
package com.firstvoices.keyboards;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ListView;
public final class RegionListActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Context context = this;
final FVShared.FVRegionList regionList = FVShared.getInstance().getRegionList();
// Setup layout
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.list_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.region_title_layout);
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
FVRegionListAdapter listAdapter = new FVRegionListAdapter(context, regionList);
listAdapter.listFont = Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf");
final ListView listView = findViewById(R.id.listView);
listView.setAdapter(listAdapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(context, KeyboardListActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.putExtra("regionName", regionList.get(position).name);
i.putExtra("regionIndex", position);
// State to allow return to previous position
int listPosition = listView.getFirstVisiblePosition();
i.putExtra("listPosition", listPosition);
View v = listView.getChildAt(0);
int offsetY = (v == null) ? 0 : v.getTop();
i.putExtra("offsetY", offsetY);
startActivity(i);
}
});
listView.setSelectionFromTop(getIntent().getIntExtra("listPosition", 0), getIntent().getIntExtra("offsetY", 0));
final ImageButton backButton = findViewById(R.id.left_button);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
}
}

View file

@ -0,0 +1,152 @@
package com.firstvoices.keyboards;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class SetupActivity extends Activity {
private ListView listView = null;
private SimpleAdapter listAdapter = null;
private ArrayList<HashMap<String, String>> list = null;
private final String iconKey = "icon";
private final String textKey = "text";
private final String isEnabledKey = "isEnabled";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Context context = this;
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.setup_list_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setup_title_layout);
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
listView = findViewById(R.id.listView);
final ImageButton closeButton = findViewById(R.id.close_button);
closeButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
list = new ArrayList<>();
HashMap<String, String> hashMap;
hashMap = new HashMap<>();
hashMap.put(iconKey, "0");
hashMap.put(textKey, "Enable 'FirstVoices'");
hashMap.put(isEnabledKey, "true");
list.add(hashMap);
hashMap = new HashMap<>();
hashMap.put(iconKey, "0");
hashMap.put(textKey, "Choose 'FirstVoices' as current input method");
hashMap.put(isEnabledKey, "false");
list.add(hashMap);
String[] from = new String[]{ iconKey, textKey };
int[] to = new int[] { R.id.left_icon, R.id.text };
listAdapter = new SimpleAdapter(context, list, R.layout.setup_row_layout, from, to);
listView.setAdapter(listAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
startActivity(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS));
}
else if (position == 1) {
InputMethodManager imManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if(imManager != null) {
imManager.showInputMethodPicker();
} else {
Log.e("setupActivity.onCreate", "Failed to get system service INPUT_METHOD_SERVICE");
}
}
}
});
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
String checkbox_off = String.valueOf(android.R.drawable.checkbox_off_background);
String checkbox_on = String.valueOf(android.R.drawable.checkbox_on_background);
if (isEnabledSystemWide(this)) {
list.get(0).put(iconKey, checkbox_on);
list.get(1).put(isEnabledKey, "true");
}
else {
list.get(0).put(iconKey, checkbox_off);
list.get(1).put(isEnabledKey, "false");
}
if (isDefaultKB(this))
list.get(1).put(iconKey, checkbox_on);
else
list.get(1).put(iconKey, checkbox_off);
String[] from = new String[]{ iconKey, textKey };
int[] to = new int[] { R.id.left_icon, R.id.text };
listAdapter = new SimpleAdapter(this, list, R.layout.setup_row_layout, from, to);
listView.setAdapter(listAdapter);
}
}
static boolean isEnabledSystemWide(Context context) {
InputMethodManager imManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
if(imManager == null) {
Log.e("isEnabledSystemWide", "Failed to get system service INPUT_METHOD_SERVICE");
return false;
}
List<InputMethodInfo> imList = imManager.getEnabledInputMethodList();
if(imList == null) {
Log.e("isEnabledSystemWide", "Failed to get enabled input method list");
return false;
}
final int size = imList.size();
for(int i = 0; i < size; i++) {
if (imList.get(i).getServiceName().equals("com.firstvoices.keyboards.SystemKeyboard")) {
return true;
}
}
return false;
}
static boolean isDefaultKB(Context context) {
String inputMethod = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
return inputMethod.equals("com.firstvoices.keyboards/.SystemKeyboard");
}
}

View file

@ -0,0 +1,193 @@
package com.firstvoices.keyboards;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Point;
import android.graphics.Typeface;
import android.inputmethodservice.InputMethodService;
import android.view.Display;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
import com.tavultesoft.kmea.KMHardwareKeyboardInterpreter;
import com.tavultesoft.kmea.KMManager;
import com.tavultesoft.kmea.KMManager.KeyboardType;
import com.tavultesoft.kmea.KeyboardEventHandler;
public class SystemKeyboard extends InputMethodService implements KeyboardEventHandler.OnKeyboardEventListener {
private View inputView = null;
private KMHardwareKeyboardInterpreter interpreter = null;
/** Main initialization of the input method component. Be sure to call
* to super class. */
@Override
public void onCreate() {
super.onCreate();
KMManager.setDebugMode(false); // *** TO DO: Disable/delete before publishing a new release ***
KMManager.addKeyboardEventListener(this);
KMManager.setCanAddNewKeyboard(false);
KMManager.setCanRemoveKeyboard(false);
KMManager.setShouldCheckKeyboardUpdates(false);
KMManager.setKeyboardPickerFont(Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf"));
KMManager.initialize(getApplicationContext(), KeyboardType.KEYBOARD_TYPE_SYSTEM);
interpreter = new KMHardwareKeyboardInterpreter(getApplicationContext(), KeyboardType.KEYBOARD_TYPE_SYSTEM);
KMManager.setInputMethodService(this); // for HW interface
}
@Override
public void onDestroy() {
inputView = null;
KMManager.removeKeyboardEventListener(this);
interpreter = null; // Throw it away, since we're losing our application's context.
KMManager.onDestroy();
super.onDestroy();
}
/** This is the point where you can do all of your UI initialization. It
* is called after creation and any configuration change. */
@Override
public void onInitializeInterface() {
super.onInitializeInterface();
}
/** Called by the framework when your view for creating input needs to
* be generated. This will be called the first time your input method
* is displayed, and every time it needs to be re-created such as due to
* a configuration change. */
@Override
public View onCreateInputView() {
// create the inputView only once
if (inputView == null)
inputView = KMManager.createInputView(this);
// we must remove the inputView from its previous parent before returning it
ViewGroup parent = (ViewGroup) inputView.getParent();
if (parent != null)
parent.removeView(inputView);
return inputView;
}
/** Deal with the editor reporting movement of its cursor. */
@Override
public void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd) {
super.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd, candidatesStart, candidatesEnd);
// Selection range has changed, we should pass it to Keyman Engine
KMManager.updateSelectionRange(KeyboardType.KEYBOARD_TYPE_SYSTEM, newSelStart, newSelEnd);
}
/** This is the main point where we do our initialization of the input method
* to begin operating on an application. At this point we have been
* bound to the client, and are now receiving all of the detailed information
* about the target of our edits. */
@Override
public void onStartInput(EditorInfo attribute, boolean restarting) {
// Disable IME fullscreen mode
attribute.imeOptions |= EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_FLAG_NO_FULLSCREEN;
super.onStartInput(attribute, restarting);
KMManager.onStartInput(attribute, restarting);
// User switched to a new input field so we should extract the text from input field
// and pass it to Keyman Engine together with selection range
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ExtractedText icText = ic.getExtractedText(new ExtractedTextRequest(), 0);
if (icText != null) {
KMManager.updateText(KeyboardType.KEYBOARD_TYPE_SYSTEM, icText.text.toString());
int selStart = icText.startOffset + icText.selectionStart;
int selEnd = icText.startOffset + icText.selectionEnd;
KMManager.updateSelectionRange(KeyboardType.KEYBOARD_TYPE_SYSTEM, selStart, selEnd);
}
}
if (KMManager.getCurrentKeyboardIndex(this) < 0)
KMManager.setKeyboard(this, 0);
}
@Override
public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
}
@Override
public void onUpdateExtractingVisibility(EditorInfo ei) {
super.onUpdateExtractingVisibility(ei);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
KMManager.onConfigurationChanged(newConfig);
}
@Override
public void onComputeInsets(Insets outInsets) {
super.onComputeInsets(outInsets);
// We should extend the touchable region so that Keyman sub keys menu can receive touch events outside the keyboard frame
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
if(wm == null) return;
Point size = new Point(0, 0);
Display display = wm.getDefaultDisplay();
if(display == null) return;
display.getSize(size);
int inputViewHeight = 0;
if (inputView != null)
inputViewHeight = inputView.getHeight();
int kbHeight = KMManager.getKeyboardHeight(this);
outInsets.contentTopInsets = inputViewHeight - kbHeight;
outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_REGION;
outInsets.touchableRegion.set(0, outInsets.contentTopInsets, size.x, size.y);
}
@Override
public void onKeyboardLoaded(KeyboardType keyboardType) {
// Handle Keyman keyboard loaded event here if needed
}
@Override
public void onKeyboardChanged(String newKeyboard) {
// Handle Keyman keyboard changed event here if needed
}
@Override
public void onKeyboardShown() {
// Handle Keyman keyboard shown event here if needed
}
@Override
public void onKeyboardDismissed() {
// Handle Keyman keyboard dismissed event here if needed
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return interpreter.onKeyDown(keyCode, event); // if false, will revert to default handling.
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return interpreter.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyMultiple(int keyCode, int count, KeyEvent event) {
return interpreter.onKeyMultiple(keyCode, count, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
return interpreter.onKeyLongPress(keyCode, event);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,14 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_item" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:orientation="vertical"
android:id="@+id/linearLayout">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:orientation="horizontal"
android:id="@+id/linearLayout2">
<ImageButton
android:id="@+id/buttonHelp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:selectableItemBackground"
android:src="@drawable/ic_action_help"
android:contentDescription="@string/image_button" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/left_button"
style="?android:attr/actionButtonStyle"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="@string/image_button"
android:src="@drawable/ic_action_back" />
<TextView
android:id="@+id/bar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/keyboards"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_item" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:orientation="vertical" >
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:textSize="14sp" />
</LinearLayout>
<ImageView
android:id="@+id/imageNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:src="@drawable/ic_action_next"
android:contentDescription="@string/image_view" />
</RelativeLayout>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/left_button"
style="?android:attr/actionButtonStyle"
android:layout_width="32dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="@string/image_button"
android:src="@drawable/ic_action_back" />
<TextView
android:id="@+id/bar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/regions"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/listView" >
<View
android:id="@+id/separator"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentTop="true"
android:background="@color/firstvoices_red" />
<View
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_below="@+id/separator"
android:background="@android:color/white" />
</RelativeLayout>
</RelativeLayout>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/left_icon"
style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="@string/image_view" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/left_icon"
android:layout_centerVertical="true"
android:textSize="14sp"
android:textStyle="normal" />
</RelativeLayout>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="@string/image_view"
android:src="@drawable/ic_action_setup" />
<TextView
android:id="@+id/menu_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/setup"
android:textSize="20sp"
android:textStyle="bold" />
<ImageButton
android:id="@+id/close_button"
style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:contentDescription="@string/image_button"
android:src="@android:drawable/ic_menu_close_clear_cancel" />
</RelativeLayout>

View file

@ -0,0 +1,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never" />
</menu>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Some files were not shown because too many files have changed in this diff Show more