Skip to content

Instantly share code, notes, and snippets.

@AntonTrollback
Created October 9, 2017 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AntonTrollback/86078cea43f47a9ce31611f750066ea7 to your computer and use it in GitHub Desktop.
Save AntonTrollback/86078cea43f47a9ce31611f750066ea7 to your computer and use it in GitHub Desktop.
requirebin sketch
const html = require('bel');
const labelTexts = [
"Fin de la|Pobreza",
'Hambre|Cero',
'Salud|y Bienestar',
'Educatión|de Calidad',
'Igualdad|de Género',
'Agua Limpia|y Saneamiento',
'Energía Asequible|y No Contaminante',
'Trabajo decente|y Crecimiento|Económico',
'Industria,|Innovación e|Infraestructura',
'Reducción de las|Desigualdades',
'Ciudades y|Comunidades|Sostenbiles',
'Producción y|Consumo|Responsables',
'Acción por|el Clima',
'Vida|Submarina',
'Vida de|Ecosistemas|Terrestres',
'Paz, Justicia e|Instituciones|Sõlidas',
'Alianzas Para|Lograr los Objetivos'
]
const items = document.querySelectorAll('.Icon-label');
items.forEach(function(item, index) {
const label = createLabel(index + 1, labelTexts[index], 'GoalGrid');
item.parentElement.replaceChild(label, item);
});
function createLabel(number, text, componentName = 'GoalGrid') {
const lines = text.split('|');
const longLine = lines.find((line) => line.length > 14);
const longerLine = lines.find((line) => line.length > 17);
const doubleDigit = (number > 9);
const viewBoxHeight = lines.length * 24;
let textPos = 57;
textPos -= longLine ? 4 : 0;
textPos -= longerLine ? 6 : 0;
textPos += doubleDigit ? 5 : 0;
let digitPos = 30;
digitPos -= longerLine ? 4 : 0;
const lineStyles = (line) => {
let longLine = line.length > 14;
let longerLine = line.length > 19;
let wordSpacing = '1.5';
let letterSpacing = '0.5';
wordSpacing = longLine ? '1.2' : wordSpacing;
wordSpacing = longerLine ? '0.5' : wordSpacing;
letterSpacing = longLine ? '0.3' : letterSpacing;
letterSpacing = longerLine ? '-0.05' : letterSpacing;
return {
wordSpacing: wordSpacing,
letterSpacing: letterSpacing
};
};
return html`
<svg role="presentational" aria-hidden="true" class="Icon-label ${ componentName }-iconLabel" viewBox="0 0 200 ${ viewBoxHeight }">
<g transform="scale(0.94)">
<text class="Icon-number ${ componentName }-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="${ digitPos }" y="41" letter-spacing="-0.1" text-anchor="middle">${ number }</tspan>
</text>
<text class="Icon-text ${ componentName }-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
${ lines.map(line => {
const styles = lineStyles(line);
return html`
<tspan x="${ textPos }" dy="24" word-spacing="${ styles.wordSpacing }" letter-spacing="${ styles.letterSpacing }" text-anchor="start">${ line }</tspan>
`;
}) }
</text>
</g>
</svg>
`;
}
setTimeout(function(){
;require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
},{}],2:[function(require,module,exports){
(function (global){
var topLevel = typeof global !== 'undefined' ? global :
typeof window !== 'undefined' ? window : {}
var minDoc = require('min-document');
if (typeof document !== 'undefined') {
module.exports = document;
} else {
var doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
if (!doccy) {
doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;
}
module.exports = doccy;
}
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"min-document":1}],3:[function(require,module,exports){
(function (global){
if (typeof window !== "undefined") {
module.exports = window;
} else if (typeof global !== "undefined") {
module.exports = global;
} else if (typeof self !== "undefined"){
module.exports = self;
} else {
module.exports = {};
}
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],4:[function(require,module,exports){
var attrToProp = require('hyperscript-attribute-to-property')
var VAR = 0, TEXT = 1, OPEN = 2, CLOSE = 3, ATTR = 4
var ATTR_KEY = 5, ATTR_KEY_W = 6
var ATTR_VALUE_W = 7, ATTR_VALUE = 8
var ATTR_VALUE_SQ = 9, ATTR_VALUE_DQ = 10
var ATTR_EQ = 11, ATTR_BREAK = 12
module.exports = function (h, opts) {
h = attrToProp(h)
if (!opts) opts = {}
var concat = opts.concat || function (a, b) {
return String(a) + String(b)
}
return function (strings) {
var state = TEXT, reg = ''
var arglen = arguments.length
var parts = []
for (var i = 0; i < strings.length; i++) {
if (i < arglen - 1) {
var arg = arguments[i+1]
var p = parse(strings[i])
var xstate = state
if (xstate === ATTR_VALUE_DQ) xstate = ATTR_VALUE
if (xstate === ATTR_VALUE_SQ) xstate = ATTR_VALUE
if (xstate === ATTR_VALUE_W) xstate = ATTR_VALUE
if (xstate === ATTR) xstate = ATTR_KEY
p.push([ VAR, xstate, arg ])
parts.push.apply(parts, p)
} else parts.push.apply(parts, parse(strings[i]))
}
var tree = [null,{},[]]
var stack = [[tree,-1]]
for (var i = 0; i < parts.length; i++) {
var cur = stack[stack.length-1][0]
var p = parts[i], s = p[0]
if (s === OPEN && /^\//.test(p[1])) {
var ix = stack[stack.length-1][1]
if (stack.length > 1) {
stack.pop()
stack[stack.length-1][0][2][ix] = h(
cur[0], cur[1], cur[2].length ? cur[2] : undefined
)
}
} else if (s === OPEN) {
var c = [p[1],{},[]]
cur[2].push(c)
stack.push([c,cur[2].length-1])
} else if (s === ATTR_KEY || (s === VAR && p[1] === ATTR_KEY)) {
var key = ''
var copyKey
for (; i < parts.length; i++) {
if (parts[i][0] === ATTR_KEY) {
key = concat(key, parts[i][1])
} else if (parts[i][0] === VAR && parts[i][1] === ATTR_KEY) {
if (typeof parts[i][2] === 'object' && !key) {
for (copyKey in parts[i][2]) {
if (parts[i][2].hasOwnProperty(copyKey) && !cur[1][copyKey]) {
cur[1][copyKey] = parts[i][2][copyKey]
}
}
} else {
key = concat(key, parts[i][2])
}
} else break
}
if (parts[i][0] === ATTR_EQ) i++
var j = i
for (; i < parts.length; i++) {
if (parts[i][0] === ATTR_VALUE || parts[i][0] === ATTR_KEY) {
if (!cur[1][key]) cur[1][key] = strfn(parts[i][1])
else cur[1][key] = concat(cur[1][key], parts[i][1])
} else if (parts[i][0] === VAR
&& (parts[i][1] === ATTR_VALUE || parts[i][1] === ATTR_KEY)) {
if (!cur[1][key]) cur[1][key] = strfn(parts[i][2])
else cur[1][key] = concat(cur[1][key], parts[i][2])
} else {
if (key.length && !cur[1][key] && i === j
&& (parts[i][0] === CLOSE || parts[i][0] === ATTR_BREAK)) {
// https://html.spec.whatwg.org/multipage/infrastructure.html#boolean-attributes
// empty string is falsy, not well behaved value in browser
cur[1][key] = key.toLowerCase()
}
break
}
}
} else if (s === ATTR_KEY) {
cur[1][p[1]] = true
} else if (s === VAR && p[1] === ATTR_KEY) {
cur[1][p[2]] = true
} else if (s === CLOSE) {
if (selfClosing(cur[0]) && stack.length) {
var ix = stack[stack.length-1][1]
stack.pop()
stack[stack.length-1][0][2][ix] = h(
cur[0], cur[1], cur[2].length ? cur[2] : undefined
)
}
} else if (s === VAR && p[1] === TEXT) {
if (p[2] === undefined || p[2] === null) p[2] = ''
else if (!p[2]) p[2] = concat('', p[2])
if (Array.isArray(p[2][0])) {
cur[2].push.apply(cur[2], p[2])
} else {
cur[2].push(p[2])
}
} else if (s === TEXT) {
cur[2].push(p[1])
} else if (s === ATTR_EQ || s === ATTR_BREAK) {
// no-op
} else {
throw new Error('unhandled: ' + s)
}
}
if (tree[2].length > 1 && /^\s*$/.test(tree[2][0])) {
tree[2].shift()
}
if (tree[2].length > 2
|| (tree[2].length === 2 && /\S/.test(tree[2][1]))) {
throw new Error(
'multiple root elements must be wrapped in an enclosing tag'
)
}
if (Array.isArray(tree[2][0]) && typeof tree[2][0][0] === 'string'
&& Array.isArray(tree[2][0][2])) {
tree[2][0] = h(tree[2][0][0], tree[2][0][1], tree[2][0][2])
}
return tree[2][0]
function parse (str) {
var res = []
if (state === ATTR_VALUE_W) state = ATTR
for (var i = 0; i < str.length; i++) {
var c = str.charAt(i)
if (state === TEXT && c === '<') {
if (reg.length) res.push([TEXT, reg])
reg = ''
state = OPEN
} else if (c === '>' && !quot(state)) {
if (state === OPEN) {
res.push([OPEN,reg])
} else if (state === ATTR_KEY) {
res.push([ATTR_KEY,reg])
} else if (state === ATTR_VALUE && reg.length) {
res.push([ATTR_VALUE,reg])
}
res.push([CLOSE])
reg = ''
state = TEXT
} else if (state === TEXT) {
reg += c
} else if (state === OPEN && /\s/.test(c)) {
res.push([OPEN, reg])
reg = ''
state = ATTR
} else if (state === OPEN) {
reg += c
} else if (state === ATTR && /[\w-]/.test(c)) {
state = ATTR_KEY
reg = c
} else if (state === ATTR && /\s/.test(c)) {
if (reg.length) res.push([ATTR_KEY,reg])
res.push([ATTR_BREAK])
} else if (state === ATTR_KEY && /\s/.test(c)) {
res.push([ATTR_KEY,reg])
reg = ''
state = ATTR_KEY_W
} else if (state === ATTR_KEY && c === '=') {
res.push([ATTR_KEY,reg],[ATTR_EQ])
reg = ''
state = ATTR_VALUE_W
} else if (state === ATTR_KEY) {
reg += c
} else if ((state === ATTR_KEY_W || state === ATTR) && c === '=') {
res.push([ATTR_EQ])
state = ATTR_VALUE_W
} else if ((state === ATTR_KEY_W || state === ATTR) && !/\s/.test(c)) {
res.push([ATTR_BREAK])
if (/[\w-]/.test(c)) {
reg += c
state = ATTR_KEY
} else state = ATTR
} else if (state === ATTR_VALUE_W && c === '"') {
state = ATTR_VALUE_DQ
} else if (state === ATTR_VALUE_W && c === "'") {
state = ATTR_VALUE_SQ
} else if (state === ATTR_VALUE_DQ && c === '"') {
res.push([ATTR_VALUE,reg],[ATTR_BREAK])
reg = ''
state = ATTR
} else if (state === ATTR_VALUE_SQ && c === "'") {
res.push([ATTR_VALUE,reg],[ATTR_BREAK])
reg = ''
state = ATTR
} else if (state === ATTR_VALUE_W && !/\s/.test(c)) {
state = ATTR_VALUE
i--
} else if (state === ATTR_VALUE && /\s/.test(c)) {
res.push([ATTR_VALUE,reg],[ATTR_BREAK])
reg = ''
state = ATTR
} else if (state === ATTR_VALUE || state === ATTR_VALUE_SQ
|| state === ATTR_VALUE_DQ) {
reg += c
}
}
if (state === TEXT && reg.length) {
res.push([TEXT,reg])
reg = ''
} else if (state === ATTR_VALUE && reg.length) {
res.push([ATTR_VALUE,reg])
reg = ''
} else if (state === ATTR_VALUE_DQ && reg.length) {
res.push([ATTR_VALUE,reg])
reg = ''
} else if (state === ATTR_VALUE_SQ && reg.length) {
res.push([ATTR_VALUE,reg])
reg = ''
} else if (state === ATTR_KEY) {
res.push([ATTR_KEY,reg])
reg = ''
}
return res
}
}
function strfn (x) {
if (typeof x === 'function') return x
else if (typeof x === 'string') return x
else if (x && typeof x === 'object') return x
else return concat('', x)
}
}
function quot (state) {
return state === ATTR_VALUE_SQ || state === ATTR_VALUE_DQ
}
var hasOwn = Object.prototype.hasOwnProperty
function has (obj, key) { return hasOwn.call(obj, key) }
var closeRE = RegExp('^(' + [
'area', 'base', 'basefont', 'bgsound', 'br', 'col', 'command', 'embed',
'frame', 'hr', 'img', 'input', 'isindex', 'keygen', 'link', 'meta', 'param',
'source', 'track', 'wbr',
// SVG TAGS
'animate', 'animateTransform', 'circle', 'cursor', 'desc', 'ellipse',
'feBlend', 'feColorMatrix', 'feComposite',
'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap',
'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR',
'feGaussianBlur', 'feImage', 'feMergeNode', 'feMorphology',
'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile',
'feTurbulence', 'font-face-format', 'font-face-name', 'font-face-uri',
'glyph', 'glyphRef', 'hkern', 'image', 'line', 'missing-glyph', 'mpath',
'path', 'polygon', 'polyline', 'rect', 'set', 'stop', 'tref', 'use', 'view',
'vkern'
].join('|') + ')(?:[\.#][a-zA-Z0-9\u007F-\uFFFF_:-]+)*$')
function selfClosing (tag) { return closeRE.test(tag) }
},{"hyperscript-attribute-to-property":5}],5:[function(require,module,exports){
module.exports = attributeToProperty
var transform = {
'class': 'className',
'for': 'htmlFor',
'http-equiv': 'httpEquiv'
}
function attributeToProperty (h) {
return function (tagName, attrs, children) {
for (var attr in attrs) {
if (attr in transform) {
attrs[transform[attr]] = attrs[attr]
delete attrs[attr]
}
}
return h(tagName, attrs, children)
}
}
},{}],6:[function(require,module,exports){
/* global MutationObserver */
var document = require('global/document')
var window = require('global/window')
var watch = Object.create(null)
var KEY_ID = 'onloadid' + (new Date() % 9e6).toString(36)
var KEY_ATTR = 'data-' + KEY_ID
var INDEX = 0
if (window && window.MutationObserver) {
var observer = new MutationObserver(function (mutations) {
if (Object.keys(watch).length < 1) return
for (var i = 0; i < mutations.length; i++) {
if (mutations[i].attributeName === KEY_ATTR) {
eachAttr(mutations[i], turnon, turnoff)
continue
}
eachMutation(mutations[i].removedNodes, turnoff)
eachMutation(mutations[i].addedNodes, turnon)
}
})
observer.observe(document.body, {
childList: true,
subtree: true,
attributes: true,
attributeOldValue: true,
attributeFilter: [KEY_ATTR]
})
}
module.exports = function onload (el, on, off, caller) {
on = on || function () {}
off = off || function () {}
el.setAttribute(KEY_ATTR, 'o' + INDEX)
watch['o' + INDEX] = [on, off, 0, caller || onload.caller]
INDEX += 1
return el
}
function turnon (index, el) {
if (watch[index][0] && watch[index][2] === 0) {
watch[index][0](el)
watch[index][2] = 1
}
}
function turnoff (index, el) {
if (watch[index][1] && watch[index][2] === 1) {
watch[index][1](el)
watch[index][2] = 0
}
}
function eachAttr (mutation, on, off) {
var newValue = mutation.target.getAttribute(KEY_ATTR)
if (sameOrigin(mutation.oldValue, newValue)) {
watch[newValue] = watch[mutation.oldValue]
return
}
if (watch[mutation.oldValue]) {
off(mutation.oldValue, mutation.target)
}
if (watch[newValue]) {
on(newValue, mutation.target)
}
}
function sameOrigin (oldValue, newValue) {
if (!oldValue || !newValue) return false
return watch[oldValue][3] === watch[newValue][3]
}
function eachMutation (nodes, fn) {
var keys = Object.keys(watch)
for (var i = 0; i < nodes.length; i++) {
if (nodes[i] && nodes[i].getAttribute && nodes[i].getAttribute(KEY_ATTR)) {
var onloadid = nodes[i].getAttribute(KEY_ATTR)
keys.forEach(function (k) {
if (onloadid === k) {
fn(k, nodes[i])
}
})
}
if (nodes[i].childNodes.length > 0) {
eachMutation(nodes[i].childNodes, fn)
}
}
}
},{"global/document":2,"global/window":3}],"bel":[function(require,module,exports){
var document = require('global/document')
var hyperx = require('hyperx')
var onload = require('on-load')
var SVGNS = 'http://www.w3.org/2000/svg'
var XLINKNS = 'http://www.w3.org/1999/xlink'
var BOOL_PROPS = {
autofocus: 1,
checked: 1,
defaultchecked: 1,
disabled: 1,
formnovalidate: 1,
indeterminate: 1,
readonly: 1,
required: 1,
selected: 1,
willvalidate: 1
}
var SVG_TAGS = [
'svg',
'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor',
'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile',
'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColorMatrix',
'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting',
'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB',
'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode',
'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting',
'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face',
'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri',
'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line',
'linearGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath',
'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect',
'set', 'stop', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref',
'tspan', 'use', 'view', 'vkern'
]
function belCreateElement (tag, props, children) {
var el
// If an svg tag, it needs a namespace
if (SVG_TAGS.indexOf(tag) !== -1) {
props.namespace = SVGNS
}
// If we are using a namespace
var ns = false
if (props.namespace) {
ns = props.namespace
delete props.namespace
}
// Create the element
if (ns) {
el = document.createElementNS(ns, tag)
} else {
el = document.createElement(tag)
}
// If adding onload events
if (props.onload || props.onunload) {
var load = props.onload || function () {}
var unload = props.onunload || function () {}
onload(el, function belOnload () {
load(el)
}, function belOnunload () {
unload(el)
},
// We have to use non-standard `caller` to find who invokes `belCreateElement`
belCreateElement.caller.caller.caller)
delete props.onload
delete props.onunload
}
// Create the properties
for (var p in props) {
if (props.hasOwnProperty(p)) {
var key = p.toLowerCase()
var val = props[p]
// Normalize className
if (key === 'classname') {
key = 'class'
p = 'class'
}
// The for attribute gets transformed to htmlFor, but we just set as for
if (p === 'htmlFor') {
p = 'for'
}
// If a property is boolean, set itself to the key
if (BOOL_PROPS[key]) {
if (val === 'true') val = key
else if (val === 'false') continue
}
// If a property prefers being set directly vs setAttribute
if (key.slice(0, 2) === 'on') {
el[p] = val
} else {
if (ns) {
if (p === 'xlink:href') {
el.setAttributeNS(XLINKNS, p, val)
} else if (/^xmlns($|:)/i.test(p)) {
// skip xmlns definitions
} else {
el.setAttributeNS(null, p, val)
}
} else {
el.setAttribute(p, val)
}
}
}
}
function appendChild (childs) {
if (!Array.isArray(childs)) return
for (var i = 0; i < childs.length; i++) {
var node = childs[i]
if (Array.isArray(node)) {
appendChild(node)
continue
}
if (typeof node === 'number' ||
typeof node === 'boolean' ||
node instanceof Date ||
node instanceof RegExp) {
node = node.toString()
}
if (typeof node === 'string') {
if (el.lastChild && el.lastChild.nodeName === '#text') {
el.lastChild.nodeValue += node
continue
}
node = document.createTextNode(node)
}
if (node && node.nodeType) {
el.appendChild(node)
}
}
}
appendChild(children)
return el
}
module.exports = hyperx(belCreateElement)
module.exports.default = module.exports
module.exports.createElement = belCreateElement
},{"global/document":2,"hyperx":4,"on-load":6}]},{},[])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcmVzb2x2ZS9lbXB0eS5qcyIsIm5vZGVfbW9kdWxlcy9nbG9iYWwvZG9jdW1lbnQuanMiLCJub2RlX21vZHVsZXMvZ2xvYmFsL3dpbmRvdy5qcyIsIm5vZGVfbW9kdWxlcy9oeXBlcngvaW5kZXguanMiLCJub2RlX21vZHVsZXMvaHlwZXJ4L25vZGVfbW9kdWxlcy9oeXBlcnNjcmlwdC1hdHRyaWJ1dGUtdG8tcHJvcGVydHkvaW5kZXguanMiLCJub2RlX21vZHVsZXMvb24tbG9hZC9pbmRleC5qcyIsImJlbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBOzs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2UUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdkZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIiLCJ2YXIgdG9wTGV2ZWwgPSB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB7fVxudmFyIG1pbkRvYyA9IHJlcXVpcmUoJ21pbi1kb2N1bWVudCcpO1xuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgIG1vZHVsZS5leHBvcnRzID0gZG9jdW1lbnQ7XG59IGVsc2Uge1xuICAgIHZhciBkb2NjeSA9IHRvcExldmVsWydfX0dMT0JBTF9ET0NVTUVOVF9DQUNIRUA0J107XG5cbiAgICBpZiAoIWRvY2N5KSB7XG4gICAgICAgIGRvY2N5ID0gdG9wTGV2ZWxbJ19fR0xPQkFMX0RPQ1VNRU5UX0NBQ0hFQDQnXSA9IG1pbkRvYztcbiAgICB9XG5cbiAgICBtb2R1bGUuZXhwb3J0cyA9IGRvY2N5O1xufVxuIiwiaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdztcbn0gZWxzZSBpZiAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIG1vZHVsZS5leHBvcnRzID0gZ2xvYmFsO1xufSBlbHNlIGlmICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIil7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBzZWxmO1xufSBlbHNlIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHt9O1xufVxuIiwidmFyIGF0dHJUb1Byb3AgPSByZXF1aXJlKCdoeXBlcnNjcmlwdC1hdHRyaWJ1dGUtdG8tcHJvcGVydHknKVxuXG52YXIgVkFSID0gMCwgVEVYVCA9IDEsIE9QRU4gPSAyLCBDTE9TRSA9IDMsIEFUVFIgPSA0XG52YXIgQVRUUl9LRVkgPSA1LCBBVFRSX0tFWV9XID0gNlxudmFyIEFUVFJfVkFMVUVfVyA9IDcsIEFUVFJfVkFMVUUgPSA4XG52YXIgQVRUUl9WQUxVRV9TUSA9IDksIEFUVFJfVkFMVUVfRFEgPSAxMFxudmFyIEFUVFJfRVEgPSAxMSwgQVRUUl9CUkVBSyA9IDEyXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGgsIG9wdHMpIHtcbiAgaCA9IGF0dHJUb1Byb3AoaClcbiAgaWYgKCFvcHRzKSBvcHRzID0ge31cbiAgdmFyIGNvbmNhdCA9IG9wdHMuY29uY2F0IHx8IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIFN0cmluZyhhKSArIFN0cmluZyhiKVxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChzdHJpbmdzKSB7XG4gICAgdmFyIHN0YXRlID0gVEVYVCwgcmVnID0gJydcbiAgICB2YXIgYXJnbGVuID0gYXJndW1lbnRzLmxlbmd0aFxuICAgIHZhciBwYXJ0cyA9IFtdXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0cmluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpIDwgYXJnbGVuIC0gMSkge1xuICAgICAgICB2YXIgYXJnID0gYXJndW1lbnRzW2krMV1cbiAgICAgICAgdmFyIHAgPSBwYXJzZShzdHJpbmdzW2ldKVxuICAgICAgICB2YXIgeHN0YXRlID0gc3RhdGVcbiAgICAgICAgaWYgKHhzdGF0ZSA9PT0gQVRUUl9WQUxVRV9EUSkgeHN0YXRlID0gQVRUUl9WQUxVRVxuICAgICAgICBpZiAoeHN0YXRlID09PSBBVFRSX1ZBTFVFX1NRKSB4c3RhdGUgPSBBVFRSX1ZBTFVFXG4gICAgICAgIGlmICh4c3RhdGUgPT09IEFUVFJfVkFMVUVfVykgeHN0YXRlID0gQVRUUl9WQUxVRVxuICAgICAgICBpZiAoeHN0YXRlID09PSBBVFRSKSB4c3RhdGUgPSBBVFRSX0tFWVxuICAgICAgICBwLnB1c2goWyBWQVIsIHhzdGF0ZSwgYXJnIF0pXG4gICAgICAgIHBhcnRzLnB1c2guYXBwbHkocGFydHMsIHApXG4gICAgICB9IGVsc2UgcGFydHMucHVzaC5hcHBseShwYXJ0cywgcGFyc2Uoc3RyaW5nc1tpXSkpXG4gICAgfVxuXG4gICAgdmFyIHRyZWUgPSBbbnVsbCx7fSxbXV1cbiAgICB2YXIgc3RhY2sgPSBbW3RyZWUsLTFdXVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjdXIgPSBzdGFja1tzdGFjay5sZW5ndGgtMV1bMF1cbiAgICAgIHZhciBwID0gcGFydHNbaV0sIHMgPSBwWzBdXG4gICAgICBpZiAocyA9PT0gT1BFTiAmJiAvXlxcLy8udGVzdChwWzFdKSkge1xuICAgICAgICB2YXIgaXggPSBzdGFja1tzdGFjay5sZW5ndGgtMV1bMV1cbiAgICAgICAgaWYgKHN0YWNrLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBzdGFjay5wb3AoKVxuICAgICAgICAgIHN0YWNrW3N0YWNrLmxlbmd0aC0xXVswXVsyXVtpeF0gPSBoKFxuICAgICAgICAgICAgY3VyWzBdLCBjdXJbMV0sIGN1clsyXS5sZW5ndGggPyBjdXJbMl0gOiB1bmRlZmluZWRcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocyA9PT0gT1BFTikge1xuICAgICAgICB2YXIgYyA9IFtwWzFdLHt9LFtdXVxuICAgICAgICBjdXJbMl0ucHVzaChjKVxuICAgICAgICBzdGFjay5wdXNoKFtjLGN1clsyXS5sZW5ndGgtMV0pXG4gICAgICB9IGVsc2UgaWYgKHMgPT09IEFUVFJfS0VZIHx8IChzID09PSBWQVIgJiYgcFsxXSA9PT0gQVRUUl9LRVkpKSB7XG4gICAgICAgIHZhciBrZXkgPSAnJ1xuICAgICAgICB2YXIgY29weUtleVxuICAgICAgICBmb3IgKDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKHBhcnRzW2ldWzBdID09PSBBVFRSX0tFWSkge1xuICAgICAgICAgICAga2V5ID0gY29uY2F0KGtleSwgcGFydHNbaV1bMV0pXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0c1tpXVswXSA9PT0gVkFSICYmIHBhcnRzW2ldWzFdID09PSBBVFRSX0tFWSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwYXJ0c1tpXVsyXSA9PT0gJ29iamVjdCcgJiYgIWtleSkge1xuICAgICAgICAgICAgICBmb3IgKGNvcHlLZXkgaW4gcGFydHNbaV1bMl0pIHtcbiAgICAgICAgICAgICAgICBpZiAocGFydHNbaV1bMl0uaGFzT3duUHJvcGVydHkoY29weUtleSkgJiYgIWN1clsxXVtjb3B5S2V5XSkge1xuICAgICAgICAgICAgICAgICAgY3VyWzFdW2NvcHlLZXldID0gcGFydHNbaV1bMl1bY29weUtleV1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGtleSA9IGNvbmNhdChrZXksIHBhcnRzW2ldWzJdKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBicmVha1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0c1tpXVswXSA9PT0gQVRUUl9FUSkgaSsrXG4gICAgICAgIHZhciBqID0gaVxuICAgICAgICBmb3IgKDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKHBhcnRzW2ldWzBdID09PSBBVFRSX1ZBTFVFIHx8IHBhcnRzW2ldWzBdID09PSBBVFRSX0tFWSkge1xuICAgICAgICAgICAgaWYgKCFjdXJbMV1ba2V5XSkgY3VyWzFdW2tleV0gPSBzdHJmbihwYXJ0c1tpXVsxXSlcbiAgICAgICAgICAgIGVsc2UgY3VyWzFdW2tleV0gPSBjb25jYXQoY3VyWzFdW2tleV0sIHBhcnRzW2ldWzFdKVxuICAgICAgICAgIH0gZWxzZSBpZiAocGFydHNbaV1bMF0gPT09IFZBUlxuICAgICAgICAgICYmIChwYXJ0c1tpXVsxXSA9PT0gQVRUUl9WQUxVRSB8fCBwYXJ0c1tpXVsxXSA9PT0gQVRUUl9LRVkpKSB7XG4gICAgICAgICAgICBpZiAoIWN1clsxXVtrZXldKSBjdXJbMV1ba2V5XSA9IHN0cmZuKHBhcnRzW2ldWzJdKVxuICAgICAgICAgICAgZWxzZSBjdXJbMV1ba2V5XSA9IGNvbmNhdChjdXJbMV1ba2V5XSwgcGFydHNbaV1bMl0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChrZXkubGVuZ3RoICYmICFjdXJbMV1ba2V5XSAmJiBpID09PSBqXG4gICAgICAgICAgICAmJiAocGFydHNbaV1bMF0gPT09IENMT1NFIHx8IHBhcnRzW2ldWzBdID09PSBBVFRSX0JSRUFLKSkge1xuICAgICAgICAgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmZyYXN0cnVjdHVyZS5odG1sI2Jvb2xlYW4tYXR0cmlidXRlc1xuICAgICAgICAgICAgICAvLyBlbXB0eSBzdHJpbmcgaXMgZmFsc3ksIG5vdCB3ZWxsIGJlaGF2ZWQgdmFsdWUgaW4gYnJvd3NlclxuICAgICAgICAgICAgICBjdXJbMV1ba2V5XSA9IGtleS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzID09PSBBVFRSX0tFWSkge1xuICAgICAgICBjdXJbMV1bcFsxXV0gPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKHMgPT09IFZBUiAmJiBwWzFdID09PSBBVFRSX0tFWSkge1xuICAgICAgICBjdXJbMV1bcFsyXV0gPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKHMgPT09IENMT1NFKSB7XG4gICAgICAgIGlmIChzZWxmQ2xvc2luZyhjdXJbMF0pICYmIHN0YWNrLmxlbmd0aCkge1xuICAgICAgICAgIHZhciBpeCA9IHN0YWNrW3N0YWNrLmxlbmd0aC0xXVsxXVxuICAgICAgICAgIHN0YWNrLnBvcCgpXG4gICAgICAgICAgc3RhY2tbc3RhY2subGVuZ3RoLTFdWzBdWzJdW2l4XSA9IGgoXG4gICAgICAgICAgICBjdXJbMF0sIGN1clsxXSwgY3VyWzJdLmxlbmd0aCA/IGN1clsyXSA6IHVuZGVmaW5lZFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzID09PSBWQVIgJiYgcFsxXSA9PT0gVEVYVCkge1xuICAgICAgICBpZiAocFsyXSA9PT0gdW5kZWZpbmVkIHx8IHBbMl0gPT09IG51bGwpIHBbMl0gPSAnJ1xuICAgICAgICBlbHNlIGlmICghcFsyXSkgcFsyXSA9IGNvbmNhdCgnJywgcFsyXSlcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocFsyXVswXSkpIHtcbiAgICAgICAgICBjdXJbMl0ucHVzaC5hcHBseShjdXJbMl0sIHBbMl0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY3VyWzJdLnB1c2gocFsyXSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzID09PSBURVhUKSB7XG4gICAgICAgIGN1clsyXS5wdXNoKHBbMV0pXG4gICAgICB9IGVsc2UgaWYgKHMgPT09IEFUVFJfRVEgfHwgcyA9PT0gQVRUUl9CUkVBSykge1xuICAgICAgICAvLyBuby1vcFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmhhbmRsZWQ6ICcgKyBzKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0cmVlWzJdLmxlbmd0aCA+IDEgJiYgL15cXHMqJC8udGVzdCh0cmVlWzJdWzBdKSkge1xuICAgICAgdHJlZVsyXS5zaGlmdCgpXG4gICAgfVxuXG4gICAgaWYgKHRyZWVbMl0ubGVuZ3RoID4gMlxuICAgIHx8ICh0cmVlWzJdLmxlbmd0aCA9PT0gMiAmJiAvXFxTLy50ZXN0KHRyZWVbMl1bMV0pKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnbXVsdGlwbGUgcm9vdCBlbGVtZW50cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW4gZW5jbG9zaW5nIHRhZydcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHJlZVsyXVswXSkgJiYgdHlwZW9mIHRyZWVbMl1bMF1bMF0gPT09ICdzdHJpbmcnXG4gICAgJiYgQXJyYXkuaXNBcnJheSh0cmVlWzJdWzBdWzJdKSkge1xuICAgICAgdHJlZVsyXVswXSA9IGgodHJlZVsyXVswXVswXSwgdHJlZVsyXVswXVsxXSwgdHJlZVsyXVswXVsyXSlcbiAgICB9XG4gICAgcmV0dXJuIHRyZWVbMl1bMF1cblxuICAgIGZ1bmN0aW9uIHBhcnNlIChzdHIpIHtcbiAgICAgIHZhciByZXMgPSBbXVxuICAgICAgaWYgKHN0YXRlID09PSBBVFRSX1ZBTFVFX1cpIHN0YXRlID0gQVRUUlxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGMgPSBzdHIuY2hhckF0KGkpXG4gICAgICAgIGlmIChzdGF0ZSA9PT0gVEVYVCAmJiBjID09PSAnPCcpIHtcbiAgICAgICAgICBpZiAocmVnLmxlbmd0aCkgcmVzLnB1c2goW1RFWFQsIHJlZ10pXG4gICAgICAgICAgcmVnID0gJydcbiAgICAgICAgICBzdGF0ZSA9IE9QRU5cbiAgICAgICAgfSBlbHNlIGlmIChjID09PSAnPicgJiYgIXF1b3Qoc3RhdGUpKSB7XG4gICAgICAgICAgaWYgKHN0YXRlID09PSBPUEVOKSB7XG4gICAgICAgICAgICByZXMucHVzaChbT1BFTixyZWddKVxuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfS0VZKSB7XG4gICAgICAgICAgICByZXMucHVzaChbQVRUUl9LRVkscmVnXSlcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSX1ZBTFVFICYmIHJlZy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKFtBVFRSX1ZBTFVFLHJlZ10pXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlcy5wdXNoKFtDTE9TRV0pXG4gICAgICAgICAgcmVnID0gJydcbiAgICAgICAgICBzdGF0ZSA9IFRFWFRcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gVEVYVCkge1xuICAgICAgICAgIHJlZyArPSBjXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IE9QRU4gJiYgL1xccy8udGVzdChjKSkge1xuICAgICAgICAgIHJlcy5wdXNoKFtPUEVOLCByZWddKVxuICAgICAgICAgIHJlZyA9ICcnXG4gICAgICAgICAgc3RhdGUgPSBBVFRSXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IE9QRU4pIHtcbiAgICAgICAgICByZWcgKz0gY1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSICYmIC9bXFx3LV0vLnRlc3QoYykpIHtcbiAgICAgICAgICBzdGF0ZSA9IEFUVFJfS0VZXG4gICAgICAgICAgcmVnID0gY1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSICYmIC9cXHMvLnRlc3QoYykpIHtcbiAgICAgICAgICBpZiAocmVnLmxlbmd0aCkgcmVzLnB1c2goW0FUVFJfS0VZLHJlZ10pXG4gICAgICAgICAgcmVzLnB1c2goW0FUVFJfQlJFQUtdKVxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSX0tFWSAmJiAvXFxzLy50ZXN0KGMpKSB7XG4gICAgICAgICAgcmVzLnB1c2goW0FUVFJfS0VZLHJlZ10pXG4gICAgICAgICAgcmVnID0gJydcbiAgICAgICAgICBzdGF0ZSA9IEFUVFJfS0VZX1dcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gQVRUUl9LRVkgJiYgYyA9PT0gJz0nKSB7XG4gICAgICAgICAgcmVzLnB1c2goW0FUVFJfS0VZLHJlZ10sW0FUVFJfRVFdKVxuICAgICAgICAgIHJlZyA9ICcnXG4gICAgICAgICAgc3RhdGUgPSBBVFRSX1ZBTFVFX1dcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gQVRUUl9LRVkpIHtcbiAgICAgICAgICByZWcgKz0gY1xuICAgICAgICB9IGVsc2UgaWYgKChzdGF0ZSA9PT0gQVRUUl9LRVlfVyB8fCBzdGF0ZSA9PT0gQVRUUikgJiYgYyA9PT0gJz0nKSB7XG4gICAgICAgICAgcmVzLnB1c2goW0FUVFJfRVFdKVxuICAgICAgICAgIHN0YXRlID0gQVRUUl9WQUxVRV9XXG4gICAgICAgIH0gZWxzZSBpZiAoKHN0YXRlID09PSBBVFRSX0tFWV9XIHx8IHN0YXRlID09PSBBVFRSKSAmJiAhL1xccy8udGVzdChjKSkge1xuICAgICAgICAgIHJlcy5wdXNoKFtBVFRSX0JSRUFLXSlcbiAgICAgICAgICBpZiAoL1tcXHctXS8udGVzdChjKSkge1xuICAgICAgICAgICAgcmVnICs9IGNcbiAgICAgICAgICAgIHN0YXRlID0gQVRUUl9LRVlcbiAgICAgICAgICB9IGVsc2Ugc3RhdGUgPSBBVFRSXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfVkFMVUVfVyAmJiBjID09PSAnXCInKSB7XG4gICAgICAgICAgc3RhdGUgPSBBVFRSX1ZBTFVFX0RRXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfVkFMVUVfVyAmJiBjID09PSBcIidcIikge1xuICAgICAgICAgIHN0YXRlID0gQVRUUl9WQUxVRV9TUVxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSX1ZBTFVFX0RRICYmIGMgPT09ICdcIicpIHtcbiAgICAgICAgICByZXMucHVzaChbQVRUUl9WQUxVRSxyZWddLFtBVFRSX0JSRUFLXSlcbiAgICAgICAgICByZWcgPSAnJ1xuICAgICAgICAgIHN0YXRlID0gQVRUUlxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSX1ZBTFVFX1NRICYmIGMgPT09IFwiJ1wiKSB7XG4gICAgICAgICAgcmVzLnB1c2goW0FUVFJfVkFMVUUscmVnXSxbQVRUUl9CUkVBS10pXG4gICAgICAgICAgcmVnID0gJydcbiAgICAgICAgICBzdGF0ZSA9IEFUVFJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gQVRUUl9WQUxVRV9XICYmICEvXFxzLy50ZXN0KGMpKSB7XG4gICAgICAgICAgc3RhdGUgPSBBVFRSX1ZBTFVFXG4gICAgICAgICAgaS0tXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfVkFMVUUgJiYgL1xccy8udGVzdChjKSkge1xuICAgICAgICAgIHJlcy5wdXNoKFtBVFRSX1ZBTFVFLHJlZ10sW0FUVFJfQlJFQUtdKVxuICAgICAgICAgIHJlZyA9ICcnXG4gICAgICAgICAgc3RhdGUgPSBBVFRSXG4gICAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfVkFMVUUgfHwgc3RhdGUgPT09IEFUVFJfVkFMVUVfU1FcbiAgICAgICAgfHwgc3RhdGUgPT09IEFUVFJfVkFMVUVfRFEpIHtcbiAgICAgICAgICByZWcgKz0gY1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoc3RhdGUgPT09IFRFWFQgJiYgcmVnLmxlbmd0aCkge1xuICAgICAgICByZXMucHVzaChbVEVYVCxyZWddKVxuICAgICAgICByZWcgPSAnJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gQVRUUl9WQUxVRSAmJiByZWcubGVuZ3RoKSB7XG4gICAgICAgIHJlcy5wdXNoKFtBVFRSX1ZBTFVFLHJlZ10pXG4gICAgICAgIHJlZyA9ICcnXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBBVFRSX1ZBTFVFX0RRICYmIHJlZy5sZW5ndGgpIHtcbiAgICAgICAgcmVzLnB1c2goW0FUVFJfVkFMVUUscmVnXSlcbiAgICAgICAgcmVnID0gJydcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IEFUVFJfVkFMVUVfU1EgJiYgcmVnLmxlbmd0aCkge1xuICAgICAgICByZXMucHVzaChbQVRUUl9WQUxVRSxyZWddKVxuICAgICAgICByZWcgPSAnJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gQVRUUl9LRVkpIHtcbiAgICAgICAgcmVzLnB1c2goW0FUVFJfS0VZLHJlZ10pXG4gICAgICAgIHJlZyA9ICcnXG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc3RyZm4gKHgpIHtcbiAgICBpZiAodHlwZW9mIHggPT09ICdmdW5jdGlvbicpIHJldHVybiB4XG4gICAgZWxzZSBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSByZXR1cm4geFxuICAgIGVsc2UgaWYgKHggJiYgdHlwZW9mIHggPT09ICdvYmplY3QnKSByZXR1cm4geFxuICAgIGVsc2UgcmV0dXJuIGNvbmNhdCgnJywgeClcbiAgfVxufVxuXG5mdW5jdGlvbiBxdW90IChzdGF0ZSkge1xuICByZXR1cm4gc3RhdGUgPT09IEFUVFJfVkFMVUVfU1EgfHwgc3RhdGUgPT09IEFUVFJfVkFMVUVfRFFcbn1cblxudmFyIGhhc093biA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHlcbmZ1bmN0aW9uIGhhcyAob2JqLCBrZXkpIHsgcmV0dXJuIGhhc093bi5jYWxsKG9iaiwga2V5KSB9XG5cbnZhciBjbG9zZVJFID0gUmVnRXhwKCdeKCcgKyBbXG4gICdhcmVhJywgJ2Jhc2UnLCAnYmFzZWZvbnQnLCAnYmdzb3VuZCcsICdicicsICdjb2wnLCAnY29tbWFuZCcsICdlbWJlZCcsXG4gICdmcmFtZScsICdocicsICdpbWcnLCAnaW5wdXQnLCAnaXNpbmRleCcsICdrZXlnZW4nLCAnbGluaycsICdtZXRhJywgJ3BhcmFtJyxcbiAgJ3NvdXJjZScsICd0cmFjaycsICd3YnInLFxuICAvLyBTVkcgVEFHU1xuICAnYW5pbWF0ZScsICdhbmltYXRlVHJhbnNmb3JtJywgJ2NpcmNsZScsICdjdXJzb3InLCAnZGVzYycsICdlbGxpcHNlJyxcbiAgJ2ZlQmxlbmQnLCAnZmVDb2xvck1hdHJpeCcsICdmZUNvbXBvc2l0ZScsXG4gICdmZUNvbnZvbHZlTWF0cml4JywgJ2ZlRGlmZnVzZUxpZ2h0aW5nJywgJ2ZlRGlzcGxhY2VtZW50TWFwJyxcbiAgJ2ZlRGlzdGFudExpZ2h0JywgJ2ZlRmxvb2QnLCAnZmVGdW5jQScsICdmZUZ1bmNCJywgJ2ZlRnVuY0cnLCAnZmVGdW5jUicsXG4gICdmZUdhdXNzaWFuQmx1cicsICdmZUltYWdlJywgJ2ZlTWVyZ2VOb2RlJywgJ2ZlTW9ycGhvbG9neScsXG4gICdmZU9mZnNldCcsICdmZVBvaW50TGlnaHQnLCAnZmVTcGVjdWxhckxpZ2h0aW5nJywgJ2ZlU3BvdExpZ2h0JywgJ2ZlVGlsZScsXG4gICdmZVR1cmJ1bGVuY2UnLCAnZm9udC1mYWNlLWZvcm1hdCcsICdmb250LWZhY2UtbmFtZScsICdmb250LWZhY2UtdXJpJyxcbiAgJ2dseXBoJywgJ2dseXBoUmVmJywgJ2hrZXJuJywgJ2ltYWdlJywgJ2xpbmUnLCAnbWlzc2luZy1nbHlwaCcsICdtcGF0aCcsXG4gICdwYXRoJywgJ3BvbHlnb24nLCAncG9seWxpbmUnLCAncmVjdCcsICdzZXQnLCAnc3RvcCcsICd0cmVmJywgJ3VzZScsICd2aWV3JyxcbiAgJ3ZrZXJuJ1xuXS5qb2luKCd8JykgKyAnKSg/OltcXC4jXVthLXpBLVowLTlcXHUwMDdGLVxcdUZGRkZfOi1dKykqJCcpXG5mdW5jdGlvbiBzZWxmQ2xvc2luZyAodGFnKSB7IHJldHVybiBjbG9zZVJFLnRlc3QodGFnKSB9XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGF0dHJpYnV0ZVRvUHJvcGVydHlcblxudmFyIHRyYW5zZm9ybSA9IHtcbiAgJ2NsYXNzJzogJ2NsYXNzTmFtZScsXG4gICdmb3InOiAnaHRtbEZvcicsXG4gICdodHRwLWVxdWl2JzogJ2h0dHBFcXVpdidcbn1cblxuZnVuY3Rpb24gYXR0cmlidXRlVG9Qcm9wZXJ0eSAoaCkge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhZ05hbWUsIGF0dHJzLCBjaGlsZHJlbikge1xuICAgIGZvciAodmFyIGF0dHIgaW4gYXR0cnMpIHtcbiAgICAgIGlmIChhdHRyIGluIHRyYW5zZm9ybSkge1xuICAgICAgICBhdHRyc1t0cmFuc2Zvcm1bYXR0cl1dID0gYXR0cnNbYXR0cl1cbiAgICAgICAgZGVsZXRlIGF0dHJzW2F0dHJdXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoKHRhZ05hbWUsIGF0dHJzLCBjaGlsZHJlbilcbiAgfVxufVxuIiwiLyogZ2xvYmFsIE11dGF0aW9uT2JzZXJ2ZXIgKi9cbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJ2dsb2JhbC9kb2N1bWVudCcpXG52YXIgd2luZG93ID0gcmVxdWlyZSgnZ2xvYmFsL3dpbmRvdycpXG52YXIgd2F0Y2ggPSBPYmplY3QuY3JlYXRlKG51bGwpXG52YXIgS0VZX0lEID0gJ29ubG9hZGlkJyArIChuZXcgRGF0ZSgpICUgOWU2KS50b1N0cmluZygzNilcbnZhciBLRVlfQVRUUiA9ICdkYXRhLScgKyBLRVlfSURcbnZhciBJTkRFWCA9IDBcblxuaWYgKHdpbmRvdyAmJiB3aW5kb3cuTXV0YXRpb25PYnNlcnZlcikge1xuICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHdhdGNoKS5sZW5ndGggPCAxKSByZXR1cm5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG11dGF0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG11dGF0aW9uc1tpXS5hdHRyaWJ1dGVOYW1lID09PSBLRVlfQVRUUikge1xuICAgICAgICBlYWNoQXR0cihtdXRhdGlvbnNbaV0sIHR1cm5vbiwgdHVybm9mZilcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGVhY2hNdXRhdGlvbihtdXRhdGlvbnNbaV0ucmVtb3ZlZE5vZGVzLCB0dXJub2ZmKVxuICAgICAgZWFjaE11dGF0aW9uKG11dGF0aW9uc1tpXS5hZGRlZE5vZGVzLCB0dXJub24pXG4gICAgfVxuICB9KVxuICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHtcbiAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgc3VidHJlZTogdHJ1ZSxcbiAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICAgIGF0dHJpYnV0ZUZpbHRlcjogW0tFWV9BVFRSXVxuICB9KVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG9ubG9hZCAoZWwsIG9uLCBvZmYsIGNhbGxlcikge1xuICBvbiA9IG9uIHx8IGZ1bmN0aW9uICgpIHt9XG4gIG9mZiA9IG9mZiB8fCBmdW5jdGlvbiAoKSB7fVxuICBlbC5zZXRBdHRyaWJ1dGUoS0VZX0FUVFIsICdvJyArIElOREVYKVxuICB3YXRjaFsnbycgKyBJTkRFWF0gPSBbb24sIG9mZiwgMCwgY2FsbGVyIHx8IG9ubG9hZC5jYWxsZXJdXG4gIElOREVYICs9IDFcbiAgcmV0dXJuIGVsXG59XG5cbmZ1bmN0aW9uIHR1cm5vbiAoaW5kZXgsIGVsKSB7XG4gIGlmICh3YXRjaFtpbmRleF1bMF0gJiYgd2F0Y2hbaW5kZXhdWzJdID09PSAwKSB7XG4gICAgd2F0Y2hbaW5kZXhdWzBdKGVsKVxuICAgIHdhdGNoW2luZGV4XVsyXSA9IDFcbiAgfVxufVxuXG5mdW5jdGlvbiB0dXJub2ZmIChpbmRleCwgZWwpIHtcbiAgaWYgKHdhdGNoW2luZGV4XVsxXSAmJiB3YXRjaFtpbmRleF1bMl0gPT09IDEpIHtcbiAgICB3YXRjaFtpbmRleF1bMV0oZWwpXG4gICAgd2F0Y2hbaW5kZXhdWzJdID0gMFxuICB9XG59XG5cbmZ1bmN0aW9uIGVhY2hBdHRyIChtdXRhdGlvbiwgb24sIG9mZikge1xuICB2YXIgbmV3VmFsdWUgPSBtdXRhdGlvbi50YXJnZXQuZ2V0QXR0cmlidXRlKEtFWV9BVFRSKVxuICBpZiAoc2FtZU9yaWdpbihtdXRhdGlvbi5vbGRWYWx1ZSwgbmV3VmFsdWUpKSB7XG4gICAgd2F0Y2hbbmV3VmFsdWVdID0gd2F0Y2hbbXV0YXRpb24ub2xkVmFsdWVdXG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHdhdGNoW211dGF0aW9uLm9sZFZhbHVlXSkge1xuICAgIG9mZihtdXRhdGlvbi5vbGRWYWx1ZSwgbXV0YXRpb24udGFyZ2V0KVxuICB9XG4gIGlmICh3YXRjaFtuZXdWYWx1ZV0pIHtcbiAgICBvbihuZXdWYWx1ZSwgbXV0YXRpb24udGFyZ2V0KVxuICB9XG59XG5cbmZ1bmN0aW9uIHNhbWVPcmlnaW4gKG9sZFZhbHVlLCBuZXdWYWx1ZSkge1xuICBpZiAoIW9sZFZhbHVlIHx8ICFuZXdWYWx1ZSkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB3YXRjaFtvbGRWYWx1ZV1bM10gPT09IHdhdGNoW25ld1ZhbHVlXVszXVxufVxuXG5mdW5jdGlvbiBlYWNoTXV0YXRpb24gKG5vZGVzLCBmbikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHdhdGNoKVxuICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKG5vZGVzW2ldICYmIG5vZGVzW2ldLmdldEF0dHJpYnV0ZSAmJiBub2Rlc1tpXS5nZXRBdHRyaWJ1dGUoS0VZX0FUVFIpKSB7XG4gICAgICB2YXIgb25sb2FkaWQgPSBub2Rlc1tpXS5nZXRBdHRyaWJ1dGUoS0VZX0FUVFIpXG4gICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgICAgICAgaWYgKG9ubG9hZGlkID09PSBrKSB7XG4gICAgICAgICAgZm4oaywgbm9kZXNbaV0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChub2Rlc1tpXS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGVhY2hNdXRhdGlvbihub2Rlc1tpXS5jaGlsZE5vZGVzLCBmbilcbiAgICB9XG4gIH1cbn1cbiIsInZhciBkb2N1bWVudCA9IHJlcXVpcmUoJ2dsb2JhbC9kb2N1bWVudCcpXG52YXIgaHlwZXJ4ID0gcmVxdWlyZSgnaHlwZXJ4JylcbnZhciBvbmxvYWQgPSByZXF1aXJlKCdvbi1sb2FkJylcblxudmFyIFNWR05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJ1xudmFyIFhMSU5LTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaydcblxudmFyIEJPT0xfUFJPUFMgPSB7XG4gIGF1dG9mb2N1czogMSxcbiAgY2hlY2tlZDogMSxcbiAgZGVmYXVsdGNoZWNrZWQ6IDEsXG4gIGRpc2FibGVkOiAxLFxuICBmb3Jtbm92YWxpZGF0ZTogMSxcbiAgaW5kZXRlcm1pbmF0ZTogMSxcbiAgcmVhZG9ubHk6IDEsXG4gIHJlcXVpcmVkOiAxLFxuICBzZWxlY3RlZDogMSxcbiAgd2lsbHZhbGlkYXRlOiAxXG59XG52YXIgU1ZHX1RBR1MgPSBbXG4gICdzdmcnLFxuICAnYWx0R2x5cGgnLCAnYWx0R2x5cGhEZWYnLCAnYWx0R2x5cGhJdGVtJywgJ2FuaW1hdGUnLCAnYW5pbWF0ZUNvbG9yJyxcbiAgJ2FuaW1hdGVNb3Rpb24nLCAnYW5pbWF0ZVRyYW5zZm9ybScsICdjaXJjbGUnLCAnY2xpcFBhdGgnLCAnY29sb3ItcHJvZmlsZScsXG4gICdjdXJzb3InLCAnZGVmcycsICdkZXNjJywgJ2VsbGlwc2UnLCAnZmVCbGVuZCcsICdmZUNvbG9yTWF0cml4JyxcbiAgJ2ZlQ29tcG9uZW50VHJhbnNmZXInLCAnZmVDb21wb3NpdGUnLCAnZmVDb252b2x2ZU1hdHJpeCcsICdmZURpZmZ1c2VMaWdodGluZycsXG4gICdmZURpc3BsYWNlbWVudE1hcCcsICdmZURpc3RhbnRMaWdodCcsICdmZUZsb29kJywgJ2ZlRnVuY0EnLCAnZmVGdW5jQicsXG4gICdmZUZ1bmNHJywgJ2ZlRnVuY1InLCAnZmVHYXVzc2lhbkJsdXInLCAnZmVJbWFnZScsICdmZU1lcmdlJywgJ2ZlTWVyZ2VOb2RlJyxcbiAgJ2ZlTW9ycGhvbG9neScsICdmZU9mZnNldCcsICdmZVBvaW50TGlnaHQnLCAnZmVTcGVjdWxhckxpZ2h0aW5nJyxcbiAgJ2ZlU3BvdExpZ2h0JywgJ2ZlVGlsZScsICdmZVR1cmJ1bGVuY2UnLCAnZmlsdGVyJywgJ2ZvbnQnLCAnZm9udC1mYWNlJyxcbiAgJ2ZvbnQtZmFjZS1mb3JtYXQnLCAnZm9udC1mYWNlLW5hbWUnLCAnZm9udC1mYWNlLXNyYycsICdmb250LWZhY2UtdXJpJyxcbiAgJ2ZvcmVpZ25PYmplY3QnLCAnZycsICdnbHlwaCcsICdnbHlwaFJlZicsICdoa2VybicsICdpbWFnZScsICdsaW5lJyxcbiAgJ2xpbmVhckdyYWRpZW50JywgJ21hcmtlcicsICdtYXNrJywgJ21ldGFkYXRhJywgJ21pc3NpbmctZ2x5cGgnLCAnbXBhdGgnLFxuICAncGF0aCcsICdwYXR0ZXJuJywgJ3BvbHlnb24nLCAncG9seWxpbmUnLCAncmFkaWFsR3JhZGllbnQnLCAncmVjdCcsXG4gICdzZXQnLCAnc3RvcCcsICdzd2l0Y2gnLCAnc3ltYm9sJywgJ3RleHQnLCAndGV4dFBhdGgnLCAndGl0bGUnLCAndHJlZicsXG4gICd0c3BhbicsICd1c2UnLCAndmlldycsICd2a2Vybidcbl1cblxuZnVuY3Rpb24gYmVsQ3JlYXRlRWxlbWVudCAodGFnLCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIGVsXG5cbiAgLy8gSWYgYW4gc3ZnIHRhZywgaXQgbmVlZHMgYSBuYW1lc3BhY2VcbiAgaWYgKFNWR19UQUdTLmluZGV4T2YodGFnKSAhPT0gLTEpIHtcbiAgICBwcm9wcy5uYW1lc3BhY2UgPSBTVkdOU1xuICB9XG5cbiAgLy8gSWYgd2UgYXJlIHVzaW5nIGEgbmFtZXNwYWNlXG4gIHZhciBucyA9IGZhbHNlXG4gIGlmIChwcm9wcy5uYW1lc3BhY2UpIHtcbiAgICBucyA9IHByb3BzLm5hbWVzcGFjZVxuICAgIGRlbGV0ZSBwcm9wcy5uYW1lc3BhY2VcbiAgfVxuXG4gIC8vIENyZWF0ZSB0aGUgZWxlbWVudFxuICBpZiAobnMpIHtcbiAgICBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhucywgdGFnKVxuICB9IGVsc2Uge1xuICAgIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpXG4gIH1cblxuICAvLyBJZiBhZGRpbmcgb25sb2FkIGV2ZW50c1xuICBpZiAocHJvcHMub25sb2FkIHx8IHByb3BzLm9udW5sb2FkKSB7XG4gICAgdmFyIGxvYWQgPSBwcm9wcy5vbmxvYWQgfHwgZnVuY3Rpb24gKCkge31cbiAgICB2YXIgdW5sb2FkID0gcHJvcHMub251bmxvYWQgfHwgZnVuY3Rpb24gKCkge31cbiAgICBvbmxvYWQoZWwsIGZ1bmN0aW9uIGJlbE9ubG9hZCAoKSB7XG4gICAgICBsb2FkKGVsKVxuICAgIH0sIGZ1bmN0aW9uIGJlbE9udW5sb2FkICgpIHtcbiAgICAgIHVubG9hZChlbClcbiAgICB9LFxuICAgIC8vIFdlIGhhdmUgdG8gdXNlIG5vbi1zdGFuZGFyZCBgY2FsbGVyYCB0byBmaW5kIHdobyBpbnZva2VzIGBiZWxDcmVhdGVFbGVtZW50YFxuICAgIGJlbENyZWF0ZUVsZW1lbnQuY2FsbGVyLmNhbGxlci5jYWxsZXIpXG4gICAgZGVsZXRlIHByb3BzLm9ubG9hZFxuICAgIGRlbGV0ZSBwcm9wcy5vbnVubG9hZFxuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBwcm9wZXJ0aWVzXG4gIGZvciAodmFyIHAgaW4gcHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkocCkpIHtcbiAgICAgIHZhciBrZXkgPSBwLnRvTG93ZXJDYXNlKClcbiAgICAgIHZhciB2YWwgPSBwcm9wc1twXVxuICAgICAgLy8gTm9ybWFsaXplIGNsYXNzTmFtZVxuICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzbmFtZScpIHtcbiAgICAgICAga2V5ID0gJ2NsYXNzJ1xuICAgICAgICBwID0gJ2NsYXNzJ1xuICAgICAgfVxuICAgICAgLy8gVGhlIGZvciBhdHRyaWJ1dGUgZ2V0cyB0cmFuc2Zvcm1lZCB0byBodG1sRm9yLCBidXQgd2UganVzdCBzZXQgYXMgZm9yXG4gICAgICBpZiAocCA9PT0gJ2h0bWxGb3InKSB7XG4gICAgICAgIHAgPSAnZm9yJ1xuICAgICAgfVxuICAgICAgLy8gSWYgYSBwcm9wZXJ0eSBpcyBib29sZWFuLCBzZXQgaXRzZWxmIHRvIHRoZSBrZXlcbiAgICAgIGlmIChCT09MX1BST1BTW2tleV0pIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gJ3RydWUnKSB2YWwgPSBrZXlcbiAgICAgICAgZWxzZSBpZiAodmFsID09PSAnZmFsc2UnKSBjb250aW51ZVxuICAgICAgfVxuICAgICAgLy8gSWYgYSBwcm9wZXJ0eSBwcmVmZXJzIGJlaW5nIHNldCBkaXJlY3RseSB2cyBzZXRBdHRyaWJ1dGVcbiAgICAgIGlmIChrZXkuc2xpY2UoMCwgMikgPT09ICdvbicpIHtcbiAgICAgICAgZWxbcF0gPSB2YWxcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChucykge1xuICAgICAgICAgIGlmIChwID09PSAneGxpbms6aHJlZicpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZU5TKFhMSU5LTlMsIHAsIHZhbClcbiAgICAgICAgICB9IGVsc2UgaWYgKC9eeG1sbnMoJHw6KS9pLnRlc3QocCkpIHtcbiAgICAgICAgICAgIC8vIHNraXAgeG1sbnMgZGVmaW5pdGlvbnNcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlTlMobnVsbCwgcCwgdmFsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUocCwgdmFsKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKGNoaWxkcykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjaGlsZHMpKSByZXR1cm5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG5vZGUgPSBjaGlsZHNbaV1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgICAgIGFwcGVuZENoaWxkKG5vZGUpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgdHlwZW9mIG5vZGUgPT09ICdib29sZWFuJyB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgRGF0ZSB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIG5vZGUgPSBub2RlLnRvU3RyaW5nKClcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBub2RlID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoZWwubGFzdENoaWxkICYmIGVsLmxhc3RDaGlsZC5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgICAgIGVsLmxhc3RDaGlsZC5ub2RlVmFsdWUgKz0gbm9kZVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5vZGUpXG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlICYmIG5vZGUubm9kZVR5cGUpIHtcbiAgICAgICAgZWwuYXBwZW5kQ2hpbGQobm9kZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYXBwZW5kQ2hpbGQoY2hpbGRyZW4pXG5cbiAgcmV0dXJuIGVsXG59XG5cbm1vZHVsZS5leHBvcnRzID0gaHlwZXJ4KGJlbENyZWF0ZUVsZW1lbnQpXG5tb2R1bGUuZXhwb3J0cy5kZWZhdWx0ID0gbW9kdWxlLmV4cG9ydHNcbm1vZHVsZS5leHBvcnRzLmNyZWF0ZUVsZW1lbnQgPSBiZWxDcmVhdGVFbGVtZW50XG4iXX0=
const html = require('bel');
const labelTexts = [
"Fin de la|Pobreza",
'Hambre|Cero',
'Salud|y Bienestar',
'Educatión|de Calidad',
'Igualdad|de Género',
'Agua Limpia|y Saneamiento',
'Energía Asequible|y No Contaminante',
'Trabajo decente|y Crecimiento|Económico',
'Industria,|Innovación e|Infraestructura',
'Reducción de las|Desigualdades',
'Ciudades y|Comunidades|Sostenbiles',
'Producción y|Consumo|Responsables',
'Acción por|el Clima',
'Vida|Submarina',
'Vida de|Ecosistemas|Terrestres',
'Paz, Justicia e|Instituciones|Sõlidas',
'Alianzas Para|Lograr los Objetivos'
]
const items = document.querySelectorAll('.Icon-label');
items.forEach(function(item, index) {
const label = createLabel(index + 1, labelTexts[index], 'GoalGrid');
item.parentElement.replaceChild(label, item);
});
function createLabel(number, text, componentName = 'GoalGrid') {
const lines = text.split('|');
const longLine = lines.find((line) => line.length > 14);
const longerLine = lines.find((line) => line.length > 17);
const doubleDigit = (number > 9);
const viewBoxHeight = lines.length * 24;
let textPos = 57;
textPos -= longLine ? 4 : 0;
textPos -= longerLine ? 6 : 0;
textPos += doubleDigit ? 5 : 0;
let digitPos = 30;
digitPos -= longerLine ? 4 : 0;
const lineStyles = (line) => {
let longLine = line.length > 14;
let longerLine = line.length > 19;
let wordSpacing = '1.5';
let letterSpacing = '0.5';
wordSpacing = longLine ? '1.2' : wordSpacing;
wordSpacing = longerLine ? '0.5' : wordSpacing;
letterSpacing = longLine ? '0.3' : letterSpacing;
letterSpacing = longerLine ? '-0.05' : letterSpacing;
return {
wordSpacing: wordSpacing,
letterSpacing: letterSpacing
};
};
return html`
<svg role="presentational" aria-hidden="true" class="Icon-label ${ componentName }-iconLabel" viewBox="0 0 200 ${ viewBoxHeight }">
<g transform="scale(0.94)">
<text class="Icon-number ${ componentName }-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="${ digitPos }" y="41" letter-spacing="-0.1" text-anchor="middle">${ number }</tspan>
</text>
<text class="Icon-text ${ componentName }-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
${ lines.map(line => {
const styles = lineStyles(line);
return html`
<tspan x="${ textPos }" dy="24" word-spacing="${ styles.wordSpacing }" letter-spacing="${ styles.letterSpacing }" text-anchor="start">${ line }</tspan>
`;
}) }
</text>
</g>
</svg>
`;
}
;}, 0)
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"bel": "4.5.1"
}
}
<div class="GoalGrid GoalGrid--layout6">
<a class="GoalGrid-item GoalGrid-item--1" href="#link-to-goal-1">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">No Poverty</span>
<div class="Icon Icon--1">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">1</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">No</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Poverty</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 327">
<g fill="currentColor" fill-rule="evenodd">
<path d="M769.13 28.1c0-15.32 12.4-27.7 27.7-27.7 15.27 0 27.64 12.38 27.64 27.7 0 15.28-12.37 27.68-27.64 27.68-15.3 0-27.7-12.4-27.7-27.7m60.02 38.37c18.78 1.7 33.5 17.5 33.5 36.77v76.74c0 5.9-4.8 10.72-10.72 10.72-5.95 0-10.74-4.82-10.74-10.72v-65.9c0-2.5-.8-5.83-5.3-5.83-3.2 0-3.8 3.3-3.9 5.42V311.2c0 8.48-6.9 15.4-15.4 15.4-8.6 0-15.5-6.92-15.5-15.4V197.35c-.1-1.26-.5-4.53-4.4-4.53h-.1c-3.9 0-4.4 3.27-4.5 4.53V311.2c0 8.48-6.9 15.4-15.4 15.4s-15.5-6.92-15.5-15.4V113.64c-.1-2.1-.8-5.42-3.9-5.42-4.6 0-5.3 3.34-5.3 5.82v65.9c0 5.9-4.8 10.73-10.78 10.73s-10.77-4.82-10.77-10.72V103.2c0-19.25 14.7-35.05 33.5-36.75.65-.08 1.3-.17 2.07-.17H827c.8 0 1.44.1 2.1.17M604.5 42.63c0-14.48-11.7-26.24-26.2-26.24-14.48 0-26.22 11.7-26.22 26.2s11.74 26.2 26.22 26.2c14.5 0 26.2-11.8 26.2-26.3m-79 59.4l-21.8 70.9s-3.86 13 7.17 16.2c10.98 3.2 14.3-9.5 14.3-9.5l17.58-59.2s.96-4.6 4.38-3.6c3.43.9 2.14 5.8 2.14 5.8l-30.6 110.9h28.44V313c0 7.5 6.2 13.63 13.7 13.63 7.6 0 13.7-6.14 13.7-13.66v-79.4h7.8v79.46c0 7.56 6.1 13.68 13.7 13.68s13.7-6.1 13.7-13.6v-79.4H638l-30.6-110.9s-1.3-4.8 2.13-5.8c3.43-1 4.4 3.6 4.4 3.6l17.56 59.2s3.3 12.7 14.3 9.5 7.1-16.2 7.1-16.2l-21.8-71s-7.8-20.5-25.1-20.5h-55.5c-17.3 0-25.1 20.5-25.1 20.5m-77.9-59.5c0-14.4-11.8-26.2-26.2-26.2-14.5 0-26.3 11.7-26.3 26.2s11.72 26.2 26.22 26.2c14.43 0 26.2-11.8 26.2-26.3m-79 59.5l-21.8 70.96s-3.9 13 7.15 16.25c10.9 3.26 14.3-9.43 14.3-9.43l17.6-59.2s.9-4.56 4.3-3.58c3.4.97 2.1 5.84 2.1 5.84L361.6 233.8h28.44v79.46c0 7.52 6.1 13.64 13.63 13.64 7.55 0 13.65-6.12 13.65-13.64V233.8h7.8v79.46c0 7.52 6.06 13.64 13.64 13.64s13.66-6.12 13.66-13.64V233.8h28.45l-30.5-110.97s-1.3-4.87 2.1-5.85c3.43-.98 4.4 3.57 4.4 3.57l17.55 59.2s3.34 12.7 14.3 9.45c11.06-3.25 7.15-16.25 7.15-16.25L474.05 102s-7.75-20.5-25-20.5H393.5c-17.22 0-25.04 20.5-25.04 20.5m324.08 87.35c12.07 0 21.8-9.77 21.8-21.84 0-12-9.73-21.8-21.8-21.8s-21.82 9.8-21.82 21.8c0 12.1 9.75 21.9 21.82 21.9m-52.3 67.8c-1.08 2.6-1.96 8 3.17 10.3 6 2.8 9.4-3 9.4-3l11.9-37.8s2.1-2.5 2.1.1v89.1h.1c0 6.2 5 11.2 11.2 11.2 6.2 0 11.2-5 11.2-11.2v-35.2s-.6-4.9 3.4-4.9 3.4 5 3.4 5V316c0 6.2 5.1 11.2 11.2 11.2s11.2-5 11.2-11.2v-89.1c0-2.6 1.4-.75 1.4-.75l9.3 25.9s4.1 11.58 5.3 12.1c4.2 1.76 9.1-.24 10.8-4.5 1.2-2.74.7-5.7-.9-7.94l.1-.1c-.2-.9-13.9-34.3-15.5-39-4.9-14.3-13.9-14.2-22.5-14.4-8.6-.2-13.8 0-13.8 0s-5.5-.2-16.9.1c-11.3.4-14.9 6.2-27.5 38.5-1.8 4.7-7.8 19.7-7.9 20.6h.1M185.7 55.8c15.28 0 27.7-12.4 27.7-27.7 0-15.3-12.42-27.68-27.7-27.68S158 12.78 158 28.1c0 15.28 12.38 27.68 27.66 27.68m32.56 10.52c-.62-.07-1.52-.3-2.27-.3h-60.5c-.8 0-1.37.23-2.02.3C134.65 68 120 83.96 120 103.23v76.74c0 4.08 2.22 7.65 5.6 9.46-.13.3-.3.6-.35.94l-24.6 130.3c-.42 2.2 1.02 4.32 3.22 4.74.25.1.5.1.75.1 1.9 0 3.62-1.3 3.98-3.3l24.58-130.3c.1-.5-.06-1-.15-1.5 4.67-1.2 7.97-5.4 7.97-10.4v-65.9c0-2.5.65-5.8 5.17-5.8 3.12 0 3.83 3.3 3.83 5.4v197.5c0 8.5 6.95 15.4 15.5 15.4 8.52 0 15.5-6.9 15.5-15.4V197.4c0-1.26.74-4.36 4.66-4.36 3.94 0 4.34 3.1 4.34 4.3v113.9c0 8.48 6.97 15.4 15.5 15.4 8.54 0 15.5-6.92 15.5-15.4v-197.6c0-2.1.74-5.42 3.83-5.42 4.55 0 5.17 3.36 5.17 5.84v65.9c0 5.9 5.08 10.73 11 10.73 5.94 0 11-4.9 11-10.8v-76.7c0-19.3-14.97-35.2-33.78-36.9"
/>
<path d="M325.16 225.4l20.25-36.74s2.5-5.28 2.5-6.54c0-4.37-3.6-7.94-8-7.94-2.8 0-5.3 1.5-6.7 3.73h-.1c-.6.6-10.8 18.7-14.2 22-3.5 3.6-6.7 3.2-6.7 3.2h-26.5s-3.2.5-6.7-3.1c-3.4-3.3-13.5-21.4-14.2-22v.1c-1.5-2.2-3.9-3.7-6.8-3.7-4.4 0-8 3.6-8 7.9 0 1.3.8 3.5.8 3.5l22 39.8s1.3 2.8 1.3 5.3v7.9L262.5 281H274v35h.15c0 6 5 10.82 10.94 10.82 5.9 0 10.9-4.7 10.9-10.68V282.4s-.5-.4-.4-1.4h6.5c0 1-.1 1.4-.1 1.4v33.74c0 5.97 5 10.76 11 10.76 5.9 0 11-4.8 11-10.76V281h11.3L324 238.25v-7.6c0-2.5 1.16-5.24 1.16-5.24"
/>
<path d="M298.88 189.35c12.07 0 21.8-9.77 21.8-21.84 0-12-9.73-21.8-21.8-21.8s-21.8 9.8-21.8 21.8c0 12.1 9.73 21.9 21.8 21.9" />
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--2" href="#link-to-goal-2">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Zero Hunger</span>
<div class="Icon Icon--2">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">2</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Zero</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Hunger</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 460">
<g fill="currentColor" fill-rule="evenodd">
<path d="M413 438.7v14l-.2.4v.4c.2 3.5 3 6.3 6.6 6.3H585c3.5 0 6.4-3 6.4-6.6v-16c93-30.3 162.4-105.6 177.7-197.3.2-.2.2-.4.2-.5v-1c0-3.7-3-6.6-6.6-6.6H237c-3.8 0-6.8 3-6.8 6.6l.4 3c16 92.6 87.5 168.3 182.3 197.5M591.2 7.2c-2 3-53 76.2 1.2 135.3 24.8 27.2 22.6 51 15.6 67.3h34.7c7-24 4-54-24-84.6-40-43.6.4-102.5 1-103.4C624.5 15 622 6.4 614 2.4c-7.8-4-18-2-22.8 4.8M503.4 209.8H538c7-24 4.2-53.8-24-84.6-40-43.6.5-102.5 1-103.4 5-6.7 2.3-15.4-5.5-19.4-8-4-18-2-22.8 4.8-2.2 3-53 76.2 1 135.3 25 27.2 22.7 51 15.7 67.3M382 7.2c-2.2 3-53 76.2 1.2 135.3 24.8 27.2 22.6 51 15.6 67.3h34.7c7-24 4-53.8-24-84.6-40-43.6.4-102.5 1-103.4 4.7-6.7 2.2-15.4-5.6-19.4-8-4-18.2-2-23 4.8"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--3" href="#link-to-goal-3">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Good Health and Well-being</span>
<div class="Icon Icon--3">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">3</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Good Health</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">and Well-being</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 470">
<g fill="currentColor" fill-rule="evenodd">
<path d="M835.9 248.96c0-28.14-18.07-50.95-45.4-50.95-13.7 0-30.18 15-39.14 24.2C742.4 213 727 198 713.32 198c-27.35 0-46.5 22.8-46.5 50.96 0 14.07 5.53 26.8 14.5 36.03l70.1 70.2 70-70.17-.05-.05c8.97-9.2 14.52-21.96 14.52-36.04" />
<path d="M537.43 469.86c-.23 0-.47 0-.7-.02-5.34-.32-9.74-4.28-10.65-9.54l-35.6-207.4-53.94 100.02c-2.36 4.38-7.3 6.74-12.15 5.87-4.9-.9-8.7-4.8-9.4-9.7L392.1 189l-41.9 94.1c-1.85 4.16-5.97 6.83-10.5 6.83H176.86c-6.36 0-11.52-5.15-11.52-11.5 0-6.37 5.16-11.52 11.52-11.52H332.2l55.1-123.73c2.1-4.7 7.03-7.42 12.1-6.72 5.1.7 9.1 4.7 9.83 9.77l23.6 165.04 53.2-98.63c2.33-4.3 7.14-6.7 12-5.9 4.84.8 8.64 4.6 9.48 9.44l33 192.07L660.7 9c1.37-4.54 5.4-7.78 10.12-8.15 4.74-.35 9.2 2.2 11.27 6.47l63.22 131.1c2.8 5.72.4 12.6-5.32 15.36-5.7 2.77-12.6.36-15.36-5.36L674.2 43.98l-125.75 417.7c-1.47 4.88-5.97 8.18-11.02 8.18"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--4" href="#link-to-goal-4">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Quality Education</span>
<div class="Icon Icon--4">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">4</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Quality</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Education</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 458">
<g fill="currentColor" fill-rule="evenodd">
<path d="M443.4 134.2L264 30.6v335l179.4 54V134.3m19.6.7v285l180.6-54.4v-335L463 135M784.4 22.2C784.4 10.4 775 1 763.2 1S742 10.3 742 22v23h42.4V22.2m-37 337.5H742l21.2 74.2 21.2-74.5H779h5.4v-298H742v298h5.3" />
<path d="M682.2 45L663 29.8v345L463.6 439h-20.3L245 383.8v-354L225.8 45v352.2l216.7 60h22l200-63.5 17.7-5.2V45" />
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--5" href="#link-to-goal-5">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Gender Equality</span>
<div class="Icon Icon--5">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">5</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Gender</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Equality</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 533">
<g fill="currentColor" fill-rule="evenodd">
<path d="M498.25 347.64c-66.07 0-119.8-53.75-119.8-119.8 0-66.08 53.73-119.82 119.8-119.82s119.82 53.74 119.82 119.8c0 66.07-53.75 119.82-119.82 119.82M728.35.38H604.07c-.85 0-1.58.7-1.58 1.6v41.28c0 .9.7 1.6 1.5 1.6h49.5L598.6 99.8c-27.67-21.73-62.5-34.74-100.35-34.74-89.75 0-162.78 73-162.78 162.77 0 82.64 61.92 151.03 141.77 161.37v47.6h-49.02c-.9 0-1.6.7-1.6 1.56v44.27c0 .88.7 1.58 1.6 1.58h49.02v46.9c0 .9.7 1.6 1.58 1.6h44.24c.88 0 1.6-.7 1.6-1.6v-46.9h49.02c.87 0 1.57-.7 1.57-1.52V438.4c0-.88-.7-1.58-1.57-1.58h-49.02v-48.4c77.23-12.7 136.36-79.87 136.36-160.6 0-34.87-11.03-67.15-29.73-93.65L685.4 80v46.23c0 .88.73 1.58 1.6 1.58h41.3c.88 0 1.6-.7 1.6-1.5V2c0-.9-.72-1.6-1.6-1.6"
/>
<path d="M571.43 178.65H426.1c-.87 0-1.57.65-1.57 1.42v35.18c0 .82.7 1.44 1.58 1.44h145.4c.9 0 1.6-.7 1.6-1.5V180c0-.77-.7-1.42-1.6-1.42m0 62.84H426.1c-.87 0-1.57.66-1.57 1.47v35.2c0 .8.7 1.4 1.58 1.4h145.4c.9 0 1.6-.66 1.6-1.4v-35.2c0-.8-.7-1.48-1.6-1.48"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--6" href="#link-to-goal-6">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Clean Water and Sanitation</span>
<div class="Icon Icon--6">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">6</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Clean Water</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">and Sanitation</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 510">
<path fill="currentColor" fill-rule="evenodd" d="M659.18 79c-9.83-4.34-22.3-2.78-34.26 2.07-45.02 18.24-75.66 24.8-123 9.98-29.82-9.33-57.72-28.88-90.7-16.97-21.88 7.87-42.27 15.38-67 15.18L329.9 16h339.53l-10.27 63zm-115.1 217.54s-16.47 16.94-43.28 15.1c-26.87 1.84-43.34-15.1-43.34-15.1-27.18-27.15-17.48-60.93-8.02-78.4 5.84-10.92 47.6-73.63 51.2-78.96v-.43s.05.1.16.2l.14-.2v.43c3.5 5.33 45.32 68.04 51.17 78.97 9.48 17.46 19.15 51.24-8 78.4zM684.32 1.44C683.47.5 682.33 0 681.04 0h-362.8c-1.26 0-2.4.5-3.26 1.43-.8 1.02-1.1 2.27-.9 3.44L375 373.5c.35 2.03 2.13 3.54 4.2 3.54H454l5.12 60.04-31.48.04 73.25 73.24 73.4-73.4-31.46.03 5.1-59.96h76.14c2.1 0 3.85-1.5 4.16-3.6L685.27 4.86c.2-1.27-.18-2.48-.96-3.44z"
/>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--7" href="#link-to-goal-7">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Affordable and Clean Energy</span>
<div class="Icon Icon--7">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">7</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Affordable and</tspan>
<tspan x="57" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Clean Energy</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 511">
<g fill="currentColor" fill-rule="evenodd">
<path d="M500.4 332c-42 0-76.2-34-76.2-76 0-34.3 22.5-63.2 53.5-73v28.5c-16 8.2-27.2 25-27.2 44.4 0 27.5 22.3 49.8 50 49.8 27.5 0 49.8-22.3 49.8-50 0-19.3-11.2-36-27.4-44.4V183c31 9.7 53.6 38.7 53.6 73 0 42-34 76-76.2 76zm-11-163.6c0-5 5-10.3 11-10.3s11 5.5 11 10.4v50.3c0 5-5 10.2-11 10.2s-11-5.4-11-10.3v-50.3zm11-58c-81 0-146.6 65.7-146.6 146.6 0 81 65.6 146.6 146.6 146.6S647 338 647 257s-65.7-146.5-146.6-146.5zM332 255.8c0-6.7-5.8-12-11-12h-64.3c-5.4 0-11.4 5.3-11.4 12 0 6.6 6 12 11.4 12H321c5.2 0 11-5.4 11-12M755.5 255.8c0-6.7-6-12-11.3-12H680c-5.4 0-11.3 5.3-11.3 12 0 6.6 6 12 11.3 12h64.2c5.4 0 11.3-5.4 11.3-12M500.4 87.5c6.7 0 12-6 12-11.2V12c0-5.3-5.3-11.3-12-11.3-6.6 0-12 6-12 11.4v64.3c0 5.3 5.4 11.2 12 11.2M500.4 510.8c6.7 0 12-5.8 12-11.2v-64.2c0-5.4-5.3-11.3-12-11.3-6.6 0-12 6-12 11.4v64.2c0 5.4 5.4 11.2 12 11.2M354.4 172.2c3.3-5.8.8-13.4-3.8-16L295 124c-4.8-2.6-12.7-1-16 5-3.3 5.6-.8 13.3 4 16l55.6 32c4.7 2.5 12.5.8 15.8-5M721.8 382.5c3.3-5.8.8-13.4-3.8-16l-55.7-32c-4.7-2.6-12.5-1-15.8 5-3.3 5.6-1 13.3 3.8 16l55.7 31.8c4.7 2.7 12.5 1 15.8-4.8M584 109.8c5.8 3.2 13.4.8 16-3.8l32-55.8c2.6-4.7 1-12.5-5-15.8-5.7-3.3-13.3-.8-16 4L579 94c-2.6 4.6-.8 12.4 5 15.8M373.7 477.2c5.8 3.3 13.4.8 16-3.8l32-55.7c2.6-4.7 1-12.6-5-16-5.6-3.2-13.3-.7-16 4l-32 55.7c-2.5 4.7-.8 12.5 5 15.8M416.5 110c5.8-3.4 7.5-11.2 4.8-16l-32-55.5c-2.7-4.7-10.3-7.2-16-3.8-5.8 3.3-7.5 11-4.8 15.8l32 55.6c2.6 4.8 10.3 7.2 16 4M627.6 477c5.7-3.4 7.5-11.2 4.8-16l-32-55.5c-2.7-4.7-10.3-7.2-16-4-6 3.5-7.6 11.3-5 16l32 55.6c2.8 4.8 10.4 7.2 16.2 4M646.3 172c3.3 5.7 11 7.4 15.7 4.7l55.7-32c4.7-2.7 7-10.3 3.8-16-3.3-5.8-11-7.6-15.8-5l-55.7 32c-4.6 2.8-7 10.4-3.7 16.2M279.3 383c3.3 5.7 11 7.4 15.8 4.8l55.7-32c4.7-2.7 7.2-10.4 3.8-16-3.3-6-11-7.6-15.8-5L283 367c-4.6 2.7-7 10.4-3.7 16.2"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--8" href="#link-to-goal-8">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Decent Work and Economic Growth</span>
<div class="Icon Icon--8">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">8</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="53" dy="24" word-spacing="1.2" letter-spacing="0.3" text-anchor="start">Decent Work and</tspan>
<tspan x="53" dy="24" word-spacing="1.2" letter-spacing="0.3" text-anchor="start">Economic Growth</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 509">
<g fill="currentColor" fill-rule="evenodd">
<path d="M694.75 120.96l-101.65 96.7c-3.83 3.8-5.8 6.62-5.8 14.52v271c0 3.17 2.6 5.77 5.8 5.77h105c3.2 0 5.78-2.6 5.78-5.78V123.4c0-3.2-2.5-9.03-9.14-2.44m-292.8 125.97l-101.7 96.67c-3.8 3.83-5.8 6.64-5.8 14.52v145.05c0 3.16 2.6 5.77 5.8 5.77h105c3.2 0 5.8-2.6 5.8-5.77v-253.8c0-3.2-2.53-9.06-9.13-2.44"
/>
<path d="M740.94 3.7c.04-.77-.23-1.6-.86-2.2-.53-.52-1.22-.76-1.88-.82l-.56.03-.83.1L659 18.3l-1.4.14c-.57.1-1.1.4-1.53.8-1.14 1.16-1.14 3.03 0 4.2l.88.87 17.75 17.8-176.34 176.37L416.9 137c-.93-.93-2.4-.93-3.32 0l-22.1 22.1c-.02 0-.02.03-.02.03L260.9 289.67c-.9.93-.9 2.42 0 3.32l22.1 22.1c.9.9 2.38.9 3.3 0l128.94-128.9 59.1 59.1c.07.1.1.2.2.3l22.1 22.03c.92.93 2.4.93 3.3 0L700.14 67.5l18.66 18.67c1.14 1.16 3 1.16 4.14 0 .55-.55.82-1.22.85-1.92V84l17.1-79.44V3.7"
/>
<path d="M548.9 263.9l-49.17 49.6c-.93.76-2.3.73-3.17-.13L452 267.95c-8.15-8.13-9.9-1.54-9.9 1.66v233.6c0 3.2 2.55 5.8 5.75 5.8h105.02c3.18 0 5.78-2.6 5.78-5.8V265.75c0-3.2-2.52-9.05-9.74-1.83" />
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--9" href="#link-to-goal-9">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Industry, Innovation and Infastructure</span>
<div class="Icon Icon--9">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="26" y="41" letter-spacing="-0.1" text-anchor="middle">9</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="47" dy="24" word-spacing="0.5" letter-spacing="-0.05" text-anchor="start">Industry, Innovation</tspan>
<tspan x="47" dy="24" word-spacing="1.2" letter-spacing="0.3" text-anchor="start">and Infastructure</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 513">
<path fill="currentColor" fill-rule="evenodd" d="M737.65 429.2l-106.7 61.6V367.6l106.7-61.6v123.2zm-352.52 61.6V376.97l98.58 56.92-98.57 56.9zm-16.22 0l-106.69-61.6V306l106.7 61.6v123.2zm114.8-340.77l-98.57 56.93V93.1l98.58 56.93zm131.03 56.92l-98.58-56.92 98.58-56.92v113.85zm-98.58 85l106.68-61.6 106.7 61.6-106.7 61.6-106.68-61.6zm-24.32-14.05l-98.6-56.9 98.6-56.93V277.9zM606.6 221l-98.56 56.9V164.07L606.6 221zM491.83 419.85l-98.58-56.93L491.8 306v113.85zm258-134.93l-118.88-68.6V79.07c0-2.9-1.54-5.58-4.05-7.03L504 1.08c-2.53-1.44-5.6-1.44-8.12 0l-122.9 70.96c-2.53 1.45-4.07 4.13-4.07 7.03v137.25l-118.85 68.6c-2.5 1.45-4.05 4.13-4.05 7.03V433.9c0 2.9 1.54 5.57 4.05 7.02l122.92 70.94c1.25.73 2.65 1.1 4.05 1.1s2.8-.37 4.05-1.1l118.86-68.6 118.85 68.6c1.25.73 2.65 1.1 4.05 1.1s2.8-.37 4.06-1.1l122.92-70.94c2.5-1.45 4.05-4.13 4.05-7.03V291.94c0-2.9-1.54-5.58-4.05-7.03z"
/>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--10" href="#link-to-goal-10">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Reduced Inequalities</span>
<div class="Icon Icon--10">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">10</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Reduced</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Inequalities</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 493">
<g fill="currentColor" fill-rule="evenodd">
<path d="M606.25 269.57H406.37c-1.2 0-2.18.98-2.18 2.18v45.3c0 1.2.9 2.18 2.1 2.18h199.9c1.23 0 2.2-.97 2.2-2.2v-45.28c0-1.2-.97-2.18-2.2-2.18m2.2-83c0-1.2-.96-2.16-2.2-2.16H406.4c-1.2 0-2.18 1-2.18 2.2v45.3c0 1.2.95 2.2 2.16 2.2h199.88c1.23 0 2.2-.94 2.2-2.14v-45.3"
/>
<path d="M724.1 204.3c-8.2-32.92-23.12-62.37-42.86-87.42l-.44.34c6.42 9.55 12.17 19.67 17.07 30.34 25.94 47.56 33.88 104.94 17.52 161.05C682.5 421.2 564.7 485.9 452.1 453c-47.3-13.8-86.12-42.67-112.82-79.83-16.7-21.46-29.32-46.6-36.3-74.65-26.7-107.4 38.7-216.16 146.1-242.88 66.45-16.54 133.3 2.3 181.02 44.43.43.38.84.77 1.28 1.14 1.3 1 2.8 1.7 4.55 1.7 1.93 0 3.64-.8 5-1.9l.8-.8 25.44-25.1 1.67-1.66c.94-1.3 1.62-2.8 1.62-4.53 0-2-.82-3.77-2.06-5.15l-.8-.7C608.88 10.5 526.2-13.05 444.02 7.37c-131.97 32.85-212.3 166.44-179.47 298.4 13.75 55.3 45.24 101.45 86.84 134.1 41.4 33.97 94.2 53.26 149.5 52.7 17.8-.2 35.8-2.38 53.84-6.87 124.5-30.94 200.26-156.92 169.3-281.4"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--11" href="#link-to-goal-11">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Sustainable Cities and Communities</span>
<div class="Icon Icon--11">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="26" y="41" letter-spacing="-0.1" text-anchor="middle">11</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="52" dy="24" word-spacing="1.2" letter-spacing="0.3" text-anchor="start">Sustainable Cities</tspan>
<tspan x="52" dy="24" word-spacing="1.2" letter-spacing="0.3" text-anchor="start">and Communities</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 508">
<g fill="currentColor" fill-rule="evenodd">
<path d="M165 367.3h150.5c2 0 3.6-1.7 3.6-3.7 0-1-.2-1.8-.8-2.4l-.2-.3-75-97-.6-.7c-.7-.7-1.6-1.2-2.7-1.2-1 0-1.8.5-2.4 1l-.5.6-.7.8-73 95.8-1 1.3c-.4.6-.7 1.3-.7 2 0 2 1.7 3.8 3.7 3.8M315 381H164.3c-2 0-3.7 1.6-3.7 3.6v118c0 2 1.6 3.7 3.7 3.7h48.5V432c0-2 1.6-3.6 3.7-3.6h45c2 0 3.7 1.6 3.7 3.7v74.3H315c2 0 3.7-1.7 3.7-3.7v-118c0-2-1.7-3.6-3.7-3.6M822.4 398.4c0 2-1.6 3.5-3.6 3.5h-44.6c-2 0-3.7-1.7-3.7-3.6v-27c0-2 1.7-3.7 3.7-3.7h44.6c2 0 3.6 1.6 3.6 3.6v27zm0 50c0 2-1.6 3.6-3.6 3.6h-44.6c-2 0-3.7-1.6-3.7-3.6v-27c0-2 1.7-3.6 3.7-3.6h44.6c2 0 3.6 1.6 3.6 3.5v27zm-68-50c0 2-1.7 3.5-3.8 3.5H706c-2 0-3.6-1.7-3.6-3.6v-27c0-2 1.7-3.7 3.7-3.7h44.6c2 0 3.7 1.6 3.7 3.6v27zm0 50c0 2-1.7 3.6-3.8 3.6H706c-2 0-3.6-1.6-3.6-3.6v-27c0-2 1.7-3.6 3.7-3.6h44.6c2 0 3.7 1.6 3.7 3.5v27zm81.5-98.3H686.6c-2 0-3.6 1.6-3.6 3.6v150.7c0 2 1.7 3.5 3.7 3.5H836c2 0 3.6-1.6 3.6-3.5V353.6c0-2-1.7-3.5-3.7-3.5zM468 107.5c0 1-1 2-2 2h-33.5c-1 0-2-1-2-2V70.2c0-1 1-2 2-2H466c1 0 2 1 2 2v37.3zm0 85.5c0 1-1 2-2 2h-33.5c-1 0-2-1-2-2v-37.2c0-1 1-2 2-2H466c1 0 2 1 2 2V193zm0 85.6c0 1-1 2-2 2h-33.5c-1 0-2-1-2-2v-37.3c0-1 1-2 2-2H466c1 0 2 1 2 2v37.3zm0 85.5c0 1.2-1 2-2 2h-33.5c-1 0-2-.8-2-2v-37c0-1.2 1-2 2-2H466c1 0 2 .8 2 2v37zm0 85.7c0 1-1 2-2 2h-33.5c-1 0-2-1-2-2v-37.3c0-1 1-2 2-2H466c1 0 2 1 2 2v37.3zm-65.7-342.2c0 1-1 2-2 2H367c-1 0-2-1-2-2V70.2c0-1 1-2 2-2h33.4c1 0 2 1 2 2v37.3zm0 85.5c0 1-1 2-2 2H367c-1 0-2-1-2-2v-37.2c0-1 1-2 2-2h33.4c1 0 2 1 2 2V193zm0 85.6c0 1-1 2-2 2H367c-1 0-2-1-2-2v-37.3c0-1 1-2 2-2h33.4c1 0 2 1 2 2v37.3zm0 85.5c0 1.2-1 2-2 2H367c-1 0-2-.8-2-2v-37c0-1.2 1-2 2-2h33.4c1 0 2 .8 2 2v37zm0 85.7c0 1-1 2-2 2H367c-1 0-2-1-2-2v-37.3c0-1 1-2 2-2h33.4c1 0 2 1 2 2v37.3zM489 .4H343.3c-2 0-3.6 1.6-3.6 3.6v499c0 2 1.6 3.5 3.6 3.5h146c2 0 3.5-1.6 3.5-3.6V4c0-2-1.6-3.6-3.6-3.6zM839.4 335c0 1.6-1.3 3-3 3H686.2c-1.6 0-3-1.4-3-3v-30c0-1.8 1.4-3 3-3h150.2c1.7 0 3 1.2 3 3v30M649 247c0 2-1.7 3.7-3.7 3.7h-43.5c-2 0-3.6-1.6-3.6-3.6v-27c0-2 1.6-3.7 3.6-3.7h43.5c2 0 3.6 1.6 3.6 3.6v27zm0 50.4c0 2-1.7 3.6-3.7 3.6h-43.5c-2 0-3.6-1.6-3.6-3.6v-27.2c0-2 1.6-3.6 3.6-3.6h43.5c2 0 3.6 1.6 3.6 3.6v27.2zm0 50.4c0 2-1.7 3.5-3.7 3.5h-43.5c-2 0-3.6-1.6-3.6-3.5v-27.3c0-2 1.6-3.6 3.6-3.6h43.5c2 0 3.6 1.5 3.6 3.5v27.3zm0 50.3c0 2-1.7 3.6-3.7 3.6h-43.5c-2 0-3.6-1.6-3.6-3.5V371c0-2 1.6-3.5 3.6-3.5h43.5c2 0 3.6 1.5 3.6 3.5V398zm0 50.4c0 2-1.7 3.6-3.7 3.6h-43.5c-2 0-3.6-1.6-3.6-3.6v-27.2c0-2 1.6-3.6 3.6-3.6h43.5c2 0 3.6 1.6 3.6 3.6v27.2zm-66.5-211v60c0 2-1.6 3.6-3.6 3.6h-43.6c-2 0-3.6-1.6-3.6-3.5V290c0-.6 0-1 .3-1.4l.3-.4c0-.2.2-.4.3-.5 0-.2.3-.4.4-.6 5.6-7.8 30.7-38.8 41.2-51.7l1-1.3c1-1 2-1.5 3.3-1.5 2 0 3.6 1.5 4 3.4v1.5zm0 110.4c0 2-1.7 3.5-3.7 3.5h-43.5c-2 0-3.6-1.6-3.6-3.5v-27.3c0-2 1.6-3.6 3.6-3.6h43.5c2 0 3.6 1.5 3.6 3.5v27.3zm0 50.3c0 2-1.7 3.6-3.7 3.6h-43.5c-2 0-3.6-1.6-3.6-3.5V371c0-2 1.6-3.5 3.6-3.5h43.5c2 0 3.6 1.5 3.6 3.5V398zm0 50.4c0 2-1.7 3.6-3.7 3.6h-43.5c-2 0-3.6-1.6-3.6-3.6v-27.2c0-2 1.6-3.6 3.6-3.6h43.5c2 0 3.6 1.6 3.6 3.6v27.2zm22.6-255l1-1.2c10-12.6 26.5-33 34.5-42.8l1-1.3c.8-.8 2-1.4 3.3-1.4 2 0 3.6 1.4 4 3.3v46c0 2.2-1.8 4-4 4h-.2-36-.2-.2c-2.2 0-4-1.8-4-4 0-1 .4-1.8 1-2.5zm60.5-98.7c-.5-1.7-2-2.8-3.7-2.8-.8 0-1.5.2-2 .6h-.4l-1.2 1.7-143.5 182-.6 1c-.7.6-1 1.6-1.2 2.7v223.7c0 2 1.6 3.5 3.6 3.5h146c1.8 0 3.4-1.6 3.4-3.5V96c0-.4 0-1-.3-1.3z"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--12" href="#link-to-goal-12">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Responsible Consumption and Production</span>
<div class="Icon Icon--12">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 72">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">12</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Responsible</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Consumption</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">and Production</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 344">
<g fill="currentColor" fill-rule="evenodd">
<path d="M778.72 35.68C737.94 3.48 689.02 0 669.9 0c-10.1 0-19.43.9-26.26 2.53l-2.7.62c-25.82 6.1-69.05 16.3-119.38 78.77l-1.47 1.83c-.84 1.2-1.27 2.46-1.27 3.78 0 1.14.28 2.24.88 3.3l1.15 1.9c8.3 13.88 15.22 25.95 20.7 36.2 1.97 3.8 7.22 5.04 10.77 1.5.34-.46.7-.94.94-1.32C596.73 69 630.8 61 653.34 55.7l2.8-.66c3.1-.75 8.13-1.18 13.8-1.18 10.48 0 46.9 1.75 75.33 24.2 25.28 19.95 38.1 51.82 38.1 94.74 0 71.9-34.8 99.96-64 110.84-11.12 4.16-23.13 6.27-35.66 6.27-30.06 0-53.2-12.04-53.5-12.2l-2.1-1.02c-25.1-10.9-62.6-33.63-98.04-104.8C457.4 25.92 396.36 12.1 355.94 2.93l-2.13-.47C350.73 1.77 342 .13 327.77.13c-23.4 0-68.42 4.6-107 35.4C194.4 56.55 163 97.37 163 172.48c0 45.77 9.42 76 33.6 107.8 4.53 6.2 46.65 60.58 127.5 60.58 11.97 0 24.4-1.22 36.9-3.62 14.77-2.83 37.56-10.12 63-28.78l21.25 19.17c2.37 2.17 6.5 1.94 8.62-.4 1.04-1.1 1.6-2.58 1.54-4.04l16.45-101.3v-1.17c0-1.73-.77-3.37-1.97-4.4-1.08-1.04-2.47-1.58-4.26-1.58h-.03L366.96 242l-1.87.3c-1.25.28-2.34.92-3.14 1.83-1.1 1.23-1.7 2.8-1.6 4.46.1 1.63.82 3.14 2.02 4.2l20.43 18.48c-10.73 6.58-21.46 10.94-31.9 12.97-8.9 1.7-17.7 2.56-26.16 2.56-55.87 0-83.36-36.67-84.5-38.22l-.55-.76c-17-22.32-22.75-41.33-22.75-75.34 0-43.05 12.6-74.95 37.45-94.8 27.66-22.06 63.24-23.77 73.5-23.77 5.6 0 10.7.43 13.96 1.18l2.18.5c32.27 7.3 76.45 17.3 137.7 140.33 32.35 64.96 72.92 107.45 123.92 129.85 5.93 3.03 37.55 18.1 78.1 18.1 18.92 0 37.25-3.24 54.5-9.65 29.78-11.12 99.07-49.1 99.07-161.42 0-75.06-31.87-115.98-58.6-137.1"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--13" href="#link-to-goal-13">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Climate Action</span>
<div class="Icon Icon--13">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">13</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Climate</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Action</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 377">
<path fill="currentColor" fill-rule="evenodd" d="M651.4 221c-4.2-1.2-21.5-25-7.8-41 2.3-2.5-4.6-10-2.7-10.3 7.4-.5 11.3 4 13.3 10.8l.3 9c0 10.8-1 21.3-3.2 31.5M609 299c-1.5-.6-3-1-4.8-2-8.4-4.2-7.4 2.6-11.5 1-4.2-1.4 4.6-11-7.8-3-12.5 8.2-9-1.2-14.5-15-5.5-13.6 6.2-29.3 16-33 13.3-4.7 21.7-5.7 28-7.3 18.5-4.6 22.4-15.6 25.8-9l1.8 3.7c1.2 2 2.4 6 2.5 10-8 20.7-20 39.2-35.4 54.5m-108.8 44.8c-15 0-29.6-2.2-43.3-6.2-2-1.6-3.3-4.3-2-7.6 4.8-12.4 19-17.3 30.2-18.4 25-2.4 58 16.3 63.2 13.3 5.2-3.2 15.8-17 31.3-16.3 10.6.4 10.5 2.2 14 3.5-26 19.8-58.3 31.6-93.5 31.6m-21-100.6c-2 3.5-8 29.4-11.8 26.4-4-3 1.6-30 2.7-32.2 6.2-11 19.4-10.6 9.2 5.8m63-30.6c-3 2.7-10.8 1.7-14.7-1.4-4-3 2.5-8 4.8-8.2 5.2-.4 13 6.8 10 9.6m68 .2c-1.6-.6-3-2.2-4.3-6-1.3-3.7 2-6 5-4.4 3.2 1.6 7.3 6.3 7.3 9 0 2.4-6.2 2-8 1.4m6.7 4.8c5-.4 13 6.7 10 9.5-3.2 2.8-11 1.8-14.8-1.2-4-3 2.4-8 4.8-8.2M451.4 279c-3 12-6.5 16.2-9.5 20-3 3.6-14 8.4-21 8-7.2-.6-8-19.3-8-29 0-3.3-4.8 6.6-7.3-13.5-1.6-12.8-9.8 1.4-10.4-7.2-.6-8.5-4.7-6.8-9-12.2-4.3-5.2-9.7.6-15.7 3.3-6 2.7-3.5 4-12 1.4-.3 0-.4 0-.6-.2-7.8-18.4-12-38.7-12-60 0-5.3.2-10.4.6-15.4l1-1.4c8.2-9.6 8-12 8-12l9-3s14.4 2.2 25.3 6.3c8.8 3.2 23 10.8 31 7.5 6-2.5 10.7-5.7 10-10.6-.5-6.3-5.4-7.8-11.3-3.6-2.2 1.5-6.8-9.3-10.5-8.8-3.6.6 4.5 12.8 1.4 13.3-3 .4-9.3-12.8-10.3-15-1-2-6-7.5-10.2-3.4-9 8.7-23.8 8-26.7 10.4-9 6.7-11.5-2.3-11.3-7.7l1.2-3.8c3-3.2 13.5-4.3 17.2-2 4 2.8 6.8-.6 8.4-2.2 1.6-1.6 1-4 0-6.3-1-2 2-3.7 4-4.2 2-.6 9-5.4 11.8-7 2.7-1.6 17-3.3 23.4 0 6.4 3 12.3.4 15.4-3.3 4-4.6 9-8.2 11.2-9.3 2.2-1-5.5-8.3-12-.4-6.3 8-9.5 8.6-12.5 8.6s-20.7-4.5-23-10c-2-5.7 5.6-10 12.2-13 6.6-3.2 24.6-3.2 29.2-4.2 9.3-2 21.3-6.8 27.3-2.7 6 4-25 11-15 16.7 3.8 2 20.2-9.5 26-12.4 13-7-13-9.2-9.6-23 4-15.8-32-9.7-50-8.4C441 44 469.7 35 500.3 35c72.8 0 133.8 50.5 150 118.4.2 3.3-.3 5.7-.7 7-1.4 5.7-12 10.4-18 1.5-1.6-2.4-8.2-8.6-8 2 .2 10.8 10.4 12 .5 18.3-9.8 6.4-11.6 5-16.2 6.5-4.5 1.6-9 12.6-7.8 18.5 1 6 15 22 4.7 21.3-2.5-.2-21-12.8-24-21-3.2-8.4-6.7-16.7-9.2-23.2-2.5-6.4-9-8-14.5-4.2-5.5 3.7 1.5 7.5-2.4 15.5-4 8-6.8 15.2-12.6 8.6-15-17.3-37-8.8-40.4-28-1.8-10.4-10.8-9.4-18.3-15.3-7.5-6-11.7-9-13-4.8-1 3.7 23.6 23.3 25.4 28.3 2.6 7.5-7.4 14-14.8 15.8-7.4 1.8-10.6-4-17.8-11.6-7.2-7.5-10.3-12.8-10.8-7-.7 8.6 6.8 21 14 25.7 6.4 4 13.4 5.7 11.4 12.2-2 6.4 0 2.8-7 9.7-7 7-8.4 9.2-8 18.8.6 9.7-2 10.3-3.4 18.3-1.5 8-5 1-8 12.8m-83-170l1-1c2.7-3 8.2-3.8 12-4.4 4-.6 9 1.3 9.6 4 .7 2.4-9.6 7-11.5 8.8-5.3 5-13.7 15-18.5 16-1.6.4-3 0-4-.4 3.2-8 7-15.7 11.5-23m8-15.7c2-3 8.5-11.3 9.3-12.4 1.7-2.3 5-2.7 7.5-3 2.3-.6 5.5.7 6 2.5.3 1.8-1 8.6-2.2 9.8-3.2 3.4-11.6 8-16.3 7.4-3.6-.6-5-3.3-4.3-4.4M867 184.5C840.7 147.5 721.5 0 500 0 278.4 0 159.3 147.5 133 184.5l-3 4c.8 1.3 1.8 2.6 3 4.2 26.3 37 145.4 184.5 367 184.5 221.5 0 340.7-147.5 367-184.5 1.2-1.6 2-3 3-4l-3-4.2"
/>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--14" href="#link-to-goal-14">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Life Below Water</span>
<div class="Icon Icon--14">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">14</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Life Below</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Water</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 460">
<g fill="currentColor" fill-rule="evenodd">
<path d="M625.3 349C607 349 592 334.3 592 316c0-18.3 15-33.2 33.3-33.2 18.4 0 33.3 15 33.3 33.2 0 18.4-15 33.3-33.3 33.3m144.5-15.4c-12.6-17-94-120.6-208-120.6-98.8 0-204.7 89.7-204.7 89.7s-39.7-81.4-121-89.2H234c-1.8 0-3.4 1.7-3.2 3 .3 1.6 1.3 3 1.3 3 10.6 17.5 37.3 67 37.3 116.5 0 49.7-27 99.3-37.3 116.7l-.7 1c-.3.6-.5 1-.5 1.8 0 1.7 1.4 3 3 3.2h1c.2 0 .5 0 .8-.2C317.2 451 357 369.3 357 369.3S463 459 562 459c114 0 195.2-103.6 207.8-120.6.3-.4.6-.8 1-1V336v-1.2l-1-1.2M233.4 18.2l-.6-.2c-1.8 0-3.3 1.5-3.3 3.3V44c0 1 .4 1.8 1 2.4 55 47.8 107 3 119-9l1-.8c.5-.3 1-.6 1.8-.6s1.6.4 2.2 1h.2c62 59.4 127.3 11.3 140.8 0l1.4-1.2c.2-.2.7-.2 1-.2.6 0 1 0 1.4.2l1.3 1.2c13.6 11.3 78.7 59.4 141 0 .6-.6 1.4-1 2.2-1 .6 0 1.2.3 1.7.6.4.2.7.6 1 1 12 11.8 64 56.6 119 8.8.7-.6 1-1.4 1-2.4V21.3c0-1.8-1.4-3.3-3.2-3.3-.2 0-.4 0-.7.2l-1.6.8c-17 8.5-69.4 28.7-117-16.4l-1.5-1.3c-.4-.2-.8-.3-1.4-.3h-1c-.7.4-1.2 1-1.6 1.4-14.2 10.8-79.4 55-137.4.8l-.8-.8c-.7-.5-1.5-1-2.4-1-.8 0-1.6.5-2.2 1l-1 .8c-58 54-123 10-137.3-.8-.4-.5-1-1-1.6-1.3h-1c-.6 0-1 0-1.5.3L352 2.6c-47.5 45-100 25-117 16.4l-1.6-.8M349.6 120c.3-.3.5-.6 1-.8.4-.4 1-.6 1.7-.6.8 0 1.6.3 2.2 1h.2c62 59.2 127.3 11.2 140.8 0l1.4-1.3 1-.2c.6 0 1 .2 1.4.3l1.3 1.3c13.6 11.2 78.7 59.2 141 0 .6-.7 1.4-1 2.2-1 .6 0 1.2.2 1.7.6.4.2.7.5 1 1 12 11.7 64 56.5 119 8.7.7-.7 1-1.5 1-2.4v-22.8c0-1.8-1.4-3.2-3.2-3.2h-.7l-1.6 1c-17 8.4-69.5 28.5-117-16.5l-1.5-1.2c-.4-.2-.8-.3-1.4-.3-.3 0-.6 0-1 .2-.7.2-1.2.7-1.6 1.3-14.2 10.8-79.4 55-137.4.8l-1-1c-.5-.5-1.3-.8-2.2-.8-.8 0-1.6.3-2.2 1l-1 .8c-58 54-123 10-137.3-.8-.4-.6-1-1-1.6-1.3l-1-.2c-.6 0-1 0-1.5.3L352 85c-47.5 45-100 25-117 16.5l-1.6-.8h-.6c-1.8 0-3.3 1.3-3.3 3v23c0 .8.4 1.6 1 2.2 55 47.7 107 3 119-9"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--15" href="#link-to-goal-15">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Life on Land</span>
<div class="Icon Icon--15">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">15</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Life</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">on Land</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 481">
<g fill="currentColor" fill-rule="evenodd">
<path d="M420 279c1.3 0 2.3 1 2.3 2.3V354c0 1.4-1 2.4-2.2 2.4h-29.4c-1.2 0-2.2-1-2.2-2.3v-72.7c0-1.2 1-2.2 2.2-2.2H420M743.7 387.6H258c-1 0-2 1-2 2.3v29.6c0 1.2 1 2.2 2 2.2h485.7c1.2 0 2.2-1 2.2-2.2V390c0-1.3-1-2.4-2.3-2.4M743.7 446.6H258c-1 0-2 1-2 2.2v29.8c0 1.2 1 2.2 2 2.2h485.7c1.2 0 2.2-1 2.2-2.2v-29.8c0-1.2-1-2.2-2.3-2.2M651.3 198.5c-6-4.7-22.3-15.8-42-15.8-14 0-27.2 5.6-39 16.6-.8.8-1.3 1.8-1.3 3v2.7c0 1.3.4 2.5 1.4 3.3 1 .8 2 1 3.4.8.3 0 .6 0 1-.2.8-.3 1.7-.8 2.3-1.5 2.7-1.7 9.7-4 19.6-4 10.3 0 30.5 2.7 50 21l.5.3c1.2 1.2 2.7 1.8 4.3 1.8 1.5 0 3-.7 4-1.7l.5-.4c19.7-18.3 39.8-21 50-21 10 0 17 2.3 19.6 4 .7.7 1.6 1.2 2.7 1.6.5 0 1.8.3 3 0 1.7-.5 3-2 3-4v-2.3c0-1-.5-2.2-1.3-3-12-11.3-25-17-39.5-17-19.5 0-35.7 11-42 15.8M621.2 5c-1 .5-1.8 1.4-2 2.5l-.6 1.7c-.4 1.2-.2 2.6.6 3.6.7 1 1.8 1.6 3 1.6h.6c1 0 1.6 0 2.4-.5.4-.2 1.3-.5 3-.5 2 0 21.6.7 34.6 22.7l.2.3c.7 1.3 1.8 2.2 3 2.5l1.6.2c1 0 1.8-.2 2.5-.6h.4c7-3.7 14.4-5.5 21.6-5.5 12.3 0 20.3 5 22.2 7.2.4.7 1 1.3 1.6 1.8l1.6.8h1.2c.7 0 1.3 0 2-.4 1-.5 1.7-1.4 2-2.5l.4-1.5v-1.2c0-.7 0-1.5-.5-2-9.4-16.4-23-20-33-20-7.2 0-13.6 2-17.4 3.4-4.3-6-15.6-18.3-32.6-18.3-6 0-12 1.5-18.2 4.6M518.6 79.7V82c.2 1.2 1 2.4 2 3 1 .8 2.2 1 3.3.6 0 0 .4 0 .6-.2 1-.3 1.6-1 2-1.5 2.2-1.6 8.8-4.3 18.6-4.3 9.5 0 23.8 2.5 38.4 14.5l.4.3c1 1 2.4 1.4 3.7 1.4h.4c1.6-.2 3-1 4-2l.2-.3c16.2-17 33.6-19.6 42.6-19.6 6.4 0 11 1.4 12.6 2.4.7.6 1.5 1 2.6 1.3.3 0 1 .2 1.7 0h1c1.8-.7 3-2.4 2.8-4.3v-2c-.2-1-.7-2-1.5-2.8-9.7-8-20-12.2-31-12.2-17.2 0-30.8 10-36.5 15-5-3.5-17.7-10.7-32.4-10.7-12.8 0-24.4 5.3-34.3 16-.8.7-1.2 2-1 3M272.8 118.7c0-29 23.6-52.7 52.7-52.7 1 0 2.2 0 3.3.2 2.8-36.8 33.5-65.8 71-65.8 39.3 0 71.2 32 71.2 71.2 0 11-2.6 21.6-7.2 31 35.7 8 62.4 39.7 62.4 77.7 0 44-35.7 79.6-79.6 79.6l-106.3-.7c-31 0-56.3-25.2-56.3-56.4 0-15 5.8-28.6 15.3-38.7-15.8-9-26.5-26-26.5-45.6"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--16" href="#link-to-goal-16">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Peace, Justice and Strong Institutions</span>
<div class="Icon Icon--16">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 72">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">16</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Peace, Justice</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">and Strong</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Institutions</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 552">
<g fill="currentColor" fill-rule="evenodd">
<path d="M700.9 4.96s-11.52 15.3-8.17 30.22c3.37 14.92 20.38 23.8 20.38 23.8s11.6-15.32 8.2-30.23c-3.3-14.92-20.4-23.8-20.4-23.8m-18.7 87.42s11.6-15.32 8.2-30.23C687 47.22 670 38.37 670 38.37s-11.53 15.3-8.2 30.2c3.4 14.92 20.4 23.8 20.4 23.8m47.4-16.4s12.17 12.28 26.03 11.05c13.86-1.23 24.13-15.5 24.13-15.5s-12.2-12.26-26.06-11.02C739.76 61.73 729.5 76 729.5 76m19.93-65.6c-11.27 11.45-9.68 31.7-9.68 31.7s19.88 1.72 31.18-9.7C782.2 20.96 780.6.7 780.6.7s-19.88-1.7-31.17 9.7m-24.88 111.08c13.82 1.63 26.8-10.23 26.8-10.23s-9.4-14.5-23.2-16.13c-13.83-1.62-26.82 10.24-26.82 10.24s9.4 14.5 23.22 16.12m12.35 239.94H633.64c-8.07 0-14.62 6.52-14.62 14.6 0 8.06 6.55 14.6 14.62 14.6H736.9c8.06 0 14.6-6.54 14.6-14.6 0-8.08-6.54-14.6-14.6-14.6m0 160.98H633.64c-8.07 0-14.62 6.52-14.62 14.6 0 8.06 6.55 14.6 14.62 14.6H736.9c8.06 0 14.6-6.54 14.6-14.6 0-8.08-6.54-14.6-14.6-14.6M272.6 325.96c-2.44-.75-4.84-1.4-7.18-1.84 0 0 2.65.82 7.17 1.84"
/>
<path d="M439.9 389.15c6.82.12 13.64-.1 20.48-.55v53.93l-20.47-.46v-52.92zm293.2 11.67h-95.7c-4.6 0-8.3 3.74-8.3 8.3v28.98l-62.46 6.87-91.24-2.1v-55.72c12.12-1.55 24.26-3.96 36.3-7.36 87.85-24.8 107-97.4 105.1-147.7-1.92-51.2 14.45-71.1 37.98-79.9 6.73-2.6 13.4-4.2 19.5-5.2.26 12.5 2.8 27.1 8.43 44.6 2.1-.1 4.2-.3 6.3-.5-5.9-17.8-8.4-32.5-8.6-45 12.2-1.48 20.8-.67 20.8-.67s-8.2-4.4-19.8-14.1c4-24.2 18.4-39.1 33.3-54.3 8.2-8.37 16.7-17 23.3-27.3l-5.2-3.35c-6.22 9.8-14.5 18.2-22.5 26.35-14.5 14.8-29.1 30-34.1 54-4.7-4.2-9.8-9.24-15-15.1-21.62-24.3-49.5-6.45-89.3 30.56-39.73 37-89.8 38.26-138.6-11.7-64.46-66-120.7-65.6-159.26-61.87 26.4 11.2 35.6 35.83 48.98 98.5 14 65.7 49.3 95.42 97.57 99.52-26.8 9.5-28.15 24.6-64.1 49.44-28.1 19.4-67.6 13.26-83.64 9.6 29.4 9.2 64.2 40.04 95.4 50.77 18.14 6.27 37.27 10.13 56.87 11.68v53.36L261.4 438v37.2l305.24-6.98 62.45 6.88v28.94c0 4.58 3.8 8.33 8.4 8.33h95.6c4.6 0 8.3-3.75 8.3-8.33v-94.9c0-4.58-3.7-8.32-8.3-8.32zm-480.6 68.23c0 7.85-5.48 14.2-12.23 14.2h-7.35c-6.74 0-12.23-6.35-12.23-14.2v-25.72c0-7.86 5.4-14.2 12.2-14.2h7.3c6.7 0 12.2 6.34 12.2 14.2v25.72"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<a class="GoalGrid-item GoalGrid-item--17" href="#link-to-goal-17">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-icon"><span class="GoalGrid-hidden">Partnerships for the Goals</span>
<div class="Icon Icon--17">
<svg role="presentational" aria-hidden="true" class="Icon-label GoalGrid-iconLabel" viewBox="0 0 200 48">
<g transform="scale(0.94)">
<text class="Icon-number GoalGrid-iconNumber" font-size="59.4" fill="currentColor" text-anchor="middle" alignment-baseline="hanging">
<tspan x="30" y="41" letter-spacing="-0.1" text-anchor="middle">17</tspan>
</text>
<text class="Icon-text GoalGrid-iconText" font-size="24" y="-7" fill="currentColor" text-anchor="start" alignment-baseline="hanging">
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">Partnerships</tspan>
<tspan x="62" dy="24" word-spacing="1.5" letter-spacing="0.5" text-anchor="start">for the Goals</tspan>
</text>
</g>
</svg>
<div class="Icon-glyph GoalGrid-iconGlyph">
<svg viewBox="0 0 1000 486">
<g fill="currentColor" fill-rule="evenodd">
<path d="M588.7 225.7c25.7-23.8 41.8-57.8 41.8-95.5 0-5.6-.4-11-1-16.6 52 5.6 92.8 49.8 92.8 103.4 0 30.5-13.2 57.8-34.2 77-19.5-37-56.2-63-99.3-68.3M677.2 355c0 57.3-46.7 104-104 104-18.7 0-36.2-5-51.4-13.7 22.2-23.3 35.8-54.8 35.8-89.5 0-8.5-.8-16.8-2.4-25 18.7 10.5 40.2 16.4 63 16.4 20.4 0 39.7-4.7 57-13 1.2 6.7 2 13.7 2 20.8m-354 .8c0-7.4 1-14.6 2.4-21.5 17.2 8.3 36.4 13 56.6 13 23 0 44.3-6 63-16.3-1.5 7.8-2.3 15.8-2.3 24 0 35 14 67 36.7 90.6-15.4 9-33.2 14.2-52.3 14.2-57.4 0-104-46.6-104-104M278 217c0-53.6 40.8-97.8 93-103.4-.8 5.5-1.2 11-1.2 16.6 0 38 16.4 72.4 42.6 96.3-43.3 5-80 31-100 67.6-21-19-34.4-46.4-34.4-77m222-190.8c42.7 0 79.3 25.8 95.4 62.6-42.3 7.4-77.6 35.4-95.4 73.2-17.6-37.8-53-65.8-95.3-73.2C421 52 457.5 26.2 500 26.2M525 262.8c14.4-7.5 30.8-12 48-12 41 0 76.4 24 93.4 58.3-14.4 7.7-30.8 12-48 12-41 0-76.4-23.8-93.4-58.2m-50 .7c-17 34-52 57.5-92.8 57.5-17.2 0-33.4-4.3-47.7-11.7 17-34 52.2-57.5 93-57.5 17 0 33.3 4.3 47.6 11.7m-77.4-149.3c50 7.5 88.7 50.7 88.7 102.8 0 5.5-.6 10.8-1.4 16-50.2-7.5-88.8-50.6-88.8-102.8 0-5.4.6-10.7 1.4-16m103 315.3c-19.3-19-31.5-45.3-31.5-74.5 0-28.8 12-55 30.8-73.7 19.4 19 31.6 45.3 31.6 74.5 0 28.8-11.7 54.8-30.7 73.7m103.6-299.3c0 52.2-38.6 95.3-88.7 102.8-.8-5.2-1.4-10.5-1.4-16 0-52 38.6-95.3 88.7-102.7.7 5.2 1.3 10.5 1.3 16M748.5 217c0-70.2-56-127.6-125.5-130-18-50.7-66-87-122.8-87-56.6 0-104.8 36.3-122.8 87C307.8 89.3 252 146.7 252 217c0 41.7 19.7 78.8 50.3 102.7-3.4 11.5-5.2 23.6-5.2 36 0 72 58.5 130.3 130.4 130.3 27.2 0 52.5-8.4 73.5-22.8 20.6 14 45.4 22 72 22 72 0 130.4-58.4 130.4-130.2 0-12.3-1.8-24.2-5-35.5 30.5-23.8 50-61 50-102.5"
/>
</g>
</svg>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="GoalGrid-item GoalGrid-item--logo">
<div class="GoalGrid-bg">
<div class="GoalGrid-content">
<div class="GoalGrid-logo">
<svg class="Logo" viewBox="0 0 452 449">
<title>The Global Goals Logotype</title>
<svg viewBox="0 0 452 449">
<g fill="none" fill-rule="evenodd">
<path fill="#000105" class="Logo-logoText" d="M115.79 368.36h14.108v31.482h-7.137v-6.432c-1.31 4.428-4.1 7.123-9.5 7.123-8.53 0-12.44-6.775-12.44-15.904V356.1c0-9.21 4.44-15.913 14.89-15.913 10.97 0 14.19 6.09 14.19 14.79v5.212h-9.05v-6.01c0-3.65-1.4-5.73-4.97-5.73-3.56 0-5.11 2.52-5.11 6.09v31.64c0 3.56 1.47 6.08 4.87 6.08 3.22 0 4.87-1.82 4.87-5.65v-10.43h-4.71v-7.84m18.9-27.47h9.93v50.86h11.84v8.08H134.7v-58.95m45.11 45.29v-31.64c0-3.57-1.57-6.09-5.15-6.09-3.48 0-5.05 2.52-5.05 6.09v31.64c0 3.56 1.57 6.09 5.05 6.09 3.58 0 5.15-2.53 5.15-6.1m-20.13-1.56v-28.5c0-9.21 4.536-15.9 14.98-15.9 10.535 0 15.064 6.68 15.064 15.9v28.53c0 9.13-4.53 15.91-15.065 15.91-10.45 0-14.98-6.77-14.98-15.9m44.75-11.31v18.44h4.35c3.31 0 4.87-1.66 4.87-4.79v-8.86c0-3.12-1.48-4.78-4.96-4.78h-4.27zm0-7.56h3.48c3.23 0 4.71-1.65 4.71-4.78v-7.22c0-3.22-1.48-4.77-4.79-4.77h-3.41v16.78zm-9.92-24.87h14.36c9.93 0 13.24 4.6 13.24 12.95v6c0 4.95-1.84 8.09-5.92 9.39 4.95 1.13 7.39 4.43 7.39 9.82v7.82c0 8.35-3.74 12.95-13.67 12.95H194.5V340.9zm43.61 40.25h7.92l-3.91-23.64h-.1l-3.92 23.64zm-12.45 18.7l11.15-58.95h11.33l11.23 58.94h-10.2l-1.84-10.78h-10.53l-1.74 10.78h-9.41zm36.93-58.94h9.93v50.86h11.84v8.08H262.6V340.9m48.666 27.46h14.1v31.482h-7.135v-6.43c-1.31 4.43-4.09 7.123-9.49 7.123-8.53 0-12.45-6.776-12.45-15.905V356.1c0-9.21 4.44-15.913 14.89-15.913 10.97 0 14.2 6.09 14.2 14.79v5.212h-9.05v-6.01c0-3.65-1.4-5.73-4.97-5.73-3.56 0-5.13 2.52-5.13 6.09v31.64c0 3.56 1.48 6.08 4.89 6.08 3.22 0 4.87-1.82 4.87-5.65v-10.43h-4.69v-7.84m39.01 17.82v-31.64c0-3.57-1.58-6.09-5.14-6.09-3.49 0-5.06 2.52-5.06 6.09v31.64c0 3.56 1.58 6.09 5.07 6.09 3.56 0 5.14-2.53 5.14-6.1m-20.11-1.56v-28.5c0-9.21 4.52-15.9 14.98-15.9 10.53 0 15.05 6.68 15.05 15.89v28.53c0 9.13-4.52 15.91-15.05 15.91-10.46 0-14.98-6.77-14.98-15.9m44.41-3.48h7.92l-3.92-23.64h-.08l-3.91 23.64zm-12.46 18.7l11.15-58.95h11.31l11.23 58.94h-10.2l-1.82-10.78H373.3l-1.75 10.78h-9.4zm36.92-58.95H409v50.86h11.85v8.08h-21.78V340.9"
/>
<g transform="translate(0 340)">
<path fill="#000105" class="Logo-logoText" d="M423.484 47.15v-7.92h9.225v8.092c0 3.307 1.49 5.215 4.88 5.215 3.13 0 4.52-2.088 4.52-5.215V45.06c0-3.398-1.39-5.478-4.44-8.347l-5.84-5.824c-5.66-5.57-8.26-8.96-8.26-15.74v-2.01c0-7.31 4.27-12.96 13.93-12.96 9.92 0 13.84 4.88 13.84 13.39v4.79h-9.06v-5.13c0-3.39-1.57-5.05-4.7-5.05-2.8 0-4.71 1.57-4.71 4.87v1.21c0 3.31 1.83 5.22 4.71 8l6.35 6.26c5.39 5.48 8.01 8.79 8.01 15.31v2.87c0 8.08-4.35 13.82-14.46 13.82-10.11 0-14.02-5.65-14.02-13.39M0 .89h26.377v8.09h-8.19v50.862H8.182V8.98H0V.896"
/>
</g>
<path fill="#000105" class="Logo-logoSlice" d="M49.616 373.85h-9.572v25.992h-9.92v-58.946h9.92v24.95h9.572v-24.95H59.63v58.946H49.617V373.85m14.803-32.954h23.69v8.084H74.355v16.867h9.833v8.002h-9.833v17.9h13.753v8.08H64.42v-58.94" />
<path fill="#5BB249" class="Logo-logoSlice" d="M149.968 107.955c3.75-6.37 8.298-12.21 13.51-17.38l-44.303-48.582c-11.147 10.652-20.652 23-28.128 36.612l58.92 29.35" />
<path fill="#D8AE48" class="Logo-logoSlice" d="M258.577 73.635c6.708 3.074 12.947 6.996 18.578 11.64l44.43-48.507c-11.702-10.09-24.97-18.417-39.375-24.566l-23.633 61.433" />
<path fill="#B42839" class="Logo-logoSlice" d="M360.325 88.242l-58.886 29.354c2.81 6.564 4.81 13.535 5.89 20.806l65.5-6.183c-1.94-15.51-6.23-30.3-12.52-43.98" />
<path fill="#4A9C47" class="Logo-logoSlice" d="M297.214 109.086l58.88-29.35c-7.295-13.552-16.597-25.864-27.515-36.53L284.15 91.7c5.06 5.2 9.46 11.038 13.064 17.386" />
<path fill="#3F794A" class="Logo-logoSlice" d="M138.267 150.93c0-1.323.044-2.647.1-3.963L72.85 141.1c-.206 3.25-.332 6.527-.332 9.83 0 12.568 1.56 24.777 4.462 36.445l63.28-18.153c-1.298-5.896-1.993-12.01-1.993-18.29" />
<path fill="#F4BC38" class="Logo-logoSlice" d="M288.968 204.783c-4.657 5.668-10.032 10.72-15.98 15.03l34.595 56.01c12.84-8.698 24.27-19.323 33.877-31.458l-52.492-39.582" />
<path fill="#DE4A3B" class="Logo-logoSlice" d="M308.25 150.93c0 6.205-.667 12.253-1.947 18.08l63.27 18.18c2.886-11.618 4.424-23.764 4.424-36.26 0-3.102-.103-6.182-.293-9.25l-65.513 6.187c.04 1.025.06 2.04.06 3.064" />
<path fill="#ED9643" class="Logo-logoSlice" d="M158.61 206.035l-52.368 39.8c9.74 11.993 21.275 22.446 34.2 30.98l34.586-55.948c-6.093-4.213-11.614-9.207-16.418-14.832" />
<path fill="#228CC1" class="Logo-logoSlice" d="M139.328 137.514c1.172-7.4 3.317-14.48 6.275-21.108L86.74 87.08c-6.503 13.842-10.962 28.824-12.99 44.553l65.578 5.88" />
<path fill="#8B2142" class="Logo-logoSlice" d="M299.536 280.89l-34.543-55.935c-6.276 3.543-13.036 6.324-20.16 8.19l12.19 64.706c15.168-3.48 29.47-9.26 42.513-16.96" />
<path fill="#2BB8CF" class="Logo-logoSlice" d="M303.782 178.172c-2.29 6.728-5.39 13.078-9.196 18.937l52.534 39.62c8.533-12.27 15.277-25.85 19.883-40.4l-63.22-18.17" />
<path fill="#E46A3E" class="Logo-logoSlice" d="M235.517 235.035c-4 .578-8.092.893-12.26.893-3.345 0-6.65-.21-9.892-.586L201.18 300.05c7.212 1.057 14.58 1.618 22.078 1.618 8.32 0 16.484-.684 24.437-1.985l-12.178-64.648" />
<path fill="#DB3244" class="Logo-logoSlice" d="M228.692 66.107c7.3.47 14.352 1.858 21.033 4.06l23.63-61.414C259.295 3.788 244.298.85 228.692.3v65.807" />
<path fill="#CF2765" class="Logo-logoSlice" d="M203.998 233.724c-7.367-1.718-14.368-4.394-20.863-7.89l-34.61 55.976c13.315 7.62 27.872 13.264 43.3 16.55L204 233.725" />
<path fill="#1E435B" class="Logo-logoSlice" d="M197.716 69.865c6.824-2.158 14.023-3.472 21.47-3.82V.247C203.37.67 188.174 3.55 173.924 8.493l23.793 61.372" />
<path fill="#B88F3F" class="Logo-logoSlice" d="M152.847 198.474c-4.174-6.166-7.58-12.918-10.027-20.097l-63.234 18.146c4.79 15.082 11.886 29.135 20.886 41.752l52.375-39.8" />
<path fill="#1D648D" class="Logo-logoSlice" d="M170.6 84.266c5.555-4.4 11.67-8.11 18.225-11.03l-23.78-61.34c-14.16 5.945-27.21 13.997-38.78 23.75l44.334 48.62" />
<path fill="#161616" class="Logo-logoSlice" d="M20.733 426.78H8.983v13.1H6.5v-27.365h15.51v2.3H8.982v9.67h11.75v2.296m12.074-3.24c-4.82 0-5.11 3.1-5.11 7.22 0 4.13.29 7.23 5.11 7.23 4.743 0 5.107-3.1 5.107-7.22 0-4.12-.364-7.22-5.107-7.22zm0 16.71c-6.24 0-7.663-3.9-7.663-9.49 0-5.58 1.422-9.48 7.663-9.48 6.276 0 7.662 3.91 7.662 9.49 0 5.59-1.386 9.49-7.662 9.49zm22.07-16.41c-.547-.18-1.28-.29-2.19-.29-2.48 0-3.94.4-5.29 1.17v15.18h-2.554v-18.25h1.423l.546 1.53c1.72-1.27 3.84-1.89 5.88-1.89.84 0 1.5.08 2.19.19v2.38m11.53-4.02c0 3.91 2.26 4.28 6.57 4.82 5.37.7 8.69 2.01 8.69 7.37 0 3.73-1.97 8.25-10.11 8.25-2.52 0-5.94-.69-7.66-1.46v-2.37c1.75.59 3.9 1.53 7.7 1.53 5.69 0 7.4-2.66 7.4-5.95 0-3.9-1.6-4.67-6.17-5.25-6.46-.8-8.93-2.3-8.93-6.97 0-3.17 1.54-7.62 9.2-7.62 3.36 0 5.61.59 7.11 1.28v2.45c-2.48-1.05-4.45-1.42-7.15-1.42-5.4 0-6.64 2.49-6.64 5.37m21.96 15.07c0 2.38 1.39 3.1 3.66 3.1 2.37 0 3.57-.4 4.92-1.17v-15.18h2.55v18.24h-1.42l-.54-1.53c-1.72 1.28-3.58 1.9-5.51 1.9-4.34 0-6.2-1.97-6.2-5.47v-13.14h2.55v13.24m21.96-5.47c5.18.47 6.43 2.23 6.43 5.22 0 2.81-1.79 5.62-7.34 5.62-1.75 0-4.27-.43-5.43-.91v-2.19c1.13.41 2.88.84 5.47.84 3.8 0 4.82-1.6 4.82-3.32 0-1.68-.51-2.84-4.12-3.13-5.29-.48-6.38-2.34-6.38-4.86 0-2.59 1.68-5.4 6.83-5.4 1.71 0 3.65.22 5.25.91v2.19c-1.42-.48-2.84-.84-5.29-.84-3.61 0-4.38 1.34-4.38 3.13 0 1.61.66 2.45 4.16 2.74m20.18 10.69c-.44.11-1.17.15-1.64.15-3.02 0-5.84-1.39-5.84-4.96v-11.65h-3.65v-1.13l3.64-1.05v-4.93l2.55-.73v5.84h5.66v2.01h-5.66V435c0 2.23 1.21 3.14 3.51 3.14.47 0 .95-.035 1.42-.074v2.045m9.96-9.45c-2.59.25-3.72 1.6-3.72 3.72 0 1.65.41 3.62 3.87 3.62 1.98 0 3.29-.54 4.85-1.46v-6.35l-4.99.48zm.66-7.11c-2.44 0-4.05.44-5.47.91v-2.19c1.6-.69 3.72-.98 5.47-.98 5.48 0 6.9 2.48 6.9 6.14v12.47h-1.43l-.55-1.45c-1.64 1.21-3.68 1.82-5.51 1.82-4.78 0-6.38-2.81-6.38-5.87 0-3.1 1.71-5.4 6.49-5.69l4.81-.29v-1.02c0-2.66-.94-3.82-4.34-3.82zm12.22 12.7v-14.6h2.48v14.89c0 1.28.4 1.65 1.54 1.65v2.08c-2.63 0-4.01-1.09-4.01-4.01zm1.24-21.89c1.02 0 1.82.8 1.82 1.82s-.8 1.83-1.82 1.83-1.82-.8-1.82-1.82.81-1.82 1.83-1.82zm18.06 12.29c0-2.37-1.39-3.09-3.65-3.09-2.37 0-3.58.4-4.93 1.17v15.18h-2.55v-18.24h1.42l.55 1.53c1.72-1.27 3.58-1.9 5.51-1.9 4.34 0 6.21 1.97 6.21 5.48v13.13h-2.55v-13.24m12.876 4.02c-2.59.26-3.72 1.6-3.72 3.72 0 1.65.4 3.62 3.87 3.62 1.963 0 3.28-.54 4.85-1.46v-6.35l-5 .48zm.66-7.11c-2.45 0-4.05.43-5.476.9v-2.19c1.61-.69 3.724-.99 5.473-.99 5.476 0 6.9 2.48 6.9 6.14v12.47h-1.42l-.54-1.45c-1.64 1.2-3.687 1.82-5.51 1.82-4.787 0-6.38-2.81-6.38-5.87 0-3.1 1.71-5.4 6.49-5.69l4.812-.29v-1.03c0-2.66-.947-3.82-4.34-3.82zm14.19 1.16v12.11c1.42.77 2.74 1.17 5.11 1.17 4.38 0 4.92-3.62 4.92-7.23 0-3.61-.55-7.22-4.925-7.22-2.37 0-3.69.4-5.11 1.17zM213 430.8c0 5.25-1.61 9.48-7.48 9.48-1.97 0-3.8-.66-5.698-1.86l-.54 1.5h-1.42v-27.36h2.55v10.25c1.58-1.02 3.437-1.5 5.117-1.5 5.87 0 7.48 4.24 7.48 9.49zm4.96 5.47v-23.72h2.48v24.01c0 1.27.4 1.64 1.53 1.64v2.08c-2.63 0-4.017-1.1-4.017-4.02m10.36-6.38h9.485c0-3.25-.18-6.31-4.37-6.31-4.235 0-5 3.03-5.11 6.31zm5.11-8.58c6.2 0 6.93 4.24 6.93 9.49v1.17H228.3c.15 3.17.986 6.06 5.114 6.06 2.623 0 4.23-.26 6.014-1.02v2.18c-2.044.91-4.23 1.1-6.014 1.1-6.167 0-7.66-4.23-7.66-9.49 0-5.25 1.493-9.49 7.66-9.49zm20.35 16.31h5.11c6.566 0 8.76-4.81 8.76-11.38 0-6.57-2.194-11.38-8.76-11.38h-5.11v22.76zm-2.476 2.3v-27.37h7.437c8.946 0 11.53 5.92 11.53 13.69 0 7.78-2.584 13.68-11.53 13.68h-7.44zM277 429.88h9.49c0-3.25-.183-6.31-4.376-6.31-4.23 0-5 3.03-5.11 6.31zm5.11-8.58c6.206 0 6.936 4.24 6.936 9.49v1.17h-12.05c.146 3.18.99 6.06 5.11 6.06 2.625 0 4.23-.26 6.024-1.02v2.18c-2.05.92-4.24 1.1-6.03 1.1-6.17 0-7.66-4.23-7.66-9.49 0-5.25 1.49-9.49 7.66-9.49zm12.11.37l5.22 14.96 5.22-14.96h2.81l-7.117 18.61h-1.82l-7.12-18.61h2.81m17.8 8.22h9.486c0-3.25-.18-6.31-4.38-6.31-4.23 0-4.99 3.026-5.1 6.31zm5.11-8.58c6.21 0 6.94 4.24 6.94 9.49v1.17H312c.14 3.18.985 6.06 5.106 6.06 2.626 0 4.23-.25 6.023-1.02v2.19c-2.05.91-4.24 1.098-6.03 1.098-6.17 0-7.66-4.23-7.66-9.49 0-5.25 1.49-9.485 7.66-9.485zM329 436.25v-23.72h2.47v24.01c0 1.277.41 1.644 1.538 1.644v2.08c-2.63 0-4.014-1.096-4.014-4.014"
/>
<g transform="translate(336 421)">
<path fill="#161616" d="M8.456 2.537c-4.817 0-5.107 3.098-5.107 7.22 0 4.126.29 7.227 5.1 7.227 4.74 0 5.1-3.1 5.1-7.226 0-4.123-.36-7.22-5.11-7.22zm0 16.71c-6.24 0-7.662-3.9-7.662-9.49C.794 4.177 2.217.27 8.456.27c6.276 0 7.662 3.907 7.662 9.49 0 5.587-1.386 9.487-7.662 9.487zm24.622-9.49c0-3.613-.546-7.22-4.924-7.22-2.372 0-3.684.398-5.107 1.164v12.12c1.423.77 2.735 1.17 5.107 1.17 4.378 0 4.924-3.61 4.924-7.22zm-10.03 7.993V28H20.49V.637h1.425l.547 1.496C24.36.93 26.185.27 28.154.27c5.874 0 7.48 4.236 7.48 9.488 0 5.257-1.606 9.488-7.48 9.488-1.678 0-3.542-.477-5.107-1.496z"
/>
</g>
<path fill="#161616" d="M397.535 426.635c0-2.373-1.386-3.098-3.465-3.098-2.26 0-3.505.435-4.964 1.2.148.59.22 1.204.22 1.898v13.246h-2.555v-13.24c0-2.37-1.38-3.09-3.46-3.09-2.12 0-3.32.36-4.74 1.09v15.25h-2.55v-18.24h1.43l.55 1.5c1.76-1.27 3.65-1.86 5.33-1.86 2.45 0 4.16.7 5.11 2.08 1.9-1.31 3.83-2.08 5.66-2.08 3.91 0 6.02 1.83 6.02 5.48v13.13h-2.55v-13.25m9.3 3.21h9.49c0-3.25-.18-6.31-4.37-6.31-4.23 0-5 3.03-5.11 6.31zm5.11-8.58c6.21 0 6.94 4.24 6.94 9.49v1.17h-12.05c.15 3.18.99 6.06 5.11 6.06 2.63 0 4.24-.25 6.03-1.02v2.19c-2.04.92-4.23 1.1-6.02 1.1-6.16 0-7.66-4.23-7.66-9.48s1.49-9.48 7.66-9.48zm22.44 5.37c0-2.37-1.38-3.1-3.65-3.1-2.37 0-3.58.4-4.92 1.16v15.18h-2.56v-18.24h1.43l.55 1.53c1.72-1.27 3.58-1.89 5.51-1.89 4.34 0 6.2 1.98 6.2 5.48v13.13h-2.56v-13.25M451 440.11c-.44.11-1.168.145-1.64.145-3.03 0-5.84-1.385-5.84-4.96V423.65h-3.65v-1.13l3.65-1.056v-4.93l2.554-.73v5.84h5.657v2h-5.65v11.35c0 2.224 1.21 3.14 3.51 3.14.47 0 .95-.04 1.42-.08v2.044"
/>
</g>
</svg>
</svg>
</div>
</div>
</div>
</div>
</div>
<style>
html {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
font-size: 16px;
background: #fff;
}
.GoalGrid {
margin: -5px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
contain: style layout paint;
}
.GoalGrid-item {
padding: 5px;
width: 50%;
float: left;
-webkit-transition: -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
transition: -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
position: relative;
-webkit-transform: scale(1.0001);
transform: scale(1.0001);
}
.GoalGrid-bg::before {
content: "";
background: rgba(0, 0, 0, .08);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
-webkit-transition: opacity 180ms cubic-bezier(0, 0, 0.2, 1);
transition: opacity 180ms cubic-bezier(0, 0, 0.2, 1);
}
.GoalGrid-item:hover .GoalGrid-bg::before {
opacity: 1;
}
.GoalGrid-iconGlyph {
-webkit-transition: -webkit-transform 180ms cubic-bezier(0, 0, 0.2, 1);
transition: -webkit-transform 180ms cubic-bezier(0, 0, 0.2, 1);
transition: transform 180ms cubic-bezier(0, 0, 0.2, 1);
transition: transform 180ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 180ms cubic-bezier(0, 0, 0.2, 1);
will-change: transform;
}
.GoalGrid-item:hover .GoalGrid-iconGlyph {
-webkit-transform: scale(1.08);
transform: scale(1.08);
}
.GoalGrid-item:active .GoalGrid-iconGlyph {
-webkit-transform: scale(1.0001);
transform: scale(1.0001);
}
.GoalGrid-item:active {
-webkit-transform: scale(0.97);
transform: scale(0.97);
}
:root[data-focus-source="key"] .GoalGrid-item:focus .GoalGrid-bg {
-webkit-box-shadow: none;
box-shadow: none;
outline: 3px solid #000;
outline-offset: -3px;
}
.GoalGrid-item:active::before {
opacity: 0;
-webkit-transition: opacity 100ms cubic-bezier(0, 0, 0.2, 1);
transition: opacity 100ms cubic-bezier(0, 0, 0.2, 1);
}
.GoalGrid-bg {
position: relative;
padding-top: 100%;
}
.GoalGrid-content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
color: #fff;
-webkit-transition: 100ms cubic-bezier(0, 0, 0.2, 1);
transition: 100ms cubic-bezier(0, 0, 0.2, 1);
-webkit-transition-property: opacity, -webkit-transform;
transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
transition-property: opacity, transform, -webkit-transform;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.GoalGrid-item.is-loading .GoalGrid-content {
opacity: 0;
-webkit-transform: scale(0.92);
transform: scale(0.92);
will-change: transform;
}
.GoalGrid-icon {
height: 92%;
width: 100%;
margin-top: 8%;
will-change: transform;
}
.GoalGrid-logo {
width: 64%;
position: absolute;
top: 18%;
left: 18%;
}
.GoalGrid-item--cta {
display: none;
}
.GoalGrid-item--banner {
display: none;
}
.GoalGrid-bannerImage {
height: 68%;
display: block;
position: absolute;
top: 48%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
max-height: 120px;
}
.GoalGrid-item--logo {
display: block;
}
.GoalGrid-item--logo .GoalGrid-bg {
background: rgba(0, 0, 0, 0.08);
}
.GoalGrid-item--logo .GoalGrid-bg::before {
content: none;
}
@media (min-width: 480px) {
.GoalGrid-item {
width: 33.33333%;
}
}
@media (min-width: 710px) {
.GoalGrid-item {
width: 25%;
}
/**
* Fill three empty cells with the banner instead of the logo
*
* 1. Magic number. Gutter rounds incorrect.
*/
.GoalGrid-item--logo {
display: none;
}
.GoalGrid-item--banner {
display: block;
width: 75%;
}
.GoalGrid-item--banner {
display: block;
width: 75%;
}
.GoalGrid-item--banner .GoalGrid-bg {
padding-top: calc(33.33333% - 6px); /* 1 */
}
}
@media (min-width: 1024px) {
/**
* 1. Fix for incorrect pixel rounding (Edge)
*/
.GoalGrid-item {
width: 16.66667%;
}
.GoalGrid-item--6,
.GoalGrid-item--12,
.GoalGrid-item--logo {
margin-right: -1px; /* 1 */
}
.GoalGrid-item--logo {
display: block;
}
.GoalGrid-item--banner {
display: none;
}
.GoalGrid-details {
padding: 0 24px 24px 0;
}
.GoalGrid-desc {
margin-left: 24px;
margin-right: 24px;
}
.GoalGrid-button {
margin: 30px 0 0 24px;
}
}
@media (min-width: 1250px) {
.GoalGrid-details {
padding: 0 32px 32px 0;
}
.GoalGrid-desc {
margin-left: 32px;
margin-right: 54px;
}
.GoalGrid-button {
margin: 30px 0 0 32px;
}
}
/**
* Goal colors
*/
.GoalGrid-item--1 .GoalGrid-bg { background-color: #e5243b !important; }
.GoalGrid-item--2 .GoalGrid-bg { background-color: #dda63a !important; }
.GoalGrid-item--3 .GoalGrid-bg { background-color: #4c9f38 !important; }
.GoalGrid-item--4 .GoalGrid-bg { background-color: #c5192d !important; }
.GoalGrid-item--5 .GoalGrid-bg { background-color: #ff3a21 !important; }
.GoalGrid-item--6 .GoalGrid-bg { background-color: #26bde2 !important; }
.GoalGrid-item--7 .GoalGrid-bg { background-color: #fcc30b !important; }
.GoalGrid-item--8 .GoalGrid-bg { background-color: #a21942 !important; }
.GoalGrid-item--9 .GoalGrid-bg { background-color: #fd6925 !important; }
.GoalGrid-item--10 .GoalGrid-bg { background-color: #dd1367 !important; }
.GoalGrid-item--11 .GoalGrid-bg { background-color: #fd9d24 !important; }
.GoalGrid-item--12 .GoalGrid-bg { background-color: #bf8b2e !important; }
.GoalGrid-item--13 .GoalGrid-bg { background-color: #3f7e44 !important; }
.GoalGrid-item--14 .GoalGrid-bg { background-color: #0a97d9 !important; }
.GoalGrid-item--15 .GoalGrid-bg { background-color: #56c02b !important; }
.GoalGrid-item--16 .GoalGrid-bg { background-color: #00689d !important; }
.GoalGrid-item--17 .GoalGrid-bg { background-color: #19486a !important; }
.GoalGrid-hidden {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
/**
* Icon component
*/
.Icon {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
width: 100%;
height: 100%;
color: currentColor;
white-space: nowrap;
}
.Icon-label {
width: 100%;
color: currentColor;
font-family: "Giorgio Sans Bold", "AvenirNextCondensed-DemiBold", "HelveticaNeue-CondensedBold", "Helvetica Inserat", "Franklin Gothic Condensed", Haettenschweiler, Impact, sans-serif-condensed, sans-serif;
text-transform: uppercase;
white-space: nowrap;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.Icon-glyph {
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
fill: currentColor;
width: 80%;
margin-left: 10%;
margin-top: -4%;
}
@font-face {
font-family: "Giorgio Sans Bold";
font-style: normal;
font-weight: 400;
src: url(data:application/font-woff;base64,d09GRgABAAAAAEYIABMAAAAAj/AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABqAAAABwAAAAcdaK2qkdERUYAAAHEAAAAHQAAAB4AJwCXR1BPUwAAAeQAAA2XAAAs3GyRtp5HU1VCAAAPfAAAATwAAAOgHUIcDU9TLzIAABC4AAAAWwAAAGBxsakxY21hcAAAERQAAAFWAAACEjFy9KJjdnQgAAASbAAAADoAAAA6E44Nf2ZwZ20AABKoAAABsQAAAmVTtC+nZ2FzcAAAFFwAAAAIAAAACAAAABBnbHlmAAAUZAAAKvMAAE44joeSuWhlYWQAAD9YAAAANgAAADYFPExqaGhlYQAAP5AAAAAgAAAAJApRBn5obXR4AAA/sAAAAWwAAAJEckkUDWxvY2EAAEEcAAABFAAAASTrVgA4bWF4cAAAQjAAAAAgAAAAIAGuAbluYW1lAABCUAAAAc0AAAQEPN+b1HBvc3QAAEQgAAABTgAAAfOiJxmncHJlcAAARXAAAACQAAAAv3sKbGx3ZWJmAABGAAAAAAYAAAAGS6xZtgAAAAEAAAAA1FG1agAAAADLdQUUAAAAANXb/Ct42mNgZGBg4AFiMSBmYmAEwglAzALmMQAACc4AvwAAAHjatVpNjBxHFX7zs38z9v7O7tr7bzsO2ZDkkDUhTuI4CMdKcLBh7YQkihARihUlKMk6nDAHBJlgFJS9cJpTDnPi0AcOaMQJ0Rcuc0PqG6IljnVuRT4wfO/V6+rq3t7Z8WLmqfqnuupV1fur914NVYioQW/T+1S9cvW1WzT9s3d//hGtUB31NBgQf3+KJr7z9stb9NR3d2/heuXl13G9+up1XHdvfB/Xm2/w11u713B1vSofvnfnI5rkJyl1quI+RrNjf1mYXf76iStUGfuxjPMI7dJP6Dbdoz/Rv+h+ZbLyvcovK3+u/Ls6XX2/+sfq36v/rH5dq9ZatadrP6j9ovZV7W81U9+oX6nfqf+qHtT/Uf/P2ImxZ8ZuUY2WBxGtDGJaHRiMuYLrJLVwXRok+GakZhXPFwd9eh5t38JzAy0iWkRZQrGtQsGwJi17aNlGy4CatADcLZQllOXBPp1Ci9MyXoTWMVrGaNmmPdzHaQbXeZQVtLqM+w3g3EepyZyWUcs1szSN6wze5lEWUexs+8BugN1I/1X0X8d9A2UTo13G/Rq+MYYT6G1kJO7Nc1rR2W/qyNdwv67j7eM+rWNyL4PZhBgnEcpt4vms4O8L/ut4voG6L6VnHzSwqzJKNUtTntVZ1F+WHrzSCK0j0HYaX1I68KoXdXY8KzujWGiyROMYZRp9ZgbvoHUHtE60B/OP6XVXKMKUWMN9HZzZAFd4xlvodwZ152StfZnDl4I5AX3H8cWuN515ovOIRRospQxWwNSKdN3GrWICPSP0jHKzT7k5Bnw94eaKk5kuuM+1WU0A2TAib1UZfwXY6m4mS1ITYiTmhZXFUGRgBVhSWZyQ9ssejy+ipZVj42idyBqZG1bKU1qzZMaynimlBtO5Czr2QccQtDPaah/ym0BzZgY72oI5HAGfAb5QZO8tcKNhJYh1GDU3UW6hvI7yBsqPUN6UljEkdBrrmEEf5uw6cG7gzvQ+JyuwcvbWYE80h6k6RXWWU+jSWczvnKzVqHwF2ipyGtlTjTSgTCQamVqBNZl3hz4AtpqjH+NqiiYvijYbsRyWqkFB9zuYVxfzWcjJ4k6mndRS/WceLIh8dVSHE0+HU1njlbQxF6ZiG+We2KC68K4D+oRCF8vZQPTwukhOoLJY9zTqrNAkkhb8tapymMD6PQIZnGBeg0MLmOMidGyZTtFpzHiV1midNmiTtugMnaPztE07dIEu0vN0mV6la3QDVvkD+oT26EuqnlxjS9386sRLaPkYbDxrZjQwg3CQDGIUo5Aw0AP/sLYGgJ8MSqS1Fm9/0MU1lpo+6voYMcbosTwZtjKDd/BscvhaMhe0OTBWjK/Zc2JH41mD8umoO4Kt4dqFwBegvocVR9ImlvUngsONLO+J31Nqo0FHalspbcD/bAZMReOtNxq0UXp2HTxbrK2H0geWHt4xy8Gert1fs7HvwMb9LX36Mkvpq20i6dkR6gRMHSmJtOOvFmND2iaCLwB1I/ne4/ULnh5sh12ZBfvWEVyhcsryLlKubqNVkq3Uo5fJ03qonKT9YsHHlIv9+pQOD4oPv02hc9fhT3lj0rfhOPyr4uumVPfwxYLTyWrWvuwpGxntN4WjYcn4pnQ9R6+9gxV3nHxbnoXgbCKzDDPcQoMkP56V+lQvRbbbInmWDpGTtuhIypfxt4f1QpoG+1ZXPfox9eIiffJU8GdZMkZUmPkwGun6/bbFFYnMx6ohqjNHrNKw3SmpNWXUymMcLn+Ffkf0PN5PeRuNjrtAk4JFtjaBKXgUH8rpWtQJsc/G6u7h/ChajCM0p6FXxApHS3Guz6FreSBdjUejxbF5GkLf9kXfQk/fLAVjeWuUjT3UFrF9uevzHDITuD22P5o8Z288N3imD0eGzaH2Kn4gPMko0lrQ8p6jRzeV3ZROQyzZA+lyjg8x86Jo0Tz+sneifpJ6HZFoZag866uWxuUrO5a/Z0ajVqktcfNgb3AUijspMiXcsD5XKBLWE9xR6hkO3ROSh6a/AdsUjB0MkbFGce/O2bsqPPopwATH9fDv5wGb8PkX4Nm3AKfg+y/Cz18CbCEGWJa6U/h+GrCB3iuIBlYBM4gL1vB9HXASXzbwdg7QRHywjZhiB1BFlHAR8cDzgDFEC5cR3b0KmEPUcA3j7wJWEDl8ghgH8RxGriIWmQR8Q2a5hPYnMI+TgAlE57OYwxzgDFo9gjEeBczR44A5ehIwS08D5hCdXMD1GcB5+jagRs8CHqXnAHV6ATBGlwDj9BJgi64Ctug1wBr9ELBON+lN4H8bMEc/BVTpPcQ4c/QhfQQ8HwPG6A5gjj4FjNGv6TeY22eABrUBTfotoEH3AE36AnAG+FaPiLHS6CqLrXYlrqrW/8pRVe0Pta+B80lw8pJIYiC+xHa2fwE82YA33uAa+WJ9tR7ah1L65fYLLW/Ljmg90DR6iUX3Od6IU09crcFd1N12cV3kdtNYIj6OhFLPjD3Gjvr/Jo2AxHY05Gug+SXZEdG/jTm2/Wgt3QtE92L1LLcl7mD7/I5g7ed0p2XtqLTuyzxagpnn3jtCFbe1b9/zwnO+oo3wfD2VnaJT9K2cpRSbwZkzmY3nVTvMvVTT1dfJ4ts91O2lu63WRQ6ztcN93+fw++dsRKNg3xt565fFitb7zdXsaRwbK/1jfWdJ2M/6CX0NqNEZ7Gm0mmS+rEamPdQoFwavqEyxnO2oZNhrkHlIwLdj5Tn1MUSW+yrTeWvbsrQY7KjtZonf1hg0ll5t2SkbspL2YNNGw4qZZaQLAIfSvVf99kipUYW1aQLGYQlnoNtsnapinSboRcA4XQGMi1Wpi1WxVqIqVmJSrMQUfQ6oiK2YFFsxRb8DVMRiTOC+QO/C9s3CZjQ5t4jZzQHPVIGpLVjDJbGJ6X1R3+w7F7Y058X+18TejP5reVBx42TwhIyQwXmFVbHlS7hXZP4nMf9ZzP9F0OU10IOp8Rmo8DlWfw+r/oKqrVNs5+bfnL+PHeAFyX40wKWOWCK2EN28dhUipZ7KQEdyIW0b17BdEO5LFkatWYelVTIPQXmkLBKa879tPr8YkRX9k8xfzecvivbA+Za53AxmtFfUWvECu5JziA/xgEP1mN1bPvYQee4X4h6mZlzEpVmhOJ8jy8f0QrekxDdKVMuMyy+5rJfk4qLDI8TUnqW0SDF43r33Zm1pOgsv80G5XJlRfmg+LUf5kP1of0Z25wRNCnT2/UGlc9ejc0POHfyMQd/tbInkAntC51bGy3xcO1JuIRTJ6Po4ipkFFx8cM8ZzNvV/ixFbo3n01l84yN/jx2gl3rLdbROJVoPD8MtOsJ/3unWHiMR3aassBWkeN8uYlmSjJFtrd0L05N63y+N8zapaSbor+Pd0z9vFvY23yK3CyLvoXRYJFlbRK8YONmNrPbIh8Z7T5szaFTIeiZdLbVkqZLaJ/TmlRCON3MUCd8QfKeqv0TjG+j/G7fCNLOOteAPNKfP4PfYL2ao7X6VfzB1KTaNcGjUuaqjPEqYzlb3FZB6ReJ1Rpr+5vL74SSxP3rjxYVnLAkUj8aNDz/om+TyS+lPl4/pReDIs3vSwJ56mxXq+kctPi51ODkSnB/eN0I0baa4szp4LY5nMIgttEs/3i/yMWmqbs9xjtmdkWmgzftZSiw4Y9SkDG3dIu9uy15tCvtroGUxberHfsMcenfC4o7GTeN/i6QXiB0aHRP6x8jqmh/QTPUqKu2+aURAtZ57ty7h2tc5PkXUV99/Qna/1VdZiiSAiXyKspgnGON3rnafTE1tnuX1bau9KvMcRX1veXxGNjQp0tjFgKFyROYLOHdXsrp69xYIhxpdCTKP7dN+dKZncaZ5xmfywxN+wZ4nW37BtTJaPyc4XfZlydiMu2SeMjafK9iNrW92+Hx04UYg1/o7Tufly7dDsUOq77tElKvdjs6wlxwfZbxcl3UkuefV3pcduCabOgRODXo4SgUgM7yfBoXKanvnZvonKYSB2uFHUBz57LfqKhZO2NDM+Qq40Zx0T31crO78oapJoQS9/4jrKeYXyLtb1GqFP5HLSpZk8b73R8c5TCnJliieUJXb6AJ+K50J63j3Un/P82GLmMXK0MNnuX8zr+jxxXniSP2sekp2NSs9Xsn3w/gHZOcSHeUhW+UjPV61Kca8JUooNy+nmPJYk23/dapxe2H8A5M/B3E6a8df4Z43DzkiFkybz5NQbiF2MlvP7ClFUYuPZEWiT5E/M1DeI0vOIzBYePEE78D7yqfxDPq80OvNGjr/piXc01OeKMi3QfBP7yZv5+PAQ/paN20tjxSPkise973Jf9+U/Gwnnag6M2yvhr3H+Wen/DHI+W3Jg/013OqPyHJfx9/9ztnz0PuC980nBdVybVMNbnSYAkzQFevNTE3VNzU3xP9QWxA9ePOa0ahinpjCh0JSSwbxCS3u05F+vv/fGPCPX5+icnNTwKcZM6WgLMmP+TQLPBdyX9d3el1zLZS2n5ayhQht0EtL5jNDjOQ+j//w4is01fhPlggdNN072+5aMkMG6wibq5/C+OZRunDF8kv8VrFfCmlOPoYrVcaaRwMfHMPfH6WnM+gI9izXwmc48vQCvaIFu0seg4R36FN+raMn/GT5FW0Jd9YH1P8a58l8YFuwDAHjanZLNSsNAFIW/mekPihSpbS1FRKQrFwVdRBAUxbYg/kEaXbiLFaUYRGqfQDcupAufwwdw6bOIjyHUm0kWdZFQwjDnJveee2ZyblDAPNe8odvdE49S4I8eWCUneSYTjASFpkXx4KqzRuvQ9QTbnQvB7tGZoHt+Kti7DKueeyz4r9P0/WBE5Xbo92kEgzuf9biC3cpGIyfmWWCFJg57FCSbZ4cbxnzybd8VvzYW1IbaV+/qRzv6Narojzh+iZISDUOZunwHtk9RsVi2WLVoZmDWUpnVmZnTmsupzFoCM8wvyt6KeUY8y1GUBXOyFEvinRa3xuJi6Gnkf8mqRS5HWUUj1nJszsjzMy9Wr8mu5HoMhHPPI5sMeWI7tZaumHTD7Ippd0w6Lfsd0xSzzURLT/g/1KemkjivP5Y8QE542mNgZprItIeBlYGF1ZjlLAMDozyrMasxAwPzRYY0RiCfiZuDmZmJiYWJhYGBgZ0BCTj7+/oyODDwqv5hnfbfg4GBbRfDeQUGhskgOSZzpmVASoGBBQBOOQzyAHjaY2BgYGaAYBkGRiDJwMgD5DGC+SwMH4C0BYMCkCUBZPEyJDDUMSxkWM6wkmE1wzqGDQzbGXYzXGO4zxjEWKHApSCiIKUgp6CkoKagrxCvsEZRSfXP//8gM4E6FRiqGRZAda6F6tzPcAOsk0FBQEFCQQZDJ+P/r/8f/z/5f8X/xf8X/V/4f8H/+f9n/p/2f/L/Sf8V/v1+UPIg/0HOg+wHGQ9SH8Q+0Lv/6H7urSkQX5AHGNkY4NoZmYAEE7oCYFCxsLKxc3BycfPw8vELCAoJi4iKiUtISknLyMrJKygqKauoqqlraGpp6+jq6RsYGhmbmJqZW1haWdvY2tk7ODo547bexdXNnSE8IiomJTMPtyp/BgavLoZCP+9+ICcyC106yBNM+QR2ewSHZRQxNDW3d7S0AkWKGfrAMgFtnQyhsSFx0QmJSfFp6QypObnZSPoBd29l7AAAAAAEiQVtAL8AtACkAKwAmgC5AMMBCADhAOEA6gCEALIAxQDIANoA3QC8AMEA1wBZAK8AtgCpAEQFEQAAeNpdUbtOW0EQ3Q0PA4HE2CA52hSzmZDGe6EFCcTVjWJkO4XlCGk3cpGLcQEfQIFEDdqvGaChpEibBiEXSHxCPiESM2uIojQ7O7NzzpkzS8qRqnfpa89T5ySQwt0GzTb9Tki1swD3pOvrjYy0gwdabGb0ynX7/gsGm9GUO2oA5T1vKQ8ZTTuBWrSn/tH8Cob7/B/zOxi0NNP01DoJ6SEE5ptxS4PvGc26yw/6gtXhYjAwpJim4i4/plL+tzTnasuwtZHRvIMzEfnJNEBTa20Emv7UIdXzcRRLkMumsTaYmLL+JBPBhcl0VVO1zPjawV2ys+hggyrNgQfYw1Z5DB4ODyYU0rckyiwNEfZiq8QIEZMcCjnl3Mn+pED5SBLGvElKO+OGtQbGkdfAoDZPs/88m01tbx3C+FkcwXe/GUs6+MiG2hgRYjtiKYAJREJGVfmGGs+9LAbkUvvPQJSA5fGPf50ItO7YRDyXtXUOMVYIen7b3PLLirtWuc6LQndvqmqo0inN+17OvscDnh4Lw0FjwZvP+/5Kgfo8LK40aA4EQ3o3ev+iteqIq7wXPrIn07+xWgAAAAABAAH//wAPeNrFfA10E+eV6Hwzo//fkSzLsizbsizLQshjaZBlYYwNcYjjOtT1cb0812FdQkmaxCGE7aYpy2EpZSmbpTQhJJRSNqUsS1kOb0ZWSR7bJrTdbnbbx/bk7IGcHl42SXOyrdm3aZrtyUuCEe/e75uRZUPI7nvn7GJGmhlJ33fv/e7/vd9wPDfAcfxG06c5gbNwHRrh5BVFixj+16xmNv2vFUWBh1NOE/C2CW8XLeaGuRVFgvcVKSrFo1J0gG8ut5JD5ftMn/7wrwbECxwMyWU4jsRM03TcLq4oclxKM9lmi/BRiqhWWRUulXgH5xZTM25BdKc0i2NWs5EUp3Emyafyhc6MXxFiQk4JZN7tf7j7ddP01VPl2QsXYICEmCNv62MPc3RIVVRKgh2HU81Zeke/XDiXyns1C0mVzPQK59MsvOTTiFgocGxGPBIvx/e8DIdpuvx3pLv8dzBeFJA6CXOGuSayiSvWAz7FQG1IUZSiBWYrWh1OOC9xpN7iSs3wUkOkNahonDA7UxOsC7cGsyWTSD8SvI1N+JEJPjLb7C74iKjNslp/qRRiMIa8Wi3AGKBXMIk9NdMf8NtSM9ZArTVVsrBvWeSSlX3DYsVvWERbSg14NQf81MnQi5KU2lV/ru/EB3dxgZT9XN+xDxJ4otZ7Z/h6ix+Aoa9mfIVpZ2whK5zUemfstQ4/jjbjCjjhC176KtHXGnzF7wTpd+BXdfRXMGbYGKfBGCeC35lpNL7ZhPeFfi8vIOZeCUnTEGls6lj0T+2vx9XIKflYToEFoUcgZoEDFgiPPHwU3VXzyO7k7uQmOKZ3BDbvSu9O3wvH4U2Be8nzP3jhB2R7eRcecFoeJM/j8YMXgGsS1w/zPzG9wC3lFK6H+yxXlJCDahQtY51VG7JFKYMElXw24J4VsspdUl1ZTXDMqumsKni1JEkVzVJnNpsttbMV8Dcsgyu13avlgeShrNYKzFwHRy8wNEUkUFMblBIdQi9Z1pWHy0YSIbHcsoQUbBQipMZsCcRyHcSP3zIH/CsJfK8tkXg5IW/IDGVr9x8ZOPyVC596WB6Ug08dW/Xsnl+kE2P704kUgHLuhcxqOzm+ITM6OrlC3nbaettt9mP7tjy20V/euzkzMrKuMLC3aF23zn5a2JsZTpIu7z1zk9aBTC43muRMnHL9HdFr2s65OIlr4tJAjwNc0Y3cnUKRzVhmix7kbxFetAbLbKm7NSW6Ulo3nAYc9DRgmdXpVPI5uGbgTZ9XawY27KBXM9aOZmDbOvZRHWVbPOvwasvgS+30Ciml1fkkX9EhgSwWtGUdcO5JtRaYYOaWdSnZWqRUrKXNTxQi1NQq2S4kU6zFHCALPs8v+EzZsXv3DjxS/If7rllMsXQ6hgeJGh+UjFui3LPt0KFtPdueeWZu2DT94QExKHfnOx+U83l5bkflsw14PY0vHNV1qevvCBzQsI3LIvWakXqtSL0loPDsSLgAnATsVJAlW6oUllvtrpQaUbSwCLRTkHZawjWr1mXVhFczA6uZZTxLA1Wa4EpqviRpXjhp8paaHVwQyNcsF5uaccSmBlsKKalJZsk3I9pbl7QGC5wWbgW9JkYLBUa9fFuC0qiRp4yHlAFqKdFATIrl3KRCtZyENEutXfcEefrYxLahxovJfD71h2Q6f9L3wIbdT852Fvqy072dJH1h6tEaeeaLB/4qNbZ9dGrj6ttvW35wS/HatkODU6cO9qwe7CPDhW6gD0F9zb1P9XULt1A3i1W6WTMxYdH1L+pe+O3w9UFyzvQ0FwTaqn5Z81lmQfVpZuS5OspzLspARReHxHBZQAv6slqIjpWXlq3k8wG3EJBqGvlgoEMYzk3tGVVuS0hS4jZldM9U7hVBnvr6hrzlaXNqYEyeuyCPDaTMB835DV/nGOww/9Mwv1+fn2PzW3H+Ggq928ElYX7BjfMLVpify2oBOn9wJclJIMi5RoTAzVsSG4eGNsK0XV0ARsz5tfWCsv5rzqfN3Ru+PjX3MgJihjlTwgHeDfRygzyCCQZ6Oe2cDdbcDqbCQ5G2uPCG5kWDKTjBYDpwnfPBhGLJBy1BS8KSyKfyh/Nq9+H8uYP7e1fuPyh+4eTmF1/cfNK89fPPPff5rTBPmqznz4JgO7hPcyonqxYFDOGsagIDShAZzm5LFQmlKxFQGTpl1X5J5bMlG8VZFbNFG+VqG5C9aLfhKUCa0lyG3gNVB0oblFv6rR+++eYP+fHS++/Df0bb5PUDJMa9xolcHOcvETvnQq4wUXkQXLOaGdha4Kg/gOT0KwEhGXn10Wky7Cv/LR0jzifINP8m8FY7jqERYRYPylpAJ8GFQ+pvBoflooE4GeQT3/8+g6MHXsIAB7g5wJ8guCVi4+KwplXn+oBoBujBhkL8el5/7TU2jgi88ibwisDdRekpKBUwmMoD40FA5fFM5ZmYeV752989gFZZVDmvSs7Dl1T+PK8RntpBgniDvhNJ8mz5lefNaz8oUp0Dept/C3ROgItxy8GCoboJgZYxo7pptgEBWim8taBVar1aAxDSCQSNw3tDLWgGycwUK0oIagXKn7GWDt5QA7ryTI7vXLdu13gyOb5r3bqd48krSk/vMmVlj0I28c+O7v1cPv+5vaPXpkb2biwUNv5pqu9TI/38bN/ISB+uLxDlHPCxlevkiibUijz1/myyarqkia5Z8CmRZUwEWMYOkIkmY6n9ubwigWqyJF85N8sfF7b/bg60ceIUpXMaCHAIcE9x97L10pLCbDGEmHvhxBvCQb0B5Nilshq4hAJZA8qzPavWeDUnTBSBFUTdWhOACc0F1SkVLaEY2Bo14iu2LEmh1dG8SaCTuQU1qIJk6iMrBd2oUB2qWxw37yFuMOLRQNqXHJB3RaI+cyYWz1088o2jT7mihfTBYLzOQ3YQTlk3Pq78WVMm15faujrR0Xfm5IEj+5/ekxsfGc0cDSXlnuTqF5hcvMN/H/Bbxm3nip2InxlXthPRMvMgaS2IahDuBVvwXhAsQMnj7mwBY+xBg5KjTksDc1rqqdMCrq7qz2ppYId4VuvS5UpzewBnm6S1dMJ72qcmAW+PW8ITw2/RTWmK5OaNKsUfGYeaXAt6M2h5O/jkxUxPbllu5QZwO9L5fMfF6NrtE8cOrBtcN/ZtbeKLa6Nk6OxLvUNr8m/llxeX5w8WBm5fvW/b8M5J5dRTX1y3NVjz6NSFJ05nJnYgj4fh5V3gHzAW3ARXtBkcVOIcNt6FPr/GgcdmZlrReUnjbdmsJgLOlmxRdCJpRDOQy0m5zImKiSpMB2oUUlB5SXUBmvkcUSSmpRLAdGFy4K3f//1Xf/6P/BtfF+bmUs+98cZzPKoIrgDr8hLA08Z9kSu2VNaFroEZeLjoo7ZemC2FXC0+WIyQdbbootzokpAbE7IqUW4EU67xgWy26JUor9aA1fDSRdKaQErb4d3mBQfIHGqhrBhyAcS11UvCBBTcRikaiEpKly7DdBEKFzMrcmk5t4lc5O8tP8R375PHVyeOqBOPIf2/dQbpT0YKAzuaBM+L5RNTsTu/MFo+rZNd1y2vAf+1gs3bxPwZrV3QdYsEKEtm6iC7gO1CcrOZYWr4MXFgsZqsGvdqKeA58JwjgJETEEYfJRWXfCVzqLldpk5KSAa8AoUqPVTxTgKSspJUfDpDL+n8Z1HiIzsnp3YMRS6m+/tkPvyZoR27jp6b3Dka/3Wmp6dLWZFXRLKBP44aSpncOTw0ufr2kb7yRWXlqdMXjn0/v2FvYvWdQ6veHbjjthVUp4QA8Q2wtmaICpiuIogth6bEUtFXookyFRhDzVqxJSRGQvyd5Z//iuTFMy++cvV+8QzaA4HLAB1/BXRshDGXc4+wqFFrAUo6cOy8dbbUmax3APk6zTBNDyUfrD/GGU1ejIhxajgDra0q4FQAIT1AyBXIJhagnFhQ49JMvaMlCdRUPT5VApp2otpCJ1p3/DowmNB1FZPUakVveMn+BVeZwdGBvuN/fuzEntE728b+ZHJy11jiitLbt0zp71WscqGnU15RkMn4oY374rHHxgvHT506XlBXx/dtPDSya30ut35XHm3AL/GFnO9bs6Zvfd8da/qBt2SgyWWdtzZyRQ9SpB5Yqt6DlK0Hpc1CDRmkqKXdg/FFS4W3gK8oe9VS9ooAVVJZze5irBUB1prx1IstlLPaW4A+jQUjdKgycL2kIkKxKsc3r7OdzNgoMbprcmrncNNFpb+viw9PAn/9WunJLxOzPT05YRR56J69I9cmR/duBAbbsXbobmCwfpICBjsyMDjQU159552rAV/qW/AXaK5CWeBdgGtQMum+hZViJzKFbaZvNBnCPAyBehmvg59B3ma+Bk99pziMK4J1TXHgMpXM+ljUuqokq1lhLD5LDavVRLlF96EcoMoD6Efd+zrzpPjPwLDoD67jJ4U5kIE0BwFIibdzFhzRQn0Yk4uzog+TRdbXTGg9eD1tkiMBFwmkebn8M5Lj799B/D/ftevnLA9EzvLnhPso/inmoZlmAXXNZJpFvDWOoB+JHpqFJm90vKlgwZHh9157lN9Lzp48SRx/+ZdUVnsBzmkKJx2xJFbDCQCWzBRUCqeZm3cp0gQA7SVd5Z/ynWQdglj+1x0AYwwAfRx4Mg4ey4NcsQ15MgE8SRkxCuIapQYkyqEOXyKrbZfQlCYxLsvOxJNtVtATcAG4xeEtCZzpSCH1UQFqyTjGYXVgXq2S6gHOjCbghstXKFSHtdSJILpZBUeDVAwtLn7s6DeOHrDXRIPrIw0v2QOx2rGgVwEXQ35NOIE+xInNiUKuO7Yv2aecOp25rTsf3x0ryF8YTIKPMTdBc2b564PCm4BjP7eWK3FUlZeyFs4LNF8pl3rYWa2sehRtAEL7JLvxCRkUDazTJykHdLPMU7cXw6vSKubTrvJqd8BVG7tq85ZiLD6NAZ282tL5bNQIEOOOVSCjtU1ZM+qrNqnob/FhsL80hsH+il5q6wZQf/nhvtb0Cbjd0hovIK3yVZ4qBvkJJrw5drs2CIIiGZaxAwTdjV+shQA32tJKFvi0+dFdpyYmT375rtFN46NOPjh6+8iWWM9QcvA2j/jNcDjUkPvs7pHhPRsLF0rkjvL/eKP8f8jX6tOJplgs2fgO/8GmQ5/LpNc/tWmuvHbDqnyhb9N2vndgshAqxEbmjsUjkbhgH3lkTTQ+/OjINcuzpycvExFzC3xvbqncSWXCDcYhAbbGApHXJ5hOgFiBGpyS2coR0Hlm1HlOahCoGfBqIrpsoOpc6CeD8p/hidVGVR2xAovb0UslURJLxCwYQruJmTiI9Z3U++13/PXdPCYzymXyPJ8GSVQAiNdofBnkmrjfY/kezQOMjt6V1gSqty7oBg9Lq0NvspmC4WHpCY9X8wEEDrgKY1LCDGweRTnzARBWgKYuSE/QZ44ym8NMeELJVtzIRG5ZCmKa0TN7Hz/zhLpz09bu3o2jm8nDI6bpo0/tU9OJHz5/4OgLW14GH/HhU1uozKNP8gvg3wQ3zhVjCG8dSGhdDAWzDvzfmzknRG2noIPdxMxomLkjjUBPRxazeFo4gB5+bGEkVOWB6GwD9oKZDiUxDlbhjz/RdDHT35fP9/Vlwb/dAdZxPGGEQ+hsHD+Lzsa1YN+nhnoJ95uhHZM5iI2Y3kbaY+7aBbSHqMiFmLgNygcFI6uhuQFmN6O1FVad5TOQpIYlS+gcjYT8/PqdI7HYyM71OzYM9vYOgh/TvRGM0/aRvfcUXljbz7/Su5bSEOaegrkx3mdxkw1mpn6OCGtuYqxnEgzWKzmYygcjYgNwMNrnjGgfglXU2VaaldDjfYX5otQnVfh0+Qe/+hW5zTT9YnnrD8oTL7AYGWEYBxhsoIkoDDef306JsHBW8LrY3JjjXjCdwsfKL83OsqmuHTH4BX3Ydm53dUauznZzN7Yh0opubAOKXbKaaeoZ0zRRpsH0WwNNJagN8oJcnLYEA+sAuux1mLNU6yXqjEVaQRqihY9mr164jOopOGCw5NjuyakvfyJ6MdfXtzzfs3UzGT4ZvG9q+KHBWDWHbdtncNju956/Fj60doIxGKPvLF3jPl2zWJhmUU20QoIUFiorTOWYz6oOLxpLdEAsTMVQ8rI/iMIl5cob//Ivb5imr5X44Q8P8Bt1GsNLhOb1olVrWcmUwEh4mOZHu4JqiPFBCtbnWfitH+H0VGIpTyXGtdOhaoykix7D0iRGAMMjAQjrYYJbUfyKHgClXk3IcvLKU2cmHr09QuKkpvzr3PIVOXHo6j8cmpFHH2GwC2YaW3YuopOoENVBp7VT4mDCAJQs+juCjSUDFMmv2EhMAIzKb5XfJTXv/RvQ5lv8Pdf2XxP549cm53ldgTlMGFNQeRN0eSOY32U0KgqUuwUT8LWlQioQoCuk1jR99VPzciM8DmN5uHv0sSwOpbKyRPVSgfWwvJyHZjlKDmav2eLSApuEFPRQj0h1SCB16Jb4VFOBIVgUbK4CQzHqV/xRXHsB/iSFSM/we0jiovnog2dE0/TcbwXPhweE3XPb8DBwfYXK9Z06Pc1V9KTibGQNbV5NAGazZLEMBzdQnIG0zE/TCW3VCY2LGyOS8s9Xf3yhDHpz7k0hAhPfN3dIj1Pf+0/Jge2enPwq5sC+Ojm5ezx5pdDbt7zQ31v42BwY0/c/p/LoRxg5I4eh+UHj2Z0cWlm7OGtwOsqjk8qjB40qY3Zd89ei55MiIYiKExI1oBPqk0+qD49vJY+ASj3xZPnyEyfLSf7xraRvC4vjRyr0meCKXqSPZJ4t+hGIWxNJ9WYrdCqa0RvDJBn1X70SrJSvoDZLmidUKCykn9kSDMRzHeQjKDg6cbp8x77tH0HArd9NRc+Mrg+dn+wdHe3l36MkXGAzA9ygzl12hZExgLqslmLgQpOZVV1eyuZIuyC+A7iazYGeZQBZ3OZ0GyyuZ6/8MQFpCt4J0nRMfXL8c6+/d/murVvvQqIWt+yuvbaX335tF1/e+j+3sJrAO/xPgK5d3GNcMUt1F2ZHshXdFaoEDjT5E21EXyRPoxM/i/FaK0m5xqwmA6iYkew2st1uzMmVXKFoexYd5YhPSy5BBKJmwMWzpLA4NycTWlnUE3JgX1h1p7aJsOoi8nTiF/kVeUXJ7cWCYmJk27h68OJDmZU9yw5iVfFYcWL72jhWE3v6B/K5nt9T9mbGxtavkPu2jMrHn9ny2KPdPZGekcxTmZGxicLA/rPy2B9U8ia7qS8L3G2uzptAIEYDW/MlzYSpXmpsTQK6ajSLYsZ83Hywh2YmxD94/n+LZ1588eooy6EYft80J3H5KjtBFYsdFIvPUKMV+wB09N/aPrQpV3K9vV2vPDPz/HEyKoav/kPv8HCvmL361rHz53FOEBShieLUyxUtiBNnKDIaqGsE5iPMJTexSB3O0ZW04CpxlkoDA/6RmPftZ/njl8vvl0F/5YW/BxNIOB/HiYNUn59meCFH4zQzRES/3lDpGnHMzngIBzGm22HMWjKxaMtENbuuV5HrsZ5w/kvvd2E9wQ1fVvnz5/oef/8z7NrqVS3nTaB/Vft5gdN4S0cHKfIWO6u4a240DEJBM4mAitPFIlYHIuRB3JyFCkr4J1DL4Pvlg/wXXtzJ3/+T7726l991GTDcL2zBA7T0xNwJuoZBoGcN1YF/o2tAq82BnRMowUXBZIZz6pDwbCk5DCwczOZjkcSWpWGGlbkmiGPvd97+W4YTq5k4EKVzP7rn7f+OdzWOWFUeP3BjNUU8f673sbc76SeCaAWqwS23akZqnPvRU2+L9BOH3coow8jEwTpQynSQyplejlH8ghImiuCPOUjw1Qu/27n71Qtv/tvhA/xr/NfKOfKza/ddS/Hua+9S3J0gH3PULoLmsi7gJXs1L1EL7apEeshWaBYtVrSGPGUr60K2Anlx/m4f/7XXymXwq679lvfMfefaO7yXyQ3mNPbQeVca/oKgZzSEioONiRKLboBpogQdAYueHRck1Yx6MkeimIsBCSUPlZ/j+8pfJxteEN558cU5r+6bYI32pOlpkJduDoujJgvN8PCWWV1gsFzppIGEzrkYOjir0z1BCTWAEhgmk0eOPG9e+/SHlw/QsWtg7N8ZNTUBWKRSUyNMBgj1JhbV1H7oMWpqsP7cecYMPPBFZRFRLmueI8nnTE9/UNTrvLsoDqsoDljnFWSItBkOFiOvRKH2ViaX8UJHBr6uIwM+Czj10cSRI2SyfDxuirM5moQL/CDNMac5Fu2D+2mnOTUjySZUMlfME4IV6cwAs/ljCUvT7PiVv56YEC6QZ8tTJ05Q2l+fuz7ID16/SGvrCAHAjQcSCQwN0IWtMHPCLRAwifzwtVJqH9L2FfEFfo1pP/y2kf6W2NjvOGIsUKViagq8QjaLb3/7rq/otLoMtGrh/ohTw7JWZ6HJLwJvTqABzh6D8OiSaspiFxMSypPVWnX1dN/7P2VLY+oAITwvap7AB27VDRJnMrs9VOI0s5stlBZoAv73BSn/18FpoBHUEpHA/6AmMNuVENq6ekgg1hL012IhyiKY6WVb3t/VFkt418jmqHfX2XR+i9Riv3NwcMjR4n2okD67yxs1y2v42DMrekjsyImn95Rfnnygxjd9d/nlPQdPfJPEelhdYPX1Qe4dyn/NmGusKugGkY3pm06lINiX1WeMEu0COn2ZU1sYT9XLWhDe3LLmYXQy6NJ3+P1XmUqze1XHea0m8IHqP3/u/B+/T9ht0asK57WI7QO18Tz3nCDaHf6aSKPRMkVuuEMZXQvWAxNZCsiUWaRVHnwzfxfNwtQCrWopscxIvBRJVBPp4bxBJG+FiLE9RJ58IOCbniTynqdPHCm/2rMCCFh+9chfIL4+Psjz/Ltgq5dyqgf4T5xVrVnVCepc5RTNjG6uj0UCrH3Bz7iL1nmUbE6hGb1YS8AnDo0pI5HoPnjPjDTE+PDE9lQCD5ZTBrrGxO/RnHKWVtoxn2xjkkrm+wrJgr5Ckek1mgL3077C/odXX3n9eXH86inx2QsXjF6evBAB324FN8Qd44oKas6UdbaopNBnUWQ9MtX8IvjRtPfB70Hv7hOy2nEJ9Fkp4+CymErNUjNW6mUxT4Y69Gouq7eLqImsOoCfNzLbPQwaOIMtT8LyHvS1PdJZu78+VVg1iA6g2zcTboi10myfX8Eun1b6AdAO28naKgWe+c4e9P0I5q0sAaM620YrH/ms7jGij95EVpIcXrlJ6r419z1z+Mg3ftKXy3XH5LcnRyKZ/hal9+CxI9/86ZbNyf7L60Z/ksyrsVwq/1xsKb9t8r6QefJQ7bbDJw70D/X0p7q8sUzkifzWicxwLua0JB8ZSe15+uSTY7//BbIxmFASu3Pbd6SXNz/g7koruei0u5vWyArcG0JY3EFjlNu4A5wqyaUQSz6vkkvd9KzYvQoJ3b3CBoSUS+3sZqYdb2bSNsy/lMz0JlEHKH/VssgX4hmQrlKOXeW8Wg+sQTpbWslupLLqShrxGCnq22EVenKS73tSqNncvgrpTZP0RubmppWzYO5G4tOPgdhI9ULm7r0T6x6fzGYnH183sffuTP/BI0cO4rF9YnJybGdNOFxXHw7Xbh+bnJzgt24bPzDd0zN9YHzb+FMPrljx4FPjh3/0o8PbDv/ox984+fL4/VPj6UKkuTlSxpeJteNTDzC+TXAqnxTMnAm8rE4OtZRd0Qs4EGkbCT0rMy+YQ7bSAg6LgJk3w14TW7/90EPf3kZfyWWSKl8sXyQp9r6g34Zb1EcjcgXyqhA2baNr2Qm+wCG9ztDM1nN+ZbvlUpu+sm10ZTtgEVsBysJNVq+TXWWyaifrGFzCbixZsHTLAaVlnSAauHQoM0skbWkHSFKDT02D2HSHQLiWypmCXne55ZJCyMBS19Wh4Uev44HTowOjk4+tT8lyStj8JWPdKieHf/zjw1/Cl/Jxfs3gbSvuD1zniFT+DVmTHkxj/UmMkkdNX4CVC3Jr9Y6vAKOUTS55dM5m3W4MXdVJU8NGH3MIkPc5Mc4VaJxL/XWuwPQDoBKoaotkTBqbGhqawmNjPBptbY1G4+LPBjfcc8fghg2D0VQqCofeG8WPkbCgGP1Veu3ylk1Rflqu5Mdee20RX+aorjZX+NJq8CU6hvZ51rRjnE5EM+v9zIO7bfxPbN587JFHhumranBlhTuZbejmD4NtwFrePXrFPQaebz2tFNRDJK62yVjdo5U8gD0IcUbQq7U5aCIbi3rO7EyEFvWa9RJekKMlDTUiaT4sFmht9UhgBy1LzRfsaJmAlfEWagAkSMYeiNauDzf9rb02GhwLepe1xLteOXr46IE3Xp9+KLE8l4/tS67MnTqdGcjT6l3nHwwm0/20Q0iMUuMksLqR+WFaN/Jwn1lcOXLOV468N6scYVYEnXvNagO5EKUZnjhdKCqCT7PTBAlx0uTDfCVJAMePLKwmucjm8luVipLp5+ASzoX49H8VfPHF8PEQpVyeh+/Pv3LXt6/OVsO3HeBzQ/y9fjF8nnn4/DeDr2YRfGd5Yne4PV4dRIyYAUQMoqUFIOaVYCAhLIQydODeA3/z+Sowt0xPb1lx9VVan2NwjgKcIS7CPb4YznoDTjUoaw4L5urUGvSxrIrmRqey8SbQz0gQ+qZKXqY+vHJJYqqjaQFSXuksgFgTqg8jUiIYCBNFCp3IhmqkbnDZFuGXEHvXpgdrI1vFlfRdnEf1+OCmWNPgvbHGuRpcFrAbDN+1Ot/4uT/9SM5BB8+raDYRS+80Z2q9hGlucKFmLA7rfCEekXd4sd2r5Gcfi36vla0jlg8cVsxrEmeBIs3a4Py+Im9yFT6C0RSKIopyFZrZl9YCYrGXdNS+pWlzYT5Nnte0ebz+GvDyg2aPcU8sxqumghfYxjDT+FG55NA1fmv1OmKip46tXp1Xa4QrN7tywxo7GGaYsW2ExfweMTukmlrqOkqAVIAhVUObyLRoGBv/WIbdqBhXmQma2qkyFVXoutetWfPp8dvXrCsA1vlYJNISa4jEGPLmaN9nPtMHx9VLfJpfEUkkInBQnWwHYiRprsvPneSKTtTJnEdRaPkRc0AqUWgF0O11Yj7cbcViID2lxUCWGvcAHTxemgGS5guSLloa5G2ovfXqYEDvq73zt3fS3S4cywR5vBBPmWbcHj/uaMFXgVP9mN5xe/3GrhPWgupjpKkUM6M5LKpLMTu5h/9++fu//jUZuPaPv1hx7xm+Ut2kxfV/MnKWGVqr7sL+zZtUG8HylFL6Gueri40dsKoJtqpZDA5a2faSbCv+MpuCXyYWl7ExZ9yaBWaW6qi91KQUrG4iWyh8fEkbQwNc8xwGARASdgg3KXA33fnoeDI9tTkTjtqH7h+I3qrQvW0yz/vN0ZisrOZ9zuCwte+e7Xr+fgrsAkr3vR9Xefb+xyrPaDRsnJGwdDBRXlSLJmDFKvXocj/ZXFk1ar4qdfn/WhjjVTAOkYfmYUQTVgXjdoDRx33+42D0/8dgrFkEY9Ht9RVuAiU1ZvOALkM7VgUqNWOc3mMyBTqdafQnbw0teoGg1l3zav0/APqMX+CYZUsyy+Y3yoyqB4XIyS6dsl4dna+oVaGlBOhWhQpe4ZcyL82jBXodNTqgdP1tEPC7gU8w9xBh+xqLJmNPo3iJ1s9ZFpD6ThJE6+AwXbpCOe3Dz+oFcP76+zDOpn/nOHE6jhUcmwtXKDd8mKmM8x6MMwE8YQYtm9SrFVY6jgOzlrQ7Ejve7RZMLvC6T204JTCsfcemHeqjV0zPPjw9/XDPh3E6snD9VzDufbB+ArXKn6yCEH14K9spYmMOPAOX5TtYRgwMlurASyu7tMpopYOisTOEmlOYHN9Dp6eufPa06aiqfrgBJ8czzqARrfvhzrS79eqPz8hih4GDCIcNomqjgls+1Aa2kdKL4YTmwwalbNHnRZ7xgdtf9PpoqzVno/vTapEmLtq7xOCpaq2JSv5Kcw1yiLVnvsOm/MwV1mNz8CC/8Qf88HyjDb+xPMF6bYBrKvL6CvhxNi6MHeOLquJqSNZc4L35smotem92RfOi99Zwq1q56kOq+pnvFjFkFr1j1QcOs6s2zFrCblZEv9Fp08vqmUXOWnWZfd5dYz3NtOYOfBsA3zTBDelV94hRdW/FwIp1XdXDCtTTjYC06o79VvUIVm2wQIvHWH1XnT6tLvQRVXjMOpNbV+JPgGxdvGU1Xnwe5O7qd6pq8v/JOMQ/DgcN5Ppnt8bhqxjEbL0JDljbb+CWYNaA4tBs4EAD3BTFIQI4RLxaTMdhKbZKV3CISSWpLtRAMyaAR334I/FgCuPWqBxGa/DYx+DCIp17q7CZ56tRwCfB5bj7dXxSBj5Z26wal7UQyEtjVm1BealVcD8qUbsolu2AZTv1oGj7QiOKSRMTkzzca69g3CidlULmlkQqq6f3bsT1xuDm1mj/2SL5qbk1BfYZEnX1aDURRJ0Ga3W+THGbb8KZ2OvQrmhB0L7JLN3fVGFTNYRI1zI9USvjdnI8m+dftR2/kGJWELc/tYcwYWaOtH4kKVBPL0Ae79xAgJ0vrTdQ3v/SzZH+E027+hfz6JJHqEHFdb/Mv2faD1zcyi3lHuaKIWO3iV1voiBqGk0MbpuJOHD3EnJzinVO4K4uT5auegSr1gT4V01JWsgO7zU+zeVFlxjRZB9FJS2yFN7t7KPOTDDfQSotxHnFAg4xwz1hCZMOQjFuJMxl7o82IeJrNiebP0fPvzq5Z6z5j+bsvV29q032XqVvdfywvO0Ohn40MvKMvG2QUaBnhG/i18vLR/rnXpNzI318l7HP5heghyRY8Ttu1t1Qe7PuhqCxd8vnp3u3VA8V3ZpA4ebdDqhGqzoejpLNNzQ9mJqYG/yfCFO8GqbvkodugEn8DXN7KzBtB5jq8HkPN8IUuhlM9YtgmvHUBOp0PYea4CMAYw7uPGxPok67CXS6p2vorl+A3EpUch+4EUKseoG68oPQ4tMe6qvAVQMokz7duMtYL02ynaI6HtQ50GUZYz+tFpuWPeaPREB3ZecxeAx82RsR+NeKT8t6FGDNbZyLm1zcpeD+mC4F7FMjhhMy368w30Vy084FdGor3QurMNqZb2AQ9tOVx3Uv09457PtaVdVhWhSIvs/O6eYECCGcYnUTmMa7s5U2MCtrA2Pl2YByYxPdlYfnm+h40+Z/OvFE+Z0nvlt+h/zkEZLaUunjxH6vJaiRa9CL4xQtIOqOaJt5ttTUWIM7lZrMFau7BFZuCd0oocbYfj+bY7YYolukQ7jdD7QXmuLQEraPC2TGCaRqaoRLJ+6NUG1s3ynbvEQ3WTLQcxXfNFfJ0QQk5fSJoYfWxIaHpj791TO3JXsUpTdRn+uXkz3LxMLhU/GekdSaKaf3S1Pl1IGjZ1fmyXv5wulYMhbvv/Pq80zGxALgGAG788dcMWD42lQdR43nGLiMXYDtttmSG+yoi3avG3aoES0vrdpQ/9sF/jdNXfi8NmZwWgE9LWRm3qrdFqil3qovwBJTdtzlaJtPXNQGc9U5GNYivbizcGTbWN89DTynB25c+L471j46krihxTDT/d/0cG6dvLhNE2SYycBaKgMS9vVVSwF2y7gVzSGitTGazhaKxIzLYoUo1M7E1y7jYwkw7eimtyV2u0ps/B/b3CPoklwRky00Jq2Sk31UhG9Vk/t//yzNJ/gd9LOWxfvqjf4Qy4Id9Wl+lP2a/lZ8mf42eMNvq34gHqc/IFxIzHEY54kgYfoGX/35ECbsCcOYEv04+jAA3tjI5s/5FSE0ttMl5vwkTp8Vgc+ZmDM9yMYhi8aBmEqcH0dvBmC1z4CQcP79mJgjeV/5MowTvn6Se4c+l6DdeC7Bx41CH00QhlHWsUGoXgW8yC8pXjbctUIznRZFBwofs7AAV3sVrqj/8TlF7Ak/rEGaYa5aJNVEm7ZtFSooBimWzpOD0YQ9K+ndeRioQTJXw0AWwVDBUBVp9x1GogYMOr6qScIGchtunTcoqPh1Mm51U1J2+8uX6Qvu475+kvwz9zqF4ZO0BmhSdKJixwT5/5mcEl4xqI+Tr6uaG3iCt5LHhAmQ6Q7sSSmZ6DMm9DejHcXOnhLB3oyuFMMXpu5gWyKc7otFe+VwWO6NDm7gi8Z5rC8d3sD8gB54eYk+R6JqZ5cmWhVFr5dqJls2u/CpEs7qDQ4ia9PX0/3YAmnsxTCsOi2t/iH8vUb/MVn16c+fyXPHuWIG52wDhd1Gn2LUtgQ3wFeeF0A3xQf9NlhyknG6UmoT8IJeeMBHVNF7EaVkYvfCoO26ZbXrksabs1ktBsa0vhFQiHXhOLEo2LGGbLGL1la7MLMiZtUYfUISNjovpTsktQLugoyhN5DRt4squRgci5PTEYKb8PGYL58aW3Z9g4ODC3LTfwf/FmzA4nt3LN/xhJGZ/vw2zEyfhVtXMTn93Al9E9YnXwF+jAu7+P20vzeIPT40IWlzKRVKCJUHoODTA6wefzabpfV38yXsX8SU/E27mY1+3CD9DtoC5OSgF5Ores5G9bOilIddebxoJ/DMJdMqvj1IN8Rr/hqgl8Np0It2R4Ozh7ahsikj/pvbP3dxq8Knt03w+dRK3hQZGSlvIofhuHId2KJcCzrgMh5wgYW23eJu4M2csQuZFuGrz6semmIRF6n4jBSVcICr2+AH/xeQnudhAAABAAAAAQBCFfHL3V8PPPUAHwgAAAAAAMt1BRQAAAAA1dv8K//n/zEE0Qa7AAAACAACAAAAAAAAeNpjYGRgYJ3234OBgW33/+f/X7JcZACKoICJALIfB9p42m2SO0sDQRSFz9xZgoQlyBLUGDGRENawLLIsIotoYQQLBQkBCYLYiIX/w8pCLFPlD4hYCoqlWIldarGw8NFITAolntk1KJKBjzNz53HvmRl5wSpMu0hQdQSShSu3mJFXuFYVoZ6Cp6bhqgdsEFciePIIX22hok5Qpi6qLiw9gVBsVOQGvjyjoseQlw4inWH8GDnOB+zPxeu5V5rxuoC6JFcoWZNY0PPIaGHOFCly3xE5YN+J6whVjeN7eNqmrjN2TdJkluPOr5rapcWcXKd9jFrbcLSHcT0CW85RUnf00kWW6so+ClLtf+oQbRH6jLBilPfgDO5ErzFnHZFscp6eTV81eQ69mBjrD+Lah2DVkTZ+Yi9/ULX+G+mRD/Kki/3ewMtQ7H8YL8brO0JrLxnrHSB1CQxUlln/GSkkoE1tUHep5u1+kFP41hffNIsccUle0sgRl+RVi39B+G6N5DzeqcM/UrYOgW8gz1iGeNpjYGDQgcIohimMVUwMTIuYjZgDmCcwn2L+x2LHksDSxLKM5Q6rHmsU6yk2P7Zp7FzsLezrOCw4NnDc4WTjNOCM4mzi/MK1i+sXdwj3Du5vPBY8OTwveOV4bXhreNfxXuFT4Yvj28D3jj+If5aAgkCAQJfAHkEjwQ2Cb4SUhAKEWoS2CT0Q+icsJTxBeJ2ImkgUEHaIOog+EZMQUxM7JC4gbiCeIX5NQk2iTOKUpJPkOikjqVXSRtIt0tdkdGRmyOyReSDLI+snu05OQq5K7o68i/wxBQeFfYocikGKi5SYlPyUJimzKLcoP8IBPyj/U+FR0VJxUklT6VJZp/JB1Ui1QHWZ6iMQVKtS+6IuAwDo71YqAAEAAACRAE8ABQAAAAAAAgABAAIAFgAAAQABZgAAAAB42p2STS9DQRSG3zv1UZ8hwcJCxkYsKEUiupJKWBFJG9Yt5TbqqvYKtbSw8CvEzj/wE3xsbG2s/QJr75w5rUREkMnceeacmfece+YAGA4MEgjaugBMcXoOZOfZINniBDJYUG5DNyLldkziTLmDN66VO5HHjXISY3hX7sJyMKTcg7kgr9xLvlTuQxjcKfcja6zyAKwpKg8iaS6U7zFirpQfMGuaOTyi3zwrP6HbvHp+SWDUvOEWc5jlWILFCo5wyFFCDTsoo4AKrXk0UKUthSz9FexilWuEWNYa9umzVElRxbI+luTXNMc0laclRhqLtDU1tiRKnVGclpUc0qLhVtvKKoU1OePiuNXyW+e3wBnTWqBWiTkXyAe0HWHvF3/ys38FIe0uTiw+l1+O50KcSpwY57RMcG5yfyJ3s+KJeLvOczFHlTWY4dj5JlbcysR7/35jg99YauBqUpQ3OGHsEuthWQNXMSu5N3gmpErEClq5FYqyFfJ/d0pLUe9Fouu1xv+R2QxtZXKJSk7j6/vlJKZ7w22J2uwIv/vMwHfDuvZHjt6q9pTrlgVmNM/+yJAXtV9ch7lu2NNXiSWu77DVlm4Ox/SW6anxbOUDxL6X9gAAAHjabc/JLoNxFMbh39FqqzXU1Jrnefy+UtRcQy/DTCsRhHRhLSGGBbfACjHEuLBEzFMM9yDiEiSa9r/0bp6cc5KTvEQRzm+AMf7LOkiUGDBgJBoTZizEYMVGLHHEk4CdRJJIJoVUHDhJI50MMskimxxyySOfAgopopgSSimjnAoqqaKaGmrR0HFRRz1uGmikCQ/NtNBKG+100ImXLrrpo58BBsXIJgussCXRLDPPBdtssMst1+wxxDBrjHDPKDfc8cwDjzzxFer3xguv7OMPtfrknQ8CfPPDEgeci0nMYpEYsYpNYiVO4iVB7JIoSZLMIUeccsYlx5xwxSI7kiKp4mBVnCb/xNx0QDcHJ8c1TeuJ6NWU4dkVOih1pUtZp6xXupUNykZlk9Kj9EbU1V9dt46N+4MzoyODs4HIyuWL6PYZe4MzU+HB7ev+A6VFYjgAAHja28H4v3UDYy+D9waOgIiNjIx9kRvd2LQjFDcIRHpvEAkCMhoiZTewacdEMGxgVnDdwKztsoFDwXUT80YmbTCHHcjhUINy2IAcdg8ohxXIYeuEcliAHFY9KIdTwXUXAzOjIAOUzwWU5JSAcBg3cEOt4QGp4q7/D1S1kdmtDCjCC1TH0wPjRm4Q0QYAQPw2OQABWbZLqwAA) format("woff");
font-display: block;
}
</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment