commit a3fb7dd5e439aed773d19856d8df47cd0d7f697f Author: Thomas Forgione Date: Fri Feb 4 18:01:04 2022 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4bc8535 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +elm-stuff diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5c0dff0 --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +ifeq ("$(ELM)","") + ELM=elm +endif + +ifeq ("$(ELMLIVE)", "") + ELMLIVE=elm-live +endif + +ifeq ("$(UGLIFYJS)", "") + UGLIFYJS=uglifyjs +endif + +BUILD_DIR=js + +dev: js/main.js +release: js/main.min.js + +js/main.js: src/** + $(ELM) make src/Main.elm --output $(BUILD_DIR)/main.js + +js/main.min.js: js/main.tmp.js + @$(UGLIFYJS) $(BUILD_DIR)/main.tmp.js --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' | $(UGLIFYJS) --mangle > $(BUILD_DIR)/main.min.js + +js/main.tmp.js: src/** + @$(ELM) make src/Main.elm --optimize --output $(BUILD_DIR)/main.tmp.js + +clean: + @rm -rf $(BUILD_DIR)/{main.js,main.min.js} diff --git a/elm.json b/elm.json new file mode 100644 index 0000000..b3187c3 --- /dev/null +++ b/elm.json @@ -0,0 +1,25 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.1", + "dependencies": { + "direct": { + "elm/browser": "1.0.2", + "elm/core": "1.0.5", + "elm/html": "1.0.0", + "mdgriffith/elm-ui": "1.1.8" + }, + "indirect": { + "elm/json": "1.1.3", + "elm/time": "1.0.0", + "elm/url": "1.0.0", + "elm/virtual-dom": "1.0.2" + } + }, + "test-dependencies": { + "direct": {}, + "indirect": {} + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..ee2e7dc --- /dev/null +++ b/index.html @@ -0,0 +1,28 @@ + + + + elmoji + + + + +
+ + + + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..e62f14e --- /dev/null +++ b/js/main.js @@ -0,0 +1,15999 @@ +(function(scope){ +'use strict'; + +function F(arity, fun, wrapper) { + wrapper.a = arity; + wrapper.f = fun; + return wrapper; +} + +function F2(fun) { + return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) +} +function F3(fun) { + return F(3, fun, function(a) { + return function(b) { return function(c) { return fun(a, b, c); }; }; + }); +} +function F4(fun) { + return F(4, fun, function(a) { return function(b) { return function(c) { + return function(d) { return fun(a, b, c, d); }; }; }; + }); +} +function F5(fun) { + return F(5, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; + }); +} +function F6(fun) { + return F(6, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return fun(a, b, c, d, e, f); }; }; }; }; }; + }); +} +function F7(fun) { + return F(7, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; + }); +} +function F8(fun) { + return F(8, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { + return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; + }); +} +function F9(fun) { + return F(9, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { return function(i) { + return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; + }); +} + +function A2(fun, a, b) { + return fun.a === 2 ? fun.f(a, b) : fun(a)(b); +} +function A3(fun, a, b, c) { + return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); +} +function A4(fun, a, b, c, d) { + return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); +} +function A5(fun, a, b, c, d, e) { + return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); +} +function A6(fun, a, b, c, d, e, f) { + return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); +} +function A7(fun, a, b, c, d, e, f, g) { + return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); +} +function A8(fun, a, b, c, d, e, f, g, h) { + return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); +} +function A9(fun, a, b, c, d, e, f, g, h, i) { + return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i); +} + +console.warn('Compiled in DEV mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.'); + + +// EQUALITY + +function _Utils_eq(x, y) +{ + for ( + var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); + isEqual && (pair = stack.pop()); + isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) + ) + {} + + return isEqual; +} + +function _Utils_eqHelp(x, y, depth, stack) +{ + if (x === y) + { + return true; + } + + if (typeof x !== 'object' || x === null || y === null) + { + typeof x === 'function' && _Debug_crash(5); + return false; + } + + if (depth > 100) + { + stack.push(_Utils_Tuple2(x,y)); + return true; + } + + /**/ + if (x.$ === 'Set_elm_builtin') + { + x = $elm$core$Set$toList(x); + y = $elm$core$Set$toList(y); + } + if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + /**_UNUSED/ + if (x.$ < 0) + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + for (var key in x) + { + if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; +} + +var _Utils_equal = F2(_Utils_eq); +var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); + + + +// COMPARISONS + +// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on +// the particular integer values assigned to LT, EQ, and GT. + +function _Utils_cmp(x, y, ord) +{ + if (typeof x !== 'object') + { + return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; + } + + /**/ + if (x instanceof String) + { + var a = x.valueOf(); + var b = y.valueOf(); + return a === b ? 0 : a < b ? -1 : 1; + } + //*/ + + /**_UNUSED/ + if (typeof x.$ === 'undefined') + //*/ + /**/ + if (x.$[0] === '#') + //*/ + { + return (ord = _Utils_cmp(x.a, y.a)) + ? ord + : (ord = _Utils_cmp(x.b, y.b)) + ? ord + : _Utils_cmp(x.c, y.c); + } + + // traverse conses until end of a list or a mismatch + for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES + return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); +} + +var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); +var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); +var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); +var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); + +var _Utils_compare = F2(function(x, y) +{ + var n = _Utils_cmp(x, y); + return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; +}); + + +// COMMON VALUES + +var _Utils_Tuple0_UNUSED = 0; +var _Utils_Tuple0 = { $: '#0' }; + +function _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; } +function _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; } + +function _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; } +function _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } + +function _Utils_chr_UNUSED(c) { return c; } +function _Utils_chr(c) { return new String(c); } + + +// RECORDS + +function _Utils_update(oldRecord, updatedFields) +{ + var newRecord = {}; + + for (var key in oldRecord) + { + newRecord[key] = oldRecord[key]; + } + + for (var key in updatedFields) + { + newRecord[key] = updatedFields[key]; + } + + return newRecord; +} + + +// APPEND + +var _Utils_append = F2(_Utils_ap); + +function _Utils_ap(xs, ys) +{ + // append Strings + if (typeof xs === 'string') + { + return xs + ys; + } + + // append Lists + if (!xs.b) + { + return ys; + } + var root = _List_Cons(xs.a, ys); + xs = xs.b + for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS + { + curr = curr.b = _List_Cons(xs.a, ys); + } + return root; +} + + + +var _List_Nil_UNUSED = { $: 0 }; +var _List_Nil = { $: '[]' }; + +function _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; } +function _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; } + + +var _List_cons = F2(_List_Cons); + +function _List_fromArray(arr) +{ + var out = _List_Nil; + for (var i = arr.length; i--; ) + { + out = _List_Cons(arr[i], out); + } + return out; +} + +function _List_toArray(xs) +{ + for (var out = []; xs.b; xs = xs.b) // WHILE_CONS + { + out.push(xs.a); + } + return out; +} + +var _List_map2 = F3(function(f, xs, ys) +{ + for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES + { + arr.push(A2(f, xs.a, ys.a)); + } + return _List_fromArray(arr); +}); + +var _List_map3 = F4(function(f, xs, ys, zs) +{ + for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A3(f, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map4 = F5(function(f, ws, xs, ys, zs) +{ + for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) +{ + for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_sortBy = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + return _Utils_cmp(f(a), f(b)); + })); +}); + +var _List_sortWith = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + var ord = A2(f, a, b); + return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; + })); +}); + + + +var _JsArray_empty = []; + +function _JsArray_singleton(value) +{ + return [value]; +} + +function _JsArray_length(array) +{ + return array.length; +} + +var _JsArray_initialize = F3(function(size, offset, func) +{ + var result = new Array(size); + + for (var i = 0; i < size; i++) + { + result[i] = func(offset + i); + } + + return result; +}); + +var _JsArray_initializeFromList = F2(function (max, ls) +{ + var result = new Array(max); + + for (var i = 0; i < max && ls.b; i++) + { + result[i] = ls.a; + ls = ls.b; + } + + result.length = i; + return _Utils_Tuple2(result, ls); +}); + +var _JsArray_unsafeGet = F2(function(index, array) +{ + return array[index]; +}); + +var _JsArray_unsafeSet = F3(function(index, value, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[index] = value; + return result; +}); + +var _JsArray_push = F2(function(value, array) +{ + var length = array.length; + var result = new Array(length + 1); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[length] = value; + return result; +}); + +var _JsArray_foldl = F3(function(func, acc, array) +{ + var length = array.length; + + for (var i = 0; i < length; i++) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_foldr = F3(function(func, acc, array) +{ + for (var i = array.length - 1; i >= 0; i--) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_map = F2(function(func, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = func(array[i]); + } + + return result; +}); + +var _JsArray_indexedMap = F3(function(func, offset, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = A2(func, offset + i, array[i]); + } + + return result; +}); + +var _JsArray_slice = F3(function(from, to, array) +{ + return array.slice(from, to); +}); + +var _JsArray_appendN = F3(function(n, dest, source) +{ + var destLen = dest.length; + var itemsToCopy = n - destLen; + + if (itemsToCopy > source.length) + { + itemsToCopy = source.length; + } + + var size = destLen + itemsToCopy; + var result = new Array(size); + + for (var i = 0; i < destLen; i++) + { + result[i] = dest[i]; + } + + for (var i = 0; i < itemsToCopy; i++) + { + result[i + destLen] = source[i]; + } + + return result; +}); + + + +// LOG + +var _Debug_log_UNUSED = F2(function(tag, value) +{ + return value; +}); + +var _Debug_log = F2(function(tag, value) +{ + console.log(tag + ': ' + _Debug_toString(value)); + return value; +}); + + +// TODOS + +function _Debug_todo(moduleName, region) +{ + return function(message) { + _Debug_crash(8, moduleName, region, message); + }; +} + +function _Debug_todoCase(moduleName, region, value) +{ + return function(message) { + _Debug_crash(9, moduleName, region, value, message); + }; +} + + +// TO STRING + +function _Debug_toString_UNUSED(value) +{ + return ''; +} + +function _Debug_toString(value) +{ + return _Debug_toAnsiString(false, value); +} + +function _Debug_toAnsiString(ansi, value) +{ + if (typeof value === 'function') + { + return _Debug_internalColor(ansi, ''); + } + + if (typeof value === 'boolean') + { + return _Debug_ctorColor(ansi, value ? 'True' : 'False'); + } + + if (typeof value === 'number') + { + return _Debug_numberColor(ansi, value + ''); + } + + if (value instanceof String) + { + return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); + } + + if (typeof value === 'string') + { + return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); + } + + if (typeof value === 'object' && '$' in value) + { + var tag = value.$; + + if (typeof tag === 'number') + { + return _Debug_internalColor(ansi, ''); + } + + if (tag[0] === '#') + { + var output = []; + for (var k in value) + { + if (k === '$') continue; + output.push(_Debug_toAnsiString(ansi, value[k])); + } + return '(' + output.join(',') + ')'; + } + + if (tag === 'Set_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Set') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); + } + + if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Dict') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); + } + + if (tag === 'Array_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Array') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); + } + + if (tag === '::' || tag === '[]') + { + var output = '['; + + value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) + + for (; value.b; value = value.b) // WHILE_CONS + { + output += ',' + _Debug_toAnsiString(ansi, value.a); + } + return output + ']'; + } + + var output = ''; + for (var i in value) + { + if (i === '$') continue; + var str = _Debug_toAnsiString(ansi, value[i]); + var c0 = str[0]; + var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; + output += ' ' + (parenless ? str : '(' + str + ')'); + } + return _Debug_ctorColor(ansi, tag) + output; + } + + if (typeof DataView === 'function' && value instanceof DataView) + { + return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); + } + + if (typeof File !== 'undefined' && value instanceof File) + { + return _Debug_internalColor(ansi, '<' + value.name + '>'); + } + + if (typeof value === 'object') + { + var output = []; + for (var key in value) + { + var field = key[0] === '_' ? key.slice(1) : key; + output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); + } + if (output.length === 0) + { + return '{}'; + } + return '{ ' + output.join(', ') + ' }'; + } + + return _Debug_internalColor(ansi, ''); +} + +function _Debug_addSlashes(str, isChar) +{ + var s = str + .replace(/\\/g, '\\\\') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r') + .replace(/\v/g, '\\v') + .replace(/\0/g, '\\0'); + + if (isChar) + { + return s.replace(/\'/g, '\\\''); + } + else + { + return s.replace(/\"/g, '\\"'); + } +} + +function _Debug_ctorColor(ansi, string) +{ + return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; +} + +function _Debug_numberColor(ansi, string) +{ + return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; +} + +function _Debug_stringColor(ansi, string) +{ + return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; +} + +function _Debug_charColor(ansi, string) +{ + return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; +} + +function _Debug_fadeColor(ansi, string) +{ + return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; +} + +function _Debug_internalColor(ansi, string) +{ + return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; +} + +function _Debug_toHexDigit(n) +{ + return String.fromCharCode(n < 10 ? 48 + n : 55 + n); +} + + +// CRASH + + +function _Debug_crash_UNUSED(identifier) +{ + throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); +} + + +function _Debug_crash(identifier, fact1, fact2, fact3, fact4) +{ + switch(identifier) + { + case 0: + throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); + + case 1: + throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); + + case 2: + var jsonErrorString = fact1; + throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); + + case 3: + var portName = fact1; + throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); + + case 4: + var portName = fact1; + var problem = fact2; + throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); + + case 5: + throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); + + case 6: + var moduleName = fact1; + throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); + + case 8: + var moduleName = fact1; + var region = fact2; + var message = fact3; + throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); + + case 9: + var moduleName = fact1; + var region = fact2; + var value = fact3; + var message = fact4; + throw new Error( + 'TODO in module `' + moduleName + '` from the `case` expression ' + + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' + + _Debug_toString(value).replace('\n', '\n ') + + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') + ); + + case 10: + throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); + + case 11: + throw new Error('Cannot perform mod 0. Division by zero error.'); + } +} + +function _Debug_regionToString(region) +{ + if (region.start.line === region.end.line) + { + return 'on line ' + region.start.line; + } + return 'on lines ' + region.start.line + ' through ' + region.end.line; +} + + + +// MATH + +var _Basics_add = F2(function(a, b) { return a + b; }); +var _Basics_sub = F2(function(a, b) { return a - b; }); +var _Basics_mul = F2(function(a, b) { return a * b; }); +var _Basics_fdiv = F2(function(a, b) { return a / b; }); +var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); +var _Basics_pow = F2(Math.pow); + +var _Basics_remainderBy = F2(function(b, a) { return a % b; }); + +// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf +var _Basics_modBy = F2(function(modulus, x) +{ + var answer = x % modulus; + return modulus === 0 + ? _Debug_crash(11) + : + ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) + ? answer + modulus + : answer; +}); + + +// TRIGONOMETRY + +var _Basics_pi = Math.PI; +var _Basics_e = Math.E; +var _Basics_cos = Math.cos; +var _Basics_sin = Math.sin; +var _Basics_tan = Math.tan; +var _Basics_acos = Math.acos; +var _Basics_asin = Math.asin; +var _Basics_atan = Math.atan; +var _Basics_atan2 = F2(Math.atan2); + + +// MORE MATH + +function _Basics_toFloat(x) { return x; } +function _Basics_truncate(n) { return n | 0; } +function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } + +var _Basics_ceiling = Math.ceil; +var _Basics_floor = Math.floor; +var _Basics_round = Math.round; +var _Basics_sqrt = Math.sqrt; +var _Basics_log = Math.log; +var _Basics_isNaN = isNaN; + + +// BOOLEANS + +function _Basics_not(bool) { return !bool; } +var _Basics_and = F2(function(a, b) { return a && b; }); +var _Basics_or = F2(function(a, b) { return a || b; }); +var _Basics_xor = F2(function(a, b) { return a !== b; }); + + + +var _String_cons = F2(function(chr, str) +{ + return chr + str; +}); + +function _String_uncons(string) +{ + var word = string.charCodeAt(0); + return !isNaN(word) + ? $elm$core$Maybe$Just( + 0xD800 <= word && word <= 0xDBFF + ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) + : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) + ) + : $elm$core$Maybe$Nothing; +} + +var _String_append = F2(function(a, b) +{ + return a + b; +}); + +function _String_length(str) +{ + return str.length; +} + +var _String_map = F2(function(func, string) +{ + var len = string.length; + var array = new Array(len); + var i = 0; + while (i < len) + { + var word = string.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + array[i] = func(_Utils_chr(string[i] + string[i+1])); + i += 2; + continue; + } + array[i] = func(_Utils_chr(string[i])); + i++; + } + return array.join(''); +}); + +var _String_filter = F2(function(isGood, str) +{ + var arr = []; + var len = str.length; + var i = 0; + while (i < len) + { + var char = str[i]; + var word = str.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += str[i]; + i++; + } + + if (isGood(_Utils_chr(char))) + { + arr.push(char); + } + } + return arr.join(''); +}); + +function _String_reverse(str) +{ + var len = str.length; + var arr = new Array(len); + var i = 0; + while (i < len) + { + var word = str.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + arr[len - i] = str[i + 1]; + i++; + arr[len - i] = str[i - 1]; + i++; + } + else + { + arr[len - i] = str[i]; + i++; + } + } + return arr.join(''); +} + +var _String_foldl = F3(function(func, state, string) +{ + var len = string.length; + var i = 0; + while (i < len) + { + var char = string[i]; + var word = string.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += string[i]; + i++; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_foldr = F3(function(func, state, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_split = F2(function(sep, str) +{ + return str.split(sep); +}); + +var _String_join = F2(function(sep, strs) +{ + return strs.join(sep); +}); + +var _String_slice = F3(function(start, end, str) { + return str.slice(start, end); +}); + +function _String_trim(str) +{ + return str.trim(); +} + +function _String_trimLeft(str) +{ + return str.replace(/^\s+/, ''); +} + +function _String_trimRight(str) +{ + return str.replace(/\s+$/, ''); +} + +function _String_words(str) +{ + return _List_fromArray(str.trim().split(/\s+/g)); +} + +function _String_lines(str) +{ + return _List_fromArray(str.split(/\r\n|\r|\n/g)); +} + +function _String_toUpper(str) +{ + return str.toUpperCase(); +} + +function _String_toLower(str) +{ + return str.toLowerCase(); +} + +var _String_any = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (isGood(_Utils_chr(char))) + { + return true; + } + } + return false; +}); + +var _String_all = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (!isGood(_Utils_chr(char))) + { + return false; + } + } + return true; +}); + +var _String_contains = F2(function(sub, str) +{ + return str.indexOf(sub) > -1; +}); + +var _String_startsWith = F2(function(sub, str) +{ + return str.indexOf(sub) === 0; +}); + +var _String_endsWith = F2(function(sub, str) +{ + return str.length >= sub.length && + str.lastIndexOf(sub) === str.length - sub.length; +}); + +var _String_indexes = F2(function(sub, str) +{ + var subLen = sub.length; + + if (subLen < 1) + { + return _List_Nil; + } + + var i = 0; + var is = []; + + while ((i = str.indexOf(sub, i)) > -1) + { + is.push(i); + i = i + subLen; + } + + return _List_fromArray(is); +}); + + +// TO STRING + +function _String_fromNumber(number) +{ + return number + ''; +} + + +// INT CONVERSIONS + +function _String_toInt(str) +{ + var total = 0; + var code0 = str.charCodeAt(0); + var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; + + for (var i = start; i < str.length; ++i) + { + var code = str.charCodeAt(i); + if (code < 0x30 || 0x39 < code) + { + return $elm$core$Maybe$Nothing; + } + total = 10 * total + code - 0x30; + } + + return i == start + ? $elm$core$Maybe$Nothing + : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); +} + + +// FLOAT CONVERSIONS + +function _String_toFloat(s) +{ + // check if it is a hex, octal, or binary number + if (s.length === 0 || /[\sxbo]/.test(s)) + { + return $elm$core$Maybe$Nothing; + } + var n = +s; + // faster isNaN check + return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; +} + +function _String_fromList(chars) +{ + return _List_toArray(chars).join(''); +} + + + + +function _Char_toCode(char) +{ + var code = char.charCodeAt(0); + if (0xD800 <= code && code <= 0xDBFF) + { + return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 + } + return code; +} + +function _Char_fromCode(code) +{ + return _Utils_chr( + (code < 0 || 0x10FFFF < code) + ? '\uFFFD' + : + (code <= 0xFFFF) + ? String.fromCharCode(code) + : + (code -= 0x10000, + String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) + ) + ); +} + +function _Char_toUpper(char) +{ + return _Utils_chr(char.toUpperCase()); +} + +function _Char_toLower(char) +{ + return _Utils_chr(char.toLowerCase()); +} + +function _Char_toLocaleUpper(char) +{ + return _Utils_chr(char.toLocaleUpperCase()); +} + +function _Char_toLocaleLower(char) +{ + return _Utils_chr(char.toLocaleLowerCase()); +} + + + +/**/ +function _Json_errorToString(error) +{ + return $elm$json$Json$Decode$errorToString(error); +} +//*/ + + +// CORE DECODERS + +function _Json_succeed(msg) +{ + return { + $: 0, + a: msg + }; +} + +function _Json_fail(msg) +{ + return { + $: 1, + a: msg + }; +} + +function _Json_decodePrim(decoder) +{ + return { $: 2, b: decoder }; +} + +var _Json_decodeInt = _Json_decodePrim(function(value) { + return (typeof value !== 'number') + ? _Json_expecting('an INT', value) + : + (-2147483647 < value && value < 2147483647 && (value | 0) === value) + ? $elm$core$Result$Ok(value) + : + (isFinite(value) && !(value % 1)) + ? $elm$core$Result$Ok(value) + : _Json_expecting('an INT', value); +}); + +var _Json_decodeBool = _Json_decodePrim(function(value) { + return (typeof value === 'boolean') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a BOOL', value); +}); + +var _Json_decodeFloat = _Json_decodePrim(function(value) { + return (typeof value === 'number') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a FLOAT', value); +}); + +var _Json_decodeValue = _Json_decodePrim(function(value) { + return $elm$core$Result$Ok(_Json_wrap(value)); +}); + +var _Json_decodeString = _Json_decodePrim(function(value) { + return (typeof value === 'string') + ? $elm$core$Result$Ok(value) + : (value instanceof String) + ? $elm$core$Result$Ok(value + '') + : _Json_expecting('a STRING', value); +}); + +function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } +function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } + +function _Json_decodeNull(value) { return { $: 5, c: value }; } + +var _Json_decodeField = F2(function(field, decoder) +{ + return { + $: 6, + d: field, + b: decoder + }; +}); + +var _Json_decodeIndex = F2(function(index, decoder) +{ + return { + $: 7, + e: index, + b: decoder + }; +}); + +function _Json_decodeKeyValuePairs(decoder) +{ + return { + $: 8, + b: decoder + }; +} + +function _Json_mapMany(f, decoders) +{ + return { + $: 9, + f: f, + g: decoders + }; +} + +var _Json_andThen = F2(function(callback, decoder) +{ + return { + $: 10, + b: decoder, + h: callback + }; +}); + +function _Json_oneOf(decoders) +{ + return { + $: 11, + g: decoders + }; +} + + +// DECODING OBJECTS + +var _Json_map1 = F2(function(f, d1) +{ + return _Json_mapMany(f, [d1]); +}); + +var _Json_map2 = F3(function(f, d1, d2) +{ + return _Json_mapMany(f, [d1, d2]); +}); + +var _Json_map3 = F4(function(f, d1, d2, d3) +{ + return _Json_mapMany(f, [d1, d2, d3]); +}); + +var _Json_map4 = F5(function(f, d1, d2, d3, d4) +{ + return _Json_mapMany(f, [d1, d2, d3, d4]); +}); + +var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5]); +}); + +var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); +}); + +var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); +}); + +var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); +}); + + +// DECODE + +var _Json_runOnString = F2(function(decoder, string) +{ + try + { + var value = JSON.parse(string); + return _Json_runHelp(decoder, value); + } + catch (e) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); + } +}); + +var _Json_run = F2(function(decoder, value) +{ + return _Json_runHelp(decoder, _Json_unwrap(value)); +}); + +function _Json_runHelp(decoder, value) +{ + switch (decoder.$) + { + case 2: + return decoder.b(value); + + case 5: + return (value === null) + ? $elm$core$Result$Ok(decoder.c) + : _Json_expecting('null', value); + + case 3: + if (!_Json_isArray(value)) + { + return _Json_expecting('a LIST', value); + } + return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); + + case 4: + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); + + case 6: + var field = decoder.d; + if (typeof value !== 'object' || value === null || !(field in value)) + { + return _Json_expecting('an OBJECT with a field named `' + field + '`', value); + } + var result = _Json_runHelp(decoder.b, value[field]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); + + case 7: + var index = decoder.e; + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + if (index >= value.length) + { + return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); + } + var result = _Json_runHelp(decoder.b, value[index]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); + + case 8: + if (typeof value !== 'object' || value === null || _Json_isArray(value)) + { + return _Json_expecting('an OBJECT', value); + } + + var keyValuePairs = _List_Nil; + // TODO test perf of Object.keys and switch when support is good enough + for (var key in value) + { + if (value.hasOwnProperty(key)) + { + var result = _Json_runHelp(decoder.b, value[key]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); + } + keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); + } + } + return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); + + case 9: + var answer = decoder.f; + var decoders = decoder.g; + for (var i = 0; i < decoders.length; i++) + { + var result = _Json_runHelp(decoders[i], value); + if (!$elm$core$Result$isOk(result)) + { + return result; + } + answer = answer(result.a); + } + return $elm$core$Result$Ok(answer); + + case 10: + var result = _Json_runHelp(decoder.b, value); + return (!$elm$core$Result$isOk(result)) + ? result + : _Json_runHelp(decoder.h(result.a), value); + + case 11: + var errors = _List_Nil; + for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS + { + var result = _Json_runHelp(temp.a, value); + if ($elm$core$Result$isOk(result)) + { + return result; + } + errors = _List_Cons(result.a, errors); + } + return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); + + case 1: + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); + + case 0: + return $elm$core$Result$Ok(decoder.a); + } +} + +function _Json_runArrayDecoder(decoder, value, toElmValue) +{ + var len = value.length; + var array = new Array(len); + for (var i = 0; i < len; i++) + { + var result = _Json_runHelp(decoder, value[i]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); + } + array[i] = result.a; + } + return $elm$core$Result$Ok(toElmValue(array)); +} + +function _Json_isArray(value) +{ + return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); +} + +function _Json_toElmArray(array) +{ + return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); +} + +function _Json_expecting(type, value) +{ + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); +} + + +// EQUALITY + +function _Json_equality(x, y) +{ + if (x === y) + { + return true; + } + + if (x.$ !== y.$) + { + return false; + } + + switch (x.$) + { + case 0: + case 1: + return x.a === y.a; + + case 2: + return x.b === y.b; + + case 5: + return x.c === y.c; + + case 3: + case 4: + case 8: + return _Json_equality(x.b, y.b); + + case 6: + return x.d === y.d && _Json_equality(x.b, y.b); + + case 7: + return x.e === y.e && _Json_equality(x.b, y.b); + + case 9: + return x.f === y.f && _Json_listEquality(x.g, y.g); + + case 10: + return x.h === y.h && _Json_equality(x.b, y.b); + + case 11: + return _Json_listEquality(x.g, y.g); + } +} + +function _Json_listEquality(aDecoders, bDecoders) +{ + var len = aDecoders.length; + if (len !== bDecoders.length) + { + return false; + } + for (var i = 0; i < len; i++) + { + if (!_Json_equality(aDecoders[i], bDecoders[i])) + { + return false; + } + } + return true; +} + + +// ENCODE + +var _Json_encode = F2(function(indentLevel, value) +{ + return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; +}); + +function _Json_wrap(value) { return { $: 0, a: value }; } +function _Json_unwrap(value) { return value.a; } + +function _Json_wrap_UNUSED(value) { return value; } +function _Json_unwrap_UNUSED(value) { return value; } + +function _Json_emptyArray() { return []; } +function _Json_emptyObject() { return {}; } + +var _Json_addField = F3(function(key, value, object) +{ + object[key] = _Json_unwrap(value); + return object; +}); + +function _Json_addEntry(func) +{ + return F2(function(entry, array) + { + array.push(_Json_unwrap(func(entry))); + return array; + }); +} + +var _Json_encodeNull = _Json_wrap(null); + + + +// TASKS + +function _Scheduler_succeed(value) +{ + return { + $: 0, + a: value + }; +} + +function _Scheduler_fail(error) +{ + return { + $: 1, + a: error + }; +} + +function _Scheduler_binding(callback) +{ + return { + $: 2, + b: callback, + c: null + }; +} + +var _Scheduler_andThen = F2(function(callback, task) +{ + return { + $: 3, + b: callback, + d: task + }; +}); + +var _Scheduler_onError = F2(function(callback, task) +{ + return { + $: 4, + b: callback, + d: task + }; +}); + +function _Scheduler_receive(callback) +{ + return { + $: 5, + b: callback + }; +} + + +// PROCESSES + +var _Scheduler_guid = 0; + +function _Scheduler_rawSpawn(task) +{ + var proc = { + $: 0, + e: _Scheduler_guid++, + f: task, + g: null, + h: [] + }; + + _Scheduler_enqueue(proc); + + return proc; +} + +function _Scheduler_spawn(task) +{ + return _Scheduler_binding(function(callback) { + callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); + }); +} + +function _Scheduler_rawSend(proc, msg) +{ + proc.h.push(msg); + _Scheduler_enqueue(proc); +} + +var _Scheduler_send = F2(function(proc, msg) +{ + return _Scheduler_binding(function(callback) { + _Scheduler_rawSend(proc, msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + +function _Scheduler_kill(proc) +{ + return _Scheduler_binding(function(callback) { + var task = proc.f; + if (task.$ === 2 && task.c) + { + task.c(); + } + + proc.f = null; + + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +} + + +/* STEP PROCESSES + +type alias Process = + { $ : tag + , id : unique_id + , root : Task + , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } + , mailbox : [msg] + } + +*/ + + +var _Scheduler_working = false; +var _Scheduler_queue = []; + + +function _Scheduler_enqueue(proc) +{ + _Scheduler_queue.push(proc); + if (_Scheduler_working) + { + return; + } + _Scheduler_working = true; + while (proc = _Scheduler_queue.shift()) + { + _Scheduler_step(proc); + } + _Scheduler_working = false; +} + + +function _Scheduler_step(proc) +{ + while (proc.f) + { + var rootTag = proc.f.$; + if (rootTag === 0 || rootTag === 1) + { + while (proc.g && proc.g.$ !== rootTag) + { + proc.g = proc.g.i; + } + if (!proc.g) + { + return; + } + proc.f = proc.g.b(proc.f.a); + proc.g = proc.g.i; + } + else if (rootTag === 2) + { + proc.f.c = proc.f.b(function(newRoot) { + proc.f = newRoot; + _Scheduler_enqueue(proc); + }); + return; + } + else if (rootTag === 5) + { + if (proc.h.length === 0) + { + return; + } + proc.f = proc.f.b(proc.h.shift()); + } + else // if (rootTag === 3 || rootTag === 4) + { + proc.g = { + $: rootTag === 3 ? 0 : 1, + b: proc.f.b, + i: proc.g + }; + proc.f = proc.f.d; + } + } +} + + + +function _Process_sleep(time) +{ + return _Scheduler_binding(function(callback) { + var id = setTimeout(function() { + callback(_Scheduler_succeed(_Utils_Tuple0)); + }, time); + + return function() { clearTimeout(id); }; + }); +} + + + + +// PROGRAMS + + +var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function() { return function() {} } + ); +}); + + + +// INITIALIZE A PROGRAM + + +function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) +{ + var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); + $elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/); + var managers = {}; + var initPair = init(result.a); + var model = initPair.a; + var stepper = stepperBuilder(sendToApp, model); + var ports = _Platform_setupEffects(managers, sendToApp); + + function sendToApp(msg, viewMetadata) + { + var pair = A2(update, msg, model); + stepper(model = pair.a, viewMetadata); + _Platform_enqueueEffects(managers, pair.b, subscriptions(model)); + } + + _Platform_enqueueEffects(managers, initPair.b, subscriptions(model)); + + return ports ? { ports: ports } : {}; +} + + + +// TRACK PRELOADS +// +// This is used by code in elm/browser and elm/http +// to register any HTTP requests that are triggered by init. +// + + +var _Platform_preload; + + +function _Platform_registerPreload(url) +{ + _Platform_preload.add(url); +} + + + +// EFFECT MANAGERS + + +var _Platform_effectManagers = {}; + + +function _Platform_setupEffects(managers, sendToApp) +{ + var ports; + + // setup all necessary effect managers + for (var key in _Platform_effectManagers) + { + var manager = _Platform_effectManagers[key]; + + if (manager.a) + { + ports = ports || {}; + ports[key] = manager.a(key, sendToApp); + } + + managers[key] = _Platform_instantiateManager(manager, sendToApp); + } + + return ports; +} + + +function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) +{ + return { + b: init, + c: onEffects, + d: onSelfMsg, + e: cmdMap, + f: subMap + }; +} + + +function _Platform_instantiateManager(info, sendToApp) +{ + var router = { + g: sendToApp, + h: undefined + }; + + var onEffects = info.c; + var onSelfMsg = info.d; + var cmdMap = info.e; + var subMap = info.f; + + function loop(state) + { + return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) + { + var value = msg.a; + + if (msg.$ === 0) + { + return A3(onSelfMsg, router, value, state); + } + + return cmdMap && subMap + ? A4(onEffects, router, value.i, value.j, state) + : A3(onEffects, router, cmdMap ? value.i : value.j, state); + })); + } + + return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); +} + + + +// ROUTING + + +var _Platform_sendToApp = F2(function(router, msg) +{ + return _Scheduler_binding(function(callback) + { + router.g(msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + + +var _Platform_sendToSelf = F2(function(router, msg) +{ + return A2(_Scheduler_send, router.h, { + $: 0, + a: msg + }); +}); + + + +// BAGS + + +function _Platform_leaf(home) +{ + return function(value) + { + return { + $: 1, + k: home, + l: value + }; + }; +} + + +function _Platform_batch(list) +{ + return { + $: 2, + m: list + }; +} + + +var _Platform_map = F2(function(tagger, bag) +{ + return { + $: 3, + n: tagger, + o: bag + } +}); + + + +// PIPE BAGS INTO EFFECT MANAGERS +// +// Effects must be queued! +// +// Say your init contains a synchronous command, like Time.now or Time.here +// +// - This will produce a batch of effects (FX_1) +// - The synchronous task triggers the subsequent `update` call +// - This will produce a batch of effects (FX_2) +// +// If we just start dispatching FX_2, subscriptions from FX_2 can be processed +// before subscriptions from FX_1. No good! Earlier versions of this code had +// this problem, leading to these reports: +// +// https://github.com/elm/core/issues/980 +// https://github.com/elm/core/pull/981 +// https://github.com/elm/compiler/issues/1776 +// +// The queue is necessary to avoid ordering issues for synchronous commands. + + +// Why use true/false here? Why not just check the length of the queue? +// The goal is to detect "are we currently dispatching effects?" If we +// are, we need to bail and let the ongoing while loop handle things. +// +// Now say the queue has 1 element. When we dequeue the final element, +// the queue will be empty, but we are still actively dispatching effects. +// So you could get queue jumping in a really tricky category of cases. +// +var _Platform_effectsQueue = []; +var _Platform_effectsActive = false; + + +function _Platform_enqueueEffects(managers, cmdBag, subBag) +{ + _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); + + if (_Platform_effectsActive) return; + + _Platform_effectsActive = true; + for (var fx; fx = _Platform_effectsQueue.shift(); ) + { + _Platform_dispatchEffects(fx.p, fx.q, fx.r); + } + _Platform_effectsActive = false; +} + + +function _Platform_dispatchEffects(managers, cmdBag, subBag) +{ + var effectsDict = {}; + _Platform_gatherEffects(true, cmdBag, effectsDict, null); + _Platform_gatherEffects(false, subBag, effectsDict, null); + + for (var home in managers) + { + _Scheduler_rawSend(managers[home], { + $: 'fx', + a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } + }); + } +} + + +function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) +{ + switch (bag.$) + { + case 1: + var home = bag.k; + var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); + effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); + return; + + case 2: + for (var list = bag.m; list.b; list = list.b) // WHILE_CONS + { + _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); + } + return; + + case 3: + _Platform_gatherEffects(isCmd, bag.o, effectsDict, { + s: bag.n, + t: taggers + }); + return; + } +} + + +function _Platform_toEffect(isCmd, home, taggers, value) +{ + function applyTaggers(x) + { + for (var temp = taggers; temp; temp = temp.t) + { + x = temp.s(x); + } + return x; + } + + var map = isCmd + ? _Platform_effectManagers[home].e + : _Platform_effectManagers[home].f; + + return A2(map, applyTaggers, value) +} + + +function _Platform_insert(isCmd, newEffect, effects) +{ + effects = effects || { i: _List_Nil, j: _List_Nil }; + + isCmd + ? (effects.i = _List_Cons(newEffect, effects.i)) + : (effects.j = _List_Cons(newEffect, effects.j)); + + return effects; +} + + + +// PORTS + + +function _Platform_checkPortName(name) +{ + if (_Platform_effectManagers[name]) + { + _Debug_crash(3, name) + } +} + + + +// OUTGOING PORTS + + +function _Platform_outgoingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + e: _Platform_outgoingPortMap, + u: converter, + a: _Platform_setupOutgoingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); + + +function _Platform_setupOutgoingPort(name) +{ + var subs = []; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Process_sleep(0); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, cmdList, state) + { + for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS + { + // grab a separate reference to subs in case unsubscribe is called + var currentSubs = subs; + var value = _Json_unwrap(converter(cmdList.a)); + for (var i = 0; i < currentSubs.length; i++) + { + currentSubs[i](value); + } + } + return init; + }); + + // PUBLIC API + + function subscribe(callback) + { + subs.push(callback); + } + + function unsubscribe(callback) + { + // copy subs into a new array in case unsubscribe is called within a + // subscribed callback + subs = subs.slice(); + var index = subs.indexOf(callback); + if (index >= 0) + { + subs.splice(index, 1); + } + } + + return { + subscribe: subscribe, + unsubscribe: unsubscribe + }; +} + + + +// INCOMING PORTS + + +function _Platform_incomingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + f: _Platform_incomingPortMap, + u: converter, + a: _Platform_setupIncomingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_incomingPortMap = F2(function(tagger, finalTagger) +{ + return function(value) + { + return tagger(finalTagger(value)); + }; +}); + + +function _Platform_setupIncomingPort(name, sendToApp) +{ + var subs = _List_Nil; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Scheduler_succeed(null); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, subList, state) + { + subs = subList; + return init; + }); + + // PUBLIC API + + function send(incomingValue) + { + var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); + + $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); + + var value = result.a; + for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS + { + sendToApp(temp.a(value)); + } + } + + return { send: send }; +} + + + +// EXPORT ELM MODULES +// +// Have DEBUG and PROD versions so that we can (1) give nicer errors in +// debug mode and (2) not pay for the bits needed for that in prod mode. +// + + +function _Platform_export_UNUSED(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsProd(scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsProd(obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6) + : _Platform_mergeExportsProd(obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + +function _Platform_export(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsDebug(moduleName, obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6, moduleName) + : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + + + +// HELPERS + + +var _VirtualDom_divertHrefToApp; + +var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; + + +function _VirtualDom_appendChild(parent, child) +{ + parent.appendChild(child); +} + +var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) +{ + // NOTE: this function needs _Platform_export available to work + + /**_UNUSED/ + var node = args['node']; + //*/ + /**/ + var node = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + + node.parentNode.replaceChild( + _VirtualDom_render(virtualNode, function() {}), + node + ); + + return {}; +}); + + + +// TEXT + + +function _VirtualDom_text(string) +{ + return { + $: 0, + a: string + }; +} + + + +// NODE + + +var _VirtualDom_nodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 1, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_node = _VirtualDom_nodeNS(undefined); + + + +// KEYED NODE + + +var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 2, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); + + + +// CUSTOM + + +function _VirtualDom_custom(factList, model, render, diff) +{ + return { + $: 3, + d: _VirtualDom_organizeFacts(factList), + g: model, + h: render, + i: diff + }; +} + + + +// MAP + + +var _VirtualDom_map = F2(function(tagger, node) +{ + return { + $: 4, + j: tagger, + k: node, + b: 1 + (node.b || 0) + }; +}); + + + +// LAZY + + +function _VirtualDom_thunk(refs, thunk) +{ + return { + $: 5, + l: refs, + m: thunk, + k: undefined + }; +} + +var _VirtualDom_lazy = F2(function(func, a) +{ + return _VirtualDom_thunk([func, a], function() { + return func(a); + }); +}); + +var _VirtualDom_lazy2 = F3(function(func, a, b) +{ + return _VirtualDom_thunk([func, a, b], function() { + return A2(func, a, b); + }); +}); + +var _VirtualDom_lazy3 = F4(function(func, a, b, c) +{ + return _VirtualDom_thunk([func, a, b, c], function() { + return A3(func, a, b, c); + }); +}); + +var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) +{ + return _VirtualDom_thunk([func, a, b, c, d], function() { + return A4(func, a, b, c, d); + }); +}); + +var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) +{ + return _VirtualDom_thunk([func, a, b, c, d, e], function() { + return A5(func, a, b, c, d, e); + }); +}); + +var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { + return A6(func, a, b, c, d, e, f); + }); +}); + +var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { + return A7(func, a, b, c, d, e, f, g); + }); +}); + +var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { + return A8(func, a, b, c, d, e, f, g, h); + }); +}); + + + +// FACTS + + +var _VirtualDom_on = F2(function(key, handler) +{ + return { + $: 'a0', + n: key, + o: handler + }; +}); +var _VirtualDom_style = F2(function(key, value) +{ + return { + $: 'a1', + n: key, + o: value + }; +}); +var _VirtualDom_property = F2(function(key, value) +{ + return { + $: 'a2', + n: key, + o: value + }; +}); +var _VirtualDom_attribute = F2(function(key, value) +{ + return { + $: 'a3', + n: key, + o: value + }; +}); +var _VirtualDom_attributeNS = F3(function(namespace, key, value) +{ + return { + $: 'a4', + n: key, + o: { f: namespace, o: value } + }; +}); + + + +// XSS ATTACK VECTOR CHECKS + + +function _VirtualDom_noScript(tag) +{ + return tag == 'script' ? 'p' : tag; +} + +function _VirtualDom_noOnOrFormAction(key) +{ + return /^(on|formAction$)/i.test(key) ? 'data-' + key : key; +} + +function _VirtualDom_noInnerHtmlOrFormAction(key) +{ + return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; +} + +function _VirtualDom_noJavaScriptUri_UNUSED(value) +{ + return /^javascript:/i.test(value.replace(/\s/g,'')) ? '' : value; +} + +function _VirtualDom_noJavaScriptUri(value) +{ + return /^javascript:/i.test(value.replace(/\s/g,'')) + ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value) +{ + return /^\s*(javascript:|data:text\/html)/i.test(value) ? '' : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri(value) +{ + return /^\s*(javascript:|data:text\/html)/i.test(value) + ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' + : value; +} + + + +// MAP FACTS + + +var _VirtualDom_mapAttribute = F2(function(func, attr) +{ + return (attr.$ === 'a0') + ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) + : attr; +}); + +function _VirtualDom_mapHandler(func, handler) +{ + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + return { + $: handler.$, + a: + !tag + ? A2($elm$json$Json$Decode$map, func, handler.a) + : + A3($elm$json$Json$Decode$map2, + tag < 3 + ? _VirtualDom_mapEventTuple + : _VirtualDom_mapEventRecord, + $elm$json$Json$Decode$succeed(func), + handler.a + ) + }; +} + +var _VirtualDom_mapEventTuple = F2(function(func, tuple) +{ + return _Utils_Tuple2(func(tuple.a), tuple.b); +}); + +var _VirtualDom_mapEventRecord = F2(function(func, record) +{ + return { + message: func(record.message), + stopPropagation: record.stopPropagation, + preventDefault: record.preventDefault + } +}); + + + +// ORGANIZE FACTS + + +function _VirtualDom_organizeFacts(factList) +{ + for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS + { + var entry = factList.a; + + var tag = entry.$; + var key = entry.n; + var value = entry.o; + + if (tag === 'a2') + { + (key === 'className') + ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) + : facts[key] = _Json_unwrap(value); + + continue; + } + + var subFacts = facts[tag] || (facts[tag] = {}); + (tag === 'a3' && key === 'class') + ? _VirtualDom_addClass(subFacts, key, value) + : subFacts[key] = value; + } + + return facts; +} + +function _VirtualDom_addClass(object, key, newClass) +{ + var classes = object[key]; + object[key] = classes ? classes + ' ' + newClass : newClass; +} + + + +// RENDER + + +function _VirtualDom_render(vNode, eventNode) +{ + var tag = vNode.$; + + if (tag === 5) + { + return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); + } + + if (tag === 0) + { + return _VirtualDom_doc.createTextNode(vNode.a); + } + + if (tag === 4) + { + var subNode = vNode.k; + var tagger = vNode.j; + + while (subNode.$ === 4) + { + typeof tagger !== 'object' + ? tagger = [tagger, subNode.j] + : tagger.push(subNode.j); + + subNode = subNode.k; + } + + var subEventRoot = { j: tagger, p: eventNode }; + var domNode = _VirtualDom_render(subNode, subEventRoot); + domNode.elm_event_node_ref = subEventRoot; + return domNode; + } + + if (tag === 3) + { + var domNode = vNode.h(vNode.g); + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + return domNode; + } + + // at this point `tag` must be 1 or 2 + + var domNode = vNode.f + ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) + : _VirtualDom_doc.createElement(vNode.c); + + if (_VirtualDom_divertHrefToApp && vNode.c == 'a') + { + domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); + } + + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + + for (var kids = vNode.e, i = 0; i < kids.length; i++) + { + _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); + } + + return domNode; +} + + + +// APPLY FACTS + + +function _VirtualDom_applyFacts(domNode, eventNode, facts) +{ + for (var key in facts) + { + var value = facts[key]; + + key === 'a1' + ? _VirtualDom_applyStyles(domNode, value) + : + key === 'a0' + ? _VirtualDom_applyEvents(domNode, eventNode, value) + : + key === 'a3' + ? _VirtualDom_applyAttrs(domNode, value) + : + key === 'a4' + ? _VirtualDom_applyAttrsNS(domNode, value) + : + ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); + } +} + + + +// APPLY STYLES + + +function _VirtualDom_applyStyles(domNode, styles) +{ + var domNodeStyle = domNode.style; + + for (var key in styles) + { + domNodeStyle[key] = styles[key]; + } +} + + + +// APPLY ATTRS + + +function _VirtualDom_applyAttrs(domNode, attrs) +{ + for (var key in attrs) + { + var value = attrs[key]; + typeof value !== 'undefined' + ? domNode.setAttribute(key, value) + : domNode.removeAttribute(key); + } +} + + + +// APPLY NAMESPACED ATTRS + + +function _VirtualDom_applyAttrsNS(domNode, nsAttrs) +{ + for (var key in nsAttrs) + { + var pair = nsAttrs[key]; + var namespace = pair.f; + var value = pair.o; + + typeof value !== 'undefined' + ? domNode.setAttributeNS(namespace, key, value) + : domNode.removeAttributeNS(namespace, key); + } +} + + + +// APPLY EVENTS + + +function _VirtualDom_applyEvents(domNode, eventNode, events) +{ + var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); + + for (var key in events) + { + var newHandler = events[key]; + var oldCallback = allCallbacks[key]; + + if (!newHandler) + { + domNode.removeEventListener(key, oldCallback); + allCallbacks[key] = undefined; + continue; + } + + if (oldCallback) + { + var oldHandler = oldCallback.q; + if (oldHandler.$ === newHandler.$) + { + oldCallback.q = newHandler; + continue; + } + domNode.removeEventListener(key, oldCallback); + } + + oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); + domNode.addEventListener(key, oldCallback, + _VirtualDom_passiveSupported + && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } + ); + allCallbacks[key] = oldCallback; + } +} + + + +// PASSIVE EVENTS + + +var _VirtualDom_passiveSupported; + +try +{ + window.addEventListener('t', null, Object.defineProperty({}, 'passive', { + get: function() { _VirtualDom_passiveSupported = true; } + })); +} +catch(e) {} + + + +// EVENT HANDLERS + + +function _VirtualDom_makeCallback(eventNode, initialHandler) +{ + function callback(event) + { + var handler = callback.q; + var result = _Json_runHelp(handler.a, event); + + if (!$elm$core$Result$isOk(result)) + { + return; + } + + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + var value = result.a; + var message = !tag ? value : tag < 3 ? value.a : value.message; + var stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation; + var currentEventNode = ( + stopPropagation && event.stopPropagation(), + (tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(), + eventNode + ); + var tagger; + var i; + while (tagger = currentEventNode.j) + { + if (typeof tagger == 'function') + { + message = tagger(message); + } + else + { + for (var i = tagger.length; i--; ) + { + message = tagger[i](message); + } + } + currentEventNode = currentEventNode.p; + } + currentEventNode(message, stopPropagation); // stopPropagation implies isSync + } + + callback.q = initialHandler; + + return callback; +} + +function _VirtualDom_equalEvents(x, y) +{ + return x.$ == y.$ && _Json_equality(x.a, y.a); +} + + + +// DIFF + + +// TODO: Should we do patches like in iOS? +// +// type Patch +// = At Int Patch +// | Batch (List Patch) +// | Change ... +// +// How could it not be better? +// +function _VirtualDom_diff(x, y) +{ + var patches = []; + _VirtualDom_diffHelp(x, y, patches, 0); + return patches; +} + + +function _VirtualDom_pushPatch(patches, type, index, data) +{ + var patch = { + $: type, + r: index, + s: data, + t: undefined, + u: undefined + }; + patches.push(patch); + return patch; +} + + +function _VirtualDom_diffHelp(x, y, patches, index) +{ + if (x === y) + { + return; + } + + var xType = x.$; + var yType = y.$; + + // Bail if you run into different types of nodes. Implies that the + // structure has changed significantly and it's not worth a diff. + if (xType !== yType) + { + if (xType === 1 && yType === 2) + { + y = _VirtualDom_dekey(y); + yType = 1; + } + else + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + } + + // Now we know that both nodes are the same $. + switch (yType) + { + case 5: + var xRefs = x.l; + var yRefs = y.l; + var i = xRefs.length; + var same = i === yRefs.length; + while (same && i--) + { + same = xRefs[i] === yRefs[i]; + } + if (same) + { + y.k = x.k; + return; + } + y.k = y.m(); + var subPatches = []; + _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); + subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); + return; + + case 4: + // gather nested taggers + var xTaggers = x.j; + var yTaggers = y.j; + var nesting = false; + + var xSubNode = x.k; + while (xSubNode.$ === 4) + { + nesting = true; + + typeof xTaggers !== 'object' + ? xTaggers = [xTaggers, xSubNode.j] + : xTaggers.push(xSubNode.j); + + xSubNode = xSubNode.k; + } + + var ySubNode = y.k; + while (ySubNode.$ === 4) + { + nesting = true; + + typeof yTaggers !== 'object' + ? yTaggers = [yTaggers, ySubNode.j] + : yTaggers.push(ySubNode.j); + + ySubNode = ySubNode.k; + } + + // Just bail if different numbers of taggers. This implies the + // structure of the virtual DOM has changed. + if (nesting && xTaggers.length !== yTaggers.length) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + // check if taggers are "the same" + if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) + { + _VirtualDom_pushPatch(patches, 2, index, yTaggers); + } + + // diff everything below the taggers + _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); + return; + + case 0: + if (x.a !== y.a) + { + _VirtualDom_pushPatch(patches, 3, index, y.a); + } + return; + + case 1: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); + return; + + case 2: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); + return; + + case 3: + if (x.h !== y.h) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + var patch = y.i(x.g, y.g); + patch && _VirtualDom_pushPatch(patches, 5, index, patch); + + return; + } +} + +// assumes the incoming arrays are the same length +function _VirtualDom_pairwiseRefEqual(as, bs) +{ + for (var i = 0; i < as.length; i++) + { + if (as[i] !== bs[i]) + { + return false; + } + } + + return true; +} + +function _VirtualDom_diffNodes(x, y, patches, index, diffKids) +{ + // Bail if obvious indicators have changed. Implies more serious + // structural changes such that it's not worth it to diff. + if (x.c !== y.c || x.f !== y.f) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + diffKids(x, y, patches, index); +} + + + +// DIFF FACTS + + +// TODO Instead of creating a new diff object, it's possible to just test if +// there *is* a diff. During the actual patch, do the diff again and make the +// modifications directly. This way, there's no new allocations. Worth it? +function _VirtualDom_diffFacts(x, y, category) +{ + var diff; + + // look for changes and removals + for (var xKey in x) + { + if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') + { + var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); + if (subDiff) + { + diff = diff || {}; + diff[xKey] = subDiff; + } + continue; + } + + // remove if not in the new facts + if (!(xKey in y)) + { + diff = diff || {}; + diff[xKey] = + !category + ? (typeof x[xKey] === 'string' ? '' : null) + : + (category === 'a1') + ? '' + : + (category === 'a0' || category === 'a3') + ? undefined + : + { f: x[xKey].f, o: undefined }; + + continue; + } + + var xValue = x[xKey]; + var yValue = y[xKey]; + + // reference equal, so don't worry about it + if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' + || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) + { + continue; + } + + diff = diff || {}; + diff[xKey] = yValue; + } + + // add new stuff + for (var yKey in y) + { + if (!(yKey in x)) + { + diff = diff || {}; + diff[yKey] = y[yKey]; + } + } + + return diff; +} + + + +// DIFF KIDS + + +function _VirtualDom_diffKids(xParent, yParent, patches, index) +{ + var xKids = xParent.e; + var yKids = yParent.e; + + var xLen = xKids.length; + var yLen = yKids.length; + + // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS + + if (xLen > yLen) + { + _VirtualDom_pushPatch(patches, 6, index, { + v: yLen, + i: xLen - yLen + }); + } + else if (xLen < yLen) + { + _VirtualDom_pushPatch(patches, 7, index, { + v: xLen, + e: yKids + }); + } + + // PAIRWISE DIFF EVERYTHING ELSE + + for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) + { + var xKid = xKids[i]; + _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); + index += xKid.b || 0; + } +} + + + +// KEYED DIFF + + +function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) +{ + var localPatches = []; + + var changes = {}; // Dict String Entry + var inserts = []; // Array { index : Int, entry : Entry } + // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } + + var xKids = xParent.e; + var yKids = yParent.e; + var xLen = xKids.length; + var yLen = yKids.length; + var xIndex = 0; + var yIndex = 0; + + var index = rootIndex; + + while (xIndex < xLen && yIndex < yLen) + { + var x = xKids[xIndex]; + var y = yKids[yIndex]; + + var xKey = x.a; + var yKey = y.a; + var xNode = x.b; + var yNode = y.b; + + var newMatch = undefined; + var oldMatch = undefined; + + // check if keys match + + if (xKey === yKey) + { + index++; + _VirtualDom_diffHelp(xNode, yNode, localPatches, index); + index += xNode.b || 0; + + xIndex++; + yIndex++; + continue; + } + + // look ahead 1 to detect insertions and removals. + + var xNext = xKids[xIndex + 1]; + var yNext = yKids[yIndex + 1]; + + if (xNext) + { + var xNextKey = xNext.a; + var xNextNode = xNext.b; + oldMatch = yKey === xNextKey; + } + + if (yNext) + { + var yNextKey = yNext.a; + var yNextNode = yNext.b; + newMatch = xKey === yNextKey; + } + + + // swap x and y + if (newMatch && oldMatch) + { + index++; + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + // insert y + if (newMatch) + { + index++; + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + index += xNode.b || 0; + + xIndex += 1; + yIndex += 2; + continue; + } + + // remove x + if (oldMatch) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 1; + continue; + } + + // remove x, insert y + if (xNext && xNextKey === yNextKey) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + break; + } + + // eat up any remaining nodes with removeNode and insertNode + + while (xIndex < xLen) + { + index++; + var x = xKids[xIndex]; + var xNode = x.b; + _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); + index += xNode.b || 0; + xIndex++; + } + + while (yIndex < yLen) + { + var endInserts = endInserts || []; + var y = yKids[yIndex]; + _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); + yIndex++; + } + + if (localPatches.length > 0 || inserts.length > 0 || endInserts) + { + _VirtualDom_pushPatch(patches, 8, rootIndex, { + w: localPatches, + x: inserts, + y: endInserts + }); + } +} + + + +// CHANGES FROM KEYED DIFF + + +var _VirtualDom_POSTFIX = '_elmW6BL'; + + +function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + entry = { + c: 0, + z: vnode, + r: yIndex, + s: undefined + }; + + inserts.push({ r: yIndex, A: entry }); + changes[key] = entry; + + return; + } + + // this key was removed earlier, a match! + if (entry.c === 1) + { + inserts.push({ r: yIndex, A: entry }); + + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); + entry.r = yIndex; + entry.s.s = { + w: subPatches, + A: entry + }; + + return; + } + + // this key has already been inserted or moved, a duplicate! + _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); +} + + +function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); + + changes[key] = { + c: 1, + z: vnode, + r: index, + s: patch + }; + + return; + } + + // this key was inserted earlier, a match! + if (entry.c === 0) + { + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); + + _VirtualDom_pushPatch(localPatches, 9, index, { + w: subPatches, + A: entry + }); + + return; + } + + // this key has already been removed or moved, a duplicate! + _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); +} + + + +// ADD DOM NODES +// +// Each DOM node has an "index" assigned in order of traversal. It is important +// to minimize our crawl over the actual DOM, so these indexes (along with the +// descendantsCount of virtual nodes) let us skip touching entire subtrees of +// the DOM if we know there are no patches there. + + +function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) +{ + _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); +} + + +// assumes `patches` is non-empty and indexes increase monotonically. +function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) +{ + var patch = patches[i]; + var index = patch.r; + + while (index === low) + { + var patchType = patch.$; + + if (patchType === 1) + { + _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); + } + else if (patchType === 8) + { + patch.t = domNode; + patch.u = eventNode; + + var subPatches = patch.s.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + else if (patchType === 9) + { + patch.t = domNode; + patch.u = eventNode; + + var data = patch.s; + if (data) + { + data.A.s = domNode; + var subPatches = data.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + } + else + { + patch.t = domNode; + patch.u = eventNode; + } + + i++; + + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + + var tag = vNode.$; + + if (tag === 4) + { + var subNode = vNode.k; + + while (subNode.$ === 4) + { + subNode = subNode.k; + } + + return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); + } + + // tag must be 1 or 2 at this point + + var vKids = vNode.e; + var childNodes = domNode.childNodes; + for (var j = 0; j < vKids.length; j++) + { + low++; + var vKid = tag === 1 ? vKids[j] : vKids[j].b; + var nextLow = low + (vKid.b || 0); + if (low <= index && index <= nextLow) + { + i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + low = nextLow; + } + return i; +} + + + +// APPLY PATCHES + + +function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) +{ + if (patches.length === 0) + { + return rootDomNode; + } + + _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); + return _VirtualDom_applyPatchesHelp(rootDomNode, patches); +} + +function _VirtualDom_applyPatchesHelp(rootDomNode, patches) +{ + for (var i = 0; i < patches.length; i++) + { + var patch = patches[i]; + var localDomNode = patch.t + var newNode = _VirtualDom_applyPatch(localDomNode, patch); + if (localDomNode === rootDomNode) + { + rootDomNode = newNode; + } + } + return rootDomNode; +} + +function _VirtualDom_applyPatch(domNode, patch) +{ + switch (patch.$) + { + case 0: + return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); + + case 4: + _VirtualDom_applyFacts(domNode, patch.u, patch.s); + return domNode; + + case 3: + domNode.replaceData(0, domNode.length, patch.s); + return domNode; + + case 1: + return _VirtualDom_applyPatchesHelp(domNode, patch.s); + + case 2: + if (domNode.elm_event_node_ref) + { + domNode.elm_event_node_ref.j = patch.s; + } + else + { + domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; + } + return domNode; + + case 6: + var data = patch.s; + for (var i = 0; i < data.i; i++) + { + domNode.removeChild(domNode.childNodes[data.v]); + } + return domNode; + + case 7: + var data = patch.s; + var kids = data.e; + var i = data.v; + var theEnd = domNode.childNodes[i]; + for (; i < kids.length; i++) + { + domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); + } + return domNode; + + case 9: + var data = patch.s; + if (!data) + { + domNode.parentNode.removeChild(domNode); + return domNode; + } + var entry = data.A; + if (typeof entry.r !== 'undefined') + { + domNode.parentNode.removeChild(domNode); + } + entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); + return domNode; + + case 8: + return _VirtualDom_applyPatchReorder(domNode, patch); + + case 5: + return patch.s(domNode); + + default: + _Debug_crash(10); // 'Ran into an unknown patch!' + } +} + + +function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) +{ + var parentNode = domNode.parentNode; + var newNode = _VirtualDom_render(vNode, eventNode); + + if (!newNode.elm_event_node_ref) + { + newNode.elm_event_node_ref = domNode.elm_event_node_ref; + } + + if (parentNode && newNode !== domNode) + { + parentNode.replaceChild(newNode, domNode); + } + return newNode; +} + + +function _VirtualDom_applyPatchReorder(domNode, patch) +{ + var data = patch.s; + + // remove end inserts + var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); + + // removals + domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); + + // inserts + var inserts = data.x; + for (var i = 0; i < inserts.length; i++) + { + var insert = inserts[i]; + var entry = insert.A; + var node = entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u); + domNode.insertBefore(node, domNode.childNodes[insert.r]); + } + + // add end inserts + if (frag) + { + _VirtualDom_appendChild(domNode, frag); + } + + return domNode; +} + + +function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) +{ + if (!endInserts) + { + return; + } + + var frag = _VirtualDom_doc.createDocumentFragment(); + for (var i = 0; i < endInserts.length; i++) + { + var insert = endInserts[i]; + var entry = insert.A; + _VirtualDom_appendChild(frag, entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u) + ); + } + return frag; +} + + +function _VirtualDom_virtualize(node) +{ + // TEXT NODES + + if (node.nodeType === 3) + { + return _VirtualDom_text(node.textContent); + } + + + // WEIRD NODES + + if (node.nodeType !== 1) + { + return _VirtualDom_text(''); + } + + + // ELEMENT NODES + + var attrList = _List_Nil; + var attrs = node.attributes; + for (var i = attrs.length; i--; ) + { + var attr = attrs[i]; + var name = attr.name; + var value = attr.value; + attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); + } + + var tag = node.tagName.toLowerCase(); + var kidList = _List_Nil; + var kids = node.childNodes; + + for (var i = kids.length; i--; ) + { + kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); + } + return A3(_VirtualDom_node, tag, attrList, kidList); +} + +function _VirtualDom_dekey(keyedNode) +{ + var keyedKids = keyedNode.e; + var len = keyedKids.length; + var kids = new Array(len); + for (var i = 0; i < len; i++) + { + kids[i] = keyedKids[i].b; + } + + return { + $: 1, + c: keyedNode.c, + d: keyedNode.d, + e: kids, + f: keyedNode.f, + b: keyedNode.b + }; +} + + + + +// ELEMENT + + +var _Debugger_element; + +var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function(sendToApp, initialModel) { + var view = impl.view; + /**_UNUSED/ + var domNode = args['node']; + //*/ + /**/ + var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + var currNode = _VirtualDom_virtualize(domNode); + + return _Browser_makeAnimator(initialModel, function(model) + { + var nextNode = view(model); + var patches = _VirtualDom_diff(currNode, nextNode); + domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); + currNode = nextNode; + }); + } + ); +}); + + + +// DOCUMENT + + +var _Debugger_document; + +var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.init, + impl.update, + impl.subscriptions, + function(sendToApp, initialModel) { + var divertHrefToApp = impl.setup && impl.setup(sendToApp) + var view = impl.view; + var title = _VirtualDom_doc.title; + var bodyNode = _VirtualDom_doc.body; + var currNode = _VirtualDom_virtualize(bodyNode); + return _Browser_makeAnimator(initialModel, function(model) + { + _VirtualDom_divertHrefToApp = divertHrefToApp; + var doc = view(model); + var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body); + var patches = _VirtualDom_diff(currNode, nextNode); + bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); + currNode = nextNode; + _VirtualDom_divertHrefToApp = 0; + (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title); + }); + } + ); +}); + + + +// ANIMATION + + +var _Browser_cancelAnimationFrame = + typeof cancelAnimationFrame !== 'undefined' + ? cancelAnimationFrame + : function(id) { clearTimeout(id); }; + +var _Browser_requestAnimationFrame = + typeof requestAnimationFrame !== 'undefined' + ? requestAnimationFrame + : function(callback) { return setTimeout(callback, 1000 / 60); }; + + +function _Browser_makeAnimator(model, draw) +{ + draw(model); + + var state = 0; + + function updateIfNeeded() + { + state = state === 1 + ? 0 + : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); + } + + return function(nextModel, isSync) + { + model = nextModel; + + isSync + ? ( draw(model), + state === 2 && (state = 1) + ) + : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), + state = 2 + ); + }; +} + + + +// APPLICATION + + +function _Browser_application(impl) +{ + var onUrlChange = impl.onUrlChange; + var onUrlRequest = impl.onUrlRequest; + var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; + + return _Browser_document({ + setup: function(sendToApp) + { + key.a = sendToApp; + _Browser_window.addEventListener('popstate', key); + _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); + + return F2(function(domNode, event) + { + if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) + { + event.preventDefault(); + var href = domNode.href; + var curr = _Browser_getUrl(); + var next = $elm$url$Url$fromString(href).a; + sendToApp(onUrlRequest( + (next + && curr.protocol === next.protocol + && curr.host === next.host + && curr.port_.a === next.port_.a + ) + ? $elm$browser$Browser$Internal(next) + : $elm$browser$Browser$External(href) + )); + } + }); + }, + init: function(flags) + { + return A3(impl.init, flags, _Browser_getUrl(), key); + }, + view: impl.view, + update: impl.update, + subscriptions: impl.subscriptions + }); +} + +function _Browser_getUrl() +{ + return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); +} + +var _Browser_go = F2(function(key, n) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + n && history.go(n); + key(); + })); +}); + +var _Browser_pushUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.pushState({}, '', url); + key(); + })); +}); + +var _Browser_replaceUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.replaceState({}, '', url); + key(); + })); +}); + + + +// GLOBAL EVENTS + + +var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; +var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; +var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; + +var _Browser_on = F3(function(node, eventName, sendToSelf) +{ + return _Scheduler_spawn(_Scheduler_binding(function(callback) + { + function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } + node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); + return function() { node.removeEventListener(eventName, handler); }; + })); +}); + +var _Browser_decodeEvent = F2(function(decoder, event) +{ + var result = _Json_runHelp(decoder, event); + return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; +}); + + + +// PAGE VISIBILITY + + +function _Browser_visibilityInfo() +{ + return (typeof _VirtualDom_doc.hidden !== 'undefined') + ? { hidden: 'hidden', change: 'visibilitychange' } + : + (typeof _VirtualDom_doc.mozHidden !== 'undefined') + ? { hidden: 'mozHidden', change: 'mozvisibilitychange' } + : + (typeof _VirtualDom_doc.msHidden !== 'undefined') + ? { hidden: 'msHidden', change: 'msvisibilitychange' } + : + (typeof _VirtualDom_doc.webkitHidden !== 'undefined') + ? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' } + : { hidden: 'hidden', change: 'visibilitychange' }; +} + + + +// ANIMATION FRAMES + + +function _Browser_rAF() +{ + return _Scheduler_binding(function(callback) + { + var id = _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(Date.now())); + }); + + return function() { + _Browser_cancelAnimationFrame(id); + }; + }); +} + + +function _Browser_now() +{ + return _Scheduler_binding(function(callback) + { + callback(_Scheduler_succeed(Date.now())); + }); +} + + + +// DOM STUFF + + +function _Browser_withNode(id, doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + var node = document.getElementById(id); + callback(node + ? _Scheduler_succeed(doStuff(node)) + : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) + ); + }); + }); +} + + +function _Browser_withWindow(doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(doStuff())); + }); + }); +} + + +// FOCUS and BLUR + + +var _Browser_call = F2(function(functionName, id) +{ + return _Browser_withNode(id, function(node) { + node[functionName](); + return _Utils_Tuple0; + }); +}); + + + +// WINDOW VIEWPORT + + +function _Browser_getViewport() +{ + return { + scene: _Browser_getScene(), + viewport: { + x: _Browser_window.pageXOffset, + y: _Browser_window.pageYOffset, + width: _Browser_doc.documentElement.clientWidth, + height: _Browser_doc.documentElement.clientHeight + } + }; +} + +function _Browser_getScene() +{ + var body = _Browser_doc.body; + var elem = _Browser_doc.documentElement; + return { + width: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), + height: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) + }; +} + +var _Browser_setViewport = F2(function(x, y) +{ + return _Browser_withWindow(function() + { + _Browser_window.scroll(x, y); + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT VIEWPORT + + +function _Browser_getViewportOf(id) +{ + return _Browser_withNode(id, function(node) + { + return { + scene: { + width: node.scrollWidth, + height: node.scrollHeight + }, + viewport: { + x: node.scrollLeft, + y: node.scrollTop, + width: node.clientWidth, + height: node.clientHeight + } + }; + }); +} + + +var _Browser_setViewportOf = F3(function(id, x, y) +{ + return _Browser_withNode(id, function(node) + { + node.scrollLeft = x; + node.scrollTop = y; + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT + + +function _Browser_getElement(id) +{ + return _Browser_withNode(id, function(node) + { + var rect = node.getBoundingClientRect(); + var x = _Browser_window.pageXOffset; + var y = _Browser_window.pageYOffset; + return { + scene: _Browser_getScene(), + viewport: { + x: x, + y: y, + width: _Browser_doc.documentElement.clientWidth, + height: _Browser_doc.documentElement.clientHeight + }, + element: { + x: x + rect.left, + y: y + rect.top, + width: rect.width, + height: rect.height + } + }; + }); +} + + + +// LOAD and RELOAD + + +function _Browser_reload(skipCache) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + _VirtualDom_doc.location.reload(skipCache); + })); +} + +function _Browser_load(url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + try + { + _Browser_window.location = url; + } + catch(err) + { + // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. + // Other browsers reload the page, so let's be consistent about that. + _VirtualDom_doc.location.reload(false); + } + })); +} + + + +var _Bitwise_and = F2(function(a, b) +{ + return a & b; +}); + +var _Bitwise_or = F2(function(a, b) +{ + return a | b; +}); + +var _Bitwise_xor = F2(function(a, b) +{ + return a ^ b; +}); + +function _Bitwise_complement(a) +{ + return ~a; +}; + +var _Bitwise_shiftLeftBy = F2(function(offset, a) +{ + return a << offset; +}); + +var _Bitwise_shiftRightBy = F2(function(offset, a) +{ + return a >> offset; +}); + +var _Bitwise_shiftRightZfBy = F2(function(offset, a) +{ + return a >>> offset; +}); +var $elm$core$Basics$EQ = {$: 'EQ'}; +var $elm$core$Basics$GT = {$: 'GT'}; +var $elm$core$Basics$LT = {$: 'LT'}; +var $elm$core$List$cons = _List_cons; +var $elm$core$Dict$foldr = F3( + function (func, acc, t) { + foldr: + while (true) { + if (t.$ === 'RBEmpty_elm_builtin') { + return acc; + } else { + var key = t.b; + var value = t.c; + var left = t.d; + var right = t.e; + var $temp$func = func, + $temp$acc = A3( + func, + key, + value, + A3($elm$core$Dict$foldr, func, acc, right)), + $temp$t = left; + func = $temp$func; + acc = $temp$acc; + t = $temp$t; + continue foldr; + } + } + }); +var $elm$core$Dict$toList = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, list) { + return A2( + $elm$core$List$cons, + _Utils_Tuple2(key, value), + list); + }), + _List_Nil, + dict); +}; +var $elm$core$Dict$keys = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, keyList) { + return A2($elm$core$List$cons, key, keyList); + }), + _List_Nil, + dict); +}; +var $elm$core$Set$toList = function (_v0) { + var dict = _v0.a; + return $elm$core$Dict$keys(dict); +}; +var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; +var $elm$core$Array$foldr = F3( + function (func, baseCase, _v0) { + var tree = _v0.c; + var tail = _v0.d; + var helper = F2( + function (node, acc) { + if (node.$ === 'SubTree') { + var subTree = node.a; + return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); + } else { + var values = node.a; + return A3($elm$core$Elm$JsArray$foldr, func, acc, values); + } + }); + return A3( + $elm$core$Elm$JsArray$foldr, + helper, + A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), + tree); + }); +var $elm$core$Array$toList = function (array) { + return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); +}; +var $elm$core$Result$Err = function (a) { + return {$: 'Err', a: a}; +}; +var $elm$json$Json$Decode$Failure = F2( + function (a, b) { + return {$: 'Failure', a: a, b: b}; + }); +var $elm$json$Json$Decode$Field = F2( + function (a, b) { + return {$: 'Field', a: a, b: b}; + }); +var $elm$json$Json$Decode$Index = F2( + function (a, b) { + return {$: 'Index', a: a, b: b}; + }); +var $elm$core$Result$Ok = function (a) { + return {$: 'Ok', a: a}; +}; +var $elm$json$Json$Decode$OneOf = function (a) { + return {$: 'OneOf', a: a}; +}; +var $elm$core$Basics$False = {$: 'False'}; +var $elm$core$Basics$add = _Basics_add; +var $elm$core$Maybe$Just = function (a) { + return {$: 'Just', a: a}; +}; +var $elm$core$Maybe$Nothing = {$: 'Nothing'}; +var $elm$core$String$all = _String_all; +var $elm$core$Basics$and = _Basics_and; +var $elm$core$Basics$append = _Utils_append; +var $elm$json$Json$Encode$encode = _Json_encode; +var $elm$core$String$fromInt = _String_fromNumber; +var $elm$core$String$join = F2( + function (sep, chunks) { + return A2( + _String_join, + sep, + _List_toArray(chunks)); + }); +var $elm$core$String$split = F2( + function (sep, string) { + return _List_fromArray( + A2(_String_split, sep, string)); + }); +var $elm$json$Json$Decode$indent = function (str) { + return A2( + $elm$core$String$join, + '\n ', + A2($elm$core$String$split, '\n', str)); +}; +var $elm$core$List$foldl = F3( + function (func, acc, list) { + foldl: + while (true) { + if (!list.b) { + return acc; + } else { + var x = list.a; + var xs = list.b; + var $temp$func = func, + $temp$acc = A2(func, x, acc), + $temp$list = xs; + func = $temp$func; + acc = $temp$acc; + list = $temp$list; + continue foldl; + } + } + }); +var $elm$core$List$length = function (xs) { + return A3( + $elm$core$List$foldl, + F2( + function (_v0, i) { + return i + 1; + }), + 0, + xs); +}; +var $elm$core$List$map2 = _List_map2; +var $elm$core$Basics$le = _Utils_le; +var $elm$core$Basics$sub = _Basics_sub; +var $elm$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_Utils_cmp(lo, hi) < 1) { + var $temp$lo = lo, + $temp$hi = hi - 1, + $temp$list = A2($elm$core$List$cons, hi, list); + lo = $temp$lo; + hi = $temp$hi; + list = $temp$list; + continue rangeHelp; + } else { + return list; + } + } + }); +var $elm$core$List$range = F2( + function (lo, hi) { + return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); + }); +var $elm$core$List$indexedMap = F2( + function (f, xs) { + return A3( + $elm$core$List$map2, + f, + A2( + $elm$core$List$range, + 0, + $elm$core$List$length(xs) - 1), + xs); + }); +var $elm$core$Char$toCode = _Char_toCode; +var $elm$core$Char$isLower = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (97 <= code) && (code <= 122); +}; +var $elm$core$Char$isUpper = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 90) && (65 <= code); +}; +var $elm$core$Basics$or = _Basics_or; +var $elm$core$Char$isAlpha = function (_char) { + return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); +}; +var $elm$core$Char$isDigit = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 57) && (48 <= code); +}; +var $elm$core$Char$isAlphaNum = function (_char) { + return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); +}; +var $elm$core$List$reverse = function (list) { + return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); +}; +var $elm$core$String$uncons = _String_uncons; +var $elm$json$Json$Decode$errorOneOf = F2( + function (i, error) { + return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( + $elm$json$Json$Decode$errorToString(error)))); + }); +var $elm$json$Json$Decode$errorToString = function (error) { + return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); +}; +var $elm$json$Json$Decode$errorToStringHelp = F2( + function (error, context) { + errorToStringHelp: + while (true) { + switch (error.$) { + case 'Field': + var f = error.a; + var err = error.b; + var isSimple = function () { + var _v1 = $elm$core$String$uncons(f); + if (_v1.$ === 'Nothing') { + return false; + } else { + var _v2 = _v1.a; + var _char = _v2.a; + var rest = _v2.b; + return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); + } + }(); + var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, fieldName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 'Index': + var i = error.a; + var err = error.b; + var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, indexName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 'OneOf': + var errors = error.a; + if (!errors.b) { + return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { + if (!context.b) { + return '!'; + } else { + return ' at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + } else { + if (!errors.b.b) { + var err = errors.a; + var $temp$error = err, + $temp$context = context; + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + } else { + var starter = function () { + if (!context.b) { + return 'Json.Decode.oneOf'; + } else { + return 'The Json.Decode.oneOf at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( + $elm$core$List$length(errors)) + ' ways:')); + return A2( + $elm$core$String$join, + '\n\n', + A2( + $elm$core$List$cons, + introduction, + A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); + } + } + default: + var msg = error.a; + var json = error.b; + var introduction = function () { + if (!context.b) { + return 'Problem with the given value:\n\n'; + } else { + return 'Problem with the value at json' + (A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)) + ':\n\n '); + } + }(); + return introduction + ($elm$json$Json$Decode$indent( + A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); + } + } + }); +var $elm$core$Array$branchFactor = 32; +var $elm$core$Array$Array_elm_builtin = F4( + function (a, b, c, d) { + return {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d}; + }); +var $elm$core$Elm$JsArray$empty = _JsArray_empty; +var $elm$core$Basics$ceiling = _Basics_ceiling; +var $elm$core$Basics$fdiv = _Basics_fdiv; +var $elm$core$Basics$logBase = F2( + function (base, number) { + return _Basics_log(number) / _Basics_log(base); + }); +var $elm$core$Basics$toFloat = _Basics_toFloat; +var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( + A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); +var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty); +var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; +var $elm$core$Array$Leaf = function (a) { + return {$: 'Leaf', a: a}; +}; +var $elm$core$Basics$apL = F2( + function (f, x) { + return f(x); + }); +var $elm$core$Basics$apR = F2( + function (x, f) { + return f(x); + }); +var $elm$core$Basics$eq = _Utils_equal; +var $elm$core$Basics$floor = _Basics_floor; +var $elm$core$Elm$JsArray$length = _JsArray_length; +var $elm$core$Basics$gt = _Utils_gt; +var $elm$core$Basics$max = F2( + function (x, y) { + return (_Utils_cmp(x, y) > 0) ? x : y; + }); +var $elm$core$Basics$mul = _Basics_mul; +var $elm$core$Array$SubTree = function (a) { + return {$: 'SubTree', a: a}; +}; +var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; +var $elm$core$Array$compressNodes = F2( + function (nodes, acc) { + compressNodes: + while (true) { + var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); + var node = _v0.a; + var remainingNodes = _v0.b; + var newAcc = A2( + $elm$core$List$cons, + $elm$core$Array$SubTree(node), + acc); + if (!remainingNodes.b) { + return $elm$core$List$reverse(newAcc); + } else { + var $temp$nodes = remainingNodes, + $temp$acc = newAcc; + nodes = $temp$nodes; + acc = $temp$acc; + continue compressNodes; + } + } + }); +var $elm$core$Tuple$first = function (_v0) { + var x = _v0.a; + return x; +}; +var $elm$core$Array$treeFromBuilder = F2( + function (nodeList, nodeListSize) { + treeFromBuilder: + while (true) { + var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); + if (newNodeSize === 1) { + return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; + } else { + var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), + $temp$nodeListSize = newNodeSize; + nodeList = $temp$nodeList; + nodeListSize = $temp$nodeListSize; + continue treeFromBuilder; + } + } + }); +var $elm$core$Array$builderToArray = F2( + function (reverseNodeList, builder) { + if (!builder.nodeListSize) { + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.tail), + $elm$core$Array$shiftStep, + $elm$core$Elm$JsArray$empty, + builder.tail); + } else { + var treeLen = builder.nodeListSize * $elm$core$Array$branchFactor; + var depth = $elm$core$Basics$floor( + A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); + var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList; + var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize); + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.tail) + treeLen, + A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), + tree, + builder.tail); + } + }); +var $elm$core$Basics$idiv = _Basics_idiv; +var $elm$core$Basics$lt = _Utils_lt; +var $elm$core$Array$initializeHelp = F5( + function (fn, fromIndex, len, nodeList, tail) { + initializeHelp: + while (true) { + if (fromIndex < 0) { + return A2( + $elm$core$Array$builderToArray, + false, + {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail}); + } else { + var leaf = $elm$core$Array$Leaf( + A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); + var $temp$fn = fn, + $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, + $temp$len = len, + $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), + $temp$tail = tail; + fn = $temp$fn; + fromIndex = $temp$fromIndex; + len = $temp$len; + nodeList = $temp$nodeList; + tail = $temp$tail; + continue initializeHelp; + } + } + }); +var $elm$core$Basics$remainderBy = _Basics_remainderBy; +var $elm$core$Array$initialize = F2( + function (len, fn) { + if (len <= 0) { + return $elm$core$Array$empty; + } else { + var tailLen = len % $elm$core$Array$branchFactor; + var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); + var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; + return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); + } + }); +var $elm$core$Basics$True = {$: 'True'}; +var $elm$core$Result$isOk = function (result) { + if (result.$ === 'Ok') { + return true; + } else { + return false; + } +}; +var $elm$json$Json$Decode$map = _Json_map1; +var $elm$json$Json$Decode$map2 = _Json_map2; +var $elm$json$Json$Decode$succeed = _Json_succeed; +var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { + switch (handler.$) { + case 'Normal': + return 0; + case 'MayStopPropagation': + return 1; + case 'MayPreventDefault': + return 2; + default: + return 3; + } +}; +var $elm$browser$Browser$External = function (a) { + return {$: 'External', a: a}; +}; +var $elm$browser$Browser$Internal = function (a) { + return {$: 'Internal', a: a}; +}; +var $elm$core$Basics$identity = function (x) { + return x; +}; +var $elm$browser$Browser$Dom$NotFound = function (a) { + return {$: 'NotFound', a: a}; +}; +var $elm$url$Url$Http = {$: 'Http'}; +var $elm$url$Url$Https = {$: 'Https'}; +var $elm$url$Url$Url = F6( + function (protocol, host, port_, path, query, fragment) { + return {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query}; + }); +var $elm$core$String$contains = _String_contains; +var $elm$core$String$length = _String_length; +var $elm$core$String$slice = _String_slice; +var $elm$core$String$dropLeft = F2( + function (n, string) { + return (n < 1) ? string : A3( + $elm$core$String$slice, + n, + $elm$core$String$length(string), + string); + }); +var $elm$core$String$indexes = _String_indexes; +var $elm$core$String$isEmpty = function (string) { + return string === ''; +}; +var $elm$core$String$left = F2( + function (n, string) { + return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); + }); +var $elm$core$String$toInt = _String_toInt; +var $elm$url$Url$chompBeforePath = F5( + function (protocol, path, params, frag, str) { + if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, ':', str); + if (!_v0.b) { + return $elm$core$Maybe$Just( + A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); + } else { + if (!_v0.b.b) { + var i = _v0.a; + var _v1 = $elm$core$String$toInt( + A2($elm$core$String$dropLeft, i + 1, str)); + if (_v1.$ === 'Nothing') { + return $elm$core$Maybe$Nothing; + } else { + var port_ = _v1; + return $elm$core$Maybe$Just( + A6( + $elm$url$Url$Url, + protocol, + A2($elm$core$String$left, i, str), + port_, + path, + params, + frag)); + } + } else { + return $elm$core$Maybe$Nothing; + } + } + } + }); +var $elm$url$Url$chompBeforeQuery = F4( + function (protocol, params, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '/', str); + if (!_v0.b) { + return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); + } else { + var i = _v0.a; + return A5( + $elm$url$Url$chompBeforePath, + protocol, + A2($elm$core$String$dropLeft, i, str), + params, + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompBeforeFragment = F3( + function (protocol, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '?', str); + if (!_v0.b) { + return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); + } else { + var i = _v0.a; + return A4( + $elm$url$Url$chompBeforeQuery, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompAfterProtocol = F2( + function (protocol, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '#', str); + if (!_v0.b) { + return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); + } else { + var i = _v0.a; + return A3( + $elm$url$Url$chompBeforeFragment, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$core$String$startsWith = _String_startsWith; +var $elm$url$Url$fromString = function (str) { + return A2($elm$core$String$startsWith, 'http://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + $elm$url$Url$Http, + A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + $elm$url$Url$Https, + A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); +}; +var $elm$core$Basics$never = function (_v0) { + never: + while (true) { + var nvr = _v0.a; + var $temp$_v0 = nvr; + _v0 = $temp$_v0; + continue never; + } +}; +var $elm$core$Task$Perform = function (a) { + return {$: 'Perform', a: a}; +}; +var $elm$core$Task$succeed = _Scheduler_succeed; +var $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0); +var $elm$core$List$foldrHelper = F4( + function (fn, acc, ctr, ls) { + if (!ls.b) { + return acc; + } else { + var a = ls.a; + var r1 = ls.b; + if (!r1.b) { + return A2(fn, a, acc); + } else { + var b = r1.a; + var r2 = r1.b; + if (!r2.b) { + return A2( + fn, + a, + A2(fn, b, acc)); + } else { + var c = r2.a; + var r3 = r2.b; + if (!r3.b) { + return A2( + fn, + a, + A2( + fn, + b, + A2(fn, c, acc))); + } else { + var d = r3.a; + var r4 = r3.b; + var res = (ctr > 500) ? A3( + $elm$core$List$foldl, + fn, + acc, + $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); + return A2( + fn, + a, + A2( + fn, + b, + A2( + fn, + c, + A2(fn, d, res)))); + } + } + } + } + }); +var $elm$core$List$foldr = F3( + function (fn, acc, ls) { + return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); + }); +var $elm$core$List$map = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + F2( + function (x, acc) { + return A2( + $elm$core$List$cons, + f(x), + acc); + }), + _List_Nil, + xs); + }); +var $elm$core$Task$andThen = _Scheduler_andThen; +var $elm$core$Task$map = F2( + function (func, taskA) { + return A2( + $elm$core$Task$andThen, + function (a) { + return $elm$core$Task$succeed( + func(a)); + }, + taskA); + }); +var $elm$core$Task$map2 = F3( + function (func, taskA, taskB) { + return A2( + $elm$core$Task$andThen, + function (a) { + return A2( + $elm$core$Task$andThen, + function (b) { + return $elm$core$Task$succeed( + A2(func, a, b)); + }, + taskB); + }, + taskA); + }); +var $elm$core$Task$sequence = function (tasks) { + return A3( + $elm$core$List$foldr, + $elm$core$Task$map2($elm$core$List$cons), + $elm$core$Task$succeed(_List_Nil), + tasks); +}; +var $elm$core$Platform$sendToApp = _Platform_sendToApp; +var $elm$core$Task$spawnCmd = F2( + function (router, _v0) { + var task = _v0.a; + return _Scheduler_spawn( + A2( + $elm$core$Task$andThen, + $elm$core$Platform$sendToApp(router), + task)); + }); +var $elm$core$Task$onEffects = F3( + function (router, commands, state) { + return A2( + $elm$core$Task$map, + function (_v0) { + return _Utils_Tuple0; + }, + $elm$core$Task$sequence( + A2( + $elm$core$List$map, + $elm$core$Task$spawnCmd(router), + commands))); + }); +var $elm$core$Task$onSelfMsg = F3( + function (_v0, _v1, _v2) { + return $elm$core$Task$succeed(_Utils_Tuple0); + }); +var $elm$core$Task$cmdMap = F2( + function (tagger, _v0) { + var task = _v0.a; + return $elm$core$Task$Perform( + A2($elm$core$Task$map, tagger, task)); + }); +_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); +var $elm$core$Task$command = _Platform_leaf('Task'); +var $elm$core$Task$perform = F2( + function (toMessage, task) { + return $elm$core$Task$command( + $elm$core$Task$Perform( + A2($elm$core$Task$map, toMessage, task))); + }); +var $elm$browser$Browser$element = _Browser_element; +var $author$project$Emoji$Recent = {$: 'Recent'}; +var $elm$core$Platform$Cmd$batch = _Platform_batch; +var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); +var $author$project$Main$init = function (_v0) { + return _Utils_Tuple2( + {category: $author$project$Emoji$Recent}, + $elm$core$Platform$Cmd$none); +}; +var $elm$core$Platform$Sub$batch = _Platform_batch; +var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil); +var $elm$json$Json$Encode$string = _Json_wrap; +var $author$project$Main$copy = _Platform_outgoingPort('copy', $elm$json$Json$Encode$string); +var $author$project$Main$update = F2( + function (msg, model) { + if (msg.$ === 'CategoryClicked') { + var category = msg.a; + return _Utils_Tuple2( + _Utils_update( + model, + {category: category}), + $elm$core$Platform$Cmd$none); + } else { + var c = msg.a; + return _Utils_Tuple2( + model, + $author$project$Main$copy(c)); + } + }); +var $mdgriffith$elm_ui$Internal$Model$Unkeyed = function (a) { + return {$: 'Unkeyed', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$AsColumn = {$: 'AsColumn'}; +var $mdgriffith$elm_ui$Internal$Model$asColumn = $mdgriffith$elm_ui$Internal$Model$AsColumn; +var $mdgriffith$elm_ui$Internal$Style$classes = {above: 'a', active: 'atv', alignBottom: 'ab', alignCenterX: 'cx', alignCenterY: 'cy', alignContainerBottom: 'acb', alignContainerCenterX: 'accx', alignContainerCenterY: 'accy', alignContainerRight: 'acr', alignLeft: 'al', alignRight: 'ar', alignTop: 'at', alignedHorizontally: 'ah', alignedVertically: 'av', any: 's', behind: 'bh', below: 'b', bold: 'w7', borderDashed: 'bd', borderDotted: 'bdt', borderNone: 'bn', borderSolid: 'bs', capturePointerEvents: 'cpe', clip: 'cp', clipX: 'cpx', clipY: 'cpy', column: 'c', container: 'ctr', contentBottom: 'cb', contentCenterX: 'ccx', contentCenterY: 'ccy', contentLeft: 'cl', contentRight: 'cr', contentTop: 'ct', cursorPointer: 'cptr', cursorText: 'ctxt', focus: 'fcs', focusedWithin: 'focus-within', fullSize: 'fs', grid: 'g', hasBehind: 'hbh', heightContent: 'hc', heightExact: 'he', heightFill: 'hf', heightFillPortion: 'hfp', hover: 'hv', imageContainer: 'ic', inFront: 'fr', inputLabel: 'lbl', inputMultiline: 'iml', inputMultilineFiller: 'imlf', inputMultilineParent: 'imlp', inputMultilineWrapper: 'implw', inputText: 'it', italic: 'i', link: 'lnk', nearby: 'nb', noTextSelection: 'notxt', onLeft: 'ol', onRight: 'or', opaque: 'oq', overflowHidden: 'oh', page: 'pg', paragraph: 'p', passPointerEvents: 'ppe', root: 'ui', row: 'r', scrollbars: 'sb', scrollbarsX: 'sbx', scrollbarsY: 'sby', seButton: 'sbt', single: 'e', sizeByCapital: 'cap', spaceEvenly: 'sev', strike: 'sk', text: 't', textCenter: 'tc', textExtraBold: 'w8', textExtraLight: 'w2', textHeavy: 'w9', textJustify: 'tj', textJustifyAll: 'tja', textLeft: 'tl', textLight: 'w3', textMedium: 'w5', textNormalWeight: 'w4', textRight: 'tr', textSemiBold: 'w6', textThin: 'w1', textUnitalicized: 'tun', transition: 'ts', transparent: 'clr', underline: 'u', widthContent: 'wc', widthExact: 'we', widthFill: 'wf', widthFillPortion: 'wfp', wrapped: 'wrp'}; +var $mdgriffith$elm_ui$Internal$Model$Generic = {$: 'Generic'}; +var $mdgriffith$elm_ui$Internal$Model$div = $mdgriffith$elm_ui$Internal$Model$Generic; +var $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren = {$: 'NoNearbyChildren'}; +var $mdgriffith$elm_ui$Internal$Model$columnClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.column); +var $mdgriffith$elm_ui$Internal$Model$gridClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.grid); +var $mdgriffith$elm_ui$Internal$Model$pageClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.page); +var $mdgriffith$elm_ui$Internal$Model$paragraphClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.paragraph); +var $mdgriffith$elm_ui$Internal$Model$rowClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.row); +var $mdgriffith$elm_ui$Internal$Model$singleClass = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.single); +var $mdgriffith$elm_ui$Internal$Model$contextClasses = function (context) { + switch (context.$) { + case 'AsRow': + return $mdgriffith$elm_ui$Internal$Model$rowClass; + case 'AsColumn': + return $mdgriffith$elm_ui$Internal$Model$columnClass; + case 'AsEl': + return $mdgriffith$elm_ui$Internal$Model$singleClass; + case 'AsGrid': + return $mdgriffith$elm_ui$Internal$Model$gridClass; + case 'AsParagraph': + return $mdgriffith$elm_ui$Internal$Model$paragraphClass; + default: + return $mdgriffith$elm_ui$Internal$Model$pageClass; + } +}; +var $mdgriffith$elm_ui$Internal$Model$Keyed = function (a) { + return {$: 'Keyed', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$NoStyleSheet = {$: 'NoStyleSheet'}; +var $mdgriffith$elm_ui$Internal$Model$Styled = function (a) { + return {$: 'Styled', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$Unstyled = function (a) { + return {$: 'Unstyled', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$addChildren = F2( + function (existing, nearbyChildren) { + switch (nearbyChildren.$) { + case 'NoNearbyChildren': + return existing; + case 'ChildrenBehind': + var behind = nearbyChildren.a; + return _Utils_ap(behind, existing); + case 'ChildrenInFront': + var inFront = nearbyChildren.a; + return _Utils_ap(existing, inFront); + default: + var behind = nearbyChildren.a; + var inFront = nearbyChildren.b; + return _Utils_ap( + behind, + _Utils_ap(existing, inFront)); + } + }); +var $mdgriffith$elm_ui$Internal$Model$addKeyedChildren = F3( + function (key, existing, nearbyChildren) { + switch (nearbyChildren.$) { + case 'NoNearbyChildren': + return existing; + case 'ChildrenBehind': + var behind = nearbyChildren.a; + return _Utils_ap( + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + behind), + existing); + case 'ChildrenInFront': + var inFront = nearbyChildren.a; + return _Utils_ap( + existing, + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + inFront)); + default: + var behind = nearbyChildren.a; + var inFront = nearbyChildren.b; + return _Utils_ap( + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + behind), + _Utils_ap( + existing, + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + inFront))); + } + }); +var $mdgriffith$elm_ui$Internal$Model$AsEl = {$: 'AsEl'}; +var $mdgriffith$elm_ui$Internal$Model$asEl = $mdgriffith$elm_ui$Internal$Model$AsEl; +var $mdgriffith$elm_ui$Internal$Model$AsParagraph = {$: 'AsParagraph'}; +var $mdgriffith$elm_ui$Internal$Model$asParagraph = $mdgriffith$elm_ui$Internal$Model$AsParagraph; +var $mdgriffith$elm_ui$Internal$Flag$Flag = function (a) { + return {$: 'Flag', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$Second = function (a) { + return {$: 'Second', a: a}; +}; +var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; +var $mdgriffith$elm_ui$Internal$Flag$flag = function (i) { + return (i > 31) ? $mdgriffith$elm_ui$Internal$Flag$Second(1 << (i - 32)) : $mdgriffith$elm_ui$Internal$Flag$Flag(1 << i); +}; +var $mdgriffith$elm_ui$Internal$Flag$alignBottom = $mdgriffith$elm_ui$Internal$Flag$flag(41); +var $mdgriffith$elm_ui$Internal$Flag$alignRight = $mdgriffith$elm_ui$Internal$Flag$flag(40); +var $mdgriffith$elm_ui$Internal$Flag$centerX = $mdgriffith$elm_ui$Internal$Flag$flag(42); +var $mdgriffith$elm_ui$Internal$Flag$centerY = $mdgriffith$elm_ui$Internal$Flag$flag(43); +var $elm$html$Html$Attributes$stringProperty = F2( + function (key, string) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$string(string)); + }); +var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); +var $elm$html$Html$div = _VirtualDom_node('div'); +var $elm$core$Set$Set_elm_builtin = function (a) { + return {$: 'Set_elm_builtin', a: a}; +}; +var $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'}; +var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; +var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty); +var $mdgriffith$elm_ui$Internal$Model$lengthClassName = function (x) { + switch (x.$) { + case 'Px': + var px = x.a; + return $elm$core$String$fromInt(px) + 'px'; + case 'Content': + return 'auto'; + case 'Fill': + var i = x.a; + return $elm$core$String$fromInt(i) + 'fr'; + case 'Min': + var min = x.a; + var len = x.b; + return 'min' + ($elm$core$String$fromInt(min) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); + default: + var max = x.a; + var len = x.b; + return 'max' + ($elm$core$String$fromInt(max) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); + } +}; +var $elm$core$Tuple$second = function (_v0) { + var y = _v0.b; + return y; +}; +var $elm$core$Basics$round = _Basics_round; +var $mdgriffith$elm_ui$Internal$Model$floatClass = function (x) { + return $elm$core$String$fromInt( + $elm$core$Basics$round(x * 255)); +}; +var $mdgriffith$elm_ui$Internal$Model$transformClass = function (transform) { + switch (transform.$) { + case 'Untransformed': + return $elm$core$Maybe$Nothing; + case 'Moved': + var _v1 = transform.a; + var x = _v1.a; + var y = _v1.b; + var z = _v1.c; + return $elm$core$Maybe$Just( + 'mv-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(x) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(y) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(z)))))); + default: + var _v2 = transform.a; + var tx = _v2.a; + var ty = _v2.b; + var tz = _v2.c; + var _v3 = transform.b; + var sx = _v3.a; + var sy = _v3.b; + var sz = _v3.c; + var _v4 = transform.c; + var ox = _v4.a; + var oy = _v4.b; + var oz = _v4.c; + var angle = transform.d; + return $elm$core$Maybe$Just( + 'tfrm-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ty) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ox) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oz) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(angle)))))))))))))))))))); + } +}; +var $elm$core$Maybe$withDefault = F2( + function (_default, maybe) { + if (maybe.$ === 'Just') { + var value = maybe.a; + return value; + } else { + return _default; + } + }); +var $mdgriffith$elm_ui$Internal$Model$getStyleName = function (style) { + switch (style.$) { + case 'Shadows': + var name = style.a; + return name; + case 'Transparency': + var name = style.a; + var o = style.b; + return name; + case 'Style': + var _class = style.a; + return _class; + case 'FontFamily': + var name = style.a; + return name; + case 'FontSize': + var i = style.a; + return 'font-size-' + $elm$core$String$fromInt(i); + case 'Single': + var _class = style.a; + return _class; + case 'Colored': + var _class = style.a; + return _class; + case 'SpacingStyle': + var cls = style.a; + var x = style.b; + var y = style.c; + return cls; + case 'PaddingStyle': + var cls = style.a; + var top = style.b; + var right = style.c; + var bottom = style.d; + var left = style.e; + return cls; + case 'BorderWidth': + var cls = style.a; + var top = style.b; + var right = style.c; + var bottom = style.d; + var left = style.e; + return cls; + case 'GridTemplateStyle': + var template = style.a; + return 'grid-rows-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.rows)) + ('-cols-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.columns)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.spacing.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.spacing.b))))))); + case 'GridPosition': + var pos = style.a; + return 'gp grid-pos-' + ($elm$core$String$fromInt(pos.row) + ('-' + ($elm$core$String$fromInt(pos.col) + ('-' + ($elm$core$String$fromInt(pos.width) + ('-' + $elm$core$String$fromInt(pos.height))))))); + case 'PseudoSelector': + var selector = style.a; + var subStyle = style.b; + var name = function () { + switch (selector.$) { + case 'Focus': + return 'fs'; + case 'Hover': + return 'hv'; + default: + return 'act'; + } + }(); + return A2( + $elm$core$String$join, + ' ', + A2( + $elm$core$List$map, + function (sty) { + var _v1 = $mdgriffith$elm_ui$Internal$Model$getStyleName(sty); + if (_v1 === '') { + return ''; + } else { + var styleName = _v1; + return styleName + ('-' + name); + } + }, + subStyle)); + default: + var x = style.a; + return A2( + $elm$core$Maybe$withDefault, + '', + $mdgriffith$elm_ui$Internal$Model$transformClass(x)); + } +}; +var $elm$core$Dict$Black = {$: 'Black'}; +var $elm$core$Dict$RBNode_elm_builtin = F5( + function (a, b, c, d, e) { + return {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e}; + }); +var $elm$core$Dict$Red = {$: 'Red'}; +var $elm$core$Dict$balance = F5( + function (color, key, value, left, right) { + if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) { + var _v1 = right.a; + var rK = right.b; + var rV = right.c; + var rLeft = right.d; + var rRight = right.e; + if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) { + var _v3 = left.a; + var lK = left.b; + var lV = left.c; + var lLeft = left.d; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + $elm$core$Dict$Red, + key, + value, + A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight)); + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + rK, + rV, + A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft), + rRight); + } + } else { + if ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) { + var _v5 = left.a; + var lK = left.b; + var lV = left.c; + var _v6 = left.d; + var _v7 = _v6.a; + var llK = _v6.b; + var llV = _v6.c; + var llLeft = _v6.d; + var llRight = _v6.e; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + $elm$core$Dict$Red, + lK, + lV, + A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight), + A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right)); + } else { + return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); + } + } + }); +var $elm$core$Basics$compare = _Utils_compare; +var $elm$core$Dict$insertHelp = F3( + function (key, value, dict) { + if (dict.$ === 'RBEmpty_elm_builtin') { + return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); + } else { + var nColor = dict.a; + var nKey = dict.b; + var nValue = dict.c; + var nLeft = dict.d; + var nRight = dict.e; + var _v1 = A2($elm$core$Basics$compare, key, nKey); + switch (_v1.$) { + case 'LT': + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + A3($elm$core$Dict$insertHelp, key, value, nLeft), + nRight); + case 'EQ': + return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); + default: + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + nLeft, + A3($elm$core$Dict$insertHelp, key, value, nRight)); + } + } + }); +var $elm$core$Dict$insert = F3( + function (key, value, dict) { + var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); + if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) { + var _v1 = _v0.a; + var k = _v0.b; + var v = _v0.c; + var l = _v0.d; + var r = _v0.e; + return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r); + } else { + var x = _v0; + return x; + } + }); +var $elm$core$Set$insert = F2( + function (key, _v0) { + var dict = _v0.a; + return $elm$core$Set$Set_elm_builtin( + A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict)); + }); +var $elm$core$Dict$get = F2( + function (targetKey, dict) { + get: + while (true) { + if (dict.$ === 'RBEmpty_elm_builtin') { + return $elm$core$Maybe$Nothing; + } else { + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + var _v1 = A2($elm$core$Basics$compare, targetKey, key); + switch (_v1.$) { + case 'LT': + var $temp$targetKey = targetKey, + $temp$dict = left; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + case 'EQ': + return $elm$core$Maybe$Just(value); + default: + var $temp$targetKey = targetKey, + $temp$dict = right; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + } + } + } + }); +var $elm$core$Dict$member = F2( + function (key, dict) { + var _v0 = A2($elm$core$Dict$get, key, dict); + if (_v0.$ === 'Just') { + return true; + } else { + return false; + } + }); +var $elm$core$Set$member = F2( + function (key, _v0) { + var dict = _v0.a; + return A2($elm$core$Dict$member, key, dict); + }); +var $mdgriffith$elm_ui$Internal$Model$reduceStyles = F2( + function (style, nevermind) { + var cache = nevermind.a; + var existing = nevermind.b; + var styleName = $mdgriffith$elm_ui$Internal$Model$getStyleName(style); + return A2($elm$core$Set$member, styleName, cache) ? nevermind : _Utils_Tuple2( + A2($elm$core$Set$insert, styleName, cache), + A2($elm$core$List$cons, style, existing)); + }); +var $mdgriffith$elm_ui$Internal$Model$Property = F2( + function (a, b) { + return {$: 'Property', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$Style = F2( + function (a, b) { + return {$: 'Style', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$dot = function (c) { + return '.' + c; +}; +var $elm$core$List$maybeCons = F3( + function (f, mx, xs) { + var _v0 = f(mx); + if (_v0.$ === 'Just') { + var x = _v0.a; + return A2($elm$core$List$cons, x, xs); + } else { + return xs; + } + }); +var $elm$core$List$filterMap = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + $elm$core$List$maybeCons(f), + _List_Nil, + xs); + }); +var $elm$core$String$fromFloat = _String_fromNumber; +var $mdgriffith$elm_ui$Internal$Model$formatColor = function (_v0) { + var red = _v0.a; + var green = _v0.b; + var blue = _v0.c; + var alpha = _v0.d; + return 'rgba(' + ($elm$core$String$fromInt( + $elm$core$Basics$round(red * 255)) + ((',' + $elm$core$String$fromInt( + $elm$core$Basics$round(green * 255))) + ((',' + $elm$core$String$fromInt( + $elm$core$Basics$round(blue * 255))) + (',' + ($elm$core$String$fromFloat(alpha) + ')'))))); +}; +var $mdgriffith$elm_ui$Internal$Model$formatBoxShadow = function (shadow) { + return A2( + $elm$core$String$join, + ' ', + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + shadow.inset ? $elm$core$Maybe$Just('inset') : $elm$core$Maybe$Nothing, + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.offset.a) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.offset.b) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.blur) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.size) + 'px'), + $elm$core$Maybe$Just( + $mdgriffith$elm_ui$Internal$Model$formatColor(shadow.color)) + ]))); +}; +var $elm$core$Maybe$map = F2( + function (f, maybe) { + if (maybe.$ === 'Just') { + var value = maybe.a; + return $elm$core$Maybe$Just( + f(value)); + } else { + return $elm$core$Maybe$Nothing; + } + }); +var $elm$core$Tuple$mapFirst = F2( + function (func, _v0) { + var x = _v0.a; + var y = _v0.b; + return _Utils_Tuple2( + func(x), + y); + }); +var $elm$core$Tuple$mapSecond = F2( + function (func, _v0) { + var x = _v0.a; + var y = _v0.b; + return _Utils_Tuple2( + x, + func(y)); + }); +var $mdgriffith$elm_ui$Internal$Model$renderFocusStyle = function (focus) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Style, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.focusedWithin) + ':focus-within', + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.borderColor), + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'background-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.backgroundColor), + A2( + $elm$core$Maybe$map, + function (shadow) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'box-shadow', + $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( + { + blur: shadow.blur, + color: shadow.color, + inset: false, + offset: A2( + $elm$core$Tuple$mapSecond, + $elm$core$Basics$toFloat, + A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.offset)), + size: shadow.size + })); + }, + focus.shadow), + $elm$core$Maybe$Just( + A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) + ]))), + A2( + $mdgriffith$elm_ui$Internal$Model$Style, + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ':focus .focusable, ') + (($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + '.focusable:focus, ') + ('.ui-slide-bar:focus + ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ' .focusable-thumb'))), + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.borderColor), + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'background-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.backgroundColor), + A2( + $elm$core$Maybe$map, + function (shadow) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'box-shadow', + $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( + { + blur: shadow.blur, + color: shadow.color, + inset: false, + offset: A2( + $elm$core$Tuple$mapSecond, + $elm$core$Basics$toFloat, + A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.offset)), + size: shadow.size + })); + }, + focus.shadow), + $elm$core$Maybe$Just( + A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) + ]))) + ]); +}; +var $elm$virtual_dom$VirtualDom$node = function (tag) { + return _VirtualDom_node( + _VirtualDom_noScript(tag)); +}; +var $elm$virtual_dom$VirtualDom$property = F2( + function (key, value) { + return A2( + _VirtualDom_property, + _VirtualDom_noInnerHtmlOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $mdgriffith$elm_ui$Internal$Style$AllChildren = F2( + function (a, b) { + return {$: 'AllChildren', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Batch = function (a) { + return {$: 'Batch', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Style$Child = F2( + function (a, b) { + return {$: 'Child', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Class = F2( + function (a, b) { + return {$: 'Class', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Descriptor = F2( + function (a, b) { + return {$: 'Descriptor', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Left = {$: 'Left'}; +var $mdgriffith$elm_ui$Internal$Style$Prop = F2( + function (a, b) { + return {$: 'Prop', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Right = {$: 'Right'}; +var $mdgriffith$elm_ui$Internal$Style$Self = function (a) { + return {$: 'Self', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Style$Supports = F2( + function (a, b) { + return {$: 'Supports', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Content = function (a) { + return {$: 'Content', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Style$Bottom = {$: 'Bottom'}; +var $mdgriffith$elm_ui$Internal$Style$CenterX = {$: 'CenterX'}; +var $mdgriffith$elm_ui$Internal$Style$CenterY = {$: 'CenterY'}; +var $mdgriffith$elm_ui$Internal$Style$Top = {$: 'Top'}; +var $mdgriffith$elm_ui$Internal$Style$alignments = _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$Top, $mdgriffith$elm_ui$Internal$Style$Bottom, $mdgriffith$elm_ui$Internal$Style$Right, $mdgriffith$elm_ui$Internal$Style$Left, $mdgriffith$elm_ui$Internal$Style$CenterX, $mdgriffith$elm_ui$Internal$Style$CenterY]); +var $elm$core$List$append = F2( + function (xs, ys) { + if (!ys.b) { + return xs; + } else { + return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); + } + }); +var $elm$core$List$concat = function (lists) { + return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); +}; +var $elm$core$List$concatMap = F2( + function (f, list) { + return $elm$core$List$concat( + A2($elm$core$List$map, f, list)); + }); +var $mdgriffith$elm_ui$Internal$Style$contentName = function (desc) { + switch (desc.a.$) { + case 'Top': + var _v1 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentTop); + case 'Bottom': + var _v2 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentBottom); + case 'Right': + var _v3 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentRight); + case 'Left': + var _v4 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentLeft); + case 'CenterX': + var _v5 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentCenterX); + default: + var _v6 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.contentCenterY); + } +}; +var $mdgriffith$elm_ui$Internal$Style$selfName = function (desc) { + switch (desc.a.$) { + case 'Top': + var _v1 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignTop); + case 'Bottom': + var _v2 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignBottom); + case 'Right': + var _v3 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignRight); + case 'Left': + var _v4 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignLeft); + case 'CenterX': + var _v5 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterX); + default: + var _v6 = desc.a; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterY); + } +}; +var $mdgriffith$elm_ui$Internal$Style$describeAlignment = function (values) { + var createDescription = function (alignment) { + var _v0 = values(alignment); + var content = _v0.a; + var indiv = _v0.b; + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$contentName( + $mdgriffith$elm_ui$Internal$Style$Content(alignment)), + content), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$selfName( + $mdgriffith$elm_ui$Internal$Style$Self(alignment)), + indiv) + ])) + ]); + }; + return $mdgriffith$elm_ui$Internal$Style$Batch( + A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); +}; +var $mdgriffith$elm_ui$Internal$Style$elDescription = _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.hasBehind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.behind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.seButton), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.text), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'auto !important') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightContent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFillPortion), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthContent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') + ])); + case 'Bottom': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') + ])); + case 'Right': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 'Left': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 'CenterX': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') + ])) + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])); + } + }) + ]); +var $mdgriffith$elm_ui$Internal$Style$gridAlignments = function (values) { + var createDescription = function (alignment) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$selfName( + $mdgriffith$elm_ui$Internal$Style$Self(alignment)), + values(alignment)) + ])) + ]); + }; + return $mdgriffith$elm_ui$Internal$Style$Batch( + A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); +}; +var $mdgriffith$elm_ui$Internal$Style$Above = {$: 'Above'}; +var $mdgriffith$elm_ui$Internal$Style$Behind = {$: 'Behind'}; +var $mdgriffith$elm_ui$Internal$Style$Below = {$: 'Below'}; +var $mdgriffith$elm_ui$Internal$Style$OnLeft = {$: 'OnLeft'}; +var $mdgriffith$elm_ui$Internal$Style$OnRight = {$: 'OnRight'}; +var $mdgriffith$elm_ui$Internal$Style$Within = {$: 'Within'}; +var $mdgriffith$elm_ui$Internal$Style$locations = function () { + var loc = $mdgriffith$elm_ui$Internal$Style$Above; + var _v0 = function () { + switch (loc.$) { + case 'Above': + return _Utils_Tuple0; + case 'Below': + return _Utils_Tuple0; + case 'OnRight': + return _Utils_Tuple0; + case 'OnLeft': + return _Utils_Tuple0; + case 'Within': + return _Utils_Tuple0; + default: + return _Utils_Tuple0; + } + }(); + return _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$Above, $mdgriffith$elm_ui$Internal$Style$Below, $mdgriffith$elm_ui$Internal$Style$OnRight, $mdgriffith$elm_ui$Internal$Style$OnLeft, $mdgriffith$elm_ui$Internal$Style$Within, $mdgriffith$elm_ui$Internal$Style$Behind]); +}(); +var $mdgriffith$elm_ui$Internal$Style$baseSheet = _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + 'html,body', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.imageContainer))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'img', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'max-height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'object-fit', 'cover') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'img', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'max-width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'object-fit', 'cover') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'outline', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.root), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'min-height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inFront), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.nearby), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.nearby), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + $mdgriffith$elm_ui$Internal$Style$elDescription), + $mdgriffith$elm_ui$Internal$Style$Batch( + function (fn) { + return A2($elm$core$List$map, fn, $mdgriffith$elm_ui$Internal$Style$locations); + }( + function (loc) { + switch (loc.$) { + case 'Above': + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.above), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 'Below': + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.below), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])) + ])); + case 'OnRight': + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.onRight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 'OnLeft': + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.onLeft), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'right', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 'Within': + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inFront), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + default: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.behind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + } + })) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'resize', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'box-sizing', 'border-box'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-size', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-family', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'inherit'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.wrapped), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-wrap', 'wrap') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.noTextSelection), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-moz-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-webkit-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-ms-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'user-select', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cursorPointer), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'pointer') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cursorText), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.passPointerEvents), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.capturePointerEvents), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.transparent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.opaque), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.hover, $mdgriffith$elm_ui$Internal$Style$classes.transparent)) + ':hover', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.hover, $mdgriffith$elm_ui$Internal$Style$classes.opaque)) + ':hover', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.focus, $mdgriffith$elm_ui$Internal$Style$classes.transparent)) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.focus, $mdgriffith$elm_ui$Internal$Style$classes.opaque)) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.active, $mdgriffith$elm_ui$Internal$Style$classes.transparent)) + ':active', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.active, $mdgriffith$elm_ui$Internal$Style$classes.opaque)) + ':active', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.transition), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'transition', + A2( + $elm$core$String$join, + ', ', + A2( + $elm$core$List$map, + function (x) { + return x + ' 160ms'; + }, + _List_fromArray( + ['transform', 'opacity', 'filter', 'background-color', 'color', 'font-size'])))) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.scrollbars), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.scrollbarsX), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.row), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.scrollbarsY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.column), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.clip), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.clipX), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.clipY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthContent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.borderNone), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.borderDashed), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dashed') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.borderDotted), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dotted') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.borderSolid), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.text), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-block') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputText), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1.05'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background', 'transparent'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'inherit') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + $mdgriffith$elm_ui$Internal$Style$elDescription), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.row), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0%'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthExact), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.link), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFillPortion), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.container), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerRight, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterX), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-left', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterX), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-right', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX + ' ~ u'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.alignContainerRight + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 'Bottom': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 'Right': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_Nil); + case 'Left': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_Nil); + case 'CenterX': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]), + _List_Nil); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + } + }), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.spaceEvenly), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputLabel), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'baseline') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.column), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0px'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'min-height', 'min-content'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightExact), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.heightFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFill), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthFillPortion), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthContent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerBottom, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.alignCenterY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY + ' ~ u'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.alignContainerBottom + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') + ])); + case 'Bottom': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto') + ])); + case 'Right': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 'Left': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 'CenterX': + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]), + _List_Nil); + } + }), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.container), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.spaceEvenly), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.grid), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', '-ms-grid'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '.gp', + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Supports, + _Utils_Tuple2('display', 'grid'), + _List_fromArray( + [ + _Utils_Tuple2('display', 'grid') + ])), + $mdgriffith$elm_ui$Internal$Style$gridAlignments( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]); + case 'Bottom': + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]); + case 'Right': + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]); + case 'Left': + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]); + case 'CenterX': + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]); + default: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.page), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any + ':first-child'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot( + $mdgriffith$elm_ui$Internal$Style$classes.any + ($mdgriffith$elm_ui$Internal$Style$selfName( + $mdgriffith$elm_ui$Internal$Style$Self($mdgriffith$elm_ui$Internal$Style$Left)) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.any))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot( + $mdgriffith$elm_ui$Internal$Style$classes.any + ($mdgriffith$elm_ui$Internal$Style$selfName( + $mdgriffith$elm_ui$Internal$Style$Self($mdgriffith$elm_ui$Internal$Style$Right)) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.any))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 'Bottom': + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 'Right': + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::after', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') + ])) + ])); + case 'Left': + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::after', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') + ])) + ])); + case 'CenterX': + return _Utils_Tuple2(_List_Nil, _List_Nil); + default: + return _Utils_Tuple2(_List_Nil, _List_Nil); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputMultiline), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background-color', 'transparent') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputMultilineWrapper), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputMultilineParent), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inputMultilineFiller), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'transparent') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.paragraph), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-wrap', 'break-word'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.hasBehind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.behind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$AllChildren, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.text), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$AllChildren, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.paragraph), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::after', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::before', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', 'none') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$AllChildren, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.single), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.widthExact), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-block') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.inFront), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.behind), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.above), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.below), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.onRight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.onLeft), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.text), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.row), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.column), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.grid), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-grid') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment.$) { + case 'Top': + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 'Bottom': + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 'Right': + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right') + ])); + case 'Left': + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left') + ])); + case 'CenterX': + return _Utils_Tuple2(_List_Nil, _List_Nil); + default: + return _Utils_Tuple2(_List_Nil, _List_Nil); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '.hidden', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textThin), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '100') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textExtraLight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '200') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textLight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '300') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textNormalWeight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '400') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textMedium), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '500') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textSemiBold), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '600') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bold), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '700') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textExtraBold), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '800') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textHeavy), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '900') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.italic), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'italic') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.strike), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.underline), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'underline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.underline), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.strike)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through underline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textUnitalicized), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'normal') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textJustify), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textJustifyAll), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify-all') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textCenter), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'center') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textRight), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'right') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.textLeft), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'left') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '.modal', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none') + ])) + ])) + ]); +var $mdgriffith$elm_ui$Internal$Style$fontVariant = function (_var) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-' + _var, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\"')) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-' + (_var + '-off'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\" 0')) + ])) + ]); +}; +var $mdgriffith$elm_ui$Internal$Style$commonValues = $elm$core$List$concat( + _List_fromArray( + [ + A2( + $elm$core$List$map, + function (x) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.border-' + $elm$core$String$fromInt(x), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'border-width', + $elm$core$String$fromInt(x) + 'px') + ])); + }, + A2($elm$core$List$range, 0, 6)), + A2( + $elm$core$List$map, + function (i) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.font-size-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'font-size', + $elm$core$String$fromInt(i) + 'px') + ])); + }, + A2($elm$core$List$range, 8, 32)), + A2( + $elm$core$List$map, + function (i) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.p-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'padding', + $elm$core$String$fromInt(i) + 'px') + ])); + }, + A2($elm$core$List$range, 0, 24)), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-smcp', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'small-caps') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-smcp-off', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'normal') + ])) + ]), + $mdgriffith$elm_ui$Internal$Style$fontVariant('zero'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('onum'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('liga'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('dlig'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('ordn'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('tnum'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('afrc'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('frac') + ])); +var $mdgriffith$elm_ui$Internal$Style$explainer = '\n.explain {\n border: 6px solid rgb(174, 121, 15) !important;\n}\n.explain > .' + ($mdgriffith$elm_ui$Internal$Style$classes.any + (' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n.ctr {\n border: none !important;\n}\n.explain > .ctr > .' + ($mdgriffith$elm_ui$Internal$Style$classes.any + ' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n'))); +var $mdgriffith$elm_ui$Internal$Style$inputTextReset = '\ninput[type="search"],\ninput[type="search"]::-webkit-search-decoration,\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-results-button,\ninput[type="search"]::-webkit-search-results-decoration {\n -webkit-appearance:none;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$sliderReset = '\ninput[type=range] {\n -webkit-appearance: none; \n background: transparent;\n position:absolute;\n left:0;\n top:0;\n z-index:10;\n width: 100%;\n outline: dashed 1px;\n height: 100%;\n opacity: 0;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$thumbReset = '\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-moz-range-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-ms-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range][orient=vertical]{\n writing-mode: bt-lr; /* IE */\n -webkit-appearance: slider-vertical; /* WebKit */\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$trackReset = '\ninput[type=range]::-moz-range-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-ms-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-webkit-slider-runnable-track {\n background: transparent;\n cursor: pointer;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$overrides = '@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.row) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + (' { flex-basis: auto !important; } ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.row) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.container) + (' { flex-basis: auto !important; }}' + ($mdgriffith$elm_ui$Internal$Style$inputTextReset + ($mdgriffith$elm_ui$Internal$Style$sliderReset + ($mdgriffith$elm_ui$Internal$Style$trackReset + ($mdgriffith$elm_ui$Internal$Style$thumbReset + $mdgriffith$elm_ui$Internal$Style$explainer))))))))))))))); +var $elm$core$String$concat = function (strings) { + return A2($elm$core$String$join, '', strings); +}; +var $mdgriffith$elm_ui$Internal$Style$Intermediate = function (a) { + return {$: 'Intermediate', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Style$emptyIntermediate = F2( + function (selector, closing) { + return $mdgriffith$elm_ui$Internal$Style$Intermediate( + {closing: closing, others: _List_Nil, props: _List_Nil, selector: selector}); + }); +var $mdgriffith$elm_ui$Internal$Style$renderRules = F2( + function (_v0, rulesToRender) { + var parent = _v0.a; + var generateIntermediates = F2( + function (rule, rendered) { + switch (rule.$) { + case 'Prop': + var name = rule.a; + var val = rule.b; + return _Utils_update( + rendered, + { + props: A2( + $elm$core$List$cons, + _Utils_Tuple2(name, val), + rendered.props) + }); + case 'Supports': + var _v2 = rule.a; + var prop = _v2.a; + var value = _v2.b; + var props = rule.b; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Style$Intermediate( + {closing: '\n}', others: _List_Nil, props: props, selector: '@supports (' + (prop + (':' + (value + (') {' + parent.selector))))}), + rendered.others) + }); + case 'Adjacent': + var selector = rule.a; + var adjRules = rule.b; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.selector + (' + ' + selector), ''), + adjRules), + rendered.others) + }); + case 'Child': + var child = rule.a; + var childRules = rule.b; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.selector + (' > ' + child), ''), + childRules), + rendered.others) + }); + case 'AllChildren': + var child = rule.a; + var childRules = rule.b; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.selector + (' ' + child), ''), + childRules), + rendered.others) + }); + case 'Descriptor': + var descriptor = rule.a; + var descriptorRules = rule.b; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2( + $mdgriffith$elm_ui$Internal$Style$emptyIntermediate, + _Utils_ap(parent.selector, descriptor), + ''), + descriptorRules), + rendered.others) + }); + default: + var batched = rule.a; + return _Utils_update( + rendered, + { + others: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.selector, ''), + batched), + rendered.others) + }); + } + }); + return $mdgriffith$elm_ui$Internal$Style$Intermediate( + A3($elm$core$List$foldr, generateIntermediates, parent, rulesToRender)); + }); +var $mdgriffith$elm_ui$Internal$Style$renderCompact = function (styleClasses) { + var renderValues = function (values) { + return $elm$core$String$concat( + A2( + $elm$core$List$map, + function (_v3) { + var x = _v3.a; + var y = _v3.b; + return x + (':' + (y + ';')); + }, + values)); + }; + var renderClass = function (rule) { + var _v2 = rule.props; + if (!_v2.b) { + return ''; + } else { + return rule.selector + ('{' + (renderValues(rule.props) + (rule.closing + '}'))); + } + }; + var renderIntermediate = function (_v0) { + var rule = _v0.a; + return _Utils_ap( + renderClass(rule), + $elm$core$String$concat( + A2($elm$core$List$map, renderIntermediate, rule.others))); + }; + return $elm$core$String$concat( + A2( + $elm$core$List$map, + renderIntermediate, + A3( + $elm$core$List$foldr, + F2( + function (_v1, existing) { + var name = _v1.a; + var styleRules = _v1.b; + return A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, name, ''), + styleRules), + existing); + }), + _List_Nil, + styleClasses))); +}; +var $mdgriffith$elm_ui$Internal$Style$rules = _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$overrides, + $mdgriffith$elm_ui$Internal$Style$renderCompact( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$baseSheet, $mdgriffith$elm_ui$Internal$Style$commonValues))); +var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; +var $mdgriffith$elm_ui$Internal$Model$staticRoot = function (opts) { + var _v0 = opts.mode; + switch (_v0.$) { + case 'Layout': + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text($mdgriffith$elm_ui$Internal$Style$rules) + ])) + ])); + case 'NoStaticStyleSheet': + return $elm$virtual_dom$VirtualDom$text(''); + default: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'elm-ui-static-rules', + _List_fromArray( + [ + A2( + $elm$virtual_dom$VirtualDom$property, + 'rules', + $elm$json$Json$Encode$string($mdgriffith$elm_ui$Internal$Style$rules)) + ]), + _List_Nil); + } +}; +var $elm$json$Json$Encode$list = F2( + function (func, entries) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + _Json_addEntry(func), + _Json_emptyArray(_Utils_Tuple0), + entries)); + }); +var $elm$json$Json$Encode$object = function (pairs) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + F2( + function (_v0, obj) { + var k = _v0.a; + var v = _v0.b; + return A3(_Json_addField, k, v, obj); + }), + _Json_emptyObject(_Utils_Tuple0), + pairs)); +}; +var $elm$core$List$any = F2( + function (isOkay, list) { + any: + while (true) { + if (!list.b) { + return false; + } else { + var x = list.a; + var xs = list.b; + if (isOkay(x)) { + return true; + } else { + var $temp$isOkay = isOkay, + $temp$list = xs; + isOkay = $temp$isOkay; + list = $temp$list; + continue any; + } + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$fontName = function (font) { + switch (font.$) { + case 'Serif': + return 'serif'; + case 'SansSerif': + return 'sans-serif'; + case 'Monospace': + return 'monospace'; + case 'Typeface': + var name = font.a; + return '\"' + (name + '\"'); + case 'ImportFont': + var name = font.a; + var url = font.b; + return '\"' + (name + '\"'); + default: + var name = font.a.name; + return '\"' + (name + '\"'); + } +}; +var $mdgriffith$elm_ui$Internal$Model$isSmallCaps = function (_var) { + switch (_var.$) { + case 'VariantActive': + var name = _var.a; + return name === 'smcp'; + case 'VariantOff': + var name = _var.a; + return false; + default: + var name = _var.a; + var index = _var.b; + return (name === 'smcp') && (index === 1); + } +}; +var $mdgriffith$elm_ui$Internal$Model$hasSmallCaps = function (typeface) { + if (typeface.$ === 'FontWith') { + var font = typeface.a; + return A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$isSmallCaps, font.variants); + } else { + return false; + } +}; +var $elm$core$Basics$min = F2( + function (x, y) { + return (_Utils_cmp(x, y) < 0) ? x : y; + }); +var $elm$core$Basics$negate = function (n) { + return -n; +}; +var $mdgriffith$elm_ui$Internal$Model$renderProps = F3( + function (force, _v0, existing) { + var key = _v0.a; + var val = _v0.b; + return force ? (existing + ('\n ' + (key + (': ' + (val + ' !important;'))))) : (existing + ('\n ' + (key + (': ' + (val + ';'))))); + }); +var $mdgriffith$elm_ui$Internal$Model$renderStyle = F4( + function (options, maybePseudo, selector, props) { + if (maybePseudo.$ === 'Nothing') { + return _List_fromArray( + [ + selector + ('{' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } else { + var pseudo = maybePseudo.a; + switch (pseudo.$) { + case 'Hover': + var _v2 = options.hover; + switch (_v2.$) { + case 'NoHover': + return _List_Nil; + case 'ForceHover': + return _List_fromArray( + [ + selector + ('-hv {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(true), + '', + props) + '\n}')) + ]); + default: + return _List_fromArray( + [ + selector + ('-hv:hover {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } + case 'Focus': + var renderedProps = A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props); + return _List_fromArray( + [ + selector + ('-fs:focus {' + (renderedProps + '\n}')), + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.any + (':focus ' + (selector + '-fs {')))) + (renderedProps + '\n}'), + (selector + '-fs:focus-within {') + (renderedProps + '\n}'), + ('.ui-slide-bar:focus + ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.any) + (' .focusable-thumb' + (selector + '-fs {')))) + (renderedProps + '\n}') + ]); + default: + return _List_fromArray( + [ + selector + ('-act:active {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$renderVariant = function (_var) { + switch (_var.$) { + case 'VariantActive': + var name = _var.a; + return '\"' + (name + '\"'); + case 'VariantOff': + var name = _var.a; + return '\"' + (name + '\" 0'); + default: + var name = _var.a; + var index = _var.b; + return '\"' + (name + ('\" ' + $elm$core$String$fromInt(index))); + } +}; +var $mdgriffith$elm_ui$Internal$Model$renderVariants = function (typeface) { + if (typeface.$ === 'FontWith') { + var font = typeface.a; + return $elm$core$Maybe$Just( + A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$renderVariant, font.variants))); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$transformValue = function (transform) { + switch (transform.$) { + case 'Untransformed': + return $elm$core$Maybe$Nothing; + case 'Moved': + var _v1 = transform.a; + var x = _v1.a; + var y = _v1.b; + var z = _v1.c; + return $elm$core$Maybe$Just( + 'translate3d(' + ($elm$core$String$fromFloat(x) + ('px, ' + ($elm$core$String$fromFloat(y) + ('px, ' + ($elm$core$String$fromFloat(z) + 'px)')))))); + default: + var _v2 = transform.a; + var tx = _v2.a; + var ty = _v2.b; + var tz = _v2.c; + var _v3 = transform.b; + var sx = _v3.a; + var sy = _v3.b; + var sz = _v3.c; + var _v4 = transform.c; + var ox = _v4.a; + var oy = _v4.b; + var oz = _v4.c; + var angle = transform.d; + var translate = 'translate3d(' + ($elm$core$String$fromFloat(tx) + ('px, ' + ($elm$core$String$fromFloat(ty) + ('px, ' + ($elm$core$String$fromFloat(tz) + 'px)'))))); + var scale = 'scale3d(' + ($elm$core$String$fromFloat(sx) + (', ' + ($elm$core$String$fromFloat(sy) + (', ' + ($elm$core$String$fromFloat(sz) + ')'))))); + var rotate = 'rotate3d(' + ($elm$core$String$fromFloat(ox) + (', ' + ($elm$core$String$fromFloat(oy) + (', ' + ($elm$core$String$fromFloat(oz) + (', ' + ($elm$core$String$fromFloat(angle) + 'rad)'))))))); + return $elm$core$Maybe$Just(translate + (' ' + (scale + (' ' + rotate)))); + } +}; +var $mdgriffith$elm_ui$Internal$Model$renderStyleRule = F3( + function (options, rule, maybePseudo) { + switch (rule.$) { + case 'Style': + var selector = rule.a; + var props = rule.b; + return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, selector, props); + case 'Shadows': + var name = rule.a; + var prop = rule.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + name, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'box-shadow', prop) + ])); + case 'Transparency': + var name = rule.a; + var transparency = rule.b; + var opacity = A2( + $elm$core$Basics$max, + 0, + A2($elm$core$Basics$min, 1, 1 - transparency)); + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + name, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'opacity', + $elm$core$String$fromFloat(opacity)) + ])); + case 'FontSize': + var i = rule.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.font-size-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-size', + $elm$core$String$fromInt(i) + 'px') + ])); + case 'FontFamily': + var name = rule.a; + var typefaces = rule.b; + var features = A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$filterMap, $mdgriffith$elm_ui$Internal$Model$renderVariants, typefaces)); + var families = _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-family', + A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$fontName, typefaces))), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'font-feature-settings', features), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-variant', + A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$hasSmallCaps, typefaces) ? 'small-caps' : 'normal') + ]); + return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, '.' + name, families); + case 'Single': + var _class = rule.a; + var prop = rule.b; + var val = rule.c; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + _class, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, prop, val) + ])); + case 'Colored': + var _class = rule.a; + var prop = rule.b; + var color = rule.c; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + prop, + $mdgriffith$elm_ui$Internal$Model$formatColor(color)) + ])); + case 'SpacingStyle': + var cls = rule.a; + var x = rule.b; + var y = rule.c; + var yPx = $elm$core$String$fromInt(y) + 'px'; + var xPx = $elm$core$String$fromInt(x) + 'px'; + var single = '.' + $mdgriffith$elm_ui$Internal$Style$classes.single; + var row = '.' + $mdgriffith$elm_ui$Internal$Style$classes.row; + var wrappedRow = '.' + ($mdgriffith$elm_ui$Internal$Style$classes.wrapped + row); + var right = '.' + $mdgriffith$elm_ui$Internal$Style$classes.alignRight; + var paragraph = '.' + $mdgriffith$elm_ui$Internal$Style$classes.paragraph; + var page = '.' + $mdgriffith$elm_ui$Internal$Style$classes.page; + var left = '.' + $mdgriffith$elm_ui$Internal$Style$classes.alignLeft; + var halfY = $elm$core$String$fromFloat(y / 2) + 'px'; + var halfX = $elm$core$String$fromFloat(x / 2) + 'px'; + var column = '.' + $mdgriffith$elm_ui$Internal$Style$classes.column; + var _class = '.' + cls; + var any = '.' + $mdgriffith$elm_ui$Internal$Style$classes.any; + return $elm$core$List$concat( + _List_fromArray( + [ + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (row + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (wrappedRow + (' > ' + any)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin', halfY + (' ' + halfX)) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (column + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + left)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + right)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _Utils_ap(_class, paragraph), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'line-height', + 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + 'textarea' + (any + _class), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'line-height', + 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'height', + 'calc(100% + ' + ($elm$core$String$fromInt(y) + 'px)')) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + (' > ' + left)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + (' > ' + right)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + '::after'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'margin-top', + $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + '::before'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'margin-bottom', + $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') + ])) + ])); + case 'PaddingStyle': + var cls = rule.a; + var top = rule.b; + var right = rule.c; + var bottom = rule.d; + var left = rule.e; + var _class = '.' + cls; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'padding', + $elm$core$String$fromFloat(top) + ('px ' + ($elm$core$String$fromFloat(right) + ('px ' + ($elm$core$String$fromFloat(bottom) + ('px ' + ($elm$core$String$fromFloat(left) + 'px'))))))) + ])); + case 'BorderWidth': + var cls = rule.a; + var top = rule.b; + var right = rule.c; + var bottom = rule.d; + var left = rule.e; + var _class = '.' + cls; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-width', + $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px'))))))) + ])); + case 'GridTemplateStyle': + var template = rule.a; + var toGridLengthHelper = F3( + function (minimum, maximum, x) { + toGridLengthHelper: + while (true) { + switch (x.$) { + case 'Px': + var px = x.a; + return $elm$core$String$fromInt(px) + 'px'; + case 'Content': + var _v2 = _Utils_Tuple2(minimum, maximum); + if (_v2.a.$ === 'Nothing') { + if (_v2.b.$ === 'Nothing') { + var _v3 = _v2.a; + var _v4 = _v2.b; + return 'max-content'; + } else { + var _v6 = _v2.a; + var maxSize = _v2.b.a; + return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); + } + } else { + if (_v2.b.$ === 'Nothing') { + var minSize = _v2.a.a; + var _v5 = _v2.b; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + 'max-content)')); + } else { + var minSize = _v2.a.a; + var maxSize = _v2.b.a; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); + } + } + case 'Fill': + var i = x.a; + var _v7 = _Utils_Tuple2(minimum, maximum); + if (_v7.a.$ === 'Nothing') { + if (_v7.b.$ === 'Nothing') { + var _v8 = _v7.a; + var _v9 = _v7.b; + return $elm$core$String$fromInt(i) + 'fr'; + } else { + var _v11 = _v7.a; + var maxSize = _v7.b.a; + return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); + } + } else { + if (_v7.b.$ === 'Nothing') { + var minSize = _v7.a.a; + var _v10 = _v7.b; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(i) + ('fr' + 'fr)')))); + } else { + var minSize = _v7.a.a; + var maxSize = _v7.b.a; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); + } + } + case 'Min': + var m = x.a; + var len = x.b; + var $temp$minimum = $elm$core$Maybe$Just(m), + $temp$maximum = maximum, + $temp$x = len; + minimum = $temp$minimum; + maximum = $temp$maximum; + x = $temp$x; + continue toGridLengthHelper; + default: + var m = x.a; + var len = x.b; + var $temp$minimum = minimum, + $temp$maximum = $elm$core$Maybe$Just(m), + $temp$x = len; + minimum = $temp$minimum; + maximum = $temp$maximum; + x = $temp$x; + continue toGridLengthHelper; + } + } + }); + var toGridLength = function (x) { + return A3(toGridLengthHelper, $elm$core$Maybe$Nothing, $elm$core$Maybe$Nothing, x); + }; + var xSpacing = toGridLength(template.spacing.a); + var ySpacing = toGridLength(template.spacing.b); + var rows = function (x) { + return 'grid-template-rows: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ' ', + A2($elm$core$List$map, toGridLength, template.rows))); + var msRows = function (x) { + return '-ms-grid-rows: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ySpacing, + A2($elm$core$List$map, toGridLength, template.columns))); + var msColumns = function (x) { + return '-ms-grid-columns: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ySpacing, + A2($elm$core$List$map, toGridLength, template.columns))); + var gapY = 'grid-row-gap:' + (toGridLength(template.spacing.b) + ';'); + var gapX = 'grid-column-gap:' + (toGridLength(template.spacing.a) + ';'); + var columns = function (x) { + return 'grid-template-columns: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ' ', + A2($elm$core$List$map, toGridLength, template.columns))); + var _class = '.grid-rows-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.rows)) + ('-cols-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.columns)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.spacing.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.spacing.b))))))); + var modernGrid = _class + ('{' + (columns + (rows + (gapX + (gapY + '}'))))); + var supports = '@supports (display:grid) {' + (modernGrid + '}'); + var base = _class + ('{' + (msColumns + (msRows + '}'))); + return _List_fromArray( + [base, supports]); + case 'GridPosition': + var position = rule.a; + var msPosition = A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + '-ms-grid-row: ' + ($elm$core$String$fromInt(position.row) + ';'), + '-ms-grid-row-span: ' + ($elm$core$String$fromInt(position.height) + ';'), + '-ms-grid-column: ' + ($elm$core$String$fromInt(position.col) + ';'), + '-ms-grid-column-span: ' + ($elm$core$String$fromInt(position.width) + ';') + ])); + var modernPosition = A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + 'grid-row: ' + ($elm$core$String$fromInt(position.row) + (' / ' + ($elm$core$String$fromInt(position.row + position.height) + ';'))), + 'grid-column: ' + ($elm$core$String$fromInt(position.col) + (' / ' + ($elm$core$String$fromInt(position.col + position.width) + ';'))) + ])); + var _class = '.grid-pos-' + ($elm$core$String$fromInt(position.row) + ('-' + ($elm$core$String$fromInt(position.col) + ('-' + ($elm$core$String$fromInt(position.width) + ('-' + $elm$core$String$fromInt(position.height))))))); + var modernGrid = _class + ('{' + (modernPosition + '}')); + var supports = '@supports (display:grid) {' + (modernGrid + '}'); + var base = _class + ('{' + (msPosition + '}')); + return _List_fromArray( + [base, supports]); + case 'PseudoSelector': + var _class = rule.a; + var styles = rule.b; + var renderPseudoRule = function (style) { + return A3( + $mdgriffith$elm_ui$Internal$Model$renderStyleRule, + options, + style, + $elm$core$Maybe$Just(_class)); + }; + return A2($elm$core$List$concatMap, renderPseudoRule, styles); + default: + var transform = rule.a; + var val = $mdgriffith$elm_ui$Internal$Model$transformValue(transform); + var _class = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); + var _v12 = _Utils_Tuple2(_class, val); + if ((_v12.a.$ === 'Just') && (_v12.b.$ === 'Just')) { + var cls = _v12.a.a; + var v = _v12.b.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + cls, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'transform', v) + ])); + } else { + return _List_Nil; + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$encodeStyles = F2( + function (options, stylesheet) { + return $elm$json$Json$Encode$object( + A2( + $elm$core$List$map, + function (style) { + var styled = A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing); + return _Utils_Tuple2( + $mdgriffith$elm_ui$Internal$Model$getStyleName(style), + A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, styled)); + }, + stylesheet)); + }); +var $mdgriffith$elm_ui$Internal$Model$bracket = F2( + function (selector, rules) { + var renderPair = function (_v0) { + var name = _v0.a; + var val = _v0.b; + return name + (': ' + (val + ';')); + }; + return selector + (' {' + (A2( + $elm$core$String$join, + '', + A2($elm$core$List$map, renderPair, rules)) + '}')); + }); +var $mdgriffith$elm_ui$Internal$Model$fontRule = F3( + function (name, modifier, _v0) { + var parentAdj = _v0.a; + var textAdjustment = _v0.b; + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + (', ' + ('.' + (name + (' .' + modifier))))))), parentAdj), + A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.text + (', .' + (name + (' .' + (modifier + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.text)))))))))), textAdjustment) + ]); + }); +var $mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule = F3( + function (fontToAdjust, _v0, otherFontName) { + var full = _v0.a; + var capital = _v0.b; + var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); + return A2( + $elm$core$String$join, + ' ', + _Utils_ap( + A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.sizeByCapital, capital), + A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.fullSize, full))); + }); +var $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule = F2( + function (fontToAdjust, otherFontName) { + var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$bracket, + '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.sizeByCapital + (', ' + ('.' + (name + (' .' + $mdgriffith$elm_ui$Internal$Style$classes.sizeByCapital))))))), + _List_fromArray( + [ + _Utils_Tuple2('line-height', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Model$bracket, + '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.sizeByCapital + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.text + (', .' + (name + (' .' + ($mdgriffith$elm_ui$Internal$Style$classes.sizeByCapital + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.text)))))))))), + _List_fromArray( + [ + _Utils_Tuple2('vertical-align', '0'), + _Utils_Tuple2('line-height', '1') + ])) + ])); + }); +var $mdgriffith$elm_ui$Internal$Model$adjust = F3( + function (size, height, vertical) { + return {height: height / size, size: size, vertical: vertical}; + }); +var $elm$core$List$filter = F2( + function (isGood, list) { + return A3( + $elm$core$List$foldr, + F2( + function (x, xs) { + return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; + }), + _List_Nil, + list); + }); +var $elm$core$List$maximum = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just( + A3($elm$core$List$foldl, $elm$core$Basics$max, x, xs)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm$core$List$minimum = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just( + A3($elm$core$List$foldl, $elm$core$Basics$min, x, xs)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm$core$Basics$neq = _Utils_notEqual; +var $mdgriffith$elm_ui$Internal$Model$convertAdjustment = function (adjustment) { + var lines = _List_fromArray( + [adjustment.capital, adjustment.baseline, adjustment.descender, adjustment.lowercase]); + var lineHeight = 1.5; + var normalDescender = (lineHeight - 1) / 2; + var oldMiddle = lineHeight / 2; + var descender = A2( + $elm$core$Maybe$withDefault, + adjustment.descender, + $elm$core$List$minimum(lines)); + var newBaseline = A2( + $elm$core$Maybe$withDefault, + adjustment.baseline, + $elm$core$List$minimum( + A2( + $elm$core$List$filter, + function (x) { + return !_Utils_eq(x, descender); + }, + lines))); + var base = lineHeight; + var ascender = A2( + $elm$core$Maybe$withDefault, + adjustment.capital, + $elm$core$List$maximum(lines)); + var capitalSize = 1 / (ascender - newBaseline); + var capitalVertical = 1 - ascender; + var fullSize = 1 / (ascender - descender); + var fullVertical = 1 - ascender; + var newCapitalMiddle = ((ascender - newBaseline) / 2) + newBaseline; + var newFullMiddle = ((ascender - descender) / 2) + descender; + return { + capital: A3($mdgriffith$elm_ui$Internal$Model$adjust, capitalSize, ascender - newBaseline, capitalVertical), + full: A3($mdgriffith$elm_ui$Internal$Model$adjust, fullSize, ascender - descender, fullVertical) + }; +}; +var $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules = function (converted) { + return _Utils_Tuple2( + _List_fromArray( + [ + _Utils_Tuple2('display', 'block') + ]), + _List_fromArray( + [ + _Utils_Tuple2('display', 'inline-block'), + _Utils_Tuple2( + 'line-height', + $elm$core$String$fromFloat(converted.height)), + _Utils_Tuple2( + 'vertical-align', + $elm$core$String$fromFloat(converted.vertical) + 'em'), + _Utils_Tuple2( + 'font-size', + $elm$core$String$fromFloat(converted.size) + 'em') + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment = function (typefaces) { + return A3( + $elm$core$List$foldl, + F2( + function (face, found) { + if (found.$ === 'Nothing') { + if (face.$ === 'FontWith') { + var _with = face.a; + var _v2 = _with.adjustment; + if (_v2.$ === 'Nothing') { + return found; + } else { + var adjustment = _v2.a; + return $elm$core$Maybe$Just( + _Utils_Tuple2( + $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( + function ($) { + return $.full; + }( + $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))), + $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( + function ($) { + return $.capital; + }( + $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))))); + } + } else { + return found; + } + } else { + return found; + } + }), + $elm$core$Maybe$Nothing, + typefaces); +}; +var $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues = function (rules) { + var withImport = function (font) { + if (font.$ === 'ImportFont') { + var url = font.b; + return $elm$core$Maybe$Just('@import url(\'' + (url + '\');')); + } else { + return $elm$core$Maybe$Nothing; + } + }; + var fontImports = function (_v2) { + var name = _v2.a; + var typefaces = _v2.b; + var imports = A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$filterMap, withImport, typefaces)); + return imports; + }; + var allNames = A2($elm$core$List$map, $elm$core$Tuple$first, rules); + var fontAdjustments = function (_v1) { + var name = _v1.a; + var typefaces = _v1.b; + var _v0 = $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment(typefaces); + if (_v0.$ === 'Nothing') { + return A2( + $elm$core$String$join, + '', + A2( + $elm$core$List$map, + $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule(name), + allNames)); + } else { + var adjustment = _v0.a; + return A2( + $elm$core$String$join, + '', + A2( + $elm$core$List$map, + A2($mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule, name, adjustment), + allNames)); + } + }; + return _Utils_ap( + A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$map, fontImports, rules)), + A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$map, fontAdjustments, rules))); +}; +var $mdgriffith$elm_ui$Internal$Model$topLevelValue = function (rule) { + if (rule.$ === 'FontFamily') { + var name = rule.a; + var typefaces = rule.b; + return $elm$core$Maybe$Just( + _Utils_Tuple2(name, typefaces)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$toStyleSheetString = F2( + function (options, stylesheet) { + var combine = F2( + function (style, rendered) { + return { + rules: _Utils_ap( + rendered.rules, + A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing)), + topLevel: function () { + var _v1 = $mdgriffith$elm_ui$Internal$Model$topLevelValue(style); + if (_v1.$ === 'Nothing') { + return rendered.topLevel; + } else { + var topLevel = _v1.a; + return A2($elm$core$List$cons, topLevel, rendered.topLevel); + } + }() + }; + }); + var _v0 = A3( + $elm$core$List$foldl, + combine, + {rules: _List_Nil, topLevel: _List_Nil}, + stylesheet); + var topLevel = _v0.topLevel; + var rules = _v0.rules; + return _Utils_ap( + $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues(topLevel), + $elm$core$String$concat(rules)); + }); +var $mdgriffith$elm_ui$Internal$Model$toStyleSheet = F2( + function (options, styleSheet) { + var _v0 = options.mode; + switch (_v0.$) { + case 'Layout': + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text( + A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) + ])) + ])); + case 'NoStaticStyleSheet': + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text( + A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) + ])) + ])); + default: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'elm-ui-rules', + _List_fromArray( + [ + A2( + $elm$virtual_dom$VirtualDom$property, + 'rules', + A2($mdgriffith$elm_ui$Internal$Model$encodeStyles, options, styleSheet)) + ]), + _List_Nil); + } + }); +var $mdgriffith$elm_ui$Internal$Model$embedKeyed = F4( + function (_static, opts, styles, children) { + var dynamicStyleSheet = A2( + $mdgriffith$elm_ui$Internal$Model$toStyleSheet, + opts, + A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$reduceStyles, + _Utils_Tuple2( + $elm$core$Set$empty, + $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.focus)), + styles).b); + return _static ? A2( + $elm$core$List$cons, + _Utils_Tuple2( + 'static-stylesheet', + $mdgriffith$elm_ui$Internal$Model$staticRoot(opts)), + A2( + $elm$core$List$cons, + _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), + children)) : A2( + $elm$core$List$cons, + _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), + children); + }); +var $mdgriffith$elm_ui$Internal$Model$embedWith = F4( + function (_static, opts, styles, children) { + var dynamicStyleSheet = A2( + $mdgriffith$elm_ui$Internal$Model$toStyleSheet, + opts, + A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$reduceStyles, + _Utils_Tuple2( + $elm$core$Set$empty, + $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.focus)), + styles).b); + return _static ? A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$staticRoot(opts), + A2($elm$core$List$cons, dynamicStyleSheet, children)) : A2($elm$core$List$cons, dynamicStyleSheet, children); + }); +var $mdgriffith$elm_ui$Internal$Flag$heightBetween = $mdgriffith$elm_ui$Internal$Flag$flag(45); +var $mdgriffith$elm_ui$Internal$Flag$heightFill = $mdgriffith$elm_ui$Internal$Flag$flag(37); +var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) { + return _VirtualDom_keyedNode( + _VirtualDom_noScript(tag)); +}; +var $elm$core$Basics$not = _Basics_not; +var $elm$html$Html$p = _VirtualDom_node('p'); +var $elm$core$Bitwise$and = _Bitwise_and; +var $mdgriffith$elm_ui$Internal$Flag$present = F2( + function (myFlag, _v0) { + var fieldOne = _v0.a; + var fieldTwo = _v0.b; + if (myFlag.$ === 'Flag') { + var first = myFlag.a; + return _Utils_eq(first & fieldOne, first); + } else { + var second = myFlag.a; + return _Utils_eq(second & fieldTwo, second); + } + }); +var $elm$html$Html$s = _VirtualDom_node('s'); +var $elm$html$Html$u = _VirtualDom_node('u'); +var $mdgriffith$elm_ui$Internal$Flag$widthBetween = $mdgriffith$elm_ui$Internal$Flag$flag(44); +var $mdgriffith$elm_ui$Internal$Flag$widthFill = $mdgriffith$elm_ui$Internal$Flag$flag(39); +var $mdgriffith$elm_ui$Internal$Model$finalizeNode = F6( + function (has, node, attributes, children, embedMode, parentContext) { + var createNode = F2( + function (nodeName, attrs) { + if (children.$ === 'Keyed') { + var keyed = children.a; + return A3( + $elm$virtual_dom$VirtualDom$keyedNode, + nodeName, + attrs, + function () { + switch (embedMode.$) { + case 'NoStyleSheet': + return keyed; + case 'OnlyDynamic': + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, false, opts, styles, keyed); + default: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, true, opts, styles, keyed); + } + }()); + } else { + var unkeyed = children.a; + return A2( + function () { + switch (nodeName) { + case 'div': + return $elm$html$Html$div; + case 'p': + return $elm$html$Html$p; + default: + return $elm$virtual_dom$VirtualDom$node(nodeName); + } + }(), + attrs, + function () { + switch (embedMode.$) { + case 'NoStyleSheet': + return unkeyed; + case 'OnlyDynamic': + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedWith, false, opts, styles, unkeyed); + default: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedWith, true, opts, styles, unkeyed); + } + }()); + } + }); + var html = function () { + switch (node.$) { + case 'Generic': + return A2(createNode, 'div', attributes); + case 'NodeName': + var nodeName = node.a; + return A2(createNode, nodeName, attributes); + default: + var nodeName = node.a; + var internal = node.b; + return A3( + $elm$virtual_dom$VirtualDom$node, + nodeName, + attributes, + _List_fromArray( + [ + A2( + createNode, + internal, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.single)) + ])) + ])); + } + }(); + switch (parentContext.$) { + case 'AsRow': + return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignRight, has) ? A2( + $elm$html$Html$u, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.any, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.container, $mdgriffith$elm_ui$Internal$Style$classes.contentCenterY, $mdgriffith$elm_ui$Internal$Style$classes.alignContainerRight]))) + ]), + _List_fromArray( + [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerX, has) ? A2( + $elm$html$Html$s, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.any, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.container, $mdgriffith$elm_ui$Internal$Style$classes.contentCenterY, $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterX]))) + ]), + _List_fromArray( + [html])) : html)); + case 'AsColumn': + return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerY, has) ? A2( + $elm$html$Html$s, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.any, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.container, $mdgriffith$elm_ui$Internal$Style$classes.alignContainerCenterY]))) + ]), + _List_fromArray( + [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignBottom, has) ? A2( + $elm$html$Html$u, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.any, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.container, $mdgriffith$elm_ui$Internal$Style$classes.alignContainerBottom]))) + ]), + _List_fromArray( + [html])) : html)); + default: + return html; + } + }); +var $elm$core$List$isEmpty = function (xs) { + if (!xs.b) { + return true; + } else { + return false; + } +}; +var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; +var $mdgriffith$elm_ui$Internal$Model$textElementClasses = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.text + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.widthContent + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.heightContent))))); +var $mdgriffith$elm_ui$Internal$Model$textElement = function (str) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementClasses) + ]), + _List_fromArray( + [ + $elm$html$Html$text(str) + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$textElementFillClasses = $mdgriffith$elm_ui$Internal$Style$classes.any + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.text + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.widthFill + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.heightFill))))); +var $mdgriffith$elm_ui$Internal$Model$textElementFill = function (str) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementFillClasses) + ]), + _List_fromArray( + [ + $elm$html$Html$text(str) + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$createElement = F3( + function (context, children, rendered) { + var gatherKeyed = F2( + function (_v8, _v9) { + var key = _v8.a; + var child = _v8.b; + var htmls = _v9.a; + var existingStyles = _v9.b; + switch (child.$) { + case 'Unstyled': + var html = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + html(context)), + htmls), + existingStyles) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + html(context)), + htmls), + existingStyles); + case 'Styled': + var styled = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + A2(styled.html, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.styles : _Utils_ap(styled.styles, existingStyles)) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + A2(styled.html, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.styles : _Utils_ap(styled.styles, existingStyles)); + case 'Text': + var str = child.a; + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str)), + htmls), + existingStyles); + default: + return _Utils_Tuple2(htmls, existingStyles); + } + }); + var gather = F2( + function (child, _v6) { + var htmls = _v6.a; + var existingStyles = _v6.b; + switch (child.$) { + case 'Unstyled': + var html = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + html(context), + htmls), + existingStyles) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + html(context), + htmls), + existingStyles); + case 'Styled': + var styled = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + A2(styled.html, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.styles : _Utils_ap(styled.styles, existingStyles)) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + A2(styled.html, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.styles : _Utils_ap(styled.styles, existingStyles)); + case 'Text': + var str = child.a; + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str), + htmls), + existingStyles); + default: + return _Utils_Tuple2(htmls, existingStyles); + } + }); + if (children.$ === 'Keyed') { + var keyedChildren = children.a; + var _v1 = A3( + $elm$core$List$foldr, + gatherKeyed, + _Utils_Tuple2(_List_Nil, _List_Nil), + keyedChildren); + var keyed = _v1.a; + var styles = _v1.b; + var newStyles = $elm$core$List$isEmpty(styles) ? rendered.styles : _Utils_ap(rendered.styles, styles); + if (!newStyles.b) { + return $mdgriffith$elm_ui$Internal$Model$Unstyled( + A5( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.has, + rendered.node, + rendered.attributes, + $mdgriffith$elm_ui$Internal$Model$Keyed( + A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.children)), + $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); + } else { + var allStyles = newStyles; + return $mdgriffith$elm_ui$Internal$Model$Styled( + { + html: A4( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.has, + rendered.node, + rendered.attributes, + $mdgriffith$elm_ui$Internal$Model$Keyed( + A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.children))), + styles: allStyles + }); + } + } else { + var unkeyedChildren = children.a; + var _v3 = A3( + $elm$core$List$foldr, + gather, + _Utils_Tuple2(_List_Nil, _List_Nil), + unkeyedChildren); + var unkeyed = _v3.a; + var styles = _v3.b; + var newStyles = $elm$core$List$isEmpty(styles) ? rendered.styles : _Utils_ap(rendered.styles, styles); + if (!newStyles.b) { + return $mdgriffith$elm_ui$Internal$Model$Unstyled( + A5( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.has, + rendered.node, + rendered.attributes, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.children)), + $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); + } else { + var allStyles = newStyles; + return $mdgriffith$elm_ui$Internal$Model$Styled( + { + html: A4( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.has, + rendered.node, + rendered.attributes, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.children))), + styles: allStyles + }); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Single = F3( + function (a, b, c) { + return {$: 'Single', a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Model$Transform = function (a) { + return {$: 'Transform', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$Field = F2( + function (a, b) { + return {$: 'Field', a: a, b: b}; + }); +var $elm$core$Bitwise$or = _Bitwise_or; +var $mdgriffith$elm_ui$Internal$Flag$add = F2( + function (myFlag, _v0) { + var one = _v0.a; + var two = _v0.b; + if (myFlag.$ === 'Flag') { + var first = myFlag.a; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, first | one, two); + } else { + var second = myFlag.a; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, one, second | two); + } + }); +var $mdgriffith$elm_ui$Internal$Model$ChildrenBehind = function (a) { + return {$: 'ChildrenBehind', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront = F2( + function (a, b) { + return {$: 'ChildrenBehindAndInFront', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$ChildrenInFront = function (a) { + return {$: 'ChildrenInFront', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$nearbyElement = F2( + function (location, elem) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + function () { + switch (location.$) { + case 'Above': + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.above])); + case 'Below': + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.below])); + case 'OnRight': + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.onRight])); + case 'OnLeft': + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.onLeft])); + case 'InFront': + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.inFront])); + default: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.nearby, $mdgriffith$elm_ui$Internal$Style$classes.single, $mdgriffith$elm_ui$Internal$Style$classes.behind])); + } + }()) + ]), + _List_fromArray( + [ + function () { + switch (elem.$) { + case 'Empty': + return $elm$virtual_dom$VirtualDom$text(''); + case 'Text': + var str = elem.a; + return $mdgriffith$elm_ui$Internal$Model$textElement(str); + case 'Unstyled': + var html = elem.a; + return html($mdgriffith$elm_ui$Internal$Model$asEl); + default: + var styled = elem.a; + return A2(styled.html, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, $mdgriffith$elm_ui$Internal$Model$asEl); + } + }() + ])); + }); +var $mdgriffith$elm_ui$Internal$Model$addNearbyElement = F3( + function (location, elem, existing) { + var nearby = A2($mdgriffith$elm_ui$Internal$Model$nearbyElement, location, elem); + switch (existing.$) { + case 'NoNearbyChildren': + if (location.$ === 'Behind') { + return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( + _List_fromArray( + [nearby])); + } else { + return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( + _List_fromArray( + [nearby])); + } + case 'ChildrenBehind': + var existingBehind = existing.a; + if (location.$ === 'Behind') { + return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( + A2($elm$core$List$cons, nearby, existingBehind)); + } else { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + existingBehind, + _List_fromArray( + [nearby])); + } + case 'ChildrenInFront': + var existingInFront = existing.a; + if (location.$ === 'Behind') { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + _List_fromArray( + [nearby]), + existingInFront); + } else { + return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( + A2($elm$core$List$cons, nearby, existingInFront)); + } + default: + var existingBehind = existing.a; + var existingInFront = existing.b; + if (location.$ === 'Behind') { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + A2($elm$core$List$cons, nearby, existingBehind), + existingInFront); + } else { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + existingBehind, + A2($elm$core$List$cons, nearby, existingInFront)); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Embedded = F2( + function (a, b) { + return {$: 'Embedded', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$NodeName = function (a) { + return {$: 'NodeName', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$addNodeName = F2( + function (newNode, old) { + switch (old.$) { + case 'Generic': + return $mdgriffith$elm_ui$Internal$Model$NodeName(newNode); + case 'NodeName': + var name = old.a; + return A2($mdgriffith$elm_ui$Internal$Model$Embedded, name, newNode); + default: + var x = old.a; + var y = old.b; + return A2($mdgriffith$elm_ui$Internal$Model$Embedded, x, y); + } + }); +var $mdgriffith$elm_ui$Internal$Model$alignXName = function (align) { + switch (align.$) { + case 'Left': + return $mdgriffith$elm_ui$Internal$Style$classes.alignedHorizontally + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignLeft); + case 'Right': + return $mdgriffith$elm_ui$Internal$Style$classes.alignedHorizontally + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignRight); + default: + return $mdgriffith$elm_ui$Internal$Style$classes.alignedHorizontally + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignCenterX); + } +}; +var $mdgriffith$elm_ui$Internal$Model$alignYName = function (align) { + switch (align.$) { + case 'Top': + return $mdgriffith$elm_ui$Internal$Style$classes.alignedVertically + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignTop); + case 'Bottom': + return $mdgriffith$elm_ui$Internal$Style$classes.alignedVertically + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignBottom); + default: + return $mdgriffith$elm_ui$Internal$Style$classes.alignedVertically + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.alignCenterY); + } +}; +var $elm$virtual_dom$VirtualDom$attribute = F2( + function (key, value) { + return A2( + _VirtualDom_attribute, + _VirtualDom_noOnOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $mdgriffith$elm_ui$Internal$Model$FullTransform = F4( + function (a, b, c, d) { + return {$: 'FullTransform', a: a, b: b, c: c, d: d}; + }); +var $mdgriffith$elm_ui$Internal$Model$Moved = function (a) { + return {$: 'Moved', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$composeTransformation = F2( + function (transform, component) { + switch (transform.$) { + case 'Untransformed': + switch (component.$) { + case 'MoveX': + var x = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, 0, 0)); + case 'MoveY': + var y = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(0, y, 0)); + case 'MoveZ': + var z = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(0, 0, z)); + case 'MoveXYZ': + var xyz = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); + case 'Rotate': + var xyz = component.a; + var angle = component.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(0, 0, 0), + _Utils_Tuple3(1, 1, 1), + xyz, + angle); + default: + var xyz = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(0, 0, 0), + xyz, + _Utils_Tuple3(0, 0, 1), + 0); + } + case 'Moved': + var moved = transform.a; + var x = moved.a; + var y = moved.b; + var z = moved.c; + switch (component.$) { + case 'MoveX': + var newX = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(newX, y, z)); + case 'MoveY': + var newY = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, newY, z)); + case 'MoveZ': + var newZ = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, y, newZ)); + case 'MoveXYZ': + var xyz = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); + case 'Rotate': + var xyz = component.a; + var angle = component.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + moved, + _Utils_Tuple3(1, 1, 1), + xyz, + angle); + default: + var scale = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + moved, + scale, + _Utils_Tuple3(0, 0, 1), + 0); + } + default: + var moved = transform.a; + var x = moved.a; + var y = moved.b; + var z = moved.c; + var scaled = transform.b; + var origin = transform.c; + var angle = transform.d; + switch (component.$) { + case 'MoveX': + var newX = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(newX, y, z), + scaled, + origin, + angle); + case 'MoveY': + var newY = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(x, newY, z), + scaled, + origin, + angle); + case 'MoveZ': + var newZ = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(x, y, newZ), + scaled, + origin, + angle); + case 'MoveXYZ': + var newMove = component.a; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, newMove, scaled, origin, angle); + case 'Rotate': + var newOrigin = component.a; + var newAngle = component.b; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, scaled, newOrigin, newAngle); + default: + var newScale = component.a; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, newScale, origin, angle); + } + } + }); +var $mdgriffith$elm_ui$Internal$Flag$height = $mdgriffith$elm_ui$Internal$Flag$flag(7); +var $mdgriffith$elm_ui$Internal$Flag$heightContent = $mdgriffith$elm_ui$Internal$Flag$flag(36); +var $mdgriffith$elm_ui$Internal$Flag$merge = F2( + function (_v0, _v1) { + var one = _v0.a; + var two = _v0.b; + var three = _v1.a; + var four = _v1.b; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, one | three, two | four); + }); +var $mdgriffith$elm_ui$Internal$Flag$none = A2($mdgriffith$elm_ui$Internal$Flag$Field, 0, 0); +var $mdgriffith$elm_ui$Internal$Model$renderHeight = function (h) { + switch (h.$) { + case 'Px': + var px = h.a; + var val = $elm$core$String$fromInt(px); + var name = 'height-px-' + val; + return _Utils_Tuple3( + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Style$classes.heightExact + (' ' + name), + _List_fromArray( + [ + A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height', val + 'px') + ])); + case 'Content': + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightContent, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.heightContent, + _List_Nil); + case 'Fill': + var portion = h.a; + return (portion === 1) ? _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.heightFill, + _List_Nil) : _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.heightFillPortion + (' height-fill-' + $elm$core$String$fromInt(portion)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.any + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.column + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'height-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)) + ])); + case 'Min': + var minSize = h.a; + var len = h.b; + var cls = 'min-height-' + $elm$core$String$fromInt(minSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'min-height', + $elm$core$String$fromInt(minSize) + 'px !important'); + var _v1 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); + var newFlag = _v1.a; + var newAttrs = _v1.b; + var newStyle = _v1.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + default: + var maxSize = h.a; + var len = h.b; + var cls = 'max-height-' + $elm$core$String$fromInt(maxSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'max-height', + $elm$core$String$fromInt(maxSize) + 'px'); + var _v2 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); + var newFlag = _v2.a; + var newAttrs = _v2.b; + var newStyle = _v2.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + } +}; +var $mdgriffith$elm_ui$Internal$Flag$widthContent = $mdgriffith$elm_ui$Internal$Flag$flag(38); +var $mdgriffith$elm_ui$Internal$Model$renderWidth = function (w) { + switch (w.$) { + case 'Px': + var px = w.a; + return _Utils_Tuple3( + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Style$classes.widthExact + (' width-px-' + $elm$core$String$fromInt(px)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'width-px-' + $elm$core$String$fromInt(px), + 'width', + $elm$core$String$fromInt(px) + 'px') + ])); + case 'Content': + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthContent, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.widthContent, + _List_Nil); + case 'Fill': + var portion = w.a; + return (portion === 1) ? _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.widthFill, + _List_Nil) : _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.widthFillPortion + (' width-fill-' + $elm$core$String$fromInt(portion)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.any + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.row + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'width-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)) + ])); + case 'Min': + var minSize = w.a; + var len = w.b; + var cls = 'min-width-' + $elm$core$String$fromInt(minSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'min-width', + $elm$core$String$fromInt(minSize) + 'px'); + var _v1 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); + var newFlag = _v1.a; + var newAttrs = _v1.b; + var newStyle = _v1.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + default: + var maxSize = w.a; + var len = w.b; + var cls = 'max-width-' + $elm$core$String$fromInt(maxSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'max-width', + $elm$core$String$fromInt(maxSize) + 'px'); + var _v2 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); + var newFlag = _v2.a; + var newAttrs = _v2.b; + var newStyle = _v2.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + } +}; +var $mdgriffith$elm_ui$Internal$Flag$borderWidth = $mdgriffith$elm_ui$Internal$Flag$flag(27); +var $elm$core$Basics$ge = _Utils_ge; +var $mdgriffith$elm_ui$Internal$Model$skippable = F2( + function (flag, style) { + if (_Utils_eq(flag, $mdgriffith$elm_ui$Internal$Flag$borderWidth)) { + if (style.$ === 'Single') { + var val = style.c; + switch (val) { + case '0px': + return true; + case '1px': + return true; + case '2px': + return true; + case '3px': + return true; + case '4px': + return true; + case '5px': + return true; + case '6px': + return true; + default: + return false; + } + } else { + return false; + } + } else { + switch (style.$) { + case 'FontSize': + var i = style.a; + return (i >= 8) && (i <= 32); + case 'PaddingStyle': + var name = style.a; + var t = style.b; + var r = style.c; + var b = style.d; + var l = style.e; + return _Utils_eq(t, b) && (_Utils_eq(t, r) && (_Utils_eq(t, l) && ((t >= 0) && (t <= 24)))); + default: + return false; + } + } + }); +var $mdgriffith$elm_ui$Internal$Flag$width = $mdgriffith$elm_ui$Internal$Flag$flag(6); +var $mdgriffith$elm_ui$Internal$Flag$xAlign = $mdgriffith$elm_ui$Internal$Flag$flag(30); +var $mdgriffith$elm_ui$Internal$Flag$yAlign = $mdgriffith$elm_ui$Internal$Flag$flag(29); +var $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive = F8( + function (classes, node, has, transform, styles, attrs, children, elementAttrs) { + gatherAttrRecursive: + while (true) { + if (!elementAttrs.b) { + var _v1 = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); + if (_v1.$ === 'Nothing') { + return { + attributes: A2( + $elm$core$List$cons, + $elm$html$Html$Attributes$class(classes), + attrs), + children: children, + has: has, + node: node, + styles: styles + }; + } else { + var _class = _v1.a; + return { + attributes: A2( + $elm$core$List$cons, + $elm$html$Html$Attributes$class(classes + (' ' + _class)), + attrs), + children: children, + has: has, + node: node, + styles: A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Transform(transform), + styles) + }; + } + } else { + var attribute = elementAttrs.a; + var remaining = elementAttrs.b; + switch (attribute.$) { + case 'NoAttribute': + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Class': + var flag = attribute.a; + var exactClassName = attribute.b; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = exactClassName + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + case 'Attr': + var actualAttribute = attribute.a; + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2($elm$core$List$cons, actualAttribute, attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'StyleClass': + var flag = attribute.a; + var style = attribute.b; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + if (A2($mdgriffith$elm_ui$Internal$Model$skippable, flag, style)) { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = A2($elm$core$List$cons, style, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 'TransformComponent': + var flag = attribute.a; + var component = attribute.b; + var $temp$classes = classes, + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = A2($mdgriffith$elm_ui$Internal$Model$composeTransformation, transform, component), + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Width': + var width = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$width, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + switch (width.$) { + case 'Px': + var px = width.a; + var $temp$classes = ($mdgriffith$elm_ui$Internal$Style$classes.widthExact + (' width-px-' + $elm$core$String$fromInt(px))) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'width-px-' + $elm$core$String$fromInt(px), + 'width', + $elm$core$String$fromInt(px) + 'px'), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Content': + var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.widthContent), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthContent, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Fill': + var portion = width.a; + if (portion === 1) { + var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.widthFill), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.widthFillPortion + (' width-fill-' + $elm$core$String$fromInt(portion)))), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.any + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.row + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'width-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var _v4 = $mdgriffith$elm_ui$Internal$Model$renderWidth(width); + var addToFlags = _v4.a; + var newClass = _v4.b; + var newStyles = _v4.c; + var $temp$classes = classes + (' ' + newClass), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$merge, + addToFlags, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = _Utils_ap(newStyles, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 'Height': + var height = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$height, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + switch (height.$) { + case 'Px': + var px = height.a; + var val = $elm$core$String$fromInt(px) + 'px'; + var name = 'height-px-' + val; + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.heightExact + (' ' + (name + (' ' + classes))), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height ', val), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Content': + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.heightContent + (' ' + classes), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightContent, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Fill': + var portion = height.a; + if (portion === 1) { + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.heightFill + (' ' + classes), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.heightFillPortion + (' height-fill-' + $elm$core$String$fromInt(portion)))), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.any + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.column + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'height-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var _v6 = $mdgriffith$elm_ui$Internal$Model$renderHeight(height); + var addToFlags = _v6.a; + var newClass = _v6.b; + var newStyles = _v6.c; + var $temp$classes = classes + (' ' + newClass), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$merge, + addToFlags, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = _Utils_ap(newStyles, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 'Describe': + var description = attribute.a; + switch (description.$) { + case 'Main': + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'main', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Navigation': + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'nav', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'ContentInfo': + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'footer', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Complementary': + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'aside', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Heading': + var i = description.a; + if (i <= 1) { + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h1', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + if (i < 7) { + var $temp$classes = classes, + $temp$node = A2( + $mdgriffith$elm_ui$Internal$Model$addNodeName, + 'h' + $elm$core$String$fromInt(i), + node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h6', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 'Paragraph': + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Button': + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'role', 'button'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'Label': + var label = description.a; + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-label', label), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'LivePolite': + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'polite'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + default: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'assertive'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + case 'Nearby': + var location = attribute.a; + var elem = attribute.b; + var newStyles = function () { + switch (elem.$) { + case 'Empty': + return styles; + case 'Text': + var str = elem.a; + return styles; + case 'Unstyled': + var html = elem.a; + return styles; + default: + var styled = elem.a; + return _Utils_ap(styles, styled.styles); + } + }(); + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = newStyles, + $temp$attrs = attrs, + $temp$children = A3($mdgriffith$elm_ui$Internal$Model$addNearbyElement, location, elem, children), + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 'AlignX': + var x = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignXName(x) + (' ' + classes), + $temp$node = node, + $temp$has = function (flags) { + switch (x.$) { + case 'CenterX': + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerX, flags); + case 'Right': + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignRight, flags); + default: + return flags; + } + }( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var y = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignYName(y) + (' ' + classes), + $temp$node = node, + $temp$has = function (flags) { + switch (y.$) { + case 'CenterY': + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerY, flags); + case 'Bottom': + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignBottom, flags); + default: + return flags; + } + }( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Untransformed = {$: 'Untransformed'}; +var $mdgriffith$elm_ui$Internal$Model$untransformed = $mdgriffith$elm_ui$Internal$Model$Untransformed; +var $mdgriffith$elm_ui$Internal$Model$element = F4( + function (context, node, attributes, children) { + return A3( + $mdgriffith$elm_ui$Internal$Model$createElement, + context, + children, + A8( + $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive, + $mdgriffith$elm_ui$Internal$Model$contextClasses(context), + node, + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Model$untransformed, + _List_Nil, + _List_Nil, + $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren, + $elm$core$List$reverse(attributes))); + }); +var $mdgriffith$elm_ui$Internal$Model$Height = function (a) { + return {$: 'Height', a: a}; +}; +var $mdgriffith$elm_ui$Element$height = $mdgriffith$elm_ui$Internal$Model$Height; +var $mdgriffith$elm_ui$Internal$Model$Attr = function (a) { + return {$: 'Attr', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$htmlClass = function (cls) { + return $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$class(cls)); +}; +var $mdgriffith$elm_ui$Internal$Model$Content = {$: 'Content'}; +var $mdgriffith$elm_ui$Element$shrink = $mdgriffith$elm_ui$Internal$Model$Content; +var $mdgriffith$elm_ui$Internal$Model$Width = function (a) { + return {$: 'Width', a: a}; +}; +var $mdgriffith$elm_ui$Element$width = $mdgriffith$elm_ui$Internal$Model$Width; +var $mdgriffith$elm_ui$Element$column = F2( + function (attrs, children) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asColumn, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.contentTop + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.contentLeft)), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + attrs))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); + }); +var $author$project$Emoji$emojis = { + nature: _List_fromArray( + [ + { + name: 'dog', + tags: _List_fromArray( + ['pet']), + unicode: '๐Ÿถ', + x: 644, + y: 874 + }, + { + name: 'cat', + tags: _List_fromArray( + ['pet']), + unicode: '๐Ÿฑ', + x: 644, + y: 644 + }, + {name: 'mouse', tags: _List_Nil, unicode: '๐Ÿญ', x: 0, y: 1334}, + { + name: 'hamster', + tags: _List_fromArray( + ['pet']), + unicode: '๐Ÿน', + x: 368, + y: 1104 + }, + { + name: 'rabbit', + tags: _List_fromArray( + ['bunny']), + unicode: '๐Ÿฐ', + x: 368, + y: 1472 + }, + {name: 'fox_face', tags: _List_Nil, unicode: '๐ŸฆŠ', x: 1058, y: 184}, + {name: 'bear', tags: _List_Nil, unicode: '๐Ÿป', x: 0, y: 460}, + {name: 'panda_face', tags: _List_Nil, unicode: '๐Ÿผ', x: 1426, y: 874}, + {name: 'koala', tags: _List_Nil, unicode: '๐Ÿจ', x: 552, y: 1196}, + {name: 'tiger', tags: _List_Nil, unicode: '๐Ÿฏ', x: 1656, y: 1610}, + {name: 'lion', tags: _List_Nil, unicode: '๐Ÿฆ', x: 1242, y: 874}, + {name: 'cow', tags: _List_Nil, unicode: '๐Ÿฎ', x: 828, y: 552}, + {name: 'pig', tags: _List_Nil, unicode: '๐Ÿท', x: 920, y: 1426}, + {name: 'pig_nose', tags: _List_Nil, unicode: '๐Ÿฝ', x: 1012, y: 1426}, + {name: 'frog', tags: _List_Nil, unicode: '๐Ÿธ', x: 1058, y: 644}, + {name: 'monkey_face', tags: _List_Nil, unicode: '๐Ÿต', x: 1334, y: 414}, + { + name: 'see_no_evil', + tags: _List_fromArray( + ['monkey', 'blind', 'ignore']), + unicode: '๐Ÿ™ˆ', + x: 1564, + y: 92 + }, + { + name: 'hear_no_evil', + tags: _List_fromArray( + ['monkey', 'deaf']), + unicode: '๐Ÿ™‰', + x: 782, + y: 1104 + }, + { + name: 'speak_no_evil', + tags: _List_fromArray( + ['monkey', 'mute', 'hush']), + unicode: '๐Ÿ™Š', + x: 1610, + y: 552 + }, + {name: 'monkey', tags: _List_Nil, unicode: '๐Ÿ’', x: 1334, y: 368}, + {name: 'chicken', tags: _List_Nil, unicode: '๐Ÿ”', x: 0, y: 690}, + {name: 'penguin', tags: _List_Nil, unicode: '๐Ÿง', x: 368, y: 1426}, + {name: 'bird', tags: _List_Nil, unicode: '๐Ÿฆ', x: 0, y: 506}, + {name: 'baby_chick', tags: _List_Nil, unicode: '๐Ÿค', x: 276, y: 368}, + {name: 'hatching_chick', tags: _List_Nil, unicode: '๐Ÿฃ', x: 690, y: 1104}, + {name: 'hatched_chick', tags: _List_Nil, unicode: '๐Ÿฅ', x: 644, y: 1104}, + {name: 'duck', tags: _List_Nil, unicode: '๐Ÿฆ†', x: 920, y: 506}, + {name: 'eagle', tags: _List_Nil, unicode: '๐Ÿฆ…', x: 920, y: 644}, + {name: 'owl', tags: _List_Nil, unicode: '๐Ÿฆ‰', x: 1426, y: 276}, + {name: 'bat', tags: _List_Nil, unicode: '๐Ÿฆ‡', x: 460, y: 230}, + {name: 'wolf', tags: _List_Nil, unicode: '๐Ÿบ', x: 1748, y: 920}, + {name: 'boar', tags: _List_Nil, unicode: '๐Ÿ—', x: 552, y: 368}, + {name: 'horse', tags: _List_Nil, unicode: '๐Ÿด', x: 1150, y: 874}, + {name: 'unicorn', tags: _List_Nil, unicode: '๐Ÿฆ„', x: 1702, y: 1426}, + {name: 'bee', tags: _List_Nil, unicode: '๐Ÿ', x: 92, y: 460}, + {name: 'bug', tags: _List_Nil, unicode: '๐Ÿ›', x: 0, y: 598}, + {name: 'butterfly', tags: _List_Nil, unicode: '๐Ÿฆ‹', x: 644, y: 0}, + { + name: 'snail', + tags: _List_fromArray( + ['slow']), + unicode: '๐ŸŒ', + x: 1058, + y: 1564 + }, + { + name: 'shell', + tags: _List_fromArray( + ['sea', 'beach']), + unicode: '๐Ÿš', + x: 1564, + y: 644 + }, + { + name: 'beetle', + tags: _List_fromArray( + ['bug']), + unicode: '๐Ÿž', + x: 230, + y: 460 + }, + {name: 'ant', tags: _List_Nil, unicode: '๐Ÿœ', x: 138, y: 230}, + {name: 'spider', tags: _List_Nil, unicode: '๐Ÿ•ท', x: 1610, y: 782}, + {name: 'spider_web', tags: _List_Nil, unicode: '๐Ÿ•ธ', x: 1610, y: 828}, + { + name: 'turtle', + tags: _List_fromArray( + ['slow']), + unicode: '๐Ÿข', + x: 1702, + y: 276 + }, + {name: 'snake', tags: _List_Nil, unicode: '๐Ÿ', x: 1104, y: 1564}, + {name: 'lizard', tags: _List_Nil, unicode: '๐ŸฆŽ', x: 1242, y: 1058}, + {name: 'scorpion', tags: _List_Nil, unicode: '๐Ÿฆ‚', x: 1334, y: 1518}, + {name: 'crab', tags: _List_Nil, unicode: '๐Ÿฆ€', x: 828, y: 690}, + {name: 'squid', tags: _List_Nil, unicode: '๐Ÿฆ‘', x: 1610, y: 1012}, + {name: 'octopus', tags: _List_Nil, unicode: '๐Ÿ™', x: 368, y: 1380}, + {name: 'shrimp', tags: _List_Nil, unicode: '๐Ÿฆ', x: 1564, y: 1150}, + {name: 'tropical_fish', tags: _List_Nil, unicode: '๐Ÿ ', x: 1518, y: 1656}, + {name: 'fish', tags: _List_Nil, unicode: '๐ŸŸ', x: 0, y: 1012}, + {name: 'blowfish', tags: _List_Nil, unicode: '๐Ÿก', x: 552, y: 138}, + {name: 'dolphin', tags: _List_Nil, unicode: '๐Ÿฌ', x: 828, y: 874}, + {name: 'shark', tags: _List_Nil, unicode: '๐Ÿฆˆ', x: 1564, y: 506}, + { + name: 'whale', + tags: _List_fromArray( + ['sea']), + unicode: '๐Ÿณ', + x: 1748, + y: 92 + }, + {name: 'whale2', tags: _List_Nil, unicode: '๐Ÿ‹', x: 1748, y: 138}, + {name: 'crocodile', tags: _List_Nil, unicode: '๐ŸŠ', x: 138, y: 828}, + {name: 'leopard', tags: _List_Nil, unicode: '๐Ÿ†', x: 1242, y: 460}, + {name: 'tiger2', tags: _List_Nil, unicode: '๐Ÿ…', x: 0, y: 1656}, + {name: 'water_buffalo', tags: _List_Nil, unicode: '๐Ÿƒ', x: 1288, y: 1702}, + {name: 'ox', tags: _List_Nil, unicode: '๐Ÿ‚', x: 1426, y: 322}, + {name: 'cow2', tags: _List_Nil, unicode: '๐Ÿ„', x: 828, y: 598}, + {name: 'deer', tags: _List_Nil, unicode: '๐ŸฆŒ', x: 874, y: 782}, + { + name: 'dromedary_camel', + tags: _List_fromArray( + ['desert']), + unicode: '๐Ÿช', + x: 920, + y: 322 + }, + {name: 'camel', tags: _List_Nil, unicode: '๐Ÿซ', x: 644, y: 322}, + {name: 'elephant', tags: _List_Nil, unicode: '๐Ÿ˜', x: 460, y: 920}, + {name: 'rhinoceros', tags: _List_Nil, unicode: '๐Ÿฆ', x: 1518, y: 736}, + {name: 'gorilla', tags: _List_Nil, unicode: '๐Ÿฆ', x: 1058, y: 1058}, + { + name: 'racehorse', + tags: _List_fromArray( + ['speed']), + unicode: '๐ŸŽ', + x: 460, + y: 1472 + }, + {name: 'pig2', tags: _List_Nil, unicode: '๐Ÿ–', x: 966, y: 1426}, + {name: 'goat', tags: _List_Nil, unicode: '๐Ÿ', x: 782, y: 1058}, + {name: 'ram', tags: _List_Nil, unicode: '๐Ÿ', x: 1426, y: 1472}, + {name: 'sheep', tags: _List_Nil, unicode: '๐Ÿ‘', x: 1564, y: 598}, + {name: 'dog2', tags: _List_Nil, unicode: '๐Ÿ•', x: 690, y: 874}, + { + name: 'poodle', + tags: _List_fromArray( + ['dog']), + unicode: '๐Ÿฉ', + x: 1472, + y: 414 + }, + {name: 'cat2', tags: _List_Nil, unicode: '๐Ÿˆ', x: 690, y: 0}, + {name: 'rooster', tags: _List_Nil, unicode: '๐Ÿ“', x: 1518, y: 1380}, + { + name: 'turkey', + tags: _List_fromArray( + ['thanksgiving']), + unicode: '๐Ÿฆƒ', + x: 1702, + y: 138 + }, + { + name: 'dove', + tags: _List_fromArray( + ['peace']), + unicode: '๐Ÿ•Š', + x: 920, + y: 138 + }, + {name: 'rabbit2', tags: _List_Nil, unicode: '๐Ÿ‡', x: 414, y: 1472}, + {name: 'mouse2', tags: _List_Nil, unicode: '๐Ÿ', x: 46, y: 1334}, + {name: 'rat', tags: _List_Nil, unicode: '๐Ÿ€', x: 1518, y: 0}, + {name: 'chipmunk', tags: _List_Nil, unicode: '๐Ÿฟ', x: 138, y: 690}, + {name: 'feet', tags: _List_Nil, unicode: '๐Ÿพ', x: 1012, y: 230}, + {name: 'dragon', tags: _List_Nil, unicode: '๐Ÿ‰', x: 920, y: 184}, + {name: 'dragon_face', tags: _List_Nil, unicode: '๐Ÿฒ', x: 920, y: 230}, + {name: 'cactus', tags: _List_Nil, unicode: '๐ŸŒต', x: 644, y: 46}, + {name: 'christmas_tree', tags: _List_Nil, unicode: '๐ŸŽ„', x: 276, y: 690}, + { + name: 'evergreen_tree', + tags: _List_fromArray( + ['wood']), + unicode: '๐ŸŒฒ', + x: 966, + y: 184 + }, + { + name: 'deciduous_tree', + tags: _List_fromArray( + ['wood']), + unicode: '๐ŸŒณ', + x: 874, + y: 736 + }, + {name: 'palm_tree', tags: _List_Nil, unicode: '๐ŸŒด', x: 1426, y: 736}, + { + name: 'seedling', + tags: _List_fromArray( + ['plant']), + unicode: '๐ŸŒฑ', + x: 1564, + y: 138 + }, + {name: 'herb', tags: _List_Nil, unicode: '๐ŸŒฟ', x: 1150, y: 414}, + {name: 'shamrock', tags: _List_Nil, unicode: 'โ˜˜๏ธ', x: 1564, y: 460}, + { + name: 'four_leaf_clover', + tags: _List_fromArray( + ['luck']), + unicode: '๐Ÿ€', + x: 1058, + y: 138 + }, + {name: 'bamboo', tags: _List_Nil, unicode: '๐ŸŽ', x: 46, y: 414}, + {name: 'tanabata_tree', tags: _List_Nil, unicode: '๐ŸŽ‹', x: 1656, y: 690}, + { + name: 'leaves', + tags: _List_fromArray( + ['leaf']), + unicode: '๐Ÿƒ', + x: 1242, + y: 92 + }, + { + name: 'fallen_leaf', + tags: _List_fromArray( + ['autumn']), + unicode: '๐Ÿ‚', + x: 966, + y: 736 + }, + { + name: 'maple_leaf', + tags: _List_fromArray( + ['canada']), + unicode: '๐Ÿ', + x: 1288, + y: 1242 + }, + {name: 'mushroom', tags: _List_Nil, unicode: '๐Ÿ„', x: 322, y: 1334}, + {name: 'ear_of_rice', tags: _List_Nil, unicode: '๐ŸŒพ', x: 920, y: 736}, + { + name: 'bouquet', + tags: _List_fromArray( + ['flowers']), + unicode: '๐Ÿ’', + x: 368, + y: 552 + }, + { + name: 'tulip', + tags: _List_fromArray( + ['flower']), + unicode: '๐ŸŒท', + x: 1702, + y: 0 + }, + { + name: 'rose', + tags: _List_fromArray( + ['flower']), + unicode: '๐ŸŒน', + x: 1518, + y: 1426 + }, + {name: 'wilted_flower', tags: _List_Nil, unicode: '๐Ÿฅ€', x: 1748, y: 690}, + {name: 'sunflower', tags: _List_Nil, unicode: '๐ŸŒป', x: 966, y: 1610}, + {name: 'blossom', tags: _List_Nil, unicode: '๐ŸŒผ', x: 552, y: 92}, + { + name: 'cherry_blossom', + tags: _List_fromArray( + ['flower', 'spring']), + unicode: '๐ŸŒธ', + x: 690, + y: 598 + }, + {name: 'hibiscus', tags: _List_Nil, unicode: '๐ŸŒบ', x: 1150, y: 460}, + { + name: 'earth_americas', + tags: _List_fromArray( + ['globe', 'world', 'international']), + unicode: '๐ŸŒŽ', + x: 920, + y: 828 + }, + { + name: 'earth_africa', + tags: _List_fromArray( + ['globe', 'world', 'international']), + unicode: '๐ŸŒ', + x: 920, + y: 782 + }, + { + name: 'earth_asia', + tags: _List_fromArray( + ['globe', 'world', 'international']), + unicode: '๐ŸŒ', + x: 920, + y: 874 + }, + {name: 'full_moon', tags: _List_Nil, unicode: '๐ŸŒ•', x: 1058, y: 966}, + {name: 'waning_gibbous_moon', tags: _List_Nil, unicode: '๐ŸŒ–', x: 1104, y: 1702}, + {name: 'last_quarter_moon', tags: _List_Nil, unicode: '๐ŸŒ—', x: 1104, y: 1196}, + {name: 'waning_crescent_moon', tags: _List_Nil, unicode: '๐ŸŒ˜', x: 1058, y: 1702}, + {name: 'new_moon', tags: _List_Nil, unicode: '๐ŸŒ‘', x: 1288, y: 1334}, + {name: 'waxing_crescent_moon', tags: _List_Nil, unicode: '๐ŸŒ’', x: 1472, y: 1702}, + {name: 'first_quarter_moon', tags: _List_Nil, unicode: '๐ŸŒ“', x: 1012, y: 920}, + {name: 'moon', tags: _List_Nil, unicode: '๐ŸŒ”', x: 1334, y: 598}, + {name: 'new_moon_with_face', tags: _List_Nil, unicode: '๐ŸŒš', x: 1334, y: 1334}, + {name: 'full_moon_with_face', tags: _List_Nil, unicode: '๐ŸŒ', x: 1058, y: 1012}, + { + name: 'sun_with_face', + tags: _List_fromArray( + ['summer']), + unicode: '๐ŸŒž', + x: 920, + y: 1610 + }, + {name: 'first_quarter_moon_with_face', tags: _List_Nil, unicode: '๐ŸŒ›', x: 1012, y: 966}, + {name: 'last_quarter_moon_with_face', tags: _List_Nil, unicode: '๐ŸŒœ', x: 1150, y: 1196}, + { + name: 'crescent_moon', + tags: _List_fromArray( + ['night']), + unicode: '๐ŸŒ™', + x: 0, + y: 828 + }, + { + name: 'dizzy', + tags: _List_fromArray( + ['star']), + unicode: '๐Ÿ’ซ', + x: 460, + y: 874 + }, + {name: 'star', tags: _List_Nil, unicode: 'โญ๏ธ', x: 1610, y: 1472}, + {name: 'star2', tags: _List_Nil, unicode: '๐ŸŒŸ', x: 1610, y: 1518}, + { + name: 'sparkles', + tags: _List_fromArray( + ['shiny']), + unicode: 'โœจ', + x: 1610, + y: 460 + }, + { + name: 'zap', + tags: _List_fromArray( + ['lightning', 'thunder']), + unicode: 'โšก๏ธ', + x: 1012, + y: 1748 + }, + { + name: 'fire', + tags: _List_fromArray( + ['burn']), + unicode: '๐Ÿ”ฅ', + x: 1012, + y: 782 + }, + { + name: 'boom', + tags: _List_fromArray( + ['explode']), + unicode: '๐Ÿ’ฅ', + x: 184, + y: 552 + }, + {name: 'comet', tags: _List_Nil, unicode: 'โ˜„', x: 782, y: 598}, + { + name: 'sunny', + tags: _List_fromArray( + ['weather']), + unicode: 'โ˜€๏ธ', + x: 1058, + y: 1610 + }, + {name: 'sun_behind_small_cloud', tags: _List_Nil, unicode: '๐ŸŒค', x: 874, y: 1610}, + { + name: 'partly_sunny', + tags: _List_fromArray( + ['weather', 'cloud']), + unicode: 'โ›…๏ธ', + x: 1426, + y: 1242 + }, + {name: 'sun_behind_large_cloud', tags: _List_Nil, unicode: '๐ŸŒฅ', x: 782, y: 1610}, + {name: 'sun_behind_rain_cloud', tags: _List_Nil, unicode: '๐ŸŒฆ', x: 828, y: 1610}, + {name: 'rainbow', tags: _List_Nil, unicode: '๐ŸŒˆ', x: 1012, y: 1472}, + {name: 'cloud', tags: _List_Nil, unicode: 'โ˜๏ธ', x: 690, y: 736}, + {name: 'cloud_with_rain', tags: _List_Nil, unicode: '๐ŸŒง', x: 782, y: 46}, + {name: 'cloud_with_lightning_and_rain', tags: _List_Nil, unicode: 'โ›ˆ', x: 782, y: 0}, + {name: 'cloud_with_lightning', tags: _List_Nil, unicode: '๐ŸŒฉ', x: 736, y: 736}, + {name: 'cloud_with_snow', tags: _List_Nil, unicode: '๐ŸŒจ', x: 782, y: 92}, + { + name: 'snowman_with_snow', + tags: _List_fromArray( + ['winter', 'christmas']), + unicode: 'โ˜ƒ๏ธ', + x: 1334, + y: 1564 + }, + { + name: 'snowman', + tags: _List_fromArray( + ['winter']), + unicode: 'โ›„๏ธ', + x: 1288, + y: 1564 + }, + { + name: 'snowflake', + tags: _List_fromArray( + ['winter', 'cold', 'weather']), + unicode: 'โ„๏ธ', + x: 1242, + y: 1564 + }, + {name: 'wind_face', tags: _List_Nil, unicode: '๐ŸŒฌ', x: 1748, y: 782}, + { + name: 'dash', + tags: _List_fromArray( + ['wind', 'blow', 'fast']), + unicode: '๐Ÿ’จ', + x: 874, + y: 598 + }, + {name: 'tornado', tags: _List_Nil, unicode: '๐ŸŒช', x: 736, y: 1656}, + {name: 'fog', tags: _List_Nil, unicode: '๐ŸŒซ', x: 828, y: 1012}, + { + name: 'ocean', + tags: _List_fromArray( + ['sea']), + unicode: '๐ŸŒŠ', + x: 276, + y: 1380 + }, + { + name: 'droplet', + tags: _List_fromArray( + ['water']), + unicode: '๐Ÿ’ง', + x: 920, + y: 414 + }, + { + name: 'sweat_drops', + tags: _List_fromArray( + ['water', 'workout']), + unicode: '๐Ÿ’ฆ', + x: 1610, + y: 1610 + }, + { + name: 'umbrella', + tags: _List_fromArray( + ['rain', 'weather']), + unicode: 'โ˜”๏ธ', + x: 1702, + y: 1288 + }, + { + name: 'green_apple', + tags: _List_fromArray( + ['fruit']), + unicode: '๐Ÿ', + x: 1104, + y: 92 + }, + {name: 'apple', tags: _List_Nil, unicode: '๐ŸŽ', x: 276, y: 0}, + {name: 'pear', tags: _List_Nil, unicode: '๐Ÿ', x: 184, y: 1426}, + {name: 'tangerine', tags: _List_Nil, unicode: '๐ŸŠ', x: 1656, y: 736}, + {name: 'lemon', tags: _List_Nil, unicode: '๐Ÿ‹', x: 1242, y: 368}, + { + name: 'banana', + tags: _List_fromArray( + ['fruit']), + unicode: '๐ŸŒ', + x: 92, + y: 414 + }, + {name: 'watermelon', tags: _List_Nil, unicode: '๐Ÿ‰', x: 1334, y: 1702}, + {name: 'grapes', tags: _List_Nil, unicode: '๐Ÿ‡', x: 1104, y: 0}, + { + name: 'strawberry', + tags: _List_fromArray( + ['fruit']), + unicode: '๐Ÿ“', + x: 460, + y: 1610 + }, + {name: 'melon', tags: _List_Nil, unicode: '๐Ÿˆ', x: 644, y: 1288}, + { + name: 'cherries', + tags: _List_fromArray( + ['fruit']), + unicode: '๐Ÿ’', + x: 690, + y: 552 + }, + {name: 'peach', tags: _List_Nil, unicode: '๐Ÿ‘', x: 92, y: 1426}, + {name: 'pineapple', tags: _List_Nil, unicode: '๐Ÿ', x: 1104, y: 1426}, + {name: 'kiwi_fruit', tags: _List_Nil, unicode: '๐Ÿฅ', x: 460, y: 1196}, + {name: 'avocado', tags: _List_Nil, unicode: '๐Ÿฅ‘', x: 46, y: 368}, + {name: 'tomato', tags: _List_Nil, unicode: '๐Ÿ…', x: 506, y: 1656}, + { + name: 'eggplant', + tags: _List_fromArray( + ['aubergine']), + unicode: '๐Ÿ†', + x: 92, + y: 920 + }, + {name: 'cucumber', tags: _List_Nil, unicode: '๐Ÿฅ’', x: 598, y: 828}, + {name: 'carrot', tags: _List_Nil, unicode: '๐Ÿฅ•', x: 598, y: 644}, + {name: 'corn', tags: _List_Nil, unicode: '๐ŸŒฝ', x: 782, y: 782}, + { + name: 'hot_pepper', + tags: _List_fromArray( + ['spicy']), + unicode: '๐ŸŒถ', + x: 1150, + y: 1012 + }, + {name: 'potato', tags: _List_Nil, unicode: '๐Ÿฅ”', x: 1472, y: 782}, + {name: 'sweet_potato', tags: _List_Nil, unicode: '๐Ÿ ', x: 1656, y: 92}, + {name: 'chestnut', tags: _List_Nil, unicode: '๐ŸŒฐ', x: 690, y: 644}, + {name: 'peanuts', tags: _List_Nil, unicode: '๐Ÿฅœ', x: 138, y: 1426}, + {name: 'honey_pot', tags: _List_Nil, unicode: '๐Ÿฏ', x: 1150, y: 736}, + {name: 'croissant', tags: _List_Nil, unicode: '๐Ÿฅ', x: 184, y: 828}, + { + name: 'bread', + tags: _List_fromArray( + ['toast']), + unicode: '๐Ÿž', + x: 598, + y: 230 + }, + {name: 'baguette_bread', tags: _List_Nil, unicode: '๐Ÿฅ–', x: 414, y: 138}, + {name: 'cheese', tags: _List_Nil, unicode: '๐Ÿง€', x: 690, y: 506}, + {name: 'egg', tags: _List_Nil, unicode: '๐Ÿฅš', x: 46, y: 920}, + { + name: 'fried_egg', + tags: _List_fromArray( + ['breakfast']), + unicode: '๐Ÿณ', + x: 1058, + y: 506 + }, + {name: 'bacon', tags: _List_Nil, unicode: '๐Ÿฅ“', x: 414, y: 0}, + {name: 'pancakes', tags: _List_Nil, unicode: '๐Ÿฅž', x: 1426, y: 828}, + { + name: 'fried_shrimp', + tags: _List_fromArray( + ['tempura']), + unicode: '๐Ÿค', + x: 1058, + y: 552 + }, + { + name: 'poultry_leg', + tags: _List_fromArray( + ['meat', 'chicken']), + unicode: '๐Ÿ—', + x: 1472, + y: 874 + }, + {name: 'meat_on_bone', tags: _List_Nil, unicode: '๐Ÿ–', x: 460, y: 1288}, + {name: 'pizza', tags: _List_Nil, unicode: '๐Ÿ•', x: 1288, y: 1426}, + {name: 'hotdog', tags: _List_Nil, unicode: '๐ŸŒญ', x: 1150, y: 1058}, + { + name: 'hamburger', + tags: _List_fromArray( + ['burger']), + unicode: '๐Ÿ”', + x: 184, + y: 1104 + }, + {name: 'fries', tags: _List_Nil, unicode: '๐ŸŸ', x: 1058, y: 598}, + {name: 'stuffed_flatbread', tags: _List_Nil, unicode: '๐Ÿฅ™', x: 690, y: 1610}, + {name: 'taco', tags: _List_Nil, unicode: '๐ŸŒฎ', x: 1656, y: 506}, + {name: 'burrito', tags: _List_Nil, unicode: '๐ŸŒฏ', x: 322, y: 598}, + {name: 'green_salad', tags: _List_Nil, unicode: '๐Ÿฅ—', x: 1104, y: 230}, + { + name: 'shallow_pan_of_food', + tags: _List_fromArray( + ['paella', 'curry']), + unicode: '๐Ÿฅ˜', + x: 1564, + y: 414 + }, + { + name: 'spaghetti', + tags: _List_fromArray( + ['pasta']), + unicode: '๐Ÿ', + x: 1610, + y: 322 + }, + { + name: 'ramen', + tags: _List_fromArray( + ['noodle']), + unicode: '๐Ÿœ', + x: 1472, + y: 1472 + }, + {name: 'stew', tags: _List_Nil, unicode: '๐Ÿฒ', x: 230, y: 1610}, + {name: 'fish_cake', tags: _List_Nil, unicode: '๐Ÿฅ', x: 46, y: 1012}, + {name: 'sushi', tags: _List_Nil, unicode: '๐Ÿฃ', x: 1380, y: 1610}, + {name: 'bento', tags: _List_Nil, unicode: '๐Ÿฑ', x: 506, y: 92}, + {name: 'curry', tags: _List_Nil, unicode: '๐Ÿ›', x: 828, y: 828}, + {name: 'rice', tags: _List_Nil, unicode: '๐Ÿš', x: 1518, y: 828}, + {name: 'rice_ball', tags: _List_Nil, unicode: '๐Ÿ™', x: 1518, y: 874}, + {name: 'rice_cracker', tags: _List_Nil, unicode: '๐Ÿ˜', x: 1518, y: 920}, + {name: 'oden', tags: _List_Nil, unicode: '๐Ÿข', x: 414, y: 1380}, + {name: 'dango', tags: _List_Nil, unicode: '๐Ÿก', x: 874, y: 460}, + {name: 'shaved_ice', tags: _List_Nil, unicode: '๐Ÿง', x: 1564, y: 552}, + {name: 'ice_cream', tags: _List_Nil, unicode: '๐Ÿจ', x: 460, y: 1150}, + {name: 'icecream', tags: _List_Nil, unicode: '๐Ÿฆ', x: 598, y: 1150}, + { + name: 'cake', + tags: _List_fromArray( + ['dessert']), + unicode: '๐Ÿฐ', + x: 644, + y: 92 + }, + { + name: 'birthday', + tags: _List_fromArray( + ['party']), + unicode: '๐ŸŽ‚', + x: 46, + y: 506 + }, + {name: 'custard', tags: _List_Nil, unicode: '๐Ÿฎ', x: 874, y: 0}, + {name: 'lollipop', tags: _List_Nil, unicode: '๐Ÿญ', x: 1242, y: 1196}, + { + name: 'candy', + tags: _List_fromArray( + ['sweet']), + unicode: '๐Ÿฌ', + x: 92, + y: 644 + }, + {name: 'chocolate_bar', tags: _List_Nil, unicode: '๐Ÿซ', x: 184, y: 690}, + {name: 'popcorn', tags: _List_Nil, unicode: '๐Ÿฟ', x: 1472, y: 506}, + {name: 'doughnut', tags: _List_Nil, unicode: '๐Ÿฉ', x: 920, y: 92}, + {name: 'cookie', tags: _List_Nil, unicode: '๐Ÿช', x: 598, y: 782}, + {name: 'milk_glass', tags: _List_Nil, unicode: '๐Ÿฅ›', x: 1196, y: 1288}, + { + name: 'baby_bottle', + tags: _List_fromArray( + ['milk']), + unicode: '๐Ÿผ', + x: 230, + y: 368 + }, + { + name: 'coffee', + tags: _List_fromArray( + ['cafe', 'espresso']), + unicode: 'โ˜•๏ธ', + x: 782, + y: 368 + }, + { + name: 'tea', + tags: _List_fromArray( + ['green', 'breakfast']), + unicode: '๐Ÿต', + x: 1656, + y: 920 + }, + {name: 'sake', tags: _List_Nil, unicode: '๐Ÿถ', x: 736, y: 1518}, + { + name: 'beer', + tags: _List_fromArray( + ['drink']), + unicode: '๐Ÿบ', + x: 138, + y: 460 + }, + { + name: 'beers', + tags: _List_fromArray( + ['drinks']), + unicode: '๐Ÿป', + x: 184, + y: 460 + }, + { + name: 'clinking_glasses', + tags: _List_fromArray( + ['cheers', 'toast']), + unicode: '๐Ÿฅ‚', + x: 736, + y: 92 + }, + {name: 'wine_glass', tags: _List_Nil, unicode: '๐Ÿท', x: 1748, y: 828}, + { + name: 'tumbler_glass', + tags: _List_fromArray( + ['whisky']), + unicode: '๐Ÿฅƒ', + x: 1702, + y: 46 + }, + { + name: 'cocktail', + tags: _List_fromArray( + ['drink']), + unicode: '๐Ÿธ', + x: 782, + y: 276 + }, + { + name: 'tropical_drink', + tags: _List_fromArray( + ['summer', 'vacation']), + unicode: '๐Ÿน', + x: 1472, + y: 1656 + }, + { + name: 'champagne', + tags: _List_fromArray( + ['bottle', 'bubbly', 'celebration']), + unicode: '๐Ÿพ', + x: 690, + y: 276 + }, + {name: 'spoon', tags: _List_Nil, unicode: '๐Ÿฅ„', x: 1610, y: 966}, + { + name: 'fork_and_knife', + tags: _List_fromArray( + ['cutlery']), + unicode: '๐Ÿด', + x: 1012, + y: 1012 + }, + { + name: 'plate_with_cutlery', + tags: _List_fromArray( + ['dining', 'dinner']), + unicode: '๐Ÿฝ', + x: 1380, + y: 1426 + } + ]), + objects: _List_fromArray( + [ + { + name: 'soccer', + tags: _List_fromArray( + ['sports']), + unicode: 'โšฝ๏ธ', + x: 1426, + y: 1564 + }, + { + name: 'basketball', + tags: _List_fromArray( + ['sports']), + unicode: '๐Ÿ€', + x: 460, + y: 92 + }, + { + name: 'football', + tags: _List_fromArray( + ['sports']), + unicode: '๐Ÿˆ', + x: 920, + y: 1012 + }, + { + name: 'baseball', + tags: _List_fromArray( + ['sports']), + unicode: 'โšพ๏ธ', + x: 414, + y: 414 + }, + { + name: 'tennis', + tags: _List_fromArray( + ['sports']), + unicode: '๐ŸŽพ', + x: 1656, + y: 1104 + }, + {name: 'volleyball', tags: _List_Nil, unicode: '๐Ÿ', x: 736, y: 1702}, + {name: 'rugby_football', tags: _List_Nil, unicode: '๐Ÿ‰', x: 276, y: 1518}, + { + name: '8ball', + tags: _List_fromArray( + ['pool', 'billiards']), + unicode: '๐ŸŽฑ', + x: 46, + y: 92 + }, + {name: 'ping_pong', tags: _List_Nil, unicode: '๐Ÿ“', x: 1150, y: 1426}, + {name: 'badminton', tags: _List_Nil, unicode: '๐Ÿธ', x: 414, y: 46}, + {name: 'goal_net', tags: _List_Nil, unicode: '๐Ÿฅ…', x: 736, y: 1058}, + {name: 'ice_hockey', tags: _List_Nil, unicode: '๐Ÿ’', x: 506, y: 1150}, + {name: 'field_hockey', tags: _List_Nil, unicode: '๐Ÿ‘', x: 1012, y: 414}, + {name: 'cricket', tags: _List_Nil, unicode: '๐Ÿ', x: 46, y: 828}, + {name: 'golf', tags: _List_Nil, unicode: 'โ›ณ๏ธ', x: 920, y: 1058}, + { + name: 'bow_and_arrow', + tags: _List_fromArray( + ['archery']), + unicode: '๐Ÿน', + x: 460, + y: 552 + }, + {name: 'fishing_pole_and_fish', tags: _List_Nil, unicode: '๐ŸŽฃ', x: 92, y: 1012}, + {name: 'boxing_glove', tags: _List_Nil, unicode: '๐ŸฅŠ', x: 598, y: 92}, + {name: 'martial_arts_uniform', tags: _List_Nil, unicode: '๐Ÿฅ‹', x: 46, y: 1288}, + { + name: 'ice_skate', + tags: _List_fromArray( + ['skating']), + unicode: 'โ›ธ', + x: 552, + y: 1150 + }, + {name: 'ski', tags: _List_Nil, unicode: '๐ŸŽฟ', x: 1564, y: 1472}, + {name: 'skier', tags: _List_Nil, unicode: 'โ›ท', x: 1564, y: 1518}, + {name: 'snowboarder', tags: _List_Nil, unicode: '๐Ÿ‚', x: 1196, y: 1564}, + { + name: 'weight_lifting_woman', + tags: _List_fromArray( + ['gym', 'workout']), + unicode: '๐Ÿ‹๏ธ\u200Dโ™€๏ธ๏ธ', + x: 1748, + y: 0 + }, + { + name: 'weight_lifting_man', + tags: _List_fromArray( + ['gym', 'workout']), + unicode: '๐Ÿ‹', + x: 1702, + y: 1702 + }, + {name: 'person_fencing', tags: _List_Nil, unicode: '๐Ÿคบ', x: 552, y: 1426}, + {name: 'women_wrestling', tags: _List_Nil, unicode: '๐Ÿคผ\u200Dโ™€๏ธ', x: 414, y: 1748}, + {name: 'men_wrestling', tags: _List_Nil, unicode: '๐Ÿคผ\u200Dโ™‚๏ธ', x: 736, y: 1288}, + {name: 'woman_cartwheeling', tags: _List_Nil, unicode: '๐Ÿคธ\u200Dโ™€๏ธ', x: 1748, y: 1104}, + {name: 'man_cartwheeling', tags: _List_Nil, unicode: '๐Ÿคธ\u200Dโ™‚๏ธ', x: 1288, y: 0}, + {name: 'basketball_woman', tags: _List_Nil, unicode: 'โ›น๏ธ\u200Dโ™€๏ธ๏ธ', x: 460, y: 184}, + {name: 'basketball_man', tags: _List_Nil, unicode: 'โ›น', x: 460, y: 138}, + {name: 'woman_playing_handball', tags: _List_Nil, unicode: '๐Ÿคพ\u200Dโ™€๏ธ', x: 1748, y: 1656}, + {name: 'man_playing_handball', tags: _List_Nil, unicode: '๐Ÿคพ\u200Dโ™‚๏ธ', x: 1288, y: 644}, + {name: 'golfing_woman', tags: _List_Nil, unicode: '๐ŸŒ๏ธ\u200Dโ™€๏ธ๏ธ', x: 1012, y: 1058}, + {name: 'golfing_man', tags: _List_Nil, unicode: '๐ŸŒ', x: 966, y: 1058}, + {name: 'surfing_woman', tags: _List_Nil, unicode: '๐Ÿ„\u200Dโ™€๏ธ', x: 1288, y: 1610}, + {name: 'surfing_man', tags: _List_Nil, unicode: '๐Ÿ„', x: 1242, y: 1610}, + {name: 'swimming_woman', tags: _List_Nil, unicode: '๐ŸŠ\u200Dโ™€๏ธ', x: 1656, y: 230}, + {name: 'swimming_man', tags: _List_Nil, unicode: '๐ŸŠ', x: 1656, y: 184}, + {name: 'woman_playing_water_polo', tags: _List_Nil, unicode: '๐Ÿคฝ\u200Dโ™€๏ธ', x: 1748, y: 1702}, + {name: 'man_playing_water_polo', tags: _List_Nil, unicode: '๐Ÿคฝ\u200Dโ™‚๏ธ', x: 1288, y: 690}, + {name: 'rowing_woman', tags: _List_Nil, unicode: '๐Ÿšฃ\u200Dโ™€๏ธ', x: 184, y: 1518}, + {name: 'rowing_man', tags: _List_Nil, unicode: '๐Ÿšฃ', x: 138, y: 1518}, + {name: 'horse_racing', tags: _List_Nil, unicode: '๐Ÿ‡', x: 1150, y: 920}, + {name: 'biking_woman', tags: _List_Nil, unicode: '๐Ÿšด\u200Dโ™€๏ธ', x: 506, y: 368}, + {name: 'biking_man', tags: _List_Nil, unicode: '๐Ÿšด', x: 506, y: 322}, + {name: 'mountain_biking_woman', tags: _List_Nil, unicode: '๐Ÿšต\u200Dโ™€๏ธ', x: 1334, y: 1150}, + {name: 'mountain_biking_man', tags: _List_Nil, unicode: '๐Ÿšต', x: 1334, y: 1104}, + { + name: 'running_shirt_with_sash', + tags: _List_fromArray( + ['marathon']), + unicode: '๐ŸŽฝ', + x: 460, + y: 1518 + }, + { + name: 'medal_sports', + tags: _List_fromArray( + ['gold', 'winner']), + unicode: '๐Ÿ…', + x: 552, + y: 1288 + }, + {name: 'medal_military', tags: _List_Nil, unicode: '๐ŸŽ–', x: 506, y: 1288}, + { + name: '1st_place_medal', + tags: _List_fromArray( + ['gold']), + unicode: '๐Ÿฅ‡', + x: 92, + y: 0 + }, + { + name: '2nd_place_medal', + tags: _List_fromArray( + ['silver']), + unicode: '๐Ÿฅˆ', + x: 92, + y: 46 + }, + { + name: '3rd_place_medal', + tags: _List_fromArray( + ['bronze']), + unicode: '๐Ÿฅ‰', + x: 0, + y: 92 + }, + { + name: 'trophy', + tags: _List_fromArray( + ['award', 'contest', 'winner']), + unicode: '๐Ÿ†', + x: 1426, + y: 1656 + }, + {name: 'rosette', tags: _List_Nil, unicode: '๐Ÿต', x: 1518, y: 1472}, + {name: 'reminder_ribbon', tags: _List_Nil, unicode: '๐ŸŽ—', x: 1518, y: 368}, + {name: 'ticket', tags: _List_Nil, unicode: '๐ŸŽซ', x: 1656, y: 1518}, + {name: 'tickets', tags: _List_Nil, unicode: '๐ŸŽŸ', x: 1656, y: 1564}, + {name: 'circus_tent', tags: _List_Nil, unicode: '๐ŸŽช', x: 414, y: 690}, + {name: 'woman_juggling', tags: _List_Nil, unicode: '๐Ÿคน\u200Dโ™€๏ธ', x: 1748, y: 1472}, + {name: 'man_juggling', tags: _List_Nil, unicode: '๐Ÿคน\u200Dโ™‚๏ธ', x: 1288, y: 460}, + { + name: 'performing_arts', + tags: _List_fromArray( + ['theater', 'drama']), + unicode: '๐ŸŽญ', + x: 460, + y: 1426 + }, + { + name: 'art', + tags: _List_fromArray( + ['design', 'paint']), + unicode: '๐ŸŽจ', + x: 230, + y: 322 + }, + { + name: 'clapper', + tags: _List_fromArray( + ['film']), + unicode: '๐ŸŽฌ', + x: 736, + y: 0 + }, + { + name: 'microphone', + tags: _List_fromArray( + ['sing']), + unicode: '๐ŸŽค', + x: 1058, + y: 1288 + }, + { + name: 'headphones', + tags: _List_fromArray( + ['music', 'earphones']), + unicode: '๐ŸŽง', + x: 736, + y: 1104 + }, + {name: 'musical_score', tags: _List_Nil, unicode: '๐ŸŽผ', x: 460, y: 1334}, + { + name: 'musical_keyboard', + tags: _List_fromArray( + ['piano']), + unicode: '๐ŸŽน', + x: 368, + y: 1334 + }, + {name: 'drum', tags: _List_Nil, unicode: '๐Ÿฅ', x: 920, y: 460}, + {name: 'saxophone', tags: _List_Nil, unicode: '๐ŸŽท', x: 1150, y: 1518}, + {name: 'trumpet', tags: _List_Nil, unicode: '๐ŸŽบ', x: 1610, y: 1656}, + { + name: 'guitar', + tags: _List_fromArray( + ['rock']), + unicode: '๐ŸŽธ', + x: 1104, + y: 966 + }, + {name: 'violin', tags: _List_Nil, unicode: '๐ŸŽป', x: 598, y: 1702}, + { + name: 'game_die', + tags: _List_fromArray( + ['dice', 'gambling']), + unicode: '๐ŸŽฒ', + x: 138, + y: 1058 + }, + { + name: 'dart', + tags: _List_fromArray( + ['target']), + unicode: '๐ŸŽฏ', + x: 874, + y: 552 + }, + {name: 'bowling', tags: _List_Nil, unicode: '๐ŸŽณ', x: 598, y: 0}, + { + name: 'video_game', + tags: _List_fromArray( + ['play', 'controller', 'console']), + unicode: '๐ŸŽฎ', + x: 506, + y: 1702 + }, + {name: 'slot_machine', tags: _List_Nil, unicode: '๐ŸŽฐ', x: 322, y: 1564}, + { + name: 'watch', + tags: _List_fromArray( + ['time']), + unicode: 'โŒš๏ธ', + x: 1242, + y: 1702 + }, + { + name: 'iphone', + tags: _List_fromArray( + ['smartphone', 'mobile']), + unicode: '๐Ÿ“ฑ', + x: 1196, + y: 0 + }, + { + name: 'calling', + tags: _List_fromArray( + ['call', 'incoming']), + unicode: '๐Ÿ“ฒ', + x: 644, + y: 230 + }, + { + name: 'computer', + tags: _List_fromArray( + ['desktop', 'screen']), + unicode: '๐Ÿ’ป', + x: 782, + y: 690 + }, + {name: 'keyboard', tags: _List_Nil, unicode: 'โŒจ๏ธ', x: 1196, y: 1150}, + {name: 'desktop_computer', tags: _List_Nil, unicode: '๐Ÿ–ฅ', x: 184, y: 874}, + {name: 'printer', tags: _List_Nil, unicode: '๐Ÿ–จ', x: 1472, y: 1426}, + {name: 'computer_mouse', tags: _List_Nil, unicode: '๐Ÿ–ฑ', x: 782, y: 736}, + {name: 'trackball', tags: _List_Nil, unicode: '๐Ÿ–ฒ', x: 828, y: 1656}, + {name: 'joystick', tags: _List_Nil, unicode: '๐Ÿ•น', x: 1196, y: 874}, + {name: 'clamp', tags: _List_Nil, unicode: '๐Ÿ—œ', x: 644, y: 690}, + {name: 'minidisc', tags: _List_Nil, unicode: '๐Ÿ’ฝ', x: 1334, y: 0}, + { + name: 'floppy_disk', + tags: _List_fromArray( + ['save']), + unicode: '๐Ÿ’พ', + x: 690, + y: 1012 + }, + {name: 'cd', tags: _List_Nil, unicode: '๐Ÿ’ฟ', x: 690, y: 92}, + {name: 'dvd', tags: _List_Nil, unicode: '๐Ÿ“€', x: 920, y: 552}, + {name: 'vhs', tags: _List_Nil, unicode: '๐Ÿ“ผ', x: 368, y: 1702}, + { + name: 'camera', + tags: _List_fromArray( + ['photo']), + unicode: '๐Ÿ“ท', + x: 644, + y: 368 + }, + { + name: 'camera_flash', + tags: _List_fromArray( + ['photo']), + unicode: '๐Ÿ“ธ', + x: 644, + y: 414 + }, + {name: 'video_camera', tags: _List_Nil, unicode: '๐Ÿ“น', x: 460, y: 1702}, + { + name: 'movie_camera', + tags: _List_fromArray( + ['film', 'video']), + unicode: '๐ŸŽฅ', + x: 92, + y: 1334 + }, + {name: 'film_projector', tags: _List_Nil, unicode: '๐Ÿ“ฝ', x: 1012, y: 598}, + {name: 'film_strip', tags: _List_Nil, unicode: '๐ŸŽž', x: 1012, y: 644}, + { + name: 'telephone_receiver', + tags: _List_fromArray( + ['phone', 'call']), + unicode: '๐Ÿ“ž', + x: 1656, + y: 1012 + }, + {name: 'phone', tags: _List_Nil, unicode: 'โ˜Ž๏ธ', x: 828, y: 1426}, + {name: 'pager', tags: _List_Nil, unicode: '๐Ÿ“Ÿ', x: 1426, y: 506}, + {name: 'fax', tags: _List_Nil, unicode: '๐Ÿ“ ', x: 1012, y: 92}, + {name: 'tv', tags: _List_Nil, unicode: '๐Ÿ“บ', x: 1702, y: 368}, + { + name: 'radio', + tags: _List_fromArray( + ['podcast']), + unicode: '๐Ÿ“ป', + x: 552, + y: 1472 + }, + { + name: 'studio_microphone', + tags: _List_fromArray( + ['podcast']), + unicode: '๐ŸŽ™', + x: 644, + y: 1610 + }, + {name: 'level_slider', tags: _List_Nil, unicode: '๐ŸŽš', x: 1242, y: 552}, + {name: 'control_knobs', tags: _List_Nil, unicode: '๐ŸŽ›', x: 460, y: 782}, + {name: 'stopwatch', tags: _List_Nil, unicode: 'โฑ', x: 368, y: 1610}, + {name: 'timer_clock', tags: _List_Nil, unicode: 'โฒ', x: 46, y: 1656}, + { + name: 'alarm_clock', + tags: _List_fromArray( + ['morning']), + unicode: 'โฐ', + x: 184, + y: 46 + }, + {name: 'mantelpiece_clock', tags: _List_Nil, unicode: '๐Ÿ•ฐ', x: 1288, y: 1196}, + { + name: 'hourglass', + tags: _List_fromArray( + ['time']), + unicode: 'โŒ›๏ธ', + x: 46, + y: 1150 + }, + { + name: 'hourglass_flowing_sand', + tags: _List_fromArray( + ['time']), + unicode: 'โณ', + x: 92, + y: 1150 + }, + { + name: 'satellite', + tags: _List_fromArray( + ['signal']), + unicode: '๐Ÿ“ก', + x: 1012, + y: 1518 + }, + { + name: 'battery', + tags: _List_fromArray( + ['power']), + unicode: '๐Ÿ”‹', + x: 460, + y: 368 + }, + {name: 'electric_plug', tags: _List_Nil, unicode: '๐Ÿ”Œ', x: 368, y: 920}, + { + name: 'bulb', + tags: _List_fromArray( + ['idea', 'light']), + unicode: '๐Ÿ’ก', + x: 92, + y: 598 + }, + {name: 'flashlight', tags: _List_Nil, unicode: '๐Ÿ”ฆ', x: 460, y: 1012}, + {name: 'candle', tags: _List_Nil, unicode: '๐Ÿ•ฏ', x: 46, y: 644}, + { + name: 'wastebasket', + tags: _List_fromArray( + ['trash']), + unicode: '๐Ÿ—‘', + x: 1196, + y: 1702 + }, + {name: 'oil_drum', tags: _List_Nil, unicode: '๐Ÿ›ข', x: 506, y: 1380}, + { + name: 'money_with_wings', + tags: _List_fromArray( + ['dollar']), + unicode: '๐Ÿ’ธ', + x: 1334, + y: 230 + }, + { + name: 'dollar', + tags: _List_fromArray( + ['money']), + unicode: '๐Ÿ’ต', + x: 736, + y: 874 + }, + {name: 'yen', tags: _List_Nil, unicode: '๐Ÿ’ด', x: 828, y: 1748}, + {name: 'euro', tags: _List_Nil, unicode: '๐Ÿ’ถ', x: 966, y: 0}, + {name: 'pound', tags: _List_Nil, unicode: '๐Ÿ’ท', x: 1472, y: 920}, + { + name: 'moneybag', + tags: _List_fromArray( + ['dollar', 'cream']), + unicode: '๐Ÿ’ฐ', + x: 1334, + y: 276 + }, + { + name: 'credit_card', + tags: _List_fromArray( + ['subscription']), + unicode: '๐Ÿ’ณ', + x: 828, + y: 782 + }, + { + name: 'gem', + tags: _List_fromArray( + ['diamond']), + unicode: '๐Ÿ’Ž', + x: 276, + y: 1058 + }, + {name: 'balance_scale', tags: _List_Nil, unicode: 'โš–๏ธ', x: 414, y: 276}, + { + name: 'wrench', + tags: _List_fromArray( + ['tool']), + unicode: '๐Ÿ”ง', + x: 598, + y: 1748 + }, + { + name: 'hammer', + tags: _List_fromArray( + ['tool']), + unicode: '๐Ÿ”จ', + x: 230, + y: 1104 + }, + {name: 'hammer_and_pick', tags: _List_Nil, unicode: 'โš’', x: 276, y: 1104}, + {name: 'hammer_and_wrench', tags: _List_Nil, unicode: '๐Ÿ› ', x: 322, y: 1104}, + {name: 'pick', tags: _List_Nil, unicode: 'โ›', x: 874, y: 1426}, + {name: 'nut_and_bolt', tags: _List_Nil, unicode: '๐Ÿ”ฉ', x: 138, y: 1380}, + {name: 'gear', tags: _List_Nil, unicode: 'โš™๏ธ', x: 230, y: 1058}, + {name: 'chains', tags: _List_Nil, unicode: 'โ›“', x: 690, y: 230}, + { + name: 'gun', + tags: _List_fromArray( + ['shoot', 'weapon']), + unicode: '๐Ÿ”ซ', + x: 1104, + y: 1012 + }, + { + name: 'bomb', + tags: _List_fromArray( + ['boom']), + unicode: '๐Ÿ’ฃ', + x: 552, + y: 506 + }, + { + name: 'hocho', + tags: _List_fromArray( + ['cut', 'chop']), + unicode: '๐Ÿ”ช', + x: 1150, + y: 598 + }, + {name: 'dagger', tags: _List_Nil, unicode: '๐Ÿ—ก', x: 874, y: 230}, + {name: 'crossed_swords', tags: _List_Nil, unicode: 'โš”๏ธ', x: 322, y: 828}, + {name: 'shield', tags: _List_Nil, unicode: '๐Ÿ›ก', x: 1564, y: 690}, + { + name: 'smoking', + tags: _List_fromArray( + ['cigarette']), + unicode: '๐Ÿšฌ', + x: 1012, + y: 1564 + }, + { + name: 'coffin', + tags: _List_fromArray( + ['funeral']), + unicode: 'โšฐ๏ธ', + x: 782, + y: 414 + }, + {name: 'funeral_urn', tags: _List_Nil, unicode: 'โšฑ๏ธ', x: 0, y: 1058}, + {name: 'amphora', tags: _List_Nil, unicode: '๐Ÿบ', x: 184, y: 184}, + { + name: 'crystal_ball', + tags: _List_fromArray( + ['fortune']), + unicode: '๐Ÿ”ฎ', + x: 506, + y: 828 + }, + {name: 'prayer_beads', tags: _List_Nil, unicode: '๐Ÿ“ฟ', x: 1472, y: 1196}, + {name: 'barber', tags: _List_Nil, unicode: '๐Ÿ’ˆ', x: 368, y: 414}, + {name: 'alembic', tags: _List_Nil, unicode: 'โš—๏ธ', x: 184, y: 138}, + {name: 'telescope', tags: _List_Nil, unicode: '๐Ÿ”ญ', x: 1656, y: 1058}, + { + name: 'microscope', + tags: _List_fromArray( + ['science', 'laboratory', 'investigate']), + unicode: '๐Ÿ”ฌ', + x: 1104, + y: 1288 + }, + {name: 'hole', tags: _List_Nil, unicode: '๐Ÿ•ณ', x: 1150, y: 644}, + { + name: 'pill', + tags: _List_fromArray( + ['health', 'medicine']), + unicode: '๐Ÿ’Š', + x: 1058, + y: 1426 + }, + { + name: 'syringe', + tags: _List_fromArray( + ['health', 'hospital', 'needle']), + unicode: '๐Ÿ’‰', + x: 1656, + y: 460 + }, + {name: 'thermometer', tags: _List_Nil, unicode: '๐ŸŒก', x: 1656, y: 1242}, + { + name: 'toilet', + tags: _List_fromArray( + ['wc']), + unicode: '๐Ÿšฝ', + x: 368, + y: 1656 + }, + {name: 'potable_water', tags: _List_Nil, unicode: '๐Ÿšฐ', x: 1472, y: 736}, + { + name: 'shower', + tags: _List_fromArray( + ['bath']), + unicode: '๐Ÿšฟ', + x: 1564, + y: 1104 + }, + {name: 'bathtub', tags: _List_Nil, unicode: '๐Ÿ›', x: 460, y: 322}, + { + name: 'bath', + tags: _List_fromArray( + ['shower']), + unicode: '๐Ÿ›€', + x: 460, + y: 276 + }, + {name: 'bellhop_bell', tags: _List_Nil, unicode: '๐Ÿ›Ž', x: 506, y: 0}, + { + name: 'key', + tags: _List_fromArray( + ['lock', 'password']), + unicode: '๐Ÿ”‘', + x: 1196, + y: 1104 + }, + {name: 'old_key', tags: _List_Nil, unicode: '๐Ÿ—', x: 736, y: 1380}, + {name: 'door', tags: _List_Nil, unicode: '๐Ÿšช', x: 920, y: 46}, + {name: 'couch_and_lamp', tags: _List_Nil, unicode: '๐Ÿ›‹', x: 828, y: 92}, + {name: 'bed', tags: _List_Nil, unicode: '๐Ÿ›', x: 46, y: 460}, + {name: 'sleeping_bed', tags: _List_Nil, unicode: '๐Ÿ›Œ', x: 138, y: 1564}, + {name: 'framed_picture', tags: _List_Nil, unicode: '๐Ÿ–ผ', x: 1058, y: 276}, + { + name: 'shopping', + tags: _List_fromArray( + ['bags']), + unicode: '๐Ÿ›', + x: 1564, + y: 1012 + }, + {name: 'shopping_cart', tags: _List_Nil, unicode: '๐Ÿ›’', x: 1564, y: 1058}, + { + name: 'gift', + tags: _List_fromArray( + ['present', 'birthday', 'christmas']), + unicode: '๐ŸŽ', + x: 552, + y: 1058 + }, + { + name: 'balloon', + tags: _List_fromArray( + ['party', 'birthday']), + unicode: '๐ŸŽˆ', + x: 414, + y: 322 + }, + {name: 'flags', tags: _List_Nil, unicode: '๐ŸŽ', x: 414, y: 1012}, + {name: 'ribbon', tags: _List_Nil, unicode: '๐ŸŽ€', x: 1518, y: 782}, + {name: 'confetti_ball', tags: _List_Nil, unicode: '๐ŸŽŠ', x: 0, y: 782}, + { + name: 'tada', + tags: _List_fromArray( + ['hooray', 'party']), + unicode: '๐ŸŽ‰', + x: 1656, + y: 552 + }, + {name: 'dolls', tags: _List_Nil, unicode: '๐ŸŽŽ', x: 782, y: 874}, + {name: 'izakaya_lantern', tags: _List_Nil, unicode: '๐Ÿฎ', x: 1196, y: 322}, + {name: 'wind_chime', tags: _List_Nil, unicode: '๐ŸŽ', x: 1748, y: 736}, + { + name: 'email', + tags: _List_fromArray( + ['letter']), + unicode: 'โœ‰๏ธ', + x: 506, + y: 920 + }, + {name: 'envelope_with_arrow', tags: _List_Nil, unicode: '๐Ÿ“ฉ', x: 644, y: 920}, + {name: 'incoming_envelope', tags: _List_Nil, unicode: '๐Ÿ“จ', x: 874, y: 1150}, + {name: 'e-mail', tags: _List_Nil, unicode: '๐Ÿ“ง', x: 920, y: 598}, + { + name: 'love_letter', + tags: _List_fromArray( + ['email', 'envelope']), + unicode: '๐Ÿ’Œ', + x: 184, + y: 1242 + }, + {name: 'inbox_tray', tags: _List_Nil, unicode: '๐Ÿ“ฅ', x: 828, y: 1150}, + {name: 'outbox_tray', tags: _List_Nil, unicode: '๐Ÿ“ค', x: 1426, y: 230}, + { + name: 'package', + tags: _List_fromArray( + ['shipping']), + unicode: '๐Ÿ“ฆ', + x: 1426, + y: 368 + }, + { + name: 'label', + tags: _List_fromArray( + ['tag']), + unicode: '๐Ÿท', + x: 828, + y: 1196 + }, + {name: 'mailbox_closed', tags: _List_Nil, unicode: '๐Ÿ“ช', x: 736, y: 1242}, + {name: 'mailbox', tags: _List_Nil, unicode: '๐Ÿ“ซ', x: 690, y: 1242}, + {name: 'mailbox_with_mail', tags: _List_Nil, unicode: '๐Ÿ“ฌ', x: 782, y: 1242}, + {name: 'mailbox_with_no_mail', tags: _List_Nil, unicode: '๐Ÿ“ญ', x: 828, y: 1242}, + {name: 'postbox', tags: _List_Nil, unicode: '๐Ÿ“ฎ', x: 1472, y: 690}, + {name: 'postal_horn', tags: _List_Nil, unicode: '๐Ÿ“ฏ', x: 1472, y: 644}, + { + name: 'scroll', + tags: _List_fromArray( + ['document']), + unicode: '๐Ÿ“œ', + x: 1518, + y: 1518 + }, + {name: 'page_with_curl', tags: _List_Nil, unicode: '๐Ÿ“ƒ', x: 1426, y: 460}, + { + name: 'page_facing_up', + tags: _List_fromArray( + ['document']), + unicode: '๐Ÿ“„', + x: 1426, + y: 414 + }, + {name: 'bookmark_tabs', tags: _List_Nil, unicode: '๐Ÿ“‘', x: 92, y: 552}, + { + name: 'bar_chart', + tags: _List_fromArray( + ['stats', 'metrics']), + unicode: '๐Ÿ“Š', + x: 276, + y: 414 + }, + { + name: 'chart_with_upwards_trend', + tags: _List_fromArray( + ['graph', 'metrics']), + unicode: '๐Ÿ“ˆ', + x: 690, + y: 414 + }, + { + name: 'chart_with_downwards_trend', + tags: _List_fromArray( + ['graph', 'metrics']), + unicode: '๐Ÿ“‰', + x: 690, + y: 368 + }, + {name: 'spiral_notepad', tags: _List_Nil, unicode: '๐Ÿ—’', x: 1610, y: 920}, + {name: 'spiral_calendar', tags: _List_Nil, unicode: '๐Ÿ—“', x: 1610, y: 874}, + { + name: 'calendar', + tags: _List_fromArray( + ['schedule']), + unicode: '๐Ÿ“†', + x: 644, + y: 138 + }, + { + name: 'date', + tags: _List_fromArray( + ['calendar', 'schedule']), + unicode: '๐Ÿ“…', + x: 874, + y: 644 + }, + {name: 'card_index', tags: _List_Nil, unicode: '๐Ÿ“‡', x: 414, y: 644}, + {name: 'card_file_box', tags: _List_Nil, unicode: '๐Ÿ—ƒ', x: 368, y: 644}, + {name: 'ballot_box', tags: _List_Nil, unicode: '๐Ÿ—ณ', x: 414, y: 368}, + {name: 'file_cabinet', tags: _List_Nil, unicode: '๐Ÿ—„', x: 1012, y: 506}, + {name: 'clipboard', tags: _List_Nil, unicode: '๐Ÿ“‹', x: 736, y: 138}, + { + name: 'file_folder', + tags: _List_fromArray( + ['directory']), + unicode: '๐Ÿ“', + x: 1012, + y: 552 + }, + {name: 'open_file_folder', tags: _List_Nil, unicode: '๐Ÿ“‚', x: 1288, y: 1380}, + {name: 'card_index_dividers', tags: _List_Nil, unicode: '๐Ÿ—‚', x: 460, y: 644}, + { + name: 'newspaper_roll', + tags: _List_fromArray( + ['press']), + unicode: '๐Ÿ—ž', + x: 1380, + y: 92 + }, + { + name: 'newspaper', + tags: _List_fromArray( + ['press']), + unicode: '๐Ÿ“ฐ', + x: 1380, + y: 46 + }, + {name: 'notebook', tags: _List_Nil, unicode: '๐Ÿ““', x: 0, y: 1380}, + {name: 'notebook_with_decorative_cover', tags: _List_Nil, unicode: '๐Ÿ“”', x: 46, y: 1380}, + {name: 'ledger', tags: _List_Nil, unicode: '๐Ÿ“’', x: 1242, y: 184}, + {name: 'closed_book', tags: _List_Nil, unicode: '๐Ÿ“•', x: 552, y: 736}, + {name: 'green_book', tags: _List_Nil, unicode: '๐Ÿ“—', x: 1104, y: 138}, + {name: 'blue_book', tags: _List_Nil, unicode: '๐Ÿ“˜', x: 552, y: 184}, + {name: 'orange_book', tags: _List_Nil, unicode: '๐Ÿ“™', x: 1426, y: 138}, + { + name: 'books', + tags: _List_fromArray( + ['library']), + unicode: '๐Ÿ“š', + x: 138, + y: 552 + }, + {name: 'book', tags: _List_Nil, unicode: '๐Ÿ“–', x: 0, y: 552}, + {name: 'bookmark', tags: _List_Nil, unicode: '๐Ÿ”–', x: 46, y: 552}, + {name: 'link', tags: _List_Nil, unicode: '๐Ÿ”—', x: 1242, y: 828}, + {name: 'paperclip', tags: _List_Nil, unicode: '๐Ÿ“Ž', x: 1426, y: 920}, + {name: 'paperclips', tags: _List_Nil, unicode: '๐Ÿ–‡', x: 1426, y: 966}, + {name: 'triangular_ruler', tags: _List_Nil, unicode: '๐Ÿ“', x: 1150, y: 1656}, + {name: 'straight_ruler', tags: _List_Nil, unicode: '๐Ÿ“', x: 414, y: 1610}, + { + name: 'pushpin', + tags: _List_fromArray( + ['location']), + unicode: '๐Ÿ“Œ', + x: 184, + y: 1472 + }, + { + name: 'round_pushpin', + tags: _List_fromArray( + ['location']), + unicode: '๐Ÿ“', + x: 46, + y: 1518 + }, + { + name: 'scissors', + tags: _List_fromArray( + ['cut']), + unicode: 'โœ‚๏ธ', + x: 1288, + y: 1518 + }, + {name: 'pen', tags: _List_Nil, unicode: '๐Ÿ–Š', x: 230, y: 1426}, + {name: 'fountain_pen', tags: _List_Nil, unicode: '๐Ÿ–‹', x: 1058, y: 46}, + {name: 'black_nib', tags: _List_Nil, unicode: 'โœ’๏ธ', x: 414, y: 506}, + {name: 'paintbrush', tags: _List_Nil, unicode: '๐Ÿ–Œ', x: 1426, y: 552}, + {name: 'crayon', tags: _List_Nil, unicode: '๐Ÿ–', x: 828, y: 736}, + { + name: 'memo', + tags: _List_fromArray( + ['document', 'note']), + unicode: '๐Ÿ“', + x: 690, + y: 1288 + }, + {name: 'pencil2', tags: _List_Nil, unicode: 'โœ๏ธ', x: 322, y: 1426}, + { + name: 'mag', + tags: _List_fromArray( + ['search', 'zoom']), + unicode: '๐Ÿ”', + x: 552, + y: 1242 + }, + {name: 'mag_right', tags: _List_Nil, unicode: '๐Ÿ”Ž', x: 598, y: 1242}, + {name: 'lock_with_ink_pen', tags: _List_Nil, unicode: '๐Ÿ”', x: 1242, y: 1150}, + { + name: 'closed_lock_with_key', + tags: _List_fromArray( + ['security']), + unicode: '๐Ÿ”', + x: 598, + y: 736 + }, + { + name: 'lock', + tags: _List_fromArray( + ['security', 'private']), + unicode: '๐Ÿ”’', + x: 1242, + y: 1104 + }, + { + name: 'unlock', + tags: _List_fromArray( + ['security']), + unicode: '๐Ÿ”“', + x: 1702, + y: 1518 + } + ]), + people: _List_fromArray( + [ + { + name: 'grinning', + tags: _List_fromArray( + ['smile', 'happy']), + unicode: '๐Ÿ˜€', + x: 1104, + y: 552 + }, + { + name: 'smiley', + tags: _List_fromArray( + ['happy', 'joy', 'haha']), + unicode: '๐Ÿ˜ƒ', + x: 782, + y: 1564 + }, + { + name: 'smile', + tags: _List_fromArray( + ['happy', 'joy', 'laugh', 'pleased']), + unicode: '๐Ÿ˜„', + x: 690, + y: 1564 + }, + {name: 'grin', tags: _List_Nil, unicode: '๐Ÿ˜', x: 1104, y: 506}, + { + name: 'laughing', + tags: _List_fromArray( + ['happy', 'haha']), + unicode: '๐Ÿ˜†', + x: 1242, + y: 46 + }, + { + name: 'sweat_smile', + tags: _List_fromArray( + ['hot']), + unicode: '๐Ÿ˜…', + x: 1656, + y: 0 + }, + { + name: 'joy', + tags: _List_fromArray( + ['tears']), + unicode: '๐Ÿ˜‚', + x: 1196, + y: 782 + }, + { + name: 'rofl', + tags: _List_fromArray( + ['lol', 'laughing']), + unicode: '๐Ÿคฃ', + x: 1518, + y: 1196 + }, + { + name: 'relaxed', + tags: _List_fromArray( + ['blush', 'pleased']), + unicode: 'โ˜บ๏ธ', + x: 1518, + y: 276 + }, + { + name: 'blush', + tags: _List_fromArray( + ['proud']), + unicode: '๐Ÿ˜Š', + x: 552, + y: 322 + }, + { + name: 'innocent', + tags: _List_fromArray( + ['angel']), + unicode: '๐Ÿ˜‡', + x: 1104, + y: 1150 + }, + {name: 'slightly_smiling_face', tags: _List_Nil, unicode: '๐Ÿ™‚', x: 276, y: 1564}, + {name: 'upside_down_face', tags: _List_Nil, unicode: '๐Ÿ™ƒ', x: 1702, y: 1610}, + { + name: 'wink', + tags: _List_fromArray( + ['flirt']), + unicode: '๐Ÿ˜‰', + x: 1748, + y: 874 + }, + { + name: 'relieved', + tags: _List_fromArray( + ['whew']), + unicode: '๐Ÿ˜Œ', + x: 1518, + y: 322 + }, + { + name: 'heart_eyes', + tags: _List_fromArray( + ['love', 'crush']), + unicode: '๐Ÿ˜', + x: 920, + y: 1104 + }, + { + name: 'kissing_heart', + tags: _List_fromArray( + ['flirt']), + unicode: '๐Ÿ˜˜', + x: 368, + y: 1196 + }, + {name: 'kissing', tags: _List_Nil, unicode: '๐Ÿ˜—', x: 230, y: 1196}, + {name: 'kissing_smiling_eyes', tags: _List_Nil, unicode: '๐Ÿ˜™', x: 414, y: 1196}, + {name: 'kissing_closed_eyes', tags: _List_Nil, unicode: '๐Ÿ˜š', x: 322, y: 1196}, + { + name: 'yum', + tags: _List_fromArray( + ['tongue', 'lick']), + unicode: '๐Ÿ˜‹', + x: 920, + y: 1748 + }, + { + name: 'stuck_out_tongue_winking_eye', + tags: _List_fromArray( + ['prank', 'silly']), + unicode: '๐Ÿ˜œ', + x: 598, + y: 1610 + }, + { + name: 'stuck_out_tongue_closed_eyes', + tags: _List_fromArray( + ['prank']), + unicode: '๐Ÿ˜', + x: 552, + y: 1610 + }, + {name: 'stuck_out_tongue', tags: _List_Nil, unicode: '๐Ÿ˜›', x: 506, y: 1610}, + { + name: 'money_mouth_face', + tags: _List_fromArray( + ['rich']), + unicode: '๐Ÿค‘', + x: 1334, + y: 184 + }, + {name: 'hugs', tags: _List_Nil, unicode: '๐Ÿค—', x: 276, y: 1150}, + { + name: 'nerd_face', + tags: _List_fromArray( + ['geek', 'glasses']), + unicode: '๐Ÿค“', + x: 1058, + y: 1334 + }, + { + name: 'sunglasses', + tags: _List_fromArray( + ['cool']), + unicode: '๐Ÿ˜Ž', + x: 1012, + y: 1610 + }, + {name: 'clown_face', tags: _List_Nil, unicode: '๐Ÿคก', x: 782, y: 138}, + {name: 'cowboy_hat_face', tags: _List_Nil, unicode: '๐Ÿค ', x: 828, y: 644}, + { + name: 'smirk', + tags: _List_fromArray( + ['smug']), + unicode: '๐Ÿ˜', + x: 920, + y: 1564 + }, + { + name: 'unamused', + tags: _List_fromArray( + ['meh']), + unicode: '๐Ÿ˜’', + x: 1702, + y: 1334 + }, + { + name: 'disappointed', + tags: _List_fromArray( + ['sad']), + unicode: '๐Ÿ˜ž', + x: 368, + y: 874 + }, + {name: 'pensive', tags: _List_Nil, unicode: '๐Ÿ˜”', x: 414, y: 1426}, + { + name: 'worried', + tags: _List_fromArray( + ['nervous']), + unicode: '๐Ÿ˜Ÿ', + x: 552, + y: 1748 + }, + {name: 'confused', tags: _List_Nil, unicode: '๐Ÿ˜•', x: 92, y: 782}, + {name: 'slightly_frowning_face', tags: _List_Nil, unicode: '๐Ÿ™', x: 230, y: 1564}, + {name: 'frowning_face', tags: _List_Nil, unicode: 'โ˜น๏ธ', x: 1058, y: 736}, + { + name: 'persevere', + tags: _List_fromArray( + ['struggling']), + unicode: '๐Ÿ˜ฃ', + x: 506, + y: 1426 + }, + {name: 'confounded', tags: _List_Nil, unicode: '๐Ÿ˜–', x: 46, y: 782}, + { + name: 'tired_face', + tags: _List_fromArray( + ['upset', 'whine']), + unicode: '๐Ÿ˜ซ', + x: 230, + y: 1656 + }, + { + name: 'weary', + tags: _List_fromArray( + ['tired']), + unicode: '๐Ÿ˜ฉ', + x: 1610, + y: 1702 + }, + { + name: 'triumph', + tags: _List_fromArray( + ['smug']), + unicode: '๐Ÿ˜ค', + x: 1288, + y: 1656 + }, + { + name: 'angry', + tags: _List_fromArray( + ['mad', 'annoyed']), + unicode: '๐Ÿ˜ ', + x: 0, + y: 230 + }, + { + name: 'rage', + tags: _List_fromArray( + ['angry']), + unicode: '๐Ÿ˜ก', + x: 690, + y: 1472 + }, + { + name: 'no_mouth', + tags: _List_fromArray( + ['mute', 'silence']), + unicode: '๐Ÿ˜ถ', + x: 1380, + y: 966 + }, + { + name: 'neutral_face', + tags: _List_fromArray( + ['meh']), + unicode: '๐Ÿ˜', + x: 1150, + y: 1334 + }, + {name: 'expressionless', tags: _List_Nil, unicode: '๐Ÿ˜‘', x: 966, y: 276}, + { + name: 'hushed', + tags: _List_fromArray( + ['silence', 'speechless']), + unicode: '๐Ÿ˜ฏ', + x: 414, + y: 1150 + }, + {name: 'frowning', tags: _List_Nil, unicode: '๐Ÿ˜ฆ', x: 1058, y: 690}, + { + name: 'anguished', + tags: _List_fromArray( + ['stunned']), + unicode: '๐Ÿ˜ง', + x: 92, + y: 230 + }, + { + name: 'open_mouth', + tags: _List_fromArray( + ['surprise', 'impressed', 'wow']), + unicode: '๐Ÿ˜ฎ', + x: 1380, + y: 1380 + }, + { + name: 'astonished', + tags: _List_fromArray( + ['amazed', 'gasp']), + unicode: '๐Ÿ˜ฒ', + x: 368, + y: 92 + }, + {name: 'dizzy_face', tags: _List_Nil, unicode: '๐Ÿ˜ต', x: 506, y: 874}, + {name: 'flushed', tags: _List_Nil, unicode: '๐Ÿ˜ณ', x: 782, y: 1012}, + { + name: 'scream', + tags: _List_fromArray( + ['horror', 'shocked']), + unicode: '๐Ÿ˜ฑ', + x: 1426, + y: 1518 + }, + { + name: 'fearful', + tags: _List_fromArray( + ['scared', 'shocked', 'oops']), + unicode: '๐Ÿ˜จ', + x: 1012, + y: 138 + }, + { + name: 'cold_sweat', + tags: _List_fromArray( + ['nervous']), + unicode: '๐Ÿ˜ฐ', + x: 782, + y: 460 + }, + { + name: 'cry', + tags: _List_fromArray( + ['sad', 'tear']), + unicode: '๐Ÿ˜ข', + x: 414, + y: 828 + }, + { + name: 'disappointed_relieved', + tags: _List_fromArray( + ['phew', 'sweat', 'nervous']), + unicode: '๐Ÿ˜ฅ', + x: 414, + y: 874 + }, + {name: 'drooling_face', tags: _List_Nil, unicode: '๐Ÿคค', x: 920, y: 368}, + { + name: 'sob', + tags: _List_fromArray( + ['sad', 'cry', 'bawling']), + unicode: '๐Ÿ˜ญ', + x: 1380, + y: 1564 + }, + {name: 'sweat', tags: _List_Nil, unicode: '๐Ÿ˜“', x: 1564, y: 1610}, + { + name: 'sleepy', + tags: _List_fromArray( + ['tired']), + unicode: '๐Ÿ˜ช', + x: 184, + y: 1564 + }, + { + name: 'sleeping', + tags: _List_fromArray( + ['zzz']), + unicode: '๐Ÿ˜ด', + x: 92, + y: 1564 + }, + {name: 'roll_eyes', tags: _List_Nil, unicode: '๐Ÿ™„', x: 1518, y: 1242}, + {name: 'thinking', tags: _List_Nil, unicode: '๐Ÿค”', x: 1656, y: 1288}, + { + name: 'lying_face', + tags: _List_fromArray( + ['liar']), + unicode: '๐Ÿคฅ', + x: 322, + y: 1242 + }, + {name: 'grimacing', tags: _List_Nil, unicode: '๐Ÿ˜ฌ', x: 1104, y: 460}, + { + name: 'zipper_mouth_face', + tags: _List_fromArray( + ['silence', 'hush']), + unicode: '๐Ÿค', + x: 1150, + y: 1748 + }, + { + name: 'nauseated_face', + tags: _List_fromArray( + ['sick', 'barf', 'disgusted']), + unicode: '๐Ÿคข', + x: 828, + y: 1334 + }, + { + name: 'sneezing_face', + tags: _List_fromArray( + ['achoo', 'sick']), + unicode: '๐Ÿคง', + x: 1150, + y: 1564 + }, + { + name: 'mask', + tags: _List_fromArray( + ['sick', 'ill']), + unicode: '๐Ÿ˜ท', + x: 138, + y: 1288 + }, + { + name: 'face_with_thermometer', + tags: _List_fromArray( + ['sick']), + unicode: '๐Ÿค’', + x: 966, + y: 552 + }, + { + name: 'face_with_head_bandage', + tags: _List_fromArray( + ['hurt']), + unicode: '๐Ÿค•', + x: 966, + y: 506 + }, + { + name: 'smiling_imp', + tags: _List_fromArray( + ['devil', 'evil', 'horns']), + unicode: '๐Ÿ˜ˆ', + x: 874, + y: 1564 + }, + { + name: 'imp', + tags: _List_fromArray( + ['angry', 'devil', 'evil', 'horns']), + unicode: '๐Ÿ‘ฟ', + x: 782, + y: 1150 + }, + { + name: 'japanese_ogre', + tags: _List_fromArray( + ['monster']), + unicode: '๐Ÿ‘น', + x: 1196, + y: 598 + }, + {name: 'japanese_goblin', tags: _List_Nil, unicode: '๐Ÿ‘บ', x: 1196, y: 552}, + { + name: 'hankey', + tags: _List_fromArray( + ['crap']), + unicode: '๐Ÿ’ฉ', + x: 552, + y: 1104 + }, + { + name: 'ghost', + tags: _List_fromArray( + ['halloween']), + unicode: '๐Ÿ‘ป', + x: 460, + y: 1058 + }, + { + name: 'skull', + tags: _List_fromArray( + ['dead', 'danger', 'poison']), + unicode: '๐Ÿ’€', + x: 0, + y: 1564 + }, + { + name: 'skull_and_crossbones', + tags: _List_fromArray( + ['danger', 'pirate']), + unicode: 'โ˜ ๏ธ', + x: 46, + y: 1564 + }, + { + name: 'alien', + tags: _List_fromArray( + ['ufo']), + unicode: '๐Ÿ‘ฝ', + x: 46, + y: 184 + }, + { + name: 'space_invader', + tags: _List_fromArray( + ['game', 'retro']), + unicode: '๐Ÿ‘พ', + x: 1610, + y: 230 + }, + {name: 'robot', tags: _List_Nil, unicode: '๐Ÿค–', x: 1518, y: 1104}, + { + name: 'jack_o_lantern', + tags: _List_fromArray( + ['halloween']), + unicode: '๐ŸŽƒ', + x: 1196, + y: 368 + }, + {name: 'smiley_cat', tags: _List_Nil, unicode: '๐Ÿ˜บ', x: 828, y: 1564}, + {name: 'smile_cat', tags: _List_Nil, unicode: '๐Ÿ˜ธ', x: 736, y: 1564}, + {name: 'joy_cat', tags: _List_Nil, unicode: '๐Ÿ˜น', x: 1196, y: 828}, + {name: 'heart_eyes_cat', tags: _List_Nil, unicode: '๐Ÿ˜ป', x: 966, y: 1104}, + {name: 'smirk_cat', tags: _List_Nil, unicode: '๐Ÿ˜ผ', x: 966, y: 1564}, + {name: 'kissing_cat', tags: _List_Nil, unicode: '๐Ÿ˜ฝ', x: 276, y: 1196}, + { + name: 'scream_cat', + tags: _List_fromArray( + ['horror']), + unicode: '๐Ÿ™€', + x: 1472, + y: 1518 + }, + { + name: 'crying_cat_face', + tags: _List_fromArray( + ['sad', 'tear']), + unicode: '๐Ÿ˜ฟ', + x: 460, + y: 828 + }, + {name: 'pouting_cat', tags: _List_Nil, unicode: '๐Ÿ˜พ', x: 1472, y: 1012}, + {name: 'open_hands', tags: _List_Nil, unicode: '๐Ÿ‘', x: 1334, y: 1380}, + { + name: 'raised_hands', + tags: _List_fromArray( + ['hooray']), + unicode: '๐Ÿ™Œ', + x: 1242, + y: 1472 + }, + { + name: 'clap', + tags: _List_fromArray( + ['praise', 'applause']), + unicode: '๐Ÿ‘', + x: 690, + y: 690 + }, + { + name: 'pray', + tags: _List_fromArray( + ['please', 'hope', 'wish']), + unicode: '๐Ÿ™', + x: 1472, + y: 1150 + }, + { + name: 'handshake', + tags: _List_fromArray( + ['deal']), + unicode: '๐Ÿค', + x: 506, + y: 1104 + }, + { + name: '+1', + tags: _List_fromArray( + ['approve', 'ok']), + unicode: '๐Ÿ‘', + x: 46, + y: 0 + }, + { + name: '-1', + tags: _List_fromArray( + ['disapprove', 'bury']), + unicode: '๐Ÿ‘Ž', + x: 414, + y: 1288 + }, + { + name: 'fist_oncoming', + tags: _List_fromArray( + ['attack']), + unicode: '๐Ÿ‘Š', + x: 230, + y: 1012 + }, + { + name: 'fist_raised', + tags: _List_fromArray( + ['power']), + unicode: 'โœŠ', + x: 276, + y: 1012 + }, + {name: 'fist_left', tags: _List_Nil, unicode: '๐Ÿค›', x: 184, y: 1012}, + {name: 'fist_right', tags: _List_Nil, unicode: '๐Ÿคœ', x: 322, y: 1012}, + { + name: 'crossed_fingers', + tags: _List_fromArray( + ['luck', 'hopeful']), + unicode: '๐Ÿคž', + x: 230, + y: 828 + }, + { + name: 'v', + tags: _List_fromArray( + ['victory', 'peace']), + unicode: 'โœŒ๏ธ', + x: 138, + y: 1702 + }, + {name: 'metal', tags: _List_Nil, unicode: '๐Ÿค˜', x: 874, y: 1288}, + {name: 'ok_hand', tags: _List_Nil, unicode: '๐Ÿ‘Œ', x: 598, y: 1380}, + {name: 'point_left', tags: _List_Nil, unicode: '๐Ÿ‘ˆ', x: 1472, y: 46}, + {name: 'point_right', tags: _List_Nil, unicode: '๐Ÿ‘‰', x: 1472, y: 92}, + {name: 'point_up_2', tags: _List_Nil, unicode: '๐Ÿ‘†', x: 1472, y: 184}, + {name: 'point_down', tags: _List_Nil, unicode: '๐Ÿ‘‡', x: 1472, y: 0}, + {name: 'point_up', tags: _List_Nil, unicode: 'โ˜๏ธ', x: 1472, y: 138}, + { + name: 'hand', + tags: _List_fromArray( + ['highfive', 'stop']), + unicode: 'โœ‹', + x: 414, + y: 1104 + }, + {name: 'raised_back_of_hand', tags: _List_Nil, unicode: '๐Ÿคš', x: 1104, y: 1472}, + {name: 'raised_hand_with_fingers_splayed', tags: _List_Nil, unicode: '๐Ÿ–', x: 1196, y: 1472}, + { + name: 'vulcan_salute', + tags: _List_fromArray( + ['prosper', 'spock']), + unicode: '๐Ÿ––', + x: 828, + y: 1702 + }, + { + name: 'wave', + tags: _List_fromArray( + ['goodbye']), + unicode: '๐Ÿ‘‹', + x: 1380, + y: 1702 + }, + {name: 'call_me_hand', tags: _List_Nil, unicode: '๐Ÿค™', x: 644, y: 184}, + { + name: 'muscle', + tags: _List_fromArray( + ['flex', 'bicep', 'strong', 'workout']), + unicode: '๐Ÿ’ช', + x: 276, + y: 1334 + }, + {name: 'middle_finger', tags: _List_Nil, unicode: '๐Ÿ–•', x: 1150, y: 1288}, + {name: 'writing_hand', tags: _List_Nil, unicode: 'โœ๏ธ', x: 644, y: 1748}, + {name: 'selfie', tags: _List_Nil, unicode: '๐Ÿคณ', x: 1564, y: 184}, + { + name: 'nail_care', + tags: _List_fromArray( + ['beauty', 'manicure']), + unicode: '๐Ÿ’…', + x: 598, + y: 1334 + }, + { + name: 'ring', + tags: _List_fromArray( + ['wedding', 'marriage', 'engaged']), + unicode: '๐Ÿ’', + x: 1518, + y: 1058 + }, + { + name: 'lipstick', + tags: _List_fromArray( + ['makeup']), + unicode: '๐Ÿ’„', + x: 1242, + y: 966 + }, + { + name: 'kiss', + tags: _List_fromArray( + ['lipstick']), + unicode: '๐Ÿ’‹', + x: 184, + y: 1196 + }, + { + name: 'lips', + tags: _List_fromArray( + ['kiss']), + unicode: '๐Ÿ‘„', + x: 1242, + y: 920 + }, + { + name: 'tongue', + tags: _List_fromArray( + ['taste']), + unicode: '๐Ÿ‘…', + x: 598, + y: 1656 + }, + { + name: 'ear', + tags: _List_fromArray( + ['hear', 'sound', 'listen']), + unicode: '๐Ÿ‘‚', + x: 920, + y: 690 + }, + { + name: 'nose', + tags: _List_fromArray( + ['smell']), + unicode: '๐Ÿ‘ƒ', + x: 1380, + y: 1334 + }, + { + name: 'footprints', + tags: _List_fromArray( + ['feet', 'tracks']), + unicode: '๐Ÿ‘ฃ', + x: 966, + y: 1012 + }, + {name: 'eye', tags: _List_Nil, unicode: '๐Ÿ‘', x: 966, y: 322}, + { + name: 'eyes', + tags: _List_fromArray( + ['look', 'see', 'watch']), + unicode: '๐Ÿ‘€', + x: 966, + y: 460 + }, + {name: 'speaking_head', tags: _List_Nil, unicode: '๐Ÿ—ฃ', x: 1610, y: 644}, + { + name: 'bust_in_silhouette', + tags: _List_fromArray( + ['user']), + unicode: '๐Ÿ‘ค', + x: 552, + y: 598 + }, + { + name: 'busts_in_silhouette', + tags: _List_fromArray( + ['users', 'group', 'team']), + unicode: '๐Ÿ‘ฅ', + x: 598, + y: 598 + }, + { + name: 'baby', + tags: _List_fromArray( + ['child', 'newborn']), + unicode: '๐Ÿ‘ถ', + x: 184, + y: 368 + }, + { + name: 'boy', + tags: _List_fromArray( + ['child']), + unicode: '๐Ÿ‘ฆ', + x: 598, + y: 138 + }, + { + name: 'girl', + tags: _List_fromArray( + ['child']), + unicode: '๐Ÿ‘ง', + x: 644, + y: 1058 + }, + { + name: 'man', + tags: _List_fromArray( + ['mustache', 'father', 'dad']), + unicode: '๐Ÿ‘จ', + x: 1150, + y: 1242 + }, + { + name: 'woman', + tags: _List_fromArray( + ['girls']), + unicode: '๐Ÿ‘ฉ', + x: 1748, + y: 966 + }, + {name: 'blonde_woman', tags: _List_Nil, unicode: '๐Ÿ‘ฑ\u200Dโ™€๏ธ๏ธ', x: 552, y: 46}, + {name: 'blonde_woman', tags: _List_Nil, unicode: '๐Ÿ‘ฑ\u200Dโ™€๏ธ', x: 552, y: 46}, + { + name: 'blonde_man', + tags: _List_fromArray( + ['boy']), + unicode: '๐Ÿ‘ฑ', + x: 552, + y: 0 + }, + {name: 'older_man', tags: _List_Nil, unicode: '๐Ÿ‘ด', x: 782, y: 1380}, + {name: 'older_woman', tags: _List_Nil, unicode: '๐Ÿ‘ต', x: 828, y: 1380}, + {name: 'man_with_gua_pi_mao', tags: _List_Nil, unicode: '๐Ÿ‘ฒ', x: 1288, y: 1012}, + {name: 'woman_with_turban', tags: _List_Nil, unicode: '๐Ÿ‘ณ\u200Dโ™€๏ธ', x: 276, y: 1748}, + {name: 'man_with_turban', tags: _List_Nil, unicode: '๐Ÿ‘ณ', x: 1288, y: 1058}, + {name: 'policewoman', tags: _List_Nil, unicode: '๐Ÿ‘ฎ\u200Dโ™€๏ธ', x: 1472, y: 368}, + { + name: 'policeman', + tags: _List_fromArray( + ['police', 'law']), + unicode: '๐Ÿ‘ฎ', + x: 1472, + y: 322 + }, + {name: 'construction_worker_woman', tags: _List_Nil, unicode: '๐Ÿ‘ท\u200Dโ™€๏ธ', x: 414, y: 782}, + { + name: 'construction_worker_man', + tags: _List_fromArray( + ['helmet']), + unicode: '๐Ÿ‘ท', + x: 368, + y: 782 + }, + {name: 'guardswoman', tags: _List_Nil, unicode: '๐Ÿ’‚\u200Dโ™€๏ธ', x: 1104, y: 736}, + {name: 'guardsman', tags: _List_Nil, unicode: '๐Ÿ’‚', x: 1104, y: 690}, + { + name: 'female_detective', + tags: _List_fromArray( + ['sleuth']), + unicode: '๐Ÿ•ต๏ธ\u200Dโ™€๏ธ๏ธ', + x: 1012, + y: 276 + }, + { + name: 'male_detective', + tags: _List_fromArray( + ['sleuth']), + unicode: '๐Ÿ•ต', + x: 1012, + y: 1242 + }, + { + name: 'woman_health_worker', + tags: _List_fromArray( + ['doctor', 'nurse']), + unicode: '๐Ÿ‘ฉ\u200Dโš•๏ธ', + x: 1748, + y: 1380 + }, + { + name: 'man_health_worker', + tags: _List_fromArray( + ['doctor', 'nurse']), + unicode: '๐Ÿ‘จ\u200Dโš•๏ธ', + x: 1288, + y: 322 + }, + {name: 'woman_farmer', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐ŸŒพ๏ธ', x: 1748, y: 1288}, + {name: 'man_farmer', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐ŸŒพ๏ธ', x: 1288, y: 230}, + { + name: 'woman_cook', + tags: _List_fromArray( + ['chef']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿณ๏ธ', + x: 1748, + y: 1150 + }, + { + name: 'man_cook', + tags: _List_fromArray( + ['chef']), + unicode: '๐Ÿ‘จ\u200D๐Ÿณ๏ธ', + x: 1288, + y: 46 + }, + { + name: 'woman_student', + tags: _List_fromArray( + ['graduation']), + unicode: '๐Ÿ‘ฉ\u200D๐ŸŽ“๏ธ', + x: 138, + y: 1748 + }, + { + name: 'man_student', + tags: _List_fromArray( + ['graduation']), + unicode: '๐Ÿ‘จ\u200D๐ŸŽ“๏ธ', + x: 1288, + y: 874 + }, + { + name: 'woman_singer', + tags: _List_fromArray( + ['rockstar']), + unicode: '๐Ÿ‘ฉ\u200D๐ŸŽค๏ธ', + x: 92, + y: 1748 + }, + { + name: 'man_singer', + tags: _List_fromArray( + ['rockstar']), + unicode: '๐Ÿ‘จ\u200D๐ŸŽค๏ธ', + x: 1288, + y: 828 + }, + { + name: 'woman_teacher', + tags: _List_fromArray( + ['school', 'professor']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿซ๏ธ', + x: 184, + y: 1748 + }, + { + name: 'man_teacher', + tags: _List_fromArray( + ['school', 'professor']), + unicode: '๐Ÿ‘จ\u200D๐Ÿซ๏ธ', + x: 1288, + y: 920 + }, + {name: 'woman_factory_worker', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿญ๏ธ', x: 1748, y: 1242}, + {name: 'man_factory_worker', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿญ๏ธ', x: 1288, y: 184}, + { + name: 'woman_technologist', + tags: _List_fromArray( + ['coder']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿ’ป๏ธ', + x: 230, + y: 1748 + }, + { + name: 'man_technologist', + tags: _List_fromArray( + ['coder']), + unicode: '๐Ÿ‘จ\u200D๐Ÿ’ป๏ธ', + x: 1288, + y: 966 + }, + { + name: 'woman_office_worker', + tags: _List_fromArray( + ['business']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿ’ผ๏ธ', + x: 1748, + y: 1564 + }, + { + name: 'man_office_worker', + tags: _List_fromArray( + ['business']), + unicode: '๐Ÿ‘จ\u200D๐Ÿ’ผ๏ธ', + x: 1288, + y: 552 + }, + {name: 'woman_mechanic', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ”ง๏ธ', x: 1748, y: 1518}, + {name: 'man_mechanic', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ”ง๏ธ', x: 1288, y: 506}, + { + name: 'woman_scientist', + tags: _List_fromArray( + ['research']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿ”ฌ๏ธ', + x: 0, + y: 1748 + }, + { + name: 'man_scientist', + tags: _List_fromArray( + ['research']), + unicode: '๐Ÿ‘จ\u200D๐Ÿ”ฌ๏ธ', + x: 1288, + y: 736 + }, + { + name: 'woman_artist', + tags: _List_fromArray( + ['painter']), + unicode: '๐Ÿ‘ฉ\u200D๐ŸŽจ๏ธ', + x: 1748, + y: 1012 + }, + { + name: 'man_artist', + tags: _List_fromArray( + ['painter']), + unicode: '๐Ÿ‘จ\u200D๐ŸŽจ๏ธ', + x: 1196, + y: 1242 + }, + {name: 'woman_firefighter', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿš’๏ธ', x: 1748, y: 1334}, + {name: 'man_firefighter', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿš’๏ธ', x: 1288, y: 276}, + {name: 'woman_pilot', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200Dโœˆ๏ธ', x: 1748, y: 1610}, + {name: 'man_pilot', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200Dโœˆ๏ธ', x: 1288, y: 598}, + { + name: 'woman_astronaut', + tags: _List_fromArray( + ['space']), + unicode: '๐Ÿ‘ฉ\u200D๐Ÿš€๏ธ', + x: 1748, + y: 1058 + }, + { + name: 'man_astronaut', + tags: _List_fromArray( + ['space']), + unicode: '๐Ÿ‘จ\u200D๐Ÿš€๏ธ', + x: 1242, + y: 1242 + }, + { + name: 'woman_judge', + tags: _List_fromArray( + ['justice']), + unicode: '๐Ÿ‘ฉ\u200Dโš–๏ธ', + x: 1748, + y: 1426 + }, + { + name: 'man_judge', + tags: _List_fromArray( + ['justice']), + unicode: '๐Ÿ‘จ\u200Dโš–๏ธ', + x: 1288, + y: 414 + }, + { + name: 'mrs_claus', + tags: _List_fromArray( + ['santa']), + unicode: '๐Ÿคถ', + x: 230, + y: 1334 + }, + { + name: 'santa', + tags: _List_fromArray( + ['christmas']), + unicode: '๐ŸŽ…', + x: 920, + y: 1518 + }, + { + name: 'princess', + tags: _List_fromArray( + ['blonde', 'crown', 'royal']), + unicode: '๐Ÿ‘ธ', + x: 1472, + y: 1380 + }, + { + name: 'prince', + tags: _List_fromArray( + ['crown', 'royal']), + unicode: '๐Ÿคด', + x: 1472, + y: 1334 + }, + { + name: 'bride_with_veil', + tags: _List_fromArray( + ['marriage', 'wedding']), + unicode: '๐Ÿ‘ฐ', + x: 598, + y: 276 + }, + { + name: 'man_in_tuxedo', + tags: _List_fromArray( + ['groom', 'marriage', 'wedding']), + unicode: '๐Ÿคต', + x: 1288, + y: 368 + }, + {name: 'angel', tags: _List_Nil, unicode: '๐Ÿ‘ผ', x: 230, y: 92}, + {name: 'pregnant_woman', tags: _List_Nil, unicode: '๐Ÿคฐ', x: 1472, y: 1242}, + { + name: 'bowing_woman', + tags: _List_fromArray( + ['respect', 'thanks']), + unicode: '๐Ÿ™‡\u200Dโ™€๏ธ', + x: 552, + y: 552 + }, + { + name: 'bowing_man', + tags: _List_fromArray( + ['respect', 'thanks']), + unicode: '๐Ÿ™‡', + x: 506, + y: 552 + }, + {name: 'tipping_hand_woman', tags: _List_Nil, unicode: '๐Ÿ’', x: 184, y: 1656}, + { + name: 'tipping_hand_man', + tags: _List_fromArray( + ['information']), + unicode: '๐Ÿ’\u200Dโ™‚๏ธ', + x: 138, + y: 1656 + }, + { + name: 'no_good_woman', + tags: _List_fromArray( + ['stop', 'halt']), + unicode: '๐Ÿ™…', + x: 1380, + y: 874 + }, + { + name: 'no_good_man', + tags: _List_fromArray( + ['stop', 'halt']), + unicode: '๐Ÿ™…\u200Dโ™‚๏ธ', + x: 1380, + y: 828 + }, + {name: 'ok_woman', tags: _List_Nil, unicode: '๐Ÿ™†', x: 690, y: 1380}, + {name: 'ok_man', tags: _List_Nil, unicode: '๐Ÿ™†\u200Dโ™‚๏ธ', x: 644, y: 1380}, + {name: 'raising_hand_woman', tags: _List_Nil, unicode: '๐Ÿ™‹', x: 1380, y: 1472}, + {name: 'raising_hand_man', tags: _List_Nil, unicode: '๐Ÿ™‹\u200Dโ™‚๏ธ', x: 1334, y: 1472}, + {name: 'woman_facepalming', tags: _List_Nil, unicode: '๐Ÿคฆ\u200Dโ™€๏ธ', x: 1748, y: 1196}, + {name: 'man_facepalming', tags: _List_Nil, unicode: '๐Ÿคฆ\u200Dโ™‚๏ธ', x: 1288, y: 138}, + {name: 'woman_shrugging', tags: _List_Nil, unicode: '๐Ÿคท\u200Dโ™€๏ธ', x: 46, y: 1748}, + {name: 'man_shrugging', tags: _List_Nil, unicode: '๐Ÿคท\u200Dโ™‚๏ธ', x: 1288, y: 782}, + {name: 'pouting_woman', tags: _List_Nil, unicode: '๐Ÿ™Ž', x: 1472, y: 1104}, + {name: 'pouting_man', tags: _List_Nil, unicode: '๐Ÿ™Ž\u200Dโ™‚๏ธ', x: 1472, y: 1058}, + { + name: 'frowning_woman', + tags: _List_fromArray( + ['sad']), + unicode: '๐Ÿ™', + x: 1058, + y: 828 + }, + {name: 'frowning_man', tags: _List_Nil, unicode: '๐Ÿ™\u200Dโ™‚๏ธ', x: 1058, y: 782}, + { + name: 'haircut_woman', + tags: _List_fromArray( + ['beauty']), + unicode: '๐Ÿ’‡', + x: 92, + y: 1104 + }, + {name: 'haircut_man', tags: _List_Nil, unicode: '๐Ÿ’‡\u200Dโ™‚๏ธ', x: 46, y: 1104}, + { + name: 'massage_woman', + tags: _List_fromArray( + ['spa']), + unicode: '๐Ÿ’†', + x: 276, + y: 1288 + }, + { + name: 'massage_man', + tags: _List_fromArray( + ['spa']), + unicode: '๐Ÿ’†\u200Dโ™‚๏ธ', + x: 230, + y: 1288 + }, + {name: 'business_suit_levitating', tags: _List_Nil, unicode: '๐Ÿ•ด', x: 460, y: 598}, + { + name: 'dancer', + tags: _List_fromArray( + ['dress']), + unicode: '๐Ÿ’ƒ', + x: 874, + y: 276 + }, + { + name: 'man_dancing', + tags: _List_fromArray( + ['dancer']), + unicode: '๐Ÿ•บ', + x: 1288, + y: 92 + }, + { + name: 'dancing_women', + tags: _List_fromArray( + ['bunny']), + unicode: '๐Ÿ‘ฏ', + x: 874, + y: 414 + }, + { + name: 'dancing_men', + tags: _List_fromArray( + ['bunny']), + unicode: '๐Ÿ‘ฏ\u200Dโ™‚๏ธ', + x: 874, + y: 368 + }, + {name: 'walking_woman', tags: _List_Nil, unicode: '๐Ÿšถ\u200Dโ™€๏ธ', x: 966, y: 1702}, + {name: 'walking_man', tags: _List_Nil, unicode: '๐Ÿšถ', x: 920, y: 1702}, + { + name: 'running_woman', + tags: _List_fromArray( + ['exercise', 'workout', 'marathon']), + unicode: '๐Ÿƒ\u200Dโ™€๏ธ', + x: 506, + y: 1518 + }, + { + name: 'running_man', + tags: _List_fromArray( + ['exercise', 'workout', 'marathon']), + unicode: '๐Ÿƒ', + x: 414, + y: 1518 + }, + { + name: 'couple', + tags: _List_fromArray( + ['date']), + unicode: '๐Ÿ‘ซ', + x: 828, + y: 138 + }, + { + name: 'two_women_holding_hands', + tags: _List_fromArray( + ['couple', 'date']), + unicode: '๐Ÿ‘ญ', + x: 1702, + y: 598 + }, + { + name: 'two_men_holding_hands', + tags: _List_fromArray( + ['couple', 'date']), + unicode: '๐Ÿ‘ฌ', + x: 1702, + y: 552 + }, + {name: 'couple_with_heart_woman_man', tags: _List_Nil, unicode: '๐Ÿ’‘', x: 828, y: 276}, + {name: 'couple_with_heart_woman_woman', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200Dโค๏ธ\u200D๐Ÿ‘ฉ๏ธ', x: 828, y: 322}, + {name: 'couple_with_heart_man_man', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200Dโค๏ธ\u200D๐Ÿ‘จ๏ธ', x: 828, y: 230}, + {name: 'couplekiss_man_woman', tags: _List_Nil, unicode: '๐Ÿ’', x: 828, y: 460}, + {name: 'couplekiss_woman_woman', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200Dโค๏ธ\u200D๐Ÿ’‹\u200D๐Ÿ‘ฉ๏ธ', x: 828, y: 506}, + {name: 'couplekiss_man_man', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200Dโค๏ธ\u200D๐Ÿ’‹\u200D๐Ÿ‘จ๏ธ', x: 828, y: 414}, + { + name: 'family_man_woman_boy', + tags: _List_fromArray( + ['home', 'parents', 'child']), + unicode: '๐Ÿ‘ช', + x: 322, + y: 966 + }, + {name: 'family_man_woman_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง๏ธ', x: 414, y: 966}, + {name: 'family_man_woman_girl_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ฆ๏ธ', x: 460, y: 966}, + {name: 'family_man_woman_boy_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ฆ\u200D๐Ÿ‘ฆ๏ธ', x: 368, y: 966}, + {name: 'family_man_woman_girl_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ง๏ธ', x: 506, y: 966}, + {name: 'family_woman_woman_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ฆ๏ธ', x: 782, y: 966}, + {name: 'family_woman_woman_girl', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง๏ธ', x: 874, y: 966}, + {name: 'family_woman_woman_girl_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ฆ๏ธ', x: 920, y: 966}, + {name: 'family_woman_woman_boy_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ฆ\u200D๐Ÿ‘ฆ๏ธ', x: 828, y: 966}, + {name: 'family_woman_woman_girl_girl', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ง๏ธ', x: 966, y: 966}, + {name: 'family_man_man_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘จ\u200D๐Ÿ‘ฆ๏ธ', x: 92, y: 966}, + {name: 'family_man_man_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘จ\u200D๐Ÿ‘ง๏ธ', x: 184, y: 966}, + {name: 'family_man_man_girl_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘จ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ฆ๏ธ', x: 230, y: 966}, + {name: 'family_man_man_boy_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘จ\u200D๐Ÿ‘ฆ\u200D๐Ÿ‘ฆ๏ธ', x: 138, y: 966}, + {name: 'family_man_man_girl_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘จ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ง๏ธ', x: 276, y: 966}, + {name: 'family_woman_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฆ๏ธ', x: 552, y: 966}, + {name: 'family_woman_girl', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ง๏ธ', x: 644, y: 966}, + {name: 'family_woman_girl_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ฆ๏ธ', x: 690, y: 966}, + {name: 'family_woman_boy_boy', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ฆ\u200D๐Ÿ‘ฆ๏ธ', x: 598, y: 966}, + {name: 'family_woman_girl_girl', tags: _List_Nil, unicode: '๐Ÿ‘ฉ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ง๏ธ', x: 736, y: 966}, + {name: 'family_man_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฆ๏ธ', x: 966, y: 828}, + {name: 'family_man_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ง๏ธ', x: 966, y: 920}, + {name: 'family_man_girl_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ฆ๏ธ', x: 0, y: 966}, + {name: 'family_man_boy_boy', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ฆ\u200D๐Ÿ‘ฆ๏ธ', x: 966, y: 874}, + {name: 'family_man_girl_girl', tags: _List_Nil, unicode: '๐Ÿ‘จ\u200D๐Ÿ‘ง\u200D๐Ÿ‘ง๏ธ', x: 46, y: 966}, + {name: 'womans_clothes', tags: _List_Nil, unicode: '๐Ÿ‘š', x: 322, y: 1748}, + {name: 'shirt', tags: _List_Nil, unicode: '๐Ÿ‘•', x: 1564, y: 874}, + { + name: 'jeans', + tags: _List_fromArray( + ['pants']), + unicode: '๐Ÿ‘–', + x: 1196, + y: 644 + }, + { + name: 'necktie', + tags: _List_fromArray( + ['shirt', 'formal']), + unicode: '๐Ÿ‘”', + x: 920, + y: 1334 + }, + {name: 'dress', tags: _List_Nil, unicode: '๐Ÿ‘—', x: 920, y: 276}, + { + name: 'bikini', + tags: _List_fromArray( + ['beach']), + unicode: '๐Ÿ‘™', + x: 506, + y: 414 + }, + {name: 'kimono', tags: _List_Nil, unicode: '๐Ÿ‘˜', x: 92, y: 1196}, + { + name: 'high_heel', + tags: _List_fromArray( + ['shoe']), + unicode: '๐Ÿ‘ ', + x: 1150, + y: 552 + }, + { + name: 'sandal', + tags: _List_fromArray( + ['shoe']), + unicode: '๐Ÿ‘ก', + x: 874, + y: 1518 + }, + {name: 'boot', tags: _List_Nil, unicode: '๐Ÿ‘ข', x: 230, y: 552}, + {name: 'mans_shoe', tags: _List_Nil, unicode: '๐Ÿ‘ž', x: 1288, y: 1150}, + { + name: 'athletic_shoe', + tags: _List_fromArray( + ['sneaker', 'sport', 'running']), + unicode: '๐Ÿ‘Ÿ', + x: 368, + y: 138 + }, + {name: 'womans_hat', tags: _List_Nil, unicode: '๐Ÿ‘’', x: 368, y: 1748}, + { + name: 'tophat', + tags: _List_fromArray( + ['hat', 'classy']), + unicode: '๐ŸŽฉ', + x: 690, + y: 1656 + }, + { + name: 'mortar_board', + tags: _List_fromArray( + ['education', 'college', 'university', 'graduation']), + unicode: '๐ŸŽ“', + x: 1334, + y: 690 + }, + { + name: 'crown', + tags: _List_fromArray( + ['king', 'queen', 'royal']), + unicode: '๐Ÿ‘‘', + x: 368, + y: 828 + }, + {name: 'rescue_worker_helmet', tags: _List_Nil, unicode: 'โ›‘', x: 1518, y: 506}, + {name: 'school_satchel', tags: _List_Nil, unicode: '๐ŸŽ’', x: 1242, y: 1518}, + { + name: 'pouch', + tags: _List_fromArray( + ['bag']), + unicode: '๐Ÿ‘', + x: 1472, + y: 828 + }, + {name: 'purse', tags: _List_Nil, unicode: '๐Ÿ‘›', x: 138, y: 1472}, + { + name: 'handbag', + tags: _List_fromArray( + ['bag']), + unicode: '๐Ÿ‘œ', + x: 460, + y: 1104 + }, + { + name: 'briefcase', + tags: _List_fromArray( + ['business']), + unicode: '๐Ÿ’ผ', + x: 598, + y: 368 + }, + { + name: 'eyeglasses', + tags: _List_fromArray( + ['glasses']), + unicode: '๐Ÿ‘“', + x: 966, + y: 414 + }, + {name: 'dark_sunglasses', tags: _List_Nil, unicode: '๐Ÿ•ถ', x: 874, y: 506}, + { + name: 'closed_umbrella', + tags: _List_fromArray( + ['weather', 'rain']), + unicode: '๐ŸŒ‚', + x: 644, + y: 736 + }, + {name: 'open_umbrella', tags: _List_Nil, unicode: 'โ˜‚๏ธ', x: 1426, y: 0} + ]), + places: _List_fromArray( + [ + {name: 'car', tags: _List_Nil, unicode: '๐Ÿš—', x: 322, y: 644}, + {name: 'taxi', tags: _List_Nil, unicode: '๐Ÿš•', x: 1656, y: 874}, + {name: 'blue_car', tags: _List_Nil, unicode: '๐Ÿš™', x: 552, y: 230}, + {name: 'bus', tags: _List_Nil, unicode: '๐ŸšŒ', x: 414, y: 598}, + {name: 'trolleybus', tags: _List_Nil, unicode: '๐ŸšŽ', x: 1334, y: 1656}, + {name: 'racing_car', tags: _List_Nil, unicode: '๐ŸŽ', x: 506, y: 1472}, + {name: 'police_car', tags: _List_Nil, unicode: '๐Ÿš“', x: 1472, y: 276}, + {name: 'ambulance', tags: _List_Nil, unicode: '๐Ÿš‘', x: 92, y: 184}, + {name: 'fire_engine', tags: _List_Nil, unicode: '๐Ÿš’', x: 1012, y: 828}, + {name: 'minibus', tags: _List_Nil, unicode: '๐Ÿš', x: 1288, y: 1288}, + {name: 'truck', tags: _List_Nil, unicode: '๐Ÿšš', x: 1564, y: 1656}, + {name: 'articulated_lorry', tags: _List_Nil, unicode: '๐Ÿš›', x: 276, y: 322}, + {name: 'tractor', tags: _List_Nil, unicode: '๐Ÿšœ', x: 874, y: 1656}, + {name: 'kick_scooter', tags: _List_Nil, unicode: '๐Ÿ›ด', x: 46, y: 1196}, + { + name: 'bike', + tags: _List_fromArray( + ['bicycle']), + unicode: '๐Ÿšฒ', + x: 506, + y: 276 + }, + {name: 'motor_scooter', tags: _List_Nil, unicode: '๐Ÿ›ต', x: 1334, y: 828}, + {name: 'motorcycle', tags: _List_Nil, unicode: '๐Ÿ', x: 1334, y: 874}, + { + name: 'rotating_light', + tags: _List_fromArray( + ['911', 'emergency']), + unicode: '๐Ÿšจ', + x: 0, + y: 1518 + }, + {name: 'oncoming_police_car', tags: _List_Nil, unicode: '๐Ÿš”', x: 1104, y: 1380}, + {name: 'oncoming_bus', tags: _List_Nil, unicode: '๐Ÿš', x: 1058, y: 1380}, + {name: 'oncoming_automobile', tags: _List_Nil, unicode: '๐Ÿš˜', x: 1012, y: 1380}, + {name: 'oncoming_taxi', tags: _List_Nil, unicode: '๐Ÿš–', x: 1150, y: 1380}, + {name: 'aerial_tramway', tags: _List_Nil, unicode: '๐Ÿšก', x: 46, y: 138}, + {name: 'mountain_cableway', tags: _List_Nil, unicode: '๐Ÿš ', x: 1334, y: 1196}, + {name: 'suspension_railway', tags: _List_Nil, unicode: '๐ŸšŸ', x: 1472, y: 1610}, + {name: 'railway_car', tags: _List_Nil, unicode: '๐Ÿšƒ', x: 920, y: 1472}, + {name: 'train', tags: _List_Nil, unicode: '๐Ÿš‹', x: 966, y: 1656}, + {name: 'mountain_railway', tags: _List_Nil, unicode: '๐Ÿšž', x: 1334, y: 1242}, + {name: 'monorail', tags: _List_Nil, unicode: '๐Ÿš', x: 1334, y: 460}, + { + name: 'bullettrain_side', + tags: _List_fromArray( + ['train']), + unicode: '๐Ÿš„', + x: 230, + y: 598 + }, + { + name: 'bullettrain_front', + tags: _List_fromArray( + ['train']), + unicode: '๐Ÿš…', + x: 184, + y: 598 + }, + {name: 'light_rail', tags: _List_Nil, unicode: '๐Ÿšˆ', x: 1242, y: 782}, + { + name: 'steam_locomotive', + tags: _List_fromArray( + ['train']), + unicode: '๐Ÿš‚', + x: 184, + y: 1610 + }, + {name: 'train2', tags: _List_Nil, unicode: '๐Ÿš†', x: 1012, y: 1656}, + {name: 'metro', tags: _List_Nil, unicode: '๐Ÿš‡', x: 920, y: 1288}, + {name: 'tram', tags: _List_Nil, unicode: '๐ŸšŠ', x: 1058, y: 1656}, + {name: 'station', tags: _List_Nil, unicode: '๐Ÿš‰', x: 92, y: 1610}, + {name: 'helicopter', tags: _List_Nil, unicode: '๐Ÿš', x: 1150, y: 368}, + { + name: 'small_airplane', + tags: _List_fromArray( + ['flight']), + unicode: '๐Ÿ›ฉ', + x: 460, + y: 1564 + }, + { + name: 'airplane', + tags: _List_fromArray( + ['flight']), + unicode: 'โœˆ๏ธ', + x: 138, + y: 138 + }, + {name: 'flight_departure', tags: _List_Nil, unicode: '๐Ÿ›ซ', x: 598, y: 1012}, + {name: 'flight_arrival', tags: _List_Nil, unicode: '๐Ÿ›ฌ', x: 552, y: 1012}, + { + name: 'rocket', + tags: _List_fromArray( + ['ship', 'launch']), + unicode: '๐Ÿš€', + x: 1518, + y: 1150 + }, + { + name: 'artificial_satellite', + tags: _List_fromArray( + ['orbit', 'space']), + unicode: '๐Ÿ›ฐ', + x: 322, + y: 322 + }, + {name: 'seat', tags: _List_Nil, unicode: '๐Ÿ’บ', x: 1564, y: 0}, + {name: 'canoe', tags: _List_Nil, unicode: '๐Ÿ›ถ', x: 138, y: 644}, + {name: 'boat', tags: _List_Nil, unicode: 'โ›ต๏ธ', x: 552, y: 414}, + {name: 'motor_boat', tags: _List_Nil, unicode: '๐Ÿ›ฅ', x: 1334, y: 782}, + { + name: 'speedboat', + tags: _List_fromArray( + ['ship']), + unicode: '๐Ÿšค', + x: 1610, + y: 736 + }, + { + name: 'passenger_ship', + tags: _List_fromArray( + ['cruise']), + unicode: '๐Ÿ›ณ', + x: 1426, + y: 1288 + }, + {name: 'ferry', tags: _List_Nil, unicode: 'โ›ด', x: 1012, y: 368}, + {name: 'ship', tags: _List_Nil, unicode: '๐Ÿšข', x: 1564, y: 782}, + { + name: 'anchor', + tags: _List_fromArray( + ['ship']), + unicode: 'โš“๏ธ', + x: 230, + y: 0 + }, + { + name: 'construction', + tags: _List_fromArray( + ['wip']), + unicode: '๐Ÿšง', + x: 276, + y: 782 + }, + {name: 'fuelpump', tags: _List_Nil, unicode: 'โ›ฝ๏ธ', x: 1058, y: 920}, + {name: 'busstop', tags: _List_Nil, unicode: '๐Ÿš', x: 506, y: 598}, + { + name: 'vertical_traffic_light', + tags: _List_fromArray( + ['semaphore']), + unicode: '๐Ÿšฆ', + x: 322, + y: 1702 + }, + {name: 'traffic_light', tags: _List_Nil, unicode: '๐Ÿšฅ', x: 920, y: 1656}, + { + name: 'world_map', + tags: _List_fromArray( + ['travel']), + unicode: '๐Ÿ—บ', + x: 506, + y: 1748 + }, + { + name: 'moyai', + tags: _List_fromArray( + ['stone']), + unicode: '๐Ÿ—ฟ', + x: 138, + y: 1334 + }, + {name: 'statue_of_liberty', tags: _List_Nil, unicode: '๐Ÿ—ฝ', x: 138, y: 1610}, + {name: 'fountain', tags: _List_Nil, unicode: 'โ›ฒ๏ธ', x: 1058, y: 0}, + {name: 'tokyo_tower', tags: _List_Nil, unicode: '๐Ÿ—ผ', x: 460, y: 1656}, + {name: 'european_castle', tags: _List_Nil, unicode: '๐Ÿฐ', x: 966, y: 46}, + {name: 'japanese_castle', tags: _List_Nil, unicode: '๐Ÿฏ', x: 1196, y: 506}, + {name: 'stadium', tags: _List_Nil, unicode: '๐ŸŸ', x: 1610, y: 1426}, + {name: 'ferris_wheel', tags: _List_Nil, unicode: '๐ŸŽก', x: 1012, y: 322}, + {name: 'roller_coaster', tags: _List_Nil, unicode: '๐ŸŽข', x: 1518, y: 1288}, + {name: 'carousel_horse', tags: _List_Nil, unicode: '๐ŸŽ ', x: 552, y: 644}, + { + name: 'parasol_on_ground', + tags: _List_fromArray( + ['beach_umbrella']), + unicode: 'โ›ฑ', + x: 1426, + y: 1104 + }, + {name: 'beach_umbrella', tags: _List_Nil, unicode: '๐Ÿ–', x: 460, y: 414}, + {name: 'desert_island', tags: _List_Nil, unicode: '๐Ÿ', x: 138, y: 874}, + {name: 'mountain', tags: _List_Nil, unicode: 'โ›ฐ', x: 1334, y: 1012}, + {name: 'mountain_snow', tags: _List_Nil, unicode: '๐Ÿ”', x: 1334, y: 1288}, + {name: 'mount_fuji', tags: _List_Nil, unicode: '๐Ÿ—ป', x: 1334, y: 966}, + {name: 'volcano', tags: _List_Nil, unicode: '๐ŸŒ‹', x: 690, y: 1702}, + {name: 'desert', tags: _List_Nil, unicode: '๐Ÿœ', x: 92, y: 874}, + {name: 'camping', tags: _List_Nil, unicode: '๐Ÿ•', x: 644, y: 506}, + { + name: 'tent', + tags: _List_fromArray( + ['camping']), + unicode: 'โ›บ๏ธ', + x: 1656, + y: 1150 + }, + {name: 'railway_track', tags: _List_Nil, unicode: '๐Ÿ›ค', x: 966, y: 1472}, + {name: 'motorway', tags: _List_Nil, unicode: '๐Ÿ›ฃ', x: 1334, y: 920}, + {name: 'building_construction', tags: _List_Nil, unicode: '๐Ÿ—', x: 46, y: 598}, + {name: 'factory', tags: _List_Nil, unicode: '๐Ÿญ', x: 966, y: 644}, + {name: 'house', tags: _List_Nil, unicode: '๐Ÿ ', x: 138, y: 1150}, + {name: 'house_with_garden', tags: _List_Nil, unicode: '๐Ÿก', x: 184, y: 1150}, + {name: 'houses', tags: _List_Nil, unicode: '๐Ÿ˜', x: 230, y: 1150}, + {name: 'derelict_house', tags: _List_Nil, unicode: '๐Ÿš', x: 46, y: 874}, + {name: 'office', tags: _List_Nil, unicode: '๐Ÿข', x: 460, y: 1380}, + {name: 'department_store', tags: _List_Nil, unicode: '๐Ÿฌ', x: 0, y: 874}, + {name: 'post_office', tags: _List_Nil, unicode: '๐Ÿฃ', x: 1472, y: 598}, + {name: 'european_post_office', tags: _List_Nil, unicode: '๐Ÿค', x: 966, y: 92}, + {name: 'hospital', tags: _List_Nil, unicode: '๐Ÿฅ', x: 1150, y: 966}, + {name: 'bank', tags: _List_Nil, unicode: '๐Ÿฆ', x: 230, y: 414}, + {name: 'hotel', tags: _List_Nil, unicode: '๐Ÿจ', x: 1150, y: 1104}, + {name: 'convenience_store', tags: _List_Nil, unicode: '๐Ÿช', x: 506, y: 782}, + {name: 'school', tags: _List_Nil, unicode: '๐Ÿซ', x: 1196, y: 1518}, + {name: 'love_hotel', tags: _List_Nil, unicode: '๐Ÿฉ', x: 138, y: 1242}, + { + name: 'wedding', + tags: _List_fromArray( + ['marriage']), + unicode: '๐Ÿ’’', + x: 1656, + y: 1702 + }, + {name: 'classical_building', tags: _List_Nil, unicode: '๐Ÿ›', x: 736, y: 46}, + {name: 'church', tags: _List_Nil, unicode: 'โ›ช๏ธ', x: 322, y: 690}, + {name: 'mosque', tags: _List_Nil, unicode: '๐Ÿ•Œ', x: 1334, y: 736}, + {name: 'synagogue', tags: _List_Nil, unicode: '๐Ÿ•', x: 1656, y: 368}, + {name: 'kaaba', tags: _List_Nil, unicode: '๐Ÿ•‹', x: 1196, y: 966}, + {name: 'shinto_shrine', tags: _List_Nil, unicode: 'โ›ฉ', x: 1564, y: 736}, + {name: 'japan', tags: _List_Nil, unicode: '๐Ÿ—พ', x: 1196, y: 460}, + {name: 'rice_scene', tags: _List_Nil, unicode: '๐ŸŽ‘', x: 1518, y: 966}, + {name: 'national_park', tags: _List_Nil, unicode: '๐Ÿž', x: 736, y: 1334}, + {name: 'sunrise', tags: _List_Nil, unicode: '๐ŸŒ…', x: 1104, y: 1610}, + {name: 'sunrise_over_mountains', tags: _List_Nil, unicode: '๐ŸŒ„', x: 1150, y: 1610}, + {name: 'stars', tags: _List_Nil, unicode: '๐ŸŒ ', x: 46, y: 1610}, + {name: 'sparkler', tags: _List_Nil, unicode: '๐ŸŽ‡', x: 1610, y: 414}, + { + name: 'fireworks', + tags: _List_fromArray( + ['festival', 'celebration']), + unicode: '๐ŸŽ†', + x: 1012, + y: 874 + }, + {name: 'city_sunrise', tags: _List_Nil, unicode: '๐ŸŒ‡', x: 460, y: 690}, + {name: 'city_sunset', tags: _List_Nil, unicode: '๐ŸŒ†', x: 506, y: 690}, + { + name: 'cityscape', + tags: _List_fromArray( + ['skyline']), + unicode: '๐Ÿ™', + x: 552, + y: 690 + }, + {name: 'night_with_stars', tags: _List_Nil, unicode: '๐ŸŒƒ', x: 1380, y: 460}, + {name: 'milky_way', tags: _List_Nil, unicode: '๐ŸŒŒ', x: 1242, y: 1288}, + {name: 'bridge_at_night', tags: _List_Nil, unicode: '๐ŸŒ‰', x: 598, y: 322}, + { + name: 'foggy', + tags: _List_fromArray( + ['karl']), + unicode: '๐ŸŒ', + x: 874, + y: 1012 + }, + {name: 'white_flag', tags: _List_Nil, unicode: '๐Ÿณ๏ธ', x: 1748, y: 368}, + {name: 'black_flag', tags: _List_Nil, unicode: '๐Ÿด', x: 138, y: 506}, + { + name: 'checkered_flag', + tags: _List_fromArray( + ['milestone', 'finish']), + unicode: '๐Ÿ', + x: 690, + y: 460 + }, + {name: 'triangular_flag_on_post', tags: _List_Nil, unicode: '๐Ÿšฉ', x: 1104, y: 1656}, + { + name: 'rainbow_flag', + tags: _List_fromArray( + ['pride']), + unicode: '๐Ÿณ๏ธ\u200D๐ŸŒˆ๏ธ', + x: 1058, + y: 1472 + }, + {name: 'afghanistan', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ซ', x: 92, y: 138}, + {name: 'aland_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฝ', x: 184, y: 0}, + {name: 'albania', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฑ', x: 184, y: 92}, + {name: 'algeria', tags: _List_Nil, unicode: '๐Ÿ‡ฉ๐Ÿ‡ฟ', x: 0, y: 184}, + {name: 'american_samoa', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ธ', x: 138, y: 184}, + {name: 'andorra', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฉ', x: 230, y: 46}, + {name: 'angola', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ด', x: 230, y: 184}, + {name: 'anguilla', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฎ', x: 46, y: 230}, + {name: 'antarctica', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ถ', x: 184, y: 230}, + {name: 'antigua_barbuda', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฌ', x: 230, y: 230}, + {name: 'argentina', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ท', x: 276, y: 92}, + {name: 'armenia', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฒ', x: 276, y: 184}, + {name: 'aruba', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ผ', x: 368, y: 0}, + {name: 'australia', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡บ', x: 368, y: 322}, + {name: 'austria', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡น', x: 0, y: 368}, + {name: 'azerbaijan', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ฟ', x: 92, y: 368}, + {name: 'bahamas', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ธ', x: 414, y: 184}, + {name: 'bahrain', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ญ', x: 414, y: 230}, + {name: 'bangladesh', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฉ', x: 184, y: 414}, + {name: 'barbados', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ง', x: 322, y: 414}, + {name: 'belarus', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡พ', x: 322, y: 460}, + {name: 'belgium', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ช', x: 368, y: 460}, + {name: 'belize', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฟ', x: 414, y: 460}, + {name: 'benin', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฏ', x: 506, y: 46}, + {name: 'bermuda', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฒ', x: 506, y: 138}, + {name: 'bhutan', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡น', x: 506, y: 184}, + {name: 'bolivia', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ด', x: 552, y: 460}, + {name: 'caribbean_netherlands', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ถ', x: 506, y: 644}, + {name: 'bosnia_herzegovina', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฆ', x: 276, y: 552}, + {name: 'botswana', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ผ', x: 322, y: 552}, + {name: 'brazil', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ท', x: 598, y: 184}, + {name: 'british_indian_ocean_territory', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ด', x: 598, y: 414}, + {name: 'british_virgin_islands', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡ฌ', x: 598, y: 460}, + {name: 'brunei', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ณ', x: 598, y: 552}, + {name: 'bulgaria', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฌ', x: 138, y: 598}, + {name: 'burkina_faso', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ซ', x: 276, y: 598}, + {name: 'burundi', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฎ', x: 368, y: 598}, + {name: 'cape_verde', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ป', x: 184, y: 644}, + {name: 'cambodia', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ญ', x: 644, y: 276}, + {name: 'cameroon', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฒ', x: 644, y: 460}, + {name: 'canada', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฆ', x: 644, y: 552}, + {name: 'canary_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡จ', x: 644, y: 598}, + {name: 'cayman_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡พ', x: 690, y: 46}, + {name: 'central_african_republic', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ซ', x: 690, y: 138}, + {name: 'chad', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฉ', x: 690, y: 184}, + {name: 'chile', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฑ', x: 92, y: 690}, + { + name: 'cn', + tags: _List_fromArray( + ['china']), + unicode: '๐Ÿ‡จ๐Ÿ‡ณ', + x: 782, + y: 230 + }, + {name: 'christmas_island', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฝ', x: 230, y: 690}, + { + name: 'cocos_islands', + tags: _List_fromArray( + ['keeling']), + unicode: '๐Ÿ‡จ๐Ÿ‡จ', + x: 782, + y: 322 + }, + {name: 'colombia', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ด', x: 782, y: 552}, + {name: 'comoros', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ฒ', x: 782, y: 644}, + {name: 'congo_brazzaville', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฌ', x: 138, y: 782}, + {name: 'congo_kinshasa', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฉ', x: 184, y: 782}, + {name: 'cook_islands', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฐ', x: 552, y: 782}, + {name: 'costa_rica', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ท', x: 828, y: 0}, + { + name: 'cote_divoire', + tags: _List_fromArray( + ['ivory']), + unicode: '๐Ÿ‡จ๐Ÿ‡ฎ', + x: 828, + y: 46 + }, + {name: 'croatia', tags: _List_Nil, unicode: '๐Ÿ‡ญ๐Ÿ‡ท', x: 92, y: 828}, + {name: 'cuba', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡บ', x: 552, y: 828}, + {name: 'curacao', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ผ', x: 690, y: 828}, + {name: 'cyprus', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡พ', x: 874, y: 138}, + {name: 'czech_republic', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ฟ', x: 874, y: 184}, + {name: 'denmark', tags: _List_Nil, unicode: '๐Ÿ‡ฉ๐Ÿ‡ฐ', x: 874, y: 828}, + {name: 'djibouti', tags: _List_Nil, unicode: '๐Ÿ‡ฉ๐Ÿ‡ฏ', x: 552, y: 874}, + {name: 'dominica', tags: _List_Nil, unicode: '๐Ÿ‡ฉ๐Ÿ‡ฒ', x: 874, y: 874}, + {name: 'dominican_republic', tags: _List_Nil, unicode: '๐Ÿ‡ฉ๐Ÿ‡ด', x: 920, y: 0}, + {name: 'ecuador', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡จ', x: 0, y: 920}, + {name: 'egypt', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡ฌ', x: 138, y: 920}, + {name: 'el_salvador', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ป', x: 322, y: 920}, + {name: 'equatorial_guinea', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ถ', x: 690, y: 920}, + {name: 'eritrea', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡ท', x: 736, y: 920}, + {name: 'estonia', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡ช', x: 828, y: 920}, + {name: 'ethiopia', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡น', x: 874, y: 920}, + {name: 'eu', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡บ', x: 920, y: 920}, + {name: 'falkland_islands', tags: _List_Nil, unicode: '๐Ÿ‡ซ๐Ÿ‡ฐ', x: 966, y: 690}, + {name: 'faroe_islands', tags: _List_Nil, unicode: '๐Ÿ‡ซ๐Ÿ‡ด', x: 1012, y: 0}, + {name: 'fiji', tags: _List_Nil, unicode: '๐Ÿ‡ซ๐Ÿ‡ฏ', x: 1012, y: 460}, + {name: 'finland', tags: _List_Nil, unicode: '๐Ÿ‡ซ๐Ÿ‡ฎ', x: 1012, y: 690}, + { + name: 'fr', + tags: _List_fromArray( + ['france', 'french']), + unicode: '๐Ÿ‡ซ๐Ÿ‡ท', + x: 1058, + y: 230 + }, + {name: 'french_guiana', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ซ', x: 1058, y: 368}, + {name: 'french_polynesia', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ซ', x: 1058, y: 414}, + {name: 'french_southern_territories', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ซ', x: 1058, y: 460}, + {name: 'gabon', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฆ', x: 46, y: 1058}, + {name: 'gambia', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฒ', x: 92, y: 1058}, + {name: 'georgia', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ช', x: 368, y: 1058}, + { + name: 'de', + tags: _List_fromArray( + ['flag', 'germany']), + unicode: '๐Ÿ‡ฉ๐Ÿ‡ช', + x: 874, + y: 690 + }, + {name: 'ghana', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ญ', x: 414, y: 1058}, + {name: 'gibraltar', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฎ', x: 506, y: 1058}, + {name: 'greece', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ท', x: 1104, y: 46}, + {name: 'greenland', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฑ', x: 1104, y: 276}, + {name: 'grenada', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฉ', x: 1104, y: 322}, + {name: 'guadeloupe', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ต', x: 1104, y: 598}, + {name: 'guam', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡บ', x: 1104, y: 644}, + {name: 'guatemala', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡น', x: 1104, y: 782}, + {name: 'guernsey', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ฌ', x: 1104, y: 828}, + {name: 'guinea', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ณ', x: 1104, y: 874}, + {name: 'guinea_bissau', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ผ', x: 1104, y: 920}, + {name: 'guyana', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡พ', x: 1104, y: 1058}, + {name: 'haiti', tags: _List_Nil, unicode: '๐Ÿ‡ญ๐Ÿ‡น', x: 138, y: 1104}, + {name: 'honduras', tags: _List_Nil, unicode: '๐Ÿ‡ญ๐Ÿ‡ณ', x: 1150, y: 690}, + {name: 'hong_kong', tags: _List_Nil, unicode: '๐Ÿ‡ญ๐Ÿ‡ฐ', x: 1150, y: 828}, + {name: 'hungary', tags: _List_Nil, unicode: '๐Ÿ‡ญ๐Ÿ‡บ', x: 322, y: 1150}, + {name: 'iceland', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ธ', x: 644, y: 1150}, + {name: 'india', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ณ', x: 920, y: 1150}, + {name: 'indonesia', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ฉ', x: 966, y: 1150}, + {name: 'iran', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ท', x: 1196, y: 46}, + {name: 'iraq', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ถ', x: 1196, y: 92}, + {name: 'ireland', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ช', x: 1196, y: 138}, + {name: 'isle_of_man', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ฒ', x: 1196, y: 184}, + {name: 'israel', tags: _List_Nil, unicode: '๐Ÿ‡ฎ๐Ÿ‡ฑ', x: 1196, y: 230}, + { + name: 'it', + tags: _List_fromArray( + ['italy']), + unicode: '๐Ÿ‡ฎ๐Ÿ‡น', + x: 1196, + y: 276 + }, + {name: 'jamaica', tags: _List_Nil, unicode: '๐Ÿ‡ฏ๐Ÿ‡ฒ', x: 1196, y: 414}, + { + name: 'jp', + tags: _List_fromArray( + ['japan']), + unicode: '๐Ÿ‡ฏ๐Ÿ‡ต', + x: 1196, + y: 920 + }, + {name: 'crossed_flags', tags: _List_Nil, unicode: '๐ŸŽŒ', x: 276, y: 828}, + {name: 'jersey', tags: _List_Nil, unicode: '๐Ÿ‡ฏ๐Ÿ‡ช', x: 1196, y: 690}, + {name: 'jordan', tags: _List_Nil, unicode: '๐Ÿ‡ฏ๐Ÿ‡ด', x: 1196, y: 736}, + {name: 'kazakhstan', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ฟ', x: 1196, y: 1012}, + {name: 'kenya', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ช', x: 1196, y: 1058}, + {name: 'kiribati', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ฎ', x: 138, y: 1196}, + {name: 'kosovo', tags: _List_Nil, unicode: '๐Ÿ‡ฝ๐Ÿ‡ฐ', x: 644, y: 1196}, + {name: 'kuwait', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ผ', x: 736, y: 1196}, + {name: 'kyrgyzstan', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ฌ', x: 782, y: 1196}, + {name: 'laos', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ฆ', x: 920, y: 1196}, + {name: 'latvia', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ป', x: 1242, y: 0}, + {name: 'lebanon', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ง', x: 1242, y: 138}, + {name: 'lesotho', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ธ', x: 1242, y: 506}, + {name: 'liberia', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ท', x: 1242, y: 598}, + {name: 'libya', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡พ', x: 1242, y: 690}, + {name: 'liechtenstein', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ฎ', x: 1242, y: 736}, + {name: 'lithuania', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡น', x: 1242, y: 1012}, + {name: 'luxembourg', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡บ', x: 276, y: 1242}, + {name: 'macau', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ด', x: 414, y: 1242}, + {name: 'macedonia', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฐ', x: 460, y: 1242}, + {name: 'madagascar', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฌ', x: 506, y: 1242}, + {name: 'malawi', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ผ', x: 874, y: 1242}, + {name: 'malaysia', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡พ', x: 920, y: 1242}, + {name: 'maldives', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ป', x: 966, y: 1242}, + {name: 'mali', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฑ', x: 1058, y: 1242}, + {name: 'malta', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡น', x: 1104, y: 1242}, + {name: 'marshall_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ญ', x: 0, y: 1288}, + {name: 'martinique', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ถ', x: 92, y: 1288}, + {name: 'mauritania', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ท', x: 322, y: 1288}, + {name: 'mauritius', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡บ', x: 368, y: 1288}, + {name: 'mayotte', tags: _List_Nil, unicode: '๐Ÿ‡พ๐Ÿ‡น', x: 0, y: 0}, + {name: 'mexico', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฝ', x: 966, y: 1288}, + {name: 'micronesia', tags: _List_Nil, unicode: '๐Ÿ‡ซ๐Ÿ‡ฒ', x: 1012, y: 1288}, + {name: 'moldova', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฉ', x: 1334, y: 92}, + {name: 'monaco', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡จ', x: 1334, y: 138}, + {name: 'mongolia', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ณ', x: 1334, y: 322}, + {name: 'montenegro', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ช', x: 1334, y: 506}, + {name: 'montserrat', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ธ', x: 1334, y: 552}, + {name: 'morocco', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฆ', x: 1334, y: 644}, + {name: 'mozambique', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ฟ', x: 184, y: 1334}, + { + name: 'myanmar', + tags: _List_fromArray( + ['burma']), + unicode: '๐Ÿ‡ฒ๐Ÿ‡ฒ', + x: 552, + y: 1334 + }, + {name: 'namibia', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ฆ', x: 690, y: 1334}, + {name: 'nauru', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ท', x: 782, y: 1334}, + {name: 'nepal', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ต', x: 1012, y: 1334}, + {name: 'netherlands', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ฑ', x: 1104, y: 1334}, + {name: 'new_caledonia', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡จ', x: 1242, y: 1334}, + {name: 'new_zealand', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ฟ', x: 1380, y: 0}, + {name: 'nicaragua', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ฎ', x: 1380, y: 322}, + {name: 'niger', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ช', x: 1380, y: 368}, + {name: 'nigeria', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ฌ', x: 1380, y: 414}, + {name: 'niue', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡บ', x: 1380, y: 552}, + {name: 'norfolk_island', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ซ', x: 1380, y: 1150}, + {name: 'northern_mariana_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฒ๐Ÿ‡ต', x: 1380, y: 1242}, + {name: 'north_korea', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ต', x: 1380, y: 1196}, + {name: 'norway', tags: _List_Nil, unicode: '๐Ÿ‡ณ๐Ÿ‡ด', x: 1380, y: 1288}, + {name: 'oman', tags: _List_Nil, unicode: '๐Ÿ‡ด๐Ÿ‡ฒ', x: 920, y: 1380}, + {name: 'pakistan', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ฐ', x: 1426, y: 598}, + {name: 'palau', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ผ', x: 1426, y: 644}, + {name: 'palestinian_territories', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ธ', x: 1426, y: 690}, + {name: 'panama', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ฆ', x: 1426, y: 782}, + {name: 'papua_new_guinea', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ฌ', x: 1426, y: 1012}, + {name: 'paraguay', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡พ', x: 1426, y: 1058}, + {name: 'peru', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ช', x: 736, y: 1426}, + {name: 'philippines', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ญ', x: 782, y: 1426}, + {name: 'pitcairn_islands', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ณ', x: 1242, y: 1426}, + {name: 'poland', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ฑ', x: 1472, y: 230}, + {name: 'portugal', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡น', x: 1472, y: 552}, + {name: 'puerto_rico', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ท', x: 0, y: 1472}, + {name: 'qatar', tags: _List_Nil, unicode: '๐Ÿ‡ถ๐Ÿ‡ฆ', x: 276, y: 1472}, + {name: 'reunion', tags: _List_Nil, unicode: '๐Ÿ‡ท๐Ÿ‡ช', x: 1518, y: 598}, + {name: 'romania', tags: _List_Nil, unicode: '๐Ÿ‡ท๐Ÿ‡ด', x: 1518, y: 1334}, + { + name: 'ru', + tags: _List_fromArray( + ['russia']), + unicode: '๐Ÿ‡ท๐Ÿ‡บ', + x: 230, + y: 1518 + }, + {name: 'rwanda', tags: _List_Nil, unicode: '๐Ÿ‡ท๐Ÿ‡ผ', x: 552, y: 1518}, + {name: 'st_barthelemy', tags: _List_Nil, unicode: '๐Ÿ‡ง๐Ÿ‡ฑ', x: 1610, y: 1150}, + {name: 'st_helena', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ญ', x: 1610, y: 1196}, + {name: 'st_kitts_nevis', tags: _List_Nil, unicode: '๐Ÿ‡ฐ๐Ÿ‡ณ', x: 1610, y: 1242}, + {name: 'st_lucia', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡จ', x: 1610, y: 1288}, + {name: 'st_pierre_miquelon', tags: _List_Nil, unicode: '๐Ÿ‡ต๐Ÿ‡ฒ', x: 1610, y: 1334}, + {name: 'st_vincent_grenadines', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡จ', x: 1610, y: 1380}, + {name: 'samoa', tags: _List_Nil, unicode: '๐Ÿ‡ผ๐Ÿ‡ธ', x: 782, y: 1518}, + {name: 'san_marino', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฒ', x: 828, y: 1518}, + {name: 'sao_tome_principe', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡น', x: 966, y: 1518}, + {name: 'saudi_arabia', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฆ', x: 1104, y: 1518}, + {name: 'senegal', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ณ', x: 1564, y: 230}, + {name: 'serbia', tags: _List_Nil, unicode: '๐Ÿ‡ท๐Ÿ‡ธ', x: 1564, y: 276}, + {name: 'seychelles', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡จ', x: 1564, y: 368}, + {name: 'sierra_leone', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฑ', x: 1564, y: 1196}, + {name: 'singapore', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฌ', x: 1564, y: 1288}, + {name: 'sint_maarten', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฝ', x: 1564, y: 1334}, + {name: 'slovakia', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฐ', x: 368, y: 1564}, + {name: 'slovenia', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฎ', x: 414, y: 1564}, + {name: 'solomon_islands', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ง', x: 1472, y: 1564}, + {name: 'somalia', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ด', x: 1518, y: 1564}, + {name: 'south_africa', tags: _List_Nil, unicode: '๐Ÿ‡ฟ๐Ÿ‡ฆ', x: 1610, y: 92}, + {name: 'south_georgia_south_sandwich_islands', tags: _List_Nil, unicode: '๐Ÿ‡ฌ๐Ÿ‡ธ', x: 1610, y: 138}, + { + name: 'kr', + tags: _List_fromArray( + ['korea']), + unicode: '๐Ÿ‡ฐ๐Ÿ‡ท', + x: 690, + y: 1196 + }, + {name: 'south_sudan', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ธ', x: 1610, y: 184}, + { + name: 'es', + tags: _List_fromArray( + ['spain']), + unicode: '๐Ÿ‡ช๐Ÿ‡ธ', + x: 782, + y: 920 + }, + {name: 'sri_lanka', tags: _List_Nil, unicode: '๐Ÿ‡ฑ๐Ÿ‡ฐ', x: 1610, y: 1104}, + {name: 'sudan', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฉ', x: 736, y: 1610}, + {name: 'suriname', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ท', x: 1334, y: 1610}, + {name: 'swaziland', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ฟ', x: 1518, y: 1610}, + {name: 'sweden', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡ช', x: 1656, y: 46}, + {name: 'switzerland', tags: _List_Nil, unicode: '๐Ÿ‡จ๐Ÿ‡ญ', x: 1656, y: 276}, + {name: 'syria', tags: _List_Nil, unicode: '๐Ÿ‡ธ๐Ÿ‡พ', x: 1656, y: 414}, + {name: 'taiwan', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ผ', x: 1656, y: 598}, + {name: 'tajikistan', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฏ', x: 1656, y: 644}, + {name: 'tanzania', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฟ', x: 1656, y: 782}, + {name: 'thailand', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ญ', x: 1656, y: 1196}, + {name: 'timor_leste', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฑ', x: 92, y: 1656}, + {name: 'togo', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฌ', x: 322, y: 1656}, + {name: 'tokelau', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฐ', x: 414, y: 1656}, + {name: 'tonga', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ด', x: 552, y: 1656}, + {name: 'trinidad_tobago', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡น', x: 1242, y: 1656}, + {name: 'tunisia', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ณ', x: 1702, y: 92}, + { + name: 'tr', + tags: _List_fromArray( + ['turkey']), + unicode: '๐Ÿ‡น๐Ÿ‡ท', + x: 782, + y: 1656 + }, + {name: 'turkmenistan', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ฒ', x: 1702, y: 184}, + {name: 'turks_caicos_islands', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡จ', x: 1702, y: 230}, + {name: 'tuvalu', tags: _List_Nil, unicode: '๐Ÿ‡น๐Ÿ‡ป', x: 1702, y: 322}, + {name: 'uganda', tags: _List_Nil, unicode: '๐Ÿ‡บ๐Ÿ‡ฌ', x: 1702, y: 1150}, + {name: 'ukraine', tags: _List_Nil, unicode: '๐Ÿ‡บ๐Ÿ‡ฆ', x: 1702, y: 1242}, + {name: 'united_arab_emirates', tags: _List_Nil, unicode: '๐Ÿ‡ฆ๐Ÿ‡ช', x: 1702, y: 1472}, + { + name: 'gb', + tags: _List_fromArray( + ['flag', 'british']), + unicode: '๐Ÿ‡ฌ๐Ÿ‡ง', + x: 184, + y: 1058 + }, + { + name: 'us', + tags: _List_fromArray( + ['flag', 'united', 'america']), + unicode: '๐Ÿ‡บ๐Ÿ‡ธ', + x: 0, + y: 1702 + }, + {name: 'us_virgin_islands', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡ฎ', x: 46, y: 1702}, + {name: 'uruguay', tags: _List_Nil, unicode: '๐Ÿ‡บ๐Ÿ‡พ', x: 1702, y: 1656}, + {name: 'uzbekistan', tags: _List_Nil, unicode: '๐Ÿ‡บ๐Ÿ‡ฟ', x: 92, y: 1702}, + {name: 'vanuatu', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡บ', x: 184, y: 1702}, + {name: 'vatican_city', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡ฆ', x: 230, y: 1702}, + {name: 'venezuela', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡ช', x: 276, y: 1702}, + {name: 'vietnam', tags: _List_Nil, unicode: '๐Ÿ‡ป๐Ÿ‡ณ', x: 552, y: 1702}, + {name: 'wallis_futuna', tags: _List_Nil, unicode: '๐Ÿ‡ผ๐Ÿ‡ซ', x: 1012, y: 1702}, + {name: 'western_sahara', tags: _List_Nil, unicode: '๐Ÿ‡ช๐Ÿ‡ญ', x: 1748, y: 46}, + {name: 'yemen', tags: _List_Nil, unicode: '๐Ÿ‡พ๐Ÿ‡ช', x: 782, y: 1748}, + {name: 'zambia', tags: _List_Nil, unicode: '๐Ÿ‡ฟ๐Ÿ‡ฒ', x: 966, y: 1748}, + {name: 'zimbabwe', tags: _List_Nil, unicode: '๐Ÿ‡ฟ๐Ÿ‡ผ', x: 1104, y: 1748} + ]), + symbols: _List_fromArray( + [ + { + name: 'heart', + tags: _List_fromArray( + ['love']), + unicode: 'โค๏ธ', + x: 828, + y: 1104 + }, + {name: 'yellow_heart', tags: _List_Nil, unicode: '๐Ÿ’›', x: 736, y: 1748}, + {name: 'green_heart', tags: _List_Nil, unicode: '๐Ÿ’š', x: 1104, y: 184}, + {name: 'blue_heart', tags: _List_Nil, unicode: '๐Ÿ’™', x: 552, y: 276}, + {name: 'purple_heart', tags: _List_Nil, unicode: '๐Ÿ’œ', x: 92, y: 1472}, + {name: 'black_heart', tags: _List_Nil, unicode: '๐Ÿ–ค', x: 184, y: 506}, + {name: 'broken_heart', tags: _List_Nil, unicode: '๐Ÿ’”', x: 598, y: 506}, + {name: 'heavy_heart_exclamation', tags: _List_Nil, unicode: 'โฃ๏ธ', x: 1150, y: 184}, + {name: 'two_hearts', tags: _List_Nil, unicode: '๐Ÿ’•', x: 1702, y: 506}, + {name: 'revolving_hearts', tags: _List_Nil, unicode: '๐Ÿ’ž', x: 1518, y: 644}, + {name: 'heartbeat', tags: _List_Nil, unicode: '๐Ÿ’“', x: 1012, y: 1104}, + {name: 'heartpulse', tags: _List_Nil, unicode: '๐Ÿ’—', x: 1058, y: 1104}, + {name: 'sparkling_heart', tags: _List_Nil, unicode: '๐Ÿ’–', x: 1610, y: 506}, + { + name: 'cupid', + tags: _List_fromArray( + ['love', 'heart']), + unicode: '๐Ÿ’˜', + x: 644, + y: 828 + }, + { + name: 'gift_heart', + tags: _List_fromArray( + ['chocolates']), + unicode: '๐Ÿ’', + x: 598, + y: 1058 + }, + {name: 'heart_decoration', tags: _List_Nil, unicode: '๐Ÿ’Ÿ', x: 874, y: 1104}, + {name: 'peace_symbol', tags: _List_Nil, unicode: 'โ˜ฎ๏ธ', x: 46, y: 1426}, + {name: 'latin_cross', tags: _List_Nil, unicode: 'โœ๏ธ', x: 1196, y: 1196}, + {name: 'star_and_crescent', tags: _List_Nil, unicode: 'โ˜ช๏ธ', x: 1610, y: 1564}, + {name: 'om', tags: _List_Nil, unicode: '๐Ÿ•‰', x: 874, y: 1380}, + {name: 'wheel_of_dharma', tags: _List_Nil, unicode: 'โ˜ธ๏ธ', x: 1748, y: 184}, + {name: 'star_of_david', tags: _List_Nil, unicode: 'โœก๏ธ', x: 0, y: 1610}, + {name: 'six_pointed_star', tags: _List_Nil, unicode: '๐Ÿ”ฏ', x: 1564, y: 1426}, + {name: 'menorah', tags: _List_Nil, unicode: '๐Ÿ•Ž', x: 782, y: 1288}, + {name: 'yin_yang', tags: _List_Nil, unicode: 'โ˜ฏ๏ธ', x: 874, y: 1748}, + {name: 'orthodox_cross', tags: _List_Nil, unicode: 'โ˜ฆ๏ธ', x: 1426, y: 184}, + {name: 'place_of_worship', tags: _List_Nil, unicode: '๐Ÿ›', x: 1334, y: 1426}, + {name: 'ophiuchus', tags: _List_Nil, unicode: 'โ›Ž', x: 1426, y: 46}, + {name: 'aries', tags: _List_Nil, unicode: 'โ™ˆ๏ธ', x: 276, y: 138}, + {name: 'taurus', tags: _List_Nil, unicode: 'โ™‰๏ธ', x: 1656, y: 828}, + {name: 'gemini', tags: _List_Nil, unicode: 'โ™Š๏ธ', x: 322, y: 1058}, + {name: 'cancer', tags: _List_Nil, unicode: 'โ™‹๏ธ', x: 0, y: 644}, + {name: 'leo', tags: _List_Nil, unicode: 'โ™Œ๏ธ', x: 1242, y: 414}, + {name: 'virgo', tags: _List_Nil, unicode: 'โ™๏ธ', x: 644, y: 1702}, + {name: 'libra', tags: _List_Nil, unicode: 'โ™Ž๏ธ', x: 1242, y: 644}, + {name: 'scorpius', tags: _List_Nil, unicode: 'โ™๏ธ', x: 1380, y: 1518}, + {name: 'sagittarius', tags: _List_Nil, unicode: 'โ™๏ธ', x: 644, y: 1518}, + {name: 'capricorn', tags: _List_Nil, unicode: 'โ™‘๏ธ', x: 276, y: 644}, + {name: 'aquarius', tags: _List_Nil, unicode: 'โ™’๏ธ', x: 276, y: 46}, + {name: 'pisces', tags: _List_Nil, unicode: 'โ™“๏ธ', x: 1196, y: 1426}, + {name: 'id', tags: _List_Nil, unicode: '๐Ÿ†”', x: 690, y: 1150}, + {name: 'atom_symbol', tags: _List_Nil, unicode: 'โš›๏ธ', x: 368, y: 276}, + {name: 'accept', tags: _List_Nil, unicode: '๐Ÿ‰‘', x: 0, y: 138}, + {name: 'radioactive', tags: _List_Nil, unicode: 'โ˜ข๏ธ', x: 644, y: 1472}, + {name: 'biohazard', tags: _List_Nil, unicode: 'โ˜ฃ๏ธ', x: 506, y: 460}, + { + name: 'mobile_phone_off', + tags: _List_fromArray( + ['mute', 'off']), + unicode: '๐Ÿ“ด', + x: 1334, + y: 46 + }, + {name: 'vibration_mode', tags: _List_Nil, unicode: '๐Ÿ“ณ', x: 414, y: 1702}, + {name: 'u6709', tags: _List_Nil, unicode: '๐Ÿˆถ', x: 1702, y: 874}, + {name: 'u7121', tags: _List_Nil, unicode: '๐Ÿˆš๏ธ', x: 1702, y: 966}, + {name: 'u7533', tags: _List_Nil, unicode: '๐Ÿˆธ', x: 1702, y: 1012}, + {name: 'u55b6', tags: _List_Nil, unicode: '๐Ÿˆบ', x: 1702, y: 736}, + {name: 'u6708', tags: _List_Nil, unicode: '๐Ÿˆท๏ธ', x: 1702, y: 828}, + {name: 'eight_pointed_black_star', tags: _List_Nil, unicode: 'โœด๏ธ', x: 230, y: 920}, + {name: 'vs', tags: _List_Nil, unicode: '๐Ÿ†š', x: 782, y: 1702}, + {name: 'white_flower', tags: _List_Nil, unicode: '๐Ÿ’ฎ', x: 1748, y: 414}, + {name: 'ideograph_advantage', tags: _List_Nil, unicode: '๐Ÿ‰', x: 736, y: 1150}, + {name: 'secret', tags: _List_Nil, unicode: 'ใŠ™๏ธ', x: 1564, y: 46}, + {name: 'congratulations', tags: _List_Nil, unicode: 'ใŠ—๏ธ', x: 230, y: 782}, + {name: 'u5408', tags: _List_Nil, unicode: '๐Ÿˆด', x: 1702, y: 690}, + {name: 'u6e80', tags: _List_Nil, unicode: '๐Ÿˆต', x: 1702, y: 920}, + {name: 'u5272', tags: _List_Nil, unicode: '๐Ÿˆน', x: 1702, y: 644}, + {name: 'u7981', tags: _List_Nil, unicode: '๐Ÿˆฒ', x: 1702, y: 1058}, + {name: 'a', tags: _List_Nil, unicode: '๐Ÿ…ฐ๏ธ', x: 92, y: 92}, + {name: 'b', tags: _List_Nil, unicode: '๐Ÿ…ฑ๏ธ', x: 138, y: 368}, + {name: 'ab', tags: _List_Nil, unicode: '๐Ÿ†Ž', x: 138, y: 0}, + {name: 'cl', tags: _List_Nil, unicode: '๐Ÿ†‘', x: 598, y: 690}, + {name: 'o2', tags: _List_Nil, unicode: '๐Ÿ…พ๏ธ', x: 230, y: 1380}, + { + name: 'sos', + tags: _List_fromArray( + ['help', 'emergency']), + unicode: '๐Ÿ†˜', + x: 1610, + y: 0 + }, + {name: 'x', tags: _List_Nil, unicode: 'โŒ', x: 690, y: 1748}, + {name: 'o', tags: _List_Nil, unicode: 'โญ•๏ธ', x: 184, y: 1380}, + {name: 'stop_sign', tags: _List_Nil, unicode: '๐Ÿ›‘', x: 322, y: 1610}, + { + name: 'no_entry', + tags: _List_fromArray( + ['limit']), + unicode: 'โ›”๏ธ', + x: 1380, + y: 690 + }, + {name: 'name_badge', tags: _List_Nil, unicode: '๐Ÿ“›', x: 644, y: 1334}, + { + name: 'no_entry_sign', + tags: _List_fromArray( + ['block', 'forbidden']), + unicode: '๐Ÿšซ', + x: 1380, + y: 736 + }, + { + name: '100', + tags: _List_fromArray( + ['score', 'perfect']), + unicode: '๐Ÿ’ฏ', + x: 0, + y: 46 + }, + { + name: 'anger', + tags: _List_fromArray( + ['angry']), + unicode: '๐Ÿ’ข', + x: 230, + y: 138 + }, + {name: 'hotsprings', tags: _List_Nil, unicode: 'โ™จ๏ธ', x: 0, y: 1150}, + {name: 'no_pedestrians', tags: _List_Nil, unicode: '๐Ÿšท', x: 1380, y: 1012}, + {name: 'do_not_litter', tags: _List_Nil, unicode: '๐Ÿšฏ', x: 598, y: 874}, + {name: 'no_bicycles', tags: _List_Nil, unicode: '๐Ÿšณ', x: 1380, y: 644}, + {name: 'non-potable_water', tags: _List_Nil, unicode: '๐Ÿšฑ', x: 1380, y: 1104}, + {name: 'underage', tags: _List_Nil, unicode: '๐Ÿ”ž', x: 1702, y: 1380}, + {name: 'no_mobile_phones', tags: _List_Nil, unicode: '๐Ÿ“ต', x: 1380, y: 920}, + {name: 'no_smoking', tags: _List_Nil, unicode: '๐Ÿšญ', x: 1380, y: 1058}, + { + name: 'exclamation', + tags: _List_fromArray( + ['bang']), + unicode: 'โ—๏ธ', + x: 966, + y: 230 + }, + {name: 'grey_exclamation', tags: _List_Nil, unicode: 'โ•', x: 1104, y: 368}, + { + name: 'question', + tags: _List_fromArray( + ['confused']), + unicode: 'โ“', + x: 322, + y: 1472 + }, + {name: 'grey_question', tags: _List_Nil, unicode: 'โ”', x: 1104, y: 414}, + {name: 'bangbang', tags: _List_Nil, unicode: 'โ€ผ๏ธ', x: 138, y: 414}, + {name: 'interrobang', tags: _List_Nil, unicode: 'โ‰๏ธ', x: 1150, y: 1150}, + {name: 'low_brightness', tags: _List_Nil, unicode: '๐Ÿ”…', x: 230, y: 1242}, + {name: 'high_brightness', tags: _List_Nil, unicode: '๐Ÿ”†', x: 1150, y: 506}, + {name: 'part_alternation_mark', tags: _List_Nil, unicode: 'ใ€ฝ๏ธ', x: 1426, y: 1196}, + { + name: 'warning', + tags: _List_fromArray( + ['wip']), + unicode: 'โš ๏ธ', + x: 1150, + y: 1702 + }, + {name: 'children_crossing', tags: _List_Nil, unicode: '๐Ÿšธ', x: 46, y: 690}, + {name: 'trident', tags: _List_Nil, unicode: '๐Ÿ”ฑ', x: 1196, y: 1656}, + {name: 'fleur_de_lis', tags: _List_Nil, unicode: 'โšœ๏ธ', x: 506, y: 1012}, + {name: 'beginner', tags: _List_Nil, unicode: '๐Ÿ”ฐ', x: 276, y: 460}, + { + name: 'recycle', + tags: _List_fromArray( + ['environment', 'green']), + unicode: 'โ™ป๏ธ', + x: 1518, + y: 92 + }, + {name: 'white_check_mark', tags: _List_Nil, unicode: 'โœ…', x: 1748, y: 276}, + {name: 'u6307', tags: _List_Nil, unicode: '๐Ÿˆฏ๏ธ', x: 1702, y: 782}, + {name: 'chart', tags: _List_Nil, unicode: '๐Ÿ’น', x: 690, y: 322}, + {name: 'sparkle', tags: _List_Nil, unicode: 'โ‡๏ธ', x: 1610, y: 368}, + {name: 'eight_spoked_asterisk', tags: _List_Nil, unicode: 'โœณ๏ธ', x: 276, y: 920}, + {name: 'negative_squared_cross_mark', tags: _List_Nil, unicode: 'โŽ', x: 966, y: 1334}, + { + name: 'globe_with_meridians', + tags: _List_fromArray( + ['world', 'global', 'international']), + unicode: '๐ŸŒ', + x: 690, + y: 1058 + }, + {name: 'diamond_shape_with_a_dot_inside', tags: _List_Nil, unicode: '๐Ÿ’ ', x: 276, y: 874}, + {name: 'm', tags: _List_Nil, unicode: 'โ“‚๏ธ', x: 368, y: 1242}, + { + name: 'cyclone', + tags: _List_fromArray( + ['swirl']), + unicode: '๐ŸŒ€', + x: 874, + y: 92 + }, + { + name: 'zzz', + tags: _List_fromArray( + ['sleeping']), + unicode: '๐Ÿ’ค', + x: 1196, + y: 1748 + }, + {name: 'atm', tags: _List_Nil, unicode: '๐Ÿง', x: 368, y: 184}, + { + name: 'wc', + tags: _List_fromArray( + ['toilet', 'restroom']), + unicode: '๐Ÿšพ', + x: 1564, + y: 1702 + }, + { + name: 'wheelchair', + tags: _List_fromArray( + ['accessibility']), + unicode: 'โ™ฟ๏ธ', + x: 1748, + y: 230 + }, + {name: 'parking', tags: _List_Nil, unicode: '๐Ÿ…ฟ๏ธ', x: 1426, y: 1150}, + {name: 'u7a7a', tags: _List_Nil, unicode: '๐Ÿˆณ', x: 1702, y: 1104}, + {name: 'sa', tags: _List_Nil, unicode: '๐Ÿˆ‚๏ธ', x: 598, y: 1518}, + {name: 'passport_control', tags: _List_Nil, unicode: '๐Ÿ›‚', x: 1426, y: 1334}, + {name: 'customs', tags: _List_Nil, unicode: '๐Ÿ›ƒ', x: 874, y: 46}, + { + name: 'baggage_claim', + tags: _List_fromArray( + ['airport']), + unicode: '๐Ÿ›„', + x: 414, + y: 92 + }, + {name: 'left_luggage', tags: _List_Nil, unicode: '๐Ÿ›…', x: 1242, y: 230}, + {name: 'mens', tags: _List_Nil, unicode: '๐Ÿšน', x: 828, y: 1288}, + {name: 'womens', tags: _List_Nil, unicode: '๐Ÿšบ', x: 460, y: 1748}, + {name: 'baby_symbol', tags: _List_Nil, unicode: '๐Ÿšผ', x: 322, y: 368}, + { + name: 'restroom', + tags: _List_fromArray( + ['toilet']), + unicode: '๐Ÿšป', + x: 1518, + y: 552 + }, + {name: 'put_litter_in_its_place', tags: _List_Nil, unicode: '๐Ÿšฎ', x: 230, y: 1472}, + { + name: 'cinema', + tags: _List_fromArray( + ['film', 'movie']), + unicode: '๐ŸŽฆ', + x: 368, + y: 690 + }, + { + name: 'signal_strength', + tags: _List_fromArray( + ['wifi']), + unicode: '๐Ÿ“ถ', + x: 1564, + y: 1242 + }, + {name: 'koko', tags: _List_Nil, unicode: '๐Ÿˆ', x: 598, y: 1196}, + {name: 'symbols', tags: _List_Nil, unicode: '๐Ÿ”ฃ', x: 1656, y: 322}, + {name: 'information_source', tags: _List_Nil, unicode: 'โ„น๏ธ', x: 1058, y: 1150}, + { + name: 'abc', + tags: _List_fromArray( + ['alphabet']), + unicode: '๐Ÿ”ค', + x: 138, + y: 46 + }, + {name: 'abcd', tags: _List_Nil, unicode: '๐Ÿ”ก', x: 138, y: 92}, + { + name: 'capital_abcd', + tags: _List_fromArray( + ['letters']), + unicode: '๐Ÿ” ', + x: 230, + y: 644 + }, + {name: 'ng', tags: _List_Nil, unicode: '๐Ÿ†–', x: 1380, y: 184}, + { + name: 'ok', + tags: _List_fromArray( + ['yes']), + unicode: '๐Ÿ†—', + x: 552, + y: 1380 + }, + {name: 'up', tags: _List_Nil, unicode: '๐Ÿ†™', x: 1702, y: 1564}, + {name: 'cool', tags: _List_Nil, unicode: '๐Ÿ†’', x: 644, y: 782}, + { + name: 'new', + tags: _List_fromArray( + ['fresh']), + unicode: '๐Ÿ†•', + x: 1196, + y: 1334 + }, + {name: 'free', tags: _List_Nil, unicode: '๐Ÿ†“', x: 1058, y: 322}, + {name: 'zero', tags: _List_Nil, unicode: '0๏ธโƒฃ', x: 1058, y: 1748}, + {name: 'one', tags: _List_Nil, unicode: '1๏ธโƒฃ', x: 1196, y: 1380}, + {name: 'two', tags: _List_Nil, unicode: '2๏ธโƒฃ', x: 1702, y: 460}, + {name: 'three', tags: _List_Nil, unicode: '3๏ธโƒฃ', x: 1656, y: 1380}, + {name: 'four', tags: _List_Nil, unicode: '4๏ธโƒฃ', x: 1058, y: 92}, + {name: 'five', tags: _List_Nil, unicode: '5๏ธโƒฃ', x: 368, y: 1012}, + {name: 'six', tags: _List_Nil, unicode: '6๏ธโƒฃ', x: 1564, y: 1380}, + {name: 'seven', tags: _List_Nil, unicode: '7๏ธโƒฃ', x: 1564, y: 322}, + {name: 'eight', tags: _List_Nil, unicode: '8๏ธโƒฃ', x: 184, y: 920}, + {name: 'nine', tags: _List_Nil, unicode: '9๏ธโƒฃ', x: 1380, y: 506}, + {name: 'keycap_ten', tags: _List_Nil, unicode: '๐Ÿ”Ÿ', x: 0, y: 1196}, + { + name: '1234', + tags: _List_fromArray( + ['numbers']), + unicode: '๐Ÿ”ข', + x: 46, + y: 46 + }, + { + name: 'hash', + tags: _List_fromArray( + ['number']), + unicode: '#๏ธโƒฃ', + x: 598, + y: 1104 + }, + {name: 'asterisk', tags: _List_Nil, unicode: '*๏ธโƒฃ', x: 368, y: 46}, + {name: 'arrow_forward', tags: _List_Nil, unicode: 'โ–ถ๏ธ', x: 184, y: 276}, + {name: 'pause_button', tags: _List_Nil, unicode: 'โธ', x: 1426, y: 1380}, + {name: 'play_or_pause_button', tags: _List_Nil, unicode: 'โฏ', x: 1426, y: 1426}, + {name: 'stop_button', tags: _List_Nil, unicode: 'โน', x: 276, y: 1610}, + {name: 'record_button', tags: _List_Nil, unicode: 'โบ', x: 1518, y: 46}, + {name: 'next_track_button', tags: _List_Nil, unicode: 'โญ', x: 1380, y: 138}, + {name: 'previous_track_button', tags: _List_Nil, unicode: 'โฎ', x: 1472, y: 1288}, + {name: 'fast_forward', tags: _List_Nil, unicode: 'โฉ', x: 1012, y: 46}, + {name: 'rewind', tags: _List_Nil, unicode: 'โช', x: 1518, y: 690}, + {name: 'arrow_double_up', tags: _List_Nil, unicode: 'โซ', x: 46, y: 276}, + {name: 'arrow_double_down', tags: _List_Nil, unicode: 'โฌ', x: 0, y: 276}, + {name: 'arrow_backward', tags: _List_Nil, unicode: 'โ—€๏ธ', x: 276, y: 230}, + {name: 'arrow_up_small', tags: _List_Nil, unicode: '๐Ÿ”ผ', x: 0, y: 322}, + {name: 'arrow_down_small', tags: _List_Nil, unicode: '๐Ÿ”ฝ', x: 138, y: 276}, + {name: 'arrow_right', tags: _List_Nil, unicode: 'โžก๏ธ', x: 322, y: 138}, + {name: 'arrow_left', tags: _List_Nil, unicode: 'โฌ…๏ธ', x: 322, y: 0}, + {name: 'arrow_up', tags: _List_Nil, unicode: 'โฌ†๏ธ', x: 322, y: 230}, + {name: 'arrow_down', tags: _List_Nil, unicode: 'โฌ‡๏ธ', x: 92, y: 276}, + {name: 'arrow_upper_right', tags: _List_Nil, unicode: 'โ†—๏ธ', x: 92, y: 322}, + {name: 'arrow_lower_right', tags: _List_Nil, unicode: 'โ†˜๏ธ', x: 322, y: 92}, + {name: 'arrow_lower_left', tags: _List_Nil, unicode: 'โ†™๏ธ', x: 322, y: 46}, + {name: 'arrow_upper_left', tags: _List_Nil, unicode: 'โ†–๏ธ', x: 46, y: 322}, + {name: 'arrow_up_down', tags: _List_Nil, unicode: 'โ†•๏ธ', x: 322, y: 276}, + {name: 'left_right_arrow', tags: _List_Nil, unicode: 'โ†”๏ธ', x: 1242, y: 276}, + {name: 'arrow_right_hook', tags: _List_Nil, unicode: 'โ†ช๏ธ', x: 322, y: 184}, + { + name: 'leftwards_arrow_with_hook', + tags: _List_fromArray( + ['return']), + unicode: 'โ†ฉ๏ธ', + x: 1242, + y: 322 + }, + {name: 'arrow_heading_up', tags: _List_Nil, unicode: 'โคด๏ธ', x: 276, y: 276}, + {name: 'arrow_heading_down', tags: _List_Nil, unicode: 'โคต๏ธ', x: 230, y: 276}, + { + name: 'twisted_rightwards_arrows', + tags: _List_fromArray( + ['shuffle']), + unicode: '๐Ÿ”€', + x: 1702, + y: 414 + }, + { + name: 'repeat', + tags: _List_fromArray( + ['loop']), + unicode: '๐Ÿ”', + x: 1518, + y: 414 + }, + {name: 'repeat_one', tags: _List_Nil, unicode: '๐Ÿ”‚', x: 1518, y: 460}, + { + name: 'arrows_counterclockwise', + tags: _List_fromArray( + ['sync']), + unicode: '๐Ÿ”„', + x: 184, + y: 322 + }, + {name: 'arrows_clockwise', tags: _List_Nil, unicode: '๐Ÿ”ƒ', x: 138, y: 322}, + {name: 'musical_note', tags: _List_Nil, unicode: '๐ŸŽต', x: 414, y: 1334}, + { + name: 'notes', + tags: _List_fromArray( + ['music']), + unicode: '๐ŸŽถ', + x: 92, + y: 1380 + }, + {name: 'heavy_plus_sign', tags: _List_Nil, unicode: 'โž•', x: 1150, y: 322}, + {name: 'heavy_minus_sign', tags: _List_Nil, unicode: 'โž–', x: 1150, y: 230}, + {name: 'heavy_division_sign', tags: _List_Nil, unicode: 'โž—', x: 1150, y: 46}, + {name: 'heavy_multiplication_x', tags: _List_Nil, unicode: 'โœ–๏ธ', x: 1150, y: 276}, + {name: 'heavy_dollar_sign', tags: _List_Nil, unicode: '๐Ÿ’ฒ', x: 1150, y: 92}, + {name: 'currency_exchange', tags: _List_Nil, unicode: '๐Ÿ’ฑ', x: 782, y: 828}, + { + name: 'tm', + tags: _List_fromArray( + ['trademark']), + unicode: 'โ„ข๏ธ', + x: 276, + y: 1656 + }, + {name: 'copyright', tags: _List_Nil, unicode: 'ยฉ๏ธ', x: 736, y: 782}, + {name: 'registered', tags: _List_Nil, unicode: 'ยฎ๏ธ', x: 1518, y: 230}, + {name: 'wavy_dash', tags: _List_Nil, unicode: 'ใ€ฐ๏ธ', x: 1426, y: 1702}, + {name: 'curly_loop', tags: _List_Nil, unicode: 'โžฐ', x: 736, y: 828}, + {name: 'loop', tags: _List_Nil, unicode: 'โžฟ', x: 0, y: 1242}, + {name: 'end', tags: _List_Nil, unicode: '๐Ÿ”š', x: 552, y: 920}, + {name: 'back', tags: _List_Nil, unicode: '๐Ÿ”™', x: 368, y: 368}, + {name: 'on', tags: _List_Nil, unicode: '๐Ÿ”›', x: 966, y: 1380}, + {name: 'top', tags: _List_Nil, unicode: '๐Ÿ”', x: 644, y: 1656}, + {name: 'soon', tags: _List_Nil, unicode: '๐Ÿ”œ', x: 1564, y: 1564}, + {name: 'heavy_check_mark', tags: _List_Nil, unicode: 'โœ”๏ธ', x: 1150, y: 0}, + {name: 'ballot_box_with_check', tags: _List_Nil, unicode: 'โ˜‘๏ธ', x: 0, y: 414}, + {name: 'radio_button', tags: _List_Nil, unicode: '๐Ÿ”˜', x: 598, y: 1472}, + {name: 'white_circle', tags: _List_Nil, unicode: 'โšช๏ธ', x: 1748, y: 322}, + {name: 'black_circle', tags: _List_Nil, unicode: 'โšซ๏ธ', x: 92, y: 506}, + {name: 'red_circle', tags: _List_Nil, unicode: '๐Ÿ”ด', x: 1518, y: 184}, + {name: 'large_blue_circle', tags: _List_Nil, unicode: '๐Ÿ”ต', x: 966, y: 1196}, + {name: 'small_red_triangle', tags: _List_Nil, unicode: '๐Ÿ”บ', x: 598, y: 1564}, + {name: 'small_red_triangle_down', tags: _List_Nil, unicode: '๐Ÿ”ป', x: 644, y: 1564}, + {name: 'small_orange_diamond', tags: _List_Nil, unicode: '๐Ÿ”ธ', x: 552, y: 1564}, + {name: 'small_blue_diamond', tags: _List_Nil, unicode: '๐Ÿ”น', x: 506, y: 1564}, + {name: 'large_orange_diamond', tags: _List_Nil, unicode: '๐Ÿ”ถ', x: 1058, y: 1196}, + {name: 'large_blue_diamond', tags: _List_Nil, unicode: '๐Ÿ”ท', x: 1012, y: 1196}, + {name: 'white_square_button', tags: _List_Nil, unicode: '๐Ÿ”ณ', x: 1748, y: 644}, + {name: 'black_square_button', tags: _List_Nil, unicode: '๐Ÿ”ฒ', x: 506, y: 506}, + {name: 'black_small_square', tags: _List_Nil, unicode: 'โ–ช๏ธ', x: 460, y: 506}, + {name: 'white_small_square', tags: _List_Nil, unicode: 'โ–ซ๏ธ', x: 1748, y: 598}, + {name: 'black_medium_small_square', tags: _List_Nil, unicode: 'โ—พ๏ธ', x: 322, y: 506}, + {name: 'white_medium_small_square', tags: _List_Nil, unicode: 'โ—ฝ๏ธ', x: 1748, y: 506}, + {name: 'black_medium_square', tags: _List_Nil, unicode: 'โ—ผ๏ธ', x: 368, y: 506}, + {name: 'white_medium_square', tags: _List_Nil, unicode: 'โ—ป๏ธ', x: 1748, y: 552}, + {name: 'black_large_square', tags: _List_Nil, unicode: 'โฌ›๏ธ', x: 276, y: 506}, + {name: 'white_large_square', tags: _List_Nil, unicode: 'โฌœ๏ธ', x: 1748, y: 460}, + {name: 'speaker', tags: _List_Nil, unicode: '๐Ÿ”ˆ', x: 1610, y: 598}, + { + name: 'mute', + tags: _List_fromArray( + ['sound', 'volume']), + unicode: '๐Ÿ”‡', + x: 506, + y: 1334 + }, + { + name: 'sound', + tags: _List_fromArray( + ['volume']), + unicode: '๐Ÿ”‰', + x: 1610, + y: 46 + }, + { + name: 'loud_sound', + tags: _List_fromArray( + ['volume']), + unicode: '๐Ÿ”Š', + x: 46, + y: 1242 + }, + { + name: 'bell', + tags: _List_fromArray( + ['sound', 'notification']), + unicode: '๐Ÿ””', + x: 460, + y: 460 + }, + { + name: 'no_bell', + tags: _List_fromArray( + ['volume', 'off']), + unicode: '๐Ÿ”•', + x: 1380, + y: 598 + }, + {name: 'mega', tags: _List_Nil, unicode: '๐Ÿ“ฃ', x: 598, y: 1288}, + { + name: 'loudspeaker', + tags: _List_fromArray( + ['announcement']), + unicode: '๐Ÿ“ข', + x: 92, + y: 1242 + }, + {name: 'eye_speech_bubble', tags: _List_Nil, unicode: '๐Ÿ‘\u200D๐Ÿ—จ๏ธ', x: 966, y: 368}, + { + name: 'speech_balloon', + tags: _List_fromArray( + ['comment']), + unicode: '๐Ÿ’ฌ', + x: 1610, + y: 690 + }, + { + name: 'thought_balloon', + tags: _List_fromArray( + ['thinking']), + unicode: '๐Ÿ’ญ', + x: 1656, + y: 1334 + }, + {name: 'right_anger_bubble', tags: _List_Nil, unicode: '๐Ÿ—ฏ', x: 1518, y: 1012}, + {name: 'spades', tags: _List_Nil, unicode: 'โ™ ๏ธ', x: 1610, y: 276}, + {name: 'clubs', tags: _List_Nil, unicode: 'โ™ฃ๏ธ', x: 782, y: 184}, + {name: 'hearts', tags: _List_Nil, unicode: 'โ™ฅ๏ธ', x: 1104, y: 1104}, + {name: 'diamonds', tags: _List_Nil, unicode: 'โ™ฆ๏ธ', x: 322, y: 874}, + {name: 'black_joker', tags: _List_Nil, unicode: '๐Ÿƒ', x: 230, y: 506}, + {name: 'flower_playing_cards', tags: _List_Nil, unicode: '๐ŸŽด', x: 736, y: 1012}, + {name: 'mahjong', tags: _List_Nil, unicode: '๐Ÿ€„๏ธ', x: 644, y: 1242}, + {name: 'clock1', tags: _List_Nil, unicode: '๐Ÿ•', x: 736, y: 184}, + {name: 'clock2', tags: _List_Nil, unicode: '๐Ÿ•‘', x: 736, y: 552}, + {name: 'clock3', tags: _List_Nil, unicode: '๐Ÿ•’', x: 736, y: 644}, + {name: 'clock4', tags: _List_Nil, unicode: '๐Ÿ•“', x: 0, y: 736}, + {name: 'clock5', tags: _List_Nil, unicode: '๐Ÿ•”', x: 92, y: 736}, + {name: 'clock6', tags: _List_Nil, unicode: '๐Ÿ••', x: 184, y: 736}, + {name: 'clock7', tags: _List_Nil, unicode: '๐Ÿ•–', x: 276, y: 736}, + {name: 'clock8', tags: _List_Nil, unicode: '๐Ÿ•—', x: 368, y: 736}, + {name: 'clock9', tags: _List_Nil, unicode: '๐Ÿ•˜', x: 460, y: 736}, + {name: 'clock10', tags: _List_Nil, unicode: '๐Ÿ•™', x: 736, y: 230}, + {name: 'clock11', tags: _List_Nil, unicode: '๐Ÿ•š', x: 736, y: 322}, + {name: 'clock12', tags: _List_Nil, unicode: '๐Ÿ•›', x: 736, y: 414}, + {name: 'clock130', tags: _List_Nil, unicode: '๐Ÿ•œ', x: 736, y: 506}, + {name: 'clock230', tags: _List_Nil, unicode: '๐Ÿ•', x: 736, y: 598}, + {name: 'clock330', tags: _List_Nil, unicode: '๐Ÿ•ž', x: 736, y: 690}, + {name: 'clock430', tags: _List_Nil, unicode: '๐Ÿ•Ÿ', x: 46, y: 736}, + {name: 'clock530', tags: _List_Nil, unicode: '๐Ÿ• ', x: 138, y: 736}, + {name: 'clock630', tags: _List_Nil, unicode: '๐Ÿ•ก', x: 230, y: 736}, + {name: 'clock730', tags: _List_Nil, unicode: '๐Ÿ•ข', x: 322, y: 736}, + {name: 'clock830', tags: _List_Nil, unicode: '๐Ÿ•ฃ', x: 414, y: 736}, + {name: 'clock930', tags: _List_Nil, unicode: '๐Ÿ•ค', x: 506, y: 736}, + {name: 'clock1030', tags: _List_Nil, unicode: '๐Ÿ•ฅ', x: 736, y: 276}, + {name: 'clock1130', tags: _List_Nil, unicode: '๐Ÿ•ฆ', x: 736, y: 368}, + {name: 'clock1230', tags: _List_Nil, unicode: '๐Ÿ•ง', x: 736, y: 460} + ]) +}; +var $author$project$Emoji$getEmojis = function (category) { + switch (category.$) { + case 'Recent': + return _List_Nil; + case 'People': + return $author$project$Emoji$emojis.people; + case 'Nature': + return $author$project$Emoji$emojis.nature; + case 'Objects': + return $author$project$Emoji$emojis.objects; + case 'Places': + return $author$project$Emoji$emojis.places; + default: + return $author$project$Emoji$emojis.symbols; + } +}; +var $author$project$Main$CategoryClicked = function (a) { + return {$: 'CategoryClicked', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$Button = {$: 'Button'}; +var $mdgriffith$elm_ui$Internal$Model$Describe = function (a) { + return {$: 'Describe', a: a}; +}; +var $elm$json$Json$Encode$bool = _Json_wrap; +var $elm$html$Html$Attributes$boolProperty = F2( + function (key, bool) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$bool(bool)); + }); +var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); +var $mdgriffith$elm_ui$Element$Input$enter = 'Enter'; +var $mdgriffith$elm_ui$Internal$Model$NoAttribute = {$: 'NoAttribute'}; +var $mdgriffith$elm_ui$Element$Input$hasFocusStyle = function (attr) { + if (((attr.$ === 'StyleClass') && (attr.b.$ === 'PseudoSelector')) && (attr.b.a.$ === 'Focus')) { + var _v1 = attr.b; + var _v2 = _v1.a; + return true; + } else { + return false; + } +}; +var $mdgriffith$elm_ui$Element$Input$focusDefault = function (attrs) { + return A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, attrs) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass('focusable'); +}; +var $elm$core$Basics$composeL = F3( + function (g, f, x) { + return g( + f(x)); + }); +var $elm$virtual_dom$VirtualDom$Normal = function (a) { + return {$: 'Normal', a: a}; +}; +var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; +var $elm$html$Html$Events$on = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$Normal(decoder)); + }); +var $elm$html$Html$Events$onClick = function (msg) { + return A2( + $elm$html$Html$Events$on, + 'click', + $elm$json$Json$Decode$succeed(msg)); +}; +var $mdgriffith$elm_ui$Element$Events$onClick = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Events$onClick); +var $elm$json$Json$Decode$andThen = _Json_andThen; +var $elm$json$Json$Decode$fail = _Json_fail; +var $elm$json$Json$Decode$field = _Json_decodeField; +var $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) { + return {$: 'MayPreventDefault', a: a}; +}; +var $elm$html$Html$Events$preventDefaultOn = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$MayPreventDefault(decoder)); + }); +var $elm$json$Json$Decode$string = _Json_decodeString; +var $mdgriffith$elm_ui$Element$Input$onKeyLookup = function (lookup) { + var decode = function (code) { + var _v0 = lookup(code); + if (_v0.$ === 'Nothing') { + return $elm$json$Json$Decode$fail('No key matched'); + } else { + var msg = _v0.a; + return $elm$json$Json$Decode$succeed(msg); + } + }; + var isKey = A2( + $elm$json$Json$Decode$andThen, + decode, + A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); + return $mdgriffith$elm_ui$Internal$Model$Attr( + A2( + $elm$html$Html$Events$preventDefaultOn, + 'keydown', + A2( + $elm$json$Json$Decode$map, + function (fired) { + return _Utils_Tuple2(fired, true); + }, + isKey))); +}; +var $mdgriffith$elm_ui$Internal$Model$Class = F2( + function (a, b) { + return {$: 'Class', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Flag$cursor = $mdgriffith$elm_ui$Internal$Flag$flag(21); +var $mdgriffith$elm_ui$Element$pointer = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$cursor, $mdgriffith$elm_ui$Internal$Style$classes.cursorPointer); +var $mdgriffith$elm_ui$Element$Input$space = ' '; +var $elm$html$Html$Attributes$tabindex = function (n) { + return A2( + _VirtualDom_attribute, + 'tabIndex', + $elm$core$String$fromInt(n)); +}; +var $mdgriffith$elm_ui$Element$Input$button = F2( + function (attrs, _v0) { + var onPress = _v0.onPress; + var label = _v0.label; + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.contentCenterX + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.contentCenterY + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.seButton + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.noTextSelection)))))), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$pointer, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Input$focusDefault(attrs), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$Button), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$tabindex(0)), + function () { + if (onPress.$ === 'Nothing') { + return A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$disabled(true)), + attrs); + } else { + var msg = onPress.a; + return A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Events$onClick(msg), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Input$onKeyLookup( + function (code) { + return _Utils_eq(code, $mdgriffith$elm_ui$Element$Input$enter) ? $elm$core$Maybe$Just(msg) : (_Utils_eq(code, $mdgriffith$elm_ui$Element$Input$space) ? $elm$core$Maybe$Just(msg) : $elm$core$Maybe$Nothing); + }), + attrs)); + } + }()))))))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [label]))); + }); +var $author$project$Emoji$Nature = {$: 'Nature'}; +var $author$project$Emoji$Objects = {$: 'Objects'}; +var $author$project$Emoji$People = {$: 'People'}; +var $author$project$Emoji$Places = {$: 'Places'}; +var $author$project$Emoji$Symbols = {$: 'Symbols'}; +var $author$project$Emoji$categories = _List_fromArray( + [$author$project$Emoji$Recent, $author$project$Emoji$People, $author$project$Emoji$Nature, $author$project$Emoji$Objects, $author$project$Emoji$Places, $author$project$Emoji$Symbols]); +var $author$project$Emoji$categoryEmoji = function (category) { + switch (category.$) { + case 'Recent': + return {name: 'clock9', tags: _List_Nil, unicode: '๐Ÿ•˜', x: 460, y: 736}; + case 'People': + return { + name: 'grinning', + tags: _List_fromArray( + ['smile', 'happy']), + unicode: '๐Ÿ˜€', + x: 1104, + y: 552 + }; + case 'Nature': + return { + name: 'dog', + tags: _List_fromArray( + ['pet']), + unicode: '๐Ÿถ', + x: 644, + y: 874 + }; + case 'Objects': + return { + name: 'soccer', + tags: _List_fromArray( + ['sports']), + unicode: 'โšฝ๏ธ', + x: 1426, + y: 1564 + }; + case 'Places': + return {name: 'car', tags: _List_Nil, unicode: '๐Ÿš—', x: 322, y: 644}; + default: + return { + name: 'heart', + tags: _List_fromArray( + ['love']), + unicode: 'โค๏ธ', + x: 828, + y: 1104 + }; + } +}; +var $mdgriffith$elm_ui$Internal$Model$Colored = F3( + function (a, b, c) { + return {$: 'Colored', a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Model$StyleClass = F2( + function (a, b) { + return {$: 'StyleClass', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Flag$borderColor = $mdgriffith$elm_ui$Internal$Flag$flag(28); +var $mdgriffith$elm_ui$Internal$Model$formatColorClass = function (_v0) { + var red = _v0.a; + var green = _v0.b; + var blue = _v0.c; + var alpha = _v0.d; + return $mdgriffith$elm_ui$Internal$Model$floatClass(red) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(green) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(blue) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(alpha)))))); +}; +var $mdgriffith$elm_ui$Element$Border$color = function (clr) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'bc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(clr), + 'border-color', + clr)); +}; +var $mdgriffith$elm_ui$Element$el = F2( + function (attrs, child) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + attrs)), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [child]))); + }); +var $author$project$Main$Copy = function (a) { + return {$: 'Copy', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$AlignX = function (a) { + return {$: 'AlignX', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$CenterX = {$: 'CenterX'}; +var $mdgriffith$elm_ui$Element$centerX = $mdgriffith$elm_ui$Internal$Model$AlignX($mdgriffith$elm_ui$Internal$Model$CenterX); +var $mdgriffith$elm_ui$Internal$Model$AlignY = function (a) { + return {$: 'AlignY', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$CenterY = {$: 'CenterY'}; +var $mdgriffith$elm_ui$Element$centerY = $mdgriffith$elm_ui$Internal$Model$AlignY($mdgriffith$elm_ui$Internal$Model$CenterY); +var $mdgriffith$elm_ui$Element$htmlAttribute = $mdgriffith$elm_ui$Internal$Model$Attr; +var $mdgriffith$elm_ui$Internal$Model$Text = function (a) { + return {$: 'Text', a: a}; +}; +var $mdgriffith$elm_ui$Element$text = function (content) { + return $mdgriffith$elm_ui$Internal$Model$Text(content); +}; +var $elm$html$Html$Attributes$title = $elm$html$Html$Attributes$stringProperty('title'); +var $author$project$Main$emoji = function (e) { + return A2( + $mdgriffith$elm_ui$Element$Input$button, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$htmlAttribute( + $elm$html$Html$Attributes$title(e.name)), + $mdgriffith$elm_ui$Element$centerX, + $mdgriffith$elm_ui$Element$centerY + ]), + { + label: $mdgriffith$elm_ui$Element$text(e.unicode), + onPress: $elm$core$Maybe$Just( + $author$project$Main$Copy(e.unicode)) + }); +}; +var $mdgriffith$elm_ui$Internal$Model$Fill = function (a) { + return {$: 'Fill', a: a}; +}; +var $mdgriffith$elm_ui$Element$fill = $mdgriffith$elm_ui$Internal$Model$Fill(1); +var $mdgriffith$elm_ui$Internal$Model$PaddingStyle = F5( + function (a, b, c, d, e) { + return {$: 'PaddingStyle', a: a, b: b, c: c, d: d, e: e}; + }); +var $mdgriffith$elm_ui$Internal$Flag$padding = $mdgriffith$elm_ui$Internal$Flag$flag(2); +var $mdgriffith$elm_ui$Element$padding = function (x) { + var f = x; + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + 'p-' + $elm$core$String$fromInt(x), + f, + f, + f, + f)); +}; +var $mdgriffith$elm_ui$Internal$Model$Rgba = F4( + function (a, b, c, d) { + return {$: 'Rgba', a: a, b: b, c: c, d: d}; + }); +var $mdgriffith$elm_ui$Element$rgb255 = F3( + function (red, green, blue) { + return A4($mdgriffith$elm_ui$Internal$Model$Rgba, red / 255, green / 255, blue / 255, 1); + }); +var $mdgriffith$elm_ui$Internal$Flag$borderRound = $mdgriffith$elm_ui$Internal$Flag$flag(17); +var $mdgriffith$elm_ui$Element$Border$rounded = function (radius) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderRound, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'br-' + $elm$core$String$fromInt(radius), + 'border-radius', + $elm$core$String$fromInt(radius) + 'px')); +}; +var $mdgriffith$elm_ui$Internal$Model$AsRow = {$: 'AsRow'}; +var $mdgriffith$elm_ui$Internal$Model$asRow = $mdgriffith$elm_ui$Internal$Model$AsRow; +var $mdgriffith$elm_ui$Element$row = F2( + function (attrs, children) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asRow, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.contentLeft + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.contentCenterY)), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + attrs))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); + }); +var $mdgriffith$elm_ui$Internal$Model$SpacingStyle = F3( + function (a, b, c) { + return {$: 'SpacingStyle', a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Flag$spacing = $mdgriffith$elm_ui$Internal$Flag$flag(3); +var $mdgriffith$elm_ui$Internal$Model$spacingName = F2( + function (x, y) { + return 'spacing-' + ($elm$core$String$fromInt(x) + ('-' + $elm$core$String$fromInt(y))); + }); +var $mdgriffith$elm_ui$Element$spacing = function (x) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$spacing, + A3( + $mdgriffith$elm_ui$Internal$Model$SpacingStyle, + A2($mdgriffith$elm_ui$Internal$Model$spacingName, x, x), + x, + x)); +}; +var $mdgriffith$elm_ui$Internal$Model$BorderWidth = F5( + function (a, b, c, d, e) { + return {$: 'BorderWidth', a: a, b: b, c: c, d: d, e: e}; + }); +var $mdgriffith$elm_ui$Element$Border$width = function (v) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderWidth, + A5( + $mdgriffith$elm_ui$Internal$Model$BorderWidth, + 'b-' + $elm$core$String$fromInt(v), + v, + v, + v, + v)); +}; +var $author$project$Main$header = A2( + $mdgriffith$elm_ui$Element$row, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$padding(5), + $mdgriffith$elm_ui$Element$spacing(10) + ]), + A2( + $elm$core$List$map, + function (x) { + return A2( + $mdgriffith$elm_ui$Element$Input$button, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$padding(5), + $mdgriffith$elm_ui$Element$Border$color( + A3($mdgriffith$elm_ui$Element$rgb255, 0, 0, 0)), + $mdgriffith$elm_ui$Element$Border$width(1), + $mdgriffith$elm_ui$Element$Border$rounded(5) + ]), + { + label: A2( + $mdgriffith$elm_ui$Element$el, + _List_Nil, + $author$project$Main$emoji( + $author$project$Emoji$categoryEmoji(x))), + onPress: $elm$core$Maybe$Just( + $author$project$Main$CategoryClicked(x)) + }); + }, + $author$project$Emoji$categories)); +var $mdgriffith$elm_ui$Internal$Model$OnlyDynamic = F2( + function (a, b) { + return {$: 'OnlyDynamic', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic = F2( + function (a, b) { + return {$: 'StaticRootAndDynamic', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$AllowHover = {$: 'AllowHover'}; +var $mdgriffith$elm_ui$Internal$Model$Layout = {$: 'Layout'}; +var $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle = { + backgroundColor: $elm$core$Maybe$Nothing, + borderColor: $elm$core$Maybe$Nothing, + shadow: $elm$core$Maybe$Just( + { + blur: 0, + color: A4($mdgriffith$elm_ui$Internal$Model$Rgba, 155 / 255, 203 / 255, 1, 1), + offset: _Utils_Tuple2(0, 0), + size: 3 + }) +}; +var $mdgriffith$elm_ui$Internal$Model$optionsToRecord = function (options) { + var combine = F2( + function (opt, record) { + switch (opt.$) { + case 'HoverOption': + var hoverable = opt.a; + var _v4 = record.hover; + if (_v4.$ === 'Nothing') { + return _Utils_update( + record, + { + hover: $elm$core$Maybe$Just(hoverable) + }); + } else { + return record; + } + case 'FocusStyleOption': + var focusStyle = opt.a; + var _v5 = record.focus; + if (_v5.$ === 'Nothing') { + return _Utils_update( + record, + { + focus: $elm$core$Maybe$Just(focusStyle) + }); + } else { + return record; + } + default: + var renderMode = opt.a; + var _v6 = record.mode; + if (_v6.$ === 'Nothing') { + return _Utils_update( + record, + { + mode: $elm$core$Maybe$Just(renderMode) + }); + } else { + return record; + } + } + }); + var andFinally = function (record) { + return { + focus: function () { + var _v0 = record.focus; + if (_v0.$ === 'Nothing') { + return $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle; + } else { + var focusable = _v0.a; + return focusable; + } + }(), + hover: function () { + var _v1 = record.hover; + if (_v1.$ === 'Nothing') { + return $mdgriffith$elm_ui$Internal$Model$AllowHover; + } else { + var hoverable = _v1.a; + return hoverable; + } + }(), + mode: function () { + var _v2 = record.mode; + if (_v2.$ === 'Nothing') { + return $mdgriffith$elm_ui$Internal$Model$Layout; + } else { + var actualMode = _v2.a; + return actualMode; + } + }() + }; + }; + return andFinally( + A3( + $elm$core$List$foldr, + combine, + {focus: $elm$core$Maybe$Nothing, hover: $elm$core$Maybe$Nothing, mode: $elm$core$Maybe$Nothing}, + options)); +}; +var $mdgriffith$elm_ui$Internal$Model$toHtml = F2( + function (mode, el) { + switch (el.$) { + case 'Unstyled': + var html = el.a; + return html($mdgriffith$elm_ui$Internal$Model$asEl); + case 'Styled': + var styles = el.a.styles; + var html = el.a.html; + return A2( + html, + mode(styles), + $mdgriffith$elm_ui$Internal$Model$asEl); + case 'Text': + var text = el.a; + return $mdgriffith$elm_ui$Internal$Model$textElement(text); + default: + return $mdgriffith$elm_ui$Internal$Model$textElement(''); + } + }); +var $mdgriffith$elm_ui$Internal$Model$renderRoot = F3( + function (optionList, attributes, child) { + var options = $mdgriffith$elm_ui$Internal$Model$optionsToRecord(optionList); + var embedStyle = function () { + var _v0 = options.mode; + if (_v0.$ === 'NoStaticStyleSheet') { + return $mdgriffith$elm_ui$Internal$Model$OnlyDynamic(options); + } else { + return $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic(options); + } + }(); + return A2( + $mdgriffith$elm_ui$Internal$Model$toHtml, + embedStyle, + A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + attributes, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [child])))); + }); +var $mdgriffith$elm_ui$Internal$Model$FontFamily = F2( + function (a, b) { + return {$: 'FontFamily', a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$FontSize = function (a) { + return {$: 'FontSize', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$SansSerif = {$: 'SansSerif'}; +var $mdgriffith$elm_ui$Internal$Model$Typeface = function (a) { + return {$: 'Typeface', a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$bgColor = $mdgriffith$elm_ui$Internal$Flag$flag(8); +var $mdgriffith$elm_ui$Internal$Flag$fontColor = $mdgriffith$elm_ui$Internal$Flag$flag(14); +var $mdgriffith$elm_ui$Internal$Flag$fontFamily = $mdgriffith$elm_ui$Internal$Flag$flag(5); +var $mdgriffith$elm_ui$Internal$Flag$fontSize = $mdgriffith$elm_ui$Internal$Flag$flag(4); +var $elm$core$String$toLower = _String_toLower; +var $elm$core$String$words = _String_words; +var $mdgriffith$elm_ui$Internal$Model$renderFontClassName = F2( + function (font, current) { + return _Utils_ap( + current, + function () { + switch (font.$) { + case 'Serif': + return 'serif'; + case 'SansSerif': + return 'sans-serif'; + case 'Monospace': + return 'monospace'; + case 'Typeface': + var name = font.a; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + case 'ImportFont': + var name = font.a; + var url = font.b; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + default: + var name = font.a.name; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + } + }()); + }); +var $mdgriffith$elm_ui$Internal$Model$rootStyle = function () { + var families = _List_fromArray( + [ + $mdgriffith$elm_ui$Internal$Model$Typeface('Open Sans'), + $mdgriffith$elm_ui$Internal$Model$Typeface('Helvetica'), + $mdgriffith$elm_ui$Internal$Model$Typeface('Verdana'), + $mdgriffith$elm_ui$Internal$Model$SansSerif + ]); + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$bgColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'bg-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0)), + 'background-color', + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0))), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'fc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1)), + 'color', + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1))), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontSize, + $mdgriffith$elm_ui$Internal$Model$FontSize(20)), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontFamily, + A2( + $mdgriffith$elm_ui$Internal$Model$FontFamily, + A3($elm$core$List$foldl, $mdgriffith$elm_ui$Internal$Model$renderFontClassName, 'font-', families), + families)) + ]); +}(); +var $mdgriffith$elm_ui$Element$layoutWith = F3( + function (_v0, attrs, child) { + var options = _v0.options; + return A3( + $mdgriffith$elm_ui$Internal$Model$renderRoot, + options, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.root, $mdgriffith$elm_ui$Internal$Style$classes.any, $mdgriffith$elm_ui$Internal$Style$classes.single]))), + _Utils_ap($mdgriffith$elm_ui$Internal$Model$rootStyle, attrs)), + child); + }); +var $mdgriffith$elm_ui$Element$layout = $mdgriffith$elm_ui$Element$layoutWith( + {options: _List_Nil}); +var $mdgriffith$elm_ui$Internal$Model$Empty = {$: 'Empty'}; +var $mdgriffith$elm_ui$Element$none = $mdgriffith$elm_ui$Internal$Model$Empty; +var $author$project$Main$maybeEmoji = function (e) { + return A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$padding(10) + ]), + A2( + $elm$core$Maybe$withDefault, + $mdgriffith$elm_ui$Element$none, + A2($elm$core$Maybe$map, $author$project$Main$emoji, e))); +}; +var $mdgriffith$elm_ui$Internal$Model$Px = function (a) { + return {$: 'Px', a: a}; +}; +var $mdgriffith$elm_ui$Element$px = $mdgriffith$elm_ui$Internal$Model$Px; +var $author$project$Main$regroupAux = F4( + function (currentTotal, currentPart, num, input) { + regroupAux: + while (true) { + if (!input.b) { + if (_Utils_cmp( + $elm$core$List$length(currentPart), + num) < 0) { + var $temp$currentTotal = currentTotal, + $temp$currentPart = A2($elm$core$List$cons, $elm$core$Maybe$Nothing, currentPart), + $temp$num = num, + $temp$input = _List_Nil; + currentTotal = $temp$currentTotal; + currentPart = $temp$currentPart; + num = $temp$num; + input = $temp$input; + continue regroupAux; + } else { + return A2( + $elm$core$List$cons, + $elm$core$List$reverse(currentPart), + currentTotal); + } + } else { + var h = input.a; + var t = input.b; + if (_Utils_cmp( + $elm$core$List$length(currentPart), + num) > -1) { + var $temp$currentTotal = A2( + $elm$core$List$cons, + $elm$core$List$reverse(currentPart), + currentTotal), + $temp$currentPart = _List_fromArray( + [ + $elm$core$Maybe$Just(h) + ]), + $temp$num = num, + $temp$input = t; + currentTotal = $temp$currentTotal; + currentPart = $temp$currentPart; + num = $temp$num; + input = $temp$input; + continue regroupAux; + } else { + var $temp$currentTotal = currentTotal, + $temp$currentPart = A2( + $elm$core$List$cons, + $elm$core$Maybe$Just(h), + currentPart), + $temp$num = num, + $temp$input = t; + currentTotal = $temp$currentTotal; + currentPart = $temp$currentPart; + num = $temp$num; + input = $temp$input; + continue regroupAux; + } + } + } + }); +var $author$project$Main$regroup = F2( + function (num, input) { + return $elm$core$List$reverse( + A4($author$project$Main$regroupAux, _List_Nil, _List_Nil, num, input)); + }); +var $mdgriffith$elm_ui$Internal$Flag$overflow = $mdgriffith$elm_ui$Internal$Flag$flag(20); +var $mdgriffith$elm_ui$Element$scrollbarY = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$overflow, $mdgriffith$elm_ui$Internal$Style$classes.scrollbarsY); +var $author$project$Main$panel = function (em) { + return A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width( + $mdgriffith$elm_ui$Element$px(512)), + $mdgriffith$elm_ui$Element$height( + $mdgriffith$elm_ui$Element$px(512)), + $mdgriffith$elm_ui$Element$scrollbarY + ]), + A2( + $elm$core$List$map, + $mdgriffith$elm_ui$Element$row( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill) + ])), + A2( + $elm$core$List$map, + function (x) { + return A2($elm$core$List$map, $author$project$Main$maybeEmoji, x); + }, + A2($author$project$Main$regroup, 10, em)))); +}; +var $author$project$Main$view = function (model) { + return A2( + $mdgriffith$elm_ui$Element$layout, + _List_Nil, + A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width( + $mdgriffith$elm_ui$Element$px(512)), + $mdgriffith$elm_ui$Element$height( + $mdgriffith$elm_ui$Element$px(512)) + ]), + _List_fromArray( + [ + $author$project$Main$header, + $author$project$Main$panel( + $author$project$Emoji$getEmojis(model.category)) + ]))); +}; +var $author$project$Main$main = $elm$browser$Browser$element( + { + init: $author$project$Main$init, + subscriptions: function (_v0) { + return $elm$core$Platform$Sub$none; + }, + update: $author$project$Main$update, + view: $author$project$Main$view + }); +_Platform_export({'Main':{'init':$author$project$Main$main( + $elm$json$Json$Decode$succeed(_Utils_Tuple0))(0)}});}(this)); \ No newline at end of file diff --git a/src/Emoji.elm b/src/Emoji.elm new file mode 100644 index 0000000..5164d97 --- /dev/null +++ b/src/Emoji.elm @@ -0,0 +1,1525 @@ +module Emoji exposing (..) + + +type alias Emoji = + { name : String + , unicode : String + , tags : List String + , x : Int + , y : Int + } + + +type alias Emojis = + { people : List Emoji + , nature : List Emoji + , objects : List Emoji + , places : List Emoji + , symbols : List Emoji + } + + +type Category + = Recent + | People + | Nature + | Objects + | Places + | Symbols + + +categories : List Category +categories = + [ Recent, People, Nature, Objects, Places, Symbols ] + + +categoryEmoji : Category -> Emoji +categoryEmoji category = + case category of + Recent -> + { name = "clock9", unicode = "๐Ÿ•˜", tags = [], x = 460, y = 736 } + + People -> + { name = "grinning", unicode = "๐Ÿ˜€", tags = [ "smile", "happy" ], x = 1104, y = 552 } + + Nature -> + { name = "dog", unicode = "๐Ÿถ", tags = [ "pet" ], x = 644, y = 874 } + + Objects -> + { name = "soccer", unicode = "โšฝ๏ธ", tags = [ "sports" ], x = 1426, y = 1564 } + + Places -> + { name = "car", unicode = "๐Ÿš—", tags = [], x = 322, y = 644 } + + Symbols -> + { name = "heart", unicode = "โค๏ธ", tags = [ "love" ], x = 828, y = 1104 } + + +getEmojis : Category -> List Emoji +getEmojis category = + case category of + Recent -> + [] + + People -> + emojis.people + + Nature -> + emojis.nature + + Objects -> + emojis.objects + + Places -> + emojis.places + + Symbols -> + emojis.symbols + + +emojis : Emojis +emojis = + { people = + [ { name = "grinning", unicode = "๐Ÿ˜€", tags = [ "smile", "happy" ], x = 1104, y = 552 } + , { name = "smiley", unicode = "๐Ÿ˜ƒ", tags = [ "happy", "joy", "haha" ], x = 782, y = 1564 } + , { name = "smile", unicode = "๐Ÿ˜„", tags = [ "happy", "joy", "laugh", "pleased" ], x = 690, y = 1564 } + , { name = "grin", unicode = "๐Ÿ˜", tags = [], x = 1104, y = 506 } + , { name = "laughing", unicode = "๐Ÿ˜†", tags = [ "happy", "haha" ], x = 1242, y = 46 } + , { name = "sweat_smile", unicode = "๐Ÿ˜…", tags = [ "hot" ], x = 1656, y = 0 } + , { name = "joy", unicode = "๐Ÿ˜‚", tags = [ "tears" ], x = 1196, y = 782 } + , { name = "rofl", unicode = "๐Ÿคฃ", tags = [ "lol", "laughing" ], x = 1518, y = 1196 } + , { name = "relaxed", unicode = "โ˜บ๏ธ", tags = [ "blush", "pleased" ], x = 1518, y = 276 } + , { name = "blush", unicode = "๐Ÿ˜Š", tags = [ "proud" ], x = 552, y = 322 } + , { name = "innocent", unicode = "๐Ÿ˜‡", tags = [ "angel" ], x = 1104, y = 1150 } + , { name = "slightly_smiling_face", unicode = "๐Ÿ™‚", tags = [], x = 276, y = 1564 } + , { name = "upside_down_face", unicode = "๐Ÿ™ƒ", tags = [], x = 1702, y = 1610 } + , { name = "wink", unicode = "๐Ÿ˜‰", tags = [ "flirt" ], x = 1748, y = 874 } + , { name = "relieved", unicode = "๐Ÿ˜Œ", tags = [ "whew" ], x = 1518, y = 322 } + , { name = "heart_eyes", unicode = "๐Ÿ˜", tags = [ "love", "crush" ], x = 920, y = 1104 } + , { name = "kissing_heart", unicode = "๐Ÿ˜˜", tags = [ "flirt" ], x = 368, y = 1196 } + , { name = "kissing", unicode = "๐Ÿ˜—", tags = [], x = 230, y = 1196 } + , { name = "kissing_smiling_eyes", unicode = "๐Ÿ˜™", tags = [], x = 414, y = 1196 } + , { name = "kissing_closed_eyes", unicode = "๐Ÿ˜š", tags = [], x = 322, y = 1196 } + , { name = "yum", unicode = "๐Ÿ˜‹", tags = [ "tongue", "lick" ], x = 920, y = 1748 } + , { name = "stuck_out_tongue_winking_eye", unicode = "๐Ÿ˜œ", tags = [ "prank", "silly" ], x = 598, y = 1610 } + , { name = "stuck_out_tongue_closed_eyes", unicode = "๐Ÿ˜", tags = [ "prank" ], x = 552, y = 1610 } + , { name = "stuck_out_tongue", unicode = "๐Ÿ˜›", tags = [], x = 506, y = 1610 } + , { name = "money_mouth_face", unicode = "๐Ÿค‘", tags = [ "rich" ], x = 1334, y = 184 } + , { name = "hugs", unicode = "๐Ÿค—", tags = [], x = 276, y = 1150 } + , { name = "nerd_face", unicode = "๐Ÿค“", tags = [ "geek", "glasses" ], x = 1058, y = 1334 } + , { name = "sunglasses", unicode = "๐Ÿ˜Ž", tags = [ "cool" ], x = 1012, y = 1610 } + , { name = "clown_face", unicode = "๐Ÿคก", tags = [], x = 782, y = 138 } + , { name = "cowboy_hat_face", unicode = "๐Ÿค ", tags = [], x = 828, y = 644 } + , { name = "smirk", unicode = "๐Ÿ˜", tags = [ "smug" ], x = 920, y = 1564 } + , { name = "unamused", unicode = "๐Ÿ˜’", tags = [ "meh" ], x = 1702, y = 1334 } + , { name = "disappointed", unicode = "๐Ÿ˜ž", tags = [ "sad" ], x = 368, y = 874 } + , { name = "pensive", unicode = "๐Ÿ˜”", tags = [], x = 414, y = 1426 } + , { name = "worried", unicode = "๐Ÿ˜Ÿ", tags = [ "nervous" ], x = 552, y = 1748 } + , { name = "confused", unicode = "๐Ÿ˜•", tags = [], x = 92, y = 782 } + , { name = "slightly_frowning_face", unicode = "๐Ÿ™", tags = [], x = 230, y = 1564 } + , { name = "frowning_face", unicode = "โ˜น๏ธ", tags = [], x = 1058, y = 736 } + , { name = "persevere", unicode = "๐Ÿ˜ฃ", tags = [ "struggling" ], x = 506, y = 1426 } + , { name = "confounded", unicode = "๐Ÿ˜–", tags = [], x = 46, y = 782 } + , { name = "tired_face", unicode = "๐Ÿ˜ซ", tags = [ "upset", "whine" ], x = 230, y = 1656 } + , { name = "weary", unicode = "๐Ÿ˜ฉ", tags = [ "tired" ], x = 1610, y = 1702 } + , { name = "triumph", unicode = "๐Ÿ˜ค", tags = [ "smug" ], x = 1288, y = 1656 } + , { name = "angry", unicode = "๐Ÿ˜ ", tags = [ "mad", "annoyed" ], x = 0, y = 230 } + , { name = "rage", unicode = "๐Ÿ˜ก", tags = [ "angry" ], x = 690, y = 1472 } + , { name = "no_mouth", unicode = "๐Ÿ˜ถ", tags = [ "mute", "silence" ], x = 1380, y = 966 } + , { name = "neutral_face", unicode = "๐Ÿ˜", tags = [ "meh" ], x = 1150, y = 1334 } + , { name = "expressionless", unicode = "๐Ÿ˜‘", tags = [], x = 966, y = 276 } + , { name = "hushed", unicode = "๐Ÿ˜ฏ", tags = [ "silence", "speechless" ], x = 414, y = 1150 } + , { name = "frowning", unicode = "๐Ÿ˜ฆ", tags = [], x = 1058, y = 690 } + , { name = "anguished", unicode = "๐Ÿ˜ง", tags = [ "stunned" ], x = 92, y = 230 } + , { name = "open_mouth", unicode = "๐Ÿ˜ฎ", tags = [ "surprise", "impressed", "wow" ], x = 1380, y = 1380 } + , { name = "astonished", unicode = "๐Ÿ˜ฒ", tags = [ "amazed", "gasp" ], x = 368, y = 92 } + , { name = "dizzy_face", unicode = "๐Ÿ˜ต", tags = [], x = 506, y = 874 } + , { name = "flushed", unicode = "๐Ÿ˜ณ", tags = [], x = 782, y = 1012 } + , { name = "scream", unicode = "๐Ÿ˜ฑ", tags = [ "horror", "shocked" ], x = 1426, y = 1518 } + , { name = "fearful", unicode = "๐Ÿ˜จ", tags = [ "scared", "shocked", "oops" ], x = 1012, y = 138 } + , { name = "cold_sweat", unicode = "๐Ÿ˜ฐ", tags = [ "nervous" ], x = 782, y = 460 } + , { name = "cry", unicode = "๐Ÿ˜ข", tags = [ "sad", "tear" ], x = 414, y = 828 } + , { name = "disappointed_relieved", unicode = "๐Ÿ˜ฅ", tags = [ "phew", "sweat", "nervous" ], x = 414, y = 874 } + , { name = "drooling_face", unicode = "๐Ÿคค", tags = [], x = 920, y = 368 } + , { name = "sob", unicode = "๐Ÿ˜ญ", tags = [ "sad", "cry", "bawling" ], x = 1380, y = 1564 } + , { name = "sweat", unicode = "๐Ÿ˜“", tags = [], x = 1564, y = 1610 } + , { name = "sleepy", unicode = "๐Ÿ˜ช", tags = [ "tired" ], x = 184, y = 1564 } + , { name = "sleeping", unicode = "๐Ÿ˜ด", tags = [ "zzz" ], x = 92, y = 1564 } + , { name = "roll_eyes", unicode = "๐Ÿ™„", tags = [], x = 1518, y = 1242 } + , { name = "thinking", unicode = "๐Ÿค”", tags = [], x = 1656, y = 1288 } + , { name = "lying_face", unicode = "๐Ÿคฅ", tags = [ "liar" ], x = 322, y = 1242 } + , { name = "grimacing", unicode = "๐Ÿ˜ฌ", tags = [], x = 1104, y = 460 } + , { name = "zipper_mouth_face", unicode = "๐Ÿค", tags = [ "silence", "hush" ], x = 1150, y = 1748 } + , { name = "nauseated_face", unicode = "๐Ÿคข", tags = [ "sick", "barf", "disgusted" ], x = 828, y = 1334 } + , { name = "sneezing_face", unicode = "๐Ÿคง", tags = [ "achoo", "sick" ], x = 1150, y = 1564 } + , { name = "mask", unicode = "๐Ÿ˜ท", tags = [ "sick", "ill" ], x = 138, y = 1288 } + , { name = "face_with_thermometer", unicode = "๐Ÿค’", tags = [ "sick" ], x = 966, y = 552 } + , { name = "face_with_head_bandage", unicode = "๐Ÿค•", tags = [ "hurt" ], x = 966, y = 506 } + , { name = "smiling_imp", unicode = "๐Ÿ˜ˆ", tags = [ "devil", "evil", "horns" ], x = 874, y = 1564 } + , { name = "imp", unicode = "๐Ÿ‘ฟ", tags = [ "angry", "devil", "evil", "horns" ], x = 782, y = 1150 } + , { name = "japanese_ogre", unicode = "๐Ÿ‘น", tags = [ "monster" ], x = 1196, y = 598 } + , { name = "japanese_goblin", unicode = "๐Ÿ‘บ", tags = [], x = 1196, y = 552 } + , { name = "hankey", unicode = "๐Ÿ’ฉ", tags = [ "crap" ], x = 552, y = 1104 } + , { name = "ghost", unicode = "๐Ÿ‘ป", tags = [ "halloween" ], x = 460, y = 1058 } + , { name = "skull", unicode = "๐Ÿ’€", tags = [ "dead", "danger", "poison" ], x = 0, y = 1564 } + , { name = "skull_and_crossbones", unicode = "โ˜ ๏ธ", tags = [ "danger", "pirate" ], x = 46, y = 1564 } + , { name = "alien", unicode = "๐Ÿ‘ฝ", tags = [ "ufo" ], x = 46, y = 184 } + , { name = "space_invader", unicode = "๐Ÿ‘พ", tags = [ "game", "retro" ], x = 1610, y = 230 } + , { name = "robot", unicode = "๐Ÿค–", tags = [], x = 1518, y = 1104 } + , { name = "jack_o_lantern", unicode = "๐ŸŽƒ", tags = [ "halloween" ], x = 1196, y = 368 } + , { name = "smiley_cat", unicode = "๐Ÿ˜บ", tags = [], x = 828, y = 1564 } + , { name = "smile_cat", unicode = "๐Ÿ˜ธ", tags = [], x = 736, y = 1564 } + , { name = "joy_cat", unicode = "๐Ÿ˜น", tags = [], x = 1196, y = 828 } + , { name = "heart_eyes_cat", unicode = "๐Ÿ˜ป", tags = [], x = 966, y = 1104 } + , { name = "smirk_cat", unicode = "๐Ÿ˜ผ", tags = [], x = 966, y = 1564 } + , { name = "kissing_cat", unicode = "๐Ÿ˜ฝ", tags = [], x = 276, y = 1196 } + , { name = "scream_cat", unicode = "๐Ÿ™€", tags = [ "horror" ], x = 1472, y = 1518 } + , { name = "crying_cat_face", unicode = "๐Ÿ˜ฟ", tags = [ "sad", "tear" ], x = 460, y = 828 } + , { name = "pouting_cat", unicode = "๐Ÿ˜พ", tags = [], x = 1472, y = 1012 } + , { name = "open_hands", unicode = "๐Ÿ‘", tags = [], x = 1334, y = 1380 } + , { name = "raised_hands", unicode = "๐Ÿ™Œ", tags = [ "hooray" ], x = 1242, y = 1472 } + , { name = "clap", unicode = "๐Ÿ‘", tags = [ "praise", "applause" ], x = 690, y = 690 } + , { name = "pray", unicode = "๐Ÿ™", tags = [ "please", "hope", "wish" ], x = 1472, y = 1150 } + , { name = "handshake", unicode = "๐Ÿค", tags = [ "deal" ], x = 506, y = 1104 } + , { name = "+1", unicode = "๐Ÿ‘", tags = [ "approve", "ok" ], x = 46, y = 0 } + , { name = "-1", unicode = "๐Ÿ‘Ž", tags = [ "disapprove", "bury" ], x = 414, y = 1288 } + , { name = "fist_oncoming", unicode = "๐Ÿ‘Š", tags = [ "attack" ], x = 230, y = 1012 } + , { name = "fist_raised", unicode = "โœŠ", tags = [ "power" ], x = 276, y = 1012 } + , { name = "fist_left", unicode = "๐Ÿค›", tags = [], x = 184, y = 1012 } + , { name = "fist_right", unicode = "๐Ÿคœ", tags = [], x = 322, y = 1012 } + , { name = "crossed_fingers", unicode = "๐Ÿคž", tags = [ "luck", "hopeful" ], x = 230, y = 828 } + , { name = "v", unicode = "โœŒ๏ธ", tags = [ "victory", "peace" ], x = 138, y = 1702 } + , { name = "metal", unicode = "๐Ÿค˜", tags = [], x = 874, y = 1288 } + , { name = "ok_hand", unicode = "๐Ÿ‘Œ", tags = [], x = 598, y = 1380 } + , { name = "point_left", unicode = "๐Ÿ‘ˆ", tags = [], x = 1472, y = 46 } + , { name = "point_right", unicode = "๐Ÿ‘‰", tags = [], x = 1472, y = 92 } + , { name = "point_up_2", unicode = "๐Ÿ‘†", tags = [], x = 1472, y = 184 } + , { name = "point_down", unicode = "๐Ÿ‘‡", tags = [], x = 1472, y = 0 } + , { name = "point_up", unicode = "โ˜๏ธ", tags = [], x = 1472, y = 138 } + , { name = "hand", unicode = "โœ‹", tags = [ "highfive", "stop" ], x = 414, y = 1104 } + , { name = "raised_back_of_hand", unicode = "๐Ÿคš", tags = [], x = 1104, y = 1472 } + , { name = "raised_hand_with_fingers_splayed", unicode = "๐Ÿ–", tags = [], x = 1196, y = 1472 } + , { name = "vulcan_salute", unicode = "๐Ÿ––", tags = [ "prosper", "spock" ], x = 828, y = 1702 } + , { name = "wave", unicode = "๐Ÿ‘‹", tags = [ "goodbye" ], x = 1380, y = 1702 } + , { name = "call_me_hand", unicode = "๐Ÿค™", tags = [], x = 644, y = 184 } + , { name = "muscle", unicode = "๐Ÿ’ช", tags = [ "flex", "bicep", "strong", "workout" ], x = 276, y = 1334 } + , { name = "middle_finger", unicode = "๐Ÿ–•", tags = [], x = 1150, y = 1288 } + , { name = "writing_hand", unicode = "โœ๏ธ", tags = [], x = 644, y = 1748 } + , { name = "selfie", unicode = "๐Ÿคณ", tags = [], x = 1564, y = 184 } + , { name = "nail_care", unicode = "๐Ÿ’…", tags = [ "beauty", "manicure" ], x = 598, y = 1334 } + , { name = "ring", unicode = "๐Ÿ’", tags = [ "wedding", "marriage", "engaged" ], x = 1518, y = 1058 } + , { name = "lipstick", unicode = "๐Ÿ’„", tags = [ "makeup" ], x = 1242, y = 966 } + , { name = "kiss", unicode = "๐Ÿ’‹", tags = [ "lipstick" ], x = 184, y = 1196 } + , { name = "lips", unicode = "๐Ÿ‘„", tags = [ "kiss" ], x = 1242, y = 920 } + , { name = "tongue", unicode = "๐Ÿ‘…", tags = [ "taste" ], x = 598, y = 1656 } + , { name = "ear", unicode = "๐Ÿ‘‚", tags = [ "hear", "sound", "listen" ], x = 920, y = 690 } + , { name = "nose", unicode = "๐Ÿ‘ƒ", tags = [ "smell" ], x = 1380, y = 1334 } + , { name = "footprints", unicode = "๐Ÿ‘ฃ", tags = [ "feet", "tracks" ], x = 966, y = 1012 } + , { name = "eye", unicode = "๐Ÿ‘", tags = [], x = 966, y = 322 } + , { name = "eyes", unicode = "๐Ÿ‘€", tags = [ "look", "see", "watch" ], x = 966, y = 460 } + , { name = "speaking_head", unicode = "๐Ÿ—ฃ", tags = [], x = 1610, y = 644 } + , { name = "bust_in_silhouette", unicode = "๐Ÿ‘ค", tags = [ "user" ], x = 552, y = 598 } + , { name = "busts_in_silhouette", unicode = "๐Ÿ‘ฅ", tags = [ "users", "group", "team" ], x = 598, y = 598 } + , { name = "baby", unicode = "๐Ÿ‘ถ", tags = [ "child", "newborn" ], x = 184, y = 368 } + , { name = "boy", unicode = "๐Ÿ‘ฆ", tags = [ "child" ], x = 598, y = 138 } + , { name = "girl", unicode = "๐Ÿ‘ง", tags = [ "child" ], x = 644, y = 1058 } + , { name = "man", unicode = "๐Ÿ‘จ", tags = [ "mustache", "father", "dad" ], x = 1150, y = 1242 } + , { name = "woman", unicode = "๐Ÿ‘ฉ", tags = [ "girls" ], x = 1748, y = 966 } + , { name = "blonde_woman", unicode = "๐Ÿ‘ฑ\u{200D}โ™€๏ธ๏ธ", tags = [], x = 552, y = 46 } + , { name = "blonde_woman", unicode = "๐Ÿ‘ฑ\u{200D}โ™€๏ธ", tags = [], x = 552, y = 46 } + , { name = "blonde_man", unicode = "๐Ÿ‘ฑ", tags = [ "boy" ], x = 552, y = 0 } + , { name = "older_man", unicode = "๐Ÿ‘ด", tags = [], x = 782, y = 1380 } + , { name = "older_woman", unicode = "๐Ÿ‘ต", tags = [], x = 828, y = 1380 } + , { name = "man_with_gua_pi_mao", unicode = "๐Ÿ‘ฒ", tags = [], x = 1288, y = 1012 } + , { name = "woman_with_turban", unicode = "๐Ÿ‘ณ\u{200D}โ™€๏ธ", tags = [], x = 276, y = 1748 } + , { name = "man_with_turban", unicode = "๐Ÿ‘ณ", tags = [], x = 1288, y = 1058 } + , { name = "policewoman", unicode = "๐Ÿ‘ฎ\u{200D}โ™€๏ธ", tags = [], x = 1472, y = 368 } + , { name = "policeman", unicode = "๐Ÿ‘ฎ", tags = [ "police", "law" ], x = 1472, y = 322 } + , { name = "construction_worker_woman", unicode = "๐Ÿ‘ท\u{200D}โ™€๏ธ", tags = [], x = 414, y = 782 } + , { name = "construction_worker_man", unicode = "๐Ÿ‘ท", tags = [ "helmet" ], x = 368, y = 782 } + , { name = "guardswoman", unicode = "๐Ÿ’‚\u{200D}โ™€๏ธ", tags = [], x = 1104, y = 736 } + , { name = "guardsman", unicode = "๐Ÿ’‚", tags = [], x = 1104, y = 690 } + , { name = "female_detective", unicode = "๐Ÿ•ต๏ธ\u{200D}โ™€๏ธ๏ธ", tags = [ "sleuth" ], x = 1012, y = 276 } + , { name = "male_detective", unicode = "๐Ÿ•ต", tags = [ "sleuth" ], x = 1012, y = 1242 } + , { name = "woman_health_worker", unicode = "๐Ÿ‘ฉ\u{200D}โš•๏ธ", tags = [ "doctor", "nurse" ], x = 1748, y = 1380 } + , { name = "man_health_worker", unicode = "๐Ÿ‘จ\u{200D}โš•๏ธ", tags = [ "doctor", "nurse" ], x = 1288, y = 322 } + , { name = "woman_farmer", unicode = "๐Ÿ‘ฉ\u{200D}๐ŸŒพ๏ธ", tags = [], x = 1748, y = 1288 } + , { name = "man_farmer", unicode = "๐Ÿ‘จ\u{200D}๐ŸŒพ๏ธ", tags = [], x = 1288, y = 230 } + , { name = "woman_cook", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿณ๏ธ", tags = [ "chef" ], x = 1748, y = 1150 } + , { name = "man_cook", unicode = "๐Ÿ‘จ\u{200D}๐Ÿณ๏ธ", tags = [ "chef" ], x = 1288, y = 46 } + , { name = "woman_student", unicode = "๐Ÿ‘ฉ\u{200D}๐ŸŽ“๏ธ", tags = [ "graduation" ], x = 138, y = 1748 } + , { name = "man_student", unicode = "๐Ÿ‘จ\u{200D}๐ŸŽ“๏ธ", tags = [ "graduation" ], x = 1288, y = 874 } + , { name = "woman_singer", unicode = "๐Ÿ‘ฉ\u{200D}๐ŸŽค๏ธ", tags = [ "rockstar" ], x = 92, y = 1748 } + , { name = "man_singer", unicode = "๐Ÿ‘จ\u{200D}๐ŸŽค๏ธ", tags = [ "rockstar" ], x = 1288, y = 828 } + , { name = "woman_teacher", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿซ๏ธ", tags = [ "school", "professor" ], x = 184, y = 1748 } + , { name = "man_teacher", unicode = "๐Ÿ‘จ\u{200D}๐Ÿซ๏ธ", tags = [ "school", "professor" ], x = 1288, y = 920 } + , { name = "woman_factory_worker", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿญ๏ธ", tags = [], x = 1748, y = 1242 } + , { name = "man_factory_worker", unicode = "๐Ÿ‘จ\u{200D}๐Ÿญ๏ธ", tags = [], x = 1288, y = 184 } + , { name = "woman_technologist", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ’ป๏ธ", tags = [ "coder" ], x = 230, y = 1748 } + , { name = "man_technologist", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ’ป๏ธ", tags = [ "coder" ], x = 1288, y = 966 } + , { name = "woman_office_worker", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ’ผ๏ธ", tags = [ "business" ], x = 1748, y = 1564 } + , { name = "man_office_worker", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ’ผ๏ธ", tags = [ "business" ], x = 1288, y = 552 } + , { name = "woman_mechanic", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ”ง๏ธ", tags = [], x = 1748, y = 1518 } + , { name = "man_mechanic", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ”ง๏ธ", tags = [], x = 1288, y = 506 } + , { name = "woman_scientist", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ”ฌ๏ธ", tags = [ "research" ], x = 0, y = 1748 } + , { name = "man_scientist", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ”ฌ๏ธ", tags = [ "research" ], x = 1288, y = 736 } + , { name = "woman_artist", unicode = "๐Ÿ‘ฉ\u{200D}๐ŸŽจ๏ธ", tags = [ "painter" ], x = 1748, y = 1012 } + , { name = "man_artist", unicode = "๐Ÿ‘จ\u{200D}๐ŸŽจ๏ธ", tags = [ "painter" ], x = 1196, y = 1242 } + , { name = "woman_firefighter", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿš’๏ธ", tags = [], x = 1748, y = 1334 } + , { name = "man_firefighter", unicode = "๐Ÿ‘จ\u{200D}๐Ÿš’๏ธ", tags = [], x = 1288, y = 276 } + , { name = "woman_pilot", unicode = "๐Ÿ‘ฉ\u{200D}โœˆ๏ธ", tags = [], x = 1748, y = 1610 } + , { name = "man_pilot", unicode = "๐Ÿ‘จ\u{200D}โœˆ๏ธ", tags = [], x = 1288, y = 598 } + , { name = "woman_astronaut", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿš€๏ธ", tags = [ "space" ], x = 1748, y = 1058 } + , { name = "man_astronaut", unicode = "๐Ÿ‘จ\u{200D}๐Ÿš€๏ธ", tags = [ "space" ], x = 1242, y = 1242 } + , { name = "woman_judge", unicode = "๐Ÿ‘ฉ\u{200D}โš–๏ธ", tags = [ "justice" ], x = 1748, y = 1426 } + , { name = "man_judge", unicode = "๐Ÿ‘จ\u{200D}โš–๏ธ", tags = [ "justice" ], x = 1288, y = 414 } + , { name = "mrs_claus", unicode = "๐Ÿคถ", tags = [ "santa" ], x = 230, y = 1334 } + , { name = "santa", unicode = "๐ŸŽ…", tags = [ "christmas" ], x = 920, y = 1518 } + , { name = "princess", unicode = "๐Ÿ‘ธ", tags = [ "blonde", "crown", "royal" ], x = 1472, y = 1380 } + , { name = "prince", unicode = "๐Ÿคด", tags = [ "crown", "royal" ], x = 1472, y = 1334 } + , { name = "bride_with_veil", unicode = "๐Ÿ‘ฐ", tags = [ "marriage", "wedding" ], x = 598, y = 276 } + , { name = "man_in_tuxedo", unicode = "๐Ÿคต", tags = [ "groom", "marriage", "wedding" ], x = 1288, y = 368 } + , { name = "angel", unicode = "๐Ÿ‘ผ", tags = [], x = 230, y = 92 } + , { name = "pregnant_woman", unicode = "๐Ÿคฐ", tags = [], x = 1472, y = 1242 } + , { name = "bowing_woman", unicode = "๐Ÿ™‡\u{200D}โ™€๏ธ", tags = [ "respect", "thanks" ], x = 552, y = 552 } + , { name = "bowing_man", unicode = "๐Ÿ™‡", tags = [ "respect", "thanks" ], x = 506, y = 552 } + , { name = "tipping_hand_woman", unicode = "๐Ÿ’", tags = [], x = 184, y = 1656 } + , { name = "tipping_hand_man", unicode = "๐Ÿ’\u{200D}โ™‚๏ธ", tags = [ "information" ], x = 138, y = 1656 } + , { name = "no_good_woman", unicode = "๐Ÿ™…", tags = [ "stop", "halt" ], x = 1380, y = 874 } + , { name = "no_good_man", unicode = "๐Ÿ™…\u{200D}โ™‚๏ธ", tags = [ "stop", "halt" ], x = 1380, y = 828 } + , { name = "ok_woman", unicode = "๐Ÿ™†", tags = [], x = 690, y = 1380 } + , { name = "ok_man", unicode = "๐Ÿ™†\u{200D}โ™‚๏ธ", tags = [], x = 644, y = 1380 } + , { name = "raising_hand_woman", unicode = "๐Ÿ™‹", tags = [], x = 1380, y = 1472 } + , { name = "raising_hand_man", unicode = "๐Ÿ™‹\u{200D}โ™‚๏ธ", tags = [], x = 1334, y = 1472 } + , { name = "woman_facepalming", unicode = "๐Ÿคฆ\u{200D}โ™€๏ธ", tags = [], x = 1748, y = 1196 } + , { name = "man_facepalming", unicode = "๐Ÿคฆ\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 138 } + , { name = "woman_shrugging", unicode = "๐Ÿคท\u{200D}โ™€๏ธ", tags = [], x = 46, y = 1748 } + , { name = "man_shrugging", unicode = "๐Ÿคท\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 782 } + , { name = "pouting_woman", unicode = "๐Ÿ™Ž", tags = [], x = 1472, y = 1104 } + , { name = "pouting_man", unicode = "๐Ÿ™Ž\u{200D}โ™‚๏ธ", tags = [], x = 1472, y = 1058 } + , { name = "frowning_woman", unicode = "๐Ÿ™", tags = [ "sad" ], x = 1058, y = 828 } + , { name = "frowning_man", unicode = "๐Ÿ™\u{200D}โ™‚๏ธ", tags = [], x = 1058, y = 782 } + , { name = "haircut_woman", unicode = "๐Ÿ’‡", tags = [ "beauty" ], x = 92, y = 1104 } + , { name = "haircut_man", unicode = "๐Ÿ’‡\u{200D}โ™‚๏ธ", tags = [], x = 46, y = 1104 } + , { name = "massage_woman", unicode = "๐Ÿ’†", tags = [ "spa" ], x = 276, y = 1288 } + , { name = "massage_man", unicode = "๐Ÿ’†\u{200D}โ™‚๏ธ", tags = [ "spa" ], x = 230, y = 1288 } + , { name = "business_suit_levitating", unicode = "๐Ÿ•ด", tags = [], x = 460, y = 598 } + , { name = "dancer", unicode = "๐Ÿ’ƒ", tags = [ "dress" ], x = 874, y = 276 } + , { name = "man_dancing", unicode = "๐Ÿ•บ", tags = [ "dancer" ], x = 1288, y = 92 } + , { name = "dancing_women", unicode = "๐Ÿ‘ฏ", tags = [ "bunny" ], x = 874, y = 414 } + , { name = "dancing_men", unicode = "๐Ÿ‘ฏ\u{200D}โ™‚๏ธ", tags = [ "bunny" ], x = 874, y = 368 } + , { name = "walking_woman", unicode = "๐Ÿšถ\u{200D}โ™€๏ธ", tags = [], x = 966, y = 1702 } + , { name = "walking_man", unicode = "๐Ÿšถ", tags = [], x = 920, y = 1702 } + , { name = "running_woman", unicode = "๐Ÿƒ\u{200D}โ™€๏ธ", tags = [ "exercise", "workout", "marathon" ], x = 506, y = 1518 } + , { name = "running_man", unicode = "๐Ÿƒ", tags = [ "exercise", "workout", "marathon" ], x = 414, y = 1518 } + , { name = "couple", unicode = "๐Ÿ‘ซ", tags = [ "date" ], x = 828, y = 138 } + , { name = "two_women_holding_hands", unicode = "๐Ÿ‘ญ", tags = [ "couple", "date" ], x = 1702, y = 598 } + , { name = "two_men_holding_hands", unicode = "๐Ÿ‘ฌ", tags = [ "couple", "date" ], x = 1702, y = 552 } + , { name = "couple_with_heart_woman_man", unicode = "๐Ÿ’‘", tags = [], x = 828, y = 276 } + , { name = "couple_with_heart_woman_woman", unicode = "๐Ÿ‘ฉ\u{200D}โค๏ธ\u{200D}๐Ÿ‘ฉ๏ธ", tags = [], x = 828, y = 322 } + , { name = "couple_with_heart_man_man", unicode = "๐Ÿ‘จ\u{200D}โค๏ธ\u{200D}๐Ÿ‘จ๏ธ", tags = [], x = 828, y = 230 } + , { name = "couplekiss_man_woman", unicode = "๐Ÿ’", tags = [], x = 828, y = 460 } + , { name = "couplekiss_woman_woman", unicode = "๐Ÿ‘ฉ\u{200D}โค๏ธ\u{200D}๐Ÿ’‹\u{200D}๐Ÿ‘ฉ๏ธ", tags = [], x = 828, y = 506 } + , { name = "couplekiss_man_man", unicode = "๐Ÿ‘จ\u{200D}โค๏ธ\u{200D}๐Ÿ’‹\u{200D}๐Ÿ‘จ๏ธ", tags = [], x = 828, y = 414 } + , { name = "family_man_woman_boy", unicode = "๐Ÿ‘ช", tags = [ "home", "parents", "child" ], x = 322, y = 966 } + , { name = "family_man_woman_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 414, y = 966 } + , { name = "family_man_woman_girl_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 460, y = 966 } + , { name = "family_man_woman_boy_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฆ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 368, y = 966 } + , { name = "family_man_woman_girl_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 506, y = 966 } + , { name = "family_woman_woman_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 782, y = 966 } + , { name = "family_woman_woman_girl", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 874, y = 966 } + , { name = "family_woman_woman_girl_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 920, y = 966 } + , { name = "family_woman_woman_boy_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฆ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 828, y = 966 } + , { name = "family_woman_woman_girl_girl", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 966, y = 966 } + , { name = "family_man_man_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘จ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 92, y = 966 } + , { name = "family_man_man_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘จ\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 184, y = 966 } + , { name = "family_man_man_girl_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘จ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 230, y = 966 } + , { name = "family_man_man_boy_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘จ\u{200D}๐Ÿ‘ฆ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 138, y = 966 } + , { name = "family_man_man_girl_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘จ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 276, y = 966 } + , { name = "family_woman_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 552, y = 966 } + , { name = "family_woman_girl", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 644, y = 966 } + , { name = "family_woman_girl_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 690, y = 966 } + , { name = "family_woman_boy_boy", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ฆ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 598, y = 966 } + , { name = "family_woman_girl_girl", unicode = "๐Ÿ‘ฉ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 736, y = 966 } + , { name = "family_man_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 966, y = 828 } + , { name = "family_man_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 966, y = 920 } + , { name = "family_man_girl_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 0, y = 966 } + , { name = "family_man_boy_boy", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ฆ\u{200D}๐Ÿ‘ฆ๏ธ", tags = [], x = 966, y = 874 } + , { name = "family_man_girl_girl", unicode = "๐Ÿ‘จ\u{200D}๐Ÿ‘ง\u{200D}๐Ÿ‘ง๏ธ", tags = [], x = 46, y = 966 } + , { name = "womans_clothes", unicode = "๐Ÿ‘š", tags = [], x = 322, y = 1748 } + , { name = "shirt", unicode = "๐Ÿ‘•", tags = [], x = 1564, y = 874 } + , { name = "jeans", unicode = "๐Ÿ‘–", tags = [ "pants" ], x = 1196, y = 644 } + , { name = "necktie", unicode = "๐Ÿ‘”", tags = [ "shirt", "formal" ], x = 920, y = 1334 } + , { name = "dress", unicode = "๐Ÿ‘—", tags = [], x = 920, y = 276 } + , { name = "bikini", unicode = "๐Ÿ‘™", tags = [ "beach" ], x = 506, y = 414 } + , { name = "kimono", unicode = "๐Ÿ‘˜", tags = [], x = 92, y = 1196 } + , { name = "high_heel", unicode = "๐Ÿ‘ ", tags = [ "shoe" ], x = 1150, y = 552 } + , { name = "sandal", unicode = "๐Ÿ‘ก", tags = [ "shoe" ], x = 874, y = 1518 } + , { name = "boot", unicode = "๐Ÿ‘ข", tags = [], x = 230, y = 552 } + , { name = "mans_shoe", unicode = "๐Ÿ‘ž", tags = [], x = 1288, y = 1150 } + , { name = "athletic_shoe", unicode = "๐Ÿ‘Ÿ", tags = [ "sneaker", "sport", "running" ], x = 368, y = 138 } + , { name = "womans_hat", unicode = "๐Ÿ‘’", tags = [], x = 368, y = 1748 } + , { name = "tophat", unicode = "๐ŸŽฉ", tags = [ "hat", "classy" ], x = 690, y = 1656 } + , { name = "mortar_board", unicode = "๐ŸŽ“", tags = [ "education", "college", "university", "graduation" ], x = 1334, y = 690 } + , { name = "crown", unicode = "๐Ÿ‘‘", tags = [ "king", "queen", "royal" ], x = 368, y = 828 } + , { name = "rescue_worker_helmet", unicode = "โ›‘", tags = [], x = 1518, y = 506 } + , { name = "school_satchel", unicode = "๐ŸŽ’", tags = [], x = 1242, y = 1518 } + , { name = "pouch", unicode = "๐Ÿ‘", tags = [ "bag" ], x = 1472, y = 828 } + , { name = "purse", unicode = "๐Ÿ‘›", tags = [], x = 138, y = 1472 } + , { name = "handbag", unicode = "๐Ÿ‘œ", tags = [ "bag" ], x = 460, y = 1104 } + , { name = "briefcase", unicode = "๐Ÿ’ผ", tags = [ "business" ], x = 598, y = 368 } + , { name = "eyeglasses", unicode = "๐Ÿ‘“", tags = [ "glasses" ], x = 966, y = 414 } + , { name = "dark_sunglasses", unicode = "๐Ÿ•ถ", tags = [], x = 874, y = 506 } + , { name = "closed_umbrella", unicode = "๐ŸŒ‚", tags = [ "weather", "rain" ], x = 644, y = 736 } + , { name = "open_umbrella", unicode = "โ˜‚๏ธ", tags = [], x = 1426, y = 0 } + ] + , nature = + [ { name = "dog", unicode = "๐Ÿถ", tags = [ "pet" ], x = 644, y = 874 } + , { name = "cat", unicode = "๐Ÿฑ", tags = [ "pet" ], x = 644, y = 644 } + , { name = "mouse", unicode = "๐Ÿญ", tags = [], x = 0, y = 1334 } + , { name = "hamster", unicode = "๐Ÿน", tags = [ "pet" ], x = 368, y = 1104 } + , { name = "rabbit", unicode = "๐Ÿฐ", tags = [ "bunny" ], x = 368, y = 1472 } + , { name = "fox_face", unicode = "๐ŸฆŠ", tags = [], x = 1058, y = 184 } + , { name = "bear", unicode = "๐Ÿป", tags = [], x = 0, y = 460 } + , { name = "panda_face", unicode = "๐Ÿผ", tags = [], x = 1426, y = 874 } + , { name = "koala", unicode = "๐Ÿจ", tags = [], x = 552, y = 1196 } + , { name = "tiger", unicode = "๐Ÿฏ", tags = [], x = 1656, y = 1610 } + , { name = "lion", unicode = "๐Ÿฆ", tags = [], x = 1242, y = 874 } + , { name = "cow", unicode = "๐Ÿฎ", tags = [], x = 828, y = 552 } + , { name = "pig", unicode = "๐Ÿท", tags = [], x = 920, y = 1426 } + , { name = "pig_nose", unicode = "๐Ÿฝ", tags = [], x = 1012, y = 1426 } + , { name = "frog", unicode = "๐Ÿธ", tags = [], x = 1058, y = 644 } + , { name = "monkey_face", unicode = "๐Ÿต", tags = [], x = 1334, y = 414 } + , { name = "see_no_evil", unicode = "๐Ÿ™ˆ", tags = [ "monkey", "blind", "ignore" ], x = 1564, y = 92 } + , { name = "hear_no_evil", unicode = "๐Ÿ™‰", tags = [ "monkey", "deaf" ], x = 782, y = 1104 } + , { name = "speak_no_evil", unicode = "๐Ÿ™Š", tags = [ "monkey", "mute", "hush" ], x = 1610, y = 552 } + , { name = "monkey", unicode = "๐Ÿ’", tags = [], x = 1334, y = 368 } + , { name = "chicken", unicode = "๐Ÿ”", tags = [], x = 0, y = 690 } + , { name = "penguin", unicode = "๐Ÿง", tags = [], x = 368, y = 1426 } + , { name = "bird", unicode = "๐Ÿฆ", tags = [], x = 0, y = 506 } + , { name = "baby_chick", unicode = "๐Ÿค", tags = [], x = 276, y = 368 } + , { name = "hatching_chick", unicode = "๐Ÿฃ", tags = [], x = 690, y = 1104 } + , { name = "hatched_chick", unicode = "๐Ÿฅ", tags = [], x = 644, y = 1104 } + , { name = "duck", unicode = "๐Ÿฆ†", tags = [], x = 920, y = 506 } + , { name = "eagle", unicode = "๐Ÿฆ…", tags = [], x = 920, y = 644 } + , { name = "owl", unicode = "๐Ÿฆ‰", tags = [], x = 1426, y = 276 } + , { name = "bat", unicode = "๐Ÿฆ‡", tags = [], x = 460, y = 230 } + , { name = "wolf", unicode = "๐Ÿบ", tags = [], x = 1748, y = 920 } + , { name = "boar", unicode = "๐Ÿ—", tags = [], x = 552, y = 368 } + , { name = "horse", unicode = "๐Ÿด", tags = [], x = 1150, y = 874 } + , { name = "unicorn", unicode = "๐Ÿฆ„", tags = [], x = 1702, y = 1426 } + , { name = "bee", unicode = "๐Ÿ", tags = [], x = 92, y = 460 } + , { name = "bug", unicode = "๐Ÿ›", tags = [], x = 0, y = 598 } + , { name = "butterfly", unicode = "๐Ÿฆ‹", tags = [], x = 644, y = 0 } + , { name = "snail", unicode = "๐ŸŒ", tags = [ "slow" ], x = 1058, y = 1564 } + , { name = "shell", unicode = "๐Ÿš", tags = [ "sea", "beach" ], x = 1564, y = 644 } + , { name = "beetle", unicode = "๐Ÿž", tags = [ "bug" ], x = 230, y = 460 } + , { name = "ant", unicode = "๐Ÿœ", tags = [], x = 138, y = 230 } + , { name = "spider", unicode = "๐Ÿ•ท", tags = [], x = 1610, y = 782 } + , { name = "spider_web", unicode = "๐Ÿ•ธ", tags = [], x = 1610, y = 828 } + , { name = "turtle", unicode = "๐Ÿข", tags = [ "slow" ], x = 1702, y = 276 } + , { name = "snake", unicode = "๐Ÿ", tags = [], x = 1104, y = 1564 } + , { name = "lizard", unicode = "๐ŸฆŽ", tags = [], x = 1242, y = 1058 } + , { name = "scorpion", unicode = "๐Ÿฆ‚", tags = [], x = 1334, y = 1518 } + , { name = "crab", unicode = "๐Ÿฆ€", tags = [], x = 828, y = 690 } + , { name = "squid", unicode = "๐Ÿฆ‘", tags = [], x = 1610, y = 1012 } + , { name = "octopus", unicode = "๐Ÿ™", tags = [], x = 368, y = 1380 } + , { name = "shrimp", unicode = "๐Ÿฆ", tags = [], x = 1564, y = 1150 } + , { name = "tropical_fish", unicode = "๐Ÿ ", tags = [], x = 1518, y = 1656 } + , { name = "fish", unicode = "๐ŸŸ", tags = [], x = 0, y = 1012 } + , { name = "blowfish", unicode = "๐Ÿก", tags = [], x = 552, y = 138 } + , { name = "dolphin", unicode = "๐Ÿฌ", tags = [], x = 828, y = 874 } + , { name = "shark", unicode = "๐Ÿฆˆ", tags = [], x = 1564, y = 506 } + , { name = "whale", unicode = "๐Ÿณ", tags = [ "sea" ], x = 1748, y = 92 } + , { name = "whale2", unicode = "๐Ÿ‹", tags = [], x = 1748, y = 138 } + , { name = "crocodile", unicode = "๐ŸŠ", tags = [], x = 138, y = 828 } + , { name = "leopard", unicode = "๐Ÿ†", tags = [], x = 1242, y = 460 } + , { name = "tiger2", unicode = "๐Ÿ…", tags = [], x = 0, y = 1656 } + , { name = "water_buffalo", unicode = "๐Ÿƒ", tags = [], x = 1288, y = 1702 } + , { name = "ox", unicode = "๐Ÿ‚", tags = [], x = 1426, y = 322 } + , { name = "cow2", unicode = "๐Ÿ„", tags = [], x = 828, y = 598 } + , { name = "deer", unicode = "๐ŸฆŒ", tags = [], x = 874, y = 782 } + , { name = "dromedary_camel", unicode = "๐Ÿช", tags = [ "desert" ], x = 920, y = 322 } + , { name = "camel", unicode = "๐Ÿซ", tags = [], x = 644, y = 322 } + , { name = "elephant", unicode = "๐Ÿ˜", tags = [], x = 460, y = 920 } + , { name = "rhinoceros", unicode = "๐Ÿฆ", tags = [], x = 1518, y = 736 } + , { name = "gorilla", unicode = "๐Ÿฆ", tags = [], x = 1058, y = 1058 } + , { name = "racehorse", unicode = "๐ŸŽ", tags = [ "speed" ], x = 460, y = 1472 } + , { name = "pig2", unicode = "๐Ÿ–", tags = [], x = 966, y = 1426 } + , { name = "goat", unicode = "๐Ÿ", tags = [], x = 782, y = 1058 } + , { name = "ram", unicode = "๐Ÿ", tags = [], x = 1426, y = 1472 } + , { name = "sheep", unicode = "๐Ÿ‘", tags = [], x = 1564, y = 598 } + , { name = "dog2", unicode = "๐Ÿ•", tags = [], x = 690, y = 874 } + , { name = "poodle", unicode = "๐Ÿฉ", tags = [ "dog" ], x = 1472, y = 414 } + , { name = "cat2", unicode = "๐Ÿˆ", tags = [], x = 690, y = 0 } + , { name = "rooster", unicode = "๐Ÿ“", tags = [], x = 1518, y = 1380 } + , { name = "turkey", unicode = "๐Ÿฆƒ", tags = [ "thanksgiving" ], x = 1702, y = 138 } + , { name = "dove", unicode = "๐Ÿ•Š", tags = [ "peace" ], x = 920, y = 138 } + , { name = "rabbit2", unicode = "๐Ÿ‡", tags = [], x = 414, y = 1472 } + , { name = "mouse2", unicode = "๐Ÿ", tags = [], x = 46, y = 1334 } + , { name = "rat", unicode = "๐Ÿ€", tags = [], x = 1518, y = 0 } + , { name = "chipmunk", unicode = "๐Ÿฟ", tags = [], x = 138, y = 690 } + , { name = "feet", unicode = "๐Ÿพ", tags = [], x = 1012, y = 230 } + , { name = "dragon", unicode = "๐Ÿ‰", tags = [], x = 920, y = 184 } + , { name = "dragon_face", unicode = "๐Ÿฒ", tags = [], x = 920, y = 230 } + , { name = "cactus", unicode = "๐ŸŒต", tags = [], x = 644, y = 46 } + , { name = "christmas_tree", unicode = "๐ŸŽ„", tags = [], x = 276, y = 690 } + , { name = "evergreen_tree", unicode = "๐ŸŒฒ", tags = [ "wood" ], x = 966, y = 184 } + , { name = "deciduous_tree", unicode = "๐ŸŒณ", tags = [ "wood" ], x = 874, y = 736 } + , { name = "palm_tree", unicode = "๐ŸŒด", tags = [], x = 1426, y = 736 } + , { name = "seedling", unicode = "๐ŸŒฑ", tags = [ "plant" ], x = 1564, y = 138 } + , { name = "herb", unicode = "๐ŸŒฟ", tags = [], x = 1150, y = 414 } + , { name = "shamrock", unicode = "โ˜˜๏ธ", tags = [], x = 1564, y = 460 } + , { name = "four_leaf_clover", unicode = "๐Ÿ€", tags = [ "luck" ], x = 1058, y = 138 } + , { name = "bamboo", unicode = "๐ŸŽ", tags = [], x = 46, y = 414 } + , { name = "tanabata_tree", unicode = "๐ŸŽ‹", tags = [], x = 1656, y = 690 } + , { name = "leaves", unicode = "๐Ÿƒ", tags = [ "leaf" ], x = 1242, y = 92 } + , { name = "fallen_leaf", unicode = "๐Ÿ‚", tags = [ "autumn" ], x = 966, y = 736 } + , { name = "maple_leaf", unicode = "๐Ÿ", tags = [ "canada" ], x = 1288, y = 1242 } + , { name = "mushroom", unicode = "๐Ÿ„", tags = [], x = 322, y = 1334 } + , { name = "ear_of_rice", unicode = "๐ŸŒพ", tags = [], x = 920, y = 736 } + , { name = "bouquet", unicode = "๐Ÿ’", tags = [ "flowers" ], x = 368, y = 552 } + , { name = "tulip", unicode = "๐ŸŒท", tags = [ "flower" ], x = 1702, y = 0 } + , { name = "rose", unicode = "๐ŸŒน", tags = [ "flower" ], x = 1518, y = 1426 } + , { name = "wilted_flower", unicode = "๐Ÿฅ€", tags = [], x = 1748, y = 690 } + , { name = "sunflower", unicode = "๐ŸŒป", tags = [], x = 966, y = 1610 } + , { name = "blossom", unicode = "๐ŸŒผ", tags = [], x = 552, y = 92 } + , { name = "cherry_blossom", unicode = "๐ŸŒธ", tags = [ "flower", "spring" ], x = 690, y = 598 } + , { name = "hibiscus", unicode = "๐ŸŒบ", tags = [], x = 1150, y = 460 } + , { name = "earth_americas", unicode = "๐ŸŒŽ", tags = [ "globe", "world", "international" ], x = 920, y = 828 } + , { name = "earth_africa", unicode = "๐ŸŒ", tags = [ "globe", "world", "international" ], x = 920, y = 782 } + , { name = "earth_asia", unicode = "๐ŸŒ", tags = [ "globe", "world", "international" ], x = 920, y = 874 } + , { name = "full_moon", unicode = "๐ŸŒ•", tags = [], x = 1058, y = 966 } + , { name = "waning_gibbous_moon", unicode = "๐ŸŒ–", tags = [], x = 1104, y = 1702 } + , { name = "last_quarter_moon", unicode = "๐ŸŒ—", tags = [], x = 1104, y = 1196 } + , { name = "waning_crescent_moon", unicode = "๐ŸŒ˜", tags = [], x = 1058, y = 1702 } + , { name = "new_moon", unicode = "๐ŸŒ‘", tags = [], x = 1288, y = 1334 } + , { name = "waxing_crescent_moon", unicode = "๐ŸŒ’", tags = [], x = 1472, y = 1702 } + , { name = "first_quarter_moon", unicode = "๐ŸŒ“", tags = [], x = 1012, y = 920 } + , { name = "moon", unicode = "๐ŸŒ”", tags = [], x = 1334, y = 598 } + , { name = "new_moon_with_face", unicode = "๐ŸŒš", tags = [], x = 1334, y = 1334 } + , { name = "full_moon_with_face", unicode = "๐ŸŒ", tags = [], x = 1058, y = 1012 } + , { name = "sun_with_face", unicode = "๐ŸŒž", tags = [ "summer" ], x = 920, y = 1610 } + , { name = "first_quarter_moon_with_face", unicode = "๐ŸŒ›", tags = [], x = 1012, y = 966 } + , { name = "last_quarter_moon_with_face", unicode = "๐ŸŒœ", tags = [], x = 1150, y = 1196 } + , { name = "crescent_moon", unicode = "๐ŸŒ™", tags = [ "night" ], x = 0, y = 828 } + , { name = "dizzy", unicode = "๐Ÿ’ซ", tags = [ "star" ], x = 460, y = 874 } + , { name = "star", unicode = "โญ๏ธ", tags = [], x = 1610, y = 1472 } + , { name = "star2", unicode = "๐ŸŒŸ", tags = [], x = 1610, y = 1518 } + , { name = "sparkles", unicode = "โœจ", tags = [ "shiny" ], x = 1610, y = 460 } + , { name = "zap", unicode = "โšก๏ธ", tags = [ "lightning", "thunder" ], x = 1012, y = 1748 } + , { name = "fire", unicode = "๐Ÿ”ฅ", tags = [ "burn" ], x = 1012, y = 782 } + , { name = "boom", unicode = "๐Ÿ’ฅ", tags = [ "explode" ], x = 184, y = 552 } + , { name = "comet", unicode = "โ˜„", tags = [], x = 782, y = 598 } + , { name = "sunny", unicode = "โ˜€๏ธ", tags = [ "weather" ], x = 1058, y = 1610 } + , { name = "sun_behind_small_cloud", unicode = "๐ŸŒค", tags = [], x = 874, y = 1610 } + , { name = "partly_sunny", unicode = "โ›…๏ธ", tags = [ "weather", "cloud" ], x = 1426, y = 1242 } + , { name = "sun_behind_large_cloud", unicode = "๐ŸŒฅ", tags = [], x = 782, y = 1610 } + , { name = "sun_behind_rain_cloud", unicode = "๐ŸŒฆ", tags = [], x = 828, y = 1610 } + , { name = "rainbow", unicode = "๐ŸŒˆ", tags = [], x = 1012, y = 1472 } + , { name = "cloud", unicode = "โ˜๏ธ", tags = [], x = 690, y = 736 } + , { name = "cloud_with_rain", unicode = "๐ŸŒง", tags = [], x = 782, y = 46 } + , { name = "cloud_with_lightning_and_rain", unicode = "โ›ˆ", tags = [], x = 782, y = 0 } + , { name = "cloud_with_lightning", unicode = "๐ŸŒฉ", tags = [], x = 736, y = 736 } + , { name = "cloud_with_snow", unicode = "๐ŸŒจ", tags = [], x = 782, y = 92 } + , { name = "snowman_with_snow", unicode = "โ˜ƒ๏ธ", tags = [ "winter", "christmas" ], x = 1334, y = 1564 } + , { name = "snowman", unicode = "โ›„๏ธ", tags = [ "winter" ], x = 1288, y = 1564 } + , { name = "snowflake", unicode = "โ„๏ธ", tags = [ "winter", "cold", "weather" ], x = 1242, y = 1564 } + , { name = "wind_face", unicode = "๐ŸŒฌ", tags = [], x = 1748, y = 782 } + , { name = "dash", unicode = "๐Ÿ’จ", tags = [ "wind", "blow", "fast" ], x = 874, y = 598 } + , { name = "tornado", unicode = "๐ŸŒช", tags = [], x = 736, y = 1656 } + , { name = "fog", unicode = "๐ŸŒซ", tags = [], x = 828, y = 1012 } + , { name = "ocean", unicode = "๐ŸŒŠ", tags = [ "sea" ], x = 276, y = 1380 } + , { name = "droplet", unicode = "๐Ÿ’ง", tags = [ "water" ], x = 920, y = 414 } + , { name = "sweat_drops", unicode = "๐Ÿ’ฆ", tags = [ "water", "workout" ], x = 1610, y = 1610 } + , { name = "umbrella", unicode = "โ˜”๏ธ", tags = [ "rain", "weather" ], x = 1702, y = 1288 } + , { name = "green_apple", unicode = "๐Ÿ", tags = [ "fruit" ], x = 1104, y = 92 } + , { name = "apple", unicode = "๐ŸŽ", tags = [], x = 276, y = 0 } + , { name = "pear", unicode = "๐Ÿ", tags = [], x = 184, y = 1426 } + , { name = "tangerine", unicode = "๐ŸŠ", tags = [], x = 1656, y = 736 } + , { name = "lemon", unicode = "๐Ÿ‹", tags = [], x = 1242, y = 368 } + , { name = "banana", unicode = "๐ŸŒ", tags = [ "fruit" ], x = 92, y = 414 } + , { name = "watermelon", unicode = "๐Ÿ‰", tags = [], x = 1334, y = 1702 } + , { name = "grapes", unicode = "๐Ÿ‡", tags = [], x = 1104, y = 0 } + , { name = "strawberry", unicode = "๐Ÿ“", tags = [ "fruit" ], x = 460, y = 1610 } + , { name = "melon", unicode = "๐Ÿˆ", tags = [], x = 644, y = 1288 } + , { name = "cherries", unicode = "๐Ÿ’", tags = [ "fruit" ], x = 690, y = 552 } + , { name = "peach", unicode = "๐Ÿ‘", tags = [], x = 92, y = 1426 } + , { name = "pineapple", unicode = "๐Ÿ", tags = [], x = 1104, y = 1426 } + , { name = "kiwi_fruit", unicode = "๐Ÿฅ", tags = [], x = 460, y = 1196 } + , { name = "avocado", unicode = "๐Ÿฅ‘", tags = [], x = 46, y = 368 } + , { name = "tomato", unicode = "๐Ÿ…", tags = [], x = 506, y = 1656 } + , { name = "eggplant", unicode = "๐Ÿ†", tags = [ "aubergine" ], x = 92, y = 920 } + , { name = "cucumber", unicode = "๐Ÿฅ’", tags = [], x = 598, y = 828 } + , { name = "carrot", unicode = "๐Ÿฅ•", tags = [], x = 598, y = 644 } + , { name = "corn", unicode = "๐ŸŒฝ", tags = [], x = 782, y = 782 } + , { name = "hot_pepper", unicode = "๐ŸŒถ", tags = [ "spicy" ], x = 1150, y = 1012 } + , { name = "potato", unicode = "๐Ÿฅ”", tags = [], x = 1472, y = 782 } + , { name = "sweet_potato", unicode = "๐Ÿ ", tags = [], x = 1656, y = 92 } + , { name = "chestnut", unicode = "๐ŸŒฐ", tags = [], x = 690, y = 644 } + , { name = "peanuts", unicode = "๐Ÿฅœ", tags = [], x = 138, y = 1426 } + , { name = "honey_pot", unicode = "๐Ÿฏ", tags = [], x = 1150, y = 736 } + , { name = "croissant", unicode = "๐Ÿฅ", tags = [], x = 184, y = 828 } + , { name = "bread", unicode = "๐Ÿž", tags = [ "toast" ], x = 598, y = 230 } + , { name = "baguette_bread", unicode = "๐Ÿฅ–", tags = [], x = 414, y = 138 } + , { name = "cheese", unicode = "๐Ÿง€", tags = [], x = 690, y = 506 } + , { name = "egg", unicode = "๐Ÿฅš", tags = [], x = 46, y = 920 } + , { name = "fried_egg", unicode = "๐Ÿณ", tags = [ "breakfast" ], x = 1058, y = 506 } + , { name = "bacon", unicode = "๐Ÿฅ“", tags = [], x = 414, y = 0 } + , { name = "pancakes", unicode = "๐Ÿฅž", tags = [], x = 1426, y = 828 } + , { name = "fried_shrimp", unicode = "๐Ÿค", tags = [ "tempura" ], x = 1058, y = 552 } + , { name = "poultry_leg", unicode = "๐Ÿ—", tags = [ "meat", "chicken" ], x = 1472, y = 874 } + , { name = "meat_on_bone", unicode = "๐Ÿ–", tags = [], x = 460, y = 1288 } + , { name = "pizza", unicode = "๐Ÿ•", tags = [], x = 1288, y = 1426 } + , { name = "hotdog", unicode = "๐ŸŒญ", tags = [], x = 1150, y = 1058 } + , { name = "hamburger", unicode = "๐Ÿ”", tags = [ "burger" ], x = 184, y = 1104 } + , { name = "fries", unicode = "๐ŸŸ", tags = [], x = 1058, y = 598 } + , { name = "stuffed_flatbread", unicode = "๐Ÿฅ™", tags = [], x = 690, y = 1610 } + , { name = "taco", unicode = "๐ŸŒฎ", tags = [], x = 1656, y = 506 } + , { name = "burrito", unicode = "๐ŸŒฏ", tags = [], x = 322, y = 598 } + , { name = "green_salad", unicode = "๐Ÿฅ—", tags = [], x = 1104, y = 230 } + , { name = "shallow_pan_of_food", unicode = "๐Ÿฅ˜", tags = [ "paella", "curry" ], x = 1564, y = 414 } + , { name = "spaghetti", unicode = "๐Ÿ", tags = [ "pasta" ], x = 1610, y = 322 } + , { name = "ramen", unicode = "๐Ÿœ", tags = [ "noodle" ], x = 1472, y = 1472 } + , { name = "stew", unicode = "๐Ÿฒ", tags = [], x = 230, y = 1610 } + , { name = "fish_cake", unicode = "๐Ÿฅ", tags = [], x = 46, y = 1012 } + , { name = "sushi", unicode = "๐Ÿฃ", tags = [], x = 1380, y = 1610 } + , { name = "bento", unicode = "๐Ÿฑ", tags = [], x = 506, y = 92 } + , { name = "curry", unicode = "๐Ÿ›", tags = [], x = 828, y = 828 } + , { name = "rice", unicode = "๐Ÿš", tags = [], x = 1518, y = 828 } + , { name = "rice_ball", unicode = "๐Ÿ™", tags = [], x = 1518, y = 874 } + , { name = "rice_cracker", unicode = "๐Ÿ˜", tags = [], x = 1518, y = 920 } + , { name = "oden", unicode = "๐Ÿข", tags = [], x = 414, y = 1380 } + , { name = "dango", unicode = "๐Ÿก", tags = [], x = 874, y = 460 } + , { name = "shaved_ice", unicode = "๐Ÿง", tags = [], x = 1564, y = 552 } + , { name = "ice_cream", unicode = "๐Ÿจ", tags = [], x = 460, y = 1150 } + , { name = "icecream", unicode = "๐Ÿฆ", tags = [], x = 598, y = 1150 } + , { name = "cake", unicode = "๐Ÿฐ", tags = [ "dessert" ], x = 644, y = 92 } + , { name = "birthday", unicode = "๐ŸŽ‚", tags = [ "party" ], x = 46, y = 506 } + , { name = "custard", unicode = "๐Ÿฎ", tags = [], x = 874, y = 0 } + , { name = "lollipop", unicode = "๐Ÿญ", tags = [], x = 1242, y = 1196 } + , { name = "candy", unicode = "๐Ÿฌ", tags = [ "sweet" ], x = 92, y = 644 } + , { name = "chocolate_bar", unicode = "๐Ÿซ", tags = [], x = 184, y = 690 } + , { name = "popcorn", unicode = "๐Ÿฟ", tags = [], x = 1472, y = 506 } + , { name = "doughnut", unicode = "๐Ÿฉ", tags = [], x = 920, y = 92 } + , { name = "cookie", unicode = "๐Ÿช", tags = [], x = 598, y = 782 } + , { name = "milk_glass", unicode = "๐Ÿฅ›", tags = [], x = 1196, y = 1288 } + , { name = "baby_bottle", unicode = "๐Ÿผ", tags = [ "milk" ], x = 230, y = 368 } + , { name = "coffee", unicode = "โ˜•๏ธ", tags = [ "cafe", "espresso" ], x = 782, y = 368 } + , { name = "tea", unicode = "๐Ÿต", tags = [ "green", "breakfast" ], x = 1656, y = 920 } + , { name = "sake", unicode = "๐Ÿถ", tags = [], x = 736, y = 1518 } + , { name = "beer", unicode = "๐Ÿบ", tags = [ "drink" ], x = 138, y = 460 } + , { name = "beers", unicode = "๐Ÿป", tags = [ "drinks" ], x = 184, y = 460 } + , { name = "clinking_glasses", unicode = "๐Ÿฅ‚", tags = [ "cheers", "toast" ], x = 736, y = 92 } + , { name = "wine_glass", unicode = "๐Ÿท", tags = [], x = 1748, y = 828 } + , { name = "tumbler_glass", unicode = "๐Ÿฅƒ", tags = [ "whisky" ], x = 1702, y = 46 } + , { name = "cocktail", unicode = "๐Ÿธ", tags = [ "drink" ], x = 782, y = 276 } + , { name = "tropical_drink", unicode = "๐Ÿน", tags = [ "summer", "vacation" ], x = 1472, y = 1656 } + , { name = "champagne", unicode = "๐Ÿพ", tags = [ "bottle", "bubbly", "celebration" ], x = 690, y = 276 } + , { name = "spoon", unicode = "๐Ÿฅ„", tags = [], x = 1610, y = 966 } + , { name = "fork_and_knife", unicode = "๐Ÿด", tags = [ "cutlery" ], x = 1012, y = 1012 } + , { name = "plate_with_cutlery", unicode = "๐Ÿฝ", tags = [ "dining", "dinner" ], x = 1380, y = 1426 } + ] + , objects = + [ { name = "soccer", unicode = "โšฝ๏ธ", tags = [ "sports" ], x = 1426, y = 1564 } + , { name = "basketball", unicode = "๐Ÿ€", tags = [ "sports" ], x = 460, y = 92 } + , { name = "football", unicode = "๐Ÿˆ", tags = [ "sports" ], x = 920, y = 1012 } + , { name = "baseball", unicode = "โšพ๏ธ", tags = [ "sports" ], x = 414, y = 414 } + , { name = "tennis", unicode = "๐ŸŽพ", tags = [ "sports" ], x = 1656, y = 1104 } + , { name = "volleyball", unicode = "๐Ÿ", tags = [], x = 736, y = 1702 } + , { name = "rugby_football", unicode = "๐Ÿ‰", tags = [], x = 276, y = 1518 } + , { name = "8ball", unicode = "๐ŸŽฑ", tags = [ "pool", "billiards" ], x = 46, y = 92 } + , { name = "ping_pong", unicode = "๐Ÿ“", tags = [], x = 1150, y = 1426 } + , { name = "badminton", unicode = "๐Ÿธ", tags = [], x = 414, y = 46 } + , { name = "goal_net", unicode = "๐Ÿฅ…", tags = [], x = 736, y = 1058 } + , { name = "ice_hockey", unicode = "๐Ÿ’", tags = [], x = 506, y = 1150 } + , { name = "field_hockey", unicode = "๐Ÿ‘", tags = [], x = 1012, y = 414 } + , { name = "cricket", unicode = "๐Ÿ", tags = [], x = 46, y = 828 } + , { name = "golf", unicode = "โ›ณ๏ธ", tags = [], x = 920, y = 1058 } + , { name = "bow_and_arrow", unicode = "๐Ÿน", tags = [ "archery" ], x = 460, y = 552 } + , { name = "fishing_pole_and_fish", unicode = "๐ŸŽฃ", tags = [], x = 92, y = 1012 } + , { name = "boxing_glove", unicode = "๐ŸฅŠ", tags = [], x = 598, y = 92 } + , { name = "martial_arts_uniform", unicode = "๐Ÿฅ‹", tags = [], x = 46, y = 1288 } + , { name = "ice_skate", unicode = "โ›ธ", tags = [ "skating" ], x = 552, y = 1150 } + , { name = "ski", unicode = "๐ŸŽฟ", tags = [], x = 1564, y = 1472 } + , { name = "skier", unicode = "โ›ท", tags = [], x = 1564, y = 1518 } + , { name = "snowboarder", unicode = "๐Ÿ‚", tags = [], x = 1196, y = 1564 } + , { name = "weight_lifting_woman", unicode = "๐Ÿ‹๏ธ\u{200D}โ™€๏ธ๏ธ", tags = [ "gym", "workout" ], x = 1748, y = 0 } + , { name = "weight_lifting_man", unicode = "๐Ÿ‹", tags = [ "gym", "workout" ], x = 1702, y = 1702 } + , { name = "person_fencing", unicode = "๐Ÿคบ", tags = [], x = 552, y = 1426 } + , { name = "women_wrestling", unicode = "๐Ÿคผ\u{200D}โ™€๏ธ", tags = [], x = 414, y = 1748 } + , { name = "men_wrestling", unicode = "๐Ÿคผ\u{200D}โ™‚๏ธ", tags = [], x = 736, y = 1288 } + , { name = "woman_cartwheeling", unicode = "๐Ÿคธ\u{200D}โ™€๏ธ", tags = [], x = 1748, y = 1104 } + , { name = "man_cartwheeling", unicode = "๐Ÿคธ\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 0 } + , { name = "basketball_woman", unicode = "โ›น๏ธ\u{200D}โ™€๏ธ๏ธ", tags = [], x = 460, y = 184 } + , { name = "basketball_man", unicode = "โ›น", tags = [], x = 460, y = 138 } + , { name = "woman_playing_handball", unicode = "๐Ÿคพ\u{200D}โ™€๏ธ", tags = [], x = 1748, y = 1656 } + , { name = "man_playing_handball", unicode = "๐Ÿคพ\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 644 } + , { name = "golfing_woman", unicode = "๐ŸŒ๏ธ\u{200D}โ™€๏ธ๏ธ", tags = [], x = 1012, y = 1058 } + , { name = "golfing_man", unicode = "๐ŸŒ", tags = [], x = 966, y = 1058 } + , { name = "surfing_woman", unicode = "๐Ÿ„\u{200D}โ™€๏ธ", tags = [], x = 1288, y = 1610 } + , { name = "surfing_man", unicode = "๐Ÿ„", tags = [], x = 1242, y = 1610 } + , { name = "swimming_woman", unicode = "๐ŸŠ\u{200D}โ™€๏ธ", tags = [], x = 1656, y = 230 } + , { name = "swimming_man", unicode = "๐ŸŠ", tags = [], x = 1656, y = 184 } + , { name = "woman_playing_water_polo", unicode = "๐Ÿคฝ\u{200D}โ™€๏ธ", tags = [], x = 1748, y = 1702 } + , { name = "man_playing_water_polo", unicode = "๐Ÿคฝ\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 690 } + , { name = "rowing_woman", unicode = "๐Ÿšฃ\u{200D}โ™€๏ธ", tags = [], x = 184, y = 1518 } + , { name = "rowing_man", unicode = "๐Ÿšฃ", tags = [], x = 138, y = 1518 } + , { name = "horse_racing", unicode = "๐Ÿ‡", tags = [], x = 1150, y = 920 } + , { name = "biking_woman", unicode = "๐Ÿšด\u{200D}โ™€๏ธ", tags = [], x = 506, y = 368 } + , { name = "biking_man", unicode = "๐Ÿšด", tags = [], x = 506, y = 322 } + , { name = "mountain_biking_woman", unicode = "๐Ÿšต\u{200D}โ™€๏ธ", tags = [], x = 1334, y = 1150 } + , { name = "mountain_biking_man", unicode = "๐Ÿšต", tags = [], x = 1334, y = 1104 } + , { name = "running_shirt_with_sash", unicode = "๐ŸŽฝ", tags = [ "marathon" ], x = 460, y = 1518 } + , { name = "medal_sports", unicode = "๐Ÿ…", tags = [ "gold", "winner" ], x = 552, y = 1288 } + , { name = "medal_military", unicode = "๐ŸŽ–", tags = [], x = 506, y = 1288 } + , { name = "1st_place_medal", unicode = "๐Ÿฅ‡", tags = [ "gold" ], x = 92, y = 0 } + , { name = "2nd_place_medal", unicode = "๐Ÿฅˆ", tags = [ "silver" ], x = 92, y = 46 } + , { name = "3rd_place_medal", unicode = "๐Ÿฅ‰", tags = [ "bronze" ], x = 0, y = 92 } + , { name = "trophy", unicode = "๐Ÿ†", tags = [ "award", "contest", "winner" ], x = 1426, y = 1656 } + , { name = "rosette", unicode = "๐Ÿต", tags = [], x = 1518, y = 1472 } + , { name = "reminder_ribbon", unicode = "๐ŸŽ—", tags = [], x = 1518, y = 368 } + , { name = "ticket", unicode = "๐ŸŽซ", tags = [], x = 1656, y = 1518 } + , { name = "tickets", unicode = "๐ŸŽŸ", tags = [], x = 1656, y = 1564 } + , { name = "circus_tent", unicode = "๐ŸŽช", tags = [], x = 414, y = 690 } + , { name = "woman_juggling", unicode = "๐Ÿคน\u{200D}โ™€๏ธ", tags = [], x = 1748, y = 1472 } + , { name = "man_juggling", unicode = "๐Ÿคน\u{200D}โ™‚๏ธ", tags = [], x = 1288, y = 460 } + , { name = "performing_arts", unicode = "๐ŸŽญ", tags = [ "theater", "drama" ], x = 460, y = 1426 } + , { name = "art", unicode = "๐ŸŽจ", tags = [ "design", "paint" ], x = 230, y = 322 } + , { name = "clapper", unicode = "๐ŸŽฌ", tags = [ "film" ], x = 736, y = 0 } + , { name = "microphone", unicode = "๐ŸŽค", tags = [ "sing" ], x = 1058, y = 1288 } + , { name = "headphones", unicode = "๐ŸŽง", tags = [ "music", "earphones" ], x = 736, y = 1104 } + , { name = "musical_score", unicode = "๐ŸŽผ", tags = [], x = 460, y = 1334 } + , { name = "musical_keyboard", unicode = "๐ŸŽน", tags = [ "piano" ], x = 368, y = 1334 } + , { name = "drum", unicode = "๐Ÿฅ", tags = [], x = 920, y = 460 } + , { name = "saxophone", unicode = "๐ŸŽท", tags = [], x = 1150, y = 1518 } + , { name = "trumpet", unicode = "๐ŸŽบ", tags = [], x = 1610, y = 1656 } + , { name = "guitar", unicode = "๐ŸŽธ", tags = [ "rock" ], x = 1104, y = 966 } + , { name = "violin", unicode = "๐ŸŽป", tags = [], x = 598, y = 1702 } + , { name = "game_die", unicode = "๐ŸŽฒ", tags = [ "dice", "gambling" ], x = 138, y = 1058 } + , { name = "dart", unicode = "๐ŸŽฏ", tags = [ "target" ], x = 874, y = 552 } + , { name = "bowling", unicode = "๐ŸŽณ", tags = [], x = 598, y = 0 } + , { name = "video_game", unicode = "๐ŸŽฎ", tags = [ "play", "controller", "console" ], x = 506, y = 1702 } + , { name = "slot_machine", unicode = "๐ŸŽฐ", tags = [], x = 322, y = 1564 } + , { name = "watch", unicode = "โŒš๏ธ", tags = [ "time" ], x = 1242, y = 1702 } + , { name = "iphone", unicode = "๐Ÿ“ฑ", tags = [ "smartphone", "mobile" ], x = 1196, y = 0 } + , { name = "calling", unicode = "๐Ÿ“ฒ", tags = [ "call", "incoming" ], x = 644, y = 230 } + , { name = "computer", unicode = "๐Ÿ’ป", tags = [ "desktop", "screen" ], x = 782, y = 690 } + , { name = "keyboard", unicode = "โŒจ๏ธ", tags = [], x = 1196, y = 1150 } + , { name = "desktop_computer", unicode = "๐Ÿ–ฅ", tags = [], x = 184, y = 874 } + , { name = "printer", unicode = "๐Ÿ–จ", tags = [], x = 1472, y = 1426 } + , { name = "computer_mouse", unicode = "๐Ÿ–ฑ", tags = [], x = 782, y = 736 } + , { name = "trackball", unicode = "๐Ÿ–ฒ", tags = [], x = 828, y = 1656 } + , { name = "joystick", unicode = "๐Ÿ•น", tags = [], x = 1196, y = 874 } + , { name = "clamp", unicode = "๐Ÿ—œ", tags = [], x = 644, y = 690 } + , { name = "minidisc", unicode = "๐Ÿ’ฝ", tags = [], x = 1334, y = 0 } + , { name = "floppy_disk", unicode = "๐Ÿ’พ", tags = [ "save" ], x = 690, y = 1012 } + , { name = "cd", unicode = "๐Ÿ’ฟ", tags = [], x = 690, y = 92 } + , { name = "dvd", unicode = "๐Ÿ“€", tags = [], x = 920, y = 552 } + , { name = "vhs", unicode = "๐Ÿ“ผ", tags = [], x = 368, y = 1702 } + , { name = "camera", unicode = "๐Ÿ“ท", tags = [ "photo" ], x = 644, y = 368 } + , { name = "camera_flash", unicode = "๐Ÿ“ธ", tags = [ "photo" ], x = 644, y = 414 } + , { name = "video_camera", unicode = "๐Ÿ“น", tags = [], x = 460, y = 1702 } + , { name = "movie_camera", unicode = "๐ŸŽฅ", tags = [ "film", "video" ], x = 92, y = 1334 } + , { name = "film_projector", unicode = "๐Ÿ“ฝ", tags = [], x = 1012, y = 598 } + , { name = "film_strip", unicode = "๐ŸŽž", tags = [], x = 1012, y = 644 } + , { name = "telephone_receiver", unicode = "๐Ÿ“ž", tags = [ "phone", "call" ], x = 1656, y = 1012 } + , { name = "phone", unicode = "โ˜Ž๏ธ", tags = [], x = 828, y = 1426 } + , { name = "pager", unicode = "๐Ÿ“Ÿ", tags = [], x = 1426, y = 506 } + , { name = "fax", unicode = "๐Ÿ“ ", tags = [], x = 1012, y = 92 } + , { name = "tv", unicode = "๐Ÿ“บ", tags = [], x = 1702, y = 368 } + , { name = "radio", unicode = "๐Ÿ“ป", tags = [ "podcast" ], x = 552, y = 1472 } + , { name = "studio_microphone", unicode = "๐ŸŽ™", tags = [ "podcast" ], x = 644, y = 1610 } + , { name = "level_slider", unicode = "๐ŸŽš", tags = [], x = 1242, y = 552 } + , { name = "control_knobs", unicode = "๐ŸŽ›", tags = [], x = 460, y = 782 } + , { name = "stopwatch", unicode = "โฑ", tags = [], x = 368, y = 1610 } + , { name = "timer_clock", unicode = "โฒ", tags = [], x = 46, y = 1656 } + , { name = "alarm_clock", unicode = "โฐ", tags = [ "morning" ], x = 184, y = 46 } + , { name = "mantelpiece_clock", unicode = "๐Ÿ•ฐ", tags = [], x = 1288, y = 1196 } + , { name = "hourglass", unicode = "โŒ›๏ธ", tags = [ "time" ], x = 46, y = 1150 } + , { name = "hourglass_flowing_sand", unicode = "โณ", tags = [ "time" ], x = 92, y = 1150 } + , { name = "satellite", unicode = "๐Ÿ“ก", tags = [ "signal" ], x = 1012, y = 1518 } + , { name = "battery", unicode = "๐Ÿ”‹", tags = [ "power" ], x = 460, y = 368 } + , { name = "electric_plug", unicode = "๐Ÿ”Œ", tags = [], x = 368, y = 920 } + , { name = "bulb", unicode = "๐Ÿ’ก", tags = [ "idea", "light" ], x = 92, y = 598 } + , { name = "flashlight", unicode = "๐Ÿ”ฆ", tags = [], x = 460, y = 1012 } + , { name = "candle", unicode = "๐Ÿ•ฏ", tags = [], x = 46, y = 644 } + , { name = "wastebasket", unicode = "๐Ÿ—‘", tags = [ "trash" ], x = 1196, y = 1702 } + , { name = "oil_drum", unicode = "๐Ÿ›ข", tags = [], x = 506, y = 1380 } + , { name = "money_with_wings", unicode = "๐Ÿ’ธ", tags = [ "dollar" ], x = 1334, y = 230 } + , { name = "dollar", unicode = "๐Ÿ’ต", tags = [ "money" ], x = 736, y = 874 } + , { name = "yen", unicode = "๐Ÿ’ด", tags = [], x = 828, y = 1748 } + , { name = "euro", unicode = "๐Ÿ’ถ", tags = [], x = 966, y = 0 } + , { name = "pound", unicode = "๐Ÿ’ท", tags = [], x = 1472, y = 920 } + , { name = "moneybag", unicode = "๐Ÿ’ฐ", tags = [ "dollar", "cream" ], x = 1334, y = 276 } + , { name = "credit_card", unicode = "๐Ÿ’ณ", tags = [ "subscription" ], x = 828, y = 782 } + , { name = "gem", unicode = "๐Ÿ’Ž", tags = [ "diamond" ], x = 276, y = 1058 } + , { name = "balance_scale", unicode = "โš–๏ธ", tags = [], x = 414, y = 276 } + , { name = "wrench", unicode = "๐Ÿ”ง", tags = [ "tool" ], x = 598, y = 1748 } + , { name = "hammer", unicode = "๐Ÿ”จ", tags = [ "tool" ], x = 230, y = 1104 } + , { name = "hammer_and_pick", unicode = "โš’", tags = [], x = 276, y = 1104 } + , { name = "hammer_and_wrench", unicode = "๐Ÿ› ", tags = [], x = 322, y = 1104 } + , { name = "pick", unicode = "โ›", tags = [], x = 874, y = 1426 } + , { name = "nut_and_bolt", unicode = "๐Ÿ”ฉ", tags = [], x = 138, y = 1380 } + , { name = "gear", unicode = "โš™๏ธ", tags = [], x = 230, y = 1058 } + , { name = "chains", unicode = "โ›“", tags = [], x = 690, y = 230 } + , { name = "gun", unicode = "๐Ÿ”ซ", tags = [ "shoot", "weapon" ], x = 1104, y = 1012 } + , { name = "bomb", unicode = "๐Ÿ’ฃ", tags = [ "boom" ], x = 552, y = 506 } + , { name = "hocho", unicode = "๐Ÿ”ช", tags = [ "cut", "chop" ], x = 1150, y = 598 } + , { name = "dagger", unicode = "๐Ÿ—ก", tags = [], x = 874, y = 230 } + , { name = "crossed_swords", unicode = "โš”๏ธ", tags = [], x = 322, y = 828 } + , { name = "shield", unicode = "๐Ÿ›ก", tags = [], x = 1564, y = 690 } + , { name = "smoking", unicode = "๐Ÿšฌ", tags = [ "cigarette" ], x = 1012, y = 1564 } + , { name = "coffin", unicode = "โšฐ๏ธ", tags = [ "funeral" ], x = 782, y = 414 } + , { name = "funeral_urn", unicode = "โšฑ๏ธ", tags = [], x = 0, y = 1058 } + , { name = "amphora", unicode = "๐Ÿบ", tags = [], x = 184, y = 184 } + , { name = "crystal_ball", unicode = "๐Ÿ”ฎ", tags = [ "fortune" ], x = 506, y = 828 } + , { name = "prayer_beads", unicode = "๐Ÿ“ฟ", tags = [], x = 1472, y = 1196 } + , { name = "barber", unicode = "๐Ÿ’ˆ", tags = [], x = 368, y = 414 } + , { name = "alembic", unicode = "โš—๏ธ", tags = [], x = 184, y = 138 } + , { name = "telescope", unicode = "๐Ÿ”ญ", tags = [], x = 1656, y = 1058 } + , { name = "microscope", unicode = "๐Ÿ”ฌ", tags = [ "science", "laboratory", "investigate" ], x = 1104, y = 1288 } + , { name = "hole", unicode = "๐Ÿ•ณ", tags = [], x = 1150, y = 644 } + , { name = "pill", unicode = "๐Ÿ’Š", tags = [ "health", "medicine" ], x = 1058, y = 1426 } + , { name = "syringe", unicode = "๐Ÿ’‰", tags = [ "health", "hospital", "needle" ], x = 1656, y = 460 } + , { name = "thermometer", unicode = "๐ŸŒก", tags = [], x = 1656, y = 1242 } + , { name = "toilet", unicode = "๐Ÿšฝ", tags = [ "wc" ], x = 368, y = 1656 } + , { name = "potable_water", unicode = "๐Ÿšฐ", tags = [], x = 1472, y = 736 } + , { name = "shower", unicode = "๐Ÿšฟ", tags = [ "bath" ], x = 1564, y = 1104 } + , { name = "bathtub", unicode = "๐Ÿ›", tags = [], x = 460, y = 322 } + , { name = "bath", unicode = "๐Ÿ›€", tags = [ "shower" ], x = 460, y = 276 } + , { name = "bellhop_bell", unicode = "๐Ÿ›Ž", tags = [], x = 506, y = 0 } + , { name = "key", unicode = "๐Ÿ”‘", tags = [ "lock", "password" ], x = 1196, y = 1104 } + , { name = "old_key", unicode = "๐Ÿ—", tags = [], x = 736, y = 1380 } + , { name = "door", unicode = "๐Ÿšช", tags = [], x = 920, y = 46 } + , { name = "couch_and_lamp", unicode = "๐Ÿ›‹", tags = [], x = 828, y = 92 } + , { name = "bed", unicode = "๐Ÿ›", tags = [], x = 46, y = 460 } + , { name = "sleeping_bed", unicode = "๐Ÿ›Œ", tags = [], x = 138, y = 1564 } + , { name = "framed_picture", unicode = "๐Ÿ–ผ", tags = [], x = 1058, y = 276 } + , { name = "shopping", unicode = "๐Ÿ›", tags = [ "bags" ], x = 1564, y = 1012 } + , { name = "shopping_cart", unicode = "๐Ÿ›’", tags = [], x = 1564, y = 1058 } + , { name = "gift", unicode = "๐ŸŽ", tags = [ "present", "birthday", "christmas" ], x = 552, y = 1058 } + , { name = "balloon", unicode = "๐ŸŽˆ", tags = [ "party", "birthday" ], x = 414, y = 322 } + , { name = "flags", unicode = "๐ŸŽ", tags = [], x = 414, y = 1012 } + , { name = "ribbon", unicode = "๐ŸŽ€", tags = [], x = 1518, y = 782 } + , { name = "confetti_ball", unicode = "๐ŸŽŠ", tags = [], x = 0, y = 782 } + , { name = "tada", unicode = "๐ŸŽ‰", tags = [ "hooray", "party" ], x = 1656, y = 552 } + , { name = "dolls", unicode = "๐ŸŽŽ", tags = [], x = 782, y = 874 } + , { name = "izakaya_lantern", unicode = "๐Ÿฎ", tags = [], x = 1196, y = 322 } + , { name = "wind_chime", unicode = "๐ŸŽ", tags = [], x = 1748, y = 736 } + , { name = "email", unicode = "โœ‰๏ธ", tags = [ "letter" ], x = 506, y = 920 } + , { name = "envelope_with_arrow", unicode = "๐Ÿ“ฉ", tags = [], x = 644, y = 920 } + , { name = "incoming_envelope", unicode = "๐Ÿ“จ", tags = [], x = 874, y = 1150 } + , { name = "e-mail", unicode = "๐Ÿ“ง", tags = [], x = 920, y = 598 } + , { name = "love_letter", unicode = "๐Ÿ’Œ", tags = [ "email", "envelope" ], x = 184, y = 1242 } + , { name = "inbox_tray", unicode = "๐Ÿ“ฅ", tags = [], x = 828, y = 1150 } + , { name = "outbox_tray", unicode = "๐Ÿ“ค", tags = [], x = 1426, y = 230 } + , { name = "package", unicode = "๐Ÿ“ฆ", tags = [ "shipping" ], x = 1426, y = 368 } + , { name = "label", unicode = "๐Ÿท", tags = [ "tag" ], x = 828, y = 1196 } + , { name = "mailbox_closed", unicode = "๐Ÿ“ช", tags = [], x = 736, y = 1242 } + , { name = "mailbox", unicode = "๐Ÿ“ซ", tags = [], x = 690, y = 1242 } + , { name = "mailbox_with_mail", unicode = "๐Ÿ“ฌ", tags = [], x = 782, y = 1242 } + , { name = "mailbox_with_no_mail", unicode = "๐Ÿ“ญ", tags = [], x = 828, y = 1242 } + , { name = "postbox", unicode = "๐Ÿ“ฎ", tags = [], x = 1472, y = 690 } + , { name = "postal_horn", unicode = "๐Ÿ“ฏ", tags = [], x = 1472, y = 644 } + , { name = "scroll", unicode = "๐Ÿ“œ", tags = [ "document" ], x = 1518, y = 1518 } + , { name = "page_with_curl", unicode = "๐Ÿ“ƒ", tags = [], x = 1426, y = 460 } + , { name = "page_facing_up", unicode = "๐Ÿ“„", tags = [ "document" ], x = 1426, y = 414 } + , { name = "bookmark_tabs", unicode = "๐Ÿ“‘", tags = [], x = 92, y = 552 } + , { name = "bar_chart", unicode = "๐Ÿ“Š", tags = [ "stats", "metrics" ], x = 276, y = 414 } + , { name = "chart_with_upwards_trend", unicode = "๐Ÿ“ˆ", tags = [ "graph", "metrics" ], x = 690, y = 414 } + , { name = "chart_with_downwards_trend", unicode = "๐Ÿ“‰", tags = [ "graph", "metrics" ], x = 690, y = 368 } + , { name = "spiral_notepad", unicode = "๐Ÿ—’", tags = [], x = 1610, y = 920 } + , { name = "spiral_calendar", unicode = "๐Ÿ—“", tags = [], x = 1610, y = 874 } + , { name = "calendar", unicode = "๐Ÿ“†", tags = [ "schedule" ], x = 644, y = 138 } + , { name = "date", unicode = "๐Ÿ“…", tags = [ "calendar", "schedule" ], x = 874, y = 644 } + , { name = "card_index", unicode = "๐Ÿ“‡", tags = [], x = 414, y = 644 } + , { name = "card_file_box", unicode = "๐Ÿ—ƒ", tags = [], x = 368, y = 644 } + , { name = "ballot_box", unicode = "๐Ÿ—ณ", tags = [], x = 414, y = 368 } + , { name = "file_cabinet", unicode = "๐Ÿ—„", tags = [], x = 1012, y = 506 } + , { name = "clipboard", unicode = "๐Ÿ“‹", tags = [], x = 736, y = 138 } + , { name = "file_folder", unicode = "๐Ÿ“", tags = [ "directory" ], x = 1012, y = 552 } + , { name = "open_file_folder", unicode = "๐Ÿ“‚", tags = [], x = 1288, y = 1380 } + , { name = "card_index_dividers", unicode = "๐Ÿ—‚", tags = [], x = 460, y = 644 } + , { name = "newspaper_roll", unicode = "๐Ÿ—ž", tags = [ "press" ], x = 1380, y = 92 } + , { name = "newspaper", unicode = "๐Ÿ“ฐ", tags = [ "press" ], x = 1380, y = 46 } + , { name = "notebook", unicode = "๐Ÿ““", tags = [], x = 0, y = 1380 } + , { name = "notebook_with_decorative_cover", unicode = "๐Ÿ“”", tags = [], x = 46, y = 1380 } + , { name = "ledger", unicode = "๐Ÿ“’", tags = [], x = 1242, y = 184 } + , { name = "closed_book", unicode = "๐Ÿ“•", tags = [], x = 552, y = 736 } + , { name = "green_book", unicode = "๐Ÿ“—", tags = [], x = 1104, y = 138 } + , { name = "blue_book", unicode = "๐Ÿ“˜", tags = [], x = 552, y = 184 } + , { name = "orange_book", unicode = "๐Ÿ“™", tags = [], x = 1426, y = 138 } + , { name = "books", unicode = "๐Ÿ“š", tags = [ "library" ], x = 138, y = 552 } + , { name = "book", unicode = "๐Ÿ“–", tags = [], x = 0, y = 552 } + , { name = "bookmark", unicode = "๐Ÿ”–", tags = [], x = 46, y = 552 } + , { name = "link", unicode = "๐Ÿ”—", tags = [], x = 1242, y = 828 } + , { name = "paperclip", unicode = "๐Ÿ“Ž", tags = [], x = 1426, y = 920 } + , { name = "paperclips", unicode = "๐Ÿ–‡", tags = [], x = 1426, y = 966 } + , { name = "triangular_ruler", unicode = "๐Ÿ“", tags = [], x = 1150, y = 1656 } + , { name = "straight_ruler", unicode = "๐Ÿ“", tags = [], x = 414, y = 1610 } + , { name = "pushpin", unicode = "๐Ÿ“Œ", tags = [ "location" ], x = 184, y = 1472 } + , { name = "round_pushpin", unicode = "๐Ÿ“", tags = [ "location" ], x = 46, y = 1518 } + , { name = "scissors", unicode = "โœ‚๏ธ", tags = [ "cut" ], x = 1288, y = 1518 } + , { name = "pen", unicode = "๐Ÿ–Š", tags = [], x = 230, y = 1426 } + , { name = "fountain_pen", unicode = "๐Ÿ–‹", tags = [], x = 1058, y = 46 } + , { name = "black_nib", unicode = "โœ’๏ธ", tags = [], x = 414, y = 506 } + , { name = "paintbrush", unicode = "๐Ÿ–Œ", tags = [], x = 1426, y = 552 } + , { name = "crayon", unicode = "๐Ÿ–", tags = [], x = 828, y = 736 } + , { name = "memo", unicode = "๐Ÿ“", tags = [ "document", "note" ], x = 690, y = 1288 } + , { name = "pencil2", unicode = "โœ๏ธ", tags = [], x = 322, y = 1426 } + , { name = "mag", unicode = "๐Ÿ”", tags = [ "search", "zoom" ], x = 552, y = 1242 } + , { name = "mag_right", unicode = "๐Ÿ”Ž", tags = [], x = 598, y = 1242 } + , { name = "lock_with_ink_pen", unicode = "๐Ÿ”", tags = [], x = 1242, y = 1150 } + , { name = "closed_lock_with_key", unicode = "๐Ÿ”", tags = [ "security" ], x = 598, y = 736 } + , { name = "lock", unicode = "๐Ÿ”’", tags = [ "security", "private" ], x = 1242, y = 1104 } + , { name = "unlock", unicode = "๐Ÿ”“", tags = [ "security" ], x = 1702, y = 1518 } + ] + , places = + [ { name = "car", unicode = "๐Ÿš—", tags = [], x = 322, y = 644 } + , { name = "taxi", unicode = "๐Ÿš•", tags = [], x = 1656, y = 874 } + , { name = "blue_car", unicode = "๐Ÿš™", tags = [], x = 552, y = 230 } + , { name = "bus", unicode = "๐ŸšŒ", tags = [], x = 414, y = 598 } + , { name = "trolleybus", unicode = "๐ŸšŽ", tags = [], x = 1334, y = 1656 } + , { name = "racing_car", unicode = "๐ŸŽ", tags = [], x = 506, y = 1472 } + , { name = "police_car", unicode = "๐Ÿš“", tags = [], x = 1472, y = 276 } + , { name = "ambulance", unicode = "๐Ÿš‘", tags = [], x = 92, y = 184 } + , { name = "fire_engine", unicode = "๐Ÿš’", tags = [], x = 1012, y = 828 } + , { name = "minibus", unicode = "๐Ÿš", tags = [], x = 1288, y = 1288 } + , { name = "truck", unicode = "๐Ÿšš", tags = [], x = 1564, y = 1656 } + , { name = "articulated_lorry", unicode = "๐Ÿš›", tags = [], x = 276, y = 322 } + , { name = "tractor", unicode = "๐Ÿšœ", tags = [], x = 874, y = 1656 } + , { name = "kick_scooter", unicode = "๐Ÿ›ด", tags = [], x = 46, y = 1196 } + , { name = "bike", unicode = "๐Ÿšฒ", tags = [ "bicycle" ], x = 506, y = 276 } + , { name = "motor_scooter", unicode = "๐Ÿ›ต", tags = [], x = 1334, y = 828 } + , { name = "motorcycle", unicode = "๐Ÿ", tags = [], x = 1334, y = 874 } + , { name = "rotating_light", unicode = "๐Ÿšจ", tags = [ "911", "emergency" ], x = 0, y = 1518 } + , { name = "oncoming_police_car", unicode = "๐Ÿš”", tags = [], x = 1104, y = 1380 } + , { name = "oncoming_bus", unicode = "๐Ÿš", tags = [], x = 1058, y = 1380 } + , { name = "oncoming_automobile", unicode = "๐Ÿš˜", tags = [], x = 1012, y = 1380 } + , { name = "oncoming_taxi", unicode = "๐Ÿš–", tags = [], x = 1150, y = 1380 } + , { name = "aerial_tramway", unicode = "๐Ÿšก", tags = [], x = 46, y = 138 } + , { name = "mountain_cableway", unicode = "๐Ÿš ", tags = [], x = 1334, y = 1196 } + , { name = "suspension_railway", unicode = "๐ŸšŸ", tags = [], x = 1472, y = 1610 } + , { name = "railway_car", unicode = "๐Ÿšƒ", tags = [], x = 920, y = 1472 } + , { name = "train", unicode = "๐Ÿš‹", tags = [], x = 966, y = 1656 } + , { name = "mountain_railway", unicode = "๐Ÿšž", tags = [], x = 1334, y = 1242 } + , { name = "monorail", unicode = "๐Ÿš", tags = [], x = 1334, y = 460 } + , { name = "bullettrain_side", unicode = "๐Ÿš„", tags = [ "train" ], x = 230, y = 598 } + , { name = "bullettrain_front", unicode = "๐Ÿš…", tags = [ "train" ], x = 184, y = 598 } + , { name = "light_rail", unicode = "๐Ÿšˆ", tags = [], x = 1242, y = 782 } + , { name = "steam_locomotive", unicode = "๐Ÿš‚", tags = [ "train" ], x = 184, y = 1610 } + , { name = "train2", unicode = "๐Ÿš†", tags = [], x = 1012, y = 1656 } + , { name = "metro", unicode = "๐Ÿš‡", tags = [], x = 920, y = 1288 } + , { name = "tram", unicode = "๐ŸšŠ", tags = [], x = 1058, y = 1656 } + , { name = "station", unicode = "๐Ÿš‰", tags = [], x = 92, y = 1610 } + , { name = "helicopter", unicode = "๐Ÿš", tags = [], x = 1150, y = 368 } + , { name = "small_airplane", unicode = "๐Ÿ›ฉ", tags = [ "flight" ], x = 460, y = 1564 } + , { name = "airplane", unicode = "โœˆ๏ธ", tags = [ "flight" ], x = 138, y = 138 } + , { name = "flight_departure", unicode = "๐Ÿ›ซ", tags = [], x = 598, y = 1012 } + , { name = "flight_arrival", unicode = "๐Ÿ›ฌ", tags = [], x = 552, y = 1012 } + , { name = "rocket", unicode = "๐Ÿš€", tags = [ "ship", "launch" ], x = 1518, y = 1150 } + , { name = "artificial_satellite", unicode = "๐Ÿ›ฐ", tags = [ "orbit", "space" ], x = 322, y = 322 } + , { name = "seat", unicode = "๐Ÿ’บ", tags = [], x = 1564, y = 0 } + , { name = "canoe", unicode = "๐Ÿ›ถ", tags = [], x = 138, y = 644 } + , { name = "boat", unicode = "โ›ต๏ธ", tags = [], x = 552, y = 414 } + , { name = "motor_boat", unicode = "๐Ÿ›ฅ", tags = [], x = 1334, y = 782 } + , { name = "speedboat", unicode = "๐Ÿšค", tags = [ "ship" ], x = 1610, y = 736 } + , { name = "passenger_ship", unicode = "๐Ÿ›ณ", tags = [ "cruise" ], x = 1426, y = 1288 } + , { name = "ferry", unicode = "โ›ด", tags = [], x = 1012, y = 368 } + , { name = "ship", unicode = "๐Ÿšข", tags = [], x = 1564, y = 782 } + , { name = "anchor", unicode = "โš“๏ธ", tags = [ "ship" ], x = 230, y = 0 } + , { name = "construction", unicode = "๐Ÿšง", tags = [ "wip" ], x = 276, y = 782 } + , { name = "fuelpump", unicode = "โ›ฝ๏ธ", tags = [], x = 1058, y = 920 } + , { name = "busstop", unicode = "๐Ÿš", tags = [], x = 506, y = 598 } + , { name = "vertical_traffic_light", unicode = "๐Ÿšฆ", tags = [ "semaphore" ], x = 322, y = 1702 } + , { name = "traffic_light", unicode = "๐Ÿšฅ", tags = [], x = 920, y = 1656 } + , { name = "world_map", unicode = "๐Ÿ—บ", tags = [ "travel" ], x = 506, y = 1748 } + , { name = "moyai", unicode = "๐Ÿ—ฟ", tags = [ "stone" ], x = 138, y = 1334 } + , { name = "statue_of_liberty", unicode = "๐Ÿ—ฝ", tags = [], x = 138, y = 1610 } + , { name = "fountain", unicode = "โ›ฒ๏ธ", tags = [], x = 1058, y = 0 } + , { name = "tokyo_tower", unicode = "๐Ÿ—ผ", tags = [], x = 460, y = 1656 } + , { name = "european_castle", unicode = "๐Ÿฐ", tags = [], x = 966, y = 46 } + , { name = "japanese_castle", unicode = "๐Ÿฏ", tags = [], x = 1196, y = 506 } + , { name = "stadium", unicode = "๐ŸŸ", tags = [], x = 1610, y = 1426 } + , { name = "ferris_wheel", unicode = "๐ŸŽก", tags = [], x = 1012, y = 322 } + , { name = "roller_coaster", unicode = "๐ŸŽข", tags = [], x = 1518, y = 1288 } + , { name = "carousel_horse", unicode = "๐ŸŽ ", tags = [], x = 552, y = 644 } + , { name = "parasol_on_ground", unicode = "โ›ฑ", tags = [ "beach_umbrella" ], x = 1426, y = 1104 } + , { name = "beach_umbrella", unicode = "๐Ÿ–", tags = [], x = 460, y = 414 } + , { name = "desert_island", unicode = "๐Ÿ", tags = [], x = 138, y = 874 } + , { name = "mountain", unicode = "โ›ฐ", tags = [], x = 1334, y = 1012 } + , { name = "mountain_snow", unicode = "๐Ÿ”", tags = [], x = 1334, y = 1288 } + , { name = "mount_fuji", unicode = "๐Ÿ—ป", tags = [], x = 1334, y = 966 } + , { name = "volcano", unicode = "๐ŸŒ‹", tags = [], x = 690, y = 1702 } + , { name = "desert", unicode = "๐Ÿœ", tags = [], x = 92, y = 874 } + , { name = "camping", unicode = "๐Ÿ•", tags = [], x = 644, y = 506 } + , { name = "tent", unicode = "โ›บ๏ธ", tags = [ "camping" ], x = 1656, y = 1150 } + , { name = "railway_track", unicode = "๐Ÿ›ค", tags = [], x = 966, y = 1472 } + , { name = "motorway", unicode = "๐Ÿ›ฃ", tags = [], x = 1334, y = 920 } + , { name = "building_construction", unicode = "๐Ÿ—", tags = [], x = 46, y = 598 } + , { name = "factory", unicode = "๐Ÿญ", tags = [], x = 966, y = 644 } + , { name = "house", unicode = "๐Ÿ ", tags = [], x = 138, y = 1150 } + , { name = "house_with_garden", unicode = "๐Ÿก", tags = [], x = 184, y = 1150 } + , { name = "houses", unicode = "๐Ÿ˜", tags = [], x = 230, y = 1150 } + , { name = "derelict_house", unicode = "๐Ÿš", tags = [], x = 46, y = 874 } + , { name = "office", unicode = "๐Ÿข", tags = [], x = 460, y = 1380 } + , { name = "department_store", unicode = "๐Ÿฌ", tags = [], x = 0, y = 874 } + , { name = "post_office", unicode = "๐Ÿฃ", tags = [], x = 1472, y = 598 } + , { name = "european_post_office", unicode = "๐Ÿค", tags = [], x = 966, y = 92 } + , { name = "hospital", unicode = "๐Ÿฅ", tags = [], x = 1150, y = 966 } + , { name = "bank", unicode = "๐Ÿฆ", tags = [], x = 230, y = 414 } + , { name = "hotel", unicode = "๐Ÿจ", tags = [], x = 1150, y = 1104 } + , { name = "convenience_store", unicode = "๐Ÿช", tags = [], x = 506, y = 782 } + , { name = "school", unicode = "๐Ÿซ", tags = [], x = 1196, y = 1518 } + , { name = "love_hotel", unicode = "๐Ÿฉ", tags = [], x = 138, y = 1242 } + , { name = "wedding", unicode = "๐Ÿ’’", tags = [ "marriage" ], x = 1656, y = 1702 } + , { name = "classical_building", unicode = "๐Ÿ›", tags = [], x = 736, y = 46 } + , { name = "church", unicode = "โ›ช๏ธ", tags = [], x = 322, y = 690 } + , { name = "mosque", unicode = "๐Ÿ•Œ", tags = [], x = 1334, y = 736 } + , { name = "synagogue", unicode = "๐Ÿ•", tags = [], x = 1656, y = 368 } + , { name = "kaaba", unicode = "๐Ÿ•‹", tags = [], x = 1196, y = 966 } + , { name = "shinto_shrine", unicode = "โ›ฉ", tags = [], x = 1564, y = 736 } + , { name = "japan", unicode = "๐Ÿ—พ", tags = [], x = 1196, y = 460 } + , { name = "rice_scene", unicode = "๐ŸŽ‘", tags = [], x = 1518, y = 966 } + , { name = "national_park", unicode = "๐Ÿž", tags = [], x = 736, y = 1334 } + , { name = "sunrise", unicode = "๐ŸŒ…", tags = [], x = 1104, y = 1610 } + , { name = "sunrise_over_mountains", unicode = "๐ŸŒ„", tags = [], x = 1150, y = 1610 } + , { name = "stars", unicode = "๐ŸŒ ", tags = [], x = 46, y = 1610 } + , { name = "sparkler", unicode = "๐ŸŽ‡", tags = [], x = 1610, y = 414 } + , { name = "fireworks", unicode = "๐ŸŽ†", tags = [ "festival", "celebration" ], x = 1012, y = 874 } + , { name = "city_sunrise", unicode = "๐ŸŒ‡", tags = [], x = 460, y = 690 } + , { name = "city_sunset", unicode = "๐ŸŒ†", tags = [], x = 506, y = 690 } + , { name = "cityscape", unicode = "๐Ÿ™", tags = [ "skyline" ], x = 552, y = 690 } + , { name = "night_with_stars", unicode = "๐ŸŒƒ", tags = [], x = 1380, y = 460 } + , { name = "milky_way", unicode = "๐ŸŒŒ", tags = [], x = 1242, y = 1288 } + , { name = "bridge_at_night", unicode = "๐ŸŒ‰", tags = [], x = 598, y = 322 } + , { name = "foggy", unicode = "๐ŸŒ", tags = [ "karl" ], x = 874, y = 1012 } + , { name = "white_flag", unicode = "๐Ÿณ๏ธ", tags = [], x = 1748, y = 368 } + , { name = "black_flag", unicode = "๐Ÿด", tags = [], x = 138, y = 506 } + , { name = "checkered_flag", unicode = "๐Ÿ", tags = [ "milestone", "finish" ], x = 690, y = 460 } + , { name = "triangular_flag_on_post", unicode = "๐Ÿšฉ", tags = [], x = 1104, y = 1656 } + , { name = "rainbow_flag", unicode = "๐Ÿณ๏ธ\u{200D}๐ŸŒˆ๏ธ", tags = [ "pride" ], x = 1058, y = 1472 } + , { name = "afghanistan", unicode = "๐Ÿ‡ฆ๐Ÿ‡ซ", tags = [], x = 92, y = 138 } + , { name = "aland_islands", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฝ", tags = [], x = 184, y = 0 } + , { name = "albania", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฑ", tags = [], x = 184, y = 92 } + , { name = "algeria", unicode = "๐Ÿ‡ฉ๐Ÿ‡ฟ", tags = [], x = 0, y = 184 } + , { name = "american_samoa", unicode = "๐Ÿ‡ฆ๐Ÿ‡ธ", tags = [], x = 138, y = 184 } + , { name = "andorra", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฉ", tags = [], x = 230, y = 46 } + , { name = "angola", unicode = "๐Ÿ‡ฆ๐Ÿ‡ด", tags = [], x = 230, y = 184 } + , { name = "anguilla", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฎ", tags = [], x = 46, y = 230 } + , { name = "antarctica", unicode = "๐Ÿ‡ฆ๐Ÿ‡ถ", tags = [], x = 184, y = 230 } + , { name = "antigua_barbuda", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฌ", tags = [], x = 230, y = 230 } + , { name = "argentina", unicode = "๐Ÿ‡ฆ๐Ÿ‡ท", tags = [], x = 276, y = 92 } + , { name = "armenia", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฒ", tags = [], x = 276, y = 184 } + , { name = "aruba", unicode = "๐Ÿ‡ฆ๐Ÿ‡ผ", tags = [], x = 368, y = 0 } + , { name = "australia", unicode = "๐Ÿ‡ฆ๐Ÿ‡บ", tags = [], x = 368, y = 322 } + , { name = "austria", unicode = "๐Ÿ‡ฆ๐Ÿ‡น", tags = [], x = 0, y = 368 } + , { name = "azerbaijan", unicode = "๐Ÿ‡ฆ๐Ÿ‡ฟ", tags = [], x = 92, y = 368 } + , { name = "bahamas", unicode = "๐Ÿ‡ง๐Ÿ‡ธ", tags = [], x = 414, y = 184 } + , { name = "bahrain", unicode = "๐Ÿ‡ง๐Ÿ‡ญ", tags = [], x = 414, y = 230 } + , { name = "bangladesh", unicode = "๐Ÿ‡ง๐Ÿ‡ฉ", tags = [], x = 184, y = 414 } + , { name = "barbados", unicode = "๐Ÿ‡ง๐Ÿ‡ง", tags = [], x = 322, y = 414 } + , { name = "belarus", unicode = "๐Ÿ‡ง๐Ÿ‡พ", tags = [], x = 322, y = 460 } + , { name = "belgium", unicode = "๐Ÿ‡ง๐Ÿ‡ช", tags = [], x = 368, y = 460 } + , { name = "belize", unicode = "๐Ÿ‡ง๐Ÿ‡ฟ", tags = [], x = 414, y = 460 } + , { name = "benin", unicode = "๐Ÿ‡ง๐Ÿ‡ฏ", tags = [], x = 506, y = 46 } + , { name = "bermuda", unicode = "๐Ÿ‡ง๐Ÿ‡ฒ", tags = [], x = 506, y = 138 } + , { name = "bhutan", unicode = "๐Ÿ‡ง๐Ÿ‡น", tags = [], x = 506, y = 184 } + , { name = "bolivia", unicode = "๐Ÿ‡ง๐Ÿ‡ด", tags = [], x = 552, y = 460 } + , { name = "caribbean_netherlands", unicode = "๐Ÿ‡ง๐Ÿ‡ถ", tags = [], x = 506, y = 644 } + , { name = "bosnia_herzegovina", unicode = "๐Ÿ‡ง๐Ÿ‡ฆ", tags = [], x = 276, y = 552 } + , { name = "botswana", unicode = "๐Ÿ‡ง๐Ÿ‡ผ", tags = [], x = 322, y = 552 } + , { name = "brazil", unicode = "๐Ÿ‡ง๐Ÿ‡ท", tags = [], x = 598, y = 184 } + , { name = "british_indian_ocean_territory", unicode = "๐Ÿ‡ฎ๐Ÿ‡ด", tags = [], x = 598, y = 414 } + , { name = "british_virgin_islands", unicode = "๐Ÿ‡ป๐Ÿ‡ฌ", tags = [], x = 598, y = 460 } + , { name = "brunei", unicode = "๐Ÿ‡ง๐Ÿ‡ณ", tags = [], x = 598, y = 552 } + , { name = "bulgaria", unicode = "๐Ÿ‡ง๐Ÿ‡ฌ", tags = [], x = 138, y = 598 } + , { name = "burkina_faso", unicode = "๐Ÿ‡ง๐Ÿ‡ซ", tags = [], x = 276, y = 598 } + , { name = "burundi", unicode = "๐Ÿ‡ง๐Ÿ‡ฎ", tags = [], x = 368, y = 598 } + , { name = "cape_verde", unicode = "๐Ÿ‡จ๐Ÿ‡ป", tags = [], x = 184, y = 644 } + , { name = "cambodia", unicode = "๐Ÿ‡ฐ๐Ÿ‡ญ", tags = [], x = 644, y = 276 } + , { name = "cameroon", unicode = "๐Ÿ‡จ๐Ÿ‡ฒ", tags = [], x = 644, y = 460 } + , { name = "canada", unicode = "๐Ÿ‡จ๐Ÿ‡ฆ", tags = [], x = 644, y = 552 } + , { name = "canary_islands", unicode = "๐Ÿ‡ฎ๐Ÿ‡จ", tags = [], x = 644, y = 598 } + , { name = "cayman_islands", unicode = "๐Ÿ‡ฐ๐Ÿ‡พ", tags = [], x = 690, y = 46 } + , { name = "central_african_republic", unicode = "๐Ÿ‡จ๐Ÿ‡ซ", tags = [], x = 690, y = 138 } + , { name = "chad", unicode = "๐Ÿ‡น๐Ÿ‡ฉ", tags = [], x = 690, y = 184 } + , { name = "chile", unicode = "๐Ÿ‡จ๐Ÿ‡ฑ", tags = [], x = 92, y = 690 } + , { name = "cn", unicode = "๐Ÿ‡จ๐Ÿ‡ณ", tags = [ "china" ], x = 782, y = 230 } + , { name = "christmas_island", unicode = "๐Ÿ‡จ๐Ÿ‡ฝ", tags = [], x = 230, y = 690 } + , { name = "cocos_islands", unicode = "๐Ÿ‡จ๐Ÿ‡จ", tags = [ "keeling" ], x = 782, y = 322 } + , { name = "colombia", unicode = "๐Ÿ‡จ๐Ÿ‡ด", tags = [], x = 782, y = 552 } + , { name = "comoros", unicode = "๐Ÿ‡ฐ๐Ÿ‡ฒ", tags = [], x = 782, y = 644 } + , { name = "congo_brazzaville", unicode = "๐Ÿ‡จ๐Ÿ‡ฌ", tags = [], x = 138, y = 782 } + , { name = "congo_kinshasa", unicode = "๐Ÿ‡จ๐Ÿ‡ฉ", tags = [], x = 184, y = 782 } + , { name = "cook_islands", unicode = "๐Ÿ‡จ๐Ÿ‡ฐ", tags = [], x = 552, y = 782 } + , { name = "costa_rica", unicode = "๐Ÿ‡จ๐Ÿ‡ท", tags = [], x = 828, y = 0 } + , { name = "cote_divoire", unicode = "๐Ÿ‡จ๐Ÿ‡ฎ", tags = [ "ivory" ], x = 828, y = 46 } + , { name = "croatia", unicode = "๐Ÿ‡ญ๐Ÿ‡ท", tags = [], x = 92, y = 828 } + , { name = "cuba", unicode = "๐Ÿ‡จ๐Ÿ‡บ", tags = [], x = 552, y = 828 } + , { name = "curacao", unicode = "๐Ÿ‡จ๐Ÿ‡ผ", tags = [], x = 690, y = 828 } + , { name = "cyprus", unicode = "๐Ÿ‡จ๐Ÿ‡พ", tags = [], x = 874, y = 138 } + , { name = "czech_republic", unicode = "๐Ÿ‡จ๐Ÿ‡ฟ", tags = [], x = 874, y = 184 } + , { name = "denmark", unicode = "๐Ÿ‡ฉ๐Ÿ‡ฐ", tags = [], x = 874, y = 828 } + , { name = "djibouti", unicode = "๐Ÿ‡ฉ๐Ÿ‡ฏ", tags = [], x = 552, y = 874 } + , { name = "dominica", unicode = "๐Ÿ‡ฉ๐Ÿ‡ฒ", tags = [], x = 874, y = 874 } + , { name = "dominican_republic", unicode = "๐Ÿ‡ฉ๐Ÿ‡ด", tags = [], x = 920, y = 0 } + , { name = "ecuador", unicode = "๐Ÿ‡ช๐Ÿ‡จ", tags = [], x = 0, y = 920 } + , { name = "egypt", unicode = "๐Ÿ‡ช๐Ÿ‡ฌ", tags = [], x = 138, y = 920 } + , { name = "el_salvador", unicode = "๐Ÿ‡ธ๐Ÿ‡ป", tags = [], x = 322, y = 920 } + , { name = "equatorial_guinea", unicode = "๐Ÿ‡ฌ๐Ÿ‡ถ", tags = [], x = 690, y = 920 } + , { name = "eritrea", unicode = "๐Ÿ‡ช๐Ÿ‡ท", tags = [], x = 736, y = 920 } + , { name = "estonia", unicode = "๐Ÿ‡ช๐Ÿ‡ช", tags = [], x = 828, y = 920 } + , { name = "ethiopia", unicode = "๐Ÿ‡ช๐Ÿ‡น", tags = [], x = 874, y = 920 } + , { name = "eu", unicode = "๐Ÿ‡ช๐Ÿ‡บ", tags = [], x = 920, y = 920 } + , { name = "falkland_islands", unicode = "๐Ÿ‡ซ๐Ÿ‡ฐ", tags = [], x = 966, y = 690 } + , { name = "faroe_islands", unicode = "๐Ÿ‡ซ๐Ÿ‡ด", tags = [], x = 1012, y = 0 } + , { name = "fiji", unicode = "๐Ÿ‡ซ๐Ÿ‡ฏ", tags = [], x = 1012, y = 460 } + , { name = "finland", unicode = "๐Ÿ‡ซ๐Ÿ‡ฎ", tags = [], x = 1012, y = 690 } + , { name = "fr", unicode = "๐Ÿ‡ซ๐Ÿ‡ท", tags = [ "france", "french" ], x = 1058, y = 230 } + , { name = "french_guiana", unicode = "๐Ÿ‡ฌ๐Ÿ‡ซ", tags = [], x = 1058, y = 368 } + , { name = "french_polynesia", unicode = "๐Ÿ‡ต๐Ÿ‡ซ", tags = [], x = 1058, y = 414 } + , { name = "french_southern_territories", unicode = "๐Ÿ‡น๐Ÿ‡ซ", tags = [], x = 1058, y = 460 } + , { name = "gabon", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฆ", tags = [], x = 46, y = 1058 } + , { name = "gambia", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฒ", tags = [], x = 92, y = 1058 } + , { name = "georgia", unicode = "๐Ÿ‡ฌ๐Ÿ‡ช", tags = [], x = 368, y = 1058 } + , { name = "de", unicode = "๐Ÿ‡ฉ๐Ÿ‡ช", tags = [ "flag", "germany" ], x = 874, y = 690 } + , { name = "ghana", unicode = "๐Ÿ‡ฌ๐Ÿ‡ญ", tags = [], x = 414, y = 1058 } + , { name = "gibraltar", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฎ", tags = [], x = 506, y = 1058 } + , { name = "greece", unicode = "๐Ÿ‡ฌ๐Ÿ‡ท", tags = [], x = 1104, y = 46 } + , { name = "greenland", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฑ", tags = [], x = 1104, y = 276 } + , { name = "grenada", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฉ", tags = [], x = 1104, y = 322 } + , { name = "guadeloupe", unicode = "๐Ÿ‡ฌ๐Ÿ‡ต", tags = [], x = 1104, y = 598 } + , { name = "guam", unicode = "๐Ÿ‡ฌ๐Ÿ‡บ", tags = [], x = 1104, y = 644 } + , { name = "guatemala", unicode = "๐Ÿ‡ฌ๐Ÿ‡น", tags = [], x = 1104, y = 782 } + , { name = "guernsey", unicode = "๐Ÿ‡ฌ๐Ÿ‡ฌ", tags = [], x = 1104, y = 828 } + , { name = "guinea", unicode = "๐Ÿ‡ฌ๐Ÿ‡ณ", tags = [], x = 1104, y = 874 } + , { name = "guinea_bissau", unicode = "๐Ÿ‡ฌ๐Ÿ‡ผ", tags = [], x = 1104, y = 920 } + , { name = "guyana", unicode = "๐Ÿ‡ฌ๐Ÿ‡พ", tags = [], x = 1104, y = 1058 } + , { name = "haiti", unicode = "๐Ÿ‡ญ๐Ÿ‡น", tags = [], x = 138, y = 1104 } + , { name = "honduras", unicode = "๐Ÿ‡ญ๐Ÿ‡ณ", tags = [], x = 1150, y = 690 } + , { name = "hong_kong", unicode = "๐Ÿ‡ญ๐Ÿ‡ฐ", tags = [], x = 1150, y = 828 } + , { name = "hungary", unicode = "๐Ÿ‡ญ๐Ÿ‡บ", tags = [], x = 322, y = 1150 } + , { name = "iceland", unicode = "๐Ÿ‡ฎ๐Ÿ‡ธ", tags = [], x = 644, y = 1150 } + , { name = "india", unicode = "๐Ÿ‡ฎ๐Ÿ‡ณ", tags = [], x = 920, y = 1150 } + , { name = "indonesia", unicode = "๐Ÿ‡ฎ๐Ÿ‡ฉ", tags = [], x = 966, y = 1150 } + , { name = "iran", unicode = "๐Ÿ‡ฎ๐Ÿ‡ท", tags = [], x = 1196, y = 46 } + , { name = "iraq", unicode = "๐Ÿ‡ฎ๐Ÿ‡ถ", tags = [], x = 1196, y = 92 } + , { name = "ireland", unicode = "๐Ÿ‡ฎ๐Ÿ‡ช", tags = [], x = 1196, y = 138 } + , { name = "isle_of_man", unicode = "๐Ÿ‡ฎ๐Ÿ‡ฒ", tags = [], x = 1196, y = 184 } + , { name = "israel", unicode = "๐Ÿ‡ฎ๐Ÿ‡ฑ", tags = [], x = 1196, y = 230 } + , { name = "it", unicode = "๐Ÿ‡ฎ๐Ÿ‡น", tags = [ "italy" ], x = 1196, y = 276 } + , { name = "jamaica", unicode = "๐Ÿ‡ฏ๐Ÿ‡ฒ", tags = [], x = 1196, y = 414 } + , { name = "jp", unicode = "๐Ÿ‡ฏ๐Ÿ‡ต", tags = [ "japan" ], x = 1196, y = 920 } + , { name = "crossed_flags", unicode = "๐ŸŽŒ", tags = [], x = 276, y = 828 } + , { name = "jersey", unicode = "๐Ÿ‡ฏ๐Ÿ‡ช", tags = [], x = 1196, y = 690 } + , { name = "jordan", unicode = "๐Ÿ‡ฏ๐Ÿ‡ด", tags = [], x = 1196, y = 736 } + , { name = "kazakhstan", unicode = "๐Ÿ‡ฐ๐Ÿ‡ฟ", tags = [], x = 1196, y = 1012 } + , { name = "kenya", unicode = "๐Ÿ‡ฐ๐Ÿ‡ช", tags = [], x = 1196, y = 1058 } + , { name = "kiribati", unicode = "๐Ÿ‡ฐ๐Ÿ‡ฎ", tags = [], x = 138, y = 1196 } + , { name = "kosovo", unicode = "๐Ÿ‡ฝ๐Ÿ‡ฐ", tags = [], x = 644, y = 1196 } + , { name = "kuwait", unicode = "๐Ÿ‡ฐ๐Ÿ‡ผ", tags = [], x = 736, y = 1196 } + , { name = "kyrgyzstan", unicode = "๐Ÿ‡ฐ๐Ÿ‡ฌ", tags = [], x = 782, y = 1196 } + , { name = "laos", unicode = "๐Ÿ‡ฑ๐Ÿ‡ฆ", tags = [], x = 920, y = 1196 } + , { name = "latvia", unicode = "๐Ÿ‡ฑ๐Ÿ‡ป", tags = [], x = 1242, y = 0 } + , { name = "lebanon", unicode = "๐Ÿ‡ฑ๐Ÿ‡ง", tags = [], x = 1242, y = 138 } + , { name = "lesotho", unicode = "๐Ÿ‡ฑ๐Ÿ‡ธ", tags = [], x = 1242, y = 506 } + , { name = "liberia", unicode = "๐Ÿ‡ฑ๐Ÿ‡ท", tags = [], x = 1242, y = 598 } + , { name = "libya", unicode = "๐Ÿ‡ฑ๐Ÿ‡พ", tags = [], x = 1242, y = 690 } + , { name = "liechtenstein", unicode = "๐Ÿ‡ฑ๐Ÿ‡ฎ", tags = [], x = 1242, y = 736 } + , { name = "lithuania", unicode = "๐Ÿ‡ฑ๐Ÿ‡น", tags = [], x = 1242, y = 1012 } + , { name = "luxembourg", unicode = "๐Ÿ‡ฑ๐Ÿ‡บ", tags = [], x = 276, y = 1242 } + , { name = "macau", unicode = "๐Ÿ‡ฒ๐Ÿ‡ด", tags = [], x = 414, y = 1242 } + , { name = "macedonia", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฐ", tags = [], x = 460, y = 1242 } + , { name = "madagascar", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฌ", tags = [], x = 506, y = 1242 } + , { name = "malawi", unicode = "๐Ÿ‡ฒ๐Ÿ‡ผ", tags = [], x = 874, y = 1242 } + , { name = "malaysia", unicode = "๐Ÿ‡ฒ๐Ÿ‡พ", tags = [], x = 920, y = 1242 } + , { name = "maldives", unicode = "๐Ÿ‡ฒ๐Ÿ‡ป", tags = [], x = 966, y = 1242 } + , { name = "mali", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฑ", tags = [], x = 1058, y = 1242 } + , { name = "malta", unicode = "๐Ÿ‡ฒ๐Ÿ‡น", tags = [], x = 1104, y = 1242 } + , { name = "marshall_islands", unicode = "๐Ÿ‡ฒ๐Ÿ‡ญ", tags = [], x = 0, y = 1288 } + , { name = "martinique", unicode = "๐Ÿ‡ฒ๐Ÿ‡ถ", tags = [], x = 92, y = 1288 } + , { name = "mauritania", unicode = "๐Ÿ‡ฒ๐Ÿ‡ท", tags = [], x = 322, y = 1288 } + , { name = "mauritius", unicode = "๐Ÿ‡ฒ๐Ÿ‡บ", tags = [], x = 368, y = 1288 } + , { name = "mayotte", unicode = "๐Ÿ‡พ๐Ÿ‡น", tags = [], x = 0, y = 0 } + , { name = "mexico", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฝ", tags = [], x = 966, y = 1288 } + , { name = "micronesia", unicode = "๐Ÿ‡ซ๐Ÿ‡ฒ", tags = [], x = 1012, y = 1288 } + , { name = "moldova", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฉ", tags = [], x = 1334, y = 92 } + , { name = "monaco", unicode = "๐Ÿ‡ฒ๐Ÿ‡จ", tags = [], x = 1334, y = 138 } + , { name = "mongolia", unicode = "๐Ÿ‡ฒ๐Ÿ‡ณ", tags = [], x = 1334, y = 322 } + , { name = "montenegro", unicode = "๐Ÿ‡ฒ๐Ÿ‡ช", tags = [], x = 1334, y = 506 } + , { name = "montserrat", unicode = "๐Ÿ‡ฒ๐Ÿ‡ธ", tags = [], x = 1334, y = 552 } + , { name = "morocco", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฆ", tags = [], x = 1334, y = 644 } + , { name = "mozambique", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฟ", tags = [], x = 184, y = 1334 } + , { name = "myanmar", unicode = "๐Ÿ‡ฒ๐Ÿ‡ฒ", tags = [ "burma" ], x = 552, y = 1334 } + , { name = "namibia", unicode = "๐Ÿ‡ณ๐Ÿ‡ฆ", tags = [], x = 690, y = 1334 } + , { name = "nauru", unicode = "๐Ÿ‡ณ๐Ÿ‡ท", tags = [], x = 782, y = 1334 } + , { name = "nepal", unicode = "๐Ÿ‡ณ๐Ÿ‡ต", tags = [], x = 1012, y = 1334 } + , { name = "netherlands", unicode = "๐Ÿ‡ณ๐Ÿ‡ฑ", tags = [], x = 1104, y = 1334 } + , { name = "new_caledonia", unicode = "๐Ÿ‡ณ๐Ÿ‡จ", tags = [], x = 1242, y = 1334 } + , { name = "new_zealand", unicode = "๐Ÿ‡ณ๐Ÿ‡ฟ", tags = [], x = 1380, y = 0 } + , { name = "nicaragua", unicode = "๐Ÿ‡ณ๐Ÿ‡ฎ", tags = [], x = 1380, y = 322 } + , { name = "niger", unicode = "๐Ÿ‡ณ๐Ÿ‡ช", tags = [], x = 1380, y = 368 } + , { name = "nigeria", unicode = "๐Ÿ‡ณ๐Ÿ‡ฌ", tags = [], x = 1380, y = 414 } + , { name = "niue", unicode = "๐Ÿ‡ณ๐Ÿ‡บ", tags = [], x = 1380, y = 552 } + , { name = "norfolk_island", unicode = "๐Ÿ‡ณ๐Ÿ‡ซ", tags = [], x = 1380, y = 1150 } + , { name = "northern_mariana_islands", unicode = "๐Ÿ‡ฒ๐Ÿ‡ต", tags = [], x = 1380, y = 1242 } + , { name = "north_korea", unicode = "๐Ÿ‡ฐ๐Ÿ‡ต", tags = [], x = 1380, y = 1196 } + , { name = "norway", unicode = "๐Ÿ‡ณ๐Ÿ‡ด", tags = [], x = 1380, y = 1288 } + , { name = "oman", unicode = "๐Ÿ‡ด๐Ÿ‡ฒ", tags = [], x = 920, y = 1380 } + , { name = "pakistan", unicode = "๐Ÿ‡ต๐Ÿ‡ฐ", tags = [], x = 1426, y = 598 } + , { name = "palau", unicode = "๐Ÿ‡ต๐Ÿ‡ผ", tags = [], x = 1426, y = 644 } + , { name = "palestinian_territories", unicode = "๐Ÿ‡ต๐Ÿ‡ธ", tags = [], x = 1426, y = 690 } + , { name = "panama", unicode = "๐Ÿ‡ต๐Ÿ‡ฆ", tags = [], x = 1426, y = 782 } + , { name = "papua_new_guinea", unicode = "๐Ÿ‡ต๐Ÿ‡ฌ", tags = [], x = 1426, y = 1012 } + , { name = "paraguay", unicode = "๐Ÿ‡ต๐Ÿ‡พ", tags = [], x = 1426, y = 1058 } + , { name = "peru", unicode = "๐Ÿ‡ต๐Ÿ‡ช", tags = [], x = 736, y = 1426 } + , { name = "philippines", unicode = "๐Ÿ‡ต๐Ÿ‡ญ", tags = [], x = 782, y = 1426 } + , { name = "pitcairn_islands", unicode = "๐Ÿ‡ต๐Ÿ‡ณ", tags = [], x = 1242, y = 1426 } + , { name = "poland", unicode = "๐Ÿ‡ต๐Ÿ‡ฑ", tags = [], x = 1472, y = 230 } + , { name = "portugal", unicode = "๐Ÿ‡ต๐Ÿ‡น", tags = [], x = 1472, y = 552 } + , { name = "puerto_rico", unicode = "๐Ÿ‡ต๐Ÿ‡ท", tags = [], x = 0, y = 1472 } + , { name = "qatar", unicode = "๐Ÿ‡ถ๐Ÿ‡ฆ", tags = [], x = 276, y = 1472 } + , { name = "reunion", unicode = "๐Ÿ‡ท๐Ÿ‡ช", tags = [], x = 1518, y = 598 } + , { name = "romania", unicode = "๐Ÿ‡ท๐Ÿ‡ด", tags = [], x = 1518, y = 1334 } + , { name = "ru", unicode = "๐Ÿ‡ท๐Ÿ‡บ", tags = [ "russia" ], x = 230, y = 1518 } + , { name = "rwanda", unicode = "๐Ÿ‡ท๐Ÿ‡ผ", tags = [], x = 552, y = 1518 } + , { name = "st_barthelemy", unicode = "๐Ÿ‡ง๐Ÿ‡ฑ", tags = [], x = 1610, y = 1150 } + , { name = "st_helena", unicode = "๐Ÿ‡ธ๐Ÿ‡ญ", tags = [], x = 1610, y = 1196 } + , { name = "st_kitts_nevis", unicode = "๐Ÿ‡ฐ๐Ÿ‡ณ", tags = [], x = 1610, y = 1242 } + , { name = "st_lucia", unicode = "๐Ÿ‡ฑ๐Ÿ‡จ", tags = [], x = 1610, y = 1288 } + , { name = "st_pierre_miquelon", unicode = "๐Ÿ‡ต๐Ÿ‡ฒ", tags = [], x = 1610, y = 1334 } + , { name = "st_vincent_grenadines", unicode = "๐Ÿ‡ป๐Ÿ‡จ", tags = [], x = 1610, y = 1380 } + , { name = "samoa", unicode = "๐Ÿ‡ผ๐Ÿ‡ธ", tags = [], x = 782, y = 1518 } + , { name = "san_marino", unicode = "๐Ÿ‡ธ๐Ÿ‡ฒ", tags = [], x = 828, y = 1518 } + , { name = "sao_tome_principe", unicode = "๐Ÿ‡ธ๐Ÿ‡น", tags = [], x = 966, y = 1518 } + , { name = "saudi_arabia", unicode = "๐Ÿ‡ธ๐Ÿ‡ฆ", tags = [], x = 1104, y = 1518 } + , { name = "senegal", unicode = "๐Ÿ‡ธ๐Ÿ‡ณ", tags = [], x = 1564, y = 230 } + , { name = "serbia", unicode = "๐Ÿ‡ท๐Ÿ‡ธ", tags = [], x = 1564, y = 276 } + , { name = "seychelles", unicode = "๐Ÿ‡ธ๐Ÿ‡จ", tags = [], x = 1564, y = 368 } + , { name = "sierra_leone", unicode = "๐Ÿ‡ธ๐Ÿ‡ฑ", tags = [], x = 1564, y = 1196 } + , { name = "singapore", unicode = "๐Ÿ‡ธ๐Ÿ‡ฌ", tags = [], x = 1564, y = 1288 } + , { name = "sint_maarten", unicode = "๐Ÿ‡ธ๐Ÿ‡ฝ", tags = [], x = 1564, y = 1334 } + , { name = "slovakia", unicode = "๐Ÿ‡ธ๐Ÿ‡ฐ", tags = [], x = 368, y = 1564 } + , { name = "slovenia", unicode = "๐Ÿ‡ธ๐Ÿ‡ฎ", tags = [], x = 414, y = 1564 } + , { name = "solomon_islands", unicode = "๐Ÿ‡ธ๐Ÿ‡ง", tags = [], x = 1472, y = 1564 } + , { name = "somalia", unicode = "๐Ÿ‡ธ๐Ÿ‡ด", tags = [], x = 1518, y = 1564 } + , { name = "south_africa", unicode = "๐Ÿ‡ฟ๐Ÿ‡ฆ", tags = [], x = 1610, y = 92 } + , { name = "south_georgia_south_sandwich_islands", unicode = "๐Ÿ‡ฌ๐Ÿ‡ธ", tags = [], x = 1610, y = 138 } + , { name = "kr", unicode = "๐Ÿ‡ฐ๐Ÿ‡ท", tags = [ "korea" ], x = 690, y = 1196 } + , { name = "south_sudan", unicode = "๐Ÿ‡ธ๐Ÿ‡ธ", tags = [], x = 1610, y = 184 } + , { name = "es", unicode = "๐Ÿ‡ช๐Ÿ‡ธ", tags = [ "spain" ], x = 782, y = 920 } + , { name = "sri_lanka", unicode = "๐Ÿ‡ฑ๐Ÿ‡ฐ", tags = [], x = 1610, y = 1104 } + , { name = "sudan", unicode = "๐Ÿ‡ธ๐Ÿ‡ฉ", tags = [], x = 736, y = 1610 } + , { name = "suriname", unicode = "๐Ÿ‡ธ๐Ÿ‡ท", tags = [], x = 1334, y = 1610 } + , { name = "swaziland", unicode = "๐Ÿ‡ธ๐Ÿ‡ฟ", tags = [], x = 1518, y = 1610 } + , { name = "sweden", unicode = "๐Ÿ‡ธ๐Ÿ‡ช", tags = [], x = 1656, y = 46 } + , { name = "switzerland", unicode = "๐Ÿ‡จ๐Ÿ‡ญ", tags = [], x = 1656, y = 276 } + , { name = "syria", unicode = "๐Ÿ‡ธ๐Ÿ‡พ", tags = [], x = 1656, y = 414 } + , { name = "taiwan", unicode = "๐Ÿ‡น๐Ÿ‡ผ", tags = [], x = 1656, y = 598 } + , { name = "tajikistan", unicode = "๐Ÿ‡น๐Ÿ‡ฏ", tags = [], x = 1656, y = 644 } + , { name = "tanzania", unicode = "๐Ÿ‡น๐Ÿ‡ฟ", tags = [], x = 1656, y = 782 } + , { name = "thailand", unicode = "๐Ÿ‡น๐Ÿ‡ญ", tags = [], x = 1656, y = 1196 } + , { name = "timor_leste", unicode = "๐Ÿ‡น๐Ÿ‡ฑ", tags = [], x = 92, y = 1656 } + , { name = "togo", unicode = "๐Ÿ‡น๐Ÿ‡ฌ", tags = [], x = 322, y = 1656 } + , { name = "tokelau", unicode = "๐Ÿ‡น๐Ÿ‡ฐ", tags = [], x = 414, y = 1656 } + , { name = "tonga", unicode = "๐Ÿ‡น๐Ÿ‡ด", tags = [], x = 552, y = 1656 } + , { name = "trinidad_tobago", unicode = "๐Ÿ‡น๐Ÿ‡น", tags = [], x = 1242, y = 1656 } + , { name = "tunisia", unicode = "๐Ÿ‡น๐Ÿ‡ณ", tags = [], x = 1702, y = 92 } + , { name = "tr", unicode = "๐Ÿ‡น๐Ÿ‡ท", tags = [ "turkey" ], x = 782, y = 1656 } + , { name = "turkmenistan", unicode = "๐Ÿ‡น๐Ÿ‡ฒ", tags = [], x = 1702, y = 184 } + , { name = "turks_caicos_islands", unicode = "๐Ÿ‡น๐Ÿ‡จ", tags = [], x = 1702, y = 230 } + , { name = "tuvalu", unicode = "๐Ÿ‡น๐Ÿ‡ป", tags = [], x = 1702, y = 322 } + , { name = "uganda", unicode = "๐Ÿ‡บ๐Ÿ‡ฌ", tags = [], x = 1702, y = 1150 } + , { name = "ukraine", unicode = "๐Ÿ‡บ๐Ÿ‡ฆ", tags = [], x = 1702, y = 1242 } + , { name = "united_arab_emirates", unicode = "๐Ÿ‡ฆ๐Ÿ‡ช", tags = [], x = 1702, y = 1472 } + , { name = "gb", unicode = "๐Ÿ‡ฌ๐Ÿ‡ง", tags = [ "flag", "british" ], x = 184, y = 1058 } + , { name = "us", unicode = "๐Ÿ‡บ๐Ÿ‡ธ", tags = [ "flag", "united", "america" ], x = 0, y = 1702 } + , { name = "us_virgin_islands", unicode = "๐Ÿ‡ป๐Ÿ‡ฎ", tags = [], x = 46, y = 1702 } + , { name = "uruguay", unicode = "๐Ÿ‡บ๐Ÿ‡พ", tags = [], x = 1702, y = 1656 } + , { name = "uzbekistan", unicode = "๐Ÿ‡บ๐Ÿ‡ฟ", tags = [], x = 92, y = 1702 } + , { name = "vanuatu", unicode = "๐Ÿ‡ป๐Ÿ‡บ", tags = [], x = 184, y = 1702 } + , { name = "vatican_city", unicode = "๐Ÿ‡ป๐Ÿ‡ฆ", tags = [], x = 230, y = 1702 } + , { name = "venezuela", unicode = "๐Ÿ‡ป๐Ÿ‡ช", tags = [], x = 276, y = 1702 } + , { name = "vietnam", unicode = "๐Ÿ‡ป๐Ÿ‡ณ", tags = [], x = 552, y = 1702 } + , { name = "wallis_futuna", unicode = "๐Ÿ‡ผ๐Ÿ‡ซ", tags = [], x = 1012, y = 1702 } + , { name = "western_sahara", unicode = "๐Ÿ‡ช๐Ÿ‡ญ", tags = [], x = 1748, y = 46 } + , { name = "yemen", unicode = "๐Ÿ‡พ๐Ÿ‡ช", tags = [], x = 782, y = 1748 } + , { name = "zambia", unicode = "๐Ÿ‡ฟ๐Ÿ‡ฒ", tags = [], x = 966, y = 1748 } + , { name = "zimbabwe", unicode = "๐Ÿ‡ฟ๐Ÿ‡ผ", tags = [], x = 1104, y = 1748 } + ] + , symbols = + [ { name = "heart", unicode = "โค๏ธ", tags = [ "love" ], x = 828, y = 1104 } + , { name = "yellow_heart", unicode = "๐Ÿ’›", tags = [], x = 736, y = 1748 } + , { name = "green_heart", unicode = "๐Ÿ’š", tags = [], x = 1104, y = 184 } + , { name = "blue_heart", unicode = "๐Ÿ’™", tags = [], x = 552, y = 276 } + , { name = "purple_heart", unicode = "๐Ÿ’œ", tags = [], x = 92, y = 1472 } + , { name = "black_heart", unicode = "๐Ÿ–ค", tags = [], x = 184, y = 506 } + , { name = "broken_heart", unicode = "๐Ÿ’”", tags = [], x = 598, y = 506 } + , { name = "heavy_heart_exclamation", unicode = "โฃ๏ธ", tags = [], x = 1150, y = 184 } + , { name = "two_hearts", unicode = "๐Ÿ’•", tags = [], x = 1702, y = 506 } + , { name = "revolving_hearts", unicode = "๐Ÿ’ž", tags = [], x = 1518, y = 644 } + , { name = "heartbeat", unicode = "๐Ÿ’“", tags = [], x = 1012, y = 1104 } + , { name = "heartpulse", unicode = "๐Ÿ’—", tags = [], x = 1058, y = 1104 } + , { name = "sparkling_heart", unicode = "๐Ÿ’–", tags = [], x = 1610, y = 506 } + , { name = "cupid", unicode = "๐Ÿ’˜", tags = [ "love", "heart" ], x = 644, y = 828 } + , { name = "gift_heart", unicode = "๐Ÿ’", tags = [ "chocolates" ], x = 598, y = 1058 } + , { name = "heart_decoration", unicode = "๐Ÿ’Ÿ", tags = [], x = 874, y = 1104 } + , { name = "peace_symbol", unicode = "โ˜ฎ๏ธ", tags = [], x = 46, y = 1426 } + , { name = "latin_cross", unicode = "โœ๏ธ", tags = [], x = 1196, y = 1196 } + , { name = "star_and_crescent", unicode = "โ˜ช๏ธ", tags = [], x = 1610, y = 1564 } + , { name = "om", unicode = "๐Ÿ•‰", tags = [], x = 874, y = 1380 } + , { name = "wheel_of_dharma", unicode = "โ˜ธ๏ธ", tags = [], x = 1748, y = 184 } + , { name = "star_of_david", unicode = "โœก๏ธ", tags = [], x = 0, y = 1610 } + , { name = "six_pointed_star", unicode = "๐Ÿ”ฏ", tags = [], x = 1564, y = 1426 } + , { name = "menorah", unicode = "๐Ÿ•Ž", tags = [], x = 782, y = 1288 } + , { name = "yin_yang", unicode = "โ˜ฏ๏ธ", tags = [], x = 874, y = 1748 } + , { name = "orthodox_cross", unicode = "โ˜ฆ๏ธ", tags = [], x = 1426, y = 184 } + , { name = "place_of_worship", unicode = "๐Ÿ›", tags = [], x = 1334, y = 1426 } + , { name = "ophiuchus", unicode = "โ›Ž", tags = [], x = 1426, y = 46 } + , { name = "aries", unicode = "โ™ˆ๏ธ", tags = [], x = 276, y = 138 } + , { name = "taurus", unicode = "โ™‰๏ธ", tags = [], x = 1656, y = 828 } + , { name = "gemini", unicode = "โ™Š๏ธ", tags = [], x = 322, y = 1058 } + , { name = "cancer", unicode = "โ™‹๏ธ", tags = [], x = 0, y = 644 } + , { name = "leo", unicode = "โ™Œ๏ธ", tags = [], x = 1242, y = 414 } + , { name = "virgo", unicode = "โ™๏ธ", tags = [], x = 644, y = 1702 } + , { name = "libra", unicode = "โ™Ž๏ธ", tags = [], x = 1242, y = 644 } + , { name = "scorpius", unicode = "โ™๏ธ", tags = [], x = 1380, y = 1518 } + , { name = "sagittarius", unicode = "โ™๏ธ", tags = [], x = 644, y = 1518 } + , { name = "capricorn", unicode = "โ™‘๏ธ", tags = [], x = 276, y = 644 } + , { name = "aquarius", unicode = "โ™’๏ธ", tags = [], x = 276, y = 46 } + , { name = "pisces", unicode = "โ™“๏ธ", tags = [], x = 1196, y = 1426 } + , { name = "id", unicode = "๐Ÿ†”", tags = [], x = 690, y = 1150 } + , { name = "atom_symbol", unicode = "โš›๏ธ", tags = [], x = 368, y = 276 } + , { name = "accept", unicode = "๐Ÿ‰‘", tags = [], x = 0, y = 138 } + , { name = "radioactive", unicode = "โ˜ข๏ธ", tags = [], x = 644, y = 1472 } + , { name = "biohazard", unicode = "โ˜ฃ๏ธ", tags = [], x = 506, y = 460 } + , { name = "mobile_phone_off", unicode = "๐Ÿ“ด", tags = [ "mute", "off" ], x = 1334, y = 46 } + , { name = "vibration_mode", unicode = "๐Ÿ“ณ", tags = [], x = 414, y = 1702 } + , { name = "u6709", unicode = "๐Ÿˆถ", tags = [], x = 1702, y = 874 } + , { name = "u7121", unicode = "๐Ÿˆš๏ธ", tags = [], x = 1702, y = 966 } + , { name = "u7533", unicode = "๐Ÿˆธ", tags = [], x = 1702, y = 1012 } + , { name = "u55b6", unicode = "๐Ÿˆบ", tags = [], x = 1702, y = 736 } + , { name = "u6708", unicode = "๐Ÿˆท๏ธ", tags = [], x = 1702, y = 828 } + , { name = "eight_pointed_black_star", unicode = "โœด๏ธ", tags = [], x = 230, y = 920 } + , { name = "vs", unicode = "๐Ÿ†š", tags = [], x = 782, y = 1702 } + , { name = "white_flower", unicode = "๐Ÿ’ฎ", tags = [], x = 1748, y = 414 } + , { name = "ideograph_advantage", unicode = "๐Ÿ‰", tags = [], x = 736, y = 1150 } + , { name = "secret", unicode = "ใŠ™๏ธ", tags = [], x = 1564, y = 46 } + , { name = "congratulations", unicode = "ใŠ—๏ธ", tags = [], x = 230, y = 782 } + , { name = "u5408", unicode = "๐Ÿˆด", tags = [], x = 1702, y = 690 } + , { name = "u6e80", unicode = "๐Ÿˆต", tags = [], x = 1702, y = 920 } + , { name = "u5272", unicode = "๐Ÿˆน", tags = [], x = 1702, y = 644 } + , { name = "u7981", unicode = "๐Ÿˆฒ", tags = [], x = 1702, y = 1058 } + , { name = "a", unicode = "๐Ÿ…ฐ๏ธ", tags = [], x = 92, y = 92 } + , { name = "b", unicode = "๐Ÿ…ฑ๏ธ", tags = [], x = 138, y = 368 } + , { name = "ab", unicode = "๐Ÿ†Ž", tags = [], x = 138, y = 0 } + , { name = "cl", unicode = "๐Ÿ†‘", tags = [], x = 598, y = 690 } + , { name = "o2", unicode = "๐Ÿ…พ๏ธ", tags = [], x = 230, y = 1380 } + , { name = "sos", unicode = "๐Ÿ†˜", tags = [ "help", "emergency" ], x = 1610, y = 0 } + , { name = "x", unicode = "โŒ", tags = [], x = 690, y = 1748 } + , { name = "o", unicode = "โญ•๏ธ", tags = [], x = 184, y = 1380 } + , { name = "stop_sign", unicode = "๐Ÿ›‘", tags = [], x = 322, y = 1610 } + , { name = "no_entry", unicode = "โ›”๏ธ", tags = [ "limit" ], x = 1380, y = 690 } + , { name = "name_badge", unicode = "๐Ÿ“›", tags = [], x = 644, y = 1334 } + , { name = "no_entry_sign", unicode = "๐Ÿšซ", tags = [ "block", "forbidden" ], x = 1380, y = 736 } + , { name = "100", unicode = "๐Ÿ’ฏ", tags = [ "score", "perfect" ], x = 0, y = 46 } + , { name = "anger", unicode = "๐Ÿ’ข", tags = [ "angry" ], x = 230, y = 138 } + , { name = "hotsprings", unicode = "โ™จ๏ธ", tags = [], x = 0, y = 1150 } + , { name = "no_pedestrians", unicode = "๐Ÿšท", tags = [], x = 1380, y = 1012 } + , { name = "do_not_litter", unicode = "๐Ÿšฏ", tags = [], x = 598, y = 874 } + , { name = "no_bicycles", unicode = "๐Ÿšณ", tags = [], x = 1380, y = 644 } + , { name = "non-potable_water", unicode = "๐Ÿšฑ", tags = [], x = 1380, y = 1104 } + , { name = "underage", unicode = "๐Ÿ”ž", tags = [], x = 1702, y = 1380 } + , { name = "no_mobile_phones", unicode = "๐Ÿ“ต", tags = [], x = 1380, y = 920 } + , { name = "no_smoking", unicode = "๐Ÿšญ", tags = [], x = 1380, y = 1058 } + , { name = "exclamation", unicode = "โ—๏ธ", tags = [ "bang" ], x = 966, y = 230 } + , { name = "grey_exclamation", unicode = "โ•", tags = [], x = 1104, y = 368 } + , { name = "question", unicode = "โ“", tags = [ "confused" ], x = 322, y = 1472 } + , { name = "grey_question", unicode = "โ”", tags = [], x = 1104, y = 414 } + , { name = "bangbang", unicode = "โ€ผ๏ธ", tags = [], x = 138, y = 414 } + , { name = "interrobang", unicode = "โ‰๏ธ", tags = [], x = 1150, y = 1150 } + , { name = "low_brightness", unicode = "๐Ÿ”…", tags = [], x = 230, y = 1242 } + , { name = "high_brightness", unicode = "๐Ÿ”†", tags = [], x = 1150, y = 506 } + , { name = "part_alternation_mark", unicode = "ใ€ฝ๏ธ", tags = [], x = 1426, y = 1196 } + , { name = "warning", unicode = "โš ๏ธ", tags = [ "wip" ], x = 1150, y = 1702 } + , { name = "children_crossing", unicode = "๐Ÿšธ", tags = [], x = 46, y = 690 } + , { name = "trident", unicode = "๐Ÿ”ฑ", tags = [], x = 1196, y = 1656 } + , { name = "fleur_de_lis", unicode = "โšœ๏ธ", tags = [], x = 506, y = 1012 } + , { name = "beginner", unicode = "๐Ÿ”ฐ", tags = [], x = 276, y = 460 } + , { name = "recycle", unicode = "โ™ป๏ธ", tags = [ "environment", "green" ], x = 1518, y = 92 } + , { name = "white_check_mark", unicode = "โœ…", tags = [], x = 1748, y = 276 } + , { name = "u6307", unicode = "๐Ÿˆฏ๏ธ", tags = [], x = 1702, y = 782 } + , { name = "chart", unicode = "๐Ÿ’น", tags = [], x = 690, y = 322 } + , { name = "sparkle", unicode = "โ‡๏ธ", tags = [], x = 1610, y = 368 } + , { name = "eight_spoked_asterisk", unicode = "โœณ๏ธ", tags = [], x = 276, y = 920 } + , { name = "negative_squared_cross_mark", unicode = "โŽ", tags = [], x = 966, y = 1334 } + , { name = "globe_with_meridians", unicode = "๐ŸŒ", tags = [ "world", "global", "international" ], x = 690, y = 1058 } + , { name = "diamond_shape_with_a_dot_inside", unicode = "๐Ÿ’ ", tags = [], x = 276, y = 874 } + , { name = "m", unicode = "โ“‚๏ธ", tags = [], x = 368, y = 1242 } + , { name = "cyclone", unicode = "๐ŸŒ€", tags = [ "swirl" ], x = 874, y = 92 } + , { name = "zzz", unicode = "๐Ÿ’ค", tags = [ "sleeping" ], x = 1196, y = 1748 } + , { name = "atm", unicode = "๐Ÿง", tags = [], x = 368, y = 184 } + , { name = "wc", unicode = "๐Ÿšพ", tags = [ "toilet", "restroom" ], x = 1564, y = 1702 } + , { name = "wheelchair", unicode = "โ™ฟ๏ธ", tags = [ "accessibility" ], x = 1748, y = 230 } + , { name = "parking", unicode = "๐Ÿ…ฟ๏ธ", tags = [], x = 1426, y = 1150 } + , { name = "u7a7a", unicode = "๐Ÿˆณ", tags = [], x = 1702, y = 1104 } + , { name = "sa", unicode = "๐Ÿˆ‚๏ธ", tags = [], x = 598, y = 1518 } + , { name = "passport_control", unicode = "๐Ÿ›‚", tags = [], x = 1426, y = 1334 } + , { name = "customs", unicode = "๐Ÿ›ƒ", tags = [], x = 874, y = 46 } + , { name = "baggage_claim", unicode = "๐Ÿ›„", tags = [ "airport" ], x = 414, y = 92 } + , { name = "left_luggage", unicode = "๐Ÿ›…", tags = [], x = 1242, y = 230 } + , { name = "mens", unicode = "๐Ÿšน", tags = [], x = 828, y = 1288 } + , { name = "womens", unicode = "๐Ÿšบ", tags = [], x = 460, y = 1748 } + , { name = "baby_symbol", unicode = "๐Ÿšผ", tags = [], x = 322, y = 368 } + , { name = "restroom", unicode = "๐Ÿšป", tags = [ "toilet" ], x = 1518, y = 552 } + , { name = "put_litter_in_its_place", unicode = "๐Ÿšฎ", tags = [], x = 230, y = 1472 } + , { name = "cinema", unicode = "๐ŸŽฆ", tags = [ "film", "movie" ], x = 368, y = 690 } + , { name = "signal_strength", unicode = "๐Ÿ“ถ", tags = [ "wifi" ], x = 1564, y = 1242 } + , { name = "koko", unicode = "๐Ÿˆ", tags = [], x = 598, y = 1196 } + , { name = "symbols", unicode = "๐Ÿ”ฃ", tags = [], x = 1656, y = 322 } + , { name = "information_source", unicode = "โ„น๏ธ", tags = [], x = 1058, y = 1150 } + , { name = "abc", unicode = "๐Ÿ”ค", tags = [ "alphabet" ], x = 138, y = 46 } + , { name = "abcd", unicode = "๐Ÿ”ก", tags = [], x = 138, y = 92 } + , { name = "capital_abcd", unicode = "๐Ÿ” ", tags = [ "letters" ], x = 230, y = 644 } + , { name = "ng", unicode = "๐Ÿ†–", tags = [], x = 1380, y = 184 } + , { name = "ok", unicode = "๐Ÿ†—", tags = [ "yes" ], x = 552, y = 1380 } + , { name = "up", unicode = "๐Ÿ†™", tags = [], x = 1702, y = 1564 } + , { name = "cool", unicode = "๐Ÿ†’", tags = [], x = 644, y = 782 } + , { name = "new", unicode = "๐Ÿ†•", tags = [ "fresh" ], x = 1196, y = 1334 } + , { name = "free", unicode = "๐Ÿ†“", tags = [], x = 1058, y = 322 } + , { name = "zero", unicode = "0๏ธโƒฃ", tags = [], x = 1058, y = 1748 } + , { name = "one", unicode = "1๏ธโƒฃ", tags = [], x = 1196, y = 1380 } + , { name = "two", unicode = "2๏ธโƒฃ", tags = [], x = 1702, y = 460 } + , { name = "three", unicode = "3๏ธโƒฃ", tags = [], x = 1656, y = 1380 } + , { name = "four", unicode = "4๏ธโƒฃ", tags = [], x = 1058, y = 92 } + , { name = "five", unicode = "5๏ธโƒฃ", tags = [], x = 368, y = 1012 } + , { name = "six", unicode = "6๏ธโƒฃ", tags = [], x = 1564, y = 1380 } + , { name = "seven", unicode = "7๏ธโƒฃ", tags = [], x = 1564, y = 322 } + , { name = "eight", unicode = "8๏ธโƒฃ", tags = [], x = 184, y = 920 } + , { name = "nine", unicode = "9๏ธโƒฃ", tags = [], x = 1380, y = 506 } + , { name = "keycap_ten", unicode = "๐Ÿ”Ÿ", tags = [], x = 0, y = 1196 } + , { name = "1234", unicode = "๐Ÿ”ข", tags = [ "numbers" ], x = 46, y = 46 } + , { name = "hash", unicode = "#๏ธโƒฃ", tags = [ "number" ], x = 598, y = 1104 } + , { name = "asterisk", unicode = "*๏ธโƒฃ", tags = [], x = 368, y = 46 } + , { name = "arrow_forward", unicode = "โ–ถ๏ธ", tags = [], x = 184, y = 276 } + , { name = "pause_button", unicode = "โธ", tags = [], x = 1426, y = 1380 } + , { name = "play_or_pause_button", unicode = "โฏ", tags = [], x = 1426, y = 1426 } + , { name = "stop_button", unicode = "โน", tags = [], x = 276, y = 1610 } + , { name = "record_button", unicode = "โบ", tags = [], x = 1518, y = 46 } + , { name = "next_track_button", unicode = "โญ", tags = [], x = 1380, y = 138 } + , { name = "previous_track_button", unicode = "โฎ", tags = [], x = 1472, y = 1288 } + , { name = "fast_forward", unicode = "โฉ", tags = [], x = 1012, y = 46 } + , { name = "rewind", unicode = "โช", tags = [], x = 1518, y = 690 } + , { name = "arrow_double_up", unicode = "โซ", tags = [], x = 46, y = 276 } + , { name = "arrow_double_down", unicode = "โฌ", tags = [], x = 0, y = 276 } + , { name = "arrow_backward", unicode = "โ—€๏ธ", tags = [], x = 276, y = 230 } + , { name = "arrow_up_small", unicode = "๐Ÿ”ผ", tags = [], x = 0, y = 322 } + , { name = "arrow_down_small", unicode = "๐Ÿ”ฝ", tags = [], x = 138, y = 276 } + , { name = "arrow_right", unicode = "โžก๏ธ", tags = [], x = 322, y = 138 } + , { name = "arrow_left", unicode = "โฌ…๏ธ", tags = [], x = 322, y = 0 } + , { name = "arrow_up", unicode = "โฌ†๏ธ", tags = [], x = 322, y = 230 } + , { name = "arrow_down", unicode = "โฌ‡๏ธ", tags = [], x = 92, y = 276 } + , { name = "arrow_upper_right", unicode = "โ†—๏ธ", tags = [], x = 92, y = 322 } + , { name = "arrow_lower_right", unicode = "โ†˜๏ธ", tags = [], x = 322, y = 92 } + , { name = "arrow_lower_left", unicode = "โ†™๏ธ", tags = [], x = 322, y = 46 } + , { name = "arrow_upper_left", unicode = "โ†–๏ธ", tags = [], x = 46, y = 322 } + , { name = "arrow_up_down", unicode = "โ†•๏ธ", tags = [], x = 322, y = 276 } + , { name = "left_right_arrow", unicode = "โ†”๏ธ", tags = [], x = 1242, y = 276 } + , { name = "arrow_right_hook", unicode = "โ†ช๏ธ", tags = [], x = 322, y = 184 } + , { name = "leftwards_arrow_with_hook", unicode = "โ†ฉ๏ธ", tags = [ "return" ], x = 1242, y = 322 } + , { name = "arrow_heading_up", unicode = "โคด๏ธ", tags = [], x = 276, y = 276 } + , { name = "arrow_heading_down", unicode = "โคต๏ธ", tags = [], x = 230, y = 276 } + , { name = "twisted_rightwards_arrows", unicode = "๐Ÿ”€", tags = [ "shuffle" ], x = 1702, y = 414 } + , { name = "repeat", unicode = "๐Ÿ”", tags = [ "loop" ], x = 1518, y = 414 } + , { name = "repeat_one", unicode = "๐Ÿ”‚", tags = [], x = 1518, y = 460 } + , { name = "arrows_counterclockwise", unicode = "๐Ÿ”„", tags = [ "sync" ], x = 184, y = 322 } + , { name = "arrows_clockwise", unicode = "๐Ÿ”ƒ", tags = [], x = 138, y = 322 } + , { name = "musical_note", unicode = "๐ŸŽต", tags = [], x = 414, y = 1334 } + , { name = "notes", unicode = "๐ŸŽถ", tags = [ "music" ], x = 92, y = 1380 } + , { name = "heavy_plus_sign", unicode = "โž•", tags = [], x = 1150, y = 322 } + , { name = "heavy_minus_sign", unicode = "โž–", tags = [], x = 1150, y = 230 } + , { name = "heavy_division_sign", unicode = "โž—", tags = [], x = 1150, y = 46 } + , { name = "heavy_multiplication_x", unicode = "โœ–๏ธ", tags = [], x = 1150, y = 276 } + , { name = "heavy_dollar_sign", unicode = "๐Ÿ’ฒ", tags = [], x = 1150, y = 92 } + , { name = "currency_exchange", unicode = "๐Ÿ’ฑ", tags = [], x = 782, y = 828 } + , { name = "tm", unicode = "โ„ข๏ธ", tags = [ "trademark" ], x = 276, y = 1656 } + , { name = "copyright", unicode = "ยฉ๏ธ", tags = [], x = 736, y = 782 } + , { name = "registered", unicode = "ยฎ๏ธ", tags = [], x = 1518, y = 230 } + , { name = "wavy_dash", unicode = "ใ€ฐ๏ธ", tags = [], x = 1426, y = 1702 } + , { name = "curly_loop", unicode = "โžฐ", tags = [], x = 736, y = 828 } + , { name = "loop", unicode = "โžฟ", tags = [], x = 0, y = 1242 } + , { name = "end", unicode = "๐Ÿ”š", tags = [], x = 552, y = 920 } + , { name = "back", unicode = "๐Ÿ”™", tags = [], x = 368, y = 368 } + , { name = "on", unicode = "๐Ÿ”›", tags = [], x = 966, y = 1380 } + , { name = "top", unicode = "๐Ÿ”", tags = [], x = 644, y = 1656 } + , { name = "soon", unicode = "๐Ÿ”œ", tags = [], x = 1564, y = 1564 } + , { name = "heavy_check_mark", unicode = "โœ”๏ธ", tags = [], x = 1150, y = 0 } + , { name = "ballot_box_with_check", unicode = "โ˜‘๏ธ", tags = [], x = 0, y = 414 } + , { name = "radio_button", unicode = "๐Ÿ”˜", tags = [], x = 598, y = 1472 } + , { name = "white_circle", unicode = "โšช๏ธ", tags = [], x = 1748, y = 322 } + , { name = "black_circle", unicode = "โšซ๏ธ", tags = [], x = 92, y = 506 } + , { name = "red_circle", unicode = "๐Ÿ”ด", tags = [], x = 1518, y = 184 } + , { name = "large_blue_circle", unicode = "๐Ÿ”ต", tags = [], x = 966, y = 1196 } + , { name = "small_red_triangle", unicode = "๐Ÿ”บ", tags = [], x = 598, y = 1564 } + , { name = "small_red_triangle_down", unicode = "๐Ÿ”ป", tags = [], x = 644, y = 1564 } + , { name = "small_orange_diamond", unicode = "๐Ÿ”ธ", tags = [], x = 552, y = 1564 } + , { name = "small_blue_diamond", unicode = "๐Ÿ”น", tags = [], x = 506, y = 1564 } + , { name = "large_orange_diamond", unicode = "๐Ÿ”ถ", tags = [], x = 1058, y = 1196 } + , { name = "large_blue_diamond", unicode = "๐Ÿ”ท", tags = [], x = 1012, y = 1196 } + , { name = "white_square_button", unicode = "๐Ÿ”ณ", tags = [], x = 1748, y = 644 } + , { name = "black_square_button", unicode = "๐Ÿ”ฒ", tags = [], x = 506, y = 506 } + , { name = "black_small_square", unicode = "โ–ช๏ธ", tags = [], x = 460, y = 506 } + , { name = "white_small_square", unicode = "โ–ซ๏ธ", tags = [], x = 1748, y = 598 } + , { name = "black_medium_small_square", unicode = "โ—พ๏ธ", tags = [], x = 322, y = 506 } + , { name = "white_medium_small_square", unicode = "โ—ฝ๏ธ", tags = [], x = 1748, y = 506 } + , { name = "black_medium_square", unicode = "โ—ผ๏ธ", tags = [], x = 368, y = 506 } + , { name = "white_medium_square", unicode = "โ—ป๏ธ", tags = [], x = 1748, y = 552 } + , { name = "black_large_square", unicode = "โฌ›๏ธ", tags = [], x = 276, y = 506 } + , { name = "white_large_square", unicode = "โฌœ๏ธ", tags = [], x = 1748, y = 460 } + , { name = "speaker", unicode = "๐Ÿ”ˆ", tags = [], x = 1610, y = 598 } + , { name = "mute", unicode = "๐Ÿ”‡", tags = [ "sound", "volume" ], x = 506, y = 1334 } + , { name = "sound", unicode = "๐Ÿ”‰", tags = [ "volume" ], x = 1610, y = 46 } + , { name = "loud_sound", unicode = "๐Ÿ”Š", tags = [ "volume" ], x = 46, y = 1242 } + , { name = "bell", unicode = "๐Ÿ””", tags = [ "sound", "notification" ], x = 460, y = 460 } + , { name = "no_bell", unicode = "๐Ÿ”•", tags = [ "volume", "off" ], x = 1380, y = 598 } + , { name = "mega", unicode = "๐Ÿ“ฃ", tags = [], x = 598, y = 1288 } + , { name = "loudspeaker", unicode = "๐Ÿ“ข", tags = [ "announcement" ], x = 92, y = 1242 } + , { name = "eye_speech_bubble", unicode = "๐Ÿ‘\u{200D}๐Ÿ—จ๏ธ", tags = [], x = 966, y = 368 } + , { name = "speech_balloon", unicode = "๐Ÿ’ฌ", tags = [ "comment" ], x = 1610, y = 690 } + , { name = "thought_balloon", unicode = "๐Ÿ’ญ", tags = [ "thinking" ], x = 1656, y = 1334 } + , { name = "right_anger_bubble", unicode = "๐Ÿ—ฏ", tags = [], x = 1518, y = 1012 } + , { name = "spades", unicode = "โ™ ๏ธ", tags = [], x = 1610, y = 276 } + , { name = "clubs", unicode = "โ™ฃ๏ธ", tags = [], x = 782, y = 184 } + , { name = "hearts", unicode = "โ™ฅ๏ธ", tags = [], x = 1104, y = 1104 } + , { name = "diamonds", unicode = "โ™ฆ๏ธ", tags = [], x = 322, y = 874 } + , { name = "black_joker", unicode = "๐Ÿƒ", tags = [], x = 230, y = 506 } + , { name = "flower_playing_cards", unicode = "๐ŸŽด", tags = [], x = 736, y = 1012 } + , { name = "mahjong", unicode = "๐Ÿ€„๏ธ", tags = [], x = 644, y = 1242 } + , { name = "clock1", unicode = "๐Ÿ•", tags = [], x = 736, y = 184 } + , { name = "clock2", unicode = "๐Ÿ•‘", tags = [], x = 736, y = 552 } + , { name = "clock3", unicode = "๐Ÿ•’", tags = [], x = 736, y = 644 } + , { name = "clock4", unicode = "๐Ÿ•“", tags = [], x = 0, y = 736 } + , { name = "clock5", unicode = "๐Ÿ•”", tags = [], x = 92, y = 736 } + , { name = "clock6", unicode = "๐Ÿ••", tags = [], x = 184, y = 736 } + , { name = "clock7", unicode = "๐Ÿ•–", tags = [], x = 276, y = 736 } + , { name = "clock8", unicode = "๐Ÿ•—", tags = [], x = 368, y = 736 } + , { name = "clock9", unicode = "๐Ÿ•˜", tags = [], x = 460, y = 736 } + , { name = "clock10", unicode = "๐Ÿ•™", tags = [], x = 736, y = 230 } + , { name = "clock11", unicode = "๐Ÿ•š", tags = [], x = 736, y = 322 } + , { name = "clock12", unicode = "๐Ÿ•›", tags = [], x = 736, y = 414 } + , { name = "clock130", unicode = "๐Ÿ•œ", tags = [], x = 736, y = 506 } + , { name = "clock230", unicode = "๐Ÿ•", tags = [], x = 736, y = 598 } + , { name = "clock330", unicode = "๐Ÿ•ž", tags = [], x = 736, y = 690 } + , { name = "clock430", unicode = "๐Ÿ•Ÿ", tags = [], x = 46, y = 736 } + , { name = "clock530", unicode = "๐Ÿ• ", tags = [], x = 138, y = 736 } + , { name = "clock630", unicode = "๐Ÿ•ก", tags = [], x = 230, y = 736 } + , { name = "clock730", unicode = "๐Ÿ•ข", tags = [], x = 322, y = 736 } + , { name = "clock830", unicode = "๐Ÿ•ฃ", tags = [], x = 414, y = 736 } + , { name = "clock930", unicode = "๐Ÿ•ค", tags = [], x = 506, y = 736 } + , { name = "clock1030", unicode = "๐Ÿ•ฅ", tags = [], x = 736, y = 276 } + , { name = "clock1130", unicode = "๐Ÿ•ฆ", tags = [], x = 736, y = 368 } + , { name = "clock1230", unicode = "๐Ÿ•ง", tags = [], x = 736, y = 460 } + ] + } diff --git a/src/Main.elm b/src/Main.elm new file mode 100644 index 0000000..8bb37f6 --- /dev/null +++ b/src/Main.elm @@ -0,0 +1,127 @@ +port module Main exposing (..) + +import Browser +import Element exposing (Element) +import Element.Border as Border +import Element.Input as Input +import Emoji +import Html +import Html.Attributes + + +main = + Browser.element + { init = init + , update = update + , subscriptions = \_ -> Sub.none + , view = view + } + + + +-- MODEL -- + + +type alias Model = + { category : Emoji.Category + } + + +init : () -> ( Model, Cmd Msg ) +init _ = + ( { category = Emoji.Recent }, Cmd.none ) + + +type Msg + = CategoryClicked Emoji.Category + | Copy String + + + +-- UPDATE -- + + +update : Msg -> Model -> ( Model, Cmd Msg ) +update msg model = + case msg of + CategoryClicked category -> + ( { model | category = category }, Cmd.none ) + + Copy c -> + ( model, copy c ) + + + +-- VIEW -- + + +view : Model -> Html.Html Msg +view model = + Element.layout [] + (Element.column [ Element.width (Element.px 512), Element.height (Element.px 512) ] + [ header, panel (Emoji.getEmojis model.category) ] + ) + + +header : Element Msg +header = + Element.row [ Element.width Element.fill, Element.padding 5, Element.spacing 10 ] + (Emoji.categories + |> List.map + (\x -> + Input.button [ Element.padding 5, Border.color (Element.rgb255 0 0 0), Border.width 1, Border.rounded 5 ] + { label = Element.el [] (emoji (Emoji.categoryEmoji x)) + , onPress = Just (CategoryClicked x) + } + ) + ) + + +panel : List Emoji.Emoji -> Element Msg +panel em = + em + |> regroup 10 + |> List.map (\x -> List.map maybeEmoji x) + |> List.map (Element.row [ Element.width Element.fill ]) + |> Element.column [ Element.width (Element.px 512), Element.height (Element.px 512), Element.scrollbarY ] + + +emoji : Emoji.Emoji -> Element Msg +emoji e = + Input.button [ Element.htmlAttribute (Html.Attributes.title e.name), Element.centerX, Element.centerY ] + { label = Element.text e.unicode, onPress = Just (Copy e.unicode) } + + +maybeEmoji : Maybe Emoji.Emoji -> Element Msg +maybeEmoji e = + Element.el [ Element.width Element.fill, Element.padding 10 ] (Maybe.map emoji e |> Maybe.withDefault Element.none) + + +regroup : Int -> List Emoji.Emoji -> List (List (Maybe Emoji.Emoji)) +regroup num input = + List.reverse (regroupAux [] [] num input) + + +regroupAux : List (List (Maybe Emoji.Emoji)) -> List (Maybe Emoji.Emoji) -> Int -> List Emoji.Emoji -> List (List (Maybe Emoji.Emoji)) +regroupAux currentTotal currentPart num input = + case input of + [] -> + if List.length currentPart < num then + regroupAux currentTotal (Nothing :: currentPart) num [] + + else + List.reverse currentPart :: currentTotal + + h :: t -> + if List.length currentPart >= num then + regroupAux (List.reverse currentPart :: currentTotal) [ Just h ] num t + + else + regroupAux currentTotal (Just h :: currentPart) num t + + + +-- PORTS -- + + +port copy : String -> Cmd msg