(function() {
'use strict';
function F2(fun)
{
function wrapper(a) { return function(b) { return fun(a,b); }; }
wrapper.arity = 2;
wrapper.func = fun;
return wrapper;
}
function F3(fun)
{
function wrapper(a) {
return function(b) { return function(c) { return fun(a, b, c); }; };
}
wrapper.arity = 3;
wrapper.func = fun;
return wrapper;
}
function F4(fun)
{
function wrapper(a) { return function(b) { return function(c) {
return function(d) { return fun(a, b, c, d); }; }; };
}
wrapper.arity = 4;
wrapper.func = fun;
return wrapper;
}
function F5(fun)
{
function wrapper(a) { return function(b) { return function(c) {
return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };
}
wrapper.arity = 5;
wrapper.func = fun;
return wrapper;
}
function F6(fun)
{
function wrapper(a) { return function(b) { return function(c) {
return function(d) { return function(e) { return function(f) {
return fun(a, b, c, d, e, f); }; }; }; }; };
}
wrapper.arity = 6;
wrapper.func = fun;
return wrapper;
}
function F7(fun)
{
function wrapper(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); }; }; }; }; }; };
}
wrapper.arity = 7;
wrapper.func = fun;
return wrapper;
}
function F8(fun)
{
function wrapper(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); }; }; }; }; }; }; };
}
wrapper.arity = 8;
wrapper.func = fun;
return wrapper;
}
function F9(fun)
{
function wrapper(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); }; }; }; }; }; }; }; };
}
wrapper.arity = 9;
wrapper.func = fun;
return wrapper;
}
function A2(fun, a, b)
{
return fun.arity === 2
? fun.func(a, b)
: fun(a)(b);
}
function A3(fun, a, b, c)
{
return fun.arity === 3
? fun.func(a, b, c)
: fun(a)(b)(c);
}
function A4(fun, a, b, c, d)
{
return fun.arity === 4
? fun.func(a, b, c, d)
: fun(a)(b)(c)(d);
}
function A5(fun, a, b, c, d, e)
{
return fun.arity === 5
? fun.func(a, b, c, d, e)
: fun(a)(b)(c)(d)(e);
}
function A6(fun, a, b, c, d, e, f)
{
return fun.arity === 6
? fun.func(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.arity === 7
? fun.func(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.arity === 8
? fun.func(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.arity === 9
? fun.func(a, b, c, d, e, f, g, h, i)
: fun(a)(b)(c)(d)(e)(f)(g)(h)(i);
}
//import Native.List //
var _elm_lang$core$Native_Array = function() {
// A RRB-Tree has two distinct data types.
// Leaf -> "height" is always 0
// "table" is an array of elements
// Node -> "height" is always greater than 0
// "table" is an array of child nodes
// "lengths" is an array of accumulated lengths of the child nodes
// M is the maximal table size. 32 seems fast. E is the allowed increase
// of search steps when concatting to find an index. Lower values will
// decrease balancing, but will increase search steps.
var M = 32;
var E = 2;
// An empty array.
var empty = {
ctor: '_Array',
height: 0,
table: []
};
function get(i, array)
{
if (i < 0 || i >= length(array))
{
throw new Error(
'Index ' + i + ' is out of range. Check the length of ' +
'your array first or use getMaybe or getWithDefault.');
}
return unsafeGet(i, array);
}
function unsafeGet(i, array)
{
for (var x = array.height; x > 0; x--)
{
var slot = i >> (x * 5);
while (array.lengths[slot] <= i)
{
slot++;
}
if (slot > 0)
{
i -= array.lengths[slot - 1];
}
array = array.table[slot];
}
return array.table[i];
}
// Sets the value at the index i. Only the nodes leading to i will get
// copied and updated.
function set(i, item, array)
{
if (i < 0 || length(array) <= i)
{
return array;
}
return unsafeSet(i, item, array);
}
function unsafeSet(i, item, array)
{
array = nodeCopy(array);
if (array.height === 0)
{
array.table[i] = item;
}
else
{
var slot = getSlot(i, array);
if (slot > 0)
{
i -= array.lengths[slot - 1];
}
array.table[slot] = unsafeSet(i, item, array.table[slot]);
}
return array;
}
function initialize(len, f)
{
if (len <= 0)
{
return empty;
}
var h = Math.floor( Math.log(len) / Math.log(M) );
return initialize_(f, h, 0, len);
}
function initialize_(f, h, from, to)
{
if (h === 0)
{
var table = new Array((to - from) % (M + 1));
for (var i = 0; i < table.length; i++)
{
table[i] = f(from + i);
}
return {
ctor: '_Array',
height: 0,
table: table
};
}
var step = Math.pow(M, h);
var table = new Array(Math.ceil((to - from) / step));
var lengths = new Array(table.length);
for (var i = 0; i < table.length; i++)
{
table[i] = initialize_(f, h - 1, from + (i * step), Math.min(from + ((i + 1) * step), to));
lengths[i] = length(table[i]) + (i > 0 ? lengths[i-1] : 0);
}
return {
ctor: '_Array',
height: h,
table: table,
lengths: lengths
};
}
function fromList(list)
{
if (list.ctor === '[]')
{
return empty;
}
// Allocate M sized blocks (table) and write list elements to it.
var table = new Array(M);
var nodes = [];
var i = 0;
while (list.ctor !== '[]')
{
table[i] = list._0;
list = list._1;
i++;
// table is full, so we can push a leaf containing it into the
// next node.
if (i === M)
{
var leaf = {
ctor: '_Array',
height: 0,
table: table
};
fromListPush(leaf, nodes);
table = new Array(M);
i = 0;
}
}
// Maybe there is something left on the table.
if (i > 0)
{
var leaf = {
ctor: '_Array',
height: 0,
table: table.splice(0, i)
};
fromListPush(leaf, nodes);
}
// Go through all of the nodes and eventually push them into higher nodes.
for (var h = 0; h < nodes.length - 1; h++)
{
if (nodes[h].table.length > 0)
{
fromListPush(nodes[h], nodes);
}
}
var head = nodes[nodes.length - 1];
if (head.height > 0 && head.table.length === 1)
{
return head.table[0];
}
else
{
return head;
}
}
// Push a node into a higher node as a child.
function fromListPush(toPush, nodes)
{
var h = toPush.height;
// Maybe the node on this height does not exist.
if (nodes.length === h)
{
var node = {
ctor: '_Array',
height: h + 1,
table: [],
lengths: []
};
nodes.push(node);
}
nodes[h].table.push(toPush);
var len = length(toPush);
if (nodes[h].lengths.length > 0)
{
len += nodes[h].lengths[nodes[h].lengths.length - 1];
}
nodes[h].lengths.push(len);
if (nodes[h].table.length === M)
{
fromListPush(nodes[h], nodes);
nodes[h] = {
ctor: '_Array',
height: h + 1,
table: [],
lengths: []
};
}
}
// Pushes an item via push_ to the bottom right of a tree.
function push(item, a)
{
var pushed = push_(item, a);
if (pushed !== null)
{
return pushed;
}
var newTree = create(item, a.height);
return siblise(a, newTree);
}
// Recursively tries to push an item to the bottom-right most
// tree possible. If there is no space left for the item,
// null will be returned.
function push_(item, a)
{
// Handle resursion stop at leaf level.
if (a.height === 0)
{
if (a.table.length < M)
{
var newA = {
ctor: '_Array',
height: 0,
table: a.table.slice()
};
newA.table.push(item);
return newA;
}
else
{
return null;
}
}
// Recursively push
var pushed = push_(item, botRight(a));
// There was space in the bottom right tree, so the slot will
// be updated.
if (pushed !== null)
{
var newA = nodeCopy(a);
newA.table[newA.table.length - 1] = pushed;
newA.lengths[newA.lengths.length - 1]++;
return newA;
}
// When there was no space left, check if there is space left
// for a new slot with a tree which contains only the item
// at the bottom.
if (a.table.length < M)
{
var newSlot = create(item, a.height - 1);
var newA = nodeCopy(a);
newA.table.push(newSlot);
newA.lengths.push(newA.lengths[newA.lengths.length - 1] + length(newSlot));
return newA;
}
else
{
return null;
}
}
// Converts an array into a list of elements.
function toList(a)
{
return toList_(_elm_lang$core$Native_List.Nil, a);
}
function toList_(list, a)
{
for (var i = a.table.length - 1; i >= 0; i--)
{
list =
a.height === 0
? _elm_lang$core$Native_List.Cons(a.table[i], list)
: toList_(list, a.table[i]);
}
return list;
}
// Maps a function over the elements of an array.
function map(f, a)
{
var newA = {
ctor: '_Array',
height: a.height,
table: new Array(a.table.length)
};
if (a.height > 0)
{
newA.lengths = a.lengths;
}
for (var i = 0; i < a.table.length; i++)
{
newA.table[i] =
a.height === 0
? f(a.table[i])
: map(f, a.table[i]);
}
return newA;
}
// Maps a function over the elements with their index as first argument.
function indexedMap(f, a)
{
return indexedMap_(f, a, 0);
}
function indexedMap_(f, a, from)
{
var newA = {
ctor: '_Array',
height: a.height,
table: new Array(a.table.length)
};
if (a.height > 0)
{
newA.lengths = a.lengths;
}
for (var i = 0; i < a.table.length; i++)
{
newA.table[i] =
a.height === 0
? A2(f, from + i, a.table[i])
: indexedMap_(f, a.table[i], i == 0 ? from : from + a.lengths[i - 1]);
}
return newA;
}
function foldl(f, b, a)
{
if (a.height === 0)
{
for (var i = 0; i < a.table.length; i++)
{
b = A2(f, a.table[i], b);
}
}
else
{
for (var i = 0; i < a.table.length; i++)
{
b = foldl(f, b, a.table[i]);
}
}
return b;
}
function foldr(f, b, a)
{
if (a.height === 0)
{
for (var i = a.table.length; i--; )
{
b = A2(f, a.table[i], b);
}
}
else
{
for (var i = a.table.length; i--; )
{
b = foldr(f, b, a.table[i]);
}
}
return b;
}
// TODO: currently, it slices the right, then the left. This can be
// optimized.
function slice(from, to, a)
{
if (from < 0)
{
from += length(a);
}
if (to < 0)
{
to += length(a);
}
return sliceLeft(from, sliceRight(to, a));
}
function sliceRight(to, a)
{
if (to === length(a))
{
return a;
}
// Handle leaf level.
if (a.height === 0)
{
var newA = { ctor:'_Array', height:0 };
newA.table = a.table.slice(0, to);
return newA;
}
// Slice the right recursively.
var right = getSlot(to, a);
var sliced = sliceRight(to - (right > 0 ? a.lengths[right - 1] : 0), a.table[right]);
// Maybe the a node is not even needed, as sliced contains the whole slice.
if (right === 0)
{
return sliced;
}
// Create new node.
var newA = {
ctor: '_Array',
height: a.height,
table: a.table.slice(0, right),
lengths: a.lengths.slice(0, right)
};
if (sliced.table.length > 0)
{
newA.table[right] = sliced;
newA.lengths[right] = length(sliced) + (right > 0 ? newA.lengths[right - 1] : 0);
}
return newA;
}
function sliceLeft(from, a)
{
if (from === 0)
{
return a;
}
// Handle leaf level.
if (a.height === 0)
{
var newA = { ctor:'_Array', height:0 };
newA.table = a.table.slice(from, a.table.length + 1);
return newA;
}
// Slice the left recursively.
var left = getSlot(from, a);
var sliced = sliceLeft(from - (left > 0 ? a.lengths[left - 1] : 0), a.table[left]);
// Maybe the a node is not even needed, as sliced contains the whole slice.
if (left === a.table.length - 1)
{
return sliced;
}
// Create new node.
var newA = {
ctor: '_Array',
height: a.height,
table: a.table.slice(left, a.table.length + 1),
lengths: new Array(a.table.length - left)
};
newA.table[0] = sliced;
var len = 0;
for (var i = 0; i < newA.table.length; i++)
{
len += length(newA.table[i]);
newA.lengths[i] = len;
}
return newA;
}
// Appends two trees.
function append(a,b)
{
if (a.table.length === 0)
{
return b;
}
if (b.table.length === 0)
{
return a;
}
var c = append_(a, b);
// Check if both nodes can be crunshed together.
if (c[0].table.length + c[1].table.length <= M)
{
if (c[0].table.length === 0)
{
return c[1];
}
if (c[1].table.length === 0)
{
return c[0];
}
// Adjust .table and .lengths
c[0].table = c[0].table.concat(c[1].table);
if (c[0].height > 0)
{
var len = length(c[0]);
for (var i = 0; i < c[1].lengths.length; i++)
{
c[1].lengths[i] += len;
}
c[0].lengths = c[0].lengths.concat(c[1].lengths);
}
return c[0];
}
if (c[0].height > 0)
{
var toRemove = calcToRemove(a, b);
if (toRemove > E)
{
c = shuffle(c[0], c[1], toRemove);
}
}
return siblise(c[0], c[1]);
}
// Returns an array of two nodes; right and left. One node _may_ be empty.
function append_(a, b)
{
if (a.height === 0 && b.height === 0)
{
return [a, b];
}
if (a.height !== 1 || b.height !== 1)
{
if (a.height === b.height)
{
a = nodeCopy(a);
b = nodeCopy(b);
var appended = append_(botRight(a), botLeft(b));
insertRight(a, appended[1]);
insertLeft(b, appended[0]);
}
else if (a.height > b.height)
{
a = nodeCopy(a);
var appended = append_(botRight(a), b);
insertRight(a, appended[0]);
b = parentise(appended[1], appended[1].height + 1);
}
else
{
b = nodeCopy(b);
var appended = append_(a, botLeft(b));
var left = appended[0].table.length === 0 ? 0 : 1;
var right = left === 0 ? 1 : 0;
insertLeft(b, appended[left]);
a = parentise(appended[right], appended[right].height + 1);
}
}
// Check if balancing is needed and return based on that.
if (a.table.length === 0 || b.table.length === 0)
{
return [a, b];
}
var toRemove = calcToRemove(a, b);
if (toRemove <= E)
{
return [a, b];
}
return shuffle(a, b, toRemove);
}
// Helperfunctions for append_. Replaces a child node at the side of the parent.
function insertRight(parent, node)
{
var index = parent.table.length - 1;
parent.table[index] = node;
parent.lengths[index] = length(node);
parent.lengths[index] += index > 0 ? parent.lengths[index - 1] : 0;
}
function insertLeft(parent, node)
{
if (node.table.length > 0)
{
parent.table[0] = node;
parent.lengths[0] = length(node);
var len = length(parent.table[0]);
for (var i = 1; i < parent.lengths.length; i++)
{
len += length(parent.table[i]);
parent.lengths[i] = len;
}
}
else
{
parent.table.shift();
for (var i = 1; i < parent.lengths.length; i++)
{
parent.lengths[i] = parent.lengths[i] - parent.lengths[0];
}
parent.lengths.shift();
}
}
// Returns the extra search steps for E. Refer to the paper.
function calcToRemove(a, b)
{
var subLengths = 0;
for (var i = 0; i < a.table.length; i++)
{
subLengths += a.table[i].table.length;
}
for (var i = 0; i < b.table.length; i++)
{
subLengths += b.table[i].table.length;
}
var toRemove = a.table.length + b.table.length;
return toRemove - (Math.floor((subLengths - 1) / M) + 1);
}
// get2, set2 and saveSlot are helpers for accessing elements over two arrays.
function get2(a, b, index)
{
return index < a.length
? a[index]
: b[index - a.length];
}
function set2(a, b, index, value)
{
if (index < a.length)
{
a[index] = value;
}
else
{
b[index - a.length] = value;
}
}
function saveSlot(a, b, index, slot)
{
set2(a.table, b.table, index, slot);
var l = (index === 0 || index === a.lengths.length)
? 0
: get2(a.lengths, a.lengths, index - 1);
set2(a.lengths, b.lengths, index, l + length(slot));
}
// Creates a node or leaf with a given length at their arrays for perfomance.
// Is only used by shuffle.
function createNode(h, length)
{
if (length < 0)
{
length = 0;
}
var a = {
ctor: '_Array',
height: h,
table: new Array(length)
};
if (h > 0)
{
a.lengths = new Array(length);
}
return a;
}
// Returns an array of two balanced nodes.
function shuffle(a, b, toRemove)
{
var newA = createNode(a.height, Math.min(M, a.table.length + b.table.length - toRemove));
var newB = createNode(a.height, newA.table.length - (a.table.length + b.table.length - toRemove));
// Skip the slots with size M. More precise: copy the slot references
// to the new node
var read = 0;
while (get2(a.table, b.table, read).table.length % M === 0)
{
set2(newA.table, newB.table, read, get2(a.table, b.table, read));
set2(newA.lengths, newB.lengths, read, get2(a.lengths, b.lengths, read));
read++;
}
// Pulling items from left to right, caching in a slot before writing
// it into the new nodes.
var write = read;
var slot = new createNode(a.height - 1, 0);
var from = 0;
// If the current slot is still containing data, then there will be at
// least one more write, so we do not break this loop yet.
while (read - write - (slot.table.length > 0 ? 1 : 0) < toRemove)
{
// Find out the max possible items for copying.
var source = get2(a.table, b.table, read);
var to = Math.min(M - slot.table.length, source.table.length);
// Copy and adjust size table.
slot.table = slot.table.concat(source.table.slice(from, to));
if (slot.height > 0)
{
var len = slot.lengths.length;
for (var i = len; i < len + to - from; i++)
{
slot.lengths[i] = length(slot.table[i]);
slot.lengths[i] += (i > 0 ? slot.lengths[i - 1] : 0);
}
}
from += to;
// Only proceed to next slots[i] if the current one was
// fully copied.
if (source.table.length <= to)
{
read++; from = 0;
}
// Only create a new slot if the current one is filled up.
if (slot.table.length === M)
{
saveSlot(newA, newB, write, slot);
slot = createNode(a.height - 1, 0);
write++;
}
}
// Cleanup after the loop. Copy the last slot into the new nodes.
if (slot.table.length > 0)
{
saveSlot(newA, newB, write, slot);
write++;
}
// Shift the untouched slots to the left
while (read < a.table.length + b.table.length )
{
saveSlot(newA, newB, write, get2(a.table, b.table, read));
read++;
write++;
}
return [newA, newB];
}
// Navigation functions
function botRight(a)
{
return a.table[a.table.length - 1];
}
function botLeft(a)
{
return a.table[0];
}
// Copies a node for updating. Note that you should not use this if
// only updating only one of "table" or "lengths" for performance reasons.
function nodeCopy(a)
{
var newA = {
ctor: '_Array',
height: a.height,
table: a.table.slice()
};
if (a.height > 0)
{
newA.lengths = a.lengths.slice();
}
return newA;
}
// Returns how many items are in the tree.
function length(array)
{
if (array.height === 0)
{
return array.table.length;
}
else
{
return array.lengths[array.lengths.length - 1];
}
}
// Calculates in which slot of "table" the item probably is, then
// find the exact slot via forward searching in "lengths". Returns the index.
function getSlot(i, a)
{
var slot = i >> (5 * a.height);
while (a.lengths[slot] <= i)
{
slot++;
}
return slot;
}
// Recursively creates a tree with a given height containing
// only the given item.
function create(item, h)
{
if (h === 0)
{
return {
ctor: '_Array',
height: 0,
table: [item]
};
}
return {
ctor: '_Array',
height: h,
table: [create(item, h - 1)],
lengths: [1]
};
}
// Recursively creates a tree that contains the given tree.
function parentise(tree, h)
{
if (h === tree.height)
{
return tree;
}
return {
ctor: '_Array',
height: h,
table: [parentise(tree, h - 1)],
lengths: [length(tree)]
};
}
// Emphasizes blood brotherhood beneath two trees.
function siblise(a, b)
{
return {
ctor: '_Array',
height: a.height + 1,
table: [a, b],
lengths: [length(a), length(a) + length(b)]
};
}
function toJSArray(a)
{
var jsArray = new Array(length(a));
toJSArray_(jsArray, 0, a);
return jsArray;
}
function toJSArray_(jsArray, i, a)
{
for (var t = 0; t < a.table.length; t++)
{
if (a.height === 0)
{
jsArray[i + t] = a.table[t];
}
else
{
var inc = t === 0 ? 0 : a.lengths[t - 1];
toJSArray_(jsArray, i + inc, a.table[t]);
}
}
}
function fromJSArray(jsArray)
{
if (jsArray.length === 0)
{
return empty;
}
var h = Math.floor(Math.log(jsArray.length) / Math.log(M));
return fromJSArray_(jsArray, h, 0, jsArray.length);
}
function fromJSArray_(jsArray, h, from, to)
{
if (h === 0)
{
return {
ctor: '_Array',
height: 0,
table: jsArray.slice(from, to)
};
}
var step = Math.pow(M, h);
var table = new Array(Math.ceil((to - from) / step));
var lengths = new Array(table.length);
for (var i = 0; i < table.length; i++)
{
table[i] = fromJSArray_(jsArray, h - 1, from + (i * step), Math.min(from + ((i + 1) * step), to));
lengths[i] = length(table[i]) + (i > 0 ? lengths[i - 1] : 0);
}
return {
ctor: '_Array',
height: h,
table: table,
lengths: lengths
};
}
return {
empty: empty,
fromList: fromList,
toList: toList,
initialize: F2(initialize),
append: F2(append),
push: F2(push),
slice: F3(slice),
get: F2(get),
set: F3(set),
map: F2(map),
indexedMap: F2(indexedMap),
foldl: F3(foldl),
foldr: F3(foldr),
length: length,
toJSArray: toJSArray,
fromJSArray: fromJSArray
};
}();
//import Native.Utils //
var _elm_lang$core$Native_Basics = function() {
function div(a, b)
{
return (a / b) | 0;
}
function rem(a, b)
{
return a % b;
}
function mod(a, b)
{
if (b === 0)
{
throw new Error('Cannot perform mod 0. Division by zero error.');
}
var r = a % b;
var m = a === 0 ? 0 : (b > 0 ? (a >= 0 ? r : r + b) : -mod(-a, -b));
return m === b ? 0 : m;
}
function logBase(base, n)
{
return Math.log(n) / Math.log(base);
}
function negate(n)
{
return -n;
}
function abs(n)
{
return n < 0 ? -n : n;
}
function min(a, b)
{
return _elm_lang$core$Native_Utils.cmp(a, b) < 0 ? a : b;
}
function max(a, b)
{
return _elm_lang$core$Native_Utils.cmp(a, b) > 0 ? a : b;
}
function clamp(lo, hi, n)
{
return _elm_lang$core$Native_Utils.cmp(n, lo) < 0
? lo
: _elm_lang$core$Native_Utils.cmp(n, hi) > 0
? hi
: n;
}
var ord = ['LT', 'EQ', 'GT'];
function compare(x, y)
{
return { ctor: ord[_elm_lang$core$Native_Utils.cmp(x, y) + 1] };
}
function xor(a, b)
{
return a !== b;
}
function not(b)
{
return !b;
}
function isInfinite(n)
{
return n === Infinity || n === -Infinity;
}
function truncate(n)
{
return n | 0;
}
function degrees(d)
{
return d * Math.PI / 180;
}
function turns(t)
{
return 2 * Math.PI * t;
}
function fromPolar(point)
{
var r = point._0;
var t = point._1;
return _elm_lang$core$Native_Utils.Tuple2(r * Math.cos(t), r * Math.sin(t));
}
function toPolar(point)
{
var x = point._0;
var y = point._1;
return _elm_lang$core$Native_Utils.Tuple2(Math.sqrt(x * x + y * y), Math.atan2(y, x));
}
return {
div: F2(div),
rem: F2(rem),
mod: F2(mod),
pi: Math.PI,
e: Math.E,
cos: Math.cos,
sin: Math.sin,
tan: Math.tan,
acos: Math.acos,
asin: Math.asin,
atan: Math.atan,
atan2: F2(Math.atan2),
degrees: degrees,
turns: turns,
fromPolar: fromPolar,
toPolar: toPolar,
sqrt: Math.sqrt,
logBase: F2(logBase),
negate: negate,
abs: abs,
min: F2(min),
max: F2(max),
clamp: F3(clamp),
compare: F2(compare),
xor: F2(xor),
not: not,
truncate: truncate,
ceiling: Math.ceil,
floor: Math.floor,
round: Math.round,
toFloat: function(x) { return x; },
isNaN: isNaN,
isInfinite: isInfinite
};
}();
//import //
var _elm_lang$core$Native_Utils = function() {
// COMPARISONS
function eq(x, y)
{
var stack = [];
var isEqual = eqHelp(x, y, 0, stack);
var pair;
while (isEqual && (pair = stack.pop()))
{
isEqual = eqHelp(pair.x, pair.y, 0, stack);
}
return isEqual;
}
function eqHelp(x, y, depth, stack)
{
if (depth > 100)
{
stack.push({ x: x, y: y });
return true;
}
if (x === y)
{
return true;
}
if (typeof x !== 'object')
{
if (typeof x === 'function')
{
throw new Error(
'Trying to use `(==)` on functions. There is no way to know if functions are "the same" in the Elm sense.'
+ ' Read more about this at http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#=='
+ ' which describes why it is this way and what the better version will look like.'
);
}
return false;
}
if (x === null || y === null)
{
return false
}
if (x instanceof Date)
{
return x.getTime() === y.getTime();
}
if (!('ctor' in x))
{
for (var key in x)
{
if (!eqHelp(x[key], y[key], depth + 1, stack))
{
return false;
}
}
return true;
}
// convert Dicts and Sets to lists
if (x.ctor === 'RBNode_elm_builtin' || x.ctor === 'RBEmpty_elm_builtin')
{
x = _elm_lang$core$Dict$toList(x);
y = _elm_lang$core$Dict$toList(y);
}
if (x.ctor === 'Set_elm_builtin')
{
x = _elm_lang$core$Set$toList(x);
y = _elm_lang$core$Set$toList(y);
}
// check if lists are equal without recursion
if (x.ctor === '::')
{
var a = x;
var b = y;
while (a.ctor === '::' && b.ctor === '::')
{
if (!eqHelp(a._0, b._0, depth + 1, stack))
{
return false;
}
a = a._1;
b = b._1;
}
return a.ctor === b.ctor;
}
// check if Arrays are equal
if (x.ctor === '_Array')
{
var xs = _elm_lang$core$Native_Array.toJSArray(x);
var ys = _elm_lang$core$Native_Array.toJSArray(y);
if (xs.length !== ys.length)
{
return false;
}
for (var i = 0; i < xs.length; i++)
{
if (!eqHelp(xs[i], ys[i], depth + 1, stack))
{
return false;
}
}
return true;
}
if (!eqHelp(x.ctor, y.ctor, depth + 1, stack))
{
return false;
}
for (var key in x)
{
if (!eqHelp(x[key], y[key], depth + 1, stack))
{
return false;
}
}
return true;
}
// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on
// the particular integer values assigned to LT, EQ, and GT.
var LT = -1, EQ = 0, GT = 1;
function cmp(x, y)
{
if (typeof x !== 'object')
{
return x === y ? EQ : x < y ? LT : GT;
}
if (x instanceof String)
{
var a = x.valueOf();
var b = y.valueOf();
return a === b ? EQ : a < b ? LT : GT;
}
if (x.ctor === '::' || x.ctor === '[]')
{
while (x.ctor === '::' && y.ctor === '::')
{
var ord = cmp(x._0, y._0);
if (ord !== EQ)
{
return ord;
}
x = x._1;
y = y._1;
}
return x.ctor === y.ctor ? EQ : x.ctor === '[]' ? LT : GT;
}
if (x.ctor.slice(0, 6) === '_Tuple')
{
var ord;
var n = x.ctor.slice(6) - 0;
var err = 'cannot compare tuples with more than 6 elements.';
if (n === 0) return EQ;
if (n >= 1) { ord = cmp(x._0, y._0); if (ord !== EQ) return ord;
if (n >= 2) { ord = cmp(x._1, y._1); if (ord !== EQ) return ord;
if (n >= 3) { ord = cmp(x._2, y._2); if (ord !== EQ) return ord;
if (n >= 4) { ord = cmp(x._3, y._3); if (ord !== EQ) return ord;
if (n >= 5) { ord = cmp(x._4, y._4); if (ord !== EQ) return ord;
if (n >= 6) { ord = cmp(x._5, y._5); if (ord !== EQ) return ord;
if (n >= 7) throw new Error('Comparison error: ' + err); } } } } } }
return EQ;
}
throw new Error(
'Comparison error: comparison is only defined on ints, '
+ 'floats, times, chars, strings, lists of comparable values, '
+ 'and tuples of comparable values.'
);
}
// COMMON VALUES
var Tuple0 = {
ctor: '_Tuple0'
};
function Tuple2(x, y)
{
return {
ctor: '_Tuple2',
_0: x,
_1: y
};
}
function chr(c)
{
return new String(c);
}
// GUID
var count = 0;
function guid(_)
{
return count++;
}
// RECORDS
function 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;
}
//// LIST STUFF ////
var Nil = { ctor: '[]' };
function Cons(hd, tl)
{
return {
ctor: '::',
_0: hd,
_1: tl
};
}
function append(xs, ys)
{
// append Strings
if (typeof xs === 'string')
{
return xs + ys;
}
// append Lists
if (xs.ctor === '[]')
{
return ys;
}
var root = Cons(xs._0, Nil);
var curr = root;
xs = xs._1;
while (xs.ctor !== '[]')
{
curr._1 = Cons(xs._0, Nil);
xs = xs._1;
curr = curr._1;
}
curr._1 = ys;
return root;
}
// CRASHES
function crash(moduleName, region)
{
return function(message) {
throw new Error(
'Ran into a `Debug.crash` in module `' + moduleName + '` ' + regionToString(region) + '\n'
+ 'The message provided by the code author is:\n\n '
+ message
);
};
}
function crashCase(moduleName, region, value)
{
return function(message) {
throw new Error(
'Ran into a `Debug.crash` in module `' + moduleName + '`\n\n'
+ 'This was caused by the `case` expression ' + regionToString(region) + '.\n'
+ 'One of the branches ended with a crash and the following value got through:\n\n ' + toString(value) + '\n\n'
+ 'The message provided by the code author is:\n\n '
+ message
);
};
}
function regionToString(region)
{
if (region.start.line == region.end.line)
{
return 'on line ' + region.start.line;
}
return 'between lines ' + region.start.line + ' and ' + region.end.line;
}
// TO STRING
function toString(v)
{
var type = typeof v;
if (type === 'function')
{
return ' "+text+"Oops! Something went wrong when starting your Elm program.
'
+ '' + errorMessage + '
'
+ '
"}return'"+(escaped?code:escape(code,true))+"\n
\n"};Renderer.prototype.blockquote=function(quote){return"'+(escaped?code:escape(code,true))+"\n\n"+quote+"
\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"
\n":"
\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+""+type+">\n"};Renderer.prototype.listitem=function(text){return"\n"+"\n"+header+"\n"+"\n"+body+"\n"+"
\n"};Renderer.prototype.tablerow=function(content){return"\n"+content+" \n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+""+type+">\n"};Renderer.prototype.strong=function(text){return""+text+""};Renderer.prototype.em=function(text){return""+text+""};Renderer.prototype.codespan=function(text){return""+text+""};Renderer.prototype.br=function(){return this.options.xhtml?"
":"
"};Renderer.prototype.del=function(text){return""+text+""};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0||prot.indexOf("data:")===0){return""}}var out='"+text+"";return out};Renderer.prototype.image=function(href,title,text){var out='":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i
"+escape(e.message+"",true)+""}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); return module.exports; }(); // FORMAT OPTIONS FOR MARKED IMPLEMENTATION function formatOptions(options) { function toHighlight(code, lang) { if (!lang && options.defaultHighlighting.ctor === 'Just') { lang = options.defaultHighlighting._0; } if (typeof hljs !== 'undefined' && lang && hljs.listLanguages().indexOf(lang) >= 0) { return hljs.highlight(lang, code, true).value; } return code; } var gfm = options.githubFlavored; if (gfm.ctor === 'Just') { return { highlight: toHighlight, gfm: true, tables: gfm._0.tables, breaks: gfm._0.breaks, sanitize: options.sanitize, smartypants: options.smartypants }; } return { highlight: toHighlight, gfm: false, tables: false, breaks: false, sanitize: options.sanitize, smartypants: options.smartypants }; } // EXPORTS return { toHtml: F3(toHtml) }; }(); var _evancz$elm_markdown$Markdown$toHtmlWith = _evancz$elm_markdown$Native_Markdown.toHtml; var _evancz$elm_markdown$Markdown$defaultOptions = { githubFlavored: _elm_lang$core$Maybe$Just( {tables: false, breaks: false}), defaultHighlighting: _elm_lang$core$Maybe$Nothing, sanitize: false, smartypants: false }; var _evancz$elm_markdown$Markdown$toHtml = F2( function (attrs, string) { return A3(_evancz$elm_markdown$Native_Markdown.toHtml, _evancz$elm_markdown$Markdown$defaultOptions, attrs, string); }); var _evancz$elm_markdown$Markdown$Options = F4( function (a, b, c, d) { return {githubFlavored: a, defaultHighlighting: b, sanitize: c, smartypants: d}; }); var _evancz$url_parser$UrlParser$toKeyValuePair = function (segment) { var _p0 = A2(_elm_lang$core$String$split, '=', segment); if (((_p0.ctor === '::') && (_p0._1.ctor === '::')) && (_p0._1._1.ctor === '[]')) { return A3( _elm_lang$core$Maybe$map2, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), _elm_lang$http$Http$decodeUri(_p0._0), _elm_lang$http$Http$decodeUri(_p0._1._0)); } else { return _elm_lang$core$Maybe$Nothing; } }; var _evancz$url_parser$UrlParser$parseParams = function (queryString) { return _elm_lang$core$Dict$fromList( A2( _elm_lang$core$List$filterMap, _evancz$url_parser$UrlParser$toKeyValuePair, A2( _elm_lang$core$String$split, '&', A2(_elm_lang$core$String$dropLeft, 1, queryString)))); }; var _evancz$url_parser$UrlParser$splitUrl = function (url) { var _p1 = A2(_elm_lang$core$String$split, '/', url); if ((_p1.ctor === '::') && (_p1._0 === '')) { return _p1._1; } else { return _p1; } }; var _evancz$url_parser$UrlParser$parseHelp = function (states) { parseHelp: while (true) { var _p2 = states; if (_p2.ctor === '[]') { return _elm_lang$core$Maybe$Nothing; } else { var _p4 = _p2._0; var _p3 = _p4.unvisited; if (_p3.ctor === '[]') { return _elm_lang$core$Maybe$Just(_p4.value); } else { if ((_p3._0 === '') && (_p3._1.ctor === '[]')) { return _elm_lang$core$Maybe$Just(_p4.value); } else { var _v4 = _p2._1; states = _v4; continue parseHelp; } } } } }; var _evancz$url_parser$UrlParser$parse = F3( function (_p5, url, params) { var _p6 = _p5; return _evancz$url_parser$UrlParser$parseHelp( _p6._0( { visited: {ctor: '[]'}, unvisited: _evancz$url_parser$UrlParser$splitUrl(url), params: params, value: _elm_lang$core$Basics$identity })); }); var _evancz$url_parser$UrlParser$parseHash = F2( function (parser, location) { return A3( _evancz$url_parser$UrlParser$parse, parser, A2(_elm_lang$core$String$dropLeft, 1, location.hash), _evancz$url_parser$UrlParser$parseParams(location.search)); }); var _evancz$url_parser$UrlParser$parsePath = F2( function (parser, location) { return A3( _evancz$url_parser$UrlParser$parse, parser, location.pathname, _evancz$url_parser$UrlParser$parseParams(location.search)); }); var _evancz$url_parser$UrlParser$intParamHelp = function (maybeValue) { var _p7 = maybeValue; if (_p7.ctor === 'Nothing') { return _elm_lang$core$Maybe$Nothing; } else { return _elm_lang$core$Result$toMaybe( _elm_lang$core$String$toInt(_p7._0)); } }; var _evancz$url_parser$UrlParser$mapHelp = F2( function (func, _p8) { var _p9 = _p8; return { visited: _p9.visited, unvisited: _p9.unvisited, params: _p9.params, value: func(_p9.value) }; }); var _evancz$url_parser$UrlParser$State = F4( function (a, b, c, d) { return {visited: a, unvisited: b, params: c, value: d}; }); var _evancz$url_parser$UrlParser$Parser = function (a) { return {ctor: 'Parser', _0: a}; }; var _evancz$url_parser$UrlParser$s = function (str) { return _evancz$url_parser$UrlParser$Parser( function (_p10) { var _p11 = _p10; var _p12 = _p11.unvisited; if (_p12.ctor === '[]') { return {ctor: '[]'}; } else { var _p13 = _p12._0; return _elm_lang$core$Native_Utils.eq(_p13, str) ? { ctor: '::', _0: A4( _evancz$url_parser$UrlParser$State, {ctor: '::', _0: _p13, _1: _p11.visited}, _p12._1, _p11.params, _p11.value), _1: {ctor: '[]'} } : {ctor: '[]'}; } }); }; var _evancz$url_parser$UrlParser$custom = F2( function (tipe, stringToSomething) { return _evancz$url_parser$UrlParser$Parser( function (_p14) { var _p15 = _p14; var _p16 = _p15.unvisited; if (_p16.ctor === '[]') { return {ctor: '[]'}; } else { var _p18 = _p16._0; var _p17 = stringToSomething(_p18); if (_p17.ctor === 'Ok') { return { ctor: '::', _0: A4( _evancz$url_parser$UrlParser$State, {ctor: '::', _0: _p18, _1: _p15.visited}, _p16._1, _p15.params, _p15.value(_p17._0)), _1: {ctor: '[]'} }; } else { return {ctor: '[]'}; } } }); }); var _evancz$url_parser$UrlParser$string = A2(_evancz$url_parser$UrlParser$custom, 'STRING', _elm_lang$core$Result$Ok); var _evancz$url_parser$UrlParser$int = A2(_evancz$url_parser$UrlParser$custom, 'NUMBER', _elm_lang$core$String$toInt); var _evancz$url_parser$UrlParser_ops = _evancz$url_parser$UrlParser_ops || {}; _evancz$url_parser$UrlParser_ops['>'] = F2( function (_p20, _p19) { var _p21 = _p20; var _p22 = _p19; return _evancz$url_parser$UrlParser$Parser( function (state) { return A2( _elm_lang$core$List$concatMap, _p22._0, _p21._0(state)); }); }); var _evancz$url_parser$UrlParser$map = F2( function (subValue, _p23) { var _p24 = _p23; return _evancz$url_parser$UrlParser$Parser( function (_p25) { var _p26 = _p25; return A2( _elm_lang$core$List$map, _evancz$url_parser$UrlParser$mapHelp(_p26.value), _p24._0( {visited: _p26.visited, unvisited: _p26.unvisited, params: _p26.params, value: subValue})); }); }); var _evancz$url_parser$UrlParser$oneOf = function (parsers) { return _evancz$url_parser$UrlParser$Parser( function (state) { return A2( _elm_lang$core$List$concatMap, function (_p27) { var _p28 = _p27; return _p28._0(state); }, parsers); }); }; var _evancz$url_parser$UrlParser$top = _evancz$url_parser$UrlParser$Parser( function (state) { return { ctor: '::', _0: state, _1: {ctor: '[]'} }; }); var _evancz$url_parser$UrlParser_ops = _evancz$url_parser$UrlParser_ops || {}; _evancz$url_parser$UrlParser_ops['>'] = F2( function (_p30, _p29) { var _p31 = _p30; var _p32 = _p29; return _evancz$url_parser$UrlParser$Parser( function (state) { return A2( _elm_lang$core$List$concatMap, _p32._0, _p31._0(state)); }); }); var _evancz$url_parser$UrlParser$QueryParser = function (a) { return {ctor: 'QueryParser', _0: a}; }; var _evancz$url_parser$UrlParser$customParam = F2( function (key, func) { return _evancz$url_parser$UrlParser$QueryParser( function (_p33) { var _p34 = _p33; var _p35 = _p34.params; return { ctor: '::', _0: A4( _evancz$url_parser$UrlParser$State, _p34.visited, _p34.unvisited, _p35, _p34.value( func( A2(_elm_lang$core$Dict$get, key, _p35)))), _1: {ctor: '[]'} }; }); }); var _evancz$url_parser$UrlParser$stringParam = function (name) { return A2(_evancz$url_parser$UrlParser$customParam, name, _elm_lang$core$Basics$identity); }; var _evancz$url_parser$UrlParser$intParam = function (name) { return A2(_evancz$url_parser$UrlParser$customParam, name, _evancz$url_parser$UrlParser$intParamHelp); }; var _ggb$numeral_elm$Language$Delimiters = F2( function (a, b) { return {thousands: a, decimal: b}; }); var _ggb$numeral_elm$Language$Abbreviations = F4( function (a, b, c, d) { return {thousand: a, million: b, billion: c, trillion: d}; }); var _ggb$numeral_elm$Language$Currency = function (a) { return {symbol: a}; }; var _ggb$numeral_elm$Language$Language = F4( function (a, b, c, d) { return {delimiters: a, abbreviations: b, ordinal: c, currency: d}; }); var _ggb$numeral_elm$Languages_English$englishOrdinal = function (number) { var number1 = _elm_lang$core$Basics$floor(number); var b = A2(_elm_lang$core$Basics_ops['%'], number1, 10); return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Basics$floor( _elm_lang$core$Basics$toFloat( A2(_elm_lang$core$Basics_ops['%'], number1, 100)) / 10), 1) ? 'th' : (_elm_lang$core$Native_Utils.eq(b, 1) ? 'st' : (_elm_lang$core$Native_Utils.eq(b, 2) ? 'nd' : (_elm_lang$core$Native_Utils.eq(b, 3) ? 'rd' : 'th'))); }; var _ggb$numeral_elm$Languages_English$lang = { delimiters: {thousands: ',', decimal: '.'}, abbreviations: {thousand: 'k', million: 'm', billion: 'b', trillion: 't'}, ordinal: _ggb$numeral_elm$Languages_English$englishOrdinal, currency: {symbol: '$'} }; var _ggb$numeral_elm$Numeral$createFinalString = function (_p0) { var _p1 = _p0; var _p2 = _p1.parens; return A2( _elm_lang$core$String$join, '', { ctor: '::', _0: _elm_lang$core$Tuple$first(_p2), _1: { ctor: '::', _0: _p1.minus, _1: { ctor: '::', _0: _p1.plus, _1: { ctor: '::', _0: _p1.word, _1: { ctor: '::', _0: _p1.decimal, _1: { ctor: '::', _0: _p1.ordinal, _1: { ctor: '::', _0: _p1.abbreviation, _1: { ctor: '::', _0: _p1.bytes, _1: { ctor: '::', _0: _p1.customSuffix, _1: { ctor: '::', _0: _elm_lang$core$Tuple$second(_p2), _1: {ctor: '[]'} } } } } } } } } } }); }; var _ggb$numeral_elm$Numeral$hasPlus = function (numeral) { return ((!numeral.neg) && numeral.signed) ? _elm_lang$core$Native_Utils.update( numeral, {plus: '+'}) : numeral; }; var _ggb$numeral_elm$Numeral$hasMinus = function (numeral) { return ((!numeral.negP) && numeral.neg) ? _elm_lang$core$Native_Utils.update( numeral, {minus: '-'}) : numeral; }; var _ggb$numeral_elm$Numeral$createParens = function (numeral) { return (numeral.negP && numeral.neg) ? _elm_lang$core$Native_Utils.update( numeral, { parens: {ctor: '_Tuple2', _0: '(', _1: ')'} }) : numeral; }; var _ggb$numeral_elm$Numeral$checkIfNegative = function (numeral) { return A2(_elm_lang$core$String$contains, '-', numeral.word) ? _elm_lang$core$Native_Utils.update( numeral, { word: A3( _elm_lang$core$String$slice, 1, _elm_lang$core$String$length(numeral.word), numeral.word), neg: true }) : numeral; }; var _ggb$numeral_elm$Numeral$processDecimal = function (numeral) { var d = numeral.decimal; var result = A2( _elm_lang$core$Maybe$withDefault, 1, _elm_lang$core$Result$toMaybe( _elm_lang$core$String$toInt( A3( _elm_lang$core$String$slice, 1, _elm_lang$core$String$length(d), d)))); return (numeral.optionalDecimal && _elm_lang$core$Native_Utils.eq(result, 0)) ? _elm_lang$core$Native_Utils.update( numeral, {decimal: ''}) : _elm_lang$core$Native_Utils.update( numeral, {decimal: d}); }; var _ggb$numeral_elm$Numeral$processLeadingZeros = function (numeral) { var w = _elm_lang$core$String$length( A2( _elm_lang$core$Maybe$withDefault, '', _elm_lang$core$List$head( A2(_elm_lang$core$String$split, '.', numeral.word)))); var n = numeral.leadingZeros - w; var prefix = A2(_elm_lang$core$String$repeat, n, '0'); return _elm_lang$core$Native_Utils.update( numeral, { word: A2(_elm_lang$core$Basics_ops['++'], prefix, numeral.word) }); }; var _ggb$numeral_elm$Numeral$getPrecision = function (numeral) { var splitted = A2(_elm_lang$core$String$split, '.', numeral.format); var leadingZeros = _elm_lang$core$String$length( A2( _elm_lang$core$Maybe$withDefault, '', _elm_lang$core$List$head(splitted))); var leadingZeros_ = A2(_elm_lang$core$String$contains, ',', numeral.format) ? 0 : leadingZeros; var precision = A2( _elm_lang$core$Maybe$withDefault, '', _elm_lang$core$List$head( A2(_elm_lang$core$List$drop, 1, splitted))); return _elm_lang$core$Native_Utils.update( numeral, {precision: precision, leadingZeros: leadingZeros_}); }; var _ggb$numeral_elm$Numeral$processWord = function (numeral) { var w = A2( _elm_lang$core$Maybe$withDefault, '', _elm_lang$core$List$head( A2(_elm_lang$core$String$split, '.', numeral.strValue))); return _elm_lang$core$Native_Utils.update( numeral, {word: w}); }; var _ggb$numeral_elm$Numeral$updateStringValue = function (numeral) { return _elm_lang$core$Native_Utils.update( numeral, { strValue: _elm_lang$core$Basics$toString(numeral.value) }); }; var _ggb$numeral_elm$Numeral$addThousandsDelimiter = F2( function (lang, word) { return A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('(\\d)(?=(\\d{3})+(?!\\d))'), function (_p3) { var _p4 = _p3; return A2(_elm_lang$core$Basics_ops['++'], _p4.match, lang.delimiters.thousands); }, word); }); var _ggb$numeral_elm$Numeral$checkThousandsDelimiter = function (numeral) { return A2(_elm_lang$core$String$contains, ',', numeral.format) ? _elm_lang$core$Native_Utils.update( numeral, { word: A2(_ggb$numeral_elm$Numeral$addThousandsDelimiter, numeral.language, numeral.word) }) : numeral; }; var _ggb$numeral_elm$Numeral$toFixed = F2( function (precision, value) { var pad = function (num) { var _p5 = num; _v2_2: do { if (_p5.ctor === '::') { if (_p5._1.ctor === '::') { if (_p5._1._1.ctor === '[]') { return { ctor: '::', _0: _p5._0, _1: { ctor: '::', _0: A3( _elm_lang$core$String$padRight, precision, _elm_lang$core$Native_Utils.chr('0'), _p5._1._0), _1: {ctor: '[]'} } }; } else { break _v2_2; } } else { return { ctor: '::', _0: _p5._0, _1: { ctor: '::', _0: A3( _elm_lang$core$String$padRight, precision, _elm_lang$core$Native_Utils.chr('0'), ''), _1: {ctor: '[]'} } }; } } else { break _v2_2; } } while(false); return _p5; }; var power = Math.pow( _elm_lang$core$Basics$toFloat(10), _elm_lang$core$Basics$toFloat(precision)); return A2( _elm_lang$core$String$join, '.', pad( A2( _elm_lang$core$String$split, '.', _elm_lang$core$Basics$toString( _elm_lang$core$Basics$toFloat( _elm_lang$core$Basics$round((value * power) + 1.0e-2)) / power)))); }); var _ggb$numeral_elm$Numeral$checkForCustomSuffix = function (numeral) { var hasSuffix = _elm_lang$core$List$head( A3( _elm_lang$core$Regex$find, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('\\[\\D+\\]$'), numeral.format)); var _p6 = hasSuffix; if (_p6.ctor === 'Nothing') { return numeral; } else { var _p9 = _p6._0.match; return _elm_lang$core$Native_Utils.update( numeral, { format: A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex( _elm_lang$core$Regex$escape(_p9)), function (_p7) { return ''; }, numeral.format), customSuffix: A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('\\[|\\]'), function (_p8) { return ''; }, _p9) }); } }; var _ggb$numeral_elm$Numeral$checkOptionalDec = function (numeral) { return A2(_elm_lang$core$String$contains, '[.]', numeral.format) ? _elm_lang$core$Native_Utils.update( numeral, { format: A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex( _elm_lang$core$Regex$escape('[.]')), function (_p10) { return '.'; }, numeral.format), optionalDecimal: true }) : numeral; }; var _ggb$numeral_elm$Numeral$formatTime = F4( function (lang, format, value, strValue) { var hours = _elm_lang$core$Basics$toFloat( _elm_lang$core$Basics$floor((value / 60) / 60)); var minutes = _elm_lang$core$Basics$toFloat( _elm_lang$core$Basics$floor((value - ((hours * 60) * 60)) / 60)); var seconds = _elm_lang$core$Basics$round((value - ((hours * 60) * 60)) - (minutes * 60)); var hasOneDigit = function (val) { return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$String$length(val), 2) < 0) ? A2(_elm_lang$core$Basics_ops['++'], '0', val) : val; }; return A2( _elm_lang$core$String$join, ':', { ctor: '::', _0: _elm_lang$core$Basics$toString(hours), _1: { ctor: '::', _0: hasOneDigit( _elm_lang$core$Basics$toString(minutes)), _1: { ctor: '::', _0: hasOneDigit( _elm_lang$core$Basics$toString(seconds)), _1: {ctor: '[]'} } } }); }); var _ggb$numeral_elm$Numeral$emptyReplace = function (str) { return A3( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex(str), function (_p11) { return ''; }); }; var _ggb$numeral_elm$Numeral$formatWithoutCurrency = function (format) { return A2(_elm_lang$core$String$contains, ' $', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, ' \\$', format) } : (A2(_elm_lang$core$String$contains, '$ ', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, '\\$ ', format) } : { ctor: '_Tuple2', _0: '', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, '\\$', format) }); }; var _ggb$numeral_elm$Numeral$formatWithoutPercent = function (format) { return A2(_elm_lang$core$String$contains, ' %', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, ' %', format) } : { ctor: '_Tuple2', _0: '', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, '%', format) }; }; var _ggb$numeral_elm$Numeral$checkParensAndSign = function (numeral) { return A2(_elm_lang$core$String$contains, '(', numeral.format) ? _elm_lang$core$Native_Utils.update( numeral, { format: A3(_elm_lang$core$String$slice, 1, -1, numeral.format), negP: true, signed: false }) : (A2(_elm_lang$core$String$contains, '+', numeral.format) ? _elm_lang$core$Native_Utils.update( numeral, { format: A2(_ggb$numeral_elm$Numeral$emptyReplace, '\\+', numeral.format), negP: false, signed: true }) : numeral); }; var _ggb$numeral_elm$Numeral$checkAbbreviation = function (numeral) { var _p12 = numeral; var language = _p12.language; var format = _p12.format; var value = _p12.value; var abbrK = A2(_elm_lang$core$String$contains, 'aK', format); var abbrM = A2(_elm_lang$core$String$contains, 'aM', format); var abbrB = A2(_elm_lang$core$String$contains, 'aB', format); var abbrT = A2(_elm_lang$core$String$contains, 'aT', format); var abbrForce = !(abbrK || (abbrM || (abbrB || abbrT))); var absValue = _elm_lang$core$Basics$abs(value); var _p13 = A2(_elm_lang$core$String$contains, ' a', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, ' a', format) } : { ctor: '_Tuple2', _0: '', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, 'a', format) }; var abbr = _p13._0; var format1 = _p13._1; return (!A2(_elm_lang$core$String$contains, 'a', format)) ? numeral : ((((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 12)) > -1) && abbrForce) || abbrT) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, abbreviation: A2(_elm_lang$core$Basics_ops['++'], abbr, language.abbreviations.trillion), value: value / Math.pow(10, 12) }) : ((((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 12)) < 0) && ((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 9)) > -1) && abbrForce)) || abbrB) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, abbreviation: A2(_elm_lang$core$Basics_ops['++'], abbr, language.abbreviations.billion), value: value / Math.pow(10, 9) }) : ((((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 9)) < 0) && ((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 6)) > -1) && abbrForce)) || abbrM) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, abbreviation: A2(_elm_lang$core$Basics_ops['++'], abbr, language.abbreviations.million), value: value / Math.pow(10, 6) }) : ((((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 6)) < 0) && ((_elm_lang$core$Native_Utils.cmp( absValue, Math.pow(10, 3)) > -1) && abbrForce)) || abbrK) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, abbreviation: A2(_elm_lang$core$Basics_ops['++'], abbr, language.abbreviations.thousand), value: value / Math.pow(10, 3) }) : _elm_lang$core$Native_Utils.update( numeral, {format: format1, abbreviation: abbr}))))); }; var _ggb$numeral_elm$Numeral$checkOrdinal = function (numeral) { var _p14 = numeral; var language = _p14.language; var format = _p14.format; var value = _p14.value; var _p15 = A2(_elm_lang$core$String$contains, ' o', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, ' o', format) } : { ctor: '_Tuple2', _0: '', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, 'o', format) }; var ord = _p15._0; var format1 = _p15._1; return A2(_elm_lang$core$String$contains, 'o', format) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, ordinal: A2( _elm_lang$core$Basics_ops['++'], ord, numeral.language.ordinal(value)) }) : numeral; }; var _ggb$numeral_elm$Numeral$toFixedWithOptional = F2( function (prs, value) { var _p16 = prs; _v4_2: do { if (_p16.ctor === '::') { if (_p16._1.ctor === '::') { if (_p16._1._1.ctor === '[]') { var _p17 = _p16._1._0; return A2( _ggb$numeral_elm$Numeral$emptyReplace, A2( _elm_lang$core$Basics_ops['++'], '0{1,', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(_p17), '}$')), A2(_ggb$numeral_elm$Numeral$toFixed, _p16._0 + _p17, value)); } else { break _v4_2; } } else { return A2(_ggb$numeral_elm$Numeral$toFixed, _p16._0, value); } } else { break _v4_2; } } while(false); return _elm_lang$core$Basics$toString(value); }); var _ggb$numeral_elm$Numeral$processPrecision = function (numeral) { var _p18 = numeral; var language = _p18.language; var format = _p18.format; var value = _p18.value; var precision = _p18.precision; var fst = A2(_elm_lang$core$String$contains, '[', precision) ? A3( _elm_lang$core$Basics$flip, _ggb$numeral_elm$Numeral$toFixedWithOptional, value, A2( _elm_lang$core$List$take, 2, A2( _elm_lang$core$List$map, _elm_lang$core$String$length, A2( _elm_lang$core$String$split, '[', A2(_ggb$numeral_elm$Numeral$emptyReplace, ']', precision))))) : A2( _ggb$numeral_elm$Numeral$toFixed, _elm_lang$core$String$length(precision), value); var w = A2( _elm_lang$core$Maybe$withDefault, '', _elm_lang$core$List$head( A2(_elm_lang$core$String$split, '.', fst))); var snd = function () { var _p19 = A2(_elm_lang$core$String$split, '.', fst); if (((_p19.ctor === '::') && (_p19._1.ctor === '::')) && (_p19._1._1.ctor === '[]')) { var _p20 = _p19._1._0; return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$String$length(_p20), 0) > 0) ? A2(_elm_lang$core$Basics_ops['++'], language.delimiters.decimal, _p20) : ''; } else { return ''; } }(); return _elm_lang$core$Native_Utils.eq(precision, '') ? _elm_lang$core$Native_Utils.update( numeral, {word: w, decimal: ''}) : _elm_lang$core$Native_Utils.update( numeral, {word: w, decimal: snd}); }; var _ggb$numeral_elm$Numeral$indexOf = F2( function (part, word) { return A2( _elm_lang$core$Maybe$withDefault, -1, _elm_lang$core$List$head( A2(_elm_lang$core$String$indexes, part, word))); }); var _ggb$numeral_elm$Numeral$createFinalWord = function (numeral) { return _elm_lang$core$Native_Utils.eq( A2(_ggb$numeral_elm$Numeral$indexOf, '.', numeral.format), 0) ? _elm_lang$core$Native_Utils.update( numeral, {word: ''}) : numeral; }; var _ggb$numeral_elm$Numeral$suffixes = _elm_lang$core$Array$fromList( { ctor: '::', _0: 'B', _1: { ctor: '::', _0: 'KB', _1: { ctor: '::', _0: 'MB', _1: { ctor: '::', _0: 'GB', _1: { ctor: '::', _0: 'TB', _1: { ctor: '::', _0: 'PB', _1: { ctor: '::', _0: 'EB', _1: { ctor: '::', _0: 'ZB', _1: { ctor: '::', _0: 'YB', _1: {ctor: '[]'} } } } } } } } } }); var _ggb$numeral_elm$Numeral$checkByte = function (numeral) { var _p21 = numeral; var format = _p21.format; var value = _p21.value; var _p22 = A2(_elm_lang$core$String$contains, ' b', format) ? { ctor: '_Tuple2', _0: ' ', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, ' b', format) } : { ctor: '_Tuple2', _0: '', _1: A2(_ggb$numeral_elm$Numeral$emptyReplace, 'b', format) }; var bytes = _p22._0; var format1 = _p22._1; var suffixIndex1 = function (power) { suffixIndex1: while (true) { var maxValue = Math.pow(1024, power + 1); var minValue = Math.pow(1024, power); if ((_elm_lang$core$Native_Utils.cmp(value, minValue) > -1) && (_elm_lang$core$Native_Utils.cmp(value, maxValue) < 0)) { return (_elm_lang$core$Native_Utils.cmp(minValue, 0) > 0) ? {ctor: '_Tuple2', _0: power, _1: value / minValue} : {ctor: '_Tuple2', _0: power, _1: value}; } else { if (_elm_lang$core$Native_Utils.cmp(power, 10) < 0) { var _v6 = power + 1; power = _v6; continue suffixIndex1; } else { return {ctor: '_Tuple2', _0: -1, _1: value}; } } } }; var _p23 = suffixIndex1(0); var suffixIndex = _p23._0; var value1 = _p23._1; var suffix = A2( _elm_lang$core$Maybe$withDefault, '', A2(_elm_lang$core$Array$get, suffixIndex, _ggb$numeral_elm$Numeral$suffixes)); return A2(_elm_lang$core$String$contains, 'b', format) ? _elm_lang$core$Native_Utils.update( numeral, { format: format1, value: value1, bytes: A2(_elm_lang$core$Basics_ops['++'], bytes, suffix) }) : numeral; }; var _ggb$numeral_elm$Numeral$formatNumber = function (numeral) { return _ggb$numeral_elm$Numeral$createFinalString( _ggb$numeral_elm$Numeral$hasPlus( _ggb$numeral_elm$Numeral$hasMinus( _ggb$numeral_elm$Numeral$createParens( _ggb$numeral_elm$Numeral$createFinalWord( _ggb$numeral_elm$Numeral$checkIfNegative( _ggb$numeral_elm$Numeral$checkThousandsDelimiter( _ggb$numeral_elm$Numeral$processDecimal( _ggb$numeral_elm$Numeral$processLeadingZeros( _ggb$numeral_elm$Numeral$processPrecision( _ggb$numeral_elm$Numeral$getPrecision( _ggb$numeral_elm$Numeral$processWord( _ggb$numeral_elm$Numeral$updateStringValue( _ggb$numeral_elm$Numeral$checkOptionalDec( _ggb$numeral_elm$Numeral$checkOrdinal( _ggb$numeral_elm$Numeral$checkByte( _ggb$numeral_elm$Numeral$checkAbbreviation( _ggb$numeral_elm$Numeral$checkForCustomSuffix( _ggb$numeral_elm$Numeral$checkParensAndSign(numeral))))))))))))))))))); }; var _ggb$numeral_elm$Numeral$empty = F3( function (lang, format, value) { return { language: lang, format: format, value: value, word: '', strValue: _elm_lang$core$Basics$toString(value), signed: false, neg: false, negP: false, customSuffix: '', abbreviation: '', bytes: '', ordinal: '', decimal: '', optionalDecimal: false, parens: {ctor: '_Tuple2', _0: '', _1: ''}, precision: '', leadingZeros: 0, minus: '', plus: '' }; }); var _ggb$numeral_elm$Numeral$formatCurrency = F4( function (lang, format, value, strValue) { var currencySymbol = lang.currency.symbol; var _p24 = _ggb$numeral_elm$Numeral$formatWithoutCurrency(format); var space = _p24._0; var format1 = _p24._1; var formatted = _ggb$numeral_elm$Numeral$formatNumber( A3(_ggb$numeral_elm$Numeral$empty, lang, format1, value)); var minusSignIndex = A2(_ggb$numeral_elm$Numeral$indexOf, '-', format); var openParenIndex = A2(_ggb$numeral_elm$Numeral$indexOf, '(', format); var symbolIndex = A2(_ggb$numeral_elm$Numeral$indexOf, '$', format); return (_elm_lang$core$Native_Utils.cmp(symbolIndex, 1) < 1) ? ((A2(_elm_lang$core$String$contains, '(', formatted) || A2(_elm_lang$core$String$contains, '-', formatted)) ? (((_elm_lang$core$Native_Utils.cmp(symbolIndex, openParenIndex) < 0) || (_elm_lang$core$Native_Utils.cmp(symbolIndex, minusSignIndex) < 0)) ? A2( _elm_lang$core$String$join, '', { ctor: '::', _0: currencySymbol, _1: { ctor: '::', _0: space, _1: { ctor: '::', _0: A2(_elm_lang$core$String$contains, '-', formatted) ? '-' : '', _1: { ctor: '::', _0: A2(_elm_lang$core$String$contains, '(', formatted) ? '(' : '', _1: { ctor: '::', _0: A3( _elm_lang$core$String$slice, 1, _elm_lang$core$String$length(formatted), formatted), _1: {ctor: '[]'} } } } } }) : A2( _elm_lang$core$String$join, '', { ctor: '::', _0: A2(_elm_lang$core$String$contains, '-', formatted) ? '-' : '', _1: { ctor: '::', _0: A2(_elm_lang$core$String$contains, '(', formatted) ? '(' : '', _1: { ctor: '::', _0: currencySymbol, _1: { ctor: '::', _0: space, _1: { ctor: '::', _0: A3( _elm_lang$core$String$slice, 1, _elm_lang$core$String$length(formatted), formatted), _1: {ctor: '[]'} } } } } })) : A2( _elm_lang$core$Basics_ops['++'], currencySymbol, A2(_elm_lang$core$Basics_ops['++'], space, formatted))) : (A2(_elm_lang$core$String$contains, ')', formatted) ? A2( _elm_lang$core$String$join, '', { ctor: '::', _0: A3( _elm_lang$core$String$slice, 0, _elm_lang$core$String$length(formatted) - 1, formatted), _1: { ctor: '::', _0: space, _1: { ctor: '::', _0: currencySymbol, _1: { ctor: '::', _0: ')', _1: {ctor: '[]'} } } } }) : A2( _elm_lang$core$Basics_ops['++'], formatted, A2(_elm_lang$core$Basics_ops['++'], space, currencySymbol))); }); var _ggb$numeral_elm$Numeral$formatPercentage = F4( function (lang, format, value, strValue) { var _p25 = _ggb$numeral_elm$Numeral$formatWithoutPercent(format); var space = _p25._0; var format1 = _p25._1; var value1 = value * 100; var formatted = _ggb$numeral_elm$Numeral$formatNumber( A3(_ggb$numeral_elm$Numeral$empty, lang, format1, value1)); return A2(_elm_lang$core$String$contains, ')', formatted) ? A2( _elm_lang$core$String$join, '', { ctor: '::', _0: A3( _elm_lang$core$String$slice, 0, _elm_lang$core$String$length(formatted) - 1, formatted), _1: { ctor: '::', _0: space, _1: { ctor: '::', _0: '%', _1: { ctor: '::', _0: ')', _1: {ctor: '[]'} } } } }) : A2( _elm_lang$core$Basics_ops['++'], formatted, A2(_elm_lang$core$Basics_ops['++'], space, '%')); }); var _ggb$numeral_elm$Numeral$formatWithLanguage = F3( function (lang, format, value) { return A2(_elm_lang$core$String$contains, '$', format) ? A4( _ggb$numeral_elm$Numeral$formatCurrency, lang, format, value, _elm_lang$core$Basics$toString(value)) : (A2(_elm_lang$core$String$contains, '%', format) ? A4( _ggb$numeral_elm$Numeral$formatPercentage, lang, format, value, _elm_lang$core$Basics$toString(value)) : (A2(_elm_lang$core$String$contains, ':', format) ? A4( _ggb$numeral_elm$Numeral$formatTime, lang, format, value, _elm_lang$core$Basics$toString(value)) : _ggb$numeral_elm$Numeral$formatNumber( A3(_ggb$numeral_elm$Numeral$empty, lang, format, value)))); }); var _ggb$numeral_elm$Numeral$format = _ggb$numeral_elm$Numeral$formatWithLanguage(_ggb$numeral_elm$Languages_English$lang); var _ggb$numeral_elm$Numeral$Numeral = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return function (r) { return function (s) { return {language: a, format: b, value: c, word: d, strValue: e, signed: f, neg: g, negP: h, customSuffix: i, abbreviation: j, bytes: k, ordinal: l, decimal: m, optionalDecimal: n, parens: o, precision: p, leadingZeros: q, minus: r, plus: s}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond = 1000; var _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute = 60 * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond; var _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour = 60 * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute; var _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerDay = 24 * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour; var _justinmimbs$elm_date_extra$Date_Extra_Facts$dayOfWeekFromWeekdayNumber = function (n) { var _p0 = n; switch (_p0) { case 1: return _elm_lang$core$Date$Mon; case 2: return _elm_lang$core$Date$Tue; case 3: return _elm_lang$core$Date$Wed; case 4: return _elm_lang$core$Date$Thu; case 5: return _elm_lang$core$Date$Fri; case 6: return _elm_lang$core$Date$Sat; default: return _elm_lang$core$Date$Sun; } }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$weekdayNumberFromDayOfWeek = function (d) { var _p1 = d; switch (_p1.ctor) { case 'Mon': return 1; case 'Tue': return 2; case 'Wed': return 3; case 'Thu': return 4; case 'Fri': return 5; case 'Sat': return 6; default: return 7; } }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$monthFromMonthNumber = function (n) { var _p2 = n; switch (_p2) { case 1: return _elm_lang$core$Date$Jan; case 2: return _elm_lang$core$Date$Feb; case 3: return _elm_lang$core$Date$Mar; case 4: return _elm_lang$core$Date$Apr; case 5: return _elm_lang$core$Date$May; case 6: return _elm_lang$core$Date$Jun; case 7: return _elm_lang$core$Date$Jul; case 8: return _elm_lang$core$Date$Aug; case 9: return _elm_lang$core$Date$Sep; case 10: return _elm_lang$core$Date$Oct; case 11: return _elm_lang$core$Date$Nov; default: return _elm_lang$core$Date$Dec; } }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$monthNumberFromMonth = function (m) { var _p3 = m; switch (_p3.ctor) { case 'Jan': return 1; case 'Feb': return 2; case 'Mar': return 3; case 'Apr': return 4; case 'May': return 5; case 'Jun': return 6; case 'Jul': return 7; case 'Aug': return 8; case 'Sep': return 9; case 'Oct': return 10; case 'Nov': return 11; default: return 12; } }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$months = { ctor: '::', _0: _elm_lang$core$Date$Jan, _1: { ctor: '::', _0: _elm_lang$core$Date$Feb, _1: { ctor: '::', _0: _elm_lang$core$Date$Mar, _1: { ctor: '::', _0: _elm_lang$core$Date$Apr, _1: { ctor: '::', _0: _elm_lang$core$Date$May, _1: { ctor: '::', _0: _elm_lang$core$Date$Jun, _1: { ctor: '::', _0: _elm_lang$core$Date$Jul, _1: { ctor: '::', _0: _elm_lang$core$Date$Aug, _1: { ctor: '::', _0: _elm_lang$core$Date$Sep, _1: { ctor: '::', _0: _elm_lang$core$Date$Oct, _1: { ctor: '::', _0: _elm_lang$core$Date$Nov, _1: { ctor: '::', _0: _elm_lang$core$Date$Dec, _1: {ctor: '[]'} } } } } } } } } } } } }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear = function (y) { return (_elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], y, 4), 0) && (!_elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], y, 100), 0))) || _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], y, 400), 0); }; var _justinmimbs$elm_date_extra$Date_Extra_Facts$daysInMonth = F2( function (y, m) { var _p4 = m; switch (_p4.ctor) { case 'Jan': return 31; case 'Feb': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 29 : 28; case 'Mar': return 31; case 'Apr': return 30; case 'May': return 31; case 'Jun': return 30; case 'Jul': return 31; case 'Aug': return 31; case 'Sep': return 30; case 'Oct': return 31; case 'Nov': return 30; default: return 31; } }); var _justinmimbs$elm_date_extra$Date_Extra_Facts$daysBeforeStartOfMonth = F2( function (y, m) { var _p5 = m; switch (_p5.ctor) { case 'Jan': return 0; case 'Feb': return 31; case 'Mar': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 60 : 59; case 'Apr': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 91 : 90; case 'May': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 121 : 120; case 'Jun': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 152 : 151; case 'Jul': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 182 : 181; case 'Aug': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 213 : 212; case 'Sep': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 244 : 243; case 'Oct': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 274 : 273; case 'Nov': return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 305 : 304; default: return _justinmimbs$elm_date_extra$Date_Extra_Facts$isLeapYear(y) ? 335 : 334; } }); var _justinmimbs$elm_date_extra$Date_Internal_RataDie$divideInt = F2( function (a, b) { return { ctor: '_Tuple2', _0: (a / b) | 0, _1: A2(_elm_lang$core$Basics$rem, a, b) }; }); var _justinmimbs$elm_date_extra$Date_Internal_RataDie$year = function (rd) { var _p0 = A2(_justinmimbs$elm_date_extra$Date_Internal_RataDie$divideInt, rd, 146097); var n400 = _p0._0; var r400 = _p0._1; var _p1 = A2(_justinmimbs$elm_date_extra$Date_Internal_RataDie$divideInt, r400, 36524); var n100 = _p1._0; var r100 = _p1._1; var _p2 = A2(_justinmimbs$elm_date_extra$Date_Internal_RataDie$divideInt, r100, 1461); var n4 = _p2._0; var r4 = _p2._1; var _p3 = A2(_justinmimbs$elm_date_extra$Date_Internal_RataDie$divideInt, r4, 365); var n1 = _p3._0; var r1 = _p3._1; var n = _elm_lang$core$Native_Utils.eq(r1, 0) ? 0 : 1; return ((((n400 * 400) + (n100 * 100)) + (n4 * 4)) + n1) + n; }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekdayNumber = function (rd) { var _p4 = A2(_elm_lang$core$Basics_ops['%'], rd, 7); if (_p4 === 0) { return 7; } else { return _p4; } }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeYear = function (y1) { var y = y1 - 1; var leapYears = (((y / 4) | 0) - ((y / 100) | 0)) + ((y / 400) | 0); return (365 * y) + leapYears; }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeWeekYear = function (y) { var jan4 = _justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeYear(y) + 4; return jan4 - _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekdayNumber(jan4); }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekYear = function (rd) { return _justinmimbs$elm_date_extra$Date_Internal_RataDie$year( rd + (4 - _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekdayNumber(rd))); }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekNumber = function (rd) { var week1Day1 = _justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeWeekYear( _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekYear(rd)) + 1; return (((rd - week1Day1) / 7) | 0) + 1; }; var _justinmimbs$elm_date_extra$Date_Internal_RataDie$fromWeekDate = F3( function (wy, wn, wdn) { return (_justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeWeekYear(wy) + ((wn - 1) * 7)) + wdn; }); var _justinmimbs$elm_date_extra$Date_Internal_RataDie$fromCalendarDate = F3( function (y, m, d) { return (_justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeYear(y) + A2(_justinmimbs$elm_date_extra$Date_Extra_Facts$daysBeforeStartOfMonth, y, m)) + d; }); var _justinmimbs$elm_date_extra$Date_Internal_RataDie$fromOrdinalDate = F2( function (y, od) { return _justinmimbs$elm_date_extra$Date_Internal_RataDie$daysBeforeYear(y) + od; }); var _justinmimbs$elm_date_extra$Date_Internal_Core$msFromTimeParts = F4( function (hh, mm, ss, ms) { return (((_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour * hh) + (_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute * mm)) + (_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond * ss)) + ms; }); var _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromRataDie = function (rd) { return (rd - 719163) * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerDay; }; var _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromOrdinalDate = F2( function (y, d) { return _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromRataDie( A2(_justinmimbs$elm_date_extra$Date_Internal_RataDie$fromOrdinalDate, y, d)); }); var _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromCalendarDate = F3( function (y, m, d) { return _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromRataDie( A3(_justinmimbs$elm_date_extra$Date_Internal_RataDie$fromCalendarDate, y, m, d)); }); var _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromParts = F7( function (y, m, d, hh, mm, ss, ms) { return A3(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromCalendarDate, y, m, d) + A4(_justinmimbs$elm_date_extra$Date_Internal_Core$msFromTimeParts, hh, mm, ss, ms); }); var _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromWeekDate = F3( function (y, w, d) { return _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromRataDie( A3(_justinmimbs$elm_date_extra$Date_Internal_RataDie$fromWeekDate, y, w, d)); }); var _justinmimbs$elm_date_extra$Date_Internal_Core$weekNumberFromCalendarDate = F3( function (y, m, d) { return _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekNumber( A3(_justinmimbs$elm_date_extra$Date_Internal_RataDie$fromCalendarDate, y, m, d)); }); var _justinmimbs$elm_date_extra$Date_Internal_Core$weekYearFromCalendarDate = F3( function (y, m, d) { return _justinmimbs$elm_date_extra$Date_Internal_RataDie$weekYear( A3(_justinmimbs$elm_date_extra$Date_Internal_RataDie$fromCalendarDate, y, m, d)); }); var _justinmimbs$elm_date_extra$Date_Internal_Extract$msOffsetFromUtc = function (date) { var utcTime = _elm_lang$core$Date$toTime(date); var localTime = _elm_lang$core$Basics$toFloat( A7( _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromParts, _elm_lang$core$Date$year(date), _elm_lang$core$Date$month(date), _elm_lang$core$Date$day(date), _elm_lang$core$Date$hour(date), _elm_lang$core$Date$minute(date), _elm_lang$core$Date$second(date), _elm_lang$core$Date$millisecond(date))); return _elm_lang$core$Basics$floor(localTime - utcTime); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$offsetFromUtc = function (date) { return (_justinmimbs$elm_date_extra$Date_Internal_Extract$msOffsetFromUtc(date) / _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute) | 0; }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$weekYear = function (date) { return A3( _justinmimbs$elm_date_extra$Date_Internal_Core$weekYearFromCalendarDate, _elm_lang$core$Date$year(date), _elm_lang$core$Date$month(date), _elm_lang$core$Date$day(date)); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$weekNumber = function (date) { return A3( _justinmimbs$elm_date_extra$Date_Internal_Core$weekNumberFromCalendarDate, _elm_lang$core$Date$year(date), _elm_lang$core$Date$month(date), _elm_lang$core$Date$day(date)); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$weekdayNumber = function (_p0) { return _justinmimbs$elm_date_extra$Date_Extra_Facts$weekdayNumberFromDayOfWeek( _elm_lang$core$Date$dayOfWeek(_p0)); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$fractionalDay = function (date) { var timeOfDayMS = A4( _justinmimbs$elm_date_extra$Date_Internal_Core$msFromTimeParts, _elm_lang$core$Date$hour(date), _elm_lang$core$Date$minute(date), _elm_lang$core$Date$second(date), _elm_lang$core$Date$millisecond(date)); return _elm_lang$core$Basics$toFloat(timeOfDayMS) / _elm_lang$core$Basics$toFloat(_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerDay); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$ordinalDay = function (date) { return A2( _justinmimbs$elm_date_extra$Date_Extra_Facts$daysBeforeStartOfMonth, _elm_lang$core$Date$year(date), _elm_lang$core$Date$month(date)) + _elm_lang$core$Date$day(date); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$monthNumber = function (_p1) { return _justinmimbs$elm_date_extra$Date_Extra_Facts$monthNumberFromMonth( _elm_lang$core$Date$month(_p1)); }; var _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter = function (date) { return _elm_lang$core$Basics$ceiling( function (n) { return n / 3; }( _elm_lang$core$Basics$toFloat( _justinmimbs$elm_date_extra$Date_Internal_Extract$monthNumber(date)))); }; var _justinmimbs$elm_date_extra$Date_Internal_Format$toUtc = function (date) { return _elm_lang$core$Date$fromTime( _elm_lang$core$Date$toTime(date) - _elm_lang$core$Basics$toFloat( _justinmimbs$elm_date_extra$Date_Internal_Extract$offsetFromUtc(date) * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute)); }; var _justinmimbs$elm_date_extra$Date_Internal_Format$nameForm = function (length) { var _p0 = length; switch (_p0) { case 1: return 'abbreviated'; case 2: return 'abbreviated'; case 3: return 'abbreviated'; case 4: return 'full'; case 5: return 'narrow'; case 6: return 'short'; default: return 'invalid'; } }; var _justinmimbs$elm_date_extra$Date_Internal_Format$patternMatches = _elm_lang$core$Regex$regex('([yYQMwdDEeabhHmsSXx])\\1*|\'(?:[^\']|\'\')*?\'(?!\')'); var _justinmimbs$elm_date_extra$Date_Internal_Format$formatTimeOffset = F3( function (separator, minutesOptional, offset) { var mm = A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( A2( _elm_lang$core$Basics_ops['%'], _elm_lang$core$Basics$abs(offset), 60))); var hh = A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( (_elm_lang$core$Basics$abs(offset) / 60) | 0)); var sign = (_elm_lang$core$Native_Utils.cmp(offset, 0) > -1) ? '+' : '-'; return (minutesOptional && _elm_lang$core$Native_Utils.eq(mm, '00')) ? A2(_elm_lang$core$Basics_ops['++'], sign, hh) : A2( _elm_lang$core$Basics_ops['++'], sign, A2( _elm_lang$core$Basics_ops['++'], hh, A2(_elm_lang$core$Basics_ops['++'], separator, mm))); }); var _justinmimbs$elm_date_extra$Date_Internal_Format$ordinalSuffix = function (n) { var nn = A2(_elm_lang$core$Basics_ops['%'], n, 100); var _p1 = A2( _elm_lang$core$Basics$min, (_elm_lang$core$Native_Utils.cmp(nn, 20) < 0) ? nn : A2(_elm_lang$core$Basics_ops['%'], nn, 10), 4); switch (_p1) { case 0: return 'th'; case 1: return 'st'; case 2: return 'nd'; case 3: return 'rd'; case 4: return 'th'; default: return ''; } }; var _justinmimbs$elm_date_extra$Date_Internal_Format$withOrdinalSuffix = function (n) { return A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(n), _justinmimbs$elm_date_extra$Date_Internal_Format$ordinalSuffix(n)); }; var _justinmimbs$elm_date_extra$Date_Internal_Format$hour12 = function (date) { var _p2 = A2( _elm_lang$core$Basics_ops['%'], _elm_lang$core$Date$hour(date), 12); if (_p2 === 0) { return 12; } else { return _p2; } }; var _justinmimbs$elm_date_extra$Date_Internal_Format$dayOfWeekName = function (d) { var _p3 = d; switch (_p3.ctor) { case 'Mon': return 'Monday'; case 'Tue': return 'Tuesday'; case 'Wed': return 'Wednesday'; case 'Thu': return 'Thursday'; case 'Fri': return 'Friday'; case 'Sat': return 'Saturday'; default: return 'Sunday'; } }; var _justinmimbs$elm_date_extra$Date_Internal_Format$monthName = function (m) { var _p4 = m; switch (_p4.ctor) { case 'Jan': return 'January'; case 'Feb': return 'February'; case 'Mar': return 'March'; case 'Apr': return 'April'; case 'May': return 'May'; case 'Jun': return 'June'; case 'Jul': return 'July'; case 'Aug': return 'August'; case 'Sep': return 'September'; case 'Oct': return 'October'; case 'Nov': return 'November'; default: return 'December'; } }; var _justinmimbs$elm_date_extra$Date_Internal_Format$PM = {ctor: 'PM'}; var _justinmimbs$elm_date_extra$Date_Internal_Format$Noon = {ctor: 'Noon'}; var _justinmimbs$elm_date_extra$Date_Internal_Format$AM = {ctor: 'AM'}; var _justinmimbs$elm_date_extra$Date_Internal_Format$Midnight = {ctor: 'Midnight'}; var _justinmimbs$elm_date_extra$Date_Internal_Format$dayPeriod = function (date) { var onTheHour = _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$minute(date), 0) && (_elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$second(date), 0) && _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$millisecond(date), 0)); var hh = _elm_lang$core$Date$hour(date); return (_elm_lang$core$Native_Utils.eq(hh, 0) && onTheHour) ? _justinmimbs$elm_date_extra$Date_Internal_Format$Midnight : ((_elm_lang$core$Native_Utils.cmp(hh, 12) < 0) ? _justinmimbs$elm_date_extra$Date_Internal_Format$AM : ((_elm_lang$core$Native_Utils.eq(hh, 12) && onTheHour) ? _justinmimbs$elm_date_extra$Date_Internal_Format$Noon : _justinmimbs$elm_date_extra$Date_Internal_Format$PM)); }; var _justinmimbs$elm_date_extra$Date_Internal_Format$format = F3( function (asUtc, date, match) { format: while (true) { var length = _elm_lang$core$String$length(match); var $char = A2(_elm_lang$core$String$left, 1, match); var _p5 = $char; switch (_p5) { case 'y': var _p6 = length; if (_p6 === 2) { return A2( _elm_lang$core$String$right, 2, A3( _elm_lang$core$String$padLeft, length, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$year(date)))); } else { return A3( _elm_lang$core$String$padLeft, length, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$year(date))); } case 'Y': var _p7 = length; if (_p7 === 2) { return A2( _elm_lang$core$String$right, 2, A3( _elm_lang$core$String$padLeft, length, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekYear(date)))); } else { return A3( _elm_lang$core$String$padLeft, length, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekYear(date))); } case 'Q': var _p8 = length; switch (_p8) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter(date)); case 2: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter(date)); case 3: return A2( F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), 'Q', _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter(date))); case 4: return _justinmimbs$elm_date_extra$Date_Internal_Format$withOrdinalSuffix( _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter(date)); case 5: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter(date)); default: return ''; } case 'M': var _p9 = length; switch (_p9) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$monthNumber(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$monthNumber(date))); case 3: return A2( _elm_lang$core$String$left, 3, _justinmimbs$elm_date_extra$Date_Internal_Format$monthName( _elm_lang$core$Date$month(date))); case 4: return _justinmimbs$elm_date_extra$Date_Internal_Format$monthName( _elm_lang$core$Date$month(date)); case 5: return A2( _elm_lang$core$String$left, 1, _justinmimbs$elm_date_extra$Date_Internal_Format$monthName( _elm_lang$core$Date$month(date))); default: return ''; } case 'w': var _p10 = length; switch (_p10) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekNumber(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekNumber(date))); default: return ''; } case 'd': var _p11 = length; switch (_p11) { case 1: return _elm_lang$core$Basics$toString( _elm_lang$core$Date$day(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$day(date))); case 3: return _justinmimbs$elm_date_extra$Date_Internal_Format$withOrdinalSuffix( _elm_lang$core$Date$day(date)); default: return ''; } case 'D': var _p12 = length; switch (_p12) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$ordinalDay(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$ordinalDay(date))); case 3: return A3( _elm_lang$core$String$padLeft, 3, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$ordinalDay(date))); default: return ''; } case 'E': var _p13 = _justinmimbs$elm_date_extra$Date_Internal_Format$nameForm(length); switch (_p13) { case 'abbreviated': return A2( _elm_lang$core$String$left, 3, _justinmimbs$elm_date_extra$Date_Internal_Format$dayOfWeekName( _elm_lang$core$Date$dayOfWeek(date))); case 'full': return _justinmimbs$elm_date_extra$Date_Internal_Format$dayOfWeekName( _elm_lang$core$Date$dayOfWeek(date)); case 'narrow': return A2( _elm_lang$core$String$left, 1, _justinmimbs$elm_date_extra$Date_Internal_Format$dayOfWeekName( _elm_lang$core$Date$dayOfWeek(date))); case 'short': return A2( _elm_lang$core$String$left, 2, _justinmimbs$elm_date_extra$Date_Internal_Format$dayOfWeekName( _elm_lang$core$Date$dayOfWeek(date))); default: return ''; } case 'e': var _p14 = length; switch (_p14) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekdayNumber(date)); case 2: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Extract$weekdayNumber(date)); default: var _v15 = asUtc, _v16 = date, _v17 = _elm_lang$core$String$toUpper(match); asUtc = _v15; date = _v16; match = _v17; continue format; } case 'a': var p = _justinmimbs$elm_date_extra$Date_Internal_Format$dayPeriod(date); var m = (_elm_lang$core$Native_Utils.eq(p, _justinmimbs$elm_date_extra$Date_Internal_Format$Midnight) || _elm_lang$core$Native_Utils.eq(p, _justinmimbs$elm_date_extra$Date_Internal_Format$AM)) ? 'A' : 'P'; var _p15 = _justinmimbs$elm_date_extra$Date_Internal_Format$nameForm(length); switch (_p15) { case 'abbreviated': return A2(_elm_lang$core$Basics_ops['++'], m, 'M'); case 'full': return A2(_elm_lang$core$Basics_ops['++'], m, '.M.'); case 'narrow': return m; default: return ''; } case 'b': var _p16 = _justinmimbs$elm_date_extra$Date_Internal_Format$nameForm(length); switch (_p16) { case 'abbreviated': var _p17 = _justinmimbs$elm_date_extra$Date_Internal_Format$dayPeriod(date); switch (_p17.ctor) { case 'Midnight': return 'mid.'; case 'AM': return 'am'; case 'Noon': return 'noon'; default: return 'pm'; } case 'full': var _p18 = _justinmimbs$elm_date_extra$Date_Internal_Format$dayPeriod(date); switch (_p18.ctor) { case 'Midnight': return 'midnight'; case 'AM': return 'a.m.'; case 'Noon': return 'noon'; default: return 'p.m.'; } case 'narrow': var _p19 = _justinmimbs$elm_date_extra$Date_Internal_Format$dayPeriod(date); switch (_p19.ctor) { case 'Midnight': return 'md'; case 'AM': return 'a'; case 'Noon': return 'nn'; default: return 'p'; } default: return ''; } case 'h': var _p20 = length; switch (_p20) { case 1: return _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Format$hour12(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _justinmimbs$elm_date_extra$Date_Internal_Format$hour12(date))); default: return ''; } case 'H': var _p21 = length; switch (_p21) { case 1: return _elm_lang$core$Basics$toString( _elm_lang$core$Date$hour(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$hour(date))); default: return ''; } case 'm': var _p22 = length; switch (_p22) { case 1: return _elm_lang$core$Basics$toString( _elm_lang$core$Date$minute(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$minute(date))); default: return ''; } case 's': var _p23 = length; switch (_p23) { case 1: return _elm_lang$core$Basics$toString( _elm_lang$core$Date$second(date)); case 2: return A3( _elm_lang$core$String$padLeft, 2, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$second(date))); default: return ''; } case 'S': return A3( _elm_lang$core$String$padRight, length, _elm_lang$core$Native_Utils.chr('0'), A2( _elm_lang$core$String$left, length, A3( _elm_lang$core$String$padLeft, 3, _elm_lang$core$Native_Utils.chr('0'), _elm_lang$core$Basics$toString( _elm_lang$core$Date$millisecond(date))))); case 'X': if ((_elm_lang$core$Native_Utils.cmp(length, 4) < 0) && (asUtc || _elm_lang$core$Native_Utils.eq( _justinmimbs$elm_date_extra$Date_Internal_Extract$offsetFromUtc(date), 0))) { return 'Z'; } else { var _v27 = asUtc, _v28 = date, _v29 = _elm_lang$core$String$toLower(match); asUtc = _v27; date = _v28; match = _v29; continue format; } case 'x': var offset = asUtc ? 0 : _justinmimbs$elm_date_extra$Date_Internal_Extract$offsetFromUtc(date); var _p24 = length; switch (_p24) { case 1: return A3(_justinmimbs$elm_date_extra$Date_Internal_Format$formatTimeOffset, '', true, offset); case 2: return A3(_justinmimbs$elm_date_extra$Date_Internal_Format$formatTimeOffset, '', false, offset); case 3: return A3(_justinmimbs$elm_date_extra$Date_Internal_Format$formatTimeOffset, ':', false, offset); default: return ''; } case '\'': return _elm_lang$core$Native_Utils.eq(match, '\'\'') ? '\'' : A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('\'\''), function (_p25) { return '\''; }, A3(_elm_lang$core$String$slice, 1, -1, match)); default: return ''; } } }); var _justinmimbs$elm_date_extra$Date_Internal_Format$toFormattedString = F3( function (asUtc, pattern, date) { var date_ = asUtc ? _justinmimbs$elm_date_extra$Date_Internal_Format$toUtc(date) : date; return A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _justinmimbs$elm_date_extra$Date_Internal_Format$patternMatches, function (_p26) { return A3( _justinmimbs$elm_date_extra$Date_Internal_Format$format, asUtc, date_, function (_) { return _.match; }(_p26)); }, pattern); }); var _justinmimbs$elm_date_extra$Date_Internal_Parse$isoDateRegex = function () { var time = 'T(\\d{2})(?:(\\:)?(\\d{2})(?:\\10(\\d{2}))?)?(\\.\\d+)?(?:(Z)|(?:([+\\-])(\\d{2})(?:\\:?(\\d{2}))?))?'; var ord = '\\-?(\\d{3})'; var week = '(\\-)?W(\\d{2})(?:\\5(\\d))?'; var cal = '(\\-)?(\\d{2})(?:\\2(\\d{2}))?'; var year = '(\\d{4})'; return _elm_lang$core$Regex$regex( A2( _elm_lang$core$Basics_ops['++'], '^', A2( _elm_lang$core$Basics_ops['++'], year, A2( _elm_lang$core$Basics_ops['++'], '(?:', A2( _elm_lang$core$Basics_ops['++'], cal, A2( _elm_lang$core$Basics_ops['++'], '|', A2( _elm_lang$core$Basics_ops['++'], week, A2( _elm_lang$core$Basics_ops['++'], '|', A2( _elm_lang$core$Basics_ops['++'], ord, A2( _elm_lang$core$Basics_ops['++'], ')?', A2( _elm_lang$core$Basics_ops['++'], '(?:', A2(_elm_lang$core$Basics_ops['++'], time, ')?$')))))))))))); }(); var _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToFloat = function (_p0) { return _elm_lang$core$Result$toMaybe( _elm_lang$core$String$toFloat(_p0)); }; var _justinmimbs$elm_date_extra$Date_Internal_Parse$msFromMatches = F4( function (timeHH, timeMM, timeSS, timeF) { var fractional = A2( _elm_lang$core$Maybe$withDefault, 0.0, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToFloat, timeF)); var _p1 = function () { var _p2 = A2( _elm_lang$core$List$map, _elm_lang$core$Maybe$andThen(_justinmimbs$elm_date_extra$Date_Internal_Parse$stringToFloat), { ctor: '::', _0: timeHH, _1: { ctor: '::', _0: timeMM, _1: { ctor: '::', _0: timeSS, _1: {ctor: '[]'} } } }); _v0_3: do { if (((_p2.ctor === '::') && (_p2._0.ctor === 'Just')) && (_p2._1.ctor === '::')) { if (_p2._1._0.ctor === 'Just') { if (_p2._1._1.ctor === '::') { if (_p2._1._1._0.ctor === 'Just') { if (_p2._1._1._1.ctor === '[]') { return {ctor: '_Tuple3', _0: _p2._0._0, _1: _p2._1._0._0, _2: _p2._1._1._0._0 + fractional}; } else { break _v0_3; } } else { if (_p2._1._1._1.ctor === '[]') { return {ctor: '_Tuple3', _0: _p2._0._0, _1: _p2._1._0._0 + fractional, _2: 0.0}; } else { break _v0_3; } } } else { break _v0_3; } } else { if (((_p2._1._1.ctor === '::') && (_p2._1._1._0.ctor === 'Nothing')) && (_p2._1._1._1.ctor === '[]')) { return {ctor: '_Tuple3', _0: _p2._0._0 + fractional, _1: 0.0, _2: 0.0}; } else { break _v0_3; } } } else { break _v0_3; } } while(false); return {ctor: '_Tuple3', _0: 0.0, _1: 0.0, _2: 0.0}; }(); var hh = _p1._0; var mm = _p1._1; var ss = _p1._2; return _elm_lang$core$Basics$round( ((hh * _elm_lang$core$Basics$toFloat(_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour)) + (mm * _elm_lang$core$Basics$toFloat(_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute))) + (ss * _elm_lang$core$Basics$toFloat(_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond))); }); var _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt = function (_p3) { return _elm_lang$core$Result$toMaybe( _elm_lang$core$String$toInt(_p3)); }; var _justinmimbs$elm_date_extra$Date_Internal_Parse$unixTimeFromMatches = F6( function (yyyy, calMM, calDD, weekWW, weekD, ordDDD) { var y = A2( _elm_lang$core$Maybe$withDefault, 1, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt(yyyy)); var _p4 = {ctor: '_Tuple2', _0: calMM, _1: weekWW}; _v1_2: do { if (_p4.ctor === '_Tuple2') { if (_p4._0.ctor === 'Just') { if (_p4._1.ctor === 'Nothing') { return A3( _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromCalendarDate, y, _justinmimbs$elm_date_extra$Date_Extra_Facts$monthFromMonthNumber( A2( _elm_lang$core$Maybe$withDefault, 1, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, calMM))), A2( _elm_lang$core$Maybe$withDefault, 1, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, calDD))); } else { break _v1_2; } } else { if (_p4._1.ctor === 'Just') { return A3( _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromWeekDate, y, A2( _elm_lang$core$Maybe$withDefault, 1, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, weekWW)), A2( _elm_lang$core$Maybe$withDefault, 1, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, weekD))); } else { break _v1_2; } } } else { break _v1_2; } } while(false); return A2( _justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromOrdinalDate, y, A2( _elm_lang$core$Maybe$withDefault, 1, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, ordDDD))); }); var _justinmimbs$elm_date_extra$Date_Internal_Parse$offsetFromMatches = F4( function (tzZ, tzSign, tzHH, tzMM) { var _p5 = {ctor: '_Tuple2', _0: tzZ, _1: tzSign}; _v2_2: do { if (_p5.ctor === '_Tuple2') { if (_p5._0.ctor === 'Just') { if ((_p5._0._0 === 'Z') && (_p5._1.ctor === 'Nothing')) { return _elm_lang$core$Maybe$Just(0); } else { break _v2_2; } } else { if (_p5._1.ctor === 'Just') { var mm = A2( _elm_lang$core$Maybe$withDefault, 0, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, tzMM)); var hh = A2( _elm_lang$core$Maybe$withDefault, 0, A2(_elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$stringToInt, tzHH)); return _elm_lang$core$Maybe$Just( (_elm_lang$core$Native_Utils.eq(_p5._1._0, '+') ? 1 : -1) * ((hh * 60) + mm)); } else { break _v2_2; } } } else { break _v2_2; } } while(false); return _elm_lang$core$Maybe$Nothing; }); var _justinmimbs$elm_date_extra$Date_Internal_Parse$offsetTimeFromMatches = function (matches) { var _p6 = matches; if (((((((((((((((((((_p6.ctor === '::') && (_p6._0.ctor === 'Just')) && (_p6._1.ctor === '::')) && (_p6._1._1.ctor === '::')) && (_p6._1._1._1.ctor === '::')) && (_p6._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1.ctor === '[]')) { var offset = A4(_justinmimbs$elm_date_extra$Date_Internal_Parse$offsetFromMatches, _p6._1._1._1._1._1._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._1._0); var timeMS = A4(_justinmimbs$elm_date_extra$Date_Internal_Parse$msFromMatches, _p6._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._1._1._1._1._1._0); var dateMS = A6(_justinmimbs$elm_date_extra$Date_Internal_Parse$unixTimeFromMatches, _p6._0._0, _p6._1._1._0, _p6._1._1._1._0, _p6._1._1._1._1._1._0, _p6._1._1._1._1._1._1._0, _p6._1._1._1._1._1._1._1._0); return _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: offset, _1: dateMS + timeMS}); } else { return _elm_lang$core$Maybe$Nothing; } }; var _justinmimbs$elm_date_extra$Date_Internal_Parse$offsetTimeFromIsoString = function (s) { return A2( _elm_lang$core$Maybe$andThen, _justinmimbs$elm_date_extra$Date_Internal_Parse$offsetTimeFromMatches, A2( _elm_lang$core$Maybe$map, function (_) { return _.submatches; }, _elm_lang$core$List$head( A3( _elm_lang$core$Regex$find, _elm_lang$core$Regex$AtMost(1), _justinmimbs$elm_date_extra$Date_Internal_Parse$isoDateRegex, s)))); }; var _justinmimbs$elm_date_extra$Date_Extra$toRataDie = function (date) { return A3( _justinmimbs$elm_date_extra$Date_Internal_RataDie$fromCalendarDate, _elm_lang$core$Date$year(date), _elm_lang$core$Date$month(date), _elm_lang$core$Date$day(date)); }; var _justinmimbs$elm_date_extra$Date_Extra$toParts = function (date) { return { ctor: '_Tuple7', _0: _elm_lang$core$Date$year(date), _1: _elm_lang$core$Date$month(date), _2: _elm_lang$core$Date$day(date), _3: _elm_lang$core$Date$hour(date), _4: _elm_lang$core$Date$minute(date), _5: _elm_lang$core$Date$second(date), _6: _elm_lang$core$Date$millisecond(date) }; }; var _justinmimbs$elm_date_extra$Date_Extra$monthFromQuarter = function (q) { var _p0 = q; switch (_p0) { case 1: return _elm_lang$core$Date$Jan; case 2: return _elm_lang$core$Date$Apr; case 3: return _elm_lang$core$Date$Jul; default: return _elm_lang$core$Date$Oct; } }; var _justinmimbs$elm_date_extra$Date_Extra$clamp = F3( function (min, max, date) { return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$Date$toTime(date), _elm_lang$core$Date$toTime(min)) < 0) ? min : ((_elm_lang$core$Native_Utils.cmp( _elm_lang$core$Date$toTime(date), _elm_lang$core$Date$toTime(max)) > 0) ? max : date); }); var _justinmimbs$elm_date_extra$Date_Extra$comparableIsBetween = F3( function (a, b, x) { return ((_elm_lang$core$Native_Utils.cmp(a, x) < 1) && (_elm_lang$core$Native_Utils.cmp(x, b) < 1)) || ((_elm_lang$core$Native_Utils.cmp(b, x) < 1) && (_elm_lang$core$Native_Utils.cmp(x, a) < 1)); }); var _justinmimbs$elm_date_extra$Date_Extra$isBetween = F3( function (date1, date2, date) { return A3( _justinmimbs$elm_date_extra$Date_Extra$comparableIsBetween, _elm_lang$core$Date$toTime(date1), _elm_lang$core$Date$toTime(date2), _elm_lang$core$Date$toTime(date)); }); var _justinmimbs$elm_date_extra$Date_Extra$compare = F2( function (a, b) { return A2( _elm_lang$core$Basics$compare, _elm_lang$core$Date$toTime(a), _elm_lang$core$Date$toTime(b)); }); var _justinmimbs$elm_date_extra$Date_Extra$equal = F2( function (a, b) { return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$toTime(a), _elm_lang$core$Date$toTime(b)); }); var _justinmimbs$elm_date_extra$Date_Extra$offsetFromUtc = _justinmimbs$elm_date_extra$Date_Internal_Extract$offsetFromUtc; var _justinmimbs$elm_date_extra$Date_Extra$weekYear = _justinmimbs$elm_date_extra$Date_Internal_Extract$weekYear; var _justinmimbs$elm_date_extra$Date_Extra$weekNumber = _justinmimbs$elm_date_extra$Date_Internal_Extract$weekNumber; var _justinmimbs$elm_date_extra$Date_Extra$weekdayNumber = _justinmimbs$elm_date_extra$Date_Internal_Extract$weekdayNumber; var _justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek = F2( function (d, date) { return _elm_lang$core$Basics$negate( A2( _elm_lang$core$Basics_ops['%'], (_justinmimbs$elm_date_extra$Date_Extra$weekdayNumber(date) - _justinmimbs$elm_date_extra$Date_Extra_Facts$weekdayNumberFromDayOfWeek(d)) + 7, 7)); }); var _justinmimbs$elm_date_extra$Date_Extra$fractionalDay = _justinmimbs$elm_date_extra$Date_Internal_Extract$fractionalDay; var _justinmimbs$elm_date_extra$Date_Extra$ordinalDay = _justinmimbs$elm_date_extra$Date_Internal_Extract$ordinalDay; var _justinmimbs$elm_date_extra$Date_Extra$quarter = _justinmimbs$elm_date_extra$Date_Internal_Extract$quarter; var _justinmimbs$elm_date_extra$Date_Extra$monthNumber = _justinmimbs$elm_date_extra$Date_Internal_Extract$monthNumber; var _justinmimbs$elm_date_extra$Date_Extra$ordinalMonth = function (date) { return (_elm_lang$core$Date$year(date) * 12) + _justinmimbs$elm_date_extra$Date_Extra$monthNumber(date); }; var _justinmimbs$elm_date_extra$Date_Extra$diffMonth = F2( function (date1, date2) { var fractionalMonth = function (date) { return (_elm_lang$core$Basics$toFloat( _elm_lang$core$Date$day(date) - 1) + _justinmimbs$elm_date_extra$Date_Extra$fractionalDay(date)) / 31; }; var ordinalMonthFloat = function (date) { return _elm_lang$core$Basics$toFloat( _justinmimbs$elm_date_extra$Date_Extra$ordinalMonth(date)) + fractionalMonth(date); }; return _elm_lang$core$Basics$truncate( ordinalMonthFloat(date2) - ordinalMonthFloat(date1)); }); var _justinmimbs$elm_date_extra$Date_Extra$toUtcFormattedString = _justinmimbs$elm_date_extra$Date_Internal_Format$toFormattedString(true); var _justinmimbs$elm_date_extra$Date_Extra$toUtcIsoString = _justinmimbs$elm_date_extra$Date_Extra$toUtcFormattedString('yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX'); var _justinmimbs$elm_date_extra$Date_Extra$toFormattedString = _justinmimbs$elm_date_extra$Date_Internal_Format$toFormattedString(false); var _justinmimbs$elm_date_extra$Date_Extra$toIsoString = _justinmimbs$elm_date_extra$Date_Extra$toFormattedString('yyyy-MM-dd\'T\'HH:mm:ss.SSSxxx'); var _justinmimbs$elm_date_extra$Date_Extra$fromTime = function (_p1) { return _elm_lang$core$Date$fromTime( _elm_lang$core$Basics$toFloat(_p1)); }; var _justinmimbs$elm_date_extra$Date_Extra$fromOffsetTime = function (_p2) { var _p3 = _p2; var _p5 = _p3._1; var _p4 = _p3._0; if (_p4.ctor === 'Just') { return _justinmimbs$elm_date_extra$Date_Extra$fromTime(_p5 - (_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute * _p4._0)); } else { var offset0 = _justinmimbs$elm_date_extra$Date_Extra$offsetFromUtc( _justinmimbs$elm_date_extra$Date_Extra$fromTime(_p5)); var date1 = _justinmimbs$elm_date_extra$Date_Extra$fromTime(_p5 - (_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute * offset0)); var offset1 = _justinmimbs$elm_date_extra$Date_Extra$offsetFromUtc(date1); if (_elm_lang$core$Native_Utils.eq(offset0, offset1)) { return date1; } else { var date2 = _justinmimbs$elm_date_extra$Date_Extra$fromTime(_p5 - (_justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute * offset1)); var offset2 = _justinmimbs$elm_date_extra$Date_Extra$offsetFromUtc(date2); return _elm_lang$core$Native_Utils.eq(offset1, offset2) ? date2 : date1; } } }; var _justinmimbs$elm_date_extra$Date_Extra$fromParts = F7( function (y, m, d, hh, mm, ss, ms) { return _justinmimbs$elm_date_extra$Date_Extra$fromOffsetTime( { ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Nothing, _1: A7(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromParts, y, m, d, hh, mm, ss, ms) }); }); var _justinmimbs$elm_date_extra$Date_Extra$addMonths = F2( function (n, date) { var om = (_justinmimbs$elm_date_extra$Date_Extra$ordinalMonth(date) + n) + -1; var y_ = (om / 12) | 0; var m_ = _justinmimbs$elm_date_extra$Date_Extra_Facts$monthFromMonthNumber( A2(_elm_lang$core$Basics_ops['%'], om, 12) + 1); var _p6 = _justinmimbs$elm_date_extra$Date_Extra$toParts(date); var y = _p6._0; var m = _p6._1; var d = _p6._2; var hh = _p6._3; var mm = _p6._4; var ss = _p6._5; var ms = _p6._6; var d_ = A2( _elm_lang$core$Basics$min, d, A2(_justinmimbs$elm_date_extra$Date_Extra_Facts$daysInMonth, y_, m_)); return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y_, m_, d_, hh, mm, ss, ms); }); var _justinmimbs$elm_date_extra$Date_Extra$add = F3( function (interval, n, date) { var _p7 = _justinmimbs$elm_date_extra$Date_Extra$toParts(date); var y = _p7._0; var m = _p7._1; var d = _p7._2; var hh = _p7._3; var mm = _p7._4; var ss = _p7._5; var ms = _p7._6; var _p8 = interval; switch (_p8.ctor) { case 'Millisecond': return _elm_lang$core$Date$fromTime( _elm_lang$core$Date$toTime(date) + _elm_lang$core$Basics$toFloat(n)); case 'Second': return _elm_lang$core$Date$fromTime( _elm_lang$core$Date$toTime(date) + _elm_lang$core$Basics$toFloat(n * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond)); case 'Minute': return _elm_lang$core$Date$fromTime( _elm_lang$core$Date$toTime(date) + _elm_lang$core$Basics$toFloat(n * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute)); case 'Hour': return _elm_lang$core$Date$fromTime( _elm_lang$core$Date$toTime(date) + _elm_lang$core$Basics$toFloat(n * _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour)); case 'Day': return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d + n, hh, mm, ss, ms); case 'Month': return A2(_justinmimbs$elm_date_extra$Date_Extra$addMonths, n, date); case 'Year': return A2(_justinmimbs$elm_date_extra$Date_Extra$addMonths, n * 12, date); case 'Quarter': return A2(_justinmimbs$elm_date_extra$Date_Extra$addMonths, n * 3, date); case 'Week': return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d + (n * 7), hh, mm, ss, ms); default: return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d + (n * 7), hh, mm, ss, ms); } }); var _justinmimbs$elm_date_extra$Date_Extra$rangeHelp = F5( function (interval, step, end, revList, date) { rangeHelp: while (true) { if (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$Date$toTime(date), _elm_lang$core$Date$toTime(end)) < 0) { var _v4 = interval, _v5 = step, _v6 = end, _v7 = {ctor: '::', _0: date, _1: revList}, _v8 = A3(_justinmimbs$elm_date_extra$Date_Extra$add, interval, step, date); interval = _v4; step = _v5; end = _v6; revList = _v7; date = _v8; continue rangeHelp; } else { return _elm_lang$core$List$reverse(revList); } } }); var _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate = F3( function (y, m, d) { return _justinmimbs$elm_date_extra$Date_Extra$fromOffsetTime( { ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Nothing, _1: A3(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromCalendarDate, y, m, d) }); }); var _justinmimbs$elm_date_extra$Date_Extra$floor = F2( function (interval, date) { var _p9 = _justinmimbs$elm_date_extra$Date_Extra$toParts(date); var y = _p9._0; var m = _p9._1; var d = _p9._2; var hh = _p9._3; var mm = _p9._4; var ss = _p9._5; var _p10 = interval; switch (_p10.ctor) { case 'Millisecond': return date; case 'Second': return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d, hh, mm, ss, 0); case 'Minute': return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d, hh, mm, 0, 0); case 'Hour': return A7(_justinmimbs$elm_date_extra$Date_Extra$fromParts, y, m, d, hh, 0, 0, 0); case 'Day': return A3(_justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d); case 'Month': return A3(_justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, 1); case 'Year': return A3(_justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, _elm_lang$core$Date$Jan, 1); case 'Quarter': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, _justinmimbs$elm_date_extra$Date_Extra$monthFromQuarter( _justinmimbs$elm_date_extra$Date_Extra$quarter(date)), 1); case 'Week': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Mon, date)); case 'Monday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Mon, date)); case 'Tuesday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Tue, date)); case 'Wednesday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Wed, date)); case 'Thursday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Thu, date)); case 'Friday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Fri, date)); case 'Saturday': return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Sat, date)); default: return A3( _justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, y, m, d + A2(_justinmimbs$elm_date_extra$Date_Extra$daysToPreviousDayOfWeek, _elm_lang$core$Date$Sun, date)); } }); var _justinmimbs$elm_date_extra$Date_Extra$ceiling = F2( function (interval, date) { var floored = A2(_justinmimbs$elm_date_extra$Date_Extra$floor, interval, date); return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$toTime(date), _elm_lang$core$Date$toTime(floored)) ? date : A3(_justinmimbs$elm_date_extra$Date_Extra$add, interval, 1, floored); }); var _justinmimbs$elm_date_extra$Date_Extra$range = F4( function (interval, step, start, end) { var first = A2(_justinmimbs$elm_date_extra$Date_Extra$ceiling, interval, start); return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$Date$toTime(first), _elm_lang$core$Date$toTime(end)) < 0) ? A5( _justinmimbs$elm_date_extra$Date_Extra$rangeHelp, interval, A2(_elm_lang$core$Basics$max, 1, step), end, {ctor: '[]'}, first) : {ctor: '[]'}; }); var _justinmimbs$elm_date_extra$Date_Extra$fromIsoString = function (_p11) { return A2( _elm_lang$core$Maybe$map, _justinmimbs$elm_date_extra$Date_Extra$fromOffsetTime, _justinmimbs$elm_date_extra$Date_Internal_Parse$offsetTimeFromIsoString(_p11)); }; var _justinmimbs$elm_date_extra$Date_Extra$fromSpec = F3( function (_p14, _p13, _p12) { var _p15 = _p14; var _p16 = _p13; var _p17 = _p12; return _justinmimbs$elm_date_extra$Date_Extra$fromOffsetTime( {ctor: '_Tuple2', _0: _p15._0, _1: _p17._0 + _p16._0}); }); var _justinmimbs$elm_date_extra$Date_Extra$Offset = function (a) { return {ctor: 'Offset', _0: a}; }; var _justinmimbs$elm_date_extra$Date_Extra$utc = _justinmimbs$elm_date_extra$Date_Extra$Offset( _elm_lang$core$Maybe$Just(0)); var _justinmimbs$elm_date_extra$Date_Extra$offset = function (minutes) { return _justinmimbs$elm_date_extra$Date_Extra$Offset( _elm_lang$core$Maybe$Just(minutes)); }; var _justinmimbs$elm_date_extra$Date_Extra$local = _justinmimbs$elm_date_extra$Date_Extra$Offset(_elm_lang$core$Maybe$Nothing); var _justinmimbs$elm_date_extra$Date_Extra$TimeMS = function (a) { return {ctor: 'TimeMS', _0: a}; }; var _justinmimbs$elm_date_extra$Date_Extra$noTime = _justinmimbs$elm_date_extra$Date_Extra$TimeMS(0); var _justinmimbs$elm_date_extra$Date_Extra$atTime = F4( function (hh, mm, ss, ms) { return _justinmimbs$elm_date_extra$Date_Extra$TimeMS( A4(_justinmimbs$elm_date_extra$Date_Internal_Core$msFromTimeParts, hh, mm, ss, ms)); }); var _justinmimbs$elm_date_extra$Date_Extra$DateMS = function (a) { return {ctor: 'DateMS', _0: a}; }; var _justinmimbs$elm_date_extra$Date_Extra$calendarDate = F3( function (y, m, d) { return _justinmimbs$elm_date_extra$Date_Extra$DateMS( A3(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromCalendarDate, y, m, d)); }); var _justinmimbs$elm_date_extra$Date_Extra$ordinalDate = F2( function (y, d) { return _justinmimbs$elm_date_extra$Date_Extra$DateMS( A2(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromOrdinalDate, y, d)); }); var _justinmimbs$elm_date_extra$Date_Extra$weekDate = F3( function (y, w, d) { return _justinmimbs$elm_date_extra$Date_Extra$DateMS( A3(_justinmimbs$elm_date_extra$Date_Internal_Core$unixTimeFromWeekDate, y, w, d)); }); var _justinmimbs$elm_date_extra$Date_Extra$Sunday = {ctor: 'Sunday'}; var _justinmimbs$elm_date_extra$Date_Extra$Saturday = {ctor: 'Saturday'}; var _justinmimbs$elm_date_extra$Date_Extra$Friday = {ctor: 'Friday'}; var _justinmimbs$elm_date_extra$Date_Extra$Thursday = {ctor: 'Thursday'}; var _justinmimbs$elm_date_extra$Date_Extra$Wednesday = {ctor: 'Wednesday'}; var _justinmimbs$elm_date_extra$Date_Extra$Tuesday = {ctor: 'Tuesday'}; var _justinmimbs$elm_date_extra$Date_Extra$Monday = {ctor: 'Monday'}; var _justinmimbs$elm_date_extra$Date_Extra$Week = {ctor: 'Week'}; var _justinmimbs$elm_date_extra$Date_Extra$Quarter = {ctor: 'Quarter'}; var _justinmimbs$elm_date_extra$Date_Extra$Year = {ctor: 'Year'}; var _justinmimbs$elm_date_extra$Date_Extra$Month = {ctor: 'Month'}; var _justinmimbs$elm_date_extra$Date_Extra$Day = {ctor: 'Day'}; var _justinmimbs$elm_date_extra$Date_Extra$diff = F3( function (interval, date1, date2) { var diffMS = _elm_lang$core$Basics$floor( _elm_lang$core$Date$toTime(date2) - _elm_lang$core$Date$toTime(date1)); var _p18 = interval; switch (_p18.ctor) { case 'Millisecond': return diffMS; case 'Second': return (diffMS / _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerSecond) | 0; case 'Minute': return (diffMS / _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerMinute) | 0; case 'Hour': return (diffMS / _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerHour) | 0; case 'Day': return (diffMS / _justinmimbs$elm_date_extra$Date_Extra_Facts$msPerDay) | 0; case 'Month': return A2(_justinmimbs$elm_date_extra$Date_Extra$diffMonth, date1, date2); case 'Year': return (A2(_justinmimbs$elm_date_extra$Date_Extra$diffMonth, date1, date2) / 12) | 0; case 'Quarter': return (A2(_justinmimbs$elm_date_extra$Date_Extra$diffMonth, date1, date2) / 3) | 0; case 'Week': return (A3(_justinmimbs$elm_date_extra$Date_Extra$diff, _justinmimbs$elm_date_extra$Date_Extra$Day, date1, date2) / 7) | 0; default: var _p19 = _p18; return (A3( _justinmimbs$elm_date_extra$Date_Extra$diff, _justinmimbs$elm_date_extra$Date_Extra$Day, A2(_justinmimbs$elm_date_extra$Date_Extra$floor, _p19, date1), A2(_justinmimbs$elm_date_extra$Date_Extra$floor, _p19, date2)) / 7) | 0; } }); var _justinmimbs$elm_date_extra$Date_Extra$fromRataDie = function (rd) { return A3( _justinmimbs$elm_date_extra$Date_Extra$add, _justinmimbs$elm_date_extra$Date_Extra$Day, rd - 719163, A3(_justinmimbs$elm_date_extra$Date_Extra$fromCalendarDate, 1970, _elm_lang$core$Date$Jan, 1)); }; var _justinmimbs$elm_date_extra$Date_Extra$Hour = {ctor: 'Hour'}; var _justinmimbs$elm_date_extra$Date_Extra$Minute = {ctor: 'Minute'}; var _justinmimbs$elm_date_extra$Date_Extra$equalBy = F3( function (interval, date1, date2) { equalBy: while (true) { var _p20 = interval; switch (_p20.ctor) { case 'Millisecond': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$toTime(date1), _elm_lang$core$Date$toTime(date2)); case 'Second': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$second(date1), _elm_lang$core$Date$second(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Minute, date1, date2); case 'Minute': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$minute(date1), _elm_lang$core$Date$minute(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Hour, date1, date2); case 'Hour': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$hour(date1), _elm_lang$core$Date$hour(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Day, date1, date2); case 'Day': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$day(date1), _elm_lang$core$Date$day(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Month, date1, date2); case 'Month': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$month(date1), _elm_lang$core$Date$month(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Year, date1, date2); case 'Year': return _elm_lang$core$Native_Utils.eq( _elm_lang$core$Date$year(date1), _elm_lang$core$Date$year(date2)); case 'Quarter': return _elm_lang$core$Native_Utils.eq( _justinmimbs$elm_date_extra$Date_Extra$quarter(date1), _justinmimbs$elm_date_extra$Date_Extra$quarter(date2)) && A3(_justinmimbs$elm_date_extra$Date_Extra$equalBy, _justinmimbs$elm_date_extra$Date_Extra$Year, date1, date2); case 'Week': return _elm_lang$core$Native_Utils.eq( _justinmimbs$elm_date_extra$Date_Extra$weekNumber(date1), _justinmimbs$elm_date_extra$Date_Extra$weekNumber(date2)) && _elm_lang$core$Native_Utils.eq( _justinmimbs$elm_date_extra$Date_Extra$weekYear(date1), _justinmimbs$elm_date_extra$Date_Extra$weekYear(date2)); default: var _p21 = _p20; var _v15 = _justinmimbs$elm_date_extra$Date_Extra$Day, _v16 = A2(_justinmimbs$elm_date_extra$Date_Extra$floor, _p21, date1), _v17 = A2(_justinmimbs$elm_date_extra$Date_Extra$floor, _p21, date2); interval = _v15; date1 = _v16; date2 = _v17; continue equalBy; } } }); var _justinmimbs$elm_date_extra$Date_Extra$Second = {ctor: 'Second'}; var _justinmimbs$elm_date_extra$Date_Extra$Millisecond = {ctor: 'Millisecond'}; var _krisajenkins$remotedata$RemoteData$isNotAsked = function (data) { var _p0 = data; if (_p0.ctor === 'NotAsked') { return true; } else { return false; } }; var _krisajenkins$remotedata$RemoteData$isLoading = function (data) { var _p1 = data; if (_p1.ctor === 'Loading') { return true; } else { return false; } }; var _krisajenkins$remotedata$RemoteData$isFailure = function (data) { var _p2 = data; if (_p2.ctor === 'Failure') { return true; } else { return false; } }; var _krisajenkins$remotedata$RemoteData$isSuccess = function (data) { var _p3 = data; if (_p3.ctor === 'Success') { return true; } else { return false; } }; var _krisajenkins$remotedata$RemoteData$withDefault = F2( function ($default, data) { var _p4 = data; if (_p4.ctor === 'Success') { return _p4._0; } else { return $default; } }); var _krisajenkins$remotedata$RemoteData$Success = function (a) { return {ctor: 'Success', _0: a}; }; var _krisajenkins$remotedata$RemoteData$succeed = _krisajenkins$remotedata$RemoteData$Success; var _krisajenkins$remotedata$RemoteData$prism = { reverseGet: _krisajenkins$remotedata$RemoteData$Success, getOption: function (data) { var _p5 = data; if (_p5.ctor === 'Success') { return _elm_lang$core$Maybe$Just(_p5._0); } else { return _elm_lang$core$Maybe$Nothing; } } }; var _krisajenkins$remotedata$RemoteData$Failure = function (a) { return {ctor: 'Failure', _0: a}; }; var _krisajenkins$remotedata$RemoteData$fromMaybe = F2( function (error, maybe) { var _p6 = maybe; if (_p6.ctor === 'Nothing') { return _krisajenkins$remotedata$RemoteData$Failure(error); } else { return _krisajenkins$remotedata$RemoteData$Success(_p6._0); } }); var _krisajenkins$remotedata$RemoteData$fromResult = function (result) { var _p7 = result; if (_p7.ctor === 'Err') { return _krisajenkins$remotedata$RemoteData$Failure(_p7._0); } else { return _krisajenkins$remotedata$RemoteData$Success(_p7._0); } }; var _krisajenkins$remotedata$RemoteData$asCmd = _elm_lang$core$Task$attempt(_krisajenkins$remotedata$RemoteData$fromResult); var _krisajenkins$remotedata$RemoteData$sendRequest = _elm_lang$http$Http$send(_krisajenkins$remotedata$RemoteData$fromResult); var _krisajenkins$remotedata$RemoteData$fromTask = function (_p8) { return A2( _elm_lang$core$Task$onError, function (_p9) { return _elm_lang$core$Task$succeed( _krisajenkins$remotedata$RemoteData$Failure(_p9)); }, A2(_elm_lang$core$Task$map, _krisajenkins$remotedata$RemoteData$Success, _p8)); }; var _krisajenkins$remotedata$RemoteData$Loading = {ctor: 'Loading'}; var _krisajenkins$remotedata$RemoteData$NotAsked = {ctor: 'NotAsked'}; var _krisajenkins$remotedata$RemoteData$map = F2( function (f, data) { var _p10 = data; switch (_p10.ctor) { case 'Success': return _krisajenkins$remotedata$RemoteData$Success( f(_p10._0)); case 'Loading': return _krisajenkins$remotedata$RemoteData$Loading; case 'NotAsked': return _krisajenkins$remotedata$RemoteData$NotAsked; default: return _krisajenkins$remotedata$RemoteData$Failure(_p10._0); } }); var _krisajenkins$remotedata$RemoteData$toMaybe = function (_p11) { return A2( _krisajenkins$remotedata$RemoteData$withDefault, _elm_lang$core$Maybe$Nothing, A2(_krisajenkins$remotedata$RemoteData$map, _elm_lang$core$Maybe$Just, _p11)); }; var _krisajenkins$remotedata$RemoteData$mapError = F2( function (f, data) { var _p12 = data; switch (_p12.ctor) { case 'Success': return _krisajenkins$remotedata$RemoteData$Success(_p12._0); case 'Failure': return _krisajenkins$remotedata$RemoteData$Failure( f(_p12._0)); case 'Loading': return _krisajenkins$remotedata$RemoteData$Loading; default: return _krisajenkins$remotedata$RemoteData$NotAsked; } }); var _krisajenkins$remotedata$RemoteData$mapBoth = F2( function (successFn, errorFn) { return function (_p13) { return A2( _krisajenkins$remotedata$RemoteData$mapError, errorFn, A2(_krisajenkins$remotedata$RemoteData$map, successFn, _p13)); }; }); var _krisajenkins$remotedata$RemoteData$andThen = F2( function (f, data) { var _p14 = data; switch (_p14.ctor) { case 'Success': return f(_p14._0); case 'Failure': return _krisajenkins$remotedata$RemoteData$Failure(_p14._0); case 'NotAsked': return _krisajenkins$remotedata$RemoteData$NotAsked; default: return _krisajenkins$remotedata$RemoteData$Loading; } }); var _krisajenkins$remotedata$RemoteData$andMap = F2( function (wrappedValue, wrappedFunction) { var _p15 = {ctor: '_Tuple2', _0: wrappedFunction, _1: wrappedValue}; _v11_5: do { _v11_4: do { _v11_3: do { _v11_2: do { switch (_p15._0.ctor) { case 'Success': switch (_p15._1.ctor) { case 'Success': return _krisajenkins$remotedata$RemoteData$Success( _p15._0._0(_p15._1._0)); case 'Failure': break _v11_2; case 'Loading': break _v11_4; default: return _krisajenkins$remotedata$RemoteData$NotAsked; } case 'Failure': return _krisajenkins$remotedata$RemoteData$Failure(_p15._0._0); case 'Loading': switch (_p15._1.ctor) { case 'Failure': break _v11_2; case 'Loading': break _v11_3; case 'NotAsked': break _v11_3; default: break _v11_3; } default: switch (_p15._1.ctor) { case 'Failure': break _v11_2; case 'Loading': break _v11_4; case 'NotAsked': break _v11_5; default: break _v11_5; } } } while(false); return _krisajenkins$remotedata$RemoteData$Failure(_p15._1._0); } while(false); return _krisajenkins$remotedata$RemoteData$Loading; } while(false); return _krisajenkins$remotedata$RemoteData$Loading; } while(false); return _krisajenkins$remotedata$RemoteData$NotAsked; }); var _krisajenkins$remotedata$RemoteData$map2 = F3( function (f, a, b) { return A2( _krisajenkins$remotedata$RemoteData$andMap, b, A2(_krisajenkins$remotedata$RemoteData$map, f, a)); }); var _krisajenkins$remotedata$RemoteData$fromList = A2( _elm_lang$core$List$foldr, _krisajenkins$remotedata$RemoteData$map2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; })), _krisajenkins$remotedata$RemoteData$Success( {ctor: '[]'})); var _krisajenkins$remotedata$RemoteData$map3 = F4( function (f, a, b, c) { return A2( _krisajenkins$remotedata$RemoteData$andMap, c, A2( _krisajenkins$remotedata$RemoteData$andMap, b, A2(_krisajenkins$remotedata$RemoteData$map, f, a))); }); var _krisajenkins$remotedata$RemoteData$append = F2( function (a, b) { return A2( _krisajenkins$remotedata$RemoteData$andMap, b, A2( _krisajenkins$remotedata$RemoteData$map, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), a)); }); var _krisajenkins$remotedata$RemoteData$update = F2( function (f, remoteData) { var _p16 = remoteData; switch (_p16.ctor) { case 'Success': var _p17 = f(_p16._0); var first = _p17._0; var second = _p17._1; return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Success(first), _1: second }; case 'NotAsked': return {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$NotAsked, _1: _elm_lang$core$Platform_Cmd$none}; case 'Loading': return {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _elm_lang$core$Platform_Cmd$none}; default: return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Failure(_p16._0), _1: _elm_lang$core$Platform_Cmd$none }; } }); var _lukewestby$elm_http_builder$HttpBuilder$replace = F2( function (old, $new) { return function (_p0) { return A2( _elm_lang$core$String$join, $new, A2(_elm_lang$core$String$split, old, _p0)); }; }); var _lukewestby$elm_http_builder$HttpBuilder$queryEscape = function (_p1) { return A3( _lukewestby$elm_http_builder$HttpBuilder$replace, '%20', '+', _elm_lang$http$Http$encodeUri(_p1)); }; var _lukewestby$elm_http_builder$HttpBuilder$queryPair = function (_p2) { var _p3 = _p2; return A2( _elm_lang$core$Basics_ops['++'], _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._0), A2( _elm_lang$core$Basics_ops['++'], '=', _lukewestby$elm_http_builder$HttpBuilder$queryEscape(_p3._1))); }; var _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded = function (args) { return A2( _elm_lang$core$String$join, '&', A2(_elm_lang$core$List$map, _lukewestby$elm_http_builder$HttpBuilder$queryPair, args)); }; var _lukewestby$elm_http_builder$HttpBuilder$toRequest = function (builder) { var encodedParams = _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(builder.queryParams); var fullUrl = _elm_lang$core$String$isEmpty(encodedParams) ? builder.url : A2( _elm_lang$core$Basics_ops['++'], builder.url, A2(_elm_lang$core$Basics_ops['++'], '?', encodedParams)); return _elm_lang$http$Http$request( {method: builder.method, url: fullUrl, headers: builder.headers, body: builder.body, expect: builder.expect, timeout: builder.timeout, withCredentials: builder.withCredentials}); }; var _lukewestby$elm_http_builder$HttpBuilder$toTaskPlain = function (builder) { return _elm_lang$http$Http$toTask( _lukewestby$elm_http_builder$HttpBuilder$toRequest(builder)); }; var _lukewestby$elm_http_builder$HttpBuilder$withCacheBuster = F2( function (paramName, builder) { return _elm_lang$core$Native_Utils.update( builder, { cacheBuster: _elm_lang$core$Maybe$Just(paramName) }); }); var _lukewestby$elm_http_builder$HttpBuilder$withQueryParams = F2( function (queryParams, builder) { return _elm_lang$core$Native_Utils.update( builder, { queryParams: A2(_elm_lang$core$Basics_ops['++'], builder.queryParams, queryParams) }); }); var _lukewestby$elm_http_builder$HttpBuilder$toTaskWithCacheBuster = F2( function (paramName, builder) { var request = function (timestamp) { return _lukewestby$elm_http_builder$HttpBuilder$toTaskPlain( A2( _lukewestby$elm_http_builder$HttpBuilder$withQueryParams, { ctor: '::', _0: { ctor: '_Tuple2', _0: paramName, _1: _elm_lang$core$Basics$toString(timestamp) }, _1: {ctor: '[]'} }, builder)); }; return A2(_elm_lang$core$Task$andThen, request, _elm_lang$core$Time$now); }); var _lukewestby$elm_http_builder$HttpBuilder$toTask = function (builder) { var _p4 = builder.cacheBuster; if (_p4.ctor === 'Just') { return A2(_lukewestby$elm_http_builder$HttpBuilder$toTaskWithCacheBuster, _p4._0, builder); } else { return _lukewestby$elm_http_builder$HttpBuilder$toTaskPlain(builder); } }; var _lukewestby$elm_http_builder$HttpBuilder$send = F2( function (tagger, builder) { return A2( _elm_lang$core$Task$attempt, tagger, _lukewestby$elm_http_builder$HttpBuilder$toTask(builder)); }); var _lukewestby$elm_http_builder$HttpBuilder$withExpectString = function (builder) { return _elm_lang$core$Native_Utils.update( builder, {expect: _elm_lang$http$Http$expectString}); }; var _lukewestby$elm_http_builder$HttpBuilder$withExpectJson = F2( function (decoder, builder) { return _elm_lang$core$Native_Utils.update( builder, { expect: _elm_lang$http$Http$expectJson(decoder) }); }); var _lukewestby$elm_http_builder$HttpBuilder$withExpect = F2( function (expect, builder) { return _elm_lang$core$Native_Utils.update( builder, {expect: expect}); }); var _lukewestby$elm_http_builder$HttpBuilder$withCredentials = function (builder) { return _elm_lang$core$Native_Utils.update( builder, {withCredentials: true}); }; var _lukewestby$elm_http_builder$HttpBuilder$withTimeout = F2( function (timeout, builder) { return _elm_lang$core$Native_Utils.update( builder, { timeout: _elm_lang$core$Maybe$Just(timeout) }); }); var _lukewestby$elm_http_builder$HttpBuilder$withBody = F2( function (body, builder) { return _elm_lang$core$Native_Utils.update( builder, {body: body}); }); var _lukewestby$elm_http_builder$HttpBuilder$withStringBody = F2( function (contentType, value) { return _lukewestby$elm_http_builder$HttpBuilder$withBody( A2(_elm_lang$http$Http$stringBody, contentType, value)); }); var _lukewestby$elm_http_builder$HttpBuilder$withUrlEncodedBody = function (_p5) { return A2( _lukewestby$elm_http_builder$HttpBuilder$withStringBody, 'application/x-www-form-urlencoded', _lukewestby$elm_http_builder$HttpBuilder$joinUrlEncoded(_p5)); }; var _lukewestby$elm_http_builder$HttpBuilder$withJsonBody = function (value) { return _lukewestby$elm_http_builder$HttpBuilder$withBody( _elm_lang$http$Http$jsonBody(value)); }; var _lukewestby$elm_http_builder$HttpBuilder$withMultipartStringBody = function (partPairs) { return _lukewestby$elm_http_builder$HttpBuilder$withBody( _elm_lang$http$Http$multipartBody( A2( _elm_lang$core$List$map, _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$stringPart), partPairs))); }; var _lukewestby$elm_http_builder$HttpBuilder$withBearerToken = F2( function (value, builder) { return _elm_lang$core$Native_Utils.update( builder, { headers: { ctor: '::', _0: A2( _elm_lang$http$Http$header, 'Authorization', A2(_elm_lang$core$Basics_ops['++'], 'Bearer ', value)), _1: builder.headers } }); }); var _lukewestby$elm_http_builder$HttpBuilder$withHeaders = F2( function (headerPairs, builder) { return _elm_lang$core$Native_Utils.update( builder, { headers: A2( _elm_lang$core$Basics_ops['++'], A2( _elm_lang$core$List$map, _elm_lang$core$Basics$uncurry(_elm_lang$http$Http$header), headerPairs), builder.headers) }); }); var _lukewestby$elm_http_builder$HttpBuilder$withHeader = F3( function (key, value, builder) { return _elm_lang$core$Native_Utils.update( builder, { headers: { ctor: '::', _0: A2(_elm_lang$http$Http$header, key, value), _1: builder.headers } }); }); var _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl = F2( function (method, url) { return { method: method, url: url, headers: {ctor: '[]'}, body: _elm_lang$http$Http$emptyBody, expect: _elm_lang$http$Http$expectStringResponse( function (_p6) { return _elm_lang$core$Result$Ok( {ctor: '_Tuple0'}); }), timeout: _elm_lang$core$Maybe$Nothing, withCredentials: false, queryParams: {ctor: '[]'}, cacheBuster: _elm_lang$core$Maybe$Nothing }; }); var _lukewestby$elm_http_builder$HttpBuilder$get = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('GET'); var _lukewestby$elm_http_builder$HttpBuilder$post = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('POST'); var _lukewestby$elm_http_builder$HttpBuilder$put = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PUT'); var _lukewestby$elm_http_builder$HttpBuilder$patch = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('PATCH'); var _lukewestby$elm_http_builder$HttpBuilder$delete = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('DELETE'); var _lukewestby$elm_http_builder$HttpBuilder$options = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('OPTIONS'); var _lukewestby$elm_http_builder$HttpBuilder$trace = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('TRACE'); var _lukewestby$elm_http_builder$HttpBuilder$head = _lukewestby$elm_http_builder$HttpBuilder$requestWithMethodAndUrl('HEAD'); var _lukewestby$elm_http_builder$HttpBuilder$RequestBuilder = F9( function (a, b, c, d, e, f, g, h, i) { return {method: a, headers: b, url: c, body: d, expect: e, timeout: f, withCredentials: g, queryParams: h, cacheBuster: i}; }); var _pablohirafuji$elm_qrcode$QRCode_ECLevel$H = {ctor: 'H'}; var _pablohirafuji$elm_qrcode$QRCode_ECLevel$Q = {ctor: 'Q'}; var _pablohirafuji$elm_qrcode$QRCode_ECLevel$M = {ctor: 'M'}; var _pablohirafuji$elm_qrcode$QRCode_ECLevel$L = {ctor: 'L'}; var _pablohirafuji$elm_qrcode$QRCode_Error$InputLengthOverflow = {ctor: 'InputLengthOverflow'}; var _pablohirafuji$elm_qrcode$QRCode_Error$PolynomialMod = {ctor: 'PolynomialMod'}; var _pablohirafuji$elm_qrcode$QRCode_Error$PolynomialMultiply = {ctor: 'PolynomialMultiply'}; var _pablohirafuji$elm_qrcode$QRCode_Error$LogTableException = function (a) { return {ctor: 'LogTableException', _0: a}; }; var _pablohirafuji$elm_qrcode$QRCode_Error$InvalidBinaryConversion = {ctor: 'InvalidBinaryConversion'}; var _pablohirafuji$elm_qrcode$QRCode_Error$InvalidUTF8Char = {ctor: 'InvalidUTF8Char'}; var _pablohirafuji$elm_qrcode$QRCode_Error$InvalidAlphanumericChar = {ctor: 'InvalidAlphanumericChar'}; var _pablohirafuji$elm_qrcode$QRCode_Error$InvalidNumericChar = {ctor: 'InvalidNumericChar'}; var _pablohirafuji$elm_qrcode$QRCode_Error$AlignmentPatternNotFound = {ctor: 'AlignmentPatternNotFound'}; var _pablohirafuji$elm_qrcode$QRCode_Helpers$transpose = function (ll) { transpose: while (true) { var _p0 = ll; if (_p0.ctor === '[]') { return {ctor: '[]'}; } else { if (_p0._0.ctor === '[]') { var _v1 = _p0._1; ll = _v1; continue transpose; } else { var _p1 = _p0._1; var tails = A2(_elm_lang$core$List$filterMap, _elm_lang$core$List$tail, _p1); var heads = A2(_elm_lang$core$List$filterMap, _elm_lang$core$List$head, _p1); return { ctor: '::', _0: {ctor: '::', _0: _p0._0._0, _1: heads}, _1: _pablohirafuji$elm_qrcode$QRCode_Helpers$transpose( {ctor: '::', _0: _p0._0._1, _1: tails}) }; } } } }; var _pablohirafuji$elm_qrcode$QRCode_Helpers$breaker = F3( function (width, string, acc) { breaker: while (true) { var _p2 = string; if (_p2 === '') { return _elm_lang$core$List$reverse(acc); } else { var _v3 = width, _v4 = A2(_elm_lang$core$String$dropLeft, width, string), _v5 = { ctor: '::', _0: A3(_elm_lang$core$String$slice, 0, width, string), _1: acc }; width = _v3; string = _v4; acc = _v5; continue breaker; } } }); var _pablohirafuji$elm_qrcode$QRCode_Helpers$breakStr = F2( function (width, string) { return (_elm_lang$core$Native_Utils.eq(width, 0) || _elm_lang$core$Native_Utils.eq(string, '')) ? { ctor: '::', _0: string, _1: {ctor: '[]'} } : A3( _pablohirafuji$elm_qrcode$QRCode_Helpers$breaker, width, string, {ctor: '[]'}); }); var _pablohirafuji$elm_qrcode$QRCode_Helpers$listResult = F3( function (fun, listb, lista) { var _p3 = lista; if (_p3.ctor === '::') { return A2( _elm_lang$core$Result$andThen, A2( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_Helpers$listResult(fun), _p3._1), A2( _elm_lang$core$Result$map, function (r) { return {ctor: '::', _0: r, _1: listb}; }, fun(_p3._0))); } else { return _elm_lang$core$Result$Ok( _elm_lang$core$List$reverse(listb)); } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$blockByteCapacity = function (_p0) { var _p1 = _p0; return _p1._0 * _p1._1; }; var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$byteCapacity = F2( function (group1, maybeGroup2) { var _p2 = maybeGroup2; if (_p2.ctor === 'Just') { return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$blockByteCapacity(group1) + _pablohirafuji$elm_qrcode$QRCode_GroupInfo$blockByteCapacity(_p2._0); } else { return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$blockByteCapacity(group1); } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$newGroupInfo = function (_p3) { var _p4 = _p3; var _p6 = _p4._3; var _p5 = _p4._2; return { version: _p4._0, ecPerBlock: _p4._1, group1: _p5, maybeGroup2: _p6, capacity: A2(_pablohirafuji$elm_qrcode$QRCode_GroupInfo$byteCapacity, _p5, _p6) * 8 }; }; var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataL = A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_GroupInfo$newGroupInfo, { ctor: '::', _0: { ctor: '_Tuple4', _0: 1, _1: 7, _2: {ctor: '_Tuple2', _0: 1, _1: 19}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 2, _1: 10, _2: {ctor: '_Tuple2', _0: 1, _1: 34}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 3, _1: 15, _2: {ctor: '_Tuple2', _0: 1, _1: 55}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 4, _1: 20, _2: {ctor: '_Tuple2', _0: 1, _1: 80}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 5, _1: 26, _2: {ctor: '_Tuple2', _0: 1, _1: 108}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 6, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 68}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 7, _1: 20, _2: {ctor: '_Tuple2', _0: 2, _1: 78}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 8, _1: 24, _2: {ctor: '_Tuple2', _0: 2, _1: 97}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 9, _1: 30, _2: {ctor: '_Tuple2', _0: 2, _1: 116}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 10, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 68}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 69}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 11, _1: 20, _2: {ctor: '_Tuple2', _0: 4, _1: 81}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 12, _1: 24, _2: {ctor: '_Tuple2', _0: 2, _1: 92}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 93}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 13, _1: 26, _2: {ctor: '_Tuple2', _0: 4, _1: 107}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 14, _1: 30, _2: {ctor: '_Tuple2', _0: 3, _1: 115}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 116}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 15, _1: 22, _2: {ctor: '_Tuple2', _0: 5, _1: 87}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 88}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 16, _1: 24, _2: {ctor: '_Tuple2', _0: 5, _1: 98}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 99}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 17, _1: 28, _2: {ctor: '_Tuple2', _0: 1, _1: 107}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 108}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 18, _1: 30, _2: {ctor: '_Tuple2', _0: 5, _1: 120}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 121}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 19, _1: 28, _2: {ctor: '_Tuple2', _0: 3, _1: 113}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 114}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 20, _1: 28, _2: {ctor: '_Tuple2', _0: 3, _1: 107}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 108}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 21, _1: 28, _2: {ctor: '_Tuple2', _0: 4, _1: 116}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 117}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 22, _1: 28, _2: {ctor: '_Tuple2', _0: 2, _1: 111}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 112}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 23, _1: 30, _2: {ctor: '_Tuple2', _0: 4, _1: 121}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 122}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 24, _1: 30, _2: {ctor: '_Tuple2', _0: 6, _1: 117}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 118}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 25, _1: 26, _2: {ctor: '_Tuple2', _0: 8, _1: 106}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 107}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 26, _1: 28, _2: {ctor: '_Tuple2', _0: 10, _1: 114}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 115}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 27, _1: 30, _2: {ctor: '_Tuple2', _0: 8, _1: 122}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 123}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 28, _1: 30, _2: {ctor: '_Tuple2', _0: 3, _1: 117}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 118}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 29, _1: 30, _2: {ctor: '_Tuple2', _0: 7, _1: 116}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 117}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 30, _1: 30, _2: {ctor: '_Tuple2', _0: 5, _1: 115}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 116}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 31, _1: 30, _2: {ctor: '_Tuple2', _0: 13, _1: 115}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 3, _1: 116}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 32, _1: 30, _2: {ctor: '_Tuple2', _0: 17, _1: 115}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 33, _1: 30, _2: {ctor: '_Tuple2', _0: 17, _1: 115}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 116}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 34, _1: 30, _2: {ctor: '_Tuple2', _0: 13, _1: 115}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 116}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 35, _1: 30, _2: {ctor: '_Tuple2', _0: 12, _1: 121}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 122}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 36, _1: 30, _2: {ctor: '_Tuple2', _0: 6, _1: 121}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 122}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 37, _1: 30, _2: {ctor: '_Tuple2', _0: 17, _1: 122}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 123}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 38, _1: 30, _2: {ctor: '_Tuple2', _0: 4, _1: 122}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 18, _1: 123}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 39, _1: 30, _2: {ctor: '_Tuple2', _0: 20, _1: 117}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 118}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 40, _1: 30, _2: {ctor: '_Tuple2', _0: 19, _1: 118}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 119}) }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataM = A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_GroupInfo$newGroupInfo, { ctor: '::', _0: { ctor: '_Tuple4', _0: 1, _1: 10, _2: {ctor: '_Tuple2', _0: 1, _1: 16}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 2, _1: 16, _2: {ctor: '_Tuple2', _0: 1, _1: 28}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 3, _1: 26, _2: {ctor: '_Tuple2', _0: 1, _1: 44}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 4, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 32}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 5, _1: 24, _2: {ctor: '_Tuple2', _0: 2, _1: 43}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 6, _1: 16, _2: {ctor: '_Tuple2', _0: 4, _1: 27}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 7, _1: 18, _2: {ctor: '_Tuple2', _0: 4, _1: 31}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 8, _1: 22, _2: {ctor: '_Tuple2', _0: 2, _1: 38}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 39}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 9, _1: 22, _2: {ctor: '_Tuple2', _0: 3, _1: 36}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 37}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 10, _1: 26, _2: {ctor: '_Tuple2', _0: 4, _1: 43}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 44}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 11, _1: 30, _2: {ctor: '_Tuple2', _0: 1, _1: 50}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 51}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 12, _1: 22, _2: {ctor: '_Tuple2', _0: 6, _1: 36}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 37}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 13, _1: 22, _2: {ctor: '_Tuple2', _0: 8, _1: 37}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 38}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 14, _1: 24, _2: {ctor: '_Tuple2', _0: 4, _1: 40}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 41}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 15, _1: 24, _2: {ctor: '_Tuple2', _0: 5, _1: 41}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 42}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 16, _1: 28, _2: {ctor: '_Tuple2', _0: 7, _1: 45}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 3, _1: 46}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 17, _1: 28, _2: {ctor: '_Tuple2', _0: 10, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 18, _1: 26, _2: {ctor: '_Tuple2', _0: 9, _1: 43}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 44}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 19, _1: 26, _2: {ctor: '_Tuple2', _0: 3, _1: 44}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 11, _1: 45}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 20, _1: 26, _2: {ctor: '_Tuple2', _0: 3, _1: 41}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 13, _1: 42}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 21, _1: 26, _2: {ctor: '_Tuple2', _0: 17, _1: 42}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 22, _1: 28, _2: {ctor: '_Tuple2', _0: 17, _1: 46}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 23, _1: 28, _2: {ctor: '_Tuple2', _0: 4, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 24, _1: 28, _2: {ctor: '_Tuple2', _0: 6, _1: 45}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 46}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 25, _1: 28, _2: {ctor: '_Tuple2', _0: 8, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 13, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 26, _1: 28, _2: {ctor: '_Tuple2', _0: 19, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 27, _1: 28, _2: {ctor: '_Tuple2', _0: 22, _1: 45}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 3, _1: 46}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 28, _1: 28, _2: {ctor: '_Tuple2', _0: 3, _1: 45}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 23, _1: 46}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 29, _1: 28, _2: {ctor: '_Tuple2', _0: 21, _1: 45}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 46}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 30, _1: 28, _2: {ctor: '_Tuple2', _0: 19, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 31, _1: 28, _2: {ctor: '_Tuple2', _0: 2, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 29, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 32, _1: 28, _2: {ctor: '_Tuple2', _0: 10, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 23, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 33, _1: 28, _2: {ctor: '_Tuple2', _0: 14, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 21, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 34, _1: 28, _2: {ctor: '_Tuple2', _0: 14, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 23, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 35, _1: 28, _2: {ctor: '_Tuple2', _0: 12, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 26, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 36, _1: 28, _2: {ctor: '_Tuple2', _0: 6, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 34, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 37, _1: 28, _2: {ctor: '_Tuple2', _0: 29, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 38, _1: 28, _2: {ctor: '_Tuple2', _0: 13, _1: 46}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 32, _1: 47}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 39, _1: 28, _2: {ctor: '_Tuple2', _0: 40, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 48}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 40, _1: 28, _2: {ctor: '_Tuple2', _0: 18, _1: 47}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 31, _1: 48}) }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataQ = A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_GroupInfo$newGroupInfo, { ctor: '::', _0: { ctor: '_Tuple4', _0: 1, _1: 13, _2: {ctor: '_Tuple2', _0: 1, _1: 13}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 2, _1: 22, _2: {ctor: '_Tuple2', _0: 1, _1: 22}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 3, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 17}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 4, _1: 26, _2: {ctor: '_Tuple2', _0: 2, _1: 24}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 5, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 6, _1: 24, _2: {ctor: '_Tuple2', _0: 4, _1: 19}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 7, _1: 18, _2: {ctor: '_Tuple2', _0: 2, _1: 14}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 15}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 8, _1: 22, _2: {ctor: '_Tuple2', _0: 4, _1: 18}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 19}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 9, _1: 20, _2: {ctor: '_Tuple2', _0: 4, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 10, _1: 24, _2: {ctor: '_Tuple2', _0: 6, _1: 19}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 20}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 11, _1: 28, _2: {ctor: '_Tuple2', _0: 4, _1: 22}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 23}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 12, _1: 26, _2: {ctor: '_Tuple2', _0: 4, _1: 20}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 21}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 13, _1: 24, _2: {ctor: '_Tuple2', _0: 8, _1: 20}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 21}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 14, _1: 20, _2: {ctor: '_Tuple2', _0: 11, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 15, _1: 30, _2: {ctor: '_Tuple2', _0: 5, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 16, _1: 24, _2: {ctor: '_Tuple2', _0: 15, _1: 19}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 20}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 17, _1: 28, _2: {ctor: '_Tuple2', _0: 1, _1: 22}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 15, _1: 23}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 18, _1: 28, _2: {ctor: '_Tuple2', _0: 17, _1: 22}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 23}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 19, _1: 26, _2: {ctor: '_Tuple2', _0: 17, _1: 21}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 22}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 20, _1: 30, _2: {ctor: '_Tuple2', _0: 15, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 21, _1: 28, _2: {ctor: '_Tuple2', _0: 17, _1: 22}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 23}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 22, _1: 30, _2: {ctor: '_Tuple2', _0: 7, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 16, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 23, _1: 30, _2: {ctor: '_Tuple2', _0: 11, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 24, _1: 30, _2: {ctor: '_Tuple2', _0: 11, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 16, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 25, _1: 30, _2: {ctor: '_Tuple2', _0: 7, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 22, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 26, _1: 28, _2: {ctor: '_Tuple2', _0: 28, _1: 22}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 23}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 27, _1: 30, _2: {ctor: '_Tuple2', _0: 8, _1: 23}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 26, _1: 24}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 28, _1: 30, _2: {ctor: '_Tuple2', _0: 4, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 31, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 29, _1: 30, _2: {ctor: '_Tuple2', _0: 1, _1: 23}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 37, _1: 24}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 30, _1: 30, _2: {ctor: '_Tuple2', _0: 15, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 25, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 31, _1: 30, _2: {ctor: '_Tuple2', _0: 42, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 32, _1: 30, _2: {ctor: '_Tuple2', _0: 10, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 35, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 33, _1: 30, _2: {ctor: '_Tuple2', _0: 29, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 19, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 34, _1: 30, _2: {ctor: '_Tuple2', _0: 44, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 35, _1: 30, _2: {ctor: '_Tuple2', _0: 39, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 36, _1: 30, _2: {ctor: '_Tuple2', _0: 46, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 37, _1: 30, _2: {ctor: '_Tuple2', _0: 49, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 38, _1: 30, _2: {ctor: '_Tuple2', _0: 48, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 39, _1: 30, _2: {ctor: '_Tuple2', _0: 43, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 22, _1: 25}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 40, _1: 30, _2: {ctor: '_Tuple2', _0: 34, _1: 24}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 34, _1: 25}) }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataH = A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_GroupInfo$newGroupInfo, { ctor: '::', _0: { ctor: '_Tuple4', _0: 1, _1: 17, _2: {ctor: '_Tuple2', _0: 1, _1: 9}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 2, _1: 28, _2: {ctor: '_Tuple2', _0: 1, _1: 16}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 3, _1: 22, _2: {ctor: '_Tuple2', _0: 2, _1: 13}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 4, _1: 16, _2: {ctor: '_Tuple2', _0: 4, _1: 9}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 5, _1: 22, _2: {ctor: '_Tuple2', _0: 2, _1: 11}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 12}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 6, _1: 28, _2: {ctor: '_Tuple2', _0: 4, _1: 15}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 7, _1: 26, _2: {ctor: '_Tuple2', _0: 4, _1: 13}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 14}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 8, _1: 26, _2: {ctor: '_Tuple2', _0: 4, _1: 14}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 15}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 9, _1: 24, _2: {ctor: '_Tuple2', _0: 4, _1: 12}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 13}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 10, _1: 28, _2: {ctor: '_Tuple2', _0: 6, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 11, _1: 24, _2: {ctor: '_Tuple2', _0: 3, _1: 12}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 8, _1: 13}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 12, _1: 28, _2: {ctor: '_Tuple2', _0: 7, _1: 14}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 15}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 13, _1: 22, _2: {ctor: '_Tuple2', _0: 12, _1: 11}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 12}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 14, _1: 24, _2: {ctor: '_Tuple2', _0: 11, _1: 12}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 5, _1: 13}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 15, _1: 24, _2: {ctor: '_Tuple2', _0: 11, _1: 12}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 7, _1: 13}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 16, _1: 30, _2: {ctor: '_Tuple2', _0: 3, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 13, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 17, _1: 28, _2: {ctor: '_Tuple2', _0: 2, _1: 14}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 17, _1: 15}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 18, _1: 28, _2: {ctor: '_Tuple2', _0: 2, _1: 14}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 19, _1: 15}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 19, _1: 26, _2: {ctor: '_Tuple2', _0: 9, _1: 13}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 16, _1: 14}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 20, _1: 28, _2: {ctor: '_Tuple2', _0: 15, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 10, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 21, _1: 30, _2: {ctor: '_Tuple2', _0: 19, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 6, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 22, _1: 24, _2: {ctor: '_Tuple2', _0: 34, _1: 13}, _3: _elm_lang$core$Maybe$Nothing }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 23, _1: 30, _2: {ctor: '_Tuple2', _0: 16, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 14, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 24, _1: 30, _2: {ctor: '_Tuple2', _0: 30, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 2, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 25, _1: 30, _2: {ctor: '_Tuple2', _0: 22, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 13, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 26, _1: 30, _2: {ctor: '_Tuple2', _0: 33, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 4, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 27, _1: 30, _2: {ctor: '_Tuple2', _0: 12, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 28, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 28, _1: 30, _2: {ctor: '_Tuple2', _0: 11, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 31, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 29, _1: 30, _2: {ctor: '_Tuple2', _0: 19, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 26, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 30, _1: 30, _2: {ctor: '_Tuple2', _0: 23, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 25, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 31, _1: 30, _2: {ctor: '_Tuple2', _0: 23, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 28, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 32, _1: 30, _2: {ctor: '_Tuple2', _0: 19, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 35, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 33, _1: 30, _2: {ctor: '_Tuple2', _0: 11, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 46, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 34, _1: 30, _2: {ctor: '_Tuple2', _0: 59, _1: 16}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 1, _1: 17}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 35, _1: 30, _2: {ctor: '_Tuple2', _0: 22, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 41, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 36, _1: 30, _2: {ctor: '_Tuple2', _0: 2, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 64, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 37, _1: 30, _2: {ctor: '_Tuple2', _0: 24, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 46, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 38, _1: 30, _2: {ctor: '_Tuple2', _0: 42, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 32, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 39, _1: 30, _2: {ctor: '_Tuple2', _0: 10, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 67, _1: 16}) }, _1: { ctor: '::', _0: { ctor: '_Tuple4', _0: 40, _1: 30, _2: {ctor: '_Tuple2', _0: 20, _1: 15}, _3: _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: 61, _1: 16}) }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$getGroupData = function (ecLevel) { var _p7 = ecLevel; switch (_p7.ctor) { case 'L': return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataL; case 'M': return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataM; case 'Q': return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataQ; default: return _pablohirafuji$elm_qrcode$QRCode_GroupInfo$dataH; } }; var _pablohirafuji$elm_qrcode$QRCode_GroupInfo$GroupInfo = F5( function (a, b, c, d, e) { return {version: a, ecPerBlock: b, group1: c, maybeGroup2: d, capacity: e}; }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$logTable = _elm_lang$core$Array$fromList( { ctor: '::', _0: 0, _1: { ctor: '::', _0: 1, _1: { ctor: '::', _0: 25, _1: { ctor: '::', _0: 2, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 198, _1: { ctor: '::', _0: 3, _1: { ctor: '::', _0: 223, _1: { ctor: '::', _0: 51, _1: { ctor: '::', _0: 238, _1: { ctor: '::', _0: 27, _1: { ctor: '::', _0: 104, _1: { ctor: '::', _0: 199, _1: { ctor: '::', _0: 75, _1: { ctor: '::', _0: 4, _1: { ctor: '::', _0: 100, _1: { ctor: '::', _0: 224, _1: { ctor: '::', _0: 14, _1: { ctor: '::', _0: 52, _1: { ctor: '::', _0: 141, _1: { ctor: '::', _0: 239, _1: { ctor: '::', _0: 129, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 193, _1: { ctor: '::', _0: 105, _1: { ctor: '::', _0: 248, _1: { ctor: '::', _0: 200, _1: { ctor: '::', _0: 8, _1: { ctor: '::', _0: 76, _1: { ctor: '::', _0: 113, _1: { ctor: '::', _0: 5, _1: { ctor: '::', _0: 138, _1: { ctor: '::', _0: 101, _1: { ctor: '::', _0: 47, _1: { ctor: '::', _0: 225, _1: { ctor: '::', _0: 36, _1: { ctor: '::', _0: 15, _1: { ctor: '::', _0: 33, _1: { ctor: '::', _0: 53, _1: { ctor: '::', _0: 147, _1: { ctor: '::', _0: 142, _1: { ctor: '::', _0: 218, _1: { ctor: '::', _0: 240, _1: { ctor: '::', _0: 18, _1: { ctor: '::', _0: 130, _1: { ctor: '::', _0: 69, _1: { ctor: '::', _0: 29, _1: { ctor: '::', _0: 181, _1: { ctor: '::', _0: 194, _1: { ctor: '::', _0: 125, _1: { ctor: '::', _0: 106, _1: { ctor: '::', _0: 39, _1: { ctor: '::', _0: 249, _1: { ctor: '::', _0: 185, _1: { ctor: '::', _0: 201, _1: { ctor: '::', _0: 154, _1: { ctor: '::', _0: 9, _1: { ctor: '::', _0: 120, _1: { ctor: '::', _0: 77, _1: { ctor: '::', _0: 228, _1: { ctor: '::', _0: 114, _1: { ctor: '::', _0: 166, _1: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 191, _1: { ctor: '::', _0: 139, _1: { ctor: '::', _0: 98, _1: { ctor: '::', _0: 102, _1: { ctor: '::', _0: 221, _1: { ctor: '::', _0: 48, _1: { ctor: '::', _0: 253, _1: { ctor: '::', _0: 226, _1: { ctor: '::', _0: 152, _1: { ctor: '::', _0: 37, _1: { ctor: '::', _0: 179, _1: { ctor: '::', _0: 16, _1: { ctor: '::', _0: 145, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 136, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 208, _1: { ctor: '::', _0: 148, _1: { ctor: '::', _0: 206, _1: { ctor: '::', _0: 143, _1: { ctor: '::', _0: 150, _1: { ctor: '::', _0: 219, _1: { ctor: '::', _0: 189, _1: { ctor: '::', _0: 241, _1: { ctor: '::', _0: 210, _1: { ctor: '::', _0: 19, _1: { ctor: '::', _0: 92, _1: { ctor: '::', _0: 131, _1: { ctor: '::', _0: 56, _1: { ctor: '::', _0: 70, _1: { ctor: '::', _0: 64, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 66, _1: { ctor: '::', _0: 182, _1: { ctor: '::', _0: 163, _1: { ctor: '::', _0: 195, _1: { ctor: '::', _0: 72, _1: { ctor: '::', _0: 126, _1: { ctor: '::', _0: 110, _1: { ctor: '::', _0: 107, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 40, _1: { ctor: '::', _0: 84, _1: { ctor: '::', _0: 250, _1: { ctor: '::', _0: 133, _1: { ctor: '::', _0: 186, _1: { ctor: '::', _0: 61, _1: { ctor: '::', _0: 202, _1: { ctor: '::', _0: 94, _1: { ctor: '::', _0: 155, _1: { ctor: '::', _0: 159, _1: { ctor: '::', _0: 10, _1: { ctor: '::', _0: 21, _1: { ctor: '::', _0: 121, _1: { ctor: '::', _0: 43, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 212, _1: { ctor: '::', _0: 229, _1: { ctor: '::', _0: 172, _1: { ctor: '::', _0: 115, _1: { ctor: '::', _0: 243, _1: { ctor: '::', _0: 167, _1: { ctor: '::', _0: 87, _1: { ctor: '::', _0: 7, _1: { ctor: '::', _0: 112, _1: { ctor: '::', _0: 192, _1: { ctor: '::', _0: 247, _1: { ctor: '::', _0: 140, _1: { ctor: '::', _0: 128, _1: { ctor: '::', _0: 99, _1: { ctor: '::', _0: 13, _1: { ctor: '::', _0: 103, _1: { ctor: '::', _0: 74, _1: { ctor: '::', _0: 222, _1: { ctor: '::', _0: 237, _1: { ctor: '::', _0: 49, _1: { ctor: '::', _0: 197, _1: { ctor: '::', _0: 254, _1: { ctor: '::', _0: 24, _1: { ctor: '::', _0: 227, _1: { ctor: '::', _0: 165, _1: { ctor: '::', _0: 153, _1: { ctor: '::', _0: 119, _1: { ctor: '::', _0: 38, _1: { ctor: '::', _0: 184, _1: { ctor: '::', _0: 180, _1: { ctor: '::', _0: 124, _1: { ctor: '::', _0: 17, _1: { ctor: '::', _0: 68, _1: { ctor: '::', _0: 146, _1: { ctor: '::', _0: 217, _1: { ctor: '::', _0: 35, _1: { ctor: '::', _0: 32, _1: { ctor: '::', _0: 137, _1: { ctor: '::', _0: 46, _1: { ctor: '::', _0: 55, _1: { ctor: '::', _0: 63, _1: { ctor: '::', _0: 209, _1: { ctor: '::', _0: 91, _1: { ctor: '::', _0: 149, _1: { ctor: '::', _0: 188, _1: { ctor: '::', _0: 207, _1: { ctor: '::', _0: 205, _1: { ctor: '::', _0: 144, _1: { ctor: '::', _0: 135, _1: { ctor: '::', _0: 151, _1: { ctor: '::', _0: 178, _1: { ctor: '::', _0: 220, _1: { ctor: '::', _0: 252, _1: { ctor: '::', _0: 190, _1: { ctor: '::', _0: 97, _1: { ctor: '::', _0: 242, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 211, _1: { ctor: '::', _0: 171, _1: { ctor: '::', _0: 20, _1: { ctor: '::', _0: 42, _1: { ctor: '::', _0: 93, _1: { ctor: '::', _0: 158, _1: { ctor: '::', _0: 132, _1: { ctor: '::', _0: 60, _1: { ctor: '::', _0: 57, _1: { ctor: '::', _0: 83, _1: { ctor: '::', _0: 71, _1: { ctor: '::', _0: 109, _1: { ctor: '::', _0: 65, _1: { ctor: '::', _0: 162, _1: { ctor: '::', _0: 31, _1: { ctor: '::', _0: 45, _1: { ctor: '::', _0: 67, _1: { ctor: '::', _0: 216, _1: { ctor: '::', _0: 183, _1: { ctor: '::', _0: 123, _1: { ctor: '::', _0: 164, _1: { ctor: '::', _0: 118, _1: { ctor: '::', _0: 196, _1: { ctor: '::', _0: 23, _1: { ctor: '::', _0: 73, _1: { ctor: '::', _0: 236, _1: { ctor: '::', _0: 127, _1: { ctor: '::', _0: 12, _1: { ctor: '::', _0: 111, _1: { ctor: '::', _0: 246, _1: { ctor: '::', _0: 108, _1: { ctor: '::', _0: 161, _1: { ctor: '::', _0: 59, _1: { ctor: '::', _0: 82, _1: { ctor: '::', _0: 41, _1: { ctor: '::', _0: 157, _1: { ctor: '::', _0: 85, _1: { ctor: '::', _0: 170, _1: { ctor: '::', _0: 251, _1: { ctor: '::', _0: 96, _1: { ctor: '::', _0: 134, _1: { ctor: '::', _0: 177, _1: { ctor: '::', _0: 187, _1: { ctor: '::', _0: 204, _1: { ctor: '::', _0: 62, _1: { ctor: '::', _0: 90, _1: { ctor: '::', _0: 203, _1: { ctor: '::', _0: 89, _1: { ctor: '::', _0: 95, _1: { ctor: '::', _0: 176, _1: { ctor: '::', _0: 156, _1: { ctor: '::', _0: 169, _1: { ctor: '::', _0: 160, _1: { ctor: '::', _0: 81, _1: { ctor: '::', _0: 11, _1: { ctor: '::', _0: 245, _1: { ctor: '::', _0: 22, _1: { ctor: '::', _0: 235, _1: { ctor: '::', _0: 122, _1: { ctor: '::', _0: 117, _1: { ctor: '::', _0: 44, _1: { ctor: '::', _0: 215, _1: { ctor: '::', _0: 79, _1: { ctor: '::', _0: 174, _1: { ctor: '::', _0: 213, _1: { ctor: '::', _0: 233, _1: { ctor: '::', _0: 230, _1: { ctor: '::', _0: 231, _1: { ctor: '::', _0: 173, _1: { ctor: '::', _0: 232, _1: { ctor: '::', _0: 116, _1: { ctor: '::', _0: 214, _1: { ctor: '::', _0: 244, _1: { ctor: '::', _0: 234, _1: { ctor: '::', _0: 168, _1: { ctor: '::', _0: 80, _1: { ctor: '::', _0: 88, _1: { ctor: '::', _0: 175, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getLog = function (index) { return (_elm_lang$core$Native_Utils.cmp(index, 1) < 0) ? _elm_lang$core$Result$Err( _pablohirafuji$elm_qrcode$QRCode_Error$LogTableException(index)) : A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$LogTableException(index), A2(_elm_lang$core$Array$get, index - 1, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$logTable)); }; var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$expTable = _elm_lang$core$Array$fromList( { ctor: '::', _0: 1, _1: { ctor: '::', _0: 2, _1: { ctor: '::', _0: 4, _1: { ctor: '::', _0: 8, _1: { ctor: '::', _0: 16, _1: { ctor: '::', _0: 32, _1: { ctor: '::', _0: 64, _1: { ctor: '::', _0: 128, _1: { ctor: '::', _0: 29, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 116, _1: { ctor: '::', _0: 232, _1: { ctor: '::', _0: 205, _1: { ctor: '::', _0: 135, _1: { ctor: '::', _0: 19, _1: { ctor: '::', _0: 38, _1: { ctor: '::', _0: 76, _1: { ctor: '::', _0: 152, _1: { ctor: '::', _0: 45, _1: { ctor: '::', _0: 90, _1: { ctor: '::', _0: 180, _1: { ctor: '::', _0: 117, _1: { ctor: '::', _0: 234, _1: { ctor: '::', _0: 201, _1: { ctor: '::', _0: 143, _1: { ctor: '::', _0: 3, _1: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 12, _1: { ctor: '::', _0: 24, _1: { ctor: '::', _0: 48, _1: { ctor: '::', _0: 96, _1: { ctor: '::', _0: 192, _1: { ctor: '::', _0: 157, _1: { ctor: '::', _0: 39, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 156, _1: { ctor: '::', _0: 37, _1: { ctor: '::', _0: 74, _1: { ctor: '::', _0: 148, _1: { ctor: '::', _0: 53, _1: { ctor: '::', _0: 106, _1: { ctor: '::', _0: 212, _1: { ctor: '::', _0: 181, _1: { ctor: '::', _0: 119, _1: { ctor: '::', _0: 238, _1: { ctor: '::', _0: 193, _1: { ctor: '::', _0: 159, _1: { ctor: '::', _0: 35, _1: { ctor: '::', _0: 70, _1: { ctor: '::', _0: 140, _1: { ctor: '::', _0: 5, _1: { ctor: '::', _0: 10, _1: { ctor: '::', _0: 20, _1: { ctor: '::', _0: 40, _1: { ctor: '::', _0: 80, _1: { ctor: '::', _0: 160, _1: { ctor: '::', _0: 93, _1: { ctor: '::', _0: 186, _1: { ctor: '::', _0: 105, _1: { ctor: '::', _0: 210, _1: { ctor: '::', _0: 185, _1: { ctor: '::', _0: 111, _1: { ctor: '::', _0: 222, _1: { ctor: '::', _0: 161, _1: { ctor: '::', _0: 95, _1: { ctor: '::', _0: 190, _1: { ctor: '::', _0: 97, _1: { ctor: '::', _0: 194, _1: { ctor: '::', _0: 153, _1: { ctor: '::', _0: 47, _1: { ctor: '::', _0: 94, _1: { ctor: '::', _0: 188, _1: { ctor: '::', _0: 101, _1: { ctor: '::', _0: 202, _1: { ctor: '::', _0: 137, _1: { ctor: '::', _0: 15, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 60, _1: { ctor: '::', _0: 120, _1: { ctor: '::', _0: 240, _1: { ctor: '::', _0: 253, _1: { ctor: '::', _0: 231, _1: { ctor: '::', _0: 211, _1: { ctor: '::', _0: 187, _1: { ctor: '::', _0: 107, _1: { ctor: '::', _0: 214, _1: { ctor: '::', _0: 177, _1: { ctor: '::', _0: 127, _1: { ctor: '::', _0: 254, _1: { ctor: '::', _0: 225, _1: { ctor: '::', _0: 223, _1: { ctor: '::', _0: 163, _1: { ctor: '::', _0: 91, _1: { ctor: '::', _0: 182, _1: { ctor: '::', _0: 113, _1: { ctor: '::', _0: 226, _1: { ctor: '::', _0: 217, _1: { ctor: '::', _0: 175, _1: { ctor: '::', _0: 67, _1: { ctor: '::', _0: 134, _1: { ctor: '::', _0: 17, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 68, _1: { ctor: '::', _0: 136, _1: { ctor: '::', _0: 13, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 52, _1: { ctor: '::', _0: 104, _1: { ctor: '::', _0: 208, _1: { ctor: '::', _0: 189, _1: { ctor: '::', _0: 103, _1: { ctor: '::', _0: 206, _1: { ctor: '::', _0: 129, _1: { ctor: '::', _0: 31, _1: { ctor: '::', _0: 62, _1: { ctor: '::', _0: 124, _1: { ctor: '::', _0: 248, _1: { ctor: '::', _0: 237, _1: { ctor: '::', _0: 199, _1: { ctor: '::', _0: 147, _1: { ctor: '::', _0: 59, _1: { ctor: '::', _0: 118, _1: { ctor: '::', _0: 236, _1: { ctor: '::', _0: 197, _1: { ctor: '::', _0: 151, _1: { ctor: '::', _0: 51, _1: { ctor: '::', _0: 102, _1: { ctor: '::', _0: 204, _1: { ctor: '::', _0: 133, _1: { ctor: '::', _0: 23, _1: { ctor: '::', _0: 46, _1: { ctor: '::', _0: 92, _1: { ctor: '::', _0: 184, _1: { ctor: '::', _0: 109, _1: { ctor: '::', _0: 218, _1: { ctor: '::', _0: 169, _1: { ctor: '::', _0: 79, _1: { ctor: '::', _0: 158, _1: { ctor: '::', _0: 33, _1: { ctor: '::', _0: 66, _1: { ctor: '::', _0: 132, _1: { ctor: '::', _0: 21, _1: { ctor: '::', _0: 42, _1: { ctor: '::', _0: 84, _1: { ctor: '::', _0: 168, _1: { ctor: '::', _0: 77, _1: { ctor: '::', _0: 154, _1: { ctor: '::', _0: 41, _1: { ctor: '::', _0: 82, _1: { ctor: '::', _0: 164, _1: { ctor: '::', _0: 85, _1: { ctor: '::', _0: 170, _1: { ctor: '::', _0: 73, _1: { ctor: '::', _0: 146, _1: { ctor: '::', _0: 57, _1: { ctor: '::', _0: 114, _1: { ctor: '::', _0: 228, _1: { ctor: '::', _0: 213, _1: { ctor: '::', _0: 183, _1: { ctor: '::', _0: 115, _1: { ctor: '::', _0: 230, _1: { ctor: '::', _0: 209, _1: { ctor: '::', _0: 191, _1: { ctor: '::', _0: 99, _1: { ctor: '::', _0: 198, _1: { ctor: '::', _0: 145, _1: { ctor: '::', _0: 63, _1: { ctor: '::', _0: 126, _1: { ctor: '::', _0: 252, _1: { ctor: '::', _0: 229, _1: { ctor: '::', _0: 215, _1: { ctor: '::', _0: 179, _1: { ctor: '::', _0: 123, _1: { ctor: '::', _0: 246, _1: { ctor: '::', _0: 241, _1: { ctor: '::', _0: 255, _1: { ctor: '::', _0: 227, _1: { ctor: '::', _0: 219, _1: { ctor: '::', _0: 171, _1: { ctor: '::', _0: 75, _1: { ctor: '::', _0: 150, _1: { ctor: '::', _0: 49, _1: { ctor: '::', _0: 98, _1: { ctor: '::', _0: 196, _1: { ctor: '::', _0: 149, _1: { ctor: '::', _0: 55, _1: { ctor: '::', _0: 110, _1: { ctor: '::', _0: 220, _1: { ctor: '::', _0: 165, _1: { ctor: '::', _0: 87, _1: { ctor: '::', _0: 174, _1: { ctor: '::', _0: 65, _1: { ctor: '::', _0: 130, _1: { ctor: '::', _0: 25, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 100, _1: { ctor: '::', _0: 200, _1: { ctor: '::', _0: 141, _1: { ctor: '::', _0: 7, _1: { ctor: '::', _0: 14, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 56, _1: { ctor: '::', _0: 112, _1: { ctor: '::', _0: 224, _1: { ctor: '::', _0: 221, _1: { ctor: '::', _0: 167, _1: { ctor: '::', _0: 83, _1: { ctor: '::', _0: 166, _1: { ctor: '::', _0: 81, _1: { ctor: '::', _0: 162, _1: { ctor: '::', _0: 89, _1: { ctor: '::', _0: 178, _1: { ctor: '::', _0: 121, _1: { ctor: '::', _0: 242, _1: { ctor: '::', _0: 249, _1: { ctor: '::', _0: 239, _1: { ctor: '::', _0: 195, _1: { ctor: '::', _0: 155, _1: { ctor: '::', _0: 43, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 172, _1: { ctor: '::', _0: 69, _1: { ctor: '::', _0: 138, _1: { ctor: '::', _0: 9, _1: { ctor: '::', _0: 18, _1: { ctor: '::', _0: 36, _1: { ctor: '::', _0: 72, _1: { ctor: '::', _0: 144, _1: { ctor: '::', _0: 61, _1: { ctor: '::', _0: 122, _1: { ctor: '::', _0: 244, _1: { ctor: '::', _0: 245, _1: { ctor: '::', _0: 247, _1: { ctor: '::', _0: 243, _1: { ctor: '::', _0: 251, _1: { ctor: '::', _0: 235, _1: { ctor: '::', _0: 203, _1: { ctor: '::', _0: 139, _1: { ctor: '::', _0: 11, _1: { ctor: '::', _0: 22, _1: { ctor: '::', _0: 44, _1: { ctor: '::', _0: 88, _1: { ctor: '::', _0: 176, _1: { ctor: '::', _0: 125, _1: { ctor: '::', _0: 250, _1: { ctor: '::', _0: 233, _1: { ctor: '::', _0: 207, _1: { ctor: '::', _0: 131, _1: { ctor: '::', _0: 27, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 108, _1: { ctor: '::', _0: 216, _1: { ctor: '::', _0: 173, _1: { ctor: '::', _0: 71, _1: { ctor: '::', _0: 142, _1: { ctor: '::', _0: 1, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getExp = function (index) { return A2( _elm_lang$core$Maybe$withDefault, 0, A2( _elm_lang$core$Array$get, A2(_elm_lang$core$Basics_ops['%'], index, 255), _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$expTable)); }; var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getOffset = function (_p0) { getOffset: while (true) { var _p1 = _p0; var _p3 = _p1._1; var _p2 = _p1._0; if (_p2.ctor === '::') { if (_elm_lang$core$Native_Utils.eq(_p2._0, 0)) { var _v2 = {ctor: '_Tuple2', _0: _p2._1, _1: _p3 + 1}; _p0 = _v2; continue getOffset; } else { return _p3; } } else { return _p3; } } }; var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial = F2( function (num, shift) { var numArray = _elm_lang$core$Array$fromList(num); var offset = _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getOffset( {ctor: '_Tuple2', _0: num, _1: 0}); return A2( _elm_lang$core$Array$initialize, (_elm_lang$core$List$length(num) - offset) + shift, function (index) { return A2( _elm_lang$core$Maybe$withDefault, 0, A2(_elm_lang$core$Array$get, index + offset, numArray)); }); }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$multiply = F2( function (poly1, poly2) { var process__ = F3( function (indexSum, num_, exp) { return A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$PolynomialMultiply, A2( _elm_lang$core$Maybe$map, _elm_lang$core$Bitwise$xor(exp), A2(_elm_lang$core$Array$get, indexSum, num_))); }); var process_ = F2( function (_p4, num_) { var _p5 = _p4; var _p6 = _p5._0; return A2( _elm_lang$core$Result$map, function (r) { return A3(_elm_lang$core$Array$set, _p6, r, num_); }, A2( _elm_lang$core$Result$andThen, A2(process__, _p6, num_), A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getExp, A3( _elm_lang$core$Result$map2, F2( function (x, y) { return x + y; }), _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getLog(_p5._1), _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getLog(_p5._2))))); }); var process = F2( function (args, numResult) { return A2( _elm_lang$core$Result$andThen, process_(args), numResult); }); var valuesArray = A2( _elm_lang$core$List$indexedMap, F2( function (index1, value1) { return A2( _elm_lang$core$List$indexedMap, F2( function (index2, value2) { return {ctor: '_Tuple3', _0: index1 + index2, _1: value1, _2: value2}; }), _elm_lang$core$Array$toList(poly2)); }), _elm_lang$core$Array$toList(poly1)); var num = A2( _elm_lang$core$Array$initialize, (_elm_lang$core$Array$length(poly1) + _elm_lang$core$Array$length(poly2)) - 1, _elm_lang$core$Basics$always(0)); return A2( _elm_lang$core$Result$map, A2(_elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial, 0), A2( _elm_lang$core$Result$map, _elm_lang$core$Array$toList, A3( _elm_lang$core$List$foldl, process, _elm_lang$core$Result$Ok(num), _elm_lang$core$List$concat(valuesArray)))); }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$mod = F2( function (poly1, poly2) { if (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$Array$length(poly1) - _elm_lang$core$Array$length(poly2), 0) < 0) { return _elm_lang$core$Result$Ok(poly1); } else { var helper_ = F3( function (index2, poly1_, exp) { return A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$PolynomialMod, A2( _elm_lang$core$Maybe$map, _elm_lang$core$Bitwise$xor(exp), A2(_elm_lang$core$Array$get, index2, poly1_))); }); var getHead = function (poly) { return A2( _elm_lang$core$Result$andThen, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getLog, A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$PolynomialMod, A2(_elm_lang$core$Array$get, 0, poly))); }; var ratio = A3( _elm_lang$core$Result$map2, F2( function (x, y) { return x - y; }), getHead(poly1), getHead(poly2)); var helper = F2( function (_p7, poly1_) { var _p8 = _p7; var _p9 = _p8._0; return A2( _elm_lang$core$Result$map, function (r) { return A3(_elm_lang$core$Array$set, _p9, r, poly1_); }, A2( _elm_lang$core$Result$andThen, A2(helper_, _p9, poly1_), A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getExp, A3( _elm_lang$core$Result$map2, F2( function (x, y) { return x + y; }), ratio, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getLog(_p8._1))))); }); var numFold = F2( function (args, poly1Result) { return A2( _elm_lang$core$Result$andThen, helper(args), poly1Result); }); var numResult = A3( _elm_lang$core$Array$foldl, numFold, _elm_lang$core$Result$Ok(poly1), A2( _elm_lang$core$Array$indexedMap, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), poly2)); return A2( _elm_lang$core$Result$andThen, A2(_elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$mod, poly2), A2( _elm_lang$core$Result$map, A2(_elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial, 0), A2(_elm_lang$core$Result$map, _elm_lang$core$Array$toList, numResult))); } }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getECPolynomial = function (ecLength) { var generate = F2( function (count, polyResult) { generate: while (true) { if (_elm_lang$core$Native_Utils.cmp(count, ecLength) < 0) { var _v5 = count + 1, _v6 = A2( _elm_lang$core$Result$andThen, A2( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$multiply, A2( _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial, { ctor: '::', _0: 1, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getExp(count), _1: {ctor: '[]'} } }, 0)), polyResult); count = _v5; polyResult = _v6; continue generate; } else { return polyResult; } } }); return A2( generate, 0, _elm_lang$core$Result$Ok( A2( _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial, { ctor: '::', _0: 1, _1: {ctor: '[]'} }, 0))); }; var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get___ = F2( function (ecLength, modPoly) { return _elm_lang$core$Array$toList( A2( _elm_lang$core$Array$initialize, ecLength, function (index) { var modIndex = (index + _elm_lang$core$Array$length(modPoly)) - ecLength; return (_elm_lang$core$Native_Utils.cmp(modIndex, 0) > -1) ? A2( _elm_lang$core$Maybe$withDefault, 0, A2(_elm_lang$core$Array$get, modIndex, modPoly)) : 0; })); }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get__ = F2( function (rsPoly, dataCodewords) { return A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get___( _elm_lang$core$Array$length(rsPoly) - 1), A3( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$mod, rsPoly, A2( _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$newPolynomial, dataCodewords, _elm_lang$core$Array$length(rsPoly) - 1))); }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get_ = F2( function (byteBlocks, rsPoly) { return A3( _pablohirafuji$elm_qrcode$QRCode_Helpers$listResult, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get__(rsPoly), {ctor: '[]'}, byteBlocks); }); var _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get = F2( function (ecPerBlock, byteBlocks) { return A2( _elm_lang$core$Result$andThen, _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get_(byteBlocks), _pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$getECPolynomial(ecPerBlock)); }); var _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$numericLength = function (str) { var _p0 = _elm_lang$core$String$length(str); switch (_p0) { case 1: return 4; case 2: return 7; default: return 10; } }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$encodeHelp = function (str) { return A2( _elm_lang$core$Result$mapError, _elm_lang$core$Basics$always(_pablohirafuji$elm_qrcode$QRCode_Error$InvalidNumericChar), A2( _elm_lang$core$Result$map, A2( _elm_lang$core$Basics$flip, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$numericLength(str)), _elm_lang$core$String$toInt(str))); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$encode = function (str) { return A3( _pablohirafuji$elm_qrcode$QRCode_Helpers$listResult, _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$encodeHelp, {ctor: '[]'}, A2(_pablohirafuji$elm_qrcode$QRCode_Helpers$breakStr, 3, str)); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$regex = _elm_lang$core$Regex$regex('^[0-9]+$'); var _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$alphanumericCodes = _elm_lang$core$Dict$fromList( { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('0'), _1: 0 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('1'), _1: 1 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('2'), _1: 2 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('3'), _1: 3 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('4'), _1: 4 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('5'), _1: 5 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('6'), _1: 6 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('7'), _1: 7 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('8'), _1: 8 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('9'), _1: 9 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('A'), _1: 10 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('B'), _1: 11 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('C'), _1: 12 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('D'), _1: 13 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('E'), _1: 14 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('F'), _1: 15 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('G'), _1: 16 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('H'), _1: 17 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('I'), _1: 18 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('J'), _1: 19 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('K'), _1: 20 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('L'), _1: 21 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('M'), _1: 22 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('N'), _1: 23 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('O'), _1: 24 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('P'), _1: 25 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('Q'), _1: 26 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('R'), _1: 27 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('S'), _1: 28 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('T'), _1: 29 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('U'), _1: 30 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('V'), _1: 31 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('W'), _1: 32 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('X'), _1: 33 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('Y'), _1: 34 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('Z'), _1: 35 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr(' '), _1: 36 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('$'), _1: 37 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('%'), _1: 38 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('*'), _1: 39 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('+'), _1: 40 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('-'), _1: 41 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('.'), _1: 42 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('/'), _1: 43 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr(':'), _1: 44 }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toAlphanumericCode = function ($char) { return A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$InvalidAlphanumericChar, A2(_elm_lang$core$Dict$get, $char, _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$alphanumericCodes)); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toBinary = function (str) { var _p0 = _elm_lang$core$String$toList(str); _v0_2: do { if (_p0.ctor === '::') { if (_p0._1.ctor === '::') { if (_p0._1._1.ctor === '[]') { return A2( _elm_lang$core$Result$map, A2( _elm_lang$core$Basics$flip, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), 11), A2( _elm_lang$core$Result$map, function (_p1) { var _p2 = _p1; return (_p2._0 * 45) + _p2._1; }, A2( _elm_lang$core$Result$andThen, function (firstCode) { return A2( _elm_lang$core$Result$map, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; })(firstCode), _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toAlphanumericCode(_p0._1._0)); }, _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toAlphanumericCode(_p0._0)))); } else { break _v0_2; } } else { return A2( _elm_lang$core$Result$map, A2( _elm_lang$core$Basics$flip, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), 6), _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toAlphanumericCode(_p0._0)); } } else { break _v0_2; } } while(false); return _elm_lang$core$Result$Err(_pablohirafuji$elm_qrcode$QRCode_Error$InvalidAlphanumericChar); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$encode = function (str) { return A3( _pablohirafuji$elm_qrcode$QRCode_Helpers$listResult, _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$toBinary, {ctor: '[]'}, A2(_pablohirafuji$elm_qrcode$QRCode_Helpers$breakStr, 2, str)); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$regex = _elm_lang$core$Regex$regex('^[0-9A-Z $%*+\\-.\\/:]+$'); var _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$encodeHelp = F2( function (str, bytes) { encodeHelp: while (true) { var _p0 = _elm_lang$core$String$uncons(str); if (_p0.ctor === 'Just') { var _v1 = _p0._0._1, _v2 = A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), bytes, _elm_lang$core$Char$toCode(_p0._0._0)); str = _v1; bytes = _v2; continue encodeHelp; } else { return _elm_lang$core$Result$Ok( _elm_lang$core$List$reverse(bytes)); } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$encode = function (str) { return A2( _elm_lang$core$Result$map, _elm_lang$core$List$map( A2( _elm_lang$core$Basics$flip, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), 8)), A2( _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$encodeHelp, str, {ctor: '[]'})); }; var _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$regex = _elm_lang$core$Regex$regex('^[\\u0000-\\u00ff]+$'); var _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63 = _elm_lang$core$Bitwise$and(63); var _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp = F2( function (str, list) { var _p0 = _elm_lang$core$String$uncons(str); if (_p0.ctor === 'Just') { return A3( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$utf8ToByte, list, _p0._0._1, _elm_lang$core$Char$toCode(_p0._0._0)); } else { return _elm_lang$core$Result$Ok( _elm_lang$core$List$reverse(list)); } }); var _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$utf8ToByte = F3( function (list, remainStr, charCode) { if (_elm_lang$core$Native_Utils.cmp(charCode, 128) < 0) { return A2( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp, remainStr, {ctor: '::', _0: charCode, _1: list}); } else { if (_elm_lang$core$Native_Utils.cmp(charCode, 2048) < 0) { return A2( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp, remainStr, A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charCode), A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), 192 | (charCode >> 6), list))); } else { if ((_elm_lang$core$Native_Utils.cmp(charCode, 55296) < 0) || (_elm_lang$core$Native_Utils.cmp(charCode, 57344) > -1)) { return A2( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp, remainStr, A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charCode), A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charCode >> 6), A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), 224 | (charCode >> 12), list)))); } else { var _p1 = _elm_lang$core$String$uncons(remainStr); if (_p1.ctor === 'Just') { var nextCharCode = _elm_lang$core$Char$toCode(_p1._0._0); var charC = A2( F2( function (x, y) { return x + y; }), 65536, (1023 & nextCharCode) | ((1023 & charCode) << 10)); var byte1 = 240 | (charC >> 18); var byte2 = 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charC >> 12); var byte3 = 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charC >> 6); var byte4 = 128 | _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$and63(charC); return A2( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp, _p1._0._1, { ctor: '::', _0: byte4, _1: { ctor: '::', _0: byte3, _1: { ctor: '::', _0: byte2, _1: {ctor: '::', _0: byte1, _1: list} } } }); } else { return _elm_lang$core$Result$Err(_pablohirafuji$elm_qrcode$QRCode_Error$InvalidUTF8Char); } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encode = function (str) { return A2( _elm_lang$core$Result$map, _elm_lang$core$List$map( A2( _elm_lang$core$Basics$flip, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), 8)), A2( _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encodeHelp, str, {ctor: '[]'})); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$concatTranspose = function (_p0) { var _p1 = _p0; return A2( F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), _p1._0, _elm_lang$core$List$concat( A2( F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), _pablohirafuji$elm_qrcode$QRCode_Helpers$transpose(_p1._1), _pablohirafuji$elm_qrcode$QRCode_Helpers$transpose(_p1._2)))); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$getErrorCorrection = function (_p2) { var _p3 = _p2; var _p5 = _p3._0; var _p4 = _p3._1; return A2( _elm_lang$core$Result$map, A2( F3( function (v0, v1, v2) { return {ctor: '_Tuple3', _0: v0, _1: v1, _2: v2}; }), _p5, _p4), A2(_pablohirafuji$elm_qrcode$QRCode_ErrorCorrection$get, _p5.groupInfo.ecPerBlock, _p4)); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$breakList = F3( function (checkFinish, _p7, _p6) { breakList: while (true) { var _p8 = _p7; var _p13 = _p8._0; var _p12 = _p8._1; var _p9 = _p6; var _p11 = _p9._1; var _p10 = _p9._0; if (_elm_lang$core$Native_Utils.cmp(_p13, 0) > 0) { var remainList = A2(_elm_lang$core$List$drop, _p12, _p10); var block = A2(_elm_lang$core$List$take, _p12, _p10); var _v4 = checkFinish, _v5 = {ctor: '_Tuple2', _0: _p13 - 1, _1: _p12}, _v6 = { ctor: '_Tuple2', _0: remainList, _1: {ctor: '::', _0: block, _1: _p11} }; checkFinish = _v4; _p7 = _v5; _p6 = _v6; continue breakList; } else { if (checkFinish && (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$List$length(_p10), 0) > 0)) { return _elm_lang$core$Result$Err(_pablohirafuji$elm_qrcode$QRCode_Error$InputLengthOverflow); } else { return _elm_lang$core$Result$Ok( {ctor: '_Tuple2', _0: _p10, _1: _p11}); } } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode$toBlocks = function (_p14) { var _p15 = _p14; var _p21 = _p15._0; var _p20 = _p15._0.groupInfo; var _p19 = _p15._1; var _p16 = _p20.maybeGroup2; if (_p16.ctor === 'Just') { return A2( _elm_lang$core$Result$map, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; })(_p21), A2( _elm_lang$core$Result$map, function (_p17) { return _elm_lang$core$List$reverse( _elm_lang$core$Tuple$second(_p17)); }, A2( _elm_lang$core$Result$andThen, A2(_pablohirafuji$elm_qrcode$QRCode_Encode$breakList, true, _p16._0), A3( _pablohirafuji$elm_qrcode$QRCode_Encode$breakList, false, _p20.group1, { ctor: '_Tuple2', _0: _p19, _1: {ctor: '[]'} })))); } else { return A2( _elm_lang$core$Result$map, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; })(_p21), A2( _elm_lang$core$Result$map, function (_p18) { return _elm_lang$core$List$reverse( _elm_lang$core$Tuple$second(_p18)); }, A3( _pablohirafuji$elm_qrcode$QRCode_Encode$breakList, true, _p20.group1, { ctor: '_Tuple2', _0: _p19, _1: {ctor: '[]'} }))); } }; var _pablohirafuji$elm_qrcode$QRCode_Encode$secondFillerByte = 17; var _pablohirafuji$elm_qrcode$QRCode_Encode$firstFillerByte = 236; var _pablohirafuji$elm_qrcode$QRCode_Encode$addFiller = F2( function (capacity, bytes) { var fillerLength = ((capacity / 8) | 0) - _elm_lang$core$List$length(bytes); return A2( F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), bytes, (_elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], fillerLength, 2), 0) ? _elm_lang$core$Basics$identity : A2( _elm_lang$core$Basics$flip, F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Encode$firstFillerByte, _1: {ctor: '[]'} }))( _elm_lang$core$List$concat( A2( _elm_lang$core$List$repeat, (fillerLength / 2) | 0, { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Encode$firstFillerByte, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Encode$secondFillerByte, _1: {ctor: '[]'} } })))); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes3 = function (_p22) { bitsToBytes3: while (true) { var _p23 = _p22; var _p26 = _p23._0._1; var _p25 = _p23._1; var _p24 = _p23._0._0; if (_elm_lang$core$Native_Utils.cmp(_p26, 8) > -1) { var remLength = _p26 - 8; var remBits = _p24 & A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return x - y; }), 1, 1 << remLength); var $byte = _p24 >> remLength; var _v10 = { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: remBits, _1: remLength}, _1: {ctor: '::', _0: $byte, _1: _p25} }; _p22 = _v10; continue bitsToBytes3; } else { return { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: _p24, _1: _p26}, _1: _p25 }; } } }; var _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes2 = F2( function (_p28, _p27) { var _p29 = _p28; var _p31 = _p29._1; var _p30 = _p27; var bitsSum = _p29._0 | (_p30._0._0 << _p31); var lengthSum = _p31 + _p30._0._1; return _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes3( { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: bitsSum, _1: lengthSum}, _1: _p30._1 }); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes1 = F2( function (bits, _p32) { bitsToBytes1: while (true) { var _p33 = _p32; var _p37 = _p33._0._1; var _p36 = _p33._0._0; var _p35 = _p33._1; var _p34 = bits; if (_p34.ctor === '::') { var _v15 = _p34._1, _v16 = A2( _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes2, _p34._0, { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: _p36, _1: _p37}, _1: _p35 }); bits = _v15; _p32 = _v16; continue bitsToBytes1; } else { return _elm_lang$core$Native_Utils.eq(_p37, 0) ? _elm_lang$core$List$reverse(_p35) : _elm_lang$core$List$reverse( A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), _p35, _p36 << (8 - _p37))); } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes = function (bits) { return A2( _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes1, bits, { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: 0, _1: 0}, _1: {ctor: '[]'} }); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$addTerminator = F3( function (capacity, bitsCount, bits) { return A2( F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), bits, A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), {ctor: '[]'}, A2( F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), 0, A2(_elm_lang$core$Basics$min, 4, capacity - bitsCount)))); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicatorLength = F2( function (mode, version) { if (_elm_lang$core$Native_Utils.cmp(version, 9) < 1) { var _p38 = mode; switch (_p38.ctor) { case 'Numeric': return 10; case 'Alphanumeric': return 9; case 'Byte': return 8; default: return 8; } } else { if (_elm_lang$core$Native_Utils.cmp(version, 26) < 1) { var _p39 = mode; switch (_p39.ctor) { case 'Numeric': return 12; case 'Alphanumeric': return 11; case 'Byte': return 16; default: return 16; } } else { var _p40 = mode; switch (_p40.ctor) { case 'Numeric': return 14; case 'Alphanumeric': return 13; case 'Byte': return 16; default: return 16; } } } }); var _pablohirafuji$elm_qrcode$QRCode_Encode$filterCapacity = F3( function (mode, dataLength, _p41) { var _p42 = _p41; return function (length) { return _elm_lang$core$Native_Utils.cmp(length, _p42.capacity) < 1; }( A2(_pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicatorLength, mode, _p42.version) + dataLength); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$getVersion = F3( function (ecLevel, mode, dataLength) { return A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$InputLengthOverflow, _elm_lang$core$List$head( A2( _elm_lang$core$List$sortBy, function (_) { return _.capacity; }, A2( _elm_lang$core$List$filter, A2(_pablohirafuji$elm_qrcode$QRCode_Encode$filterCapacity, mode, dataLength), _pablohirafuji$elm_qrcode$QRCode_GroupInfo$getGroupData(ecLevel))))); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$versionToModel = F5( function (inputStr, ecLevel, mode, partialBitsCount, groupInfo) { return { inputStr: inputStr, ecLevel: ecLevel, mode: mode, groupInfo: groupInfo, bitsCount: partialBitsCount + A2(_pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicatorLength, mode, groupInfo.version) }; }); var _pablohirafuji$elm_qrcode$QRCode_Encode$selectVersion = F4( function (inputStr, ecLevel, mode, encodedStr) { var partialBitsCount = A2( F2( function (x, y) { return x + y; }), 4, A3( _elm_lang$core$List$foldl, F2( function (a, b) { return _elm_lang$core$Tuple$second(a) + b; }), 0, encodedStr)); return A2( _elm_lang$core$Result$map, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; })(encodedStr), A2( _elm_lang$core$Result$map, A4(_pablohirafuji$elm_qrcode$QRCode_Encode$versionToModel, inputStr, ecLevel, mode, partialBitsCount), A3(_pablohirafuji$elm_qrcode$QRCode_Encode$getVersion, ecLevel, mode, partialBitsCount))); }); var _pablohirafuji$elm_qrcode$QRCode_Encode$modeIndicator = function (mode) { var _p43 = mode; switch (_p43.ctor) { case 'Numeric': return 1; case 'Alphanumeric': return 2; case 'Byte': return 4; default: return 4; } }; var _pablohirafuji$elm_qrcode$QRCode_Encode$encoder = function (mode) { var _p44 = mode; switch (_p44.ctor) { case 'Numeric': return _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$encode; case 'Alphanumeric': return _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$encode; case 'Byte': return _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$encode; default: return _pablohirafuji$elm_qrcode$QRCode_Encode_UTF8$encode; } }; var _pablohirafuji$elm_qrcode$QRCode_Encode$Model = F5( function (a, b, c, d, e) { return {inputStr: a, ecLevel: b, mode: c, groupInfo: d, bitsCount: e}; }); var _pablohirafuji$elm_qrcode$QRCode_Encode$UTF8 = {ctor: 'UTF8'}; var _pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicator = F2( function (_p45, bits) { var _p46 = _p45; var _p47 = _p46.mode; var length = A2(_pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicatorLength, _p47, _p46.groupInfo.version); var charCount = _elm_lang$core$Native_Utils.eq(_p47, _pablohirafuji$elm_qrcode$QRCode_Encode$UTF8) ? _elm_lang$core$List$length(bits) : _elm_lang$core$String$length(_p46.inputStr); return {ctor: '_Tuple2', _0: charCount, _1: length}; }); var _pablohirafuji$elm_qrcode$QRCode_Encode$addInfoAndFinalBits = function (_p48) { var _p49 = _p48; var _p51 = _p49._1; var _p50 = _p49._0; return A2( F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), _p51, A2( _pablohirafuji$elm_qrcode$QRCode_Encode$addFiller, _p51.groupInfo.capacity, _pablohirafuji$elm_qrcode$QRCode_Encode$bitsToBytes( A3( _pablohirafuji$elm_qrcode$QRCode_Encode$addTerminator, _p51.groupInfo.capacity, _p51.bitsCount, A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), { ctor: '_Tuple2', _0: _pablohirafuji$elm_qrcode$QRCode_Encode$modeIndicator(_p51.mode), _1: 4 }, A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), A2(_pablohirafuji$elm_qrcode$QRCode_Encode$charCountIndicator, _p51, _p50), _p50)))))); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$Byte = {ctor: 'Byte'}; var _pablohirafuji$elm_qrcode$QRCode_Encode$Alphanumeric = {ctor: 'Alphanumeric'}; var _pablohirafuji$elm_qrcode$QRCode_Encode$Numeric = {ctor: 'Numeric'}; var _pablohirafuji$elm_qrcode$QRCode_Encode$selectMode = function (inputStr) { return A2(_elm_lang$core$Regex$contains, _pablohirafuji$elm_qrcode$QRCode_Encode_Numeric$regex, inputStr) ? _pablohirafuji$elm_qrcode$QRCode_Encode$Numeric : (A2(_elm_lang$core$Regex$contains, _pablohirafuji$elm_qrcode$QRCode_Encode_Alphanumeric$regex, inputStr) ? _pablohirafuji$elm_qrcode$QRCode_Encode$Alphanumeric : (A2(_elm_lang$core$Regex$contains, _pablohirafuji$elm_qrcode$QRCode_Encode_Byte$regex, inputStr) ? _pablohirafuji$elm_qrcode$QRCode_Encode$Byte : _pablohirafuji$elm_qrcode$QRCode_Encode$UTF8)); }; var _pablohirafuji$elm_qrcode$QRCode_Encode$encode = F2( function (inputStr, ecLevel) { var mode = _pablohirafuji$elm_qrcode$QRCode_Encode$selectMode(inputStr); return A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_Encode$concatTranspose, A2( _elm_lang$core$Result$andThen, _pablohirafuji$elm_qrcode$QRCode_Encode$getErrorCorrection, A2( _elm_lang$core$Result$andThen, _pablohirafuji$elm_qrcode$QRCode_Encode$toBlocks, A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_Encode$addInfoAndFinalBits, A2( _elm_lang$core$Result$andThen, A3(_pablohirafuji$elm_qrcode$QRCode_Encode$selectVersion, inputStr, ecLevel, mode), A2(_pablohirafuji$elm_qrcode$QRCode_Encode$encoder, mode, inputStr)))))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentPatternData = _elm_lang$core$Array$fromList( { ctor: '::', _0: {ctor: '[]'}, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 18, _1: {ctor: '[]'} } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 22, _1: {ctor: '[]'} } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: {ctor: '[]'} } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: {ctor: '[]'} } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: {ctor: '[]'} } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 22, _1: { ctor: '::', _0: 38, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 24, _1: { ctor: '::', _0: 42, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 46, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 50, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 54, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 32, _1: { ctor: '::', _0: 58, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 62, _1: {ctor: '[]'} } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 46, _1: { ctor: '::', _0: 66, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 48, _1: { ctor: '::', _0: 70, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 74, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 78, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 56, _1: { ctor: '::', _0: 82, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 86, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 62, _1: { ctor: '::', _0: 90, _1: {ctor: '[]'} } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 72, _1: { ctor: '::', _0: 94, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 74, _1: { ctor: '::', _0: 98, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 102, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 80, _1: { ctor: '::', _0: 106, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 32, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 84, _1: { ctor: '::', _0: 110, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 114, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 62, _1: { ctor: '::', _0: 90, _1: { ctor: '::', _0: 118, _1: {ctor: '[]'} } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 74, _1: { ctor: '::', _0: 98, _1: { ctor: '::', _0: 122, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 102, _1: { ctor: '::', _0: 126, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 52, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 104, _1: { ctor: '::', _0: 130, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 56, _1: { ctor: '::', _0: 82, _1: { ctor: '::', _0: 108, _1: { ctor: '::', _0: 134, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 60, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 112, _1: { ctor: '::', _0: 138, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 114, _1: { ctor: '::', _0: 142, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 34, _1: { ctor: '::', _0: 62, _1: { ctor: '::', _0: 90, _1: { ctor: '::', _0: 118, _1: { ctor: '::', _0: 146, _1: {ctor: '[]'} } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 78, _1: { ctor: '::', _0: 102, _1: { ctor: '::', _0: 126, _1: { ctor: '::', _0: 150, _1: {ctor: '[]'} } } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 24, _1: { ctor: '::', _0: 50, _1: { ctor: '::', _0: 76, _1: { ctor: '::', _0: 102, _1: { ctor: '::', _0: 128, _1: { ctor: '::', _0: 154, _1: {ctor: '[]'} } } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 28, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 80, _1: { ctor: '::', _0: 106, _1: { ctor: '::', _0: 132, _1: { ctor: '::', _0: 158, _1: {ctor: '[]'} } } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 32, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 84, _1: { ctor: '::', _0: 110, _1: { ctor: '::', _0: 136, _1: { ctor: '::', _0: 162, _1: {ctor: '[]'} } } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 26, _1: { ctor: '::', _0: 54, _1: { ctor: '::', _0: 82, _1: { ctor: '::', _0: 110, _1: { ctor: '::', _0: 138, _1: { ctor: '::', _0: 166, _1: {ctor: '[]'} } } } } } } }, _1: { ctor: '::', _0: { ctor: '::', _0: 6, _1: { ctor: '::', _0: 30, _1: { ctor: '::', _0: 58, _1: { ctor: '::', _0: 86, _1: { ctor: '::', _0: 114, _1: { ctor: '::', _0: 142, _1: { ctor: '::', _0: 170, _1: {ctor: '[]'} } } } } } } }, _1: {ctor: '[]'} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit = function ($int) { var helper = F2( function (digit, $int) { helper: while (true) { if (!_elm_lang$core$Native_Utils.eq($int, 0)) { var _v0 = digit + 1, _v1 = $int >>> 1; digit = _v0; $int = _v1; continue helper; } else { return digit; } } }); return A2(helper, 0, $int); }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$getAreaCoord = F2( function (rows, cols) { return A3( _elm_lang$core$List$foldl, F2( function (row, list) { return A3( _elm_lang$core$List$foldl, F2( function (col, list_) { return { ctor: '::', _0: {ctor: '_Tuple2', _0: row, _1: col}, _1: list_ }; }), list, cols); }), {ctor: '[]'}, rows); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$getCoord = F2( function (size, index) { return { ctor: '_Tuple2', _0: (index / size) | 0, _1: A2(_elm_lang$core$Basics_ops['%'], index, size) }; }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex = F3( function (size, row, col) { return (size * row) + col; }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$isOccupy = F4( function (row, col, size, matrix) { var _p0 = A2( _elm_lang$core$Array$get, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, row, col), matrix); if (_p0.ctor === 'Just') { var _p1 = _p0._0; if (_p1.ctor === 'Just') { return true; } else { return false; } } else { return false; } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$applyMaskColor = F2( function (maybeModule, isChange) { if (isChange) { var _p2 = maybeModule; if (((_p2.ctor === 'Just') && (_p2._0.ctor === '_Tuple2')) && (_p2._0._0 === false)) { return _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: false, _1: !_p2._0._1}); } else { return maybeModule; } } else { return maybeModule; } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$applyMaskFunction = F4( function ($function, size, index, maybeModule) { return A2( _pablohirafuji$elm_qrcode$QRCode_Matrix$applyMaskColor, maybeModule, $function( A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getCoord, size, index))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$isDarkModule = function (_p3) { return A2( _elm_lang$core$Maybe$withDefault, false, A2(_elm_lang$core$Maybe$map, _elm_lang$core$Tuple$second, _p3)); }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule4Score = F2( function (size, simplifiedList) { var moduleCount = _elm_lang$core$Basics$toFloat(size * size); var darkCount = _elm_lang$core$List$length( A2(_elm_lang$core$List$filter, _elm_lang$core$Basics$identity, simplifiedList)); var ratio = _elm_lang$core$Basics$abs( (((_elm_lang$core$Basics$toFloat(100 * darkCount) / moduleCount) / moduleCount) - 50) / 5); return _elm_lang$core$Basics$round(ratio * 10); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule3Score_ = F2( function (simplifiedList, score) { rule3Score_: while (true) { var _p4 = simplifiedList; _v5_3: do { if (_p4.ctor === '[]') { return score; } else { if (_p4._0 === false) { if ((((((((((((((((((((_p4._1.ctor === '::') && (_p4._1._0 === false)) && (_p4._1._1.ctor === '::')) && (_p4._1._1._0 === false)) && (_p4._1._1._1.ctor === '::')) && (_p4._1._1._1._0 === false)) && (_p4._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._1._1._0 === true)) { var _v6 = _p4._1._1._1._1._1._1._1._1._1._1._1, _v7 = score + 40; simplifiedList = _v6; score = _v7; continue rule3Score_; } else { break _v5_3; } } else { if ((((((((((((((((((((_p4._1.ctor === '::') && (_p4._1._0 === false)) && (_p4._1._1.ctor === '::')) && (_p4._1._1._0 === true)) && (_p4._1._1._1.ctor === '::')) && (_p4._1._1._1._0 === true)) && (_p4._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._0 === true)) && (_p4._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._1._0 === false)) && (_p4._1._1._1._1._1._1._1._1._1._1.ctor === '::')) && (_p4._1._1._1._1._1._1._1._1._1._1._0 === false)) { var _v8 = _p4._1._1._1._1._1._1._1._1._1._1._1, _v9 = score + 40; simplifiedList = _v8; score = _v9; continue rule3Score_; } else { break _v5_3; } } } } while(false); var _v10 = _p4._1, _v11 = score; simplifiedList = _v10; score = _v11; continue rule3Score_; } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule3Score = A2(_elm_lang$core$List$foldl, _pablohirafuji$elm_qrcode$QRCode_Matrix$rule3Score_, 0); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule2Score_ = F4( function (row1, row2, maybeLast, score) { rule2Score_: while (true) { var _p5 = row1; if (_p5.ctor === '[]') { return score; } else { var _p9 = _p5._1; var _p8 = _p5._0; var _p6 = row2; if (_p6.ctor === '[]') { return score; } else { var _p7 = _p6._1; if (_elm_lang$core$Native_Utils.eq(_p8, _p6._0)) { if (_elm_lang$core$Native_Utils.eq( _elm_lang$core$Maybe$Just(_p8), maybeLast)) { var _v14 = _p9, _v15 = _p7, _v16 = _elm_lang$core$Maybe$Just(_p8), _v17 = score + 3; row1 = _v14; row2 = _v15; maybeLast = _v16; score = _v17; continue rule2Score_; } else { var _v18 = _p9, _v19 = _p7, _v20 = _elm_lang$core$Maybe$Just(_p8), _v21 = score; row1 = _v18; row2 = _v19; maybeLast = _v20; score = _v21; continue rule2Score_; } } else { var _v22 = _p9, _v23 = _p7, _v24 = _elm_lang$core$Maybe$Nothing, _v25 = score; row1 = _v22; row2 = _v23; maybeLast = _v24; score = _v25; continue rule2Score_; } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule2Score = F2( function (list, score) { rule2Score: while (true) { var _p10 = list; if ((_p10.ctor === '::') && (_p10._1.ctor === '::')) { var _v27 = _p10._1._1, _v28 = A2( F2( function (x, y) { return x + y; }), score, A4(_pablohirafuji$elm_qrcode$QRCode_Matrix$rule2Score_, _p10._0, _p10._1._0, _elm_lang$core$Maybe$Nothing, 0)); list = _v27; score = _v28; continue rule2Score; } else { return score; } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule1Score_ = F2( function (simplifiedList, _p11) { rule1Score_: while (true) { var _p12 = _p11; var _p18 = _p12._2; var _p17 = _p12._1; var _p16 = _p12._0; var _p13 = simplifiedList; if (_p13.ctor === '[]') { return (_elm_lang$core$Native_Utils.cmp(_p17, 5) > -1) ? ((_p18 + _p17) - 2) : _p18; } else { var _p15 = _p13._1; var _p14 = _p13._0; if (_elm_lang$core$Native_Utils.eq(_p16, _p14)) { var _v31 = _p15, _v32 = {ctor: '_Tuple3', _0: _p16, _1: _p17 + 1, _2: _p18}; simplifiedList = _v31; _p11 = _v32; continue rule1Score_; } else { if (_elm_lang$core$Native_Utils.cmp(_p17, 5) > -1) { var _v33 = _p15, _v34 = {ctor: '_Tuple3', _0: _p14, _1: 0, _2: (_p18 + _p17) - 2}; simplifiedList = _v33; _p11 = _v34; continue rule1Score_; } else { var _v35 = _p15, _v36 = {ctor: '_Tuple3', _0: _p14, _1: 0, _2: _p18}; simplifiedList = _v35; _p11 = _v36; continue rule1Score_; } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$rule1Score = function (_p19) { return _elm_lang$core$List$sum( A2( _elm_lang$core$List$map, A2( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_Matrix$rule1Score_, {ctor: '_Tuple3', _0: false, _1: 0, _2: 0}), _p19)); }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$breakList = F3( function (width, list, acc) { breakList: while (true) { var _p20 = list; if (_p20.ctor === '[]') { return _elm_lang$core$List$reverse(acc); } else { var _v38 = width, _v39 = A2(_elm_lang$core$List$drop, width, list), _v40 = { ctor: '::', _0: A2(_elm_lang$core$List$take, width, list), _1: acc }; width = _v38; list = _v39; acc = _v40; continue breakList; } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$getMaskScore = F2( function (size, matrix) { var list = A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_Matrix$isDarkModule, _elm_lang$core$Array$toList(matrix)); var rowList = A3( _pablohirafuji$elm_qrcode$QRCode_Matrix$breakList, size, list, {ctor: '[]'}); var transposedRowList = _pablohirafuji$elm_qrcode$QRCode_Helpers$transpose(rowList); return A2( F2( function (x, y) { return x + y; }), A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$rule4Score, size, list), A2( F2( function (x, y) { return x + y; }), _pablohirafuji$elm_qrcode$QRCode_Matrix$rule3Score(transposedRowList), A2( F2( function (x, y) { return x + y; }), _pablohirafuji$elm_qrcode$QRCode_Matrix$rule3Score(rowList), A2( F2( function (x, y) { return x + y; }), A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$rule2Score, rowList, 0), A2( F2( function (x, y) { return x + y; }), _pablohirafuji$elm_qrcode$QRCode_Matrix$rule1Score(transposedRowList), _pablohirafuji$elm_qrcode$QRCode_Matrix$rule1Score(rowList)))))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$maskFunction = function (mask) { var _p21 = mask; switch (_p21.ctor) { case 'Pattern0': return function (_p22) { var _p23 = _p22; return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], _p23._0 + _p23._1, 2), 0); }; case 'Pattern1': return function (_p24) { var _p25 = _p24; return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], _p25._0, 2), 0); }; case 'Pattern2': return function (_p26) { var _p27 = _p26; return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], _p27._1, 3), 0); }; case 'Pattern3': return function (_p28) { var _p29 = _p28; return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], _p29._0 + _p29._1, 3), 0); }; case 'Pattern4': return function (_p30) { var _p31 = _p30; return _elm_lang$core$Native_Utils.eq( A2( _elm_lang$core$Basics_ops['%'], _elm_lang$core$Basics$floor( _elm_lang$core$Basics$toFloat(_p31._0) / 2) + _elm_lang$core$Basics$floor( _elm_lang$core$Basics$toFloat(_p31._1) / 3), 2), 0); }; case 'Pattern5': return function (_p32) { var _p33 = _p32; var _p35 = _p33._0; var _p34 = _p33._1; return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], _p35 * _p34, 2) + A2(_elm_lang$core$Basics_ops['%'], _p35 * _p34, 3), 0); }; case 'Pattern6': return function (_p36) { var _p37 = _p36; var _p39 = _p37._0; var _p38 = _p37._1; return _elm_lang$core$Native_Utils.eq( A2( _elm_lang$core$Basics_ops['%'], A2(_elm_lang$core$Basics_ops['%'], _p39 * _p38, 2) + A2(_elm_lang$core$Basics_ops['%'], _p39 * _p38, 3), 2), 0); }; default: return function (_p40) { var _p41 = _p40; var _p43 = _p41._0; var _p42 = _p41._1; return _elm_lang$core$Native_Utils.eq( A2( _elm_lang$core$Basics_ops['%'], A2(_elm_lang$core$Basics_ops['%'], _p43 * _p42, 3) + A2(_elm_lang$core$Basics_ops['%'], _p43 + _p42, 2), 2), 0); }; } }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$applyMask = F3( function (size, mask, matrix) { return A3( _elm_lang$core$Basics$flip, _elm_lang$core$Array$indexedMap, matrix, A2( _pablohirafuji$elm_qrcode$QRCode_Matrix$applyMaskFunction, _pablohirafuji$elm_qrcode$QRCode_Matrix$maskFunction(mask), size)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$getBestMask_ = F4( function (size, matrix, mask, maybeMin) { var maskedMatrix = A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$applyMask, size, mask, matrix); var maskScore = A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getMaskScore, size, maskedMatrix); var $return = function () { var _p44 = maybeMin; if (_p44.ctor === 'Just') { var _p45 = _p44._0._0; return (_elm_lang$core$Native_Utils.cmp(_p45, maskScore) < 0) ? {ctor: '_Tuple3', _0: _p45, _1: _p44._0._1, _2: _p44._0._2} : {ctor: '_Tuple3', _0: maskScore, _1: mask, _2: maskedMatrix}; } else { return {ctor: '_Tuple3', _0: maskScore, _1: mask, _2: maskedMatrix}; } }(); return _elm_lang$core$Maybe$Just($return); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$maskToInt = function (mask) { var _p46 = mask; switch (_p46.ctor) { case 'Pattern0': return 0; case 'Pattern1': return 1; case 'Pattern2': return 2; case 'Pattern3': return 3; case 'Pattern4': return 4; case 'Pattern5': return 5; case 'Pattern6': return 6; default: return 7; } }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$bitToColor = F2( function ($byte, offset) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), 1, 1 & ($byte >> (7 - offset))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setDataModule = F3( function (_p47, $byte, offset) { var _p48 = _p47; return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, _p48.size, _p48.row, _p48.col), _elm_lang$core$Maybe$Just( { ctor: '_Tuple2', _0: false, _1: A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$bitToColor, $byte, offset) })); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$nextModule = function (_p49) { var _p50 = _p49; var _p53 = _p50.row; var _p52 = _p50; var _p51 = _p50.col; return _p50.isRight ? _elm_lang$core$Native_Utils.update( _p52, {col: _p51 - 1, isRight: false}) : (_p50.isUp ? _elm_lang$core$Native_Utils.update( _p52, {row: _p53 - 1, col: _p51 + 1, isRight: true}) : _elm_lang$core$Native_Utils.update( _p52, {row: _p53 + 1, col: _p51 + 1, isRight: true})); }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$addDataModule = F4( function (_p54, bytes, offset, matrix) { addDataModule: while (true) { var _p55 = _p54; var _p60 = _p55.size; var _p59 = _p55.row; var _p58 = _p55; var _p57 = _p55.col; var _p56 = bytes; if (_p56.ctor === '[]') { return matrix; } else { if (_elm_lang$core$Native_Utils.cmp(offset, 8) > -1) { var _v56 = _p58, _v57 = _p56._1, _v58 = 0, _v59 = matrix; _p54 = _v56; bytes = _v57; offset = _v58; matrix = _v59; continue addDataModule; } else { if (_elm_lang$core$Native_Utils.eq(_p57, 6)) { var _v60 = _elm_lang$core$Native_Utils.update( _p58, {col: _p57 - 1, isRight: true}), _v61 = bytes, _v62 = offset, _v63 = matrix; _p54 = _v60; bytes = _v61; offset = _v62; matrix = _v63; continue addDataModule; } else { if (_elm_lang$core$Native_Utils.cmp(_p59, 0) < 0) { var _v64 = _elm_lang$core$Native_Utils.update( _p58, {row: 0, col: _p57 - 2, isRight: true, isUp: false}), _v65 = bytes, _v66 = offset, _v67 = matrix; _p54 = _v64; bytes = _v65; offset = _v66; matrix = _v67; continue addDataModule; } else { if (_elm_lang$core$Native_Utils.cmp(_p59, _p60) > -1) { var _v68 = _elm_lang$core$Native_Utils.update( _p58, {row: _p60 - 1, col: _p57 - 2, isRight: true, isUp: true}), _v69 = bytes, _v70 = offset, _v71 = matrix; _p54 = _v68; bytes = _v69; offset = _v70; matrix = _v71; continue addDataModule; } else { if (A4(_pablohirafuji$elm_qrcode$QRCode_Matrix$isOccupy, _p59, _p57, _p60, matrix)) { var _v72 = _pablohirafuji$elm_qrcode$QRCode_Matrix$nextModule(_p58), _v73 = bytes, _v74 = offset, _v75 = matrix; _p54 = _v72; bytes = _v73; offset = _v74; matrix = _v75; continue addDataModule; } else { var _v76 = _pablohirafuji$elm_qrcode$QRCode_Matrix$nextModule(_p58), _v77 = bytes, _v78 = offset + 1, _v79 = A4(_pablohirafuji$elm_qrcode$QRCode_Matrix$setDataModule, _p58, _p56._0, offset, matrix); _p54 = _v76; bytes = _v77; offset = _v78; matrix = _v79; continue addDataModule; } } } } } } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$initPlacement = function (size) { return {size: size, row: size + 1, col: size + 1, isRight: true, isUp: true}; }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$addData = F3( function (size, bytes, matrix) { return A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$addDataModule, _pablohirafuji$elm_qrcode$QRCode_Matrix$initPlacement(size), bytes, 0, matrix); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentColor = F2( function (row, col) { return (_elm_lang$core$Native_Utils.eq(row, -2) || (_elm_lang$core$Native_Utils.eq(row, 2) || (_elm_lang$core$Native_Utils.eq(col, -2) || (_elm_lang$core$Native_Utils.eq(col, 2) || (_elm_lang$core$Native_Utils.eq(row, 0) && _elm_lang$core$Native_Utils.eq(col, 0)))))) ? _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: true}) : _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: false}); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignModule = F4( function (size, rowPos, colPos, _p61) { var _p62 = _p61; var _p64 = _p62._0; var _p63 = _p62._1; return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, _p64 + rowPos, _p63 + colPos), A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentColor, _p64, _p63)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentRange = A2(_elm_lang$core$List$range, -2, 2); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignment = F3( function (size, _p65, matrix) { var _p66 = _p65; return A3( _elm_lang$core$List$foldl, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignModule, size, _p66._0, _p66._1), matrix, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getAreaCoord, _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentRange, _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentRange)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$isValidAlign = F2( function (size, _p67) { var _p68 = _p67; var _p70 = _p68._0; var _p69 = _p68._1; return ((_elm_lang$core$Native_Utils.cmp(_p70, 10) > 0) || ((_elm_lang$core$Native_Utils.cmp(10, _p69) < 0) && (_elm_lang$core$Native_Utils.cmp(_p69, size - 10) < 0))) && ((_elm_lang$core$Native_Utils.cmp(_p70, size - 10) < 0) || (_elm_lang$core$Native_Utils.cmp(_p69, 10) > 0)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignments = F3( function (size, locations, matrix) { return A3( _elm_lang$core$List$foldl, _pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignment(size), matrix, A2( _elm_lang$core$List$filter, _pablohirafuji$elm_qrcode$QRCode_Matrix$isValidAlign(size), A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getAreaCoord, locations, locations))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentPattern = F3( function (version, size, matrix) { return A2( _elm_lang$core$Result$map, A2( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_Matrix$setAlignments(size), matrix), A2( _elm_lang$core$Result$fromMaybe, _pablohirafuji$elm_qrcode$QRCode_Error$AlignmentPatternNotFound, A2(_elm_lang$core$Array$get, version - 1, _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentPatternData))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$timingColor = F2( function (row, col) { return _elm_lang$core$Native_Utils.eq( A2(_elm_lang$core$Basics_ops['%'], row + col, 2), 0) ? _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: true}) : _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: false}); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setTiming = F3( function (size, row, col) { return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, row, col), A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$timingColor, row, col)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$timingPattern = F2( function (size, matrix) { var range = A2(_elm_lang$core$List$range, 8, size - 9); return A3( _elm_lang$core$Basics$flip, _elm_lang$core$List$foldl( A2( _elm_lang$core$Basics$flip, _pablohirafuji$elm_qrcode$QRCode_Matrix$setTiming(size), 6)), range, A3( _elm_lang$core$List$foldl, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$setTiming, size, 6), matrix, range)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$darkModule = F2( function (version, size) { return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, (4 * version) + 9, 8), _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: true})); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$encodeVersionInfo = function (version) { var g18Int = 7973; var g18Digit = _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(g18Int); var helper = function (d_) { helper: while (true) { if (_elm_lang$core$Native_Utils.cmp( _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(d_) - g18Digit, 0) > -1) { var _v83 = d_ ^ A3( _elm_lang$core$Basics$flip, _elm_lang$core$Bitwise$shiftLeftBy, g18Int, _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(d_) - g18Digit); d_ = _v83; continue helper; } else { return d_ | (version << 12); } } }; var d = version << 12; return helper(d); }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionModule = F3( function (size, isBlack, _p71) { var _p72 = _p71; return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, _p72._0, _p72._1), _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: isBlack})); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionInfo_ = F4( function (size, isBlackFn, count, matrix) { setVersionInfo_: while (true) { if (_elm_lang$core$Native_Utils.cmp(count, 18) < 0) { var isBlack = isBlackFn(count); var bottomLeft = { ctor: '_Tuple2', _0: ((A2(_elm_lang$core$Basics_ops['%'], count, 3) + size) - 8) - 3, _1: _elm_lang$core$Basics$floor( _elm_lang$core$Basics$toFloat(count) / 3) }; var topRight = { ctor: '_Tuple2', _0: _elm_lang$core$Basics$floor( _elm_lang$core$Basics$toFloat(count) / 3), _1: ((A2(_elm_lang$core$Basics_ops['%'], count, 3) + size) - 8) - 3 }; var _v85 = size, _v86 = isBlackFn, _v87 = count + 1, _v88 = A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionModule, size, isBlack, bottomLeft, A4(_pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionModule, size, isBlack, topRight, matrix)); size = _v85; isBlackFn = _v86; count = _v87; matrix = _v88; continue setVersionInfo_; } else { return matrix; } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionInfo = F3( function (version, size, matrix) { if (_elm_lang$core$Native_Utils.cmp(version, 7) > -1) { var isBlack = F2( function (bits_, count) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), 1, 1 & (bits_ >> count)); }); var bits = _pablohirafuji$elm_qrcode$QRCode_Matrix$encodeVersionInfo(version); return A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionInfo_, size, isBlack(bits), 0, matrix); } else { return matrix; } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$ecLevelToInt = function (ecLevel) { var _p73 = ecLevel; switch (_p73.ctor) { case 'L': return 1; case 'M': return 0; case 'Q': return 3; default: return 2; } }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$encodeFormatInfo = F2( function (ecLevel, mask) { var g15Mask = 21522; var g15Int = 1335; var g15Digit = _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(g15Int); var formatInfoInt = _pablohirafuji$elm_qrcode$QRCode_Matrix$maskToInt(mask) | (_pablohirafuji$elm_qrcode$QRCode_Matrix$ecLevelToInt(ecLevel) << 3); var d = formatInfoInt << 10; var helper = function (d_) { helper: while (true) { if (_elm_lang$core$Native_Utils.cmp( _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(d_) - g15Digit, 0) > -1) { var _v90 = d_ ^ A3( _elm_lang$core$Basics$flip, _elm_lang$core$Bitwise$shiftLeftBy, g15Int, _pablohirafuji$elm_qrcode$QRCode_Matrix$getBCHDigit(d_) - g15Digit); d_ = _v90; continue helper; } else { return g15Mask ^ (d_ | (formatInfoInt << 10)); } } }; return helper(d); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatModule = F4( function (size, isBlack, row, col) { return A2( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, row, col), _elm_lang$core$Maybe$Just( {ctor: '_Tuple2', _0: true, _1: isBlack})); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$formatInfoVertical = F2( function (size, count) { return (_elm_lang$core$Native_Utils.cmp(count, 6) < 0) ? {ctor: '_Tuple2', _0: count, _1: 8} : ((_elm_lang$core$Native_Utils.cmp(count, 8) < 0) ? {ctor: '_Tuple2', _0: count + 1, _1: 8} : {ctor: '_Tuple2', _0: (size - 15) + count, _1: 8}); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$formatInfoHorizontal = F2( function (size, count) { return (_elm_lang$core$Native_Utils.cmp(count, 8) < 0) ? {ctor: '_Tuple2', _0: 8, _1: (size - count) - 1} : ((_elm_lang$core$Native_Utils.cmp(count, 9) < 0) ? {ctor: '_Tuple2', _0: 8, _1: 15 - count} : {ctor: '_Tuple2', _0: 8, _1: (15 - count) - 1}); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatInfo_ = F4( function (size, isBlackFn, count, matrix) { setFormatInfo_: while (true) { if (_elm_lang$core$Native_Utils.cmp(count, 15) < 0) { var isBlack = isBlackFn(count); var _p74 = A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$formatInfoVertical, size, count); var x2 = _p74._0; var y2 = _p74._1; var _p75 = A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$formatInfoHorizontal, size, count); var x1 = _p75._0; var y1 = _p75._1; var _v91 = size, _v92 = isBlackFn, _v93 = count + 1, _v94 = A5( _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatModule, size, isBlack, x2, y2, A5(_pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatModule, size, isBlack, x1, y1, matrix)); size = _v91; isBlackFn = _v92; count = _v93; matrix = _v94; continue setFormatInfo_; } else { return matrix; } } }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatInfo = F3( function (ecLevel, size, _p76) { var _p77 = _p76; var isBlack = F2( function (bits_, count) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), 1, 1 & (bits_ >> count)); }); var bits = A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$encodeFormatInfo, ecLevel, _p77._0); return A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatInfo_, size, isBlack(bits), 0, _p77._1); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$reserveFormatInfo = F2( function (size, matrix) { return A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatInfo_, size, _elm_lang$core$Basics$always(true), 0, matrix); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$finderColor = F2( function (row, col) { return ((_elm_lang$core$Native_Utils.cmp(1, row) < 1) && ((_elm_lang$core$Native_Utils.cmp(row, 7) < 1) && (_elm_lang$core$Native_Utils.eq(col, 1) || _elm_lang$core$Native_Utils.eq(col, 7)))) || (((_elm_lang$core$Native_Utils.cmp(1, col) < 1) && ((_elm_lang$core$Native_Utils.cmp(col, 7) < 1) && (_elm_lang$core$Native_Utils.eq(row, 1) || _elm_lang$core$Native_Utils.eq(row, 7)))) || ((_elm_lang$core$Native_Utils.cmp(3, row) < 1) && ((_elm_lang$core$Native_Utils.cmp(row, 5) < 1) && ((_elm_lang$core$Native_Utils.cmp(3, col) < 1) && (_elm_lang$core$Native_Utils.cmp(col, 5) < 1))))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$setFinder = F5( function (size, rowOffset, colOffset, _p78, matrix) { var _p79 = _p78; var _p81 = _p79._0; var _p80 = _p79._1; var finalCol = _p80 + colOffset; var finalRow = _p81 + rowOffset; return ((_elm_lang$core$Native_Utils.cmp(finalRow, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(finalCol, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(finalRow, size) > -1) || (_elm_lang$core$Native_Utils.cmp(finalCol, size) > -1)))) ? matrix : A3( _elm_lang$core$Array$set, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$getIndex, size, finalRow, finalCol), _elm_lang$core$Maybe$Just( { ctor: '_Tuple2', _0: true, _1: A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$finderColor, _p81, _p80) }), matrix); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$finderRange = A2(_elm_lang$core$List$range, 0, 8); var _pablohirafuji$elm_qrcode$QRCode_Matrix$finderPattern = F4( function (size, rowOffset, colOffset, matrix) { return A3( _elm_lang$core$List$foldl, A3(_pablohirafuji$elm_qrcode$QRCode_Matrix$setFinder, size, rowOffset, colOffset), matrix, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getAreaCoord, _pablohirafuji$elm_qrcode$QRCode_Matrix$finderRange, _pablohirafuji$elm_qrcode$QRCode_Matrix$finderRange)); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$Model = F2( function (a, b) { return {size: a, matrix: b}; }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$Placement = F5( function (a, b, c, d, e) { return {size: a, row: b, col: c, isRight: d, isUp: e}; }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern7 = {ctor: 'Pattern7'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern6 = {ctor: 'Pattern6'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern5 = {ctor: 'Pattern5'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern4 = {ctor: 'Pattern4'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern3 = {ctor: 'Pattern3'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern2 = {ctor: 'Pattern2'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern1 = {ctor: 'Pattern1'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern0 = {ctor: 'Pattern0'}; var _pablohirafuji$elm_qrcode$QRCode_Matrix$patternList = { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern0, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern1, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern2, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern3, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern4, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern5, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern6, _1: { ctor: '::', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern7, _1: {ctor: '[]'} } } } } } } } }; var _pablohirafuji$elm_qrcode$QRCode_Matrix$getBestMask = F2( function (size, matrix) { return A2( _elm_lang$core$Maybe$withDefault, {ctor: '_Tuple2', _0: _pablohirafuji$elm_qrcode$QRCode_Matrix$Pattern0, _1: matrix}, A2( _elm_lang$core$Maybe$map, function (_p82) { var _p83 = _p82; return {ctor: '_Tuple2', _0: _p83._1, _1: _p83._2}; }, A3( _elm_lang$core$List$foldl, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$getBestMask_, size, matrix), _elm_lang$core$Maybe$Nothing, _pablohirafuji$elm_qrcode$QRCode_Matrix$patternList))); }); var _pablohirafuji$elm_qrcode$QRCode_Matrix$apply = function (_p84) { var _p85 = _p84; var version = _p85._0.groupInfo.version; var size = ((version - 1) * 4) + 21; return A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_Matrix$Model(size), A2( _elm_lang$core$Result$map, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$setFormatInfo, _p85._0.ecLevel, size), A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_Matrix$getBestMask(size), A2( _elm_lang$core$Result$map, A2(_pablohirafuji$elm_qrcode$QRCode_Matrix$addData, size, _p85._1), A3( _pablohirafuji$elm_qrcode$QRCode_Matrix$alignmentPattern, version, size, A2( _pablohirafuji$elm_qrcode$QRCode_Matrix$timingPattern, size, A3( _pablohirafuji$elm_qrcode$QRCode_Matrix$darkModule, version, size, A3( _pablohirafuji$elm_qrcode$QRCode_Matrix$setVersionInfo, version, size, A2( _pablohirafuji$elm_qrcode$QRCode_Matrix$reserveFormatInfo, size, A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$finderPattern, size, -1, size - 8, A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$finderPattern, size, size - 8, -1, A4( _pablohirafuji$elm_qrcode$QRCode_Matrix$finderPattern, size, -1, -1, A2( _elm_lang$core$Array$initialize, size * size, _elm_lang$core$Basics$always(_elm_lang$core$Maybe$Nothing)))))))))))))); }; var _pablohirafuji$elm_qrcode$QRCode_View$indexToModuleView = F2( function (size, index) { return { row: ((index / size) | 0) + 4, col: A2(_elm_lang$core$Basics_ops['%'], index, size) + 4 }; }); var _pablohirafuji$elm_qrcode$QRCode_View$moduleView = F3( function (size, index, maybeModule) { var _p0 = maybeModule; if (((_p0.ctor === 'Just') && (_p0._0.ctor === '_Tuple2')) && (_p0._0._1 === true)) { return _elm_lang$core$Maybe$Just( A2(_pablohirafuji$elm_qrcode$QRCode_View$indexToModuleView, size, index)); } else { return _elm_lang$core$Maybe$Nothing; } }); var _pablohirafuji$elm_qrcode$QRCode_View$moduleSize = 5; var _pablohirafuji$elm_qrcode$QRCode_View$rectView = function (_p1) { var _p2 = _p1; return A2( _elm_lang$svg$Svg$rect, { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$x( _elm_lang$core$Basics$toString(_p2.col * _pablohirafuji$elm_qrcode$QRCode_View$moduleSize)), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$y( _elm_lang$core$Basics$toString(_p2.row * _pablohirafuji$elm_qrcode$QRCode_View$moduleSize)), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$width( _elm_lang$core$Basics$toString(_pablohirafuji$elm_qrcode$QRCode_View$moduleSize)), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$height( _elm_lang$core$Basics$toString(_pablohirafuji$elm_qrcode$QRCode_View$moduleSize)), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$fill('black'), _1: {ctor: '[]'} } } } } }, {ctor: '[]'}); }; var _pablohirafuji$elm_qrcode$QRCode_View$toSvg = function (_p3) { var _p4 = _p3; var _p5 = _p4.size; var quietZone = 8 * _pablohirafuji$elm_qrcode$QRCode_View$moduleSize; var sizePx = _elm_lang$core$Basics$toString((_p5 * _pablohirafuji$elm_qrcode$QRCode_View$moduleSize) + quietZone); return A2( _elm_lang$svg$Svg$svg, { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$width(sizePx), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$height(sizePx), _1: { ctor: '::', _0: _elm_lang$svg$Svg_Attributes$viewBox( A2( _elm_lang$core$Basics_ops['++'], '0 0 ', A2( _elm_lang$core$Basics_ops['++'], sizePx, A2(_elm_lang$core$Basics_ops['++'], ' ', sizePx)))), _1: {ctor: '[]'} } } }, A2( _elm_lang$core$List$map, _pablohirafuji$elm_qrcode$QRCode_View$rectView, A2( _elm_lang$core$List$filterMap, _elm_lang$core$Basics$identity, A2( _elm_lang$core$List$indexedMap, _pablohirafuji$elm_qrcode$QRCode_View$moduleView(_p5), _elm_lang$core$Array$toList(_p4.matrix))))); }; var _pablohirafuji$elm_qrcode$QRCode_View$ModuleView = F2( function (a, b) { return {row: a, col: b}; }); var _pablohirafuji$elm_qrcode$QRCode$toMatrix = F2( function (inputStr, ecLevel) { return A2( _elm_lang$core$Result$andThen, _pablohirafuji$elm_qrcode$QRCode_Matrix$apply, A2(_pablohirafuji$elm_qrcode$QRCode_Encode$encode, inputStr, ecLevel)); }); var _pablohirafuji$elm_qrcode$QRCode$toSvg = function (inputStr) { return A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_View$toSvg, A2(_pablohirafuji$elm_qrcode$QRCode$toMatrix, inputStr, _pablohirafuji$elm_qrcode$QRCode_ECLevel$Q)); }; var _pablohirafuji$elm_qrcode$QRCode$toSvgWithECLevel = F2( function (inputStr, ecLevel) { return A2( _elm_lang$core$Result$map, _pablohirafuji$elm_qrcode$QRCode_View$toSvg, A2(_pablohirafuji$elm_qrcode$QRCode$toMatrix, inputStr, ecLevel)); }); var _rtfeldman$elm_css_util$Css_Helpers$toCssIdentifier = function (identifier) { return A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('[^a-zA-Z0-9_-]'), function (_p0) { return ''; }, A4( _elm_lang$core$Regex$replace, _elm_lang$core$Regex$All, _elm_lang$core$Regex$regex('\\s+'), function (_p1) { return '-'; }, _elm_lang$core$String$trim( _elm_lang$core$Basics$toString(identifier)))); }; var _rtfeldman$elm_css_util$Css_Helpers$identifierToString = F2( function (name, identifier) { return A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css_util$Css_Helpers$toCssIdentifier(name), _rtfeldman$elm_css_util$Css_Helpers$toCssIdentifier(identifier)); }); var _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations = function (declarations) { dropEmptyDeclarations: while (true) { var _p0 = declarations; if (_p0.ctor === '[]') { return {ctor: '[]'}; } else { switch (_p0._0.ctor) { case 'StyleBlockDeclaration': var _p1 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._0._2)) { var _v1 = _p1; declarations = _v1; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p1) }; } case 'MediaRule': var _p4 = _p0._1; if (A2( _elm_lang$core$List$all, function (_p2) { var _p3 = _p2; return _elm_lang$core$List$isEmpty(_p3._2); }, _p0._0._1)) { var _v3 = _p4; declarations = _v3; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p4) }; } case 'SupportsRule': var _p5 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._1)) { var _v4 = _p5; declarations = _v4; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p5) }; } case 'DocumentRule': return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p0._1) }; case 'PageRule': var _p6 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._1)) { var _v5 = _p6; declarations = _v5; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p6) }; } case 'FontFace': var _p7 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._0)) { var _v6 = _p7; declarations = _v6; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p7) }; } case 'Keyframes': var _p8 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._1)) { var _v7 = _p8; declarations = _v7; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p8) }; } case 'Viewport': var _p9 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._0)) { var _v8 = _p9; declarations = _v8; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p9) }; } case 'CounterStyle': var _p10 = _p0._1; if (_elm_lang$core$List$isEmpty(_p0._0._0)) { var _v9 = _p10; declarations = _v9; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p10) }; } default: var _p13 = _p0._1; if (A2( _elm_lang$core$List$all, function (_p11) { var _p12 = _p11; return _elm_lang$core$List$isEmpty(_p12._1); }, _p0._0._0)) { var _v11 = _p13; declarations = _v11; continue dropEmptyDeclarations; } else { return { ctor: '::', _0: _p0._0, _1: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p13) }; } } } } }; var _rtfeldman$elm_css$Css_Structure$dropEmpty = function (_p14) { var _p15 = _p14; return { charset: _p15.charset, imports: _p15.imports, namespaces: _p15.namespaces, declarations: _rtfeldman$elm_css$Css_Structure$dropEmptyDeclarations(_p15.declarations) }; }; var _rtfeldman$elm_css$Css_Structure$concatMapLast = F2( function (update, list) { var _p16 = list; if (_p16.ctor === '[]') { return list; } else { if (_p16._1.ctor === '[]') { return update(_p16._0); } else { return { ctor: '::', _0: _p16._0, _1: A2(_rtfeldman$elm_css$Css_Structure$concatMapLast, update, _p16._1) }; } } }); var _rtfeldman$elm_css$Css_Structure$mapLast = F2( function (update, list) { var _p17 = list; if (_p17.ctor === '[]') { return list; } else { if (_p17._1.ctor === '[]') { return { ctor: '::', _0: update(_p17._0), _1: {ctor: '[]'} }; } else { return { ctor: '::', _0: _p17._0, _1: A2(_rtfeldman$elm_css$Css_Structure$mapLast, update, _p17._1) }; } } }); var _rtfeldman$elm_css$Css_Structure$Property = F3( function (a, b, c) { return {important: a, key: b, value: c}; }); var _rtfeldman$elm_css$Css_Structure$Stylesheet = F4( function (a, b, c, d) { return {charset: a, imports: b, namespaces: c, declarations: d}; }); var _rtfeldman$elm_css$Css_Structure$MediaFeature = F2( function (a, b) { return {key: a, value: b}; }); var _rtfeldman$elm_css$Css_Structure$Compatible = {ctor: 'Compatible'}; var _rtfeldman$elm_css$Css_Structure$FontFeatureValues = function (a) { return {ctor: 'FontFeatureValues', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$CounterStyle = function (a) { return {ctor: 'CounterStyle', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Viewport = function (a) { return {ctor: 'Viewport', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Keyframes = F2( function (a, b) { return {ctor: 'Keyframes', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$FontFace = function (a) { return {ctor: 'FontFace', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$PageRule = F2( function (a, b) { return {ctor: 'PageRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$DocumentRule = F5( function (a, b, c, d, e) { return {ctor: 'DocumentRule', _0: a, _1: b, _2: c, _3: d, _4: e}; }); var _rtfeldman$elm_css$Css_Structure$SupportsRule = F2( function (a, b) { return {ctor: 'SupportsRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$MediaRule = F2( function (a, b) { return {ctor: 'MediaRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration = function (a) { return {ctor: 'StyleBlockDeclaration', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$concatMapLastStyleBlock = F2( function (update, declarations) { var _p18 = declarations; _v15_12: do { if (_p18.ctor === '[]') { return declarations; } else { if (_p18._1.ctor === '[]') { switch (_p18._0.ctor) { case 'StyleBlockDeclaration': return A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration, update(_p18._0._0)); case 'MediaRule': if (_p18._0._1.ctor === '::') { if (_p18._0._1._1.ctor === '[]') { return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p18._0._0, update(_p18._0._1._0)), _1: {ctor: '[]'} }; } else { var _p19 = A2( _rtfeldman$elm_css$Css_Structure$concatMapLastStyleBlock, update, { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Structure$MediaRule, _p18._0._0, _p18._0._1._1), _1: {ctor: '[]'} }); if (((_p19.ctor === '::') && (_p19._0.ctor === 'MediaRule')) && (_p19._1.ctor === '[]')) { return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p19._0._0, {ctor: '::', _0: _p18._0._1._0, _1: _p19._0._1}), _1: {ctor: '[]'} }; } else { return _p19; } } } else { break _v15_12; } case 'SupportsRule': return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$SupportsRule, _p18._0._0, A2(_rtfeldman$elm_css$Css_Structure$concatMapLastStyleBlock, update, _p18._0._1)), _1: {ctor: '[]'} }; case 'DocumentRule': return A2( _elm_lang$core$List$map, A4(_rtfeldman$elm_css$Css_Structure$DocumentRule, _p18._0._0, _p18._0._1, _p18._0._2, _p18._0._3), update(_p18._0._4)); case 'PageRule': return declarations; case 'FontFace': return declarations; case 'Keyframes': return declarations; case 'Viewport': return declarations; case 'CounterStyle': return declarations; default: return declarations; } } else { break _v15_12; } } } while(false); return { ctor: '::', _0: _p18._0, _1: A2(_rtfeldman$elm_css$Css_Structure$concatMapLastStyleBlock, update, _p18._1) }; }); var _rtfeldman$elm_css$Css_Structure$StyleBlock = F3( function (a, b, c) { return {ctor: 'StyleBlock', _0: a, _1: b, _2: c}; }); var _rtfeldman$elm_css$Css_Structure$withPropertyAppended = F2( function (property, _p20) { var _p21 = _p20; return A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, _p21._0, _p21._1, A2( _elm_lang$core$Basics_ops['++'], _p21._2, { ctor: '::', _0: property, _1: {ctor: '[]'} })); }); var _rtfeldman$elm_css$Css_Structure$appendProperty = F2( function (property, declarations) { var _p22 = declarations; if (_p22.ctor === '[]') { return declarations; } else { if (_p22._1.ctor === '[]') { switch (_p22._0.ctor) { case 'StyleBlockDeclaration': return { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration( A2(_rtfeldman$elm_css$Css_Structure$withPropertyAppended, property, _p22._0._0)), _1: {ctor: '[]'} }; case 'MediaRule': return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p22._0._0, A2( _rtfeldman$elm_css$Css_Structure$mapLast, _rtfeldman$elm_css$Css_Structure$withPropertyAppended(property), _p22._0._1)), _1: {ctor: '[]'} }; default: return declarations; } } else { return { ctor: '::', _0: _p22._0, _1: A2(_rtfeldman$elm_css$Css_Structure$appendProperty, property, _p22._1) }; } } }); var _rtfeldman$elm_css$Css_Structure$appendToLastSelector = F2( function (f, styleBlock) { var _p23 = styleBlock; if (_p23._1.ctor === '[]') { var _p24 = _p23._0; return { ctor: '::', _0: A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, _p24, {ctor: '[]'}, _p23._2), _1: { ctor: '::', _0: A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, f(_p24), {ctor: '[]'}, {ctor: '[]'}), _1: {ctor: '[]'} } }; } else { var _p26 = _p23._1; var _p25 = _p23._0; var newFirst = f(_p25); var newRest = A2(_elm_lang$core$List$map, f, _p26); return { ctor: '::', _0: A3(_rtfeldman$elm_css$Css_Structure$StyleBlock, _p25, _p26, _p23._2), _1: { ctor: '::', _0: A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, newFirst, newRest, {ctor: '[]'}), _1: {ctor: '[]'} } }; } }); var _rtfeldman$elm_css$Css_Structure$Speech = {ctor: 'Speech'}; var _rtfeldman$elm_css$Css_Structure$Screen = {ctor: 'Screen'}; var _rtfeldman$elm_css$Css_Structure$Print = {ctor: 'Print'}; var _rtfeldman$elm_css$Css_Structure$All = {ctor: 'All'}; var _rtfeldman$elm_css$Css_Structure$CustomQuery = function (a) { return {ctor: 'CustomQuery', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Not = function (a) { return {ctor: 'Not', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Or = F2( function (a, b) { return {ctor: 'Or', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$And = F2( function (a, b) { return {ctor: 'And', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$TypeQuery = function (a) { return {ctor: 'TypeQuery', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$FeatureQuery = function (a) { return {ctor: 'FeatureQuery', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Selector = F3( function (a, b, c) { return {ctor: 'Selector', _0: a, _1: b, _2: c}; }); var _rtfeldman$elm_css$Css_Structure$applyPseudoElement = F2( function (pseudo, _p27) { var _p28 = _p27; return A3( _rtfeldman$elm_css$Css_Structure$Selector, _p28._0, _p28._1, _elm_lang$core$Maybe$Just(pseudo)); }); var _rtfeldman$elm_css$Css_Structure$appendPseudoElementToLastSelector = F2( function (pseudo, styleBlock) { return A2( _rtfeldman$elm_css$Css_Structure$appendToLastSelector, _rtfeldman$elm_css$Css_Structure$applyPseudoElement(pseudo), styleBlock); }); var _rtfeldman$elm_css$Css_Structure$CustomSelector = F2( function (a, b) { return {ctor: 'CustomSelector', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$UniversalSelectorSequence = function (a) { return {ctor: 'UniversalSelectorSequence', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$TypeSelectorSequence = F2( function (a, b) { return {ctor: 'TypeSelectorSequence', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Structure$appendRepeatable = F2( function (selector, sequence) { var _p29 = sequence; switch (_p29.ctor) { case 'TypeSelectorSequence': return A2( _rtfeldman$elm_css$Css_Structure$TypeSelectorSequence, _p29._0, A2( _elm_lang$core$Basics_ops['++'], _p29._1, { ctor: '::', _0: selector, _1: {ctor: '[]'} })); case 'UniversalSelectorSequence': return _rtfeldman$elm_css$Css_Structure$UniversalSelectorSequence( A2( _elm_lang$core$Basics_ops['++'], _p29._0, { ctor: '::', _0: selector, _1: {ctor: '[]'} })); default: return A2( _rtfeldman$elm_css$Css_Structure$CustomSelector, _p29._0, A2( _elm_lang$core$Basics_ops['++'], _p29._1, { ctor: '::', _0: selector, _1: {ctor: '[]'} })); } }); var _rtfeldman$elm_css$Css_Structure$appendRepeatableWithCombinator = F2( function (selector, list) { var _p30 = list; if (_p30.ctor === '[]') { return {ctor: '[]'}; } else { if ((_p30._0.ctor === '_Tuple2') && (_p30._1.ctor === '[]')) { return { ctor: '::', _0: { ctor: '_Tuple2', _0: _p30._0._0, _1: A2(_rtfeldman$elm_css$Css_Structure$appendRepeatable, selector, _p30._0._1) }, _1: {ctor: '[]'} }; } else { return { ctor: '::', _0: _p30._0, _1: A2(_rtfeldman$elm_css$Css_Structure$appendRepeatableWithCombinator, selector, _p30._1) }; } } }); var _rtfeldman$elm_css$Css_Structure$appendRepeatableSelector = F2( function (repeatableSimpleSelector, selector) { var _p31 = selector; if (_p31._1.ctor === '[]') { return A3( _rtfeldman$elm_css$Css_Structure$Selector, A2(_rtfeldman$elm_css$Css_Structure$appendRepeatable, repeatableSimpleSelector, _p31._0), {ctor: '[]'}, _p31._2); } else { return A3( _rtfeldman$elm_css$Css_Structure$Selector, _p31._0, A2(_rtfeldman$elm_css$Css_Structure$appendRepeatableWithCombinator, repeatableSimpleSelector, _p31._1), _p31._2); } }); var _rtfeldman$elm_css$Css_Structure$extendLastSelector = F2( function (selector, declarations) { var _p32 = declarations; _v24_15: do { if (_p32.ctor === '[]') { return declarations; } else { if (_p32._1.ctor === '[]') { switch (_p32._0.ctor) { case 'StyleBlockDeclaration': if (_p32._0._0._1.ctor === '[]') { return { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration( A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, A2(_rtfeldman$elm_css$Css_Structure$appendRepeatableSelector, selector, _p32._0._0._0), {ctor: '[]'}, _p32._0._0._2)), _1: {ctor: '[]'} }; } else { var newRest = A2( _rtfeldman$elm_css$Css_Structure$mapLast, _rtfeldman$elm_css$Css_Structure$appendRepeatableSelector(selector), _p32._0._0._1); return { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration( A3(_rtfeldman$elm_css$Css_Structure$StyleBlock, _p32._0._0._0, newRest, _p32._0._0._2)), _1: {ctor: '[]'} }; } case 'MediaRule': if (_p32._0._1.ctor === '::') { if (_p32._0._1._1.ctor === '[]') { if (_p32._0._1._0._1.ctor === '[]') { var newStyleBlock = A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, A2(_rtfeldman$elm_css$Css_Structure$appendRepeatableSelector, selector, _p32._0._1._0._0), {ctor: '[]'}, _p32._0._1._0._2); return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p32._0._0, { ctor: '::', _0: newStyleBlock, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }; } else { var newRest = A2( _rtfeldman$elm_css$Css_Structure$mapLast, _rtfeldman$elm_css$Css_Structure$appendRepeatableSelector(selector), _p32._0._1._0._1); var newStyleBlock = A3(_rtfeldman$elm_css$Css_Structure$StyleBlock, _p32._0._1._0._0, newRest, _p32._0._1._0._2); return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p32._0._0, { ctor: '::', _0: newStyleBlock, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }; } } else { var _p33 = A2( _rtfeldman$elm_css$Css_Structure$extendLastSelector, selector, { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Structure$MediaRule, _p32._0._0, _p32._0._1._1), _1: {ctor: '[]'} }); if (((_p33.ctor === '::') && (_p33._0.ctor === 'MediaRule')) && (_p33._1.ctor === '[]')) { return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p33._0._0, {ctor: '::', _0: _p32._0._1._0, _1: _p33._0._1}), _1: {ctor: '[]'} }; } else { return _p33; } } } else { break _v24_15; } case 'SupportsRule': return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$SupportsRule, _p32._0._0, A2(_rtfeldman$elm_css$Css_Structure$extendLastSelector, selector, _p32._0._1)), _1: {ctor: '[]'} }; case 'DocumentRule': if (_p32._0._4._1.ctor === '[]') { var newStyleBlock = A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, A2(_rtfeldman$elm_css$Css_Structure$appendRepeatableSelector, selector, _p32._0._4._0), {ctor: '[]'}, _p32._0._4._2); return { ctor: '::', _0: A5(_rtfeldman$elm_css$Css_Structure$DocumentRule, _p32._0._0, _p32._0._1, _p32._0._2, _p32._0._3, newStyleBlock), _1: {ctor: '[]'} }; } else { var newRest = A2( _rtfeldman$elm_css$Css_Structure$mapLast, _rtfeldman$elm_css$Css_Structure$appendRepeatableSelector(selector), _p32._0._4._1); var newStyleBlock = A3(_rtfeldman$elm_css$Css_Structure$StyleBlock, _p32._0._4._0, newRest, _p32._0._4._2); return { ctor: '::', _0: A5(_rtfeldman$elm_css$Css_Structure$DocumentRule, _p32._0._0, _p32._0._1, _p32._0._2, _p32._0._3, newStyleBlock), _1: {ctor: '[]'} }; } case 'PageRule': return declarations; case 'FontFace': return declarations; case 'Keyframes': return declarations; case 'Viewport': return declarations; case 'CounterStyle': return declarations; default: return declarations; } } else { break _v24_15; } } } while(false); return { ctor: '::', _0: _p32._0, _1: A2(_rtfeldman$elm_css$Css_Structure$extendLastSelector, selector, _p32._1) }; }); var _rtfeldman$elm_css$Css_Structure$appendRepeatableToLastSelector = F2( function (selector, styleBlock) { return A2( _rtfeldman$elm_css$Css_Structure$appendToLastSelector, _rtfeldman$elm_css$Css_Structure$appendRepeatableSelector(selector), styleBlock); }); var _rtfeldman$elm_css$Css_Structure$PseudoClassSelector = function (a) { return {ctor: 'PseudoClassSelector', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$IdSelector = function (a) { return {ctor: 'IdSelector', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$ClassSelector = function (a) { return {ctor: 'ClassSelector', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$TypeSelector = function (a) { return {ctor: 'TypeSelector', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$PseudoElement = function (a) { return {ctor: 'PseudoElement', _0: a}; }; var _rtfeldman$elm_css$Css_Structure$Descendant = {ctor: 'Descendant'}; var _rtfeldman$elm_css$Css_Structure$Child = {ctor: 'Child'}; var _rtfeldman$elm_css$Css_Structure$GeneralSibling = {ctor: 'GeneralSibling'}; var _rtfeldman$elm_css$Css_Structure$AdjacentSibling = {ctor: 'AdjacentSibling'}; var _rtfeldman$elm_css$Css_Preprocess$propertyToPair = function (property) { var value = property.important ? A2(_elm_lang$core$Basics_ops['++'], property.value, ' !important') : property.value; return {ctor: '_Tuple2', _0: property.key, _1: value}; }; var _rtfeldman$elm_css$Css_Preprocess$toPropertyPairs = function (styles) { toPropertyPairs: while (true) { var _p0 = styles; if (_p0.ctor === '[]') { return {ctor: '[]'}; } else { switch (_p0._0.ctor) { case 'AppendProperty': return { ctor: '::', _0: _rtfeldman$elm_css$Css_Preprocess$propertyToPair(_p0._0._0), _1: _rtfeldman$elm_css$Css_Preprocess$toPropertyPairs(_p0._1) }; case 'ApplyStyles': return A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Preprocess$toPropertyPairs(_p0._0._0), _rtfeldman$elm_css$Css_Preprocess$toPropertyPairs(_p0._1)); default: var _v1 = _p0._1; styles = _v1; continue toPropertyPairs; } } } }; var _rtfeldman$elm_css$Css_Preprocess$unwrapSnippet = function (_p1) { var _p2 = _p1; return _p2._0; }; var _rtfeldman$elm_css$Css_Preprocess$toMediaRule = F2( function (mediaQueries, declaration) { var _p3 = declaration; switch (_p3.ctor) { case 'StyleBlockDeclaration': return A2( _rtfeldman$elm_css$Css_Structure$MediaRule, mediaQueries, { ctor: '::', _0: _p3._0, _1: {ctor: '[]'} }); case 'MediaRule': return A2( _rtfeldman$elm_css$Css_Structure$MediaRule, A2(_elm_lang$core$Basics_ops['++'], mediaQueries, _p3._0), _p3._1); case 'SupportsRule': return A2( _rtfeldman$elm_css$Css_Structure$SupportsRule, _p3._0, A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css_Preprocess$toMediaRule(mediaQueries), _p3._1)); case 'DocumentRule': return A5(_rtfeldman$elm_css$Css_Structure$DocumentRule, _p3._0, _p3._1, _p3._2, _p3._3, _p3._4); case 'PageRule': return declaration; case 'FontFace': return declaration; case 'Keyframes': return declaration; case 'Viewport': return declaration; case 'CounterStyle': return declaration; default: return declaration; } }); var _rtfeldman$elm_css$Css_Preprocess$stylesheet = function (snippets) { return { charset: _elm_lang$core$Maybe$Nothing, imports: {ctor: '[]'}, namespaces: {ctor: '[]'}, snippets: snippets }; }; var _rtfeldman$elm_css$Css_Preprocess$Property = F4( function (a, b, c, d) { return {key: a, value: b, important: c, warnings: d}; }); var _rtfeldman$elm_css$Css_Preprocess$Stylesheet = F4( function (a, b, c, d) { return {charset: a, imports: b, namespaces: c, snippets: d}; }); var _rtfeldman$elm_css$Css_Preprocess$ApplyStyles = function (a) { return {ctor: 'ApplyStyles', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$WithMedia = F2( function (a, b) { return {ctor: 'WithMedia', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$WithPseudoElement = F2( function (a, b) { return {ctor: 'WithPseudoElement', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$NestSnippet = F2( function (a, b) { return {ctor: 'NestSnippet', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$ExtendSelector = F2( function (a, b) { return {ctor: 'ExtendSelector', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$AppendProperty = function (a) { return {ctor: 'AppendProperty', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$mapLastProperty = F2( function (update, style) { var _p4 = style; switch (_p4.ctor) { case 'AppendProperty': return _rtfeldman$elm_css$Css_Preprocess$AppendProperty( update(_p4._0)); case 'ExtendSelector': return A2( _rtfeldman$elm_css$Css_Preprocess$ExtendSelector, _p4._0, A2(_rtfeldman$elm_css$Css_Preprocess$mapAllLastProperty, update, _p4._1)); case 'NestSnippet': return style; case 'WithPseudoElement': return style; case 'WithMedia': return style; default: return _rtfeldman$elm_css$Css_Preprocess$ApplyStyles( A2( _rtfeldman$elm_css$Css_Structure$mapLast, _rtfeldman$elm_css$Css_Preprocess$mapLastProperty(update), _p4._0)); } }); var _rtfeldman$elm_css$Css_Preprocess$mapAllLastProperty = F2( function (update, styles) { var _p5 = styles; if (_p5.ctor === '[]') { return styles; } else { if (_p5._1.ctor === '[]') { return { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Preprocess$mapLastProperty, update, _p5._0), _1: {ctor: '[]'} }; } else { return { ctor: '::', _0: _p5._0, _1: A2(_rtfeldman$elm_css$Css_Preprocess$mapAllLastProperty, update, _p5._1) }; } } }); var _rtfeldman$elm_css$Css_Preprocess$Snippet = function (a) { return {ctor: 'Snippet', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$FontFeatureValues = function (a) { return {ctor: 'FontFeatureValues', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$CounterStyle = function (a) { return {ctor: 'CounterStyle', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$Viewport = function (a) { return {ctor: 'Viewport', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$Keyframes = F2( function (a, b) { return {ctor: 'Keyframes', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$FontFace = function (a) { return {ctor: 'FontFace', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$PageRule = F2( function (a, b) { return {ctor: 'PageRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$DocumentRule = F5( function (a, b, c, d, e) { return {ctor: 'DocumentRule', _0: a, _1: b, _2: c, _3: d, _4: e}; }); var _rtfeldman$elm_css$Css_Preprocess$SupportsRule = F2( function (a, b) { return {ctor: 'SupportsRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$MediaRule = F2( function (a, b) { return {ctor: 'MediaRule', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css_Preprocess$StyleBlockDeclaration = function (a) { return {ctor: 'StyleBlockDeclaration', _0: a}; }; var _rtfeldman$elm_css$Css_Preprocess$StyleBlock = F3( function (a, b, c) { return {ctor: 'StyleBlock', _0: a, _1: b, _2: c}; }); var _rtfeldman$elm_css$Css_Structure_Output$noIndent = ''; var _rtfeldman$elm_css$Css_Structure_Output$spaceIndent = ' '; var _rtfeldman$elm_css$Css_Structure_Output$indent = function (str) { return A2(_elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Structure_Output$spaceIndent, str); }; var _rtfeldman$elm_css$Css_Structure_Output$prettyPrintProperty = function (_p0) { var _p1 = _p0; var suffix = _p1.important ? ' !important;' : ';'; return A2( _elm_lang$core$Basics_ops['++'], _p1.key, A2( _elm_lang$core$Basics_ops['++'], ': ', A2(_elm_lang$core$Basics_ops['++'], _p1.value, suffix))); }; var _rtfeldman$elm_css$Css_Structure_Output$prettyPrintProperties = function (properties) { return A2( _elm_lang$core$String$join, '\n', A2( _elm_lang$core$List$map, function (_p2) { return _rtfeldman$elm_css$Css_Structure_Output$indent( _rtfeldman$elm_css$Css_Structure_Output$prettyPrintProperty(_p2)); }, properties)); }; var _rtfeldman$elm_css$Css_Structure_Output$combinatorToString = function (combinator) { var _p3 = combinator; switch (_p3.ctor) { case 'AdjacentSibling': return '+'; case 'GeneralSibling': return '~'; case 'Child': return '>'; default: return ''; } }; var _rtfeldman$elm_css$Css_Structure_Output$pseudoElementToString = function (_p4) { var _p5 = _p4; return A2(_elm_lang$core$Basics_ops['++'], '::', _p5._0); }; var _rtfeldman$elm_css$Css_Structure_Output$repeatableSimpleSelectorToString = function (repeatableSimpleSelector) { var _p6 = repeatableSimpleSelector; switch (_p6.ctor) { case 'ClassSelector': return A2(_elm_lang$core$Basics_ops['++'], '.', _p6._0); case 'IdSelector': return A2(_elm_lang$core$Basics_ops['++'], '#', _p6._0); default: return A2(_elm_lang$core$Basics_ops['++'], ':', _p6._0); } }; var _rtfeldman$elm_css$Css_Structure_Output$simpleSelectorSequenceToString = function (simpleSelectorSequence) { var _p7 = simpleSelectorSequence; switch (_p7.ctor) { case 'TypeSelectorSequence': return A2( _elm_lang$core$String$join, '', { ctor: '::', _0: _p7._0._0, _1: A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$repeatableSimpleSelectorToString, _p7._1) }); case 'UniversalSelectorSequence': var _p8 = _p7._0; return _elm_lang$core$List$isEmpty(_p8) ? '*' : A2( _elm_lang$core$String$join, '', A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$repeatableSimpleSelectorToString, _p8)); default: return A2( _elm_lang$core$String$join, '', { ctor: '::', _0: _p7._0, _1: A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$repeatableSimpleSelectorToString, _p7._1) }); } }; var _rtfeldman$elm_css$Css_Structure_Output$selectorChainToString = function (_p9) { var _p10 = _p9; return A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure_Output$combinatorToString(_p10._0), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure_Output$simpleSelectorSequenceToString(_p10._1), _1: {ctor: '[]'} } }); }; var _rtfeldman$elm_css$Css_Structure_Output$selectorToString = function (_p11) { var _p12 = _p11; var pseudoElementsString = A2( _elm_lang$core$String$join, '', { ctor: '::', _0: A2( _elm_lang$core$Maybe$withDefault, '', A2(_elm_lang$core$Maybe$map, _rtfeldman$elm_css$Css_Structure_Output$pseudoElementToString, _p12._2)), _1: {ctor: '[]'} }); var segments = A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure_Output$simpleSelectorSequenceToString(_p12._0), _1: {ctor: '[]'} }, A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$selectorChainToString, _p12._1)); return A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), pseudoElementsString, A2( _elm_lang$core$String$join, ' ', A2( _elm_lang$core$List$filter, function (_p13) { return !_elm_lang$core$String$isEmpty(_p13); }, segments))); }; var _rtfeldman$elm_css$Css_Structure_Output$mediaFeatureToString = function (mediaFeature) { var _p14 = mediaFeature.value; if (_p14.ctor === 'Just') { return A2( _elm_lang$core$Basics_ops['++'], '(', A2( _elm_lang$core$Basics_ops['++'], mediaFeature.key, A2( _elm_lang$core$Basics_ops['++'], ': ', A2(_elm_lang$core$Basics_ops['++'], _p14._0, ')')))); } else { return mediaFeature.key; } }; var _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString = function (mediaQuery) { var _p15 = mediaQuery; switch (_p15.ctor) { case 'FeatureQuery': return _rtfeldman$elm_css$Css_Structure_Output$mediaFeatureToString(_p15._0); case 'TypeQuery': switch (_p15._0.ctor) { case 'All': return 'all'; case 'Print': return 'print'; case 'Screen': return 'screen'; default: return 'speech'; } case 'And': return A2( _elm_lang$core$Basics_ops['++'], '(', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString(_p15._0), A2( _elm_lang$core$Basics_ops['++'], ' and ', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString(_p15._1), ')')))); case 'Or': return A2( _elm_lang$core$Basics_ops['++'], '(', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString(_p15._0), A2( _elm_lang$core$Basics_ops['++'], ' or ', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString(_p15._1), ')')))); case 'Not': var str = _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString(_p15._0); return A2(_elm_lang$core$String$startsWith, 'not ', str) ? A2(_elm_lang$core$String$dropLeft, 4, str) : A2(_elm_lang$core$Basics_ops['++'], 'not ', str); default: return _p15._0; } }; var _rtfeldman$elm_css$Css_Structure_Output$prettyPrintStyleBlock = F2( function (indentLevel, _p16) { var _p17 = _p16; var selectorStr = A2( _elm_lang$core$String$join, ', ', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$selectorToString, {ctor: '::', _0: _p17._0, _1: _p17._1})); return A2( _elm_lang$core$String$join, '', { ctor: '::', _0: selectorStr, _1: { ctor: '::', _0: ' {\n', _1: { ctor: '::', _0: indentLevel, _1: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure_Output$prettyPrintProperties(_p17._2), _1: { ctor: '::', _0: '\n', _1: { ctor: '::', _0: indentLevel, _1: { ctor: '::', _0: '}', _1: {ctor: '[]'} } } } } } } }); }); var _rtfeldman$elm_css$Css_Structure_Output$prettyPrintDeclaration = function (declaration) { var _p18 = declaration; switch (_p18.ctor) { case 'StyleBlockDeclaration': return A2(_rtfeldman$elm_css$Css_Structure_Output$prettyPrintStyleBlock, _rtfeldman$elm_css$Css_Structure_Output$noIndent, _p18._0); case 'MediaRule': var query = A2( _elm_lang$core$String$join, ',\n', A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$mediaQueryToString, _p18._0)); var finalQuery = A2(_elm_lang$core$String$startsWith, 'not ', query) ? query : A2(_elm_lang$core$Basics_ops['++'], 'only ', query); var blocks = A2( _elm_lang$core$String$join, '\n\n', A2( _elm_lang$core$List$map, function (_p19) { return _rtfeldman$elm_css$Css_Structure_Output$indent( A2(_rtfeldman$elm_css$Css_Structure_Output$prettyPrintStyleBlock, _rtfeldman$elm_css$Css_Structure_Output$spaceIndent, _p19)); }, _p18._1)); return A2( _elm_lang$core$Basics_ops['++'], '@media ', A2( _elm_lang$core$Basics_ops['++'], finalQuery, A2( _elm_lang$core$Basics_ops['++'], ' {\n', A2(_elm_lang$core$Basics_ops['++'], blocks, '\n}')))); default: return _elm_lang$core$Native_Utils.crashCase( 'Css.Structure.Output', { start: {line: 61, column: 5}, end: {line: 97, column: 49} }, _p18)('not yet implemented :x'); } }; var _rtfeldman$elm_css$Css_Structure_Output$namespaceToString = function (_p21) { var _p22 = _p21; return A2( _elm_lang$core$Basics_ops['++'], '@namespace ', A2( _elm_lang$core$Basics_ops['++'], _p22._0, A2( _elm_lang$core$Basics_ops['++'], '\"', A2(_elm_lang$core$Basics_ops['++'], _p22._1, '\"')))); }; var _rtfeldman$elm_css$Css_Structure_Output$importToString = function (_p23) { var _p24 = _p23; return A2( _elm_lang$core$Basics_ops['++'], '@import \"', A2( _elm_lang$core$Basics_ops['++'], _p24._0, A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(_p24._1), '\"'))); }; var _rtfeldman$elm_css$Css_Structure_Output$charsetToString = function (charset) { return A2( _elm_lang$core$Maybe$withDefault, '', A2( _elm_lang$core$Maybe$map, function (str) { return A2( _elm_lang$core$Basics_ops['++'], '@charset \"', A2(_elm_lang$core$Basics_ops['++'], str, '\"')); }, charset)); }; var _rtfeldman$elm_css$Css_Structure_Output$prettyPrint = function (_p25) { var _p26 = _p25; return A2( _elm_lang$core$String$join, '\n\n', A2( _elm_lang$core$List$filter, function (_p27) { return !_elm_lang$core$String$isEmpty(_p27); }, { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure_Output$charsetToString(_p26.charset), _1: { ctor: '::', _0: A2( _elm_lang$core$String$join, '\n', A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$importToString, _p26.imports)), _1: { ctor: '::', _0: A2( _elm_lang$core$String$join, '\n', A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$namespaceToString, _p26.namespaces)), _1: { ctor: '::', _0: A2( _elm_lang$core$String$join, '\n\n', A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Structure_Output$prettyPrintDeclaration, _p26.declarations)), _1: {ctor: '[]'} } } } })); }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$oneOf = function (maybes) { oneOf: while (true) { var _p0 = maybes; if (_p0.ctor === '[]') { return _elm_lang$core$Maybe$Nothing; } else { var _p2 = _p0._0; var _p1 = _p2; if (_p1.ctor === 'Nothing') { var _v2 = _p0._1; maybes = _v2; continue oneOf; } else { return _p2; } } } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$collectSelectors = function (declarations) { collectSelectors: while (true) { var _p3 = declarations; if (_p3.ctor === '[]') { return {ctor: '[]'}; } else { if (_p3._0.ctor === 'StyleBlockDeclaration') { return A2( _elm_lang$core$Basics_ops['++'], {ctor: '::', _0: _p3._0._0._0, _1: _p3._0._0._1}, _rtfeldman$elm_css$Css_Preprocess_Resolve$collectSelectors(_p3._1)); } else { var _v4 = _p3._1; declarations = _v4; continue collectSelectors; } } } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarning = function (_p4) { var _p5 = _p4; return { ctor: '_Tuple2', _0: _p5.warnings, _1: {key: _p5.key, value: _p5.value, important: _p5.important} }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings = function (properties) { return { ctor: '_Tuple2', _0: A2( _elm_lang$core$List$concatMap, function (_) { return _.warnings; }, properties), _1: A2( _elm_lang$core$List$map, function (prop) { return _elm_lang$core$Tuple$second( _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarning(prop)); }, properties) }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$toDocumentRule = F5( function (str1, str2, str3, str4, declaration) { var _p6 = declaration; if (_p6.ctor === 'StyleBlockDeclaration') { return A5(_rtfeldman$elm_css$Css_Structure$DocumentRule, str1, str2, str3, str4, _p6._0); } else { return declaration; } }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$lastDeclaration = function (declarations) { lastDeclaration: while (true) { var _p7 = declarations; if (_p7.ctor === '[]') { return _elm_lang$core$Maybe$Nothing; } else { if (_p7._1.ctor === '[]') { return _elm_lang$core$Maybe$Just( { ctor: '::', _0: _p7._0, _1: {ctor: '[]'} }); } else { var _v8 = _p7._1; declarations = _v8; continue lastDeclaration; } } } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings = function (declarationsAndWarnings) { var _p8 = declarationsAndWarnings; if (_p8.ctor === '[]') { return { declarations: {ctor: '[]'}, warnings: {ctor: '[]'} }; } else { var result = _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings(_p8._1); return { declarations: A2(_elm_lang$core$Basics_ops['++'], _p8._0.declarations, result.declarations), warnings: A2(_elm_lang$core$Basics_ops['++'], _p8._0.warnings, result.warnings) }; } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFeatureValues = function (tuples) { var expandTuples = function (tuplesToExpand) { var _p9 = tuplesToExpand; if (_p9.ctor === '[]') { return { ctor: '_Tuple2', _0: {ctor: '[]'}, _1: {ctor: '[]'} }; } else { var _p10 = expandTuples(_p9._1); var nextWarnings = _p10._0; var nextTuples = _p10._1; var _p11 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings(_p9._0._1); var warnings = _p11._0; var properties = _p11._1; return { ctor: '_Tuple2', _0: A2(_elm_lang$core$Basics_ops['++'], warnings, nextWarnings), _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _p9._0._0, _1: properties}, _1: nextTuples } }; } }; var _p12 = expandTuples(tuples); var warnings = _p12._0; var newTuples = _p12._1; return { declarations: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$FontFeatureValues(newTuples), _1: {ctor: '[]'} }, warnings: warnings }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveCounterStyle = function (counterStyleProperties) { var _p13 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings(counterStyleProperties); var warnings = _p13._0; var properties = _p13._1; return { declarations: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$Viewport(properties), _1: {ctor: '[]'} }, warnings: warnings }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveViewport = function (viewportProperties) { var _p14 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings(viewportProperties); var warnings = _p14._0; var properties = _p14._1; return { declarations: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$Viewport(properties), _1: {ctor: '[]'} }, warnings: warnings }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveKeyframes = F2( function (str, properties) { return { declarations: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Structure$Keyframes, str, properties), _1: {ctor: '[]'} }, warnings: {ctor: '[]'} }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFace = function (fontFaceProperties) { var _p15 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings(fontFaceProperties); var warnings = _p15._0; var properties = _p15._1; return { declarations: { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$FontFace(properties), _1: {ctor: '[]'} }, warnings: warnings }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolvePageRule = F2( function (str, pageRuleProperties) { var _p16 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarnings(pageRuleProperties); var warnings = _p16._0; var properties = _p16._1; return { declarations: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Structure$PageRule, str, properties), _1: {ctor: '[]'} }, warnings: warnings }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$toMediaRule = F2( function (mediaQueries, declaration) { var _p17 = declaration; switch (_p17.ctor) { case 'StyleBlockDeclaration': return A2( _rtfeldman$elm_css$Css_Structure$MediaRule, mediaQueries, { ctor: '::', _0: _p17._0, _1: {ctor: '[]'} }); case 'MediaRule': return A2( _rtfeldman$elm_css$Css_Structure$MediaRule, A2(_elm_lang$core$Basics_ops['++'], mediaQueries, _p17._0), _p17._1); case 'SupportsRule': return A2( _rtfeldman$elm_css$Css_Structure$SupportsRule, _p17._0, A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css_Preprocess_Resolve$toMediaRule(mediaQueries), _p17._1)); case 'DocumentRule': return A5(_rtfeldman$elm_css$Css_Structure$DocumentRule, _p17._0, _p17._1, _p17._2, _p17._3, _p17._4); case 'PageRule': return declaration; case 'FontFace': return declaration; case 'Keyframes': return declaration; case 'Viewport': return declaration; case 'CounterStyle': return declaration; default: return declaration; } }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveMediaRule = F2( function (mediaQueries, styleBlocks) { var handleStyleBlock = function (styleBlock) { var _p18 = _rtfeldman$elm_css$Css_Preprocess_Resolve$expandStyleBlock(styleBlock); var declarations = _p18.declarations; var warnings = _p18.warnings; return { declarations: A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css_Preprocess_Resolve$toMediaRule(mediaQueries), declarations), warnings: warnings }; }; var results = A2(_elm_lang$core$List$map, handleStyleBlock, styleBlocks); return { warnings: A2( _elm_lang$core$List$concatMap, function (_) { return _.warnings; }, results), declarations: A2( _elm_lang$core$List$concatMap, function (_) { return _.declarations; }, results) }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$expandStyleBlock = function (_p19) { var _p20 = _p19; return A2( _rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p20._2, { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration( A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, _p20._0, _p20._1, {ctor: '[]'})), _1: {ctor: '[]'} }); }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles = F2( function (styles, declarations) { applyStyles: while (true) { var _p21 = styles; if (_p21.ctor === '[]') { return { declarations: declarations, warnings: {ctor: '[]'} }; } else { switch (_p21._0.ctor) { case 'AppendProperty': var _p22 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extractWarning(_p21._0._0); var warnings = _p22._0; var property = _p22._1; var result = A2( _rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p21._1, A2(_rtfeldman$elm_css$Css_Structure$appendProperty, property, declarations)); return { declarations: result.declarations, warnings: A2(_elm_lang$core$Basics_ops['++'], warnings, result.warnings) }; case 'ExtendSelector': return A4( _rtfeldman$elm_css$Css_Preprocess_Resolve$applyNestedStylesToLast, _p21._0._1, _p21._1, _rtfeldman$elm_css$Css_Structure$appendRepeatableToLastSelector(_p21._0._0), declarations); case 'NestSnippet': var chain = F2( function (_p24, _p23) { var _p25 = _p24; var _p26 = _p23; return A3( _rtfeldman$elm_css$Css_Structure$Selector, _p25._0, A2( _elm_lang$core$Basics_ops['++'], _p25._1, { ctor: '::', _0: {ctor: '_Tuple2', _0: _p21._0._0, _1: _p26._0}, _1: _p26._1 }), _rtfeldman$elm_css$Css_Preprocess_Resolve$oneOf( { ctor: '::', _0: _p26._2, _1: { ctor: '::', _0: _p25._2, _1: {ctor: '[]'} } })); }); var expandDeclaration = function (declaration) { var _p27 = declaration; switch (_p27.ctor) { case 'StyleBlockDeclaration': var newSelectors = A2( _elm_lang$core$List$concatMap, function (originalSelector) { return A2( _elm_lang$core$List$map, chain(originalSelector), {ctor: '::', _0: _p27._0._0, _1: _p27._0._1}); }, _rtfeldman$elm_css$Css_Preprocess_Resolve$collectSelectors(declarations)); var newDeclarations = function () { var _p28 = newSelectors; if (_p28.ctor === '[]') { return {ctor: '[]'}; } else { return { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$StyleBlockDeclaration( A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, _p28._0, _p28._1, {ctor: '[]'})), _1: {ctor: '[]'} }; } }(); return _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings( { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p27._0._2, newDeclarations), _1: {ctor: '[]'} }); case 'MediaRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveMediaRule, _p27._0, _p27._1); case 'SupportsRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveSupportsRule, _p27._0, _p27._1); case 'DocumentRule': return A5(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveDocumentRule, _p27._0, _p27._1, _p27._2, _p27._3, _p27._4); case 'PageRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolvePageRule, _p27._0, _p27._1); case 'FontFace': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFace(_p27._0); case 'Keyframes': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveKeyframes, _p27._0, _p27._1); case 'Viewport': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveViewport(_p27._0); case 'CounterStyle': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveCounterStyle(_p27._0); default: return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFeatureValues(_p27._0); } }; return _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings( A2( F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p21._1, declarations), _1: {ctor: '[]'} }, A2( _elm_lang$core$List$map, expandDeclaration, A2(_elm_lang$core$List$concatMap, _rtfeldman$elm_css$Css_Preprocess$unwrapSnippet, _p21._0._1)))); case 'WithPseudoElement': return A4( _rtfeldman$elm_css$Css_Preprocess_Resolve$applyNestedStylesToLast, _p21._0._1, _p21._1, _rtfeldman$elm_css$Css_Structure$appendPseudoElementToLastSelector(_p21._0._0), declarations); case 'WithMedia': var newDeclarations = function () { var _p29 = _rtfeldman$elm_css$Css_Preprocess_Resolve$collectSelectors(declarations); if (_p29.ctor === '[]') { return {ctor: '[]'}; } else { return { ctor: '::', _0: A2( _rtfeldman$elm_css$Css_Structure$MediaRule, _p21._0._0, { ctor: '::', _0: A3( _rtfeldman$elm_css$Css_Structure$StyleBlock, _p29._0, _p29._1, {ctor: '[]'}), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }; } }(); return _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings( { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p21._1, declarations), _1: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, _p21._0._1, newDeclarations), _1: {ctor: '[]'} } }); default: var _v19 = A2(_elm_lang$core$Basics_ops['++'], _p21._0._0, _p21._1), _v20 = declarations; styles = _v19; declarations = _v20; continue applyStyles; } } } }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$applyNestedStylesToLast = F4( function (nestedStyles, rest, f, declarations) { var withoutParent = function (decls) { return A2( _elm_lang$core$Maybe$withDefault, {ctor: '[]'}, _elm_lang$core$List$tail(decls)); }; var nextResult = A2( _rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, rest, A2( _elm_lang$core$Maybe$withDefault, {ctor: '[]'}, _rtfeldman$elm_css$Css_Preprocess_Resolve$lastDeclaration(declarations))); var newDeclarations = function () { var _p30 = { ctor: '_Tuple2', _0: _elm_lang$core$List$head(nextResult.declarations), _1: _elm_lang$core$List$head( _elm_lang$core$List$reverse(declarations)) }; if (((_p30.ctor === '_Tuple2') && (_p30._0.ctor === 'Just')) && (_p30._1.ctor === 'Just')) { var _p32 = _p30._1._0; var _p31 = _p30._0._0; return A2( _elm_lang$core$Basics_ops['++'], A2( _elm_lang$core$List$take, _elm_lang$core$List$length(declarations) - 1, declarations), { ctor: '::', _0: (!_elm_lang$core$Native_Utils.eq(_p32, _p31)) ? _p31 : _p32, _1: {ctor: '[]'} }); } else { return declarations; } }(); var handleInitial = function (declarationsAndWarnings) { var result = A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$applyStyles, nestedStyles, declarationsAndWarnings.declarations); return { warnings: A2(_elm_lang$core$Basics_ops['++'], declarationsAndWarnings.warnings, result.warnings), declarations: result.declarations }; }; var insertStylesToNestedDecl = function (lastDecl) { return _rtfeldman$elm_css$Css_Preprocess_Resolve$concatDeclarationsAndWarnings( A2( _rtfeldman$elm_css$Css_Structure$mapLast, handleInitial, A2( _elm_lang$core$List$map, function (declaration) { return { declarations: { ctor: '::', _0: declaration, _1: {ctor: '[]'} }, warnings: {ctor: '[]'} }; }, A2(_rtfeldman$elm_css$Css_Structure$concatMapLastStyleBlock, f, lastDecl)))); }; var initialResult = A2( _elm_lang$core$Maybe$withDefault, { warnings: {ctor: '[]'}, declarations: {ctor: '[]'} }, A2( _elm_lang$core$Maybe$map, insertStylesToNestedDecl, _rtfeldman$elm_css$Css_Preprocess_Resolve$lastDeclaration(declarations))); return { warnings: A2(_elm_lang$core$Basics_ops['++'], initialResult.warnings, nextResult.warnings), declarations: A2( _elm_lang$core$Basics_ops['++'], newDeclarations, A2( _elm_lang$core$Basics_ops['++'], withoutParent(initialResult.declarations), withoutParent(nextResult.declarations))) }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveDocumentRule = F5( function (str1, str2, str3, str4, styleBlock) { var _p33 = _rtfeldman$elm_css$Css_Preprocess_Resolve$expandStyleBlock(styleBlock); var declarations = _p33.declarations; var warnings = _p33.warnings; return { declarations: A2( _elm_lang$core$List$map, A4(_rtfeldman$elm_css$Css_Preprocess_Resolve$toDocumentRule, str1, str2, str3, str4), declarations), warnings: warnings }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveSupportsRule = F2( function (str, snippets) { var _p34 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extract( A2(_elm_lang$core$List$concatMap, _rtfeldman$elm_css$Css_Preprocess$unwrapSnippet, snippets)); var declarations = _p34.declarations; var warnings = _p34.warnings; return { declarations: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css_Structure$SupportsRule, str, declarations), _1: {ctor: '[]'} }, warnings: warnings }; }); var _rtfeldman$elm_css$Css_Preprocess_Resolve$extract = function (snippetDeclarations) { var _p35 = snippetDeclarations; if (_p35.ctor === '[]') { return { declarations: {ctor: '[]'}, warnings: {ctor: '[]'} }; } else { var _p36 = _rtfeldman$elm_css$Css_Preprocess_Resolve$toDeclarations(_p35._0); var declarations = _p36.declarations; var warnings = _p36.warnings; var nextResult = _rtfeldman$elm_css$Css_Preprocess_Resolve$extract(_p35._1); return { declarations: A2(_elm_lang$core$Basics_ops['++'], declarations, nextResult.declarations), warnings: A2(_elm_lang$core$Basics_ops['++'], warnings, nextResult.warnings) }; } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$toDeclarations = function (snippetDeclaration) { var _p37 = snippetDeclaration; switch (_p37.ctor) { case 'StyleBlockDeclaration': return _rtfeldman$elm_css$Css_Preprocess_Resolve$expandStyleBlock(_p37._0); case 'MediaRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveMediaRule, _p37._0, _p37._1); case 'SupportsRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveSupportsRule, _p37._0, _p37._1); case 'DocumentRule': return A5(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveDocumentRule, _p37._0, _p37._1, _p37._2, _p37._3, _p37._4); case 'PageRule': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolvePageRule, _p37._0, _p37._1); case 'FontFace': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFace(_p37._0); case 'Keyframes': return A2(_rtfeldman$elm_css$Css_Preprocess_Resolve$resolveKeyframes, _p37._0, _p37._1); case 'Viewport': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveViewport(_p37._0); case 'CounterStyle': return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveCounterStyle(_p37._0); default: return _rtfeldman$elm_css$Css_Preprocess_Resolve$resolveFontFeatureValues(_p37._0); } }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$toStructure = function (_p38) { var _p39 = _p38; var _p40 = _rtfeldman$elm_css$Css_Preprocess_Resolve$extract( A2(_elm_lang$core$List$concatMap, _rtfeldman$elm_css$Css_Preprocess$unwrapSnippet, _p39.snippets)); var warnings = _p40.warnings; var declarations = _p40.declarations; return { ctor: '_Tuple2', _0: {charset: _p39.charset, imports: _p39.imports, namespaces: _p39.namespaces, declarations: declarations}, _1: warnings }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$compile1 = function (sheet) { var _p41 = _rtfeldman$elm_css$Css_Preprocess_Resolve$toStructure(sheet); var structureStylesheet = _p41._0; var warnings = _p41._1; return { warnings: warnings, css: _rtfeldman$elm_css$Css_Structure_Output$prettyPrint( _rtfeldman$elm_css$Css_Structure$dropEmpty(structureStylesheet)) }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$compile = function (styles) { var results = A2(_elm_lang$core$List$map, _rtfeldman$elm_css$Css_Preprocess_Resolve$compile1, styles); return { warnings: A2( _elm_lang$core$List$concatMap, function (_) { return _.warnings; }, results), css: A2( _elm_lang$core$String$join, '\n\n', A2( _elm_lang$core$List$map, function (_) { return _.css; }, results)) }; }; var _rtfeldman$elm_css$Css_Preprocess_Resolve$DeclarationsAndWarnings = F2( function (a, b) { return {declarations: a, warnings: b}; }); var _rtfeldman$hex$Hex$toString = function (num) { return _elm_lang$core$String$fromList( (_elm_lang$core$Native_Utils.cmp(num, 0) < 0) ? { ctor: '::', _0: _elm_lang$core$Native_Utils.chr('-'), _1: A2( _rtfeldman$hex$Hex$unsafePositiveToDigits, {ctor: '[]'}, _elm_lang$core$Basics$negate(num)) } : A2( _rtfeldman$hex$Hex$unsafePositiveToDigits, {ctor: '[]'}, num)); }; var _rtfeldman$hex$Hex$unsafePositiveToDigits = F2( function (digits, num) { unsafePositiveToDigits: while (true) { if (_elm_lang$core$Native_Utils.cmp(num, 16) < 0) { return { ctor: '::', _0: _rtfeldman$hex$Hex$unsafeToDigit(num), _1: digits }; } else { var _v0 = { ctor: '::', _0: _rtfeldman$hex$Hex$unsafeToDigit( A2(_elm_lang$core$Basics_ops['%'], num, 16)), _1: digits }, _v1 = (num / 16) | 0; digits = _v0; num = _v1; continue unsafePositiveToDigits; } } }); var _rtfeldman$hex$Hex$unsafeToDigit = function (num) { var _p0 = num; switch (_p0) { case 0: return _elm_lang$core$Native_Utils.chr('0'); case 1: return _elm_lang$core$Native_Utils.chr('1'); case 2: return _elm_lang$core$Native_Utils.chr('2'); case 3: return _elm_lang$core$Native_Utils.chr('3'); case 4: return _elm_lang$core$Native_Utils.chr('4'); case 5: return _elm_lang$core$Native_Utils.chr('5'); case 6: return _elm_lang$core$Native_Utils.chr('6'); case 7: return _elm_lang$core$Native_Utils.chr('7'); case 8: return _elm_lang$core$Native_Utils.chr('8'); case 9: return _elm_lang$core$Native_Utils.chr('9'); case 10: return _elm_lang$core$Native_Utils.chr('a'); case 11: return _elm_lang$core$Native_Utils.chr('b'); case 12: return _elm_lang$core$Native_Utils.chr('c'); case 13: return _elm_lang$core$Native_Utils.chr('d'); case 14: return _elm_lang$core$Native_Utils.chr('e'); case 15: return _elm_lang$core$Native_Utils.chr('f'); default: return _elm_lang$core$Native_Utils.crashCase( 'Hex', { start: {line: 138, column: 5}, end: {line: 188, column: 84} }, _p0)( A2( _elm_lang$core$Basics_ops['++'], 'Tried to convert ', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$hex$Hex$toString(num), ' to hexadecimal.'))); } }; var _rtfeldman$hex$Hex$fromStringHelp = F3( function (position, chars, accumulated) { var _p2 = chars; if (_p2.ctor === '[]') { return _elm_lang$core$Result$Ok(accumulated); } else { var recurse = function (additional) { return A3( _rtfeldman$hex$Hex$fromStringHelp, position - 1, _p2._1, accumulated + (additional * Math.pow(16, position))); }; var _p3 = _p2._0; switch (_p3.valueOf()) { case '0': return recurse(0); case '1': return recurse(1); case '2': return recurse(2); case '3': return recurse(3); case '4': return recurse(4); case '5': return recurse(5); case '6': return recurse(6); case '7': return recurse(7); case '8': return recurse(8); case '9': return recurse(9); case 'a': return recurse(10); case 'b': return recurse(11); case 'c': return recurse(12); case 'd': return recurse(13); case 'e': return recurse(14); case 'f': return recurse(15); default: return _elm_lang$core$Result$Err( A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(_p3), ' is not a valid hexadecimal character.')); } } }); var _rtfeldman$hex$Hex$fromString = function (str) { if (_elm_lang$core$String$isEmpty(str)) { return _elm_lang$core$Result$Err('Empty strings are not valid hexadecimal strings.'); } else { var formatError = function (err) { return A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: _elm_lang$core$Basics$toString(str), _1: { ctor: '::', _0: 'is not a valid hexadecimal string because', _1: { ctor: '::', _0: err, _1: {ctor: '[]'} } } }); }; var result = function () { if (A2(_elm_lang$core$String$startsWith, '-', str)) { var list = A2( _elm_lang$core$Maybe$withDefault, {ctor: '[]'}, _elm_lang$core$List$tail( _elm_lang$core$String$toList(str))); return A2( _elm_lang$core$Result$map, _elm_lang$core$Basics$negate, A3( _rtfeldman$hex$Hex$fromStringHelp, _elm_lang$core$List$length(list) - 1, list, 0)); } else { return A3( _rtfeldman$hex$Hex$fromStringHelp, _elm_lang$core$String$length(str) - 1, _elm_lang$core$String$toList(str), 0); } }(); return A2(_elm_lang$core$Result$mapError, formatError, result); } }; var _rtfeldman$elm_css$Css$manipulation = {value: 'manipulation', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$pinchZoom = {value: 'pinch-zoom', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panDown = {value: 'pan-down', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panUp = {value: 'pan-up', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panY = {value: 'pan-y', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panRight = {value: 'pan-right', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panLeft = {value: 'pan-left', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$panX = {value: 'pan-x', touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$asPairs = _rtfeldman$elm_css$Css_Preprocess$toPropertyPairs; var _rtfeldman$elm_css$Css$collectSelectors = function (declarations) { collectSelectors: while (true) { var _p0 = declarations; if (_p0.ctor === '[]') { return {ctor: '[]'}; } else { if (_p0._0.ctor === 'StyleBlockDeclaration') { return A2( _elm_lang$core$Basics_ops['++'], {ctor: '::', _0: _p0._0._0._0, _1: _p0._0._0._1}, _rtfeldman$elm_css$Css$collectSelectors(_p0._1)); } else { var _v1 = _p0._1; declarations = _v1; continue collectSelectors; } } } }; var _rtfeldman$elm_css$Css$compile = _rtfeldman$elm_css$Css_Preprocess_Resolve$compile; var _rtfeldman$elm_css$Css$stringsToValue = function (list) { return _elm_lang$core$List$isEmpty(list) ? {value: 'none'} : { value: A2( _elm_lang$core$String$join, ', ', A2( _elm_lang$core$List$map, function (s) { return s; }, list)) }; }; var _rtfeldman$elm_css$Css$valuesOrNone = function (list) { return _elm_lang$core$List$isEmpty(list) ? {value: 'none'} : { value: A2( _elm_lang$core$String$join, ' ', A2( _elm_lang$core$List$map, function (_) { return _.value; }, list)) }; }; var _rtfeldman$elm_css$Css$stringToInt = function (str) { return A2( _elm_lang$core$Result$withDefault, 0, _elm_lang$core$String$toInt(str)); }; var _rtfeldman$elm_css$Css$numberToString = function (num) { return _elm_lang$core$Basics$toString(num + 0); }; var _rtfeldman$elm_css$Css$numericalPercentageToString = function (value) { return A3( _elm_lang$core$Basics$flip, F2( function (x, y) { return A2(_elm_lang$core$Basics_ops['++'], x, y); }), '%', _rtfeldman$elm_css$Css$numberToString( A2( F2( function (x, y) { return x * y; }), 100, value))); }; var _rtfeldman$elm_css$Css$each = F2( function (snippetCreators, styles) { var selectorsToSnippet = function (selectors) { var _p1 = selectors; if (_p1.ctor === '[]') { return _rtfeldman$elm_css$Css_Preprocess$Snippet( {ctor: '[]'}); } else { return _rtfeldman$elm_css$Css_Preprocess$Snippet( { ctor: '::', _0: _rtfeldman$elm_css$Css_Preprocess$StyleBlockDeclaration( A3(_rtfeldman$elm_css$Css_Preprocess$StyleBlock, _p1._0, _p1._1, styles)), _1: {ctor: '[]'} }); } }; return selectorsToSnippet( _rtfeldman$elm_css$Css$collectSelectors( A2( _elm_lang$core$List$concatMap, _rtfeldman$elm_css$Css_Preprocess$unwrapSnippet, A2( _elm_lang$core$List$map, F2( function (x, y) { return y(x); })( {ctor: '[]'}), snippetCreators)))); }); var _rtfeldman$elm_css$Css$generalSiblings = _rtfeldman$elm_css$Css_Preprocess$NestSnippet(_rtfeldman$elm_css$Css_Structure$GeneralSibling); var _rtfeldman$elm_css$Css$adjacentSiblings = _rtfeldman$elm_css$Css_Preprocess$NestSnippet(_rtfeldman$elm_css$Css_Structure$AdjacentSibling); var _rtfeldman$elm_css$Css$descendants = _rtfeldman$elm_css$Css_Preprocess$NestSnippet(_rtfeldman$elm_css$Css_Structure$Descendant); var _rtfeldman$elm_css$Css$withClass = function ($class) { return _rtfeldman$elm_css$Css_Preprocess$ExtendSelector( _rtfeldman$elm_css$Css_Structure$ClassSelector( A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, '', $class))); }; var _rtfeldman$elm_css$Css$children = _rtfeldman$elm_css$Css_Preprocess$NestSnippet(_rtfeldman$elm_css$Css_Structure$Child); var _rtfeldman$elm_css$Css$pseudoElement = function (element) { return _rtfeldman$elm_css$Css_Preprocess$WithPseudoElement( _rtfeldman$elm_css$Css_Structure$PseudoElement(element)); }; var _rtfeldman$elm_css$Css$after = _rtfeldman$elm_css$Css$pseudoElement('after'); var _rtfeldman$elm_css$Css$before = _rtfeldman$elm_css$Css$pseudoElement('before'); var _rtfeldman$elm_css$Css$firstLetter = _rtfeldman$elm_css$Css$pseudoElement('first-letter'); var _rtfeldman$elm_css$Css$firstLine = _rtfeldman$elm_css$Css$pseudoElement('first-line'); var _rtfeldman$elm_css$Css$selection = _rtfeldman$elm_css$Css$pseudoElement('selection'); var _rtfeldman$elm_css$Css$pseudoClass = function ($class) { return _rtfeldman$elm_css$Css_Preprocess$ExtendSelector( _rtfeldman$elm_css$Css_Structure$PseudoClassSelector($class)); }; var _rtfeldman$elm_css$Css$active = _rtfeldman$elm_css$Css$pseudoClass('active'); var _rtfeldman$elm_css$Css$any = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'any(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$checked = _rtfeldman$elm_css$Css$pseudoClass('checked'); var _rtfeldman$elm_css$Css$disabled = _rtfeldman$elm_css$Css$pseudoClass('disabled'); var _rtfeldman$elm_css$Css$empty = _rtfeldman$elm_css$Css$pseudoClass('empty'); var _rtfeldman$elm_css$Css$enabled = _rtfeldman$elm_css$Css$pseudoClass('enabled'); var _rtfeldman$elm_css$Css$first = _rtfeldman$elm_css$Css$pseudoClass('first'); var _rtfeldman$elm_css$Css$firstChild = _rtfeldman$elm_css$Css$pseudoClass('first-child'); var _rtfeldman$elm_css$Css$firstOfType = _rtfeldman$elm_css$Css$pseudoClass('first-of-type'); var _rtfeldman$elm_css$Css$fullscreen = _rtfeldman$elm_css$Css$pseudoClass('fullscreen'); var _rtfeldman$elm_css$Css$focus = _rtfeldman$elm_css$Css$pseudoClass('focus'); var _rtfeldman$elm_css$Css$hover = _rtfeldman$elm_css$Css$pseudoClass('hover'); var _rtfeldman$elm_css$Css$visited = _rtfeldman$elm_css$Css$pseudoClass('visited'); var _rtfeldman$elm_css$Css$indeterminate = _rtfeldman$elm_css$Css$pseudoClass('indeterminate'); var _rtfeldman$elm_css$Css$invalid = _rtfeldman$elm_css$Css$pseudoClass('invalid'); var _rtfeldman$elm_css$Css$lang = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'lang(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$lastChild = _rtfeldman$elm_css$Css$pseudoClass('last-child'); var _rtfeldman$elm_css$Css$lastOfType = _rtfeldman$elm_css$Css$pseudoClass('last-of-type'); var _rtfeldman$elm_css$Css$link = _rtfeldman$elm_css$Css$pseudoClass('link'); var _rtfeldman$elm_css$Css$nthChild = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'nth-child(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$nthLastChild = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'nth-last-child(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$nthLastOfType = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'nth-last-of-type(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$nthOfType = function (str) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'nth-of-type(', A2(_elm_lang$core$Basics_ops['++'], str, ')'))); }; var _rtfeldman$elm_css$Css$onlyChild = _rtfeldman$elm_css$Css$pseudoClass('only-child'); var _rtfeldman$elm_css$Css$onlyOfType = _rtfeldman$elm_css$Css$pseudoClass('only-of-type'); var _rtfeldman$elm_css$Css$optional = _rtfeldman$elm_css$Css$pseudoClass('optional'); var _rtfeldman$elm_css$Css$outOfRange = _rtfeldman$elm_css$Css$pseudoClass('out-of-range'); var _rtfeldman$elm_css$Css$readWrite = _rtfeldman$elm_css$Css$pseudoClass('read-write'); var _rtfeldman$elm_css$Css$required = _rtfeldman$elm_css$Css$pseudoClass('required'); var _rtfeldman$elm_css$Css$root = _rtfeldman$elm_css$Css$pseudoClass('root'); var _rtfeldman$elm_css$Css$scope = _rtfeldman$elm_css$Css$pseudoClass('scope'); var _rtfeldman$elm_css$Css$target = _rtfeldman$elm_css$Css$pseudoClass('target'); var _rtfeldman$elm_css$Css$valid = _rtfeldman$elm_css$Css$pseudoClass('valid'); var _rtfeldman$elm_css$Css$directionalityToString = function (directionality) { var _p2 = directionality; if (_p2.ctor === 'Ltr') { return 'ltr'; } else { return 'rtl'; } }; var _rtfeldman$elm_css$Css$dir = function (directionality) { return _rtfeldman$elm_css$Css$pseudoClass( A2( _elm_lang$core$Basics_ops['++'], 'dir(', A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css$directionalityToString(directionality), ')'))); }; var _rtfeldman$elm_css$Css$propertyWithWarnings = F3( function (warnings, key, value) { return _rtfeldman$elm_css$Css_Preprocess$AppendProperty( {key: key, value: value, important: false, warnings: warnings}); }); var _rtfeldman$elm_css$Css$property = _rtfeldman$elm_css$Css$propertyWithWarnings( {ctor: '[]'}); var _rtfeldman$elm_css$Css$makeSnippet = F2( function (styles, sequence) { var selector = A3( _rtfeldman$elm_css$Css_Structure$Selector, sequence, {ctor: '[]'}, _elm_lang$core$Maybe$Nothing); return _rtfeldman$elm_css$Css_Preprocess$Snippet( { ctor: '::', _0: _rtfeldman$elm_css$Css_Preprocess$StyleBlockDeclaration( A3( _rtfeldman$elm_css$Css_Preprocess$StyleBlock, selector, {ctor: '[]'}, styles)), _1: {ctor: '[]'} }); }); var _rtfeldman$elm_css$Css$class = F2( function ($class, styles) { return A2( _rtfeldman$elm_css$Css$makeSnippet, styles, _rtfeldman$elm_css$Css_Structure$UniversalSelectorSequence( { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$ClassSelector( A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, '', $class)), _1: {ctor: '[]'} })); }); var _rtfeldman$elm_css$Css$selector = F2( function (selectorStr, styles) { return A2( _rtfeldman$elm_css$Css$makeSnippet, styles, A2( _rtfeldman$elm_css$Css_Structure$CustomSelector, selectorStr, {ctor: '[]'})); }); var _rtfeldman$elm_css$Css$everything = function (styles) { return A2( _rtfeldman$elm_css$Css$makeSnippet, styles, _rtfeldman$elm_css$Css_Structure$UniversalSelectorSequence( {ctor: '[]'})); }; var _rtfeldman$elm_css$Css$id = F2( function (identifier, styles) { return A2( _rtfeldman$elm_css$Css$makeSnippet, styles, _rtfeldman$elm_css$Css_Structure$UniversalSelectorSequence( { ctor: '::', _0: _rtfeldman$elm_css$Css_Structure$IdSelector( A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, '', identifier)), _1: {ctor: '[]'} })); }); var _rtfeldman$elm_css$Css$batch = _rtfeldman$elm_css$Css_Preprocess$ApplyStyles; var _rtfeldman$elm_css$Css$stylesheet = _rtfeldman$elm_css$Css_Preprocess$stylesheet; var _rtfeldman$elm_css$Css$animationNames = function (identifiers) { var value = A2( _elm_lang$core$String$join, ', ', A2( _elm_lang$core$List$map, _rtfeldman$elm_css_util$Css_Helpers$identifierToString(''), identifiers)); return A2(_rtfeldman$elm_css$Css$property, 'animation-name', value); }; var _rtfeldman$elm_css$Css$animationName = function (identifier) { return _rtfeldman$elm_css$Css$animationNames( { ctor: '::', _0: identifier, _1: {ctor: '[]'} }); }; var _rtfeldman$elm_css$Css$preLine = {value: 'pre-line', whiteSpace: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$preWrap = {value: 'pre-wrap', whiteSpace: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$pre = {value: 'pre', whiteSpace: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$grabbing = {value: 'grabbing', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$grab = {value: 'grab', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$zoomOut = {value: 'zoom-out', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$zoomIn = {value: 'zoom-in', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$allScroll = {value: 'all-scroll', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$rowResize = {value: 'row-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$colResize = {value: 'col-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$nwseResize = {value: 'nwse-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$neswResize = {value: 'nesw-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$nsResize = {value: 'ns-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$ewResize = {value: 'ew-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$wResize = {value: 'w-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$swResize = {value: 'sw-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$seResize = {value: 'se-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$sResize = {value: 's-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$nwResize = {value: 'nw-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$neResize = {value: 'ne-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$nResize = {value: 'n-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$eResize = {value: 'e-resize', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$notAllowed = {value: 'not-allowed', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noDrop = {value: 'no-drop', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$move = {value: 'move', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$copy = {value: 'copy', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cursorAlias = {value: 'alias', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$verticalText = {value: 'vertical-text', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$text = {value: 'text', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cell = {value: 'cell', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$wait = {value: 'wait', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$progress = {value: 'progress', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$pointer = {value: 'pointer', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$help = {value: 'help', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$contextMenu = {value: 'context-menu', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$crosshair = {value: 'crosshair', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$default = {value: 'default', cursor: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fontWeight = function (_p3) { var _p4 = _p3; var _p5 = _p4.value; var validWeight = function (weight) { return (!_elm_lang$core$Native_Utils.eq( _p5, _elm_lang$core$Basics$toString(weight))) ? true : A2( _elm_lang$core$List$member, weight, A2( _elm_lang$core$List$map, F2( function (x, y) { return x * y; })(100), A2(_elm_lang$core$List$range, 1, 9))); }; var warnings = validWeight( _rtfeldman$elm_css$Css$stringToInt(_p5)) ? {ctor: '[]'} : { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'fontWeight ', A2(_elm_lang$core$Basics_ops['++'], _p5, ' is invalid. Valid weights are: 100, 200, 300, 400, 500, 600, 700, 800, 900. Please see https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#Values')), _1: {ctor: '[]'} }; return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, warnings, 'font-weight', _p5); }; var _rtfeldman$elm_css$Css$fontFeatureSettingsList = function (featureTagValues) { var warnings = _elm_lang$core$List$concat( A2( _elm_lang$core$List$map, function (_) { return _.warnings; }, featureTagValues)); var value = A2( _elm_lang$core$String$join, ', ', A2( _elm_lang$core$List$map, function (_) { return _.value; }, featureTagValues)); return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, warnings, 'font-feature-settings', value); }; var _rtfeldman$elm_css$Css$fontFeatureSettings = function (_p6) { var _p7 = _p6; return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, _p7.warnings, 'font-feature-settings', _p7.value); }; var _rtfeldman$elm_css$Css$qt = function (str) { return _elm_lang$core$Basics$toString(str); }; var _rtfeldman$elm_css$Css$fontFace = function (value) { return A2(_elm_lang$core$Basics_ops['++'], 'font-face ', value); }; var _rtfeldman$elm_css$Css$src = function (value) { return _elm_lang$core$Basics$toString(value.value); }; var _rtfeldman$elm_css$Css$color = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'color', c.value); }; var _rtfeldman$elm_css$Css$backgroundColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'background-color', c.value); }; var _rtfeldman$elm_css$Css$outlineColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'outline-color', c.value); }; var _rtfeldman$elm_css$Css$borderColor4 = F4( function (c1, c2, c3, c4) { var value = A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: c1.value, _1: { ctor: '::', _0: c2.value, _1: { ctor: '::', _0: c3.value, _1: { ctor: '::', _0: c4.value, _1: {ctor: '[]'} } } } }); var warnings = A2( _elm_lang$core$Basics_ops['++'], c1.warnings, A2( _elm_lang$core$Basics_ops['++'], c2.warnings, A2(_elm_lang$core$Basics_ops['++'], c3.warnings, c4.warnings))); return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, warnings, 'border-color', value); }); var _rtfeldman$elm_css$Css$borderColor3 = F3( function (c1, c2, c3) { var value = A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: c1.value, _1: { ctor: '::', _0: c2.value, _1: { ctor: '::', _0: c3.value, _1: {ctor: '[]'} } } }); var warnings = A2( _elm_lang$core$Basics_ops['++'], c1.warnings, A2(_elm_lang$core$Basics_ops['++'], c2.warnings, c3.warnings)); return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, warnings, 'border-color', value); }); var _rtfeldman$elm_css$Css$borderColor2 = F2( function (c1, c2) { var value = A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: c1.value, _1: { ctor: '::', _0: c2.value, _1: {ctor: '[]'} } }); var warnings = A2(_elm_lang$core$Basics_ops['++'], c1.warnings, c2.warnings); return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, warnings, 'border-color', value); }); var _rtfeldman$elm_css$Css$borderColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-color', c.value); }; var _rtfeldman$elm_css$Css$borderBlockEndColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-block-end-color', c.value); }; var _rtfeldman$elm_css$Css$borderTopColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-top-color', c.value); }; var _rtfeldman$elm_css$Css$borderRightColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-right-color', c.value); }; var _rtfeldman$elm_css$Css$borderLeftColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-left-color', c.value); }; var _rtfeldman$elm_css$Css$borderInlineEndColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-inline-end-color', c.value); }; var _rtfeldman$elm_css$Css$borderInlineStartColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-inline-start-color', c.value); }; var _rtfeldman$elm_css$Css$borderBottomColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-bottom-color', c.value); }; var _rtfeldman$elm_css$Css$borderBlockStartColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'border-block-start-color', c.value); }; var _rtfeldman$elm_css$Css$featureTag2 = F2( function (tag, value) { var potentialWarnings = { ctor: '::', _0: { ctor: '_Tuple2', _0: !_elm_lang$core$Native_Utils.eq( _elm_lang$core$String$length(tag), 4), _1: A2( _elm_lang$core$Basics_ops['++'], 'Feature tags must be exactly 4 characters long. ', A2(_elm_lang$core$Basics_ops['++'], tag, ' is invalid.')) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.cmp(value, 0) < 0, _1: A2( _elm_lang$core$Basics_ops['++'], 'Feature values cannot be negative. ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(value), ' is invalid.')) }, _1: {ctor: '[]'} } }; var warnings = A2( _elm_lang$core$List$map, _elm_lang$core$Tuple$second, A2(_elm_lang$core$List$filter, _elm_lang$core$Tuple$first, potentialWarnings)); return { value: A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(tag), A2( _elm_lang$core$Basics_ops['++'], ' ', _elm_lang$core$Basics$toString(value))), featureTagValue: _rtfeldman$elm_css$Css_Structure$Compatible, warnings: warnings }; }); var _rtfeldman$elm_css$Css$featureTag = function (tag) { return A2(_rtfeldman$elm_css$Css$featureTag2, tag, 1); }; var _rtfeldman$elm_css$Css$featureOff = 0; var _rtfeldman$elm_css$Css$featureOn = 1; var _rtfeldman$elm_css$Css$slashedZero = {value: 'slashed-zero', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$ordinal = {value: 'ordinal', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$stackedFractions = {value: 'stacked-fractions', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$diagonalFractions = {value: 'diagonal-fractions', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tabularNums = {value: 'tabular-nums', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$proportionalNums = {value: 'proportional-nums', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$oldstyleNums = {value: 'oldstyle-nums', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$liningNums = {value: 'lining-nums', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantNumeric: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noContextual = {value: 'no-contextual', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$contextual = {value: 'context', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noHistoricalLigatures = {value: 'no-historical-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$historicalLigatures = {value: 'historical-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noDiscretionaryLigatures = {value: 'no-discretionary-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$discretionaryLigatures = {value: 'discretionary-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noCommonLigatures = {value: 'no-common-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$commonLigatures = {value: 'common-ligatures', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantLigatures: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$titlingCaps = {value: 'titling-caps', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$unicase = {value: 'unicase', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$allPetiteCaps = {value: 'all-petite-caps', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$petiteCaps = {value: 'petite-caps', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$allSmallCaps = {value: 'all-small-caps', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$smallCaps = {value: 'small-caps', fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariantCaps: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$bolder = {value: 'bolder', fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lighter = {value: 'lighter', fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$bold = {value: 'bold', fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$oblique = {value: 'oblique', fontStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$italic = {value: 'italic', fontStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$normal = { value: 'normal', warnings: {ctor: '[]'}, fontStyle: _rtfeldman$elm_css$Css_Structure$Compatible, fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible, featureTagValue: _rtfeldman$elm_css$Css_Structure$Compatible, overflowWrap: _rtfeldman$elm_css$Css_Structure$Compatible }; var _rtfeldman$elm_css$Css$larger = {value: 'larger', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$smaller = {value: 'smaller', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$xxLarge = {value: 'xx-large', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$xLarge = {value: 'x-large', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$large = {value: 'large', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$medium = {value: 'medium', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$small = {value: 'small', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$xSmall = {value: 'x-small', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$xxSmall = {value: 'xx-small', fontSize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fantasy = {value: 'fantasy', fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cursive = {value: 'cursive', fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$monospace = {value: 'monospace', fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$sansSerif = {value: 'sans-serif', fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$serif = {value: 'serif', fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$absolute = {value: 'absolute', position: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$relative = {value: 'relative', position: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$sticky = {value: 'sticky', position: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fixed = {value: 'fixed', position: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundAttachment: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$static = {value: 'static', position: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fillAvailable = {value: 'fill-available', minMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fitContent = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$fillAvailable, {value: 'fit-content'}); var _rtfeldman$elm_css$Css$minContent = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$fillAvailable, {value: 'min-content'}); var _rtfeldman$elm_css$Css$maxContent = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$fillAvailable, {value: 'max-content'}); var _rtfeldman$elm_css$Css$displayFlex = A2(_rtfeldman$elm_css$Css$property, 'display', 'flex'); var _rtfeldman$elm_css$Css$textEmphasisColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'text-emphasis-color', c.value); }; var _rtfeldman$elm_css$Css$textDecorationColor = function (c) { return A3(_rtfeldman$elm_css$Css$propertyWithWarnings, c.warnings, 'text-decoration-color', c.value); }; var _rtfeldman$elm_css$Css$prop6 = F7( function (key, argA, argB, argC, argD, argE, argF) { return A2( _rtfeldman$elm_css$Css$property, key, A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: argA.value, _1: { ctor: '::', _0: argB.value, _1: { ctor: '::', _0: argC.value, _1: { ctor: '::', _0: argD.value, _1: { ctor: '::', _0: argE.value, _1: { ctor: '::', _0: argF.value, _1: {ctor: '[]'} } } } } } })); }); var _rtfeldman$elm_css$Css$boxShadow6 = _rtfeldman$elm_css$Css$prop6('box-shadow'); var _rtfeldman$elm_css$Css$prop5 = F6( function (key, argA, argB, argC, argD, argE) { return A2( _rtfeldman$elm_css$Css$property, key, A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: argA.value, _1: { ctor: '::', _0: argB.value, _1: { ctor: '::', _0: argC.value, _1: { ctor: '::', _0: argD.value, _1: { ctor: '::', _0: argE.value, _1: {ctor: '[]'} } } } } })); }); var _rtfeldman$elm_css$Css$boxShadow5 = _rtfeldman$elm_css$Css$prop5('box-shadow'); var _rtfeldman$elm_css$Css$prop4 = F5( function (key, argA, argB, argC, argD) { return A2( _rtfeldman$elm_css$Css$property, key, A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: argA.value, _1: { ctor: '::', _0: argB.value, _1: { ctor: '::', _0: argC.value, _1: { ctor: '::', _0: argD.value, _1: {ctor: '[]'} } } } })); }); var _rtfeldman$elm_css$Css$textShadow4 = _rtfeldman$elm_css$Css$prop4('text-shadow'); var _rtfeldman$elm_css$Css$boxShadow4 = _rtfeldman$elm_css$Css$prop4('box-shadow'); var _rtfeldman$elm_css$Css$padding4 = _rtfeldman$elm_css$Css$prop4('padding'); var _rtfeldman$elm_css$Css$margin4 = _rtfeldman$elm_css$Css$prop4('margin'); var _rtfeldman$elm_css$Css$borderImageOutset4 = _rtfeldman$elm_css$Css$prop4('border-image-outset'); var _rtfeldman$elm_css$Css$borderImageWidth4 = _rtfeldman$elm_css$Css$prop4('border-image-width'); var _rtfeldman$elm_css$Css$borderWidth4 = _rtfeldman$elm_css$Css$prop4('border-width'); var _rtfeldman$elm_css$Css$borderRadius4 = _rtfeldman$elm_css$Css$prop4('border-radius'); var _rtfeldman$elm_css$Css$prop3 = F4( function (key, argA, argB, argC) { return A2( _rtfeldman$elm_css$Css$property, key, A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: argA.value, _1: { ctor: '::', _0: argB.value, _1: { ctor: '::', _0: argC.value, _1: {ctor: '[]'} } } })); }); var _rtfeldman$elm_css$Css$textShadow3 = _rtfeldman$elm_css$Css$prop3('text-shadow'); var _rtfeldman$elm_css$Css$boxShadow3 = _rtfeldman$elm_css$Css$prop3('box-shadow'); var _rtfeldman$elm_css$Css$textIndent3 = _rtfeldman$elm_css$Css$prop3('text-indent'); var _rtfeldman$elm_css$Css$padding3 = _rtfeldman$elm_css$Css$prop3('padding'); var _rtfeldman$elm_css$Css$margin3 = _rtfeldman$elm_css$Css$prop3('margin'); var _rtfeldman$elm_css$Css$border3 = _rtfeldman$elm_css$Css$prop3('border'); var _rtfeldman$elm_css$Css$borderTop3 = _rtfeldman$elm_css$Css$prop3('border-top'); var _rtfeldman$elm_css$Css$borderBottom3 = _rtfeldman$elm_css$Css$prop3('border-bottom'); var _rtfeldman$elm_css$Css$borderLeft3 = _rtfeldman$elm_css$Css$prop3('border-left'); var _rtfeldman$elm_css$Css$borderRight3 = _rtfeldman$elm_css$Css$prop3('border-right'); var _rtfeldman$elm_css$Css$borderBlockStart3 = _rtfeldman$elm_css$Css$prop3('border-block-start'); var _rtfeldman$elm_css$Css$borderBlockEnd3 = _rtfeldman$elm_css$Css$prop3('border-block-end'); var _rtfeldman$elm_css$Css$borderInlineStart3 = _rtfeldman$elm_css$Css$prop3('border-block-start'); var _rtfeldman$elm_css$Css$borderInlineEnd3 = _rtfeldman$elm_css$Css$prop3('border-block-end'); var _rtfeldman$elm_css$Css$borderImageOutset3 = _rtfeldman$elm_css$Css$prop3('border-image-outset'); var _rtfeldman$elm_css$Css$borderImageWidth3 = _rtfeldman$elm_css$Css$prop3('border-image-width'); var _rtfeldman$elm_css$Css$borderWidth3 = _rtfeldman$elm_css$Css$prop3('border-width'); var _rtfeldman$elm_css$Css$borderRadius3 = _rtfeldman$elm_css$Css$prop3('border-radius'); var _rtfeldman$elm_css$Css$outline3 = _rtfeldman$elm_css$Css$prop3('outline'); var _rtfeldman$elm_css$Css$fontVariant3 = _rtfeldman$elm_css$Css$prop3('font-variant'); var _rtfeldman$elm_css$Css$fontVariantNumeric3 = _rtfeldman$elm_css$Css$prop3('font-variant-numeric'); var _rtfeldman$elm_css$Css$textDecoration3 = _rtfeldman$elm_css$Css$prop3('text-decoration'); var _rtfeldman$elm_css$Css$textDecorations3 = function (_p8) { return A2( _rtfeldman$elm_css$Css$prop3, 'text-decoration', _rtfeldman$elm_css$Css$valuesOrNone(_p8)); }; var _rtfeldman$elm_css$Css$prop2 = F3( function (key, argA, argB) { return A2( _rtfeldman$elm_css$Css$property, key, A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: argA.value, _1: { ctor: '::', _0: argB.value, _1: {ctor: '[]'} } })); }); var _rtfeldman$elm_css$Css$textShadow2 = _rtfeldman$elm_css$Css$prop2('text-shadow'); var _rtfeldman$elm_css$Css$boxShadow2 = _rtfeldman$elm_css$Css$prop2('box-shadow'); var _rtfeldman$elm_css$Css$textIndent2 = _rtfeldman$elm_css$Css$prop2('text-indent'); var _rtfeldman$elm_css$Css$padding2 = _rtfeldman$elm_css$Css$prop2('padding'); var _rtfeldman$elm_css$Css$margin2 = _rtfeldman$elm_css$Css$prop2('margin'); var _rtfeldman$elm_css$Css$border2 = _rtfeldman$elm_css$Css$prop2('border'); var _rtfeldman$elm_css$Css$borderTop2 = _rtfeldman$elm_css$Css$prop2('border-top'); var _rtfeldman$elm_css$Css$borderBottom2 = _rtfeldman$elm_css$Css$prop2('border-bottom'); var _rtfeldman$elm_css$Css$borderLeft2 = _rtfeldman$elm_css$Css$prop2('border-left'); var _rtfeldman$elm_css$Css$borderRight2 = _rtfeldman$elm_css$Css$prop2('border-right'); var _rtfeldman$elm_css$Css$borderBlockStart2 = _rtfeldman$elm_css$Css$prop2('border-block-start'); var _rtfeldman$elm_css$Css$borderBlockEnd2 = _rtfeldman$elm_css$Css$prop2('border-block-end'); var _rtfeldman$elm_css$Css$borderInlineStart2 = _rtfeldman$elm_css$Css$prop2('border-block-start'); var _rtfeldman$elm_css$Css$borderInlineEnd2 = _rtfeldman$elm_css$Css$prop2('border-block-end'); var _rtfeldman$elm_css$Css$borderImageOutset2 = _rtfeldman$elm_css$Css$prop2('border-image-outset'); var _rtfeldman$elm_css$Css$borderImageWidth2 = _rtfeldman$elm_css$Css$prop2('border-image-width'); var _rtfeldman$elm_css$Css$borderWidth2 = _rtfeldman$elm_css$Css$prop2('border-width'); var _rtfeldman$elm_css$Css$borderTopWidth2 = _rtfeldman$elm_css$Css$prop2('border-top-width'); var _rtfeldman$elm_css$Css$borderBottomLeftRadius2 = _rtfeldman$elm_css$Css$prop2('border-bottom-left-radius'); var _rtfeldman$elm_css$Css$borderBottomRightRadius2 = _rtfeldman$elm_css$Css$prop2('border-bottom-right-radius'); var _rtfeldman$elm_css$Css$borderTopLeftRadius2 = _rtfeldman$elm_css$Css$prop2('border-top-left-radius'); var _rtfeldman$elm_css$Css$borderTopRightRadius2 = _rtfeldman$elm_css$Css$prop2('border-top-right-radius'); var _rtfeldman$elm_css$Css$borderRadius2 = _rtfeldman$elm_css$Css$prop2('border-radius'); var _rtfeldman$elm_css$Css$borderSpacing2 = _rtfeldman$elm_css$Css$prop2('border-spacing'); var _rtfeldman$elm_css$Css$backgroundRepeat2 = _rtfeldman$elm_css$Css$prop2('background-repeat'); var _rtfeldman$elm_css$Css$backgroundPosition2 = _rtfeldman$elm_css$Css$prop2('background-position'); var _rtfeldman$elm_css$Css$backgroundSize2 = _rtfeldman$elm_css$Css$prop2('background-size'); var _rtfeldman$elm_css$Css$fontVariant2 = _rtfeldman$elm_css$Css$prop2('font-variant'); var _rtfeldman$elm_css$Css$fontVariantNumeric2 = _rtfeldman$elm_css$Css$prop2('font-variant-numeric'); var _rtfeldman$elm_css$Css$textDecoration2 = _rtfeldman$elm_css$Css$prop2('text-decoration'); var _rtfeldman$elm_css$Css$textDecorations2 = function (_p9) { return A2( _rtfeldman$elm_css$Css$prop2, 'text-decoration', _rtfeldman$elm_css$Css$valuesOrNone(_p9)); }; var _rtfeldman$elm_css$Css$prop1 = F2( function (key, arg) { return A2(_rtfeldman$elm_css$Css$property, key, arg.value); }); var _rtfeldman$elm_css$Css$textRendering = _rtfeldman$elm_css$Css$prop1('text-rendering'); var _rtfeldman$elm_css$Css$textOrientation = _rtfeldman$elm_css$Css$prop1('text-orientation'); var _rtfeldman$elm_css$Css$textOverflow = _rtfeldman$elm_css$Css$prop1('text-overflow'); var _rtfeldman$elm_css$Css$textShadow = _rtfeldman$elm_css$Css$prop1('text-shadow'); var _rtfeldman$elm_css$Css$boxShadow = _rtfeldman$elm_css$Css$prop1('box-shadow'); var _rtfeldman$elm_css$Css$textIndent = _rtfeldman$elm_css$Css$prop1('text-indent'); var _rtfeldman$elm_css$Css$textTransform = _rtfeldman$elm_css$Css$prop1('text-transform'); var _rtfeldman$elm_css$Css$display = _rtfeldman$elm_css$Css$prop1('display'); var _rtfeldman$elm_css$Css$opacity = _rtfeldman$elm_css$Css$prop1('opacity'); var _rtfeldman$elm_css$Css$width = _rtfeldman$elm_css$Css$prop1('width'); var _rtfeldman$elm_css$Css$maxWidth = _rtfeldman$elm_css$Css$prop1('max-width'); var _rtfeldman$elm_css$Css$minWidth = _rtfeldman$elm_css$Css$prop1('min-width'); var _rtfeldman$elm_css$Css$height = _rtfeldman$elm_css$Css$prop1('height'); var _rtfeldman$elm_css$Css$minHeight = _rtfeldman$elm_css$Css$prop1('min-height'); var _rtfeldman$elm_css$Css$maxHeight = _rtfeldman$elm_css$Css$prop1('max-height'); var _rtfeldman$elm_css$Css$padding = _rtfeldman$elm_css$Css$prop1('padding'); var _rtfeldman$elm_css$Css$paddingBlockStart = _rtfeldman$elm_css$Css$prop1('padding-block-start'); var _rtfeldman$elm_css$Css$paddingBlockEnd = _rtfeldman$elm_css$Css$prop1('padding-block-end'); var _rtfeldman$elm_css$Css$paddingInlineStart = _rtfeldman$elm_css$Css$prop1('padding-inline-start'); var _rtfeldman$elm_css$Css$paddingInlineEnd = _rtfeldman$elm_css$Css$prop1('padding-inline-end'); var _rtfeldman$elm_css$Css$paddingTop = _rtfeldman$elm_css$Css$prop1('padding-top'); var _rtfeldman$elm_css$Css$paddingBottom = _rtfeldman$elm_css$Css$prop1('padding-bottom'); var _rtfeldman$elm_css$Css$paddingRight = _rtfeldman$elm_css$Css$prop1('padding-right'); var _rtfeldman$elm_css$Css$paddingLeft = _rtfeldman$elm_css$Css$prop1('padding-left'); var _rtfeldman$elm_css$Css$margin = _rtfeldman$elm_css$Css$prop1('margin'); var _rtfeldman$elm_css$Css$marginTop = _rtfeldman$elm_css$Css$prop1('margin-top'); var _rtfeldman$elm_css$Css$marginBottom = _rtfeldman$elm_css$Css$prop1('margin-bottom'); var _rtfeldman$elm_css$Css$marginRight = _rtfeldman$elm_css$Css$prop1('margin-right'); var _rtfeldman$elm_css$Css$marginLeft = _rtfeldman$elm_css$Css$prop1('margin-left'); var _rtfeldman$elm_css$Css$marginBlockStart = _rtfeldman$elm_css$Css$prop1('margin-block-start'); var _rtfeldman$elm_css$Css$marginBlockEnd = _rtfeldman$elm_css$Css$prop1('margin-block-end'); var _rtfeldman$elm_css$Css$marginInlineStart = _rtfeldman$elm_css$Css$prop1('margin-inline-start'); var _rtfeldman$elm_css$Css$marginInlineEnd = _rtfeldman$elm_css$Css$prop1('margin-inline-end'); var _rtfeldman$elm_css$Css$top = _rtfeldman$elm_css$Css$prop1('top'); var _rtfeldman$elm_css$Css$bottom = _rtfeldman$elm_css$Css$prop1('bottom'); var _rtfeldman$elm_css$Css$left = _rtfeldman$elm_css$Css$prop1('left'); var _rtfeldman$elm_css$Css$right = _rtfeldman$elm_css$Css$prop1('right'); var _rtfeldman$elm_css$Css$border = _rtfeldman$elm_css$Css$prop1('border'); var _rtfeldman$elm_css$Css$borderTop = _rtfeldman$elm_css$Css$prop1('border-top'); var _rtfeldman$elm_css$Css$borderBottom = _rtfeldman$elm_css$Css$prop1('border-bottom'); var _rtfeldman$elm_css$Css$borderLeft = _rtfeldman$elm_css$Css$prop1('border-left'); var _rtfeldman$elm_css$Css$borderRight = _rtfeldman$elm_css$Css$prop1('border-right'); var _rtfeldman$elm_css$Css$borderBlockStart = _rtfeldman$elm_css$Css$prop1('border-block-start'); var _rtfeldman$elm_css$Css$borderBlockEnd = _rtfeldman$elm_css$Css$prop1('border-block-end'); var _rtfeldman$elm_css$Css$borderInlineStart = _rtfeldman$elm_css$Css$prop1('border-block-start'); var _rtfeldman$elm_css$Css$borderInlineEnd = _rtfeldman$elm_css$Css$prop1('border-block-end'); var _rtfeldman$elm_css$Css$borderImageOutset = _rtfeldman$elm_css$Css$prop1('border-image-outset'); var _rtfeldman$elm_css$Css$borderImageWidth = _rtfeldman$elm_css$Css$prop1('border-image-width'); var _rtfeldman$elm_css$Css$borderBlockEndStyle = _rtfeldman$elm_css$Css$prop1('border-block-end-style'); var _rtfeldman$elm_css$Css$borderBlockStartStyle = _rtfeldman$elm_css$Css$prop1('border-block-start-style'); var _rtfeldman$elm_css$Css$borderInlineEndStyle = _rtfeldman$elm_css$Css$prop1('border-inline-end-style'); var _rtfeldman$elm_css$Css$borderBottomStyle = _rtfeldman$elm_css$Css$prop1('border-bottom-style'); var _rtfeldman$elm_css$Css$borderInlineStartStyle = _rtfeldman$elm_css$Css$prop1('border-inline-start-style'); var _rtfeldman$elm_css$Css$borderLeftStyle = _rtfeldman$elm_css$Css$prop1('border-left-style'); var _rtfeldman$elm_css$Css$borderRightStyle = _rtfeldman$elm_css$Css$prop1('border-right-style'); var _rtfeldman$elm_css$Css$borderTopStyle = _rtfeldman$elm_css$Css$prop1('border-top-style'); var _rtfeldman$elm_css$Css$borderStyle = _rtfeldman$elm_css$Css$prop1('border-style'); var _rtfeldman$elm_css$Css$borderCollapse = _rtfeldman$elm_css$Css$prop1('border-collapse'); var _rtfeldman$elm_css$Css$borderWidth = _rtfeldman$elm_css$Css$prop1('border-width'); var _rtfeldman$elm_css$Css$borderBottomWidth = _rtfeldman$elm_css$Css$prop1('border-bottom-width'); var _rtfeldman$elm_css$Css$borderInlineEndWidth = _rtfeldman$elm_css$Css$prop1('border-inline-end-width'); var _rtfeldman$elm_css$Css$borderLeftWidth = _rtfeldman$elm_css$Css$prop1('border-left-width'); var _rtfeldman$elm_css$Css$borderRightWidth = _rtfeldman$elm_css$Css$prop1('border-right-width'); var _rtfeldman$elm_css$Css$borderTopWidth = _rtfeldman$elm_css$Css$prop1('border-top-width'); var _rtfeldman$elm_css$Css$borderBottomLeftRadius = _rtfeldman$elm_css$Css$prop1('border-bottom-left-radius'); var _rtfeldman$elm_css$Css$borderBottomRightRadius = _rtfeldman$elm_css$Css$prop1('border-bottom-right-radius'); var _rtfeldman$elm_css$Css$borderTopLeftRadius = _rtfeldman$elm_css$Css$prop1('border-top-left-radius'); var _rtfeldman$elm_css$Css$borderTopRightRadius = _rtfeldman$elm_css$Css$prop1('border-top-right-radius'); var _rtfeldman$elm_css$Css$borderRadius = _rtfeldman$elm_css$Css$prop1('border-radius'); var _rtfeldman$elm_css$Css$borderSpacing = _rtfeldman$elm_css$Css$prop1('border-spacing'); var _rtfeldman$elm_css$Css$outline = _rtfeldman$elm_css$Css$prop1('outline'); var _rtfeldman$elm_css$Css$outlineWidth = _rtfeldman$elm_css$Css$prop1('outline-width'); var _rtfeldman$elm_css$Css$outlineStyle = _rtfeldman$elm_css$Css$prop1('outline-style'); var _rtfeldman$elm_css$Css$outlineOffset = _rtfeldman$elm_css$Css$prop1('outline-offset'); var _rtfeldman$elm_css$Css$resize = _rtfeldman$elm_css$Css$prop1('resize'); var _rtfeldman$elm_css$Css$fill = _rtfeldman$elm_css$Css$prop1('fill'); var _rtfeldman$elm_css$Css$overflow = _rtfeldman$elm_css$Css$prop1('overflow'); var _rtfeldman$elm_css$Css$overflowX = _rtfeldman$elm_css$Css$prop1('overflow-x'); var _rtfeldman$elm_css$Css$overflowY = _rtfeldman$elm_css$Css$prop1('overflow-y'); var _rtfeldman$elm_css$Css$overflowWrap = _rtfeldman$elm_css$Css$prop1('overflow-wrap'); var _rtfeldman$elm_css$Css$whiteSpace = _rtfeldman$elm_css$Css$prop1('white-space'); var _rtfeldman$elm_css$Css$backgroundRepeat = _rtfeldman$elm_css$Css$prop1('background-repeat'); var _rtfeldman$elm_css$Css$backgroundAttachment = _rtfeldman$elm_css$Css$prop1('background-attachment'); var _rtfeldman$elm_css$Css$backgroundClip = _rtfeldman$elm_css$Css$prop1('background-clip'); var _rtfeldman$elm_css$Css$backgroundOrigin = _rtfeldman$elm_css$Css$prop1('background-origin'); var _rtfeldman$elm_css$Css$backgroundImage = _rtfeldman$elm_css$Css$prop1('background-image'); var _rtfeldman$elm_css$Css$backgroundSize = _rtfeldman$elm_css$Css$prop1('background-size'); var _rtfeldman$elm_css$Css$lineHeight = _rtfeldman$elm_css$Css$prop1('line-height'); var _rtfeldman$elm_css$Css$letterSpacing = _rtfeldman$elm_css$Css$prop1('letter-spacing'); var _rtfeldman$elm_css$Css$fontFamily = _rtfeldman$elm_css$Css$prop1('font-family'); var _rtfeldman$elm_css$Css$fontFamilies = function (_p10) { return A2( _rtfeldman$elm_css$Css$prop1, 'font-family', _rtfeldman$elm_css$Css$stringsToValue(_p10)); }; var _rtfeldman$elm_css$Css$fontSize = _rtfeldman$elm_css$Css$prop1('font-size'); var _rtfeldman$elm_css$Css$fontStyle = _rtfeldman$elm_css$Css$prop1('font-style'); var _rtfeldman$elm_css$Css$fontVariant = _rtfeldman$elm_css$Css$prop1('font-variant'); var _rtfeldman$elm_css$Css$fontVariantLigatures = _rtfeldman$elm_css$Css$prop1('font-variant-ligatures'); var _rtfeldman$elm_css$Css$fontVariantCaps = _rtfeldman$elm_css$Css$prop1('font-variant-caps'); var _rtfeldman$elm_css$Css$fontVariantNumeric = _rtfeldman$elm_css$Css$prop1('font-variant-numeric'); var _rtfeldman$elm_css$Css$fontVariantNumerics = function (_p11) { return A2( _rtfeldman$elm_css$Css$prop1, 'font-variant-numeric', _rtfeldman$elm_css$Css$valuesOrNone(_p11)); }; var _rtfeldman$elm_css$Css$cursor = _rtfeldman$elm_css$Css$prop1('cursor'); var _rtfeldman$elm_css$Css$textDecoration = _rtfeldman$elm_css$Css$prop1('text-decoration'); var _rtfeldman$elm_css$Css$textDecorations = function (_p12) { return A2( _rtfeldman$elm_css$Css$prop1, 'text-decoration', _rtfeldman$elm_css$Css$valuesOrNone(_p12)); }; var _rtfeldman$elm_css$Css$textDecorationLine = _rtfeldman$elm_css$Css$prop1('text-decoration-line'); var _rtfeldman$elm_css$Css$textDecorationLines = function (_p13) { return A2( _rtfeldman$elm_css$Css$prop1, 'text-decoration-line', _rtfeldman$elm_css$Css$valuesOrNone(_p13)); }; var _rtfeldman$elm_css$Css$textDecorationStyle = _rtfeldman$elm_css$Css$prop1('text-decoration-style'); var _rtfeldman$elm_css$Css$zIndex = _rtfeldman$elm_css$Css$prop1('z-index'); var _rtfeldman$elm_css$Css$touchAction = _rtfeldman$elm_css$Css$prop1('touch-action'); var _rtfeldman$elm_css$Css$position = _rtfeldman$elm_css$Css$prop1('position'); var _rtfeldman$elm_css$Css$textBottom = _rtfeldman$elm_css$Css$prop1('text-bottom'); var _rtfeldman$elm_css$Css$textTop = _rtfeldman$elm_css$Css$prop1('text-top'); var _rtfeldman$elm_css$Css$super = _rtfeldman$elm_css$Css$prop1('super'); var _rtfeldman$elm_css$Css$sub = _rtfeldman$elm_css$Css$prop1('sub'); var _rtfeldman$elm_css$Css$baseline = _rtfeldman$elm_css$Css$prop1('baseline'); var _rtfeldman$elm_css$Css$middle = _rtfeldman$elm_css$Css$prop1('middle'); var _rtfeldman$elm_css$Css$noWrap = {value: 'nowrap', whiteSpace: _rtfeldman$elm_css$Css_Structure$Compatible, flexWrap: _rtfeldman$elm_css$Css_Structure$Compatible, flexDirectionOrWrap: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$auto = {value: 'auto', cursor: _rtfeldman$elm_css$Css_Structure$Compatible, flexBasis: _rtfeldman$elm_css$Css_Structure$Compatible, overflow: _rtfeldman$elm_css$Css_Structure$Compatible, textRendering: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, alignItemsOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible, justifyContentOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, intOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, touchAction: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$none = {value: 'none', cursor: _rtfeldman$elm_css$Css_Structure$Compatible, none: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNone: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationLine: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible, display: _rtfeldman$elm_css$Css_Structure$Compatible, outline: _rtfeldman$elm_css$Css_Structure$Compatible, resize: _rtfeldman$elm_css$Css_Structure$Compatible, transform: _rtfeldman$elm_css$Css_Structure$Compatible, borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundImage: _rtfeldman$elm_css$Css_Structure$Compatible, textTransform: _rtfeldman$elm_css$Css_Structure$Compatible, touchAction: _rtfeldman$elm_css$Css_Structure$Compatible, updateFrequency: _rtfeldman$elm_css$Css_Structure$Compatible, blockAxisOverflow: _rtfeldman$elm_css$Css_Structure$Compatible, inlineAxisOverflow: _rtfeldman$elm_css$Css_Structure$Compatible, pointerDevice: _rtfeldman$elm_css$Css_Structure$Compatible, hoverCapability: _rtfeldman$elm_css$Css_Structure$Compatible, scriptingSupport: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inlineListItem = {value: 'inline-list-item', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$listItem = {value: 'list-item', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableFooterGroup = {value: 'table-footer-group', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableHeaderGroup = {value: 'table-header-group', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableColumnGroup = {value: 'table-column-group', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableRowGroup = {value: 'table-row-group', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableCaption = {value: 'table-caption', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableColumn = {value: 'table-column', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableCell = {value: 'table-cell', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$tableRow = {value: 'table-row', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inlineTable = {value: 'inline-table', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$table = {value: 'table', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inline = {value: 'inline', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inlineFlex = {value: 'inline-flex', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inlineBlock = {value: 'inline-block', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$block = {value: 'block', display: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toTopLeft = {value: 'top left', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toLeft = {value: 'left', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toBottomLeft = {value: 'bottom left', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toBottom = {value: 'bottom', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toBottomRight = {value: 'bottom right', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toRight = {value: 'right', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toTopRight = {value: 'top right', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$toTop = {value: 'top', angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$stop2 = F2( function (c, len) { return { ctor: '_Tuple2', _0: c, _1: _elm_lang$core$Maybe$Just(len) }; }); var _rtfeldman$elm_css$Css$stop = function (c) { return {ctor: '_Tuple2', _0: c, _1: _elm_lang$core$Maybe$Nothing}; }; var _rtfeldman$elm_css$Css$collectStops = _elm_lang$core$List$map( function (_p14) { var _p15 = _p14; return A2( _elm_lang$core$String$append, _p15._0.value, A2( _elm_lang$core$Maybe$withDefault, '', A2( _elm_lang$core$Maybe$map, function (_p16) { return A2( _elm_lang$core$String$cons, _elm_lang$core$Native_Utils.chr(' '), function (_) { return _.value; }(_p16)); }, _p15._1))); }); var _rtfeldman$elm_css$Css$local = {value: 'local', backgroundAttachment: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$noRepeat = {value: 'no-repeat', backgroundRepeat: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$round = {value: 'round', backgroundRepeat: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$space = {value: 'space', backgroundRepeat: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$repeat = {value: 'repeat', backgroundRepeat: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$repeatY = {value: 'repeat-y', backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$repeatX = {value: 'repeat-x', backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lineThrough = {value: 'line-through', textDecorationLine: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$overline = {value: 'overline', textDecorationLine: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$underline = {value: 'underline', textDecorationLine: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$row = {value: 'row', flexDirection: _rtfeldman$elm_css$Css_Structure$Compatible, flexDirectionOrWrap: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$rowReverse = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$row, {value: 'row-reverse'}); var _rtfeldman$elm_css$Css$column = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$row, {value: 'column'}); var _rtfeldman$elm_css$Css$columnReverse = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$row, {value: 'column-reverse'}); var _rtfeldman$elm_css$Css$stretch = _rtfeldman$elm_css$Css$prop1('stretch'); var _rtfeldman$elm_css$Css$spaceBetween = _rtfeldman$elm_css$Css$prop1('space-between'); var _rtfeldman$elm_css$Css$spaceAround = _rtfeldman$elm_css$Css$prop1('space-around'); var _rtfeldman$elm_css$Css$flexEnd = _rtfeldman$elm_css$Css$prop1('flex-end'); var _rtfeldman$elm_css$Css$flexStart = _rtfeldman$elm_css$Css$prop1('flex-start'); var _rtfeldman$elm_css$Css$wrap = {value: 'wrap', flexWrap: _rtfeldman$elm_css$Css_Structure$Compatible, flexDirectionOrWrap: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$wrapReverse = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$wrap, {value: 'wrap-reverse'}); var _rtfeldman$elm_css$Css$content = {value: 'content', flexBasis: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$order = _rtfeldman$elm_css$Css$prop1('order'); var _rtfeldman$elm_css$Css$flexFlow2 = _rtfeldman$elm_css$Css$prop2('flex-flow'); var _rtfeldman$elm_css$Css$flexFlow1 = _rtfeldman$elm_css$Css$prop1('flex-flow'); var _rtfeldman$elm_css$Css$flexDirection = _rtfeldman$elm_css$Css$prop1('flex-direction'); var _rtfeldman$elm_css$Css$flexWrap = _rtfeldman$elm_css$Css$prop1('flex-wrap'); var _rtfeldman$elm_css$Css$flexShrink = _rtfeldman$elm_css$Css$prop1('flex-shrink'); var _rtfeldman$elm_css$Css$flexGrow = _rtfeldman$elm_css$Css$prop1('flex-grow'); var _rtfeldman$elm_css$Css$flexBasis = _rtfeldman$elm_css$Css$prop1('flex-basis'); var _rtfeldman$elm_css$Css$flex3 = _rtfeldman$elm_css$Css$prop3('flex'); var _rtfeldman$elm_css$Css$flex2 = _rtfeldman$elm_css$Css$prop2('flex'); var _rtfeldman$elm_css$Css$flex = _rtfeldman$elm_css$Css$prop1('flex'); var _rtfeldman$elm_css$Css$listStyle3 = _rtfeldman$elm_css$Css$prop3('list-style'); var _rtfeldman$elm_css$Css$listStyle2 = _rtfeldman$elm_css$Css$prop2('list-style'); var _rtfeldman$elm_css$Css$listStyle = _rtfeldman$elm_css$Css$prop1('list-style'); var _rtfeldman$elm_css$Css$thai = {value: 'thai', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$telugu = {value: 'telugu', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$oriya = {value: 'oriya', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$myanmar = {value: 'myanmar', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$malayalam = {value: 'malayalam', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lao = {value: 'lao', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$khmer = {value: 'khmer', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$kannada = {value: 'kannada', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$gurmukhi = {value: 'gurmukhi', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$gujarati = {value: 'gujarati', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$georgian = {value: 'georgian', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$devanagari = {value: 'devanagari', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cjkHeavenlyStem = {value: 'cjk-heavenly-stem', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cjkEarthlyBranch = {value: 'cjk-earthly-branch', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$bengali = {value: 'bengali', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$armenian = {value: 'armenian', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$arabicIndic = {value: 'arabic-indic', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$upperLatin = {value: 'upper-latin', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lowerLatin = {value: 'lower-latin', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$upperAlpha = {value: 'upper-alpha', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lowerAlpha = {value: 'lower-alpha', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$upperGreek = {value: 'upper-greek', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lowerGreek = {value: 'lower-greek', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$upperRoman = {value: 'upper-roman', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lowerRoman = {value: 'lower-roman', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$decimalLeadingZero = {value: 'decimal-leading-zero', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$decimal = {value: 'decimal', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$square = {value: 'square', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$circle = {value: 'circle', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$disc = {value: 'disc', listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$listStyleType = _rtfeldman$elm_css$Css$prop1('list-style-type'); var _rtfeldman$elm_css$Css$outside = {value: 'outside', listStylePosition: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inside = {value: 'inside', listStylePosition: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$listStylePosition = _rtfeldman$elm_css$Css$prop1('list-style-position'); var _rtfeldman$elm_css$Css$transformStyle = _rtfeldman$elm_css$Css$prop1('transform-style'); var _rtfeldman$elm_css$Css$flat = {value: 'flat', transformStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$preserve3d = {value: 'preserve-3d', transformStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$boxSizing = _rtfeldman$elm_css$Css$prop1('box-sizing'); var _rtfeldman$elm_css$Css$transformBox = _rtfeldman$elm_css$Css$prop1('transform-box'); var _rtfeldman$elm_css$Css$viewBox = {value: 'view-box', transformBox: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$borderBox = {value: 'border-box', boxSizing: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundClip: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$contentBox = {value: 'content-box', boxSizing: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundClip: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fillBox = {value: 'fill-box', transformBox: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$transforms = function (_p17) { return A2( _rtfeldman$elm_css$Css$prop1, 'transform', _rtfeldman$elm_css$Css$valuesOrNone(_p17)); }; var _rtfeldman$elm_css$Css$transform = function (only) { return _rtfeldman$elm_css$Css$transforms( { ctor: '::', _0: only, _1: {ctor: '[]'} }); }; var _rtfeldman$elm_css$Css$angleConverter = F2( function (suffix, num) { return { value: A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css$numberToString(num), suffix), angle: _rtfeldman$elm_css$Css_Structure$Compatible, angleOrDirection: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$deg = _rtfeldman$elm_css$Css$angleConverter('deg'); var _rtfeldman$elm_css$Css$grad = _rtfeldman$elm_css$Css$angleConverter('grad'); var _rtfeldman$elm_css$Css$rad = _rtfeldman$elm_css$Css$angleConverter('rad'); var _rtfeldman$elm_css$Css$turn = _rtfeldman$elm_css$Css$angleConverter('turn'); var _rtfeldman$elm_css$Css$lengthConverter = F3( function (units, unitLabel, numericValue) { return { value: A2( _elm_lang$core$Basics_ops['++'], _rtfeldman$elm_css$Css$numberToString(numericValue), unitLabel), numericValue: numericValue, units: units, unitLabel: unitLabel, length: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNone: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, textIndent: _rtfeldman$elm_css$Css_Structure$Compatible, flexBasis: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, fontSize: _rtfeldman$elm_css$Css_Structure$Compatible, absoluteLength: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible, calc: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$true = _rtfeldman$elm_css$Css$prop1('true'); var _rtfeldman$elm_css$Css$matchParent = _rtfeldman$elm_css$Css$prop1('match-parent'); var _rtfeldman$elm_css$Css$end = _rtfeldman$elm_css$Css$prop1('end'); var _rtfeldman$elm_css$Css$start = _rtfeldman$elm_css$Css$prop1('start'); var _rtfeldman$elm_css$Css$justifyAll = _rtfeldman$elm_css$Css$prop1('justify-all'); var _rtfeldman$elm_css$Css$justify = _rtfeldman$elm_css$Css$prop1('justify'); var _rtfeldman$elm_css$Css$center = _rtfeldman$elm_css$Css$prop1('center'); var _rtfeldman$elm_css$Css$collapse = {value: 'collapse', borderCollapse: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$separate = {value: 'separate', borderCollapse: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$outset = {value: 'outset', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$inset = {value: 'inset', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$ridge = {value: 'ridge', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$groove = {value: 'groove', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$double = {value: 'double', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$solid = {value: 'solid', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$dashed = {value: 'dashed', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$dotted = {value: 'dotted', borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$wavy = {value: 'wavy', textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$clip = {value: 'clip', textOverflow: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$ellipsis = {value: 'ellipsis', textOverflow: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$fullWidth = {value: 'full-width', textTransform: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$lowercase = {value: 'lowercase', textTransform: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$uppercase = {value: 'uppercase', textTransform: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$capitalize = {value: 'capitalize', textTransform: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$sideways = {value: 'sideways', textOrientation: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$upright = {value: 'upright', textOrientation: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$mixed = {value: 'mixed', textOrientation: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$eachLine = {value: 'each-line', textIndent: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$hanging = {value: 'hanging', textIndent: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$geometricPrecision = {value: 'geometricPrecision', textRendering: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$optimizeLegibility = {value: 'optimizeLegibility', textRendering: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$optimizeSpeed = {value: 'optimizeSpeed', textRendering: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$hslaToRgba = F6( function (value, warnings, hue, saturation, lightness, hslAlpha) { var _p18 = _elm_lang$core$Color$toRgb( A4(_elm_lang$core$Color$hsla, hue, saturation, lightness, hslAlpha)); var red = _p18.red; var green = _p18.green; var blue = _p18.blue; var alpha = _p18.alpha; return {value: value, color: _rtfeldman$elm_css$Css_Structure$Compatible, red: red, green: green, blue: blue, alpha: alpha, warnings: warnings}; }); var _rtfeldman$elm_css$Css$withPrecedingHash = function (str) { return A2(_elm_lang$core$String$startsWith, '#', str) ? str : A2( _elm_lang$core$String$cons, _elm_lang$core$Native_Utils.chr('#'), str); }; var _rtfeldman$elm_css$Css$erroneousHex = function (str) { return { value: _rtfeldman$elm_css$Css$withPrecedingHash(str), color: _rtfeldman$elm_css$Css_Structure$Compatible, red: 0, green: 0, blue: 0, alpha: 1, warnings: _elm_lang$core$List$singleton( A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: 'Hex color strings must contain exactly 3, 4, 6, or 8 hexadecimal digits, optionally preceded by \"#\".', _1: { ctor: '::', _0: _elm_lang$core$Basics$toString(str), _1: { ctor: '::', _0: 'is an invalid hex color string.', _1: { ctor: '::', _0: 'Please see: https://drafts.csswg.org/css-color/#hex-notation', _1: {ctor: '[]'} } } } })) }; }; var _rtfeldman$elm_css$Css$validHex = F5( function (str, _p22, _p21, _p20, _p19) { var _p23 = _p22; var _p24 = _p21; var _p25 = _p20; var _p26 = _p19; var toResult = function (_p27) { return _rtfeldman$hex$Hex$fromString( _elm_lang$core$String$toLower( _elm_lang$core$String$fromList(_p27))); }; var results = { ctor: '_Tuple4', _0: toResult( { ctor: '::', _0: _p23._0, _1: { ctor: '::', _0: _p23._1, _1: {ctor: '[]'} } }), _1: toResult( { ctor: '::', _0: _p24._0, _1: { ctor: '::', _0: _p24._1, _1: {ctor: '[]'} } }), _2: toResult( { ctor: '::', _0: _p25._0, _1: { ctor: '::', _0: _p25._1, _1: {ctor: '[]'} } }), _3: toResult( { ctor: '::', _0: _p26._0, _1: { ctor: '::', _0: _p26._1, _1: {ctor: '[]'} } }) }; var _p28 = results; if (((((_p28.ctor === '_Tuple4') && (_p28._0.ctor === 'Ok')) && (_p28._1.ctor === 'Ok')) && (_p28._2.ctor === 'Ok')) && (_p28._3.ctor === 'Ok')) { return { value: _rtfeldman$elm_css$Css$withPrecedingHash(str), color: _rtfeldman$elm_css$Css_Structure$Compatible, red: _p28._0._0, green: _p28._1._0, blue: _p28._2._0, alpha: _elm_lang$core$Basics$toFloat(_p28._3._0) / 255, warnings: {ctor: '[]'} }; } else { return _rtfeldman$elm_css$Css$erroneousHex(str); } }); var _rtfeldman$elm_css$Css$hex = function (str) { var withoutHash = A2(_elm_lang$core$String$startsWith, '#', str) ? A2(_elm_lang$core$String$dropLeft, 1, str) : str; var _p29 = _elm_lang$core$String$toList(withoutHash); _v12_4: do { if (((_p29.ctor === '::') && (_p29._1.ctor === '::')) && (_p29._1._1.ctor === '::')) { if (_p29._1._1._1.ctor === '[]') { var _p32 = _p29._0; var _p31 = _p29._1._0; var _p30 = _p29._1._1._0; return A5( _rtfeldman$elm_css$Css$validHex, str, {ctor: '_Tuple2', _0: _p32, _1: _p32}, {ctor: '_Tuple2', _0: _p31, _1: _p31}, {ctor: '_Tuple2', _0: _p30, _1: _p30}, { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('f'), _1: _elm_lang$core$Native_Utils.chr('f') }); } else { if (_p29._1._1._1._1.ctor === '[]') { var _p36 = _p29._0; var _p35 = _p29._1._0; var _p34 = _p29._1._1._0; var _p33 = _p29._1._1._1._0; return A5( _rtfeldman$elm_css$Css$validHex, str, {ctor: '_Tuple2', _0: _p36, _1: _p36}, {ctor: '_Tuple2', _0: _p35, _1: _p35}, {ctor: '_Tuple2', _0: _p34, _1: _p34}, {ctor: '_Tuple2', _0: _p33, _1: _p33}); } else { if (_p29._1._1._1._1._1.ctor === '::') { if (_p29._1._1._1._1._1._1.ctor === '[]') { return A5( _rtfeldman$elm_css$Css$validHex, str, {ctor: '_Tuple2', _0: _p29._0, _1: _p29._1._0}, {ctor: '_Tuple2', _0: _p29._1._1._0, _1: _p29._1._1._1._0}, {ctor: '_Tuple2', _0: _p29._1._1._1._1._0, _1: _p29._1._1._1._1._1._0}, { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.chr('f'), _1: _elm_lang$core$Native_Utils.chr('f') }); } else { if ((_p29._1._1._1._1._1._1._1.ctor === '::') && (_p29._1._1._1._1._1._1._1._1.ctor === '[]')) { return A5( _rtfeldman$elm_css$Css$validHex, str, {ctor: '_Tuple2', _0: _p29._0, _1: _p29._1._0}, {ctor: '_Tuple2', _0: _p29._1._1._0, _1: _p29._1._1._1._0}, {ctor: '_Tuple2', _0: _p29._1._1._1._1._0, _1: _p29._1._1._1._1._1._0}, {ctor: '_Tuple2', _0: _p29._1._1._1._1._1._1._0, _1: _p29._1._1._1._1._1._1._1._0}); } else { break _v12_4; } } } else { break _v12_4; } } } } else { break _v12_4; } } while(false); return _rtfeldman$elm_css$Css$erroneousHex(str); }; var _rtfeldman$elm_css$Css$hidden = {value: 'hidden', overflow: _rtfeldman$elm_css$Css_Structure$Compatible, borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$contain = {value: 'contain', lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$cover = {value: 'cover', lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$url = function (urlValue) { return { value: A2( _elm_lang$core$Basics_ops['++'], 'url(', A2(_elm_lang$core$Basics_ops['++'], urlValue, ')')), backgroundImage: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$paddingBox = {value: 'padding-box', backgroundClip: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$luminosity = _rtfeldman$elm_css$Css$prop1('luminosity'); var _rtfeldman$elm_css$Css$saturation = _rtfeldman$elm_css$Css$prop1('saturation'); var _rtfeldman$elm_css$Css$hue = _rtfeldman$elm_css$Css$prop1('hue'); var _rtfeldman$elm_css$Css$exclusion = _rtfeldman$elm_css$Css$prop1('exclusion'); var _rtfeldman$elm_css$Css$difference = _rtfeldman$elm_css$Css$prop1('difference'); var _rtfeldman$elm_css$Css$softLight = _rtfeldman$elm_css$Css$prop1('soft-light'); var _rtfeldman$elm_css$Css$hardLight = _rtfeldman$elm_css$Css$prop1('hard-light'); var _rtfeldman$elm_css$Css$colorBurn = _rtfeldman$elm_css$Css$prop1('color-burn'); var _rtfeldman$elm_css$Css$colorDodge = _rtfeldman$elm_css$Css$prop1('color-dodge'); var _rtfeldman$elm_css$Css$lighten = _rtfeldman$elm_css$Css$prop1('lighten'); var _rtfeldman$elm_css$Css$darken = _rtfeldman$elm_css$Css$prop1('darken'); var _rtfeldman$elm_css$Css$overlay = _rtfeldman$elm_css$Css$prop1('overlay'); var _rtfeldman$elm_css$Css$screenBlendMode = _rtfeldman$elm_css$Css$prop1('screen'); var _rtfeldman$elm_css$Css$multiply = _rtfeldman$elm_css$Css$prop1('multiply'); var _rtfeldman$elm_css$Css$vertical = {value: 'vertical', resize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$horizontal = {value: 'horizontal', resize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$both = {value: 'both', resize: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$breakWord = {value: 'break-word', overflowWrap: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$scroll = {value: 'scroll', scroll: _rtfeldman$elm_css$Css_Structure$Compatible, overflow: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundAttachment: _rtfeldman$elm_css$Css_Structure$Compatible, blockAxisOverflow: _rtfeldman$elm_css$Css_Structure$Compatible, inlineAxisOverflow: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$visible = {value: 'visible', overflow: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$currentColor = { value: 'currentColor', color: _rtfeldman$elm_css$Css_Structure$Compatible, warnings: {ctor: '[]'} }; var _rtfeldman$elm_css$Css$transparent = { value: 'transparent', color: _rtfeldman$elm_css$Css_Structure$Compatible, warnings: {ctor: '[]'} }; var _rtfeldman$elm_css$Css$important = _rtfeldman$elm_css$Css_Preprocess$mapLastProperty( function (property) { return _elm_lang$core$Native_Utils.update( property, {important: true}); }); var _rtfeldman$elm_css$Css$all = _rtfeldman$elm_css$Css$prop1('all'); var _rtfeldman$elm_css$Css$combineLengths = F3( function (operation, first, second) { var numericValue = A2(operation, first.numericValue, second.numericValue); var value = A2( _elm_lang$core$String$join, '', A2( _elm_lang$core$List$filter, function (_p37) { return !_elm_lang$core$String$isEmpty(_p37); }, { ctor: '::', _0: _elm_lang$core$Basics$toString(numericValue), _1: { ctor: '::', _0: first.unitLabel, _1: {ctor: '[]'} } })); return _elm_lang$core$Native_Utils.update( first, {value: value, numericValue: numericValue}); }); var _rtfeldman$elm_css$Css_ops = _rtfeldman$elm_css$Css_ops || {}; _rtfeldman$elm_css$Css_ops['|*|'] = _rtfeldman$elm_css$Css$combineLengths( F2( function (x, y) { return x * y; })); var _rtfeldman$elm_css$Css_ops = _rtfeldman$elm_css$Css_ops || {}; _rtfeldman$elm_css$Css_ops['|/|'] = _rtfeldman$elm_css$Css$combineLengths( F2( function (x, y) { return x / y; })); var _rtfeldman$elm_css$Css_ops = _rtfeldman$elm_css$Css_ops || {}; _rtfeldman$elm_css$Css_ops['|-|'] = _rtfeldman$elm_css$Css$combineLengths( F2( function (x, y) { return x - y; })); var _rtfeldman$elm_css$Css_ops = _rtfeldman$elm_css$Css_ops || {}; _rtfeldman$elm_css$Css_ops['|+|'] = _rtfeldman$elm_css$Css$combineLengths( F2( function (x, y) { return x + y; })); var _rtfeldman$elm_css$Css$calcExpressionToString = function (expression) { var _p38 = expression; if (_p38.ctor === 'Addition') { return '+'; } else { return '-'; } }; var _rtfeldman$elm_css$Css$colorValueForOverloadedProperty = _rtfeldman$elm_css$Css$transparent; var _rtfeldman$elm_css$Css$getOverloadedProperty = F3( function (functionName, desiredKey, style) { getOverloadedProperty: while (true) { var _p39 = style; switch (_p39.ctor) { case 'AppendProperty': return A2(_rtfeldman$elm_css$Css$property, desiredKey, _p39._0.key); case 'ExtendSelector': return A3( _rtfeldman$elm_css$Css$propertyWithWarnings, { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'Cannot apply ', A2( _elm_lang$core$Basics_ops['++'], functionName, A2( _elm_lang$core$Basics_ops['++'], ' with inapplicable Style for selector ', _elm_lang$core$Basics$toString(_p39._0)))), _1: {ctor: '[]'} }, desiredKey, ''); case 'NestSnippet': return A3( _rtfeldman$elm_css$Css$propertyWithWarnings, { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'Cannot apply ', A2( _elm_lang$core$Basics_ops['++'], functionName, A2( _elm_lang$core$Basics_ops['++'], ' with inapplicable Style for combinator ', _elm_lang$core$Basics$toString(_p39._0)))), _1: {ctor: '[]'} }, desiredKey, ''); case 'WithPseudoElement': return A3( _rtfeldman$elm_css$Css$propertyWithWarnings, { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'Cannot apply ', A2( _elm_lang$core$Basics_ops['++'], functionName, A2( _elm_lang$core$Basics_ops['++'], ' with inapplicable Style for pseudo-element setter ', _elm_lang$core$Basics$toString(_p39._0)))), _1: {ctor: '[]'} }, desiredKey, ''); case 'WithMedia': return A3( _rtfeldman$elm_css$Css$propertyWithWarnings, { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'Cannot apply ', A2( _elm_lang$core$Basics_ops['++'], functionName, A2( _elm_lang$core$Basics_ops['++'], ' with inapplicable Style for media query ', _elm_lang$core$Basics$toString(_p39._0)))), _1: {ctor: '[]'} }, desiredKey, ''); default: if (_p39._0.ctor === '[]') { return A3( _rtfeldman$elm_css$Css$propertyWithWarnings, { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'Cannot apply ', A2(_elm_lang$core$Basics_ops['++'], functionName, ' with empty Style. ')), _1: {ctor: '[]'} }, desiredKey, ''); } else { if (_p39._0._1.ctor === '[]') { var _v15 = functionName, _v16 = desiredKey, _v17 = _p39._0._0; functionName = _v15; desiredKey = _v16; style = _v17; continue getOverloadedProperty; } else { var _v18 = functionName, _v19 = desiredKey, _v20 = _rtfeldman$elm_css$Css_Preprocess$ApplyStyles(_p39._0._1); functionName = _v18; desiredKey = _v19; style = _v20; continue getOverloadedProperty; } } } } }); var _rtfeldman$elm_css$Css$backgroundBlendMode = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'backgroundBlendMode', 'background-blend-mode', fn(_rtfeldman$elm_css$Css$colorValueForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$cssFunction = F2( function (funcName, args) { return A2( _elm_lang$core$Basics_ops['++'], funcName, A2( _elm_lang$core$Basics_ops['++'], '(', A2( _elm_lang$core$Basics_ops['++'], A2(_elm_lang$core$String$join, ', ', args), ')'))); }); var _rtfeldman$elm_css$Css$calc = F3( function (first, expression, second) { var grab = function (l) { return A2(_elm_lang$core$String$startsWith, 'calc(', l.value) ? A2(_elm_lang$core$String$dropLeft, 4, l.value) : l.value; }; var calcs = A2( _elm_lang$core$String$join, ' ', { ctor: '::', _0: grab(first), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$calcExpressionToString(expression), _1: { ctor: '::', _0: grab(second), _1: {ctor: '[]'} } } }); var value = A2( _rtfeldman$elm_css$Css$cssFunction, 'calc', { ctor: '::', _0: calcs, _1: {ctor: '[]'} }); return {value: value, length: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNone: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, textIndent: _rtfeldman$elm_css$Css_Structure$Compatible, flexBasis: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, fontSize: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible, calc: _rtfeldman$elm_css$Css_Structure$Compatible}; }); var _rtfeldman$elm_css$Css$rgb = F3( function (red, green, blue) { var warnings = ((_elm_lang$core$Native_Utils.cmp(red, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(red, 255) > 0) || ((_elm_lang$core$Native_Utils.cmp(green, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(green, 255) > 0) || ((_elm_lang$core$Native_Utils.cmp(blue, 0) < 0) || (_elm_lang$core$Native_Utils.cmp(blue, 255) > 0)))))) ? { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'RGB color values must be between 0 and 255. rgb(', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(red), A2( _elm_lang$core$Basics_ops['++'], ', ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(green), A2( _elm_lang$core$Basics_ops['++'], ', ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(blue), ') is not valid.')))))), _1: {ctor: '[]'} } : {ctor: '[]'}; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rgb', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: red, _1: { ctor: '::', _0: green, _1: { ctor: '::', _0: blue, _1: {ctor: '[]'} } } })), color: _rtfeldman$elm_css$Css_Structure$Compatible, warnings: warnings, red: red, green: green, blue: blue, alpha: 1 }; }); var _rtfeldman$elm_css$Css$rgba = F4( function (red, green, blue, alpha) { var warnings = ((_elm_lang$core$Native_Utils.cmp(red, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(red, 255) > 0) || ((_elm_lang$core$Native_Utils.cmp(green, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(green, 255) > 0) || ((_elm_lang$core$Native_Utils.cmp(blue, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(blue, 255) > 0) || ((_elm_lang$core$Native_Utils.cmp(alpha, 0) < 0) || (_elm_lang$core$Native_Utils.cmp(alpha, 1) > 0)))))))) ? { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'RGB color values must be between 0 and 255, and the alpha in RGBA must be between 0 and 1. rgba(', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(red), A2( _elm_lang$core$Basics_ops['++'], ', ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(green), A2( _elm_lang$core$Basics_ops['++'], ', ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(blue), A2( _elm_lang$core$Basics_ops['++'], ', ', A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Basics$toString(alpha), ') is not valid.')))))))), _1: {ctor: '[]'} } : {ctor: '[]'}; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rgba', A2( _elm_lang$core$Basics_ops['++'], A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: red, _1: { ctor: '::', _0: green, _1: { ctor: '::', _0: blue, _1: {ctor: '[]'} } } }), { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(alpha), _1: {ctor: '[]'} })), color: _rtfeldman$elm_css$Css_Structure$Compatible, warnings: warnings, red: red, green: green, blue: blue, alpha: alpha }; }); var _rtfeldman$elm_css$Css$hsl = F3( function (hue, saturation, lightness) { var valuesList = { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(hue), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$numericalPercentageToString(saturation), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$numericalPercentageToString(lightness), _1: {ctor: '[]'} } } }; var value = A2(_rtfeldman$elm_css$Css$cssFunction, 'hsl', valuesList); var warnings = ((_elm_lang$core$Native_Utils.cmp(hue, 360) > 0) || ((_elm_lang$core$Native_Utils.cmp(hue, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(saturation, 1) > 0) || ((_elm_lang$core$Native_Utils.cmp(saturation, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(lightness, 1) > 0) || (_elm_lang$core$Native_Utils.cmp(lightness, 0) < 0)))))) ? { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'HSL color values must have an H value between 0 and 360 (as in degrees) and S and L values between 0 and 1. ', A2(_elm_lang$core$Basics_ops['++'], value, ' is not valid.')), _1: {ctor: '[]'} } : {ctor: '[]'}; return A6(_rtfeldman$elm_css$Css$hslaToRgba, value, warnings, hue, saturation, lightness, 1); }); var _rtfeldman$elm_css$Css$hsla = F4( function (hue, saturation, lightness, alpha) { var valuesList = { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(hue), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$numericalPercentageToString(saturation), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$numericalPercentageToString(lightness), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(alpha), _1: {ctor: '[]'} } } } }; var value = A2(_rtfeldman$elm_css$Css$cssFunction, 'hsla', valuesList); var warnings = ((_elm_lang$core$Native_Utils.cmp(hue, 360) > 0) || ((_elm_lang$core$Native_Utils.cmp(hue, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(saturation, 1) > 0) || ((_elm_lang$core$Native_Utils.cmp(saturation, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(lightness, 1) > 0) || ((_elm_lang$core$Native_Utils.cmp(lightness, 0) < 0) || ((_elm_lang$core$Native_Utils.cmp(alpha, 1) > 0) || (_elm_lang$core$Native_Utils.cmp(alpha, 0) < 0)))))))) ? { ctor: '::', _0: A2( _elm_lang$core$Basics_ops['++'], 'HSLA color values must have an H value between 0 and 360 (as in degrees) and S, L, and A values between 0 and 1. ', A2(_elm_lang$core$Basics_ops['++'], value, ' is not valid.')), _1: {ctor: '[]'} } : {ctor: '[]'}; return A6(_rtfeldman$elm_css$Css$hslaToRgba, value, warnings, hue, saturation, lightness, alpha); }); var _rtfeldman$elm_css$Css$matrix = F6( function (a, b, c, d, tx, ty) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'matrix', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: a, _1: { ctor: '::', _0: b, _1: { ctor: '::', _0: c, _1: { ctor: '::', _0: d, _1: { ctor: '::', _0: tx, _1: { ctor: '::', _0: ty, _1: {ctor: '[]'} } } } } } })), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$matrix3d = function (a1) { return function (a2) { return function (a3) { return function (a4) { return function (b1) { return function (b2) { return function (b3) { return function (b4) { return function (c1) { return function (c2) { return function (c3) { return function (c4) { return function (d1) { return function (d2) { return function (d3) { return function (d4) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'matrix3d', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: a1, _1: { ctor: '::', _0: a2, _1: { ctor: '::', _0: a3, _1: { ctor: '::', _0: a4, _1: { ctor: '::', _0: b1, _1: { ctor: '::', _0: b2, _1: { ctor: '::', _0: b3, _1: { ctor: '::', _0: b4, _1: { ctor: '::', _0: c1, _1: { ctor: '::', _0: c2, _1: { ctor: '::', _0: c3, _1: { ctor: '::', _0: c4, _1: { ctor: '::', _0: d1, _1: { ctor: '::', _0: d2, _1: { ctor: '::', _0: d3, _1: { ctor: '::', _0: d4, _1: {ctor: '[]'} } } } } } } } } } } } } } } } })), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _rtfeldman$elm_css$Css$perspective = function (l) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'perspective', { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(l), _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$rotate = function (_p40) { var _p41 = _p40; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rotate', { ctor: '::', _0: _p41.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$rotateX = function (_p42) { var _p43 = _p42; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rotateX', { ctor: '::', _0: _p43.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$rotateY = function (_p44) { var _p45 = _p44; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rotateY', { ctor: '::', _0: _p45.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$rotateZ = function (_p46) { var _p47 = _p46; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rotateZ', { ctor: '::', _0: _p47.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$rotate3d = F4( function (x, y, z, _p48) { var _p49 = _p48; var coordsAsStrings = A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: x, _1: { ctor: '::', _0: y, _1: { ctor: '::', _0: z, _1: {ctor: '[]'} } } }); return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'rotate3d', A2( _elm_lang$core$Basics_ops['++'], coordsAsStrings, { ctor: '::', _0: _p49.value, _1: {ctor: '[]'} })), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$scale = function (x) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'scale', { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(x), _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$scale2 = F2( function (x, y) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'scale', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: x, _1: { ctor: '::', _0: y, _1: {ctor: '[]'} } })), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$scaleX = function (x) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'scaleX', { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(x), _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$scaleY = function (y) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'scaleY', { ctor: '::', _0: _rtfeldman$elm_css$Css$numberToString(y), _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$scale3d = F3( function (x, y, z) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'scale3d', A2( _elm_lang$core$List$map, _rtfeldman$elm_css$Css$numberToString, { ctor: '::', _0: x, _1: { ctor: '::', _0: y, _1: { ctor: '::', _0: z, _1: {ctor: '[]'} } } })), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$skew = function (_p50) { var _p51 = _p50; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'skew', { ctor: '::', _0: _p51.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$skew2 = F2( function (ax, ay) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'skew', { ctor: '::', _0: ax.value, _1: { ctor: '::', _0: ay.value, _1: {ctor: '[]'} } }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$skewX = function (_p52) { var _p53 = _p52; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'skewX', { ctor: '::', _0: _p53.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$skewY = function (_p54) { var _p55 = _p54; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'skewY', { ctor: '::', _0: _p55.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$translate = function (_p56) { var _p57 = _p56; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translate', { ctor: '::', _0: _p57.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$translate2 = F2( function (tx, ty) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translate', { ctor: '::', _0: tx.value, _1: { ctor: '::', _0: ty.value, _1: {ctor: '[]'} } }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$translateX = function (_p58) { var _p59 = _p58; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translateX', { ctor: '::', _0: _p59.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$translateY = function (_p60) { var _p61 = _p60; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translateY', { ctor: '::', _0: _p61.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$translateZ = function (_p62) { var _p63 = _p62; return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translateZ', { ctor: '::', _0: _p63.value, _1: {ctor: '[]'} }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }; var _rtfeldman$elm_css$Css$translate3d = F3( function (tx, ty, tz) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'translate3d', { ctor: '::', _0: tx.value, _1: { ctor: '::', _0: ty.value, _1: { ctor: '::', _0: tz.value, _1: {ctor: '[]'} } } }), transform: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$linearGradient = F3( function (stop1, stop2, stops) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'linear-gradient', _rtfeldman$elm_css$Css$collectStops( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: stop1, _1: { ctor: '::', _0: stop2, _1: {ctor: '[]'} } }, stops))), backgroundImage: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$linearGradient2 = F4( function (dir, stop1, stop2, stops) { return { value: A2( _rtfeldman$elm_css$Css$cssFunction, 'linear-gradient', A2( F2( function (x, y) { return {ctor: '::', _0: x, _1: y}; }), A2(_elm_lang$core$Basics_ops['++'], 'to ', dir.value), _rtfeldman$elm_css$Css$collectStops( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: stop1, _1: { ctor: '::', _0: stop2, _1: {ctor: '[]'} } }, stops)))), backgroundImage: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible }; }); var _rtfeldman$elm_css$Css$CalculatedLength = 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 function (j) { return function (k) { return function (l) { return function (m) { return {value: a, length: b, lengthOrAuto: c, lengthOrNumber: d, lengthOrNone: e, lengthOrMinMaxDimension: f, lengthOrNoneOrMinMaxDimension: g, textIndent: h, flexBasis: i, lengthOrNumberOrAutoOrNoneOrContent: j, fontSize: k, lengthOrAutoOrCoverOrContain: l, calc: m}; }; }; }; }; }; }; }; }; }; }; }; }; }; var _rtfeldman$elm_css$Css$ExplicitLength = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return {value: a, numericValue: b, units: c, unitLabel: d, length: e, lengthOrAuto: f, lengthOrNumber: g, lengthOrNone: h, lengthOrMinMaxDimension: i, lengthOrNoneOrMinMaxDimension: j, textIndent: k, flexBasis: l, absoluteLength: m, lengthOrNumberOrAutoOrNoneOrContent: n, fontSize: o, lengthOrAutoOrCoverOrContain: p, calc: q}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _rtfeldman$elm_css$Css$NonMixable = {}; var _rtfeldman$elm_css$Css$BasicProperty = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return function (r) { return function (s) { return function (t) { return function (u) { return function (v) { return function (w) { return function (x) { return function (y) { return function (z) { return function (_1) { return function (_2) { return function (_3) { return function (_4) { return function (_5) { return function (_6) { return function (_7) { return function (_8) { return function (_9) { return function (_10) { return function (_11) { return function (_12) { return function (_13) { return function (_14) { return function (_15) { return function (_16) { return function (_17) { return function (_18) { return function (_19) { return function (_20) { return function (_21) { return function (_22) { return function (_23) { return function (_24) { return function (_25) { return {value: a, all: b, alignItems: c, borderStyle: d, boxSizing: e, color: f, cursor: g, display: h, flexBasis: i, flexWrap: j, flexDirection: k, flexDirectionOrWrap: l, justifyContent: m, none: n, number: o, outline: p, overflow: q, textDecorationLine: r, textRendering: s, textIndent: t, textDecorationStyle: u, textTransform: v, length: w, lengthOrAuto: x, lengthOrNone: y, lengthOrNumber: z, lengthOrMinMaxDimension: _1, lengthOrNoneOrMinMaxDimension: _2, lengthOrNumberOrAutoOrNoneOrContent: _3, listStyleType: _4, listStylePosition: _5, listStyleTypeOrPositionOrImage: _6, fontFamily: _7, fontSize: _8, fontStyle: _9, fontWeight: _10, fontVariant: _11, units: _12, numericValue: _13, unitLabel: _14, warnings: _15, backgroundRepeat: _16, backgroundRepeatShorthand: _17, backgroundAttachment: _18, backgroundBlendMode: _19, backgroundOrigin: _20, backgroundImage: _21, lengthOrAutoOrCoverOrContain: _22, intOrAuto: _23, touchAction: _24, whiteSpace: _25}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _rtfeldman$elm_css$Css$Normal = F7( function (a, b, c, d, e, f, g) { return {value: a, warnings: b, fontStyle: c, fontWeight: d, featureTagValue: e, overflowWrap: f, whiteSpace: g}; }); var _rtfeldman$elm_css$Css$PseudoClass = F2( function (a, b) { return {ctor: 'PseudoClass', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css$PseudoElement = F2( function (a, b) { return {ctor: 'PseudoElement', _0: a, _1: b}; }); var _rtfeldman$elm_css$Css$Subtraction = {ctor: 'Subtraction'}; var _rtfeldman$elm_css$Css$minus = _rtfeldman$elm_css$Css$Subtraction; var _rtfeldman$elm_css$Css$Addition = {ctor: 'Addition'}; var _rtfeldman$elm_css$Css$plus = _rtfeldman$elm_css$Css$Addition; var _rtfeldman$elm_css$Css$PercentageUnits = {ctor: 'PercentageUnits'}; var _rtfeldman$elm_css$Css$pct = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$PercentageUnits, '%'); var _rtfeldman$elm_css$Css$EmUnits = {ctor: 'EmUnits'}; var _rtfeldman$elm_css$Css$em = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$EmUnits, 'em'); var _rtfeldman$elm_css$Css$ExUnits = {ctor: 'ExUnits'}; var _rtfeldman$elm_css$Css$ex = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$ExUnits, 'ex'); var _rtfeldman$elm_css$Css$ChUnits = {ctor: 'ChUnits'}; var _rtfeldman$elm_css$Css$ch = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$ChUnits, 'ch'); var _rtfeldman$elm_css$Css$RemUnits = {ctor: 'RemUnits'}; var _rtfeldman$elm_css$Css$rem = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$RemUnits, 'rem'); var _rtfeldman$elm_css$Css$VhUnits = {ctor: 'VhUnits'}; var _rtfeldman$elm_css$Css$vh = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$VhUnits, 'vh'); var _rtfeldman$elm_css$Css$VwUnits = {ctor: 'VwUnits'}; var _rtfeldman$elm_css$Css$vw = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$VwUnits, 'vw'); var _rtfeldman$elm_css$Css$VMinUnits = {ctor: 'VMinUnits'}; var _rtfeldman$elm_css$Css$vmin = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$VMinUnits, 'vmin'); var _rtfeldman$elm_css$Css$VMaxUnits = {ctor: 'VMaxUnits'}; var _rtfeldman$elm_css$Css$vmax = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$VMaxUnits, 'vmax'); var _rtfeldman$elm_css$Css$PxUnits = {ctor: 'PxUnits'}; var _rtfeldman$elm_css$Css$px = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$PxUnits, 'px'); var _rtfeldman$elm_css$Css$MMUnits = {ctor: 'MMUnits'}; var _rtfeldman$elm_css$Css$mm = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$MMUnits, 'mm'); var _rtfeldman$elm_css$Css$CMUnits = {ctor: 'CMUnits'}; var _rtfeldman$elm_css$Css$cm = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$CMUnits, 'cm'); var _rtfeldman$elm_css$Css$InchUnits = {ctor: 'InchUnits'}; var _rtfeldman$elm_css$Css$inches = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$InchUnits, 'in'); var _rtfeldman$elm_css$Css$PtUnits = {ctor: 'PtUnits'}; var _rtfeldman$elm_css$Css$pt = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$PtUnits, 'pt'); var _rtfeldman$elm_css$Css$PcUnits = {ctor: 'PcUnits'}; var _rtfeldman$elm_css$Css$pc = A2(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$PcUnits, 'pc'); var _rtfeldman$elm_css$Css$UnitlessInteger = {ctor: 'UnitlessInteger'}; var _rtfeldman$elm_css$Css$zero = {value: '0', length: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNone: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, number: _rtfeldman$elm_css$Css_Structure$Compatible, outline: _rtfeldman$elm_css$Css_Structure$Compatible, units: _rtfeldman$elm_css$Css$UnitlessInteger, unitLabel: '', numericValue: 0, lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible}; var _rtfeldman$elm_css$Css$int = function (val) { return { value: _rtfeldman$elm_css$Css$numberToString(val), lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, number: _rtfeldman$elm_css$Css_Structure$Compatible, fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, intOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, numericValue: _elm_lang$core$Basics$toFloat(val), unitLabel: '', units: _rtfeldman$elm_css$Css$UnitlessInteger }; }; var _rtfeldman$elm_css$Css$UnitlessFloat = {ctor: 'UnitlessFloat'}; var _rtfeldman$elm_css$Css$num = function (val) { return { value: _rtfeldman$elm_css$Css$numberToString(val), lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, number: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, numericValue: val, unitLabel: '', units: _rtfeldman$elm_css$Css$UnitlessFloat }; }; var _rtfeldman$elm_css$Css$IncompatibleUnits = {ctor: 'IncompatibleUnits'}; var _rtfeldman$elm_css$Css$initial = { value: 'initial', overflow: _rtfeldman$elm_css$Css_Structure$Compatible, none: _rtfeldman$elm_css$Css_Structure$Compatible, number: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationLine: _rtfeldman$elm_css$Css_Structure$Compatible, textRendering: _rtfeldman$elm_css$Css_Structure$Compatible, textIndent: _rtfeldman$elm_css$Css_Structure$Compatible, textDecorationStyle: _rtfeldman$elm_css$Css_Structure$Compatible, textTransform: _rtfeldman$elm_css$Css_Structure$Compatible, borderStyle: _rtfeldman$elm_css$Css_Structure$Compatible, boxSizing: _rtfeldman$elm_css$Css_Structure$Compatible, color: _rtfeldman$elm_css$Css_Structure$Compatible, cursor: _rtfeldman$elm_css$Css_Structure$Compatible, display: _rtfeldman$elm_css$Css_Structure$Compatible, all: _rtfeldman$elm_css$Css_Structure$Compatible, alignItems: _rtfeldman$elm_css$Css_Structure$Compatible, justifyContent: _rtfeldman$elm_css$Css_Structure$Compatible, length: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNone: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumber: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNoneOrMinMaxDimension: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleType: _rtfeldman$elm_css$Css_Structure$Compatible, listStylePosition: _rtfeldman$elm_css$Css_Structure$Compatible, listStyleTypeOrPositionOrImage: _rtfeldman$elm_css$Css_Structure$Compatible, flexBasis: _rtfeldman$elm_css$Css_Structure$Compatible, flexWrap: _rtfeldman$elm_css$Css_Structure$Compatible, flexDirection: _rtfeldman$elm_css$Css_Structure$Compatible, flexDirectionOrWrap: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrNumberOrAutoOrNoneOrContent: _rtfeldman$elm_css$Css_Structure$Compatible, fontFamily: _rtfeldman$elm_css$Css_Structure$Compatible, fontSize: _rtfeldman$elm_css$Css_Structure$Compatible, fontStyle: _rtfeldman$elm_css$Css_Structure$Compatible, fontWeight: _rtfeldman$elm_css$Css_Structure$Compatible, fontVariant: _rtfeldman$elm_css$Css_Structure$Compatible, outline: _rtfeldman$elm_css$Css_Structure$Compatible, units: _rtfeldman$elm_css$Css$IncompatibleUnits, numericValue: 0, unitLabel: '', warnings: {ctor: '[]'}, backgroundRepeat: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundRepeatShorthand: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundAttachment: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundBlendMode: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundOrigin: _rtfeldman$elm_css$Css_Structure$Compatible, backgroundImage: _rtfeldman$elm_css$Css_Structure$Compatible, lengthOrAutoOrCoverOrContain: _rtfeldman$elm_css$Css_Structure$Compatible, intOrAuto: _rtfeldman$elm_css$Css_Structure$Compatible, touchAction: _rtfeldman$elm_css$Css_Structure$Compatible, whiteSpace: _rtfeldman$elm_css$Css_Structure$Compatible }; var _rtfeldman$elm_css$Css$unset = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$initial, {value: 'unset'}); var _rtfeldman$elm_css$Css$inherit = _elm_lang$core$Native_Utils.update( _rtfeldman$elm_css$Css$initial, {value: 'inherit'}); var _rtfeldman$elm_css$Css$lengthForOverloadedProperty = A3(_rtfeldman$elm_css$Css$lengthConverter, _rtfeldman$elm_css$Css$IncompatibleUnits, '', 0); var _rtfeldman$elm_css$Css$alignItems = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'alignItems', 'align-items', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$alignSelf = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'alignSelf', 'align-self', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$justifyContent = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'justifyContent', 'justify-content', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$float = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'float', 'float', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$textAlignLast = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'textAlignLast', 'text-align-last', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$textAlign = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'textAlign', 'text-align', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$verticalAlign = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'verticalAlign', 'vertical-align', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$backgroundPosition = function (fn) { return A3( _rtfeldman$elm_css$Css$getOverloadedProperty, 'backgroundPosition', 'background-position', fn(_rtfeldman$elm_css$Css$lengthForOverloadedProperty)); }; var _rtfeldman$elm_css$Css$Rtl = {ctor: 'Rtl'}; var _rtfeldman$elm_css$Css$Ltr = {ctor: 'Ltr'}; var _rtfeldman$elm_css$Css$IntentionallyUnsupportedPleaseSeeDocs = {ctor: 'IntentionallyUnsupportedPleaseSeeDocs'}; var _rtfeldman$elm_css$Css$thin = _rtfeldman$elm_css$Css$IntentionallyUnsupportedPleaseSeeDocs; var _rtfeldman$elm_css$Css$thick = _rtfeldman$elm_css$Css$IntentionallyUnsupportedPleaseSeeDocs; var _rtfeldman$elm_css$Css$blink = _rtfeldman$elm_css$Css$IntentionallyUnsupportedPleaseSeeDocs; var _rtfeldman$elm_css$Css_Elements$typeSelector = F2( function (selectorStr, styles) { var sequence = A2( _rtfeldman$elm_css$Css_Structure$TypeSelectorSequence, _rtfeldman$elm_css$Css_Structure$TypeSelector(selectorStr), {ctor: '[]'}); var selector = A3( _rtfeldman$elm_css$Css_Structure$Selector, sequence, {ctor: '[]'}, _elm_lang$core$Maybe$Nothing); return _rtfeldman$elm_css$Css_Preprocess$Snippet( { ctor: '::', _0: _rtfeldman$elm_css$Css_Preprocess$StyleBlockDeclaration( A3( _rtfeldman$elm_css$Css_Preprocess$StyleBlock, selector, {ctor: '[]'}, styles)), _1: {ctor: '[]'} }); }); var _rtfeldman$elm_css$Css_Elements$html = _rtfeldman$elm_css$Css_Elements$typeSelector('html'); var _rtfeldman$elm_css$Css_Elements$body = _rtfeldman$elm_css$Css_Elements$typeSelector('body'); var _rtfeldman$elm_css$Css_Elements$article = _rtfeldman$elm_css$Css_Elements$typeSelector('article'); var _rtfeldman$elm_css$Css_Elements$header = _rtfeldman$elm_css$Css_Elements$typeSelector('header'); var _rtfeldman$elm_css$Css_Elements$footer = _rtfeldman$elm_css$Css_Elements$typeSelector('footer'); var _rtfeldman$elm_css$Css_Elements$h1 = _rtfeldman$elm_css$Css_Elements$typeSelector('h1'); var _rtfeldman$elm_css$Css_Elements$h2 = _rtfeldman$elm_css$Css_Elements$typeSelector('h2'); var _rtfeldman$elm_css$Css_Elements$h3 = _rtfeldman$elm_css$Css_Elements$typeSelector('h3'); var _rtfeldman$elm_css$Css_Elements$h4 = _rtfeldman$elm_css$Css_Elements$typeSelector('h4'); var _rtfeldman$elm_css$Css_Elements$h5 = _rtfeldman$elm_css$Css_Elements$typeSelector('h5'); var _rtfeldman$elm_css$Css_Elements$h6 = _rtfeldman$elm_css$Css_Elements$typeSelector('h6'); var _rtfeldman$elm_css$Css_Elements$nav = _rtfeldman$elm_css$Css_Elements$typeSelector('nav'); var _rtfeldman$elm_css$Css_Elements$menu = _rtfeldman$elm_css$Css_Elements$typeSelector('menu'); var _rtfeldman$elm_css$Css_Elements$section = _rtfeldman$elm_css$Css_Elements$typeSelector('section'); var _rtfeldman$elm_css$Css_Elements$aside = _rtfeldman$elm_css$Css_Elements$typeSelector('aside'); var _rtfeldman$elm_css$Css_Elements$time = _rtfeldman$elm_css$Css_Elements$typeSelector('time'); var _rtfeldman$elm_css$Css_Elements$div = _rtfeldman$elm_css$Css_Elements$typeSelector('div'); var _rtfeldman$elm_css$Css_Elements$hr = _rtfeldman$elm_css$Css_Elements$typeSelector('hr'); var _rtfeldman$elm_css$Css_Elements$li = _rtfeldman$elm_css$Css_Elements$typeSelector('li'); var _rtfeldman$elm_css$Css_Elements$main_ = _rtfeldman$elm_css$Css_Elements$typeSelector('main'); var _rtfeldman$elm_css$Css_Elements$ol = _rtfeldman$elm_css$Css_Elements$typeSelector('ol'); var _rtfeldman$elm_css$Css_Elements$p = _rtfeldman$elm_css$Css_Elements$typeSelector('p'); var _rtfeldman$elm_css$Css_Elements$ul = _rtfeldman$elm_css$Css_Elements$typeSelector('ul'); var _rtfeldman$elm_css$Css_Elements$pre = _rtfeldman$elm_css$Css_Elements$typeSelector('pre'); var _rtfeldman$elm_css$Css_Elements$dl = _rtfeldman$elm_css$Css_Elements$typeSelector('dl'); var _rtfeldman$elm_css$Css_Elements$dt = _rtfeldman$elm_css$Css_Elements$typeSelector('dt'); var _rtfeldman$elm_css$Css_Elements$dd = _rtfeldman$elm_css$Css_Elements$typeSelector('dd'); var _rtfeldman$elm_css$Css_Elements$a = _rtfeldman$elm_css$Css_Elements$typeSelector('a'); var _rtfeldman$elm_css$Css_Elements$code = _rtfeldman$elm_css$Css_Elements$typeSelector('code'); var _rtfeldman$elm_css$Css_Elements$small = _rtfeldman$elm_css$Css_Elements$typeSelector('small'); var _rtfeldman$elm_css$Css_Elements$span = _rtfeldman$elm_css$Css_Elements$typeSelector('span'); var _rtfeldman$elm_css$Css_Elements$strong = _rtfeldman$elm_css$Css_Elements$typeSelector('strong'); var _rtfeldman$elm_css$Css_Elements$i = _rtfeldman$elm_css$Css_Elements$typeSelector('i'); var _rtfeldman$elm_css$Css_Elements$em = _rtfeldman$elm_css$Css_Elements$typeSelector('em'); var _rtfeldman$elm_css$Css_Elements$q = _rtfeldman$elm_css$Css_Elements$typeSelector('q'); var _rtfeldman$elm_css$Css_Elements$img = _rtfeldman$elm_css$Css_Elements$typeSelector('img'); var _rtfeldman$elm_css$Css_Elements$audio = _rtfeldman$elm_css$Css_Elements$typeSelector('audio'); var _rtfeldman$elm_css$Css_Elements$video = _rtfeldman$elm_css$Css_Elements$typeSelector('video'); var _rtfeldman$elm_css$Css_Elements$canvas = _rtfeldman$elm_css$Css_Elements$typeSelector('canvas'); var _rtfeldman$elm_css$Css_Elements$caption = _rtfeldman$elm_css$Css_Elements$typeSelector('caption'); var _rtfeldman$elm_css$Css_Elements$col = _rtfeldman$elm_css$Css_Elements$typeSelector('col'); var _rtfeldman$elm_css$Css_Elements$colgroup = _rtfeldman$elm_css$Css_Elements$typeSelector('colgroup'); var _rtfeldman$elm_css$Css_Elements$table = _rtfeldman$elm_css$Css_Elements$typeSelector('table'); var _rtfeldman$elm_css$Css_Elements$tbody = _rtfeldman$elm_css$Css_Elements$typeSelector('tbody'); var _rtfeldman$elm_css$Css_Elements$td = _rtfeldman$elm_css$Css_Elements$typeSelector('td'); var _rtfeldman$elm_css$Css_Elements$tfoot = _rtfeldman$elm_css$Css_Elements$typeSelector('tfoot'); var _rtfeldman$elm_css$Css_Elements$th = _rtfeldman$elm_css$Css_Elements$typeSelector('th'); var _rtfeldman$elm_css$Css_Elements$thead = _rtfeldman$elm_css$Css_Elements$typeSelector('thead'); var _rtfeldman$elm_css$Css_Elements$tr = _rtfeldman$elm_css$Css_Elements$typeSelector('tr'); var _rtfeldman$elm_css$Css_Elements$button = _rtfeldman$elm_css$Css_Elements$typeSelector('button'); var _rtfeldman$elm_css$Css_Elements$fieldset = _rtfeldman$elm_css$Css_Elements$typeSelector('fieldset'); var _rtfeldman$elm_css$Css_Elements$form = _rtfeldman$elm_css$Css_Elements$typeSelector('form'); var _rtfeldman$elm_css$Css_Elements$input = _rtfeldman$elm_css$Css_Elements$typeSelector('input'); var _rtfeldman$elm_css$Css_Elements$label = _rtfeldman$elm_css$Css_Elements$typeSelector('label'); var _rtfeldman$elm_css$Css_Elements$legend = _rtfeldman$elm_css$Css_Elements$typeSelector('legend'); var _rtfeldman$elm_css$Css_Elements$optgroup = _rtfeldman$elm_css$Css_Elements$typeSelector('optgroup'); var _rtfeldman$elm_css$Css_Elements$option = _rtfeldman$elm_css$Css_Elements$typeSelector('option'); var _rtfeldman$elm_css$Css_Elements$progress = _rtfeldman$elm_css$Css_Elements$typeSelector('progress'); var _rtfeldman$elm_css$Css_Elements$select = _rtfeldman$elm_css$Css_Elements$typeSelector('select'); var _rtfeldman$elm_css$Css_Elements$textarea = _rtfeldman$elm_css$Css_Elements$typeSelector('textarea'); var _rtfeldman$elm_css$Css_Elements$blockquote = _rtfeldman$elm_css$Css_Elements$typeSelector('blockquote'); var _rtfeldman$elm_css$Css_Elements$svg = _rtfeldman$elm_css$Css_Elements$typeSelector('svg'); var _rtfeldman$elm_css$Css_Elements$path = _rtfeldman$elm_css$Css_Elements$typeSelector('path'); var _rtfeldman$elm_css$Css_Elements$rect = _rtfeldman$elm_css$Css_Elements$typeSelector('rect'); var _rtfeldman$elm_css$Css_Elements$circle = _rtfeldman$elm_css$Css_Elements$typeSelector('circle'); var _rtfeldman$elm_css$Css_Elements$ellipse = _rtfeldman$elm_css$Css_Elements$typeSelector('ellipse'); var _rtfeldman$elm_css$Css_Elements$line = _rtfeldman$elm_css$Css_Elements$typeSelector('line'); var _rtfeldman$elm_css$Css_Elements$polyline = _rtfeldman$elm_css$Css_Elements$typeSelector('polyline'); var _rtfeldman$elm_css$Css_Elements$polygon = _rtfeldman$elm_css$Css_Elements$typeSelector('polygon'); var _rtfeldman$elm_css_helpers$Html_CssHelpers$stylesheetLink = function (url) { return A3( _elm_lang$html$Html$node, 'link', { ctor: '::', _0: A2( _elm_lang$html$Html_Attributes$property, 'rel', _elm_lang$core$Json_Encode$string('stylesheet')), _1: { ctor: '::', _0: A2( _elm_lang$html$Html_Attributes$property, 'type', _elm_lang$core$Json_Encode$string('text/css')), _1: { ctor: '::', _0: A2( _elm_lang$html$Html_Attributes$property, 'href', _elm_lang$core$Json_Encode$string(url)), _1: {ctor: '[]'} } } }, {ctor: '[]'}); }; var _rtfeldman$elm_css_helpers$Html_CssHelpers$style = function (text) { return A3( _elm_lang$html$Html$node, 'style', { ctor: '::', _0: A2( _elm_lang$html$Html_Attributes$property, 'textContent', _elm_lang$core$Json_Encode$string(text)), _1: { ctor: '::', _0: A2( _elm_lang$html$Html_Attributes$property, 'type', _elm_lang$core$Json_Encode$string('text/css')), _1: {ctor: '[]'} } }, {ctor: '[]'}); }; var _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClass = F2( function (name, list) { return _elm_lang$html$Html_Attributes$class( A2( _elm_lang$core$String$join, ' ', A2( _elm_lang$core$List$map, _rtfeldman$elm_css_util$Css_Helpers$identifierToString(name), list))); }); var _rtfeldman$elm_css_helpers$Html_CssHelpers$class = _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClass(''); var _rtfeldman$elm_css_helpers$Html_CssHelpers$classList = function (list) { return _rtfeldman$elm_css_helpers$Html_CssHelpers$class( A2( _elm_lang$core$List$map, _elm_lang$core$Tuple$first, A2(_elm_lang$core$List$filter, _elm_lang$core$Tuple$second, list))); }; var _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClassList = F2( function (name, list) { return A2( _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClass, name, A2( _elm_lang$core$List$map, _elm_lang$core$Tuple$first, A2(_elm_lang$core$List$filter, _elm_lang$core$Tuple$second, list))); }); var _rtfeldman$elm_css_helpers$Html_CssHelpers$helpers = { $class: _rtfeldman$elm_css_helpers$Html_CssHelpers$class, classList: _rtfeldman$elm_css_helpers$Html_CssHelpers$classList, id: function (_p0) { return _elm_lang$html$Html_Attributes$id( _rtfeldman$elm_css_util$Css_Helpers$toCssIdentifier(_p0)); } }; var _rtfeldman$elm_css_helpers$Html_CssHelpers$withNamespace = function (name) { return { $class: _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClass(name), classList: _rtfeldman$elm_css_helpers$Html_CssHelpers$namespacedClassList(name), id: function (_p1) { return _elm_lang$html$Html_Attributes$id( _rtfeldman$elm_css_util$Css_Helpers$toCssIdentifier(_p1)); }, name: name }; }; var _rtfeldman$elm_css_helpers$Html_CssHelpers$withClass = F3( function (className, makeElem, attrs) { return makeElem( { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(className), _1: attrs }); }); var _rtfeldman$elm_css_helpers$Html_CssHelpers$Helpers = F3( function (a, b, c) { return {$class: a, classList: b, id: c}; }); var _rtfeldman$elm_css_helpers$Html_CssHelpers$Namespace = F4( function (a, b, c, d) { return {$class: a, classList: b, id: c, name: d}; }); var _tripokey$elm_fuzzy$Fuzzy$dissect = F2( function (separators, strings) { dissect: while (true) { var _p0 = separators; if (_p0.ctor === '[]') { return strings; } else { var _p4 = _p0._0; var dissectEntry = function (entry) { var separatorLength = _elm_lang$core$String$length(_p4); var slice = F2( function (index, _p1) { var _p2 = _p1; var _p3 = _p2._0; var separatorSlice = { ctor: '::', _0: A3(_elm_lang$core$String$slice, index, index + separatorLength, entry), _1: {ctor: '[]'} }; var precedingSlice = _elm_lang$core$Native_Utils.eq(_p3, index) ? {ctor: '[]'} : { ctor: '::', _0: A3(_elm_lang$core$String$slice, _p3, index, entry), _1: {ctor: '[]'} }; return { ctor: '_Tuple2', _0: index + separatorLength, _1: A2( _elm_lang$core$Basics_ops['++'], _p2._1, A2(_elm_lang$core$Basics_ops['++'], precedingSlice, separatorSlice)) }; }); var indexes = A2(_elm_lang$core$String$indexes, _p4, entry); var result = A3( _elm_lang$core$List$foldl, slice, { ctor: '_Tuple2', _0: 0, _1: {ctor: '[]'} }, indexes); var first = _elm_lang$core$Tuple$second(result); var lastIndex = _elm_lang$core$Tuple$first(result); var entryLength = _elm_lang$core$String$length(entry); var last = _elm_lang$core$Native_Utils.eq(lastIndex, entryLength) ? {ctor: '[]'} : { ctor: '::', _0: A3(_elm_lang$core$String$slice, lastIndex, entryLength, entry), _1: {ctor: '[]'} }; return A2(_elm_lang$core$Basics_ops['++'], first, last); }; var dissected = A3( _elm_lang$core$List$foldl, F2( function (e, s) { return A2( _elm_lang$core$Basics_ops['++'], s, dissectEntry(e)); }), {ctor: '[]'}, strings); var _v2 = _p0._1, _v3 = dissected; separators = _v2; strings = _v3; continue dissect; } } }); var _tripokey$elm_fuzzy$Fuzzy$quickSort = function (entries) { var _p5 = entries; if (_p5.ctor === '[]') { return { ctor: '_Tuple2', _0: 0, _1: {ctor: '[]'} }; } else { var _p6 = _p5._0; var partition = A2( _elm_lang$core$List$partition, function (e) { return _elm_lang$core$Native_Utils.cmp(e, _p6) < 0; }, _p5._1); var smaller = _tripokey$elm_fuzzy$Fuzzy$quickSort( _elm_lang$core$Tuple$first(partition)); var penalty = _elm_lang$core$List$isEmpty( _elm_lang$core$Tuple$second(smaller)) ? 0 : 1; var larger = _tripokey$elm_fuzzy$Fuzzy$quickSort( _elm_lang$core$Tuple$second(partition)); return { ctor: '_Tuple2', _0: (_elm_lang$core$Tuple$first(smaller) + penalty) + _elm_lang$core$Tuple$first(larger), _1: A2( _elm_lang$core$Basics_ops['++'], _elm_lang$core$Tuple$second(smaller), A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _p6, _1: {ctor: '[]'} }, _elm_lang$core$Tuple$second(larger))) }; } }; var _tripokey$elm_fuzzy$Fuzzy$initialModel = {ctor: '[]'}; var _tripokey$elm_fuzzy$Fuzzy$Match = F4( function (a, b, c, d) { return {score: a, offset: b, length: c, keys: d}; }); var _tripokey$elm_fuzzy$Fuzzy$distance = F3( function (config, needle, hay) { var accumulateInsertPenalty = F2( function (elem, result) { var _p7 = result; if (_p7._0.ctor === 'Just') { return { ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Just(elem), _1: ((elem - 1) - _p7._0._0) + _p7._1 }; } else { return { ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Just(elem), _1: _p7._1 }; } }); var accumulate = F2( function (c, indexList) { var indexes = A2( _elm_lang$core$String$indexes, _elm_lang$core$String$fromChar(c), hay); var hayIndex = _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, function (e) { return !A2(_elm_lang$core$List$member, e, indexList); }, indexes)); var _p8 = hayIndex; if (_p8.ctor === 'Just') { return A2( _elm_lang$core$Basics_ops['++'], indexList, { ctor: '::', _0: _p8._0, _1: {ctor: '[]'} }); } else { return indexList; } }); var accumulated = A3(_elm_lang$core$String$foldl, accumulate, _tripokey$elm_fuzzy$Fuzzy$initialModel, needle); var sorted = _tripokey$elm_fuzzy$Fuzzy$quickSort(accumulated); var mPenalty = _elm_lang$core$Tuple$first(sorted) * config.movePenalty; var iPenalty = _elm_lang$core$Tuple$second( A3( _elm_lang$core$List$foldl, accumulateInsertPenalty, {ctor: '_Tuple2', _0: _elm_lang$core$Maybe$Nothing, _1: 0}, _elm_lang$core$Tuple$second(sorted))) * config.insertPenalty; var hPenalty = (_elm_lang$core$String$length(hay) - _elm_lang$core$List$length(accumulated)) * config.addPenalty; var nPenalty = (_elm_lang$core$String$length(needle) - _elm_lang$core$List$length(accumulated)) * config.removePenalty; return A4( _tripokey$elm_fuzzy$Fuzzy$Match, ((mPenalty + hPenalty) + nPenalty) + iPenalty, 0, _elm_lang$core$String$length(hay), _elm_lang$core$Tuple$second(sorted)); }); var _tripokey$elm_fuzzy$Fuzzy$Result = F2( function (a, b) { return {score: a, matches: b}; }); var _tripokey$elm_fuzzy$Fuzzy$ConfigModel = F4( function (a, b, c, d) { return {addPenalty: a, movePenalty: b, removePenalty: c, insertPenalty: d}; }); var _tripokey$elm_fuzzy$Fuzzy$defaultConfig = A4(_tripokey$elm_fuzzy$Fuzzy$ConfigModel, 10, 1000, 10000, 1); var _tripokey$elm_fuzzy$Fuzzy$match = F4( function (configs, separators, needle, hay) { var initialResult = A2( _tripokey$elm_fuzzy$Fuzzy$Result, 0, {ctor: '[]'}); var reduceHays = F3( function (ns, c, hs) { var padHays = F2( function (ns, hs) { return A2( _elm_lang$core$Basics_ops['++'], hs, A2( _elm_lang$core$List$repeat, ns - _elm_lang$core$List$length(hs), '')); }); var reduceRight = F3( function (ns, c, hs) { return A2( _elm_lang$core$List$take, _elm_lang$core$List$length(hs) - ((ns - c) - 1), hs); }); var reduceLeft = F3( function (ns, c, hs) { return { ctor: '_Tuple2', _0: A3( _elm_lang$core$List$foldl, F2( function (e, sum) { return _elm_lang$core$String$length(e) + sum; }), 0, A2(_elm_lang$core$List$take, c, hs)), _1: A2(_elm_lang$core$List$drop, c, hs) }; }); return A3( reduceLeft, ns, c, A3( reduceRight, ns, c, A2(padHays, ns, hs))); }); var hays = A2( _tripokey$elm_fuzzy$Fuzzy$dissect, separators, { ctor: '::', _0: hay, _1: {ctor: '[]'} }); var needles = A2( _tripokey$elm_fuzzy$Fuzzy$dissect, separators, { ctor: '::', _0: needle, _1: {ctor: '[]'} }); var accumulateConfig = F2( function (c, sum) { var _p9 = c; switch (_p9.ctor) { case 'AddPenalty': return _elm_lang$core$Native_Utils.update( sum, {addPenalty: _p9._0}); case 'RemovePenalty': return _elm_lang$core$Native_Utils.update( sum, {removePenalty: _p9._0}); case 'MovePenalty': return _elm_lang$core$Native_Utils.update( sum, {movePenalty: _p9._0}); default: return _elm_lang$core$Native_Utils.update( sum, {insertPenalty: _p9._0}); } }); var config = A3(_elm_lang$core$List$foldl, accumulateConfig, _tripokey$elm_fuzzy$Fuzzy$defaultConfig, configs); var minScore = F2( function (n, _p10) { var _p11 = _p10; var _p16 = _p11._0; var accumulateMatch = F2( function (e, _p12) { var _p13 = _p12; var _p15 = _p13._1; var _p14 = _p13._0; var newOffset = _p15 + _elm_lang$core$String$length(e); var eDistance = A3(_tripokey$elm_fuzzy$Fuzzy$distance, config, n, e); var newMatch = (_elm_lang$core$Native_Utils.cmp(eDistance.score, _p14.score) < 0) ? _elm_lang$core$Native_Utils.update( eDistance, {offset: _p15}) : _p14; return {ctor: '_Tuple2', _0: newMatch, _1: newOffset}; }); var initialPenalty = (((_elm_lang$core$String$length(n) * config.removePenalty) + (_elm_lang$core$String$length(n) * config.movePenalty)) + (_elm_lang$core$String$length(hay) * config.addPenalty)) + ((_elm_lang$core$String$length(hay) * _elm_lang$core$String$length(n)) * config.insertPenalty); var initialMatch = A4( _tripokey$elm_fuzzy$Fuzzy$Match, initialPenalty, _p16, 0, {ctor: '[]'}); return _elm_lang$core$Tuple$first( A3( _elm_lang$core$List$foldl, accumulateMatch, {ctor: '_Tuple2', _0: initialMatch, _1: _p16}, _p11._1)); }); var accumulateResult = F2( function (n, _p17) { var _p18 = _p17; var _p20 = _p18._0; var _p19 = _p18._1; var matchResult = A2( minScore, n, A3( reduceHays, _elm_lang$core$List$length(needles), _p19, hays)); var newResult = _elm_lang$core$Native_Utils.update( _p20, { score: matchResult.score + _p20.score, matches: A2( _elm_lang$core$Basics_ops['++'], _p20.matches, { ctor: '::', _0: matchResult, _1: {ctor: '[]'} }) }); return {ctor: '_Tuple2', _0: newResult, _1: _p19 + 1}; }); return _elm_lang$core$Tuple$first( A3( _elm_lang$core$List$foldl, accumulateResult, {ctor: '_Tuple2', _0: initialResult, _1: 0}, needles)); }); var _tripokey$elm_fuzzy$Fuzzy$InsertPenalty = function (a) { return {ctor: 'InsertPenalty', _0: a}; }; var _tripokey$elm_fuzzy$Fuzzy$insertPenalty = function (penalty) { return _tripokey$elm_fuzzy$Fuzzy$InsertPenalty(penalty); }; var _tripokey$elm_fuzzy$Fuzzy$MovePenalty = function (a) { return {ctor: 'MovePenalty', _0: a}; }; var _tripokey$elm_fuzzy$Fuzzy$movePenalty = function (penalty) { return _tripokey$elm_fuzzy$Fuzzy$MovePenalty(penalty); }; var _tripokey$elm_fuzzy$Fuzzy$RemovePenalty = function (a) { return {ctor: 'RemovePenalty', _0: a}; }; var _tripokey$elm_fuzzy$Fuzzy$removePenalty = function (penalty) { return _tripokey$elm_fuzzy$Fuzzy$RemovePenalty(penalty); }; var _tripokey$elm_fuzzy$Fuzzy$AddPenalty = function (a) { return {ctor: 'AddPenalty', _0: a}; }; var _tripokey$elm_fuzzy$Fuzzy$addPenalty = function (penalty) { return _tripokey$elm_fuzzy$Fuzzy$AddPenalty(penalty); }; var _user$project$FieldSet_Types$Field = F6( function (a, b, c, d, e, f) { return {code: a, display: b, placeholder: c, required: d, value: e, loadedValue: f}; }); var _user$project$FieldSet_Types$Input = F2( function (a, b) { return {ctor: 'Input', _0: a, _1: b}; }); var _user$project$FieldSet_Types$PasswordHidden = {ctor: 'PasswordHidden'}; var _user$project$FieldSet_Types$PasswordEmpty = {ctor: 'PasswordEmpty'}; var _user$project$FieldSet_Types$Password = function (a) { return {ctor: 'Password', _0: a}; }; var _user$project$FieldSet_Types$FieldInteger = function (a) { return {ctor: 'FieldInteger', _0: a}; }; var _user$project$FieldSet_Types$FieldPassword = function (a) { return {ctor: 'FieldPassword', _0: a}; }; var _user$project$FieldSet_Types$FieldString = function (a) { return {ctor: 'FieldString', _0: a}; }; var _user$project$FieldSet_Types$updateFieldValue = F2( function (stringValue, oldFieldValue) { var _p0 = oldFieldValue; switch (_p0.ctor) { case 'FieldString': return _user$project$FieldSet_Types$FieldString(stringValue); case 'FieldPassword': return _user$project$FieldSet_Types$FieldPassword( _user$project$FieldSet_Types$Password(stringValue)); default: return _user$project$FieldSet_Types$FieldInteger( A2( _elm_lang$core$Result$withDefault, _p0._0, _elm_lang$core$String$toInt(stringValue))); } }); var _user$project$AccountTypes$Account = F3( function (a, b, c) { return {code: a, display: b, fields: c}; }); var _user$project$FieldSet_Rest$isDirty = function (field) { return !_elm_lang$core$Native_Utils.eq(field.value, field.loadedValue); }; var _user$project$FieldSet_Rest$maybeString = function (maybeString) { var _p0 = maybeString; if (_p0.ctor === 'Nothing') { return _elm_lang$core$Json_Encode$null; } else { return _elm_lang$core$Json_Encode$string(_p0._0); } }; var _user$project$FieldSet_Rest$encodeFieldValue = function (fieldValue) { var _p1 = fieldValue; switch (_p1.ctor) { case 'FieldString': return _elm_lang$core$Json_Encode$string(_p1._0); case 'FieldPassword': var _p2 = _p1._0; if (_p2.ctor === 'Password') { return _elm_lang$core$Json_Encode$string(_p2._0); } else { return _elm_lang$core$Json_Encode$null; } default: return _elm_lang$core$Json_Encode$int(_p1._0); } }; var _user$project$FieldSet_Rest$encodeField = function (field) { return _user$project$FieldSet_Rest$isDirty(field) ? _elm_lang$core$Maybe$Just( _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'code', _1: _elm_lang$core$Json_Encode$string(field.code) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'value', _1: _user$project$FieldSet_Rest$encodeFieldValue(field.value) }, _1: {ctor: '[]'} } })) : _elm_lang$core$Maybe$Nothing; }; var _user$project$FieldSet_Rest$badInt = _elm_lang$core$Json_Decode$oneOf( { ctor: '::', _0: _elm_lang$core$Json_Decode$int, _1: {ctor: '[]'} }); var _user$project$FieldSet_Rest$fieldPasswordDecoder = function (present) { return present ? _user$project$FieldSet_Types$FieldPassword(_user$project$FieldSet_Types$PasswordHidden) : _user$project$FieldSet_Types$FieldPassword(_user$project$FieldSet_Types$PasswordEmpty); }; var _user$project$FieldSet_Rest$fieldValueDecoder = function (fieldType) { var _p3 = fieldType; switch (_p3) { case 'string': return A2(_elm_lang$core$Json_Decode$map, _user$project$FieldSet_Types$FieldString, _elm_lang$core$Json_Decode$string); case 'password': return A2(_elm_lang$core$Json_Decode$map, _user$project$FieldSet_Rest$fieldPasswordDecoder, _elm_lang$core$Json_Decode$bool); case 'integer': return A2(_elm_lang$core$Json_Decode$map, _user$project$FieldSet_Types$FieldInteger, _user$project$FieldSet_Rest$badInt); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'Unsupported field type: ', fieldType)); } }; var _user$project$FieldSet_Rest$fieldDecoder = A2( _elm_lang$core$Json_Decode$andThen, function (fieldType) { return A7( _elm_lang$core$Json_Decode$map6, _user$project$FieldSet_Types$Field, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string), _elm_lang$core$Json_Decode$oneOf( { ctor: '::', _0: A2(_elm_lang$core$Json_Decode$field, 'placeholder', _elm_lang$core$Json_Decode$string), _1: { ctor: '::', _0: _elm_lang$core$Json_Decode$succeed(''), _1: {ctor: '[]'} } }), A2(_elm_lang$core$Json_Decode$field, 'required', _elm_lang$core$Json_Decode$bool), A2( _elm_lang$core$Json_Decode$field, 'value', _user$project$FieldSet_Rest$fieldValueDecoder(fieldType)), A2( _elm_lang$core$Json_Decode$field, 'value', _user$project$FieldSet_Rest$fieldValueDecoder(fieldType))); }, A2(_elm_lang$core$Json_Decode$field, 'fieldType', _elm_lang$core$Json_Decode$string)); var _user$project$AccountDecoder$accountDecoder = A4( _elm_lang$core$Json_Decode$map3, _user$project$AccountTypes$Account, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string), A2( _elm_lang$core$Json_Decode$field, 'fields', _elm_lang$core$Json_Decode$list(_user$project$FieldSet_Rest$fieldDecoder))); var _user$project$AccountDecoder$decodeAccount = function (string) { return A2(_elm_lang$core$Json_Decode$decodeString, _user$project$AccountDecoder$accountDecoder, string); }; var _user$project$AccountEncoder$encodeAccount = function (account) { return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'code', _1: _elm_lang$core$Json_Encode$string(account.code) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'display', _1: _elm_lang$core$Json_Encode$string(account.display) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fields', _1: _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$filterMap, _user$project$FieldSet_Rest$encodeField, account.fields)) }, _1: {ctor: '[]'} } } }); }; var _user$project$FieldSet_State$updateField = F3( function (fieldCode, fieldValueString, field) { return _elm_lang$core$Native_Utils.eq( function (_) { return _.code; }(field), fieldCode) ? _elm_lang$core$Native_Utils.update( field, { value: A2(_user$project$FieldSet_Types$updateFieldValue, fieldValueString, field.value) }) : field; }); var _user$project$FieldSet_State$updateFieldSet = F3( function (fieldCode, fieldValueString, fields) { return A2( _elm_lang$core$List$map, A2(_user$project$FieldSet_State$updateField, fieldCode, fieldValueString), fields); }); var _user$project$FieldSet_State$update = F2( function (msg, model) { var _p0 = msg; return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3(_user$project$FieldSet_State$updateFieldSet, _p0._0, _p0._1, model), {ctor: '[]'}); }); var _user$project$Css_Admin$name = 'lamassuAdmin'; var _user$project$Css_Admin$helpers = _rtfeldman$elm_css_helpers$Html_CssHelpers$withNamespace(_user$project$Css_Admin$name); var _user$project$Css_Admin$class = _user$project$Css_Admin$helpers.$class; var _user$project$Css_Admin$classList = _user$project$Css_Admin$helpers.classList; var _user$project$Css_Admin$id = _user$project$Css_Admin$helpers.id; var _user$project$Css_Admin$className = function ($class) { return A2(_rtfeldman$elm_css_util$Css_Helpers$identifierToString, _user$project$Css_Admin$name, $class); }; var _user$project$Css_Classes$SelectizeOnOff = {ctor: 'SelectizeOnOff'}; var _user$project$Css_Classes$SelectizeCountry = {ctor: 'SelectizeCountry'}; var _user$project$Css_Classes$SelectizeLanguage = {ctor: 'SelectizeLanguage'}; var _user$project$Css_Classes$SelectizeCryptoCurrency = {ctor: 'SelectizeCryptoCurrency'}; var _user$project$Css_Classes$SelectizeFiatCurrency = {ctor: 'SelectizeFiatCurrency'}; var _user$project$Css_Classes$SelectizeAccount = {ctor: 'SelectizeAccount'}; var _user$project$Css_Classes$Textarea = {ctor: 'Textarea'}; var _user$project$Css_Classes$BalanceSection = {ctor: 'BalanceSection'}; var _user$project$Css_Classes$CryptoAddress = {ctor: 'CryptoAddress'}; var _user$project$Css_Classes$ReadOnly = {ctor: 'ReadOnly'}; var _user$project$Css_Classes$CashIn = {ctor: 'CashIn'}; var _user$project$Css_Classes$CashOut = {ctor: 'CashOut'}; var _user$project$Css_Classes$QrCode = {ctor: 'QrCode'}; var _user$project$Css_Classes$TxCancelled = {ctor: 'TxCancelled'}; var _user$project$Css_Classes$TxAddress = {ctor: 'TxAddress'}; var _user$project$Css_Classes$TxPhone = {ctor: 'TxPhone'}; var _user$project$Css_Classes$TxCrypto = {ctor: 'TxCrypto'}; var _user$project$Css_Classes$TxFiat = {ctor: 'TxFiat'}; var _user$project$Css_Classes$TxAmount = {ctor: 'TxAmount'}; var _user$project$Css_Classes$TxMachine = {ctor: 'TxMachine'}; var _user$project$Css_Classes$TxDate = {ctor: 'TxDate'}; var _user$project$Css_Classes$TxId = {ctor: 'TxId'}; var _user$project$Css_Classes$Disabled = {ctor: 'Disabled'}; var _user$project$Css_Classes$Enabled = {ctor: 'Enabled'}; var _user$project$Css_Classes$Saving = {ctor: 'Saving'}; var _user$project$Css_Classes$EmptyTable = {ctor: 'EmptyTable'}; var _user$project$Css_Classes$UnitDisplay = {ctor: 'UnitDisplay'}; var _user$project$Css_Classes$InputContainer = {ctor: 'InputContainer'}; var _user$project$Css_Classes$TxTable = {ctor: 'TxTable'}; var _user$project$Css_Classes$DateColumn = {ctor: 'DateColumn'}; var _user$project$Css_Classes$TruncatedColumn = {ctor: 'TruncatedColumn'}; var _user$project$Css_Classes$DirectionColumn = {ctor: 'DirectionColumn'}; var _user$project$Css_Classes$NumberColumn = {ctor: 'NumberColumn'}; var _user$project$Css_Classes$InvalidGroup = {ctor: 'InvalidGroup'}; var _user$project$Css_Classes$StatusBar = {ctor: 'StatusBar'}; var _user$project$Css_Classes$Success = {ctor: 'Success'}; var _user$project$Css_Classes$Fail = {ctor: 'Fail'}; var _user$project$Css_Classes$TableButton = {ctor: 'TableButton'}; var _user$project$Css_Classes$InvalidComponent = {ctor: 'InvalidComponent'}; var _user$project$Css_Classes$FocusedComponent = {ctor: 'FocusedComponent'}; var _user$project$Css_Classes$Component = {ctor: 'Component'}; var _user$project$Css_Classes$NoInput = {ctor: 'NoInput'}; var _user$project$Css_Classes$CellDisabled = {ctor: 'CellDisabled'}; var _user$project$Css_Classes$BasicInputReadOnly = {ctor: 'BasicInputReadOnly'}; var _user$project$Css_Classes$BasicInputDisabled = {ctor: 'BasicInputDisabled'}; var _user$project$Css_Classes$BasicInput = {ctor: 'BasicInput'}; var _user$project$Css_Classes$Active = {ctor: 'Active'}; var _user$project$Css_Classes$ButtonRow = {ctor: 'ButtonRow'}; var _user$project$Css_Classes$Button = {ctor: 'Button'}; var _user$project$Css_Classes$FormRow = {ctor: 'FormRow'}; var _user$project$Css_Classes$TextCell = {ctor: 'TextCell'}; var _user$project$Css_Classes$LongCell = {ctor: 'LongCell'}; var _user$project$Css_Classes$MediumCell = {ctor: 'MediumCell'}; var _user$project$Css_Classes$ShortCell = {ctor: 'ShortCell'}; var _user$project$Css_Classes$MultiDisplay = {ctor: 'MultiDisplay'}; var _user$project$Css_Classes$BottomDisplay = {ctor: 'BottomDisplay'}; var _user$project$Css_Classes$TopDisplay = {ctor: 'TopDisplay'}; var _user$project$Css_Classes$ConfigContainer = {ctor: 'ConfigContainer'}; var _user$project$Css_Classes$ConfigTableGlobalRow = {ctor: 'ConfigTableGlobalRow'}; var _user$project$Css_Classes$ConfigTable = {ctor: 'ConfigTable'}; var _user$project$Css_Classes$SectionLabel = {ctor: 'SectionLabel'}; var _user$project$Css_Classes$CryptoTabsActive = {ctor: 'CryptoTabsActive'}; var _user$project$Css_Classes$CryptoTab = {ctor: 'CryptoTab'}; var _user$project$Css_Classes$CryptoTabs = {ctor: 'CryptoTabs'}; var _user$project$Css_Classes$Content = {ctor: 'Content'}; var _user$project$Css_Classes$Container = {ctor: 'Container'}; var _user$project$Css_Classes$NavBarRoute = {ctor: 'NavBarRoute'}; var _user$project$Css_Classes$NavBarCategory = {ctor: 'NavBarCategory'}; var _user$project$Css_Classes$NavBarCategoryContainer = {ctor: 'NavBarCategoryContainer'}; var _user$project$Css_Classes$NavBarItemActive = {ctor: 'NavBarItemActive'}; var _user$project$Css_Classes$MainRight = {ctor: 'MainRight'}; var _user$project$Css_Classes$MainLeft = {ctor: 'MainLeft'}; var _user$project$Css_Classes$NavBar = {ctor: 'NavBar'}; var _user$project$Css_Classes$ContentPane = {ctor: 'ContentPane'}; var _user$project$Css_Classes$LeftPane = {ctor: 'LeftPane'}; var _user$project$Css_Classes$PaneWrapper = {ctor: 'PaneWrapper'}; var _user$project$Css_Classes$Main = {ctor: 'Main'}; var _user$project$Css_Classes$Layout = {ctor: 'Layout'}; var _user$project$FieldSet_View$fieldComponent = function (field) { var inputEl = function () { var _p0 = field.value; switch (_p0.ctor) { case 'FieldString': return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$FieldSet_Types$Input(field.code)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$placeholder(field.placeholder), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$defaultValue(_p0._0), _1: {ctor: '[]'} } } }, {ctor: '[]'}); case 'FieldPassword': var _p1 = _p0._0; if (_p1.ctor === 'PasswordEmpty') { return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$FieldSet_Types$Input(field.code)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$name(field.code), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$type_('password'), _1: {ctor: '[]'} } } }, {ctor: '[]'}); } else { return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$FieldSet_Types$Input(field.code)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$name(field.code), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$type_('password'), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$placeholder('••• Field is set •••'), _1: {ctor: '[]'} } } } }, {ctor: '[]'}); } default: return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$FieldSet_Types$Input(field.code)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$type_('number'), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$defaultValue( _elm_lang$core$Basics$toString(_p0._0)), _1: {ctor: '[]'} } } }, {ctor: '[]'}); } }(); return A2( _elm_lang$html$Html$label, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(field.display), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: inputEl, _1: {ctor: '[]'} } }); }; var _user$project$FieldSet_View$fieldView = function (field) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$FormRow, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _user$project$FieldSet_View$fieldComponent(field), _1: {ctor: '[]'} }); }; var _user$project$FieldSet_View$view = function (model) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigContainer, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, A2(_elm_lang$core$List$map, _user$project$FieldSet_View$fieldView, model)); }; var _user$project$Account$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$Account$toModel = F2( function (status, account) { return {status: status, account: account}; }); var _user$project$Account$SubModel = F2( function (a, b) { return {status: a, account: b}; }); var _user$project$Account$NotSaving = {ctor: 'NotSaving'}; var _user$project$Account$Editing = {ctor: 'Editing'}; var _user$project$Account$Saved = {ctor: 'Saved'}; var _user$project$Account$Saving = {ctor: 'Saving'}; var _user$project$Account$HideSaveIndication = {ctor: 'HideSaveIndication'}; var _user$project$Account$saveUpdate = function (model) { var cmd = _elm_lang$core$Native_Utils.eq(model.status, _user$project$Account$Saved) ? A2( _elm_lang$core$Task$perform, function (_p0) { return _user$project$Account$HideSaveIndication; }, _elm_lang$core$Process$sleep(2 * _elm_lang$core$Time$second)) : _elm_lang$core$Platform_Cmd$none; return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: cmd, _1: {ctor: '[]'} }); }; var _user$project$Account$FieldSetMsg = function (a) { return {ctor: 'FieldSetMsg', _0: a}; }; var _user$project$Account$Submit = {ctor: 'Submit'}; var _user$project$Account$view = function (webModel) { var _p1 = webModel; switch (_p1.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p1._0)), _1: {ctor: '[]'} }); default: var _p3 = _p1._0; var statusString = function () { var _p2 = _p3.status; if (_p2.ctor === 'Saved') { return 'Saved'; } else { return ''; } }(); var fieldSetView = A3( _elm_lang$html$Html_Keyed$node, 'div', {ctor: '[]'}, { ctor: '::', _0: { ctor: '_Tuple2', _0: _p3.account.code, _1: A2( _elm_lang$html$Html$map, _user$project$Account$FieldSetMsg, _user$project$FieldSet_View$view(_p3.account.fields)) }, _1: {ctor: '[]'} }); return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$SectionLabel, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p3.account.display), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$form, { ctor: '::', _0: _user$project$Css_Admin$id(_p3.account.code), _1: {ctor: '[]'} }, { ctor: '::', _0: fieldSetView, _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ButtonRow, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick(_user$project$Account$Submit), _1: { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Button, _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Submit'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(statusString), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); } }; var _user$project$Account$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Account$getForm = function (code) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Account$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p4) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$Account$toModel(_user$project$Account$NotSaving), _p4)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$AccountDecoder$accountDecoder), _lukewestby$elm_http_builder$HttpBuilder$get( A2(_elm_lang$core$Basics_ops['++'], '/api/account/', code))))); }; var _user$project$Account$load = function (code) { return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$Account$getForm(code) }; }; var _user$project$Account$postForm = function (account) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Account$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p5) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$Account$toModel(_user$project$Account$Saved), _p5)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$AccountDecoder$accountDecoder), A2( _lukewestby$elm_http_builder$HttpBuilder$withJsonBody, _user$project$AccountEncoder$encodeAccount(account), _lukewestby$elm_http_builder$HttpBuilder$post('/api/account'))))); }; var _user$project$Account$update = F2( function (msg, webModel) { var _p6 = msg; switch (_p6.ctor) { case 'Load': return A2(_krisajenkins$remotedata$RemoteData$update, _user$project$Account$saveUpdate, _p6._0); case 'Submit': return A2( _krisajenkins$remotedata$RemoteData$update, function (model) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: _user$project$Account$postForm(model.account), _1: {ctor: '[]'} }); }, webModel); case 'HideSaveIndication': return A2( _krisajenkins$remotedata$RemoteData$update, function (model) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {status: _user$project$Account$NotSaving}), {ctor: '[]'}); }, webModel); default: var newAccount = F2( function (account, fields) { return _elm_lang$core$Native_Utils.update( account, {fields: fields}); }); var toModel = F2( function (model, fieldsUpdate) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, { account: A2( newAccount, model.account, _elm_lang$core$Tuple$first(fieldsUpdate)) }), { ctor: '::', _0: A2( _elm_lang$core$Platform_Cmd$map, _user$project$Account$FieldSetMsg, _elm_lang$core$Tuple$second(fieldsUpdate)), _1: {ctor: '[]'} }); }); var updateFields = function (model) { return A2(_user$project$FieldSet_State$update, _p6._0, model.account.fields); }; var mapper = function (model) { return A2( toModel, model, updateFields(model)); }; return A2(_krisajenkins$remotedata$RemoteData$update, mapper, webModel); } }); var _user$project$AccountsDecoder$accountDecoder = A3( _elm_lang$core$Json_Decode$map2, F2( function (v0, v1) { return {ctor: '_Tuple2', _0: v0, _1: v1}; }), A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string)); var _user$project$AccountsDecoder$accountsDecoder = A2( _elm_lang$core$Json_Decode$map, _elm_lang$core$Basics$identity, A2( _elm_lang$core$Json_Decode$field, 'accounts', _elm_lang$core$Json_Decode$list(_user$project$AccountsDecoder$accountDecoder))); var _user$project$BasicTypes$NotSaving = {ctor: 'NotSaving'}; var _user$project$BasicTypes$Editing = {ctor: 'Editing'}; var _user$project$BasicTypes$Saved = {ctor: 'Saved'}; var _user$project$BasicTypes$Saving = {ctor: 'Saving'}; var _user$project$Common_Customer_Types$authorizedToString = function (model) { var _p0 = model; switch (_p0.ctor) { case 'Verified': return 'verified'; case 'Blocked': return 'blocked'; default: return 'automatic'; } }; var _user$project$Common_Customer_Types$IdCardData = function (a) { return {uid: a}; }; var _user$project$Common_Customer_Types$Customer = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return function (r) { return function (s) { return function (t) { return function (u) { return function (v) { return function (w) { return function (x) { return function (y) { return function (z) { return function (_1) { return function (_2) { return function (_3) { return function (_4) { return function (_5) { return function (_6) { return function (_7) { return function (_8) { return {id: a, name: b, phone: c, phoneAt: d, smsOverride: e, smsOverrideByName: f, smsOverrideAt: g, created: h, status: i, authorizedOverride: j, authorizedOverrideByName: k, authorizedOverrideAt: l, authorizedAt: m, idCardData: n, idCardDataOverride: o, idCardDataOverrideByName: p, idCardDataOverrideAt: q, idCardDataAt: r, idCardPhotoPath: s, idCardPhotoOverride: t, idCardPhotoOverrideByName: u, idCardPhotoOverrideAt: v, idCardPhotoAt: w, sanctions: x, sanctionsOverride: y, sanctionsOverrideByName: z, sanctionsOverrideAt: _1, sanctionsAt: _2, frontCameraPath: _3, frontCameraOverride: _4, frontCameraOverrideByName: _5, frontCameraOverrideAt: _6, frontCameraAt: _7, dailyVolume: _8}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$Common_Customer_Types$Verified = {ctor: 'Verified'}; var _user$project$Common_Customer_Types$Blocked = {ctor: 'Blocked'}; var _user$project$Common_Customer_Types$Automatic = {ctor: 'Automatic'}; var _user$project$Common_Customer_Decoder$idCardDataDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'uid', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Customer_Types$IdCardData)); var _user$project$Common_Customer_Decoder$mapAuthorizedTypes = function (s) { var _p0 = s; switch (_p0) { case 'blocked': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_Customer_Types$Blocked); case 'verified': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_Customer_Types$Verified); case 'automatic': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_Customer_Types$Automatic); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'No such type ', s)); } }; var _user$project$Common_Customer_Decoder$authorizedDecoder = A2(_elm_lang$core$Json_Decode$andThen, _user$project$Common_Customer_Decoder$mapAuthorizedTypes, _elm_lang$core$Json_Decode$string); var _user$project$Common_Customer_Decoder$customerDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'dailyVolume', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'frontCameraAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'frontCameraOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'frontCameraOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'frontCameraOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'frontCameraPath', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sanctionsAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sanctionsOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sanctionsOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sanctionsOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sanctions', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$bool), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardPhotoAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardPhotoOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardPhotoOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardPhotoOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardPhotoPath', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardDataAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardDataOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardDataOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardDataOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'idCardData', _elm_lang$core$Json_Decode$nullable(_user$project$Common_Customer_Decoder$idCardDataDecoder), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'authorizedAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'authorizedOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'authorizedOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'authorizedOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'status', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'created', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'smsOverrideAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'smsOverrideByName', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'smsOverride', _user$project$Common_Customer_Decoder$authorizedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'phoneAt', _elm_lang$core$Json_Decode$nullable(_elm_community$json_extra$Json_Decode_Extra$date), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'phone', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'name', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'id', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Customer_Types$Customer))))))))))))))))))))))))))))))))))); var _user$project$Common_Customer_Decoder$customersDecoder = A2( _elm_lang$core$Json_Decode$field, 'customers', _elm_lang$core$Json_Decode$list(_user$project$Common_Customer_Decoder$customerDecoder)); var _user$project$Common_Logs_Types$Machine = F2( function (a, b) { return {deviceId: a, name: b}; }); var _user$project$Common_Logs_Types$Log = F4( function (a, b, c, d) { return {id: a, timestamp: b, logLevel: c, message: d}; }); var _user$project$Common_Logs_Types$SupportLogSnapshot = F2( function (a, b) { return {deviceId: a, timestamp: b}; }); var _user$project$Common_Logs_Types$SupportLog = F4( function (a, b, c, d) { return {id: a, deviceId: b, timestamp: c, name: d}; }); var _user$project$Common_Logs_Types$Logs = F2( function (a, b) { return {logs: a, currentMachine: b}; }); var _user$project$Common_Logs_Decoder$machineDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'name', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'deviceId', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Logs_Types$Machine))); var _user$project$Common_Logs_Decoder$machinesDecoder = A2( _elm_lang$core$Json_Decode$field, 'machines', _elm_lang$core$Json_Decode$list(_user$project$Common_Logs_Decoder$machineDecoder)); var _user$project$Common_Logs_Decoder$supportLogDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'name', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'timestamp', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'deviceId', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'id', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Logs_Types$SupportLog))))); var _user$project$Common_Logs_Decoder$latestLogSnapshotDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'timestamp', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'deviceId', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Logs_Types$SupportLogSnapshot))); var _user$project$Common_Logs_Decoder$supportLogsDecoder = A2( _elm_lang$core$Json_Decode$field, 'supportLogs', _elm_lang$core$Json_Decode$list(_user$project$Common_Logs_Decoder$supportLogDecoder)); var _user$project$Common_Logs_Decoder$logDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'message', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'logLevel', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'timestamp', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'id', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Logs_Types$Log))))); var _user$project$Common_Logs_Decoder$logsDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'currentMachine', _user$project$Common_Logs_Decoder$machineDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'logs', _elm_lang$core$Json_Decode$list(_user$project$Common_Logs_Decoder$logDecoder), _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_Logs_Types$Logs))); var _user$project$Common_TransactionTypes$CashInTxRec = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return {id: a, machineName: b, toAddress: c, cryptoAtoms: d, cryptoCode: e, fiat: f, commissionPercentage: g, rawTickerPrice: h, fiatCode: i, txHash: j, phone: k, error: l, operatorCompleted: m, send: n, sendConfirmed: o, expired: p, created: q}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$Common_TransactionTypes$CashOutTxRec = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return function (q) { return function (r) { return {id: a, machineName: b, toAddress: c, cryptoAtoms: d, cryptoCode: e, fiat: f, commissionPercentage: g, rawTickerPrice: h, fiatCode: i, status: j, dispense: k, notified: l, redeemed: m, phone: n, error: o, created: p, confirmed: q, expired: r}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$Common_TransactionTypes$LTC = {ctor: 'LTC'}; var _user$project$Common_TransactionTypes$DASH = {ctor: 'DASH'}; var _user$project$Common_TransactionTypes$ZEC = {ctor: 'ZEC'}; var _user$project$Common_TransactionTypes$ETH = {ctor: 'ETH'}; var _user$project$Common_TransactionTypes$BCH = {ctor: 'BCH'}; var _user$project$Common_TransactionTypes$BTC = {ctor: 'BTC'}; var _user$project$Common_TransactionTypes$CashOutTx = function (a) { return {ctor: 'CashOutTx', _0: a}; }; var _user$project$Common_TransactionTypes$CashInTx = function (a) { return {ctor: 'CashInTx', _0: a}; }; var _user$project$Selectize$rawOnKeyUp = function (tagger) { return A2( _elm_lang$html$Html_Events$on, 'keyup', A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$keyCode)); }; var _user$project$Selectize$rawOnKeyDownNoPrevent = function (tagger) { return A3( _elm_lang$html$Html_Events$onWithOptions, 'keydown', {stopPropagation: false, preventDefault: false}, A2(_elm_lang$core$Json_Decode$map, tagger, _elm_lang$html$Html_Events$keyCode)); }; var _user$project$Selectize$preventSpecialDecoder = function (specialKeys) { return A2( _elm_lang$core$Json_Decode$andThen, function (code) { return A2(_elm_lang$core$List$member, code, specialKeys) ? _elm_lang$core$Json_Decode$succeed(code) : _elm_lang$core$Json_Decode$fail('don\'t prevent'); }, _elm_lang$html$Html_Events$keyCode); }; var _user$project$Selectize$rawOnKeyDown = F2( function (specialKeys, tagger) { var options = {stopPropagation: false, preventDefault: true}; return A3( _elm_lang$html$Html_Events$onWithOptions, 'keydown', options, A2( _elm_lang$core$Json_Decode$map, tagger, _user$project$Selectize$preventSpecialDecoder(specialKeys))); }); var _user$project$Selectize$deleteSpecialKeys = { ctor: '::', _0: 38, _1: { ctor: '::', _0: 40, _1: { ctor: '::', _0: 9, _1: { ctor: '::', _0: 13, _1: { ctor: '::', _0: 27, _1: {ctor: '[]'} } } } } }; var _user$project$Selectize$noDeleteSpecialKeys = { ctor: '::', _0: 8, _1: { ctor: '::', _0: 38, _1: { ctor: '::', _0: 40, _1: { ctor: '::', _0: 9, _1: { ctor: '::', _0: 13, _1: { ctor: '::', _0: 27, _1: {ctor: '[]'} } } } } } }; var _user$project$Selectize$onMouseDown = F3( function (config, state, id) { return _elm_lang$html$Html_Events$onMouseDown( A2(config.onAdd, id, state)); }); var _user$project$Selectize$mapToItem = F3( function (toId, available, id) { return _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, function (_p0) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), id, toId(_p0)); }, available)); }); var _user$project$Selectize$diffItems = F3( function (config, a, b) { var isEqual = F2( function (itemA, itemB) { return _elm_lang$core$Native_Utils.eq( config.toId(itemA), config.toId(itemB)); }); var notInB = F2( function (b, item) { return !A2( _elm_lang$core$List$any, isEqual(item), b); }); return A2( _elm_lang$core$List$filter, notInB(b), a); }); var _user$project$Selectize$buildItems = F3( function (selectedItems, availableItems, boxItems) { return {selectedItems: selectedItems, availableItems: availableItems, boxItems: boxItems}; }); var _user$project$Selectize$noMatches = F3( function (config, boxItems, state) { var h = config.htmlOptions; return _elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(boxItems), 0) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: h.classes.info, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: h.classes.infoNoMatches, _1: true}, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(h.noMatches), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$span, {ctor: '[]'}, {ctor: '[]'}); }); var _user$project$Selectize$editingBoxView = F3( function (config, items, state) { var h = config.htmlOptions; var c = h.classes; var boxItemHtml = F2( function (pos, item) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: c.boxItem, _1: true}, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: c.boxItemActive, _1: _elm_lang$core$Native_Utils.eq(state.boxPosition, pos) }, _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A3( _user$project$Selectize$onMouseDown, config, state, config.toId(item)), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text( config.optionDisplay(item)), _1: {ctor: '[]'} }); }); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(c.boxItems), _1: {ctor: '[]'} }, A2(_elm_lang$core$List$indexedMap, boxItemHtml, items.boxItems)); }); var _user$project$Selectize$idleBoxView = F3( function (config, items, state) { var numSelected = _elm_lang$core$List$length(items.selectedItems); var remainingItems = _elm_lang$core$List$length(items.availableItems) - numSelected; var h = config.htmlOptions; var typeForMore = (_elm_lang$core$Native_Utils.cmp(remainingItems, config.boxLength) > 0) ? ((_elm_lang$core$Native_Utils.cmp(numSelected, config.maxItems) < 0) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.info), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(h.typeForMore), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.info), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Backspace for more'), _1: {ctor: '[]'} })) : A2( _elm_lang$html$Html$span, {ctor: '[]'}, {ctor: '[]'}); return ((_elm_lang$core$Native_Utils.cmp(config.maxItems, 1) > 0) && _elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(items.selectedItems), config.maxItems)) ? A2( _elm_lang$html$Html$span, {ctor: '[]'}, {ctor: '[]'}) : A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.boxContainer), _1: {ctor: '[]'} }, { ctor: '::', _0: A3(_user$project$Selectize$editingBoxView, config, items, state), _1: { ctor: '::', _0: typeForMore, _1: {ctor: '[]'} } }); }); var _user$project$Selectize$boxView = F3( function (config, items, state) { var h = config.htmlOptions; var _p1 = state.status; switch (_p1.ctor) { case 'Editing': return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.boxContainer), _1: {ctor: '[]'} }, { ctor: '::', _0: A3(_user$project$Selectize$editingBoxView, config, items, state), _1: { ctor: '::', _0: A3(_user$project$Selectize$noMatches, config, items.boxItems, state), _1: {ctor: '[]'} } }); case 'Initial': return A3(_user$project$Selectize$idleBoxView, config, items, state); case 'Idle': return A3(_user$project$Selectize$idleBoxView, config, items, state); case 'Cleared': return A3(_user$project$Selectize$idleBoxView, config, items, state); default: return A2( _elm_lang$html$Html$span, {ctor: '[]'}, {ctor: '[]'}); } }); var _user$project$Selectize$itemView = F3( function (config, isFallback, item) { var c = config.htmlOptions.classes; return A2( _elm_lang$html$Html$span, { ctor: '::', _0: _elm_lang$html$Html_Attributes$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: c.selectedItem, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: c.fallbackItem, _1: isFallback}, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( config.selectedDisplay(item)), _1: {ctor: '[]'} }); }); var _user$project$Selectize$fallbackItemsView = F4( function (config, items, fallbackItems, state) { var selectedItems = items.selectedItems; var isFallback = _elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(selectedItems), 0); var itemsView = isFallback ? fallbackItems : items.selectedItems; var c = config.htmlOptions.classes; var classes = _elm_lang$html$Html_Attributes$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: c.selectedItems, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: c.fallbackItems, _1: isFallback}, _1: {ctor: '[]'} } }); return A2( _elm_lang$html$Html$span, { ctor: '::', _0: classes, _1: {ctor: '[]'} }, A2( _elm_lang$core$List$map, A2(_user$project$Selectize$itemView, config, isFallback), itemsView)); }); var _user$project$Selectize$itemsView = F4( function (config, items, fallbackItems, state) { var _p2 = state.status; switch (_p2.ctor) { case 'Editing': return A4( _user$project$Selectize$fallbackItemsView, config, items, {ctor: '[]'}, state); case 'Initial': return A4( _user$project$Selectize$fallbackItemsView, config, items, {ctor: '[]'}, state); case 'Idle': return A4( _user$project$Selectize$fallbackItemsView, config, items, {ctor: '[]'}, state); case 'Cleared': return A4(_user$project$Selectize$fallbackItemsView, config, items, fallbackItems, state); default: return A4(_user$project$Selectize$fallbackItemsView, config, items, fallbackItems, state); } }); var _user$project$Selectize$clean = function (s) { return _elm_lang$core$String$toLower( _elm_lang$core$String$trim(s)); }; var _user$project$Selectize$HtmlOptions = F8( function (a, b, c, d, e, f, g, h) { return {instructionsForBlank: a, noMatches: b, typeForMore: c, atMaxLength: d, noOptions: e, notAvailable: f, classes: g, customCssClass: h}; }); var _user$project$Selectize$HtmlClasses = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return function (p) { return {container: a, noOptions: b, singleItemContainer: c, multiItemContainer: d, selectBox: e, selectedItems: f, fallbackItems: g, fallbackItem: h, selectedItem: i, boxContainer: j, boxItems: k, boxItem: l, boxItemActive: m, info: n, infoNoMatches: o, inputEditing: p}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$Selectize$State = F3( function (a, b, c) { return {boxPosition: a, status: b, string: c}; }); var _user$project$Selectize$Config = 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 function (j) { return function (k) { return function (l) { return function (m) { return {maxItems: a, boxLength: b, toMsg: c, onAdd: d, onRemove: e, onFocus: f, onBlur: g, toId: h, enabled: i, selectedDisplay: j, optionDisplay: k, match: l, htmlOptions: m}; }; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$Selectize$Items = F3( function (a, b, c) { return {selectedItems: a, availableItems: b, boxItems: c}; }); var _user$project$Selectize$Blurred = {ctor: 'Blurred'}; var _user$project$Selectize$initialSelectize = {boxPosition: -1, string: '', status: _user$project$Selectize$Blurred}; var _user$project$Selectize$onBlur = F2( function (config, state) { return _elm_lang$html$Html_Events$onBlur( config.onBlur( _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Blurred}))); }); var _user$project$Selectize$Idle = {ctor: 'Idle'}; var _user$project$Selectize$Cleared = {ctor: 'Cleared'}; var _user$project$Selectize$addSelection = F3( function (config, items, state) { var maybeItem = (_elm_lang$core$Native_Utils.cmp(state.boxPosition, 0) < 0) ? _elm_lang$core$Maybe$Nothing : function (_p3) { return _elm_lang$core$List$head( A2(_elm_lang$core$List$drop, state.boxPosition, _p3)); }(items.boxItems); var _p4 = maybeItem; if (_p4.ctor === 'Nothing') { return config.toMsg(state); } else { return A2( config.onAdd, config.toId(_p4._0), _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Cleared, string: '', boxPosition: -1})); } }); var _user$project$Selectize$updateKeyDown = F4( function (config, items, state, keyCode) { if ((_elm_lang$core$Native_Utils.cmp(config.maxItems, 1) > 0) && _elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(items.selectedItems), config.maxItems)) { var _p5 = keyCode; if (_p5 === 8) { return (_elm_lang$core$String$isEmpty(state.string) && function (_p6) { return !_elm_lang$core$List$isEmpty(_p6); }(items.selectedItems)) ? config.onRemove(state) : config.toMsg(state); } else { return config.toMsg(state); } } else { var _p7 = keyCode; switch (_p7) { case 38: return config.toMsg( _elm_lang$core$Native_Utils.update( state, { boxPosition: A2(_elm_lang$core$Basics$max, -1, state.boxPosition - 1) })); case 40: return config.toMsg( _elm_lang$core$Native_Utils.update( state, { boxPosition: A2( _elm_lang$core$Basics$min, _elm_lang$core$List$length(items.boxItems) - 1, state.boxPosition + 1) })); case 13: return A3(_user$project$Selectize$addSelection, config, items, state); case 8: return (_elm_lang$core$String$isEmpty(state.string) && function (_p8) { return !_elm_lang$core$List$isEmpty(_p8); }(items.selectedItems)) ? config.onRemove(state) : config.toMsg(state); case 9: return A3(_user$project$Selectize$addSelection, config, items, state); default: return config.toMsg(state); } } }); var _user$project$Selectize$onKeyDownDelete = F3( function (config, items, state) { return A2( _user$project$Selectize$rawOnKeyDown, _user$project$Selectize$deleteSpecialKeys, A3(_user$project$Selectize$updateKeyDown, config, items, state)); }); var _user$project$Selectize$onKeyDownNoDelete = F3( function (config, items, state) { return A2( _user$project$Selectize$rawOnKeyDown, _user$project$Selectize$noDeleteSpecialKeys, A3(_user$project$Selectize$updateKeyDown, config, items, state)); }); var _user$project$Selectize$onKeyDown = F3( function (config, items, state) { return _user$project$Selectize$rawOnKeyDownNoPrevent( A3(_user$project$Selectize$updateKeyDown, config, items, state)); }); var _user$project$Selectize$Editing = {ctor: 'Editing'}; var _user$project$Selectize$onInput = F2( function (config, state) { var tagger = function (s) { return _elm_lang$core$Native_Utils.eq( _elm_lang$core$String$length(s), 0) ? config.toMsg( _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Idle, string: s})) : config.toMsg( _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Editing, string: s})); }; return _elm_lang$html$Html_Events$onInput(tagger); }); var _user$project$Selectize$Initial = {ctor: 'Initial'}; var _user$project$Selectize$updateKeyUp = F4( function (config, items, state, keyCode) { return (_elm_lang$core$Native_Utils.eq(keyCode, 13) || _elm_lang$core$Native_Utils.eq(keyCode, 9)) ? config.toMsg( _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Initial})) : config.toMsg(state); }); var _user$project$Selectize$onKeyUp = F3( function (config, items, state) { return _user$project$Selectize$rawOnKeyUp( A3(_user$project$Selectize$updateKeyUp, config, items, state)); }); var _user$project$Selectize$onFocus = F2( function (config, state) { return _elm_lang$html$Html_Events$onFocus( config.onFocus( _elm_lang$core$Native_Utils.update( state, {status: _user$project$Selectize$Initial, boxPosition: -1}))); }); var _user$project$Selectize$view = F5( function (config, selectedIds, availableItems, fallbackIds, state) { if (_elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(availableItems), 0)) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(config.htmlOptions.classes.container), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(config.htmlOptions.classes.noOptions), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(config.htmlOptions.noOptions), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); } else { if (!config.enabled) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(config.htmlOptions.classes.container), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(config.htmlOptions.classes.noOptions), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(' '), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); } else { var onFocusAtt = A2(_user$project$Selectize$onFocus, config, state); var onBlurAtt = A2(_user$project$Selectize$onBlur, config, state); var onInputAtt = A2(_user$project$Selectize$onInput, config, state); var fallbackItems = A2( _elm_lang$core$List$filterMap, A2(_user$project$Selectize$mapToItem, config.toId, availableItems), fallbackIds); var selectedItems = A2( _elm_lang$core$List$filterMap, A2(_user$project$Selectize$mapToItem, config.toId, availableItems), selectedIds); var remainingItems = A3(_user$project$Selectize$diffItems, config, availableItems, selectedItems); var boxItems = A2( _elm_lang$core$List$take, 5, A2(config.match, state.string, remainingItems)); var items = A3(_user$project$Selectize$buildItems, selectedItems, availableItems, boxItems); var keyDown = (_elm_lang$core$Native_Utils.cmp(config.maxItems, 1) > 0) ? (_elm_lang$core$String$isEmpty(state.string) ? A3(_user$project$Selectize$onKeyDownNoDelete, config, items, state) : A3(_user$project$Selectize$onKeyDownDelete, config, items, state)) : A3(_user$project$Selectize$onKeyDown, config, items, state); var h = config.htmlOptions; var editInput = function () { var _p9 = state.status; switch (_p9.ctor) { case 'Initial': return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$List$length(selectedItems), config.maxItems) < 0) ? A2( _elm_lang$html$Html$input, { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: {ctor: '[]'} } }, {ctor: '[]'}) : A2( _elm_lang$html$Html$input, { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$maxlength(0), _1: {ctor: '[]'} } } }, {ctor: '[]'}); case 'Idle': return (_elm_lang$core$Native_Utils.cmp( _elm_lang$core$List$length(selectedItems), config.maxItems) < 0) ? A2( _elm_lang$html$Html$input, { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: {ctor: '[]'} } }, {ctor: '[]'}) : A2( _elm_lang$html$Html$input, { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$maxlength(0), _1: {ctor: '[]'} } } }, {ctor: '[]'}); case 'Editing': var actualMaxlength = _elm_lang$core$Native_Utils.eq( _elm_lang$core$List$length(boxItems), 0) ? 0 : 524288; return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Attributes$maxlength(actualMaxlength), _1: { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.inputEditing), _1: {ctor: '[]'} } } } }, {ctor: '[]'}); case 'Cleared': return A2( _elm_lang$html$Html$input, { ctor: '::', _0: A3(_user$project$Selectize$onKeyUp, config, items, state), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$value(''), _1: { ctor: '::', _0: onBlurAtt, _1: { ctor: '::', _0: onInputAtt, _1: {ctor: '[]'} } } } }, {ctor: '[]'}); default: return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Attributes$maxlength(0), _1: { ctor: '::', _0: onFocusAtt, _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$value(''), _1: {ctor: '[]'} } } }, {ctor: '[]'}); } }(); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.container), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$label, { ctor: '::', _0: _elm_lang$html$Html_Attributes$classList( { ctor: '::', _0: { ctor: '_Tuple2', _0: h.classes.singleItemContainer, _1: _elm_lang$core$Native_Utils.eq(config.maxItems, 1) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: h.classes.multiItemContainer, _1: _elm_lang$core$Native_Utils.cmp(config.maxItems, 1) > 0 }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: _user$project$Css_Admin$className(config.htmlOptions.customCssClass), _1: true }, _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$span, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class(h.classes.selectBox), _1: { ctor: '::', _0: keyDown, _1: {ctor: '[]'} } }, { ctor: '::', _0: A2( _elm_lang$html$Html$span, {ctor: '[]'}, { ctor: '::', _0: A4(_user$project$Selectize$itemsView, config, items, fallbackItems, state), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: editInput, _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A3(_user$project$Selectize$boxView, config, items, state), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }); } } }); var _user$project$ConfigTypes$cryptoToString = function (crypto) { var _p0 = crypto; if (_p0.ctor === 'GlobalCrypto') { return 'global'; } else { return _p0._0; } }; var _user$project$ConfigTypes$fieldHolderMap = F3( function ($default, mapper, fieldHolder) { var _p1 = fieldHolder; if (_p1.ctor === 'FieldOk') { return mapper(_p1._0); } else { return $default; } }); var _user$project$ConfigTypes$groupMember = F2( function (configGroup, fieldCode) { return A2( _elm_lang$core$List$any, function (_p2) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), fieldCode, function (_) { return _.code; }(_p2)); }, configGroup.schema.entries); }); var _user$project$ConfigTypes$fieldHolderToMaybe = function (fieldHolder) { var _p3 = fieldHolder; if (_p3.ctor === 'FieldOk') { return _elm_lang$core$Maybe$Just(_p3._0); } else { return _elm_lang$core$Maybe$Nothing; } }; var _user$project$ConfigTypes$fieldHolderToCryptoStrings = function (fieldHolder) { var _p4 = fieldHolder; if (_p4.ctor === 'FieldOk') { var _p5 = _p4._0; if (_p5.ctor === 'FieldCryptoCurrencyValue') { return _p5._0; } else { return {ctor: '[]'}; } } else { return {ctor: '[]'}; } }; var _user$project$ConfigTypes$isCrypto = F2( function (cryptoString, cryptoDisplay) { var _p6 = cryptoDisplay.crypto; if (_p6.ctor === 'GlobalCrypto') { return _elm_lang$core$Native_Utils.eq(cryptoString, 'global'); } else { return _elm_lang$core$Native_Utils.eq(cryptoString, _p6._0); } }); var _user$project$ConfigTypes$lookupCryptoDisplay = F2( function (cryptoDisplays, cryptoString) { return _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, _user$project$ConfigTypes$isCrypto(cryptoString), cryptoDisplays)); }); var _user$project$ConfigTypes$machineToString = function (machine) { var _p7 = machine; if (_p7.ctor === 'GlobalMachine') { return 'global'; } else { return _p7._0; } }; var _user$project$ConfigTypes$fieldValueToString = function (fieldValue) { var _p8 = fieldValue; switch (_p8.ctor) { case 'FieldStringValue': return _p8._0; case 'FieldPercentageValue': return _elm_lang$core$Basics$toString(_p8._0); case 'FieldIntegerValue': return _elm_lang$core$Basics$toString(_p8._0); case 'FieldDecimalValue': return _elm_lang$core$Basics$toString(_p8._0); case 'FieldOnOffValue': return _p8._0 ? 'on' : 'off'; case 'FieldAccountValue': return _p8._0; case 'FieldFiatCurrencyValue': return _p8._0; case 'FieldCryptoCurrencyValue': return A2(_elm_lang$core$String$join, ',', _p8._0); case 'FieldLanguageValue': return A2(_elm_lang$core$String$join, ',', _p8._0); case 'FieldCountryValue': return _p8._0; case 'FieldTextAreaValue': return _p8._0; default: return _p8._0; } }; var _user$project$ConfigTypes$fieldValueToDisplay = function (fieldValue) { var _p9 = fieldValue; if (_p9.ctor === 'FieldOnOffValue') { return _p9._0 ? 'On' : 'Off'; } else { return _user$project$ConfigTypes$fieldValueToString(fieldValue); } }; var _user$project$ConfigTypes$initFieldCollection = { fields: {ctor: '[]'}, fieldInstances: {ctor: '[]'} }; var _user$project$ConfigTypes$accountRecToDisplayRec = function (accountRec) { return {code: accountRec.code, display: accountRec.display}; }; var _user$project$ConfigTypes$DisplayRec = F2( function (a, b) { return {code: a, display: b}; }); var _user$project$ConfigTypes$MachineDisplay = F2( function (a, b) { return {machine: a, display: b}; }); var _user$project$ConfigTypes$FieldScope = F2( function (a, b) { return {crypto: a, machine: b}; }); var _user$project$ConfigTypes$FieldLocator = F4( function (a, b, c, d) { return {fieldScope: a, code: b, fieldType: c, fieldClass: d}; }); var _user$project$ConfigTypes$FieldInstance = F9( function (a, b, c, d, e, f, g, h, i) { return {fieldLocator: a, component: b, fieldHolder: c, loadedFieldHolder: d, fieldValidation: e, fieldEnabledIfAny: f, fieldEnabledIfAll: g, readOnly: h, inScope: i}; }); var _user$project$ConfigTypes$ResolvedFieldInstance = F2( function (a, b) { return {fieldLocator: a, fieldValue: b}; }); var _user$project$ConfigTypes$Field = F5( function (a, b, c, d, e) { return {fieldLocator: a, fieldValue: b, fieldEnabledIfAny: c, fieldEnabledIfAll: d, inScope: e}; }); var _user$project$ConfigTypes$FieldMeta = F4( function (a, b, c, d) { return {fieldLocator: a, fieldEnabledIfAny: b, fieldEnabledIfAll: c, inScope: d}; }); var _user$project$ConfigTypes$FieldDescriptor = 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 function (j) { return function (k) { return function (l) { return {code: a, cryptoScope: b, machineScope: c, displayTop: d, displayBottom: e, displayCount: f, fieldType: g, fieldValidation: h, fieldClass: i, fieldEnabledIfAny: j, fieldEnabledIfAll: k, readOnly: l}; }; }; }; }; }; }; }; }; }; }; }; }; var _user$project$ConfigTypes$ConfigSchema = F5( function (a, b, c, d, e) { return {code: a, display: b, cryptoScope: c, machineScope: d, entries: e}; }); var _user$project$ConfigTypes$ConfigGroup = F4( function (a, b, c, d) { return {schema: a, values: b, selectedCryptos: c, data: d}; }); var _user$project$ConfigTypes$AccountRec = F4( function (a, b, c, d) { return {code: a, display: b, $class: c, cryptos: d}; }); var _user$project$ConfigTypes$ConfigData = F6( function (a, b, c, d, e, f) { return {cryptoCurrencies: a, currencies: b, languages: c, countries: d, accounts: e, machines: f}; }); var _user$project$ConfigTypes$FieldCollection = F2( function (a, b) { return {fields: a, fieldInstances: b}; }); var _user$project$ConfigTypes$CryptoDisplay = F2( function (a, b) { return {crypto: a, display: b}; }); var _user$project$ConfigTypes$GlobalMachine = {ctor: 'GlobalMachine'}; var _user$project$ConfigTypes$globalMachineDisplay = {machine: _user$project$ConfigTypes$GlobalMachine, display: 'Global'}; var _user$project$ConfigTypes$listMachines = function (configGroup) { var _p10 = configGroup.schema.machineScope; switch (_p10.ctor) { case 'Specific': return configGroup.data.machines; case 'Global': return { ctor: '::', _0: _user$project$ConfigTypes$globalMachineDisplay, _1: {ctor: '[]'} }; default: return {ctor: '::', _0: _user$project$ConfigTypes$globalMachineDisplay, _1: configGroup.data.machines}; } }; var _user$project$ConfigTypes$MachineId = function (a) { return {ctor: 'MachineId', _0: a}; }; var _user$project$ConfigTypes$Both = {ctor: 'Both'}; var _user$project$ConfigTypes$Specific = {ctor: 'Specific'}; var _user$project$ConfigTypes$Global = {ctor: 'Global'}; var _user$project$ConfigTypes$FieldEmpty = {ctor: 'FieldEmpty'}; var _user$project$ConfigTypes$FieldOk = function (a) { return {ctor: 'FieldOk', _0: a}; }; var _user$project$ConfigTypes$ValidationError = function (a) { return {ctor: 'ValidationError', _0: a}; }; var _user$project$ConfigTypes$ParsingError = function (a) { return {ctor: 'ParsingError', _0: a}; }; var _user$project$ConfigTypes$resultToFieldHolder = function (result) { var _p11 = result; if (_p11.ctor === 'Ok') { return _user$project$ConfigTypes$FieldOk(_p11._0); } else { return _user$project$ConfigTypes$ParsingError(_p11._0); } }; var _user$project$ConfigTypes$SelectizeComponent = function (a) { return {ctor: 'SelectizeComponent', _0: a}; }; var _user$project$ConfigTypes$TextAreaComponent = {ctor: 'TextAreaComponent'}; var _user$project$ConfigTypes$InputBoxComponent = {ctor: 'InputBoxComponent'}; var _user$project$ConfigTypes$FieldMarkdownType = {ctor: 'FieldMarkdownType'}; var _user$project$ConfigTypes$FieldTextAreaType = {ctor: 'FieldTextAreaType'}; var _user$project$ConfigTypes$FieldCountryType = {ctor: 'FieldCountryType'}; var _user$project$ConfigTypes$FieldLanguageType = {ctor: 'FieldLanguageType'}; var _user$project$ConfigTypes$FieldCryptoCurrencyType = {ctor: 'FieldCryptoCurrencyType'}; var _user$project$ConfigTypes$FieldFiatCurrencyType = {ctor: 'FieldFiatCurrencyType'}; var _user$project$ConfigTypes$FieldAccountType = {ctor: 'FieldAccountType'}; var _user$project$ConfigTypes$FieldOnOffType = {ctor: 'FieldOnOffType'}; var _user$project$ConfigTypes$FieldDecimalType = {ctor: 'FieldDecimalType'}; var _user$project$ConfigTypes$FieldIntegerType = {ctor: 'FieldIntegerType'}; var _user$project$ConfigTypes$FieldPercentageType = {ctor: 'FieldPercentageType'}; var _user$project$ConfigTypes$FieldStringType = {ctor: 'FieldStringType'}; var _user$project$ConfigTypes$FieldMarkdownValue = function (a) { return {ctor: 'FieldMarkdownValue', _0: a}; }; var _user$project$ConfigTypes$FieldTextAreaValue = function (a) { return {ctor: 'FieldTextAreaValue', _0: a}; }; var _user$project$ConfigTypes$FieldCountryValue = function (a) { return {ctor: 'FieldCountryValue', _0: a}; }; var _user$project$ConfigTypes$FieldLanguageValue = function (a) { return {ctor: 'FieldLanguageValue', _0: a}; }; var _user$project$ConfigTypes$FieldCryptoCurrencyValue = function (a) { return {ctor: 'FieldCryptoCurrencyValue', _0: a}; }; var _user$project$ConfigTypes$FieldFiatCurrencyValue = function (a) { return {ctor: 'FieldFiatCurrencyValue', _0: a}; }; var _user$project$ConfigTypes$FieldAccountValue = function (a) { return {ctor: 'FieldAccountValue', _0: a}; }; var _user$project$ConfigTypes$FieldOnOffValue = function (a) { return {ctor: 'FieldOnOffValue', _0: a}; }; var _user$project$ConfigTypes$FieldDecimalValue = function (a) { return {ctor: 'FieldDecimalValue', _0: a}; }; var _user$project$ConfigTypes$FieldIntegerValue = function (a) { return {ctor: 'FieldIntegerValue', _0: a}; }; var _user$project$ConfigTypes$FieldPercentageValue = function (a) { return {ctor: 'FieldPercentageValue', _0: a}; }; var _user$project$ConfigTypes$FieldStringValue = function (a) { return {ctor: 'FieldStringValue', _0: a}; }; var _user$project$ConfigTypes$stringToFieldHolder = F2( function (fieldType, s) { if (_elm_lang$core$String$isEmpty(s)) { return _user$project$ConfigTypes$FieldEmpty; } else { var _p12 = fieldType; switch (_p12.ctor) { case 'FieldStringType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldStringValue(s)); case 'FieldPercentageType': return _user$project$ConfigTypes$resultToFieldHolder( A2( _elm_lang$core$Result$map, _user$project$ConfigTypes$FieldPercentageValue, _elm_lang$core$String$toFloat(s))); case 'FieldIntegerType': return _user$project$ConfigTypes$resultToFieldHolder( A2( _elm_lang$core$Result$map, _user$project$ConfigTypes$FieldIntegerValue, _elm_lang$core$String$toInt(s))); case 'FieldDecimalType': return _user$project$ConfigTypes$resultToFieldHolder( A2( _elm_lang$core$Result$map, _user$project$ConfigTypes$FieldDecimalValue, _elm_lang$core$String$toFloat(s))); case 'FieldOnOffType': var _p13 = s; switch (_p13) { case 'on': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldOnOffValue(true)); case 'off': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldOnOffValue(false)); default: return _user$project$ConfigTypes$ParsingError( A2(_elm_lang$core$Basics_ops['++'], 'Unsupported value for OnOff: ', s)); } case 'FieldAccountType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldAccountValue(s)); case 'FieldFiatCurrencyType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldFiatCurrencyValue(s)); case 'FieldCryptoCurrencyType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldCryptoCurrencyValue( { ctor: '::', _0: s, _1: {ctor: '[]'} })); case 'FieldLanguageType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldLanguageValue( { ctor: '::', _0: s, _1: {ctor: '[]'} })); case 'FieldCountryType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldCountryValue(s)); case 'FieldTextAreaType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldTextAreaValue(s)); default: return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldMarkdownValue(s)); } } }); var _user$project$ConfigTypes$FieldRequired = {ctor: 'FieldRequired'}; var _user$project$ConfigTypes$FieldMax = function (a) { return {ctor: 'FieldMax', _0: a}; }; var _user$project$ConfigTypes$FieldMin = function (a) { return {ctor: 'FieldMin', _0: a}; }; var _user$project$ConfigTypes$DisplayTopNone = {ctor: 'DisplayTopNone'}; var _user$project$ConfigTypes$DisplayTopSolo = function (a) { return {ctor: 'DisplayTopSolo', _0: a}; }; var _user$project$ConfigTypes$DisplayTopLeader = F2( function (a, b) { return {ctor: 'DisplayTopLeader', _0: a, _1: b}; }); var _user$project$ConfigTypes$GlobalCrypto = {ctor: 'GlobalCrypto'}; var _user$project$ConfigTypes$globalCryptoDisplay = {crypto: _user$project$ConfigTypes$GlobalCrypto, display: 'Global'}; var _user$project$ConfigTypes$allCryptos = F3( function (cryptoDisplays, cryptoScope, cryptoStrings) { var allSpecificCryptos = A2( _elm_lang$core$List$filterMap, _user$project$ConfigTypes$lookupCryptoDisplay(cryptoDisplays), cryptoStrings); var _p14 = cryptoScope; switch (_p14.ctor) { case 'Global': return { ctor: '::', _0: _user$project$ConfigTypes$globalCryptoDisplay, _1: {ctor: '[]'} }; case 'Specific': return allSpecificCryptos; default: return {ctor: '::', _0: _user$project$ConfigTypes$globalCryptoDisplay, _1: allSpecificCryptos}; } }); var _user$project$ConfigTypes$listCryptos = function (configGroup) { var _p15 = configGroup.schema.cryptoScope; switch (_p15.ctor) { case 'Specific': return configGroup.data.cryptoCurrencies; case 'Global': return { ctor: '::', _0: _user$project$ConfigTypes$globalCryptoDisplay, _1: {ctor: '[]'} }; default: return {ctor: '::', _0: _user$project$ConfigTypes$globalCryptoDisplay, _1: configGroup.data.cryptoCurrencies}; } }; var _user$project$ConfigTypes$fieldScopes = function (configGroup) { var cryptos = A2( _elm_lang$core$List$map, function (_) { return _.crypto; }, _user$project$ConfigTypes$listCryptos(configGroup)); var machines = A2( _elm_lang$core$List$map, function (_) { return _.machine; }, _user$project$ConfigTypes$listMachines(configGroup)); var cryptoScopes = function (crypto) { return A2( _elm_lang$core$List$map, function (machine) { return {machine: machine, crypto: crypto}; }, machines); }; return A2(_elm_lang$core$List$concatMap, cryptoScopes, cryptos); }; var _user$project$ConfigTypes$CryptoCode = function (a) { return {ctor: 'CryptoCode', _0: a}; }; var _user$project$ConfigTypes$stringToCrypto = function (string) { var _p16 = string; if (_p16 === 'global') { return _user$project$ConfigTypes$GlobalCrypto; } else { return _user$project$ConfigTypes$CryptoCode(string); } }; var _user$project$ConfigDecoder$displayTopDecoderHelper = function (maybeDisplayTopCount) { var _p0 = maybeDisplayTopCount; if (_p0.ctor === 'Nothing') { return A2( _elm_lang$core$Json_Decode$map, function (_p1) { return _user$project$ConfigTypes$DisplayTopSolo( A2(_elm_lang$core$Maybe$withDefault, '', _p1)); }, _elm_lang$core$Json_Decode$maybe( A2(_elm_lang$core$Json_Decode$field, 'displayTop', _elm_lang$core$Json_Decode$string))); } else { switch (_p0._0) { case 0: return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$DisplayTopNone); case 1: return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$DisplayTopNone); default: return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$DisplayTopLeader(_p0._0), A2(_elm_lang$core$Json_Decode$field, 'displayTop', _elm_lang$core$Json_Decode$string)); } } }; var _user$project$ConfigDecoder$displayTopDecoder = A2( _elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$displayTopDecoderHelper, _elm_lang$core$Json_Decode$maybe( A2(_elm_lang$core$Json_Decode$field, 'displayTopCount', _elm_lang$core$Json_Decode$int))); var _user$project$ConfigDecoder$fieldValidatorDecode = function (code) { var _p2 = code; switch (_p2) { case 'min': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldMin, A2(_elm_lang$core$Json_Decode$field, 'min', _elm_lang$core$Json_Decode$int)); case 'max': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldMax, A2(_elm_lang$core$Json_Decode$field, 'max', _elm_lang$core$Json_Decode$int)); case 'required': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldRequired); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'Unsupported fieldValidator: ', code)); } }; var _user$project$ConfigDecoder$fieldValidatorDecoder = A2( _elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$fieldValidatorDecode, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string)); var _user$project$ConfigDecoder$basicFieldTypeDecoder = function (s) { var _p3 = s; switch (_p3) { case 'string': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldStringType); case 'percentage': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldPercentageType); case 'integer': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldIntegerType); case 'decimal': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldDecimalType); case 'onOff': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldOnOffType); case 'account': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldAccountType); case 'fiatCurrency': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldFiatCurrencyType); case 'cryptoCurrency': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldCryptoCurrencyType); case 'language': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldLanguageType); case 'country': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldCountryType); case 'textarea': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldTextAreaType); case 'markdown': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldMarkdownType); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'No such FieldType ', s)); } }; var _user$project$ConfigDecoder$fieldTypeDecoder = function (fieldType) { return _user$project$ConfigDecoder$basicFieldTypeDecoder(fieldType); }; var _user$project$ConfigDecoder$stringToConfigScope = function (s) { var _p4 = s; switch (_p4) { case 'global': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$Global); case 'specific': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$Specific); case 'both': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$Both); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'No such ConfigScope ', s)); } }; var _user$project$ConfigDecoder$configScopeDecoder = A2(_elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$stringToConfigScope, _elm_lang$core$Json_Decode$string); var _user$project$ConfigDecoder$fieldDescriptorDecoder = A4( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$optional, 'readOnly', _elm_lang$core$Json_Decode$bool, false, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fieldEnabledIfAll', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fieldEnabledIfAny', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fieldClass', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A2( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$custom, A2( _elm_lang$core$Json_Decode$field, 'fieldValidation', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$fieldValidatorDecoder)), A2( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$custom, A2( _elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$fieldTypeDecoder, A2(_elm_lang$core$Json_Decode$field, 'fieldType', _elm_lang$core$Json_Decode$string)), A2( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$custom, _elm_lang$core$Json_Decode$maybe( A2(_elm_lang$core$Json_Decode$field, 'displayCount', _elm_lang$core$Json_Decode$int)), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'displayBottom', _elm_lang$core$Json_Decode$string, A2( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$custom, _user$project$ConfigDecoder$displayTopDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'machineScope', _user$project$ConfigDecoder$configScopeDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoScope', _user$project$ConfigDecoder$configScopeDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'code', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$ConfigTypes$FieldDescriptor))))))))))))); var _user$project$ConfigDecoder$configSchemaDecoder = A6( _elm_lang$core$Json_Decode$map5, _user$project$ConfigTypes$ConfigSchema, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'cryptoScope', _user$project$ConfigDecoder$configScopeDecoder), A2(_elm_lang$core$Json_Decode$field, 'machineScope', _user$project$ConfigDecoder$configScopeDecoder), A2( _elm_lang$core$Json_Decode$field, 'entries', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$fieldDescriptorDecoder))); var _user$project$ConfigDecoder$displayRecDecoder = A3( _elm_lang$core$Json_Decode$map2, _user$project$ConfigTypes$DisplayRec, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string)); var _user$project$ConfigDecoder$cryptoDecoder = A2(_elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$stringToCrypto, _elm_lang$core$Json_Decode$string); var _user$project$ConfigDecoder$cryptoDisplayDecoder = A3( _elm_lang$core$Json_Decode$map2, _user$project$ConfigTypes$CryptoDisplay, A2(_elm_lang$core$Json_Decode$field, 'crypto', _user$project$ConfigDecoder$cryptoDecoder), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string)); var _user$project$ConfigDecoder$accountRecDecoder = _elm_lang$core$Json_Decode$oneOf( { ctor: '::', _0: A5( _elm_lang$core$Json_Decode$map4, _user$project$ConfigTypes$AccountRec, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'class', _elm_lang$core$Json_Decode$string), A2( _elm_lang$core$Json_Decode$field, 'cryptos', A2( _elm_lang$core$Json_Decode$map, _elm_lang$core$Maybe$Just, _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$cryptoDecoder)))), _1: { ctor: '::', _0: A5( _elm_lang$core$Json_Decode$map4, _user$project$ConfigTypes$AccountRec, A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'class', _elm_lang$core$Json_Decode$string), _elm_lang$core$Json_Decode$succeed(_elm_lang$core$Maybe$Nothing)), _1: {ctor: '[]'} } }); var _user$project$ConfigDecoder$string2machine = function (s) { return _elm_lang$core$Native_Utils.eq(s, 'global') ? _user$project$ConfigTypes$GlobalMachine : _user$project$ConfigTypes$MachineId(s); }; var _user$project$ConfigDecoder$machineDecoder = A2(_elm_lang$core$Json_Decode$map, _user$project$ConfigDecoder$string2machine, _elm_lang$core$Json_Decode$string); var _user$project$ConfigDecoder$machineDisplayDecoder = A3( _elm_lang$core$Json_Decode$map2, _user$project$ConfigTypes$MachineDisplay, A2(_elm_lang$core$Json_Decode$field, 'machine', _user$project$ConfigDecoder$machineDecoder), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string)); var _user$project$ConfigDecoder$configDataDecoder = A7( _elm_lang$core$Json_Decode$map6, _user$project$ConfigTypes$ConfigData, A2( _elm_lang$core$Json_Decode$field, 'cryptoCurrencies', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$cryptoDisplayDecoder)), A2( _elm_lang$core$Json_Decode$field, 'currencies', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$displayRecDecoder)), A2( _elm_lang$core$Json_Decode$field, 'languages', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$displayRecDecoder)), A2( _elm_lang$core$Json_Decode$field, 'countries', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$displayRecDecoder)), A2( _elm_lang$core$Json_Decode$field, 'accounts', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$accountRecDecoder)), A2( _elm_lang$core$Json_Decode$field, 'machines', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$machineDisplayDecoder))); var _user$project$ConfigDecoder$nullOr = function (decoder) { return _elm_lang$core$Json_Decode$oneOf( { ctor: '::', _0: _elm_lang$core$Json_Decode$null(_elm_lang$core$Maybe$Nothing), _1: { ctor: '::', _0: A2(_elm_lang$core$Json_Decode$map, _elm_lang$core$Maybe$Just, decoder), _1: {ctor: '[]'} } }); }; var _user$project$ConfigDecoder$fieldScopeDecoder = A3( _elm_lang$core$Json_Decode$map2, _user$project$ConfigTypes$FieldScope, A2(_elm_lang$core$Json_Decode$field, 'crypto', _user$project$ConfigDecoder$cryptoDecoder), A2(_elm_lang$core$Json_Decode$field, 'machine', _user$project$ConfigDecoder$machineDecoder)); var _user$project$ConfigDecoder$fieldLocatorDecoder = A5( _elm_lang$core$Json_Decode$map4, _user$project$ConfigTypes$FieldLocator, A2(_elm_lang$core$Json_Decode$field, 'fieldScope', _user$project$ConfigDecoder$fieldScopeDecoder), A2(_elm_lang$core$Json_Decode$field, 'code', _elm_lang$core$Json_Decode$string), A2( _elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$fieldTypeDecoder, A2(_elm_lang$core$Json_Decode$field, 'fieldType', _elm_lang$core$Json_Decode$string)), A2( _elm_lang$core$Json_Decode$field, 'fieldClass', _user$project$ConfigDecoder$nullOr(_elm_lang$core$Json_Decode$string))); var _user$project$ConfigDecoder$fieldValueTypeDecoder = function (fieldType) { var _p5 = fieldType; switch (_p5) { case 'string': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldStringValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); case 'percentage': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldPercentageValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$float)); case 'integer': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldIntegerValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$int)); case 'decimal': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldDecimalValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$float)); case 'onOff': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldOnOffValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$bool)); case 'account': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldFiatCurrencyValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); case 'fiatCurrency': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldFiatCurrencyValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); case 'cryptoCurrency': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldCryptoCurrencyValue, A2( _elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string))); case 'language': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldLanguageValue, A2( _elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string))); case 'country': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldCountryValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); case 'textarea': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldTextAreaValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); case 'markdown': return A2( _elm_lang$core$Json_Decode$map, _user$project$ConfigTypes$FieldMarkdownValue, A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'Unsupported field type: ', fieldType)); } }; var _user$project$ConfigDecoder$fieldValueDecoder = A2( _elm_lang$core$Json_Decode$andThen, _user$project$ConfigDecoder$fieldValueTypeDecoder, A2(_elm_lang$core$Json_Decode$field, 'fieldType', _elm_lang$core$Json_Decode$string)); var _user$project$ConfigDecoder$fieldDecoder = A6( _elm_lang$core$Json_Decode$map5, _user$project$ConfigTypes$Field, A2(_elm_lang$core$Json_Decode$field, 'fieldLocator', _user$project$ConfigDecoder$fieldLocatorDecoder), A2(_elm_lang$core$Json_Decode$field, 'fieldValue', _user$project$ConfigDecoder$fieldValueDecoder), A2( _elm_lang$core$Json_Decode$field, 'fieldEnabledIfAny', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)), A2( _elm_lang$core$Json_Decode$field, 'fieldEnabledIfAll', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)), _elm_lang$core$Json_Decode$succeed(true)); var _user$project$ConfigDecoder$configGroupDecoder = A5( _elm_lang$core$Json_Decode$map4, _user$project$ConfigTypes$ConfigGroup, A2(_elm_lang$core$Json_Decode$field, 'schema', _user$project$ConfigDecoder$configSchemaDecoder), A2( _elm_lang$core$Json_Decode$field, 'values', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$fieldDecoder)), A2( _elm_lang$core$Json_Decode$field, 'selectedCryptos', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string)), A2(_elm_lang$core$Json_Decode$field, 'data', _user$project$ConfigDecoder$configDataDecoder)); var _user$project$ConfigEncoder$maybeString = function (maybeString) { var _p0 = maybeString; if (_p0.ctor === 'Nothing') { return _elm_lang$core$Json_Encode$null; } else { return _elm_lang$core$Json_Encode$string(_p0._0); } }; var _user$project$ConfigEncoder$fieldTypeEncoder = function (fieldType) { var _p1 = fieldType; switch (_p1.ctor) { case 'FieldStringType': return _elm_lang$core$Json_Encode$string('string'); case 'FieldPercentageType': return _elm_lang$core$Json_Encode$string('percentage'); case 'FieldIntegerType': return _elm_lang$core$Json_Encode$string('integer'); case 'FieldDecimalType': return _elm_lang$core$Json_Encode$string('decimal'); case 'FieldOnOffType': return _elm_lang$core$Json_Encode$string('onOff'); case 'FieldAccountType': return _elm_lang$core$Json_Encode$string('account'); case 'FieldFiatCurrencyType': return _elm_lang$core$Json_Encode$string('fiatCurrency'); case 'FieldCryptoCurrencyType': return _elm_lang$core$Json_Encode$string('cryptoCurrency'); case 'FieldLanguageType': return _elm_lang$core$Json_Encode$string('language'); case 'FieldCountryType': return _elm_lang$core$Json_Encode$string('country'); case 'FieldTextAreaType': return _elm_lang$core$Json_Encode$string('textarea'); default: return _elm_lang$core$Json_Encode$string('markdown'); } }; var _user$project$ConfigEncoder$encodeMachine = function (machine) { var _p2 = machine; if (_p2.ctor === 'MachineId') { return _elm_lang$core$Json_Encode$string(_p2._0); } else { return _elm_lang$core$Json_Encode$string('global'); } }; var _user$project$ConfigEncoder$encodeCrypto = function (crypto) { var _p3 = crypto; if (_p3.ctor === 'CryptoCode') { return _elm_lang$core$Json_Encode$string(_p3._0); } else { return _elm_lang$core$Json_Encode$string('global'); } }; var _user$project$ConfigEncoder$encodeFieldScope = function (fieldScope) { return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'crypto', _1: _user$project$ConfigEncoder$encodeCrypto(fieldScope.crypto) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'machine', _1: _user$project$ConfigEncoder$encodeMachine(fieldScope.machine) }, _1: {ctor: '[]'} } }); }; var _user$project$ConfigEncoder$encodeFieldLocator = function (fieldLocator) { return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fieldScope', _1: _user$project$ConfigEncoder$encodeFieldScope(fieldLocator.fieldScope) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'code', _1: _elm_lang$core$Json_Encode$string(fieldLocator.code) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fieldType', _1: _user$project$ConfigEncoder$fieldTypeEncoder(fieldLocator.fieldType) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fieldClass', _1: _user$project$ConfigEncoder$maybeString(fieldLocator.fieldClass) }, _1: {ctor: '[]'} } } } }); }; var _user$project$ConfigEncoder$encodeFieldValueObject = F2( function (fieldTypeStr, value) { return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fieldType', _1: _elm_lang$core$Json_Encode$string(fieldTypeStr) }, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: 'value', _1: value}, _1: {ctor: '[]'} } }); }); var _user$project$ConfigEncoder$encodeFieldValue = function (fieldValue) { var _p4 = fieldValue; switch (_p4.ctor) { case 'FieldStringValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'string', _elm_lang$core$Json_Encode$string(_p4._0)); case 'FieldPercentageValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'percentage', _elm_lang$core$Json_Encode$float(_p4._0)); case 'FieldIntegerValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'integer', _elm_lang$core$Json_Encode$int(_p4._0)); case 'FieldDecimalValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'decimal', _elm_lang$core$Json_Encode$float(_p4._0)); case 'FieldOnOffValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'onOff', _elm_lang$core$Json_Encode$bool(_p4._0)); case 'FieldAccountValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'account', _elm_lang$core$Json_Encode$string(_p4._0)); case 'FieldFiatCurrencyValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'fiatCurrency', _elm_lang$core$Json_Encode$string(_p4._0)); case 'FieldCryptoCurrencyValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'cryptoCurrency', _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p4._0))); case 'FieldLanguageValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'language', _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p4._0))); case 'FieldCountryValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'country', _elm_lang$core$Json_Encode$string(_p4._0)); case 'FieldTextAreaValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'textarea', _elm_lang$core$Json_Encode$string(_p4._0)); default: return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'markdown', _elm_lang$core$Json_Encode$string(_p4._0)); } }; var _user$project$ConfigEncoder$encodeFieldResult = function (fieldInstance) { var encode = function (value) { return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'fieldLocator', _1: _user$project$ConfigEncoder$encodeFieldLocator(fieldInstance.fieldLocator) }, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: 'fieldValue', _1: value}, _1: {ctor: '[]'} } }); }; var dirtyEncode = function (fieldHolder) { var _p5 = fieldHolder; switch (_p5.ctor) { case 'ParsingError': return _elm_lang$core$Maybe$Nothing; case 'ValidationError': return _elm_lang$core$Maybe$Nothing; case 'FieldOk': return _elm_lang$core$Native_Utils.eq(fieldInstance.loadedFieldHolder, fieldHolder) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just( encode( _user$project$ConfigEncoder$encodeFieldValue(_p5._0))); default: return _elm_lang$core$Native_Utils.eq(fieldInstance.loadedFieldHolder, fieldHolder) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just( encode(_elm_lang$core$Json_Encode$null)); } }; return dirtyEncode(fieldInstance.fieldHolder); }; var _user$project$ConfigEncoder$encodeResults = F2( function (configGroupCode, fieldInstances) { var results = A2(_elm_lang$core$List$filterMap, _user$project$ConfigEncoder$encodeFieldResult, fieldInstances); return _elm_lang$core$List$isEmpty(results) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just( _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'groupCode', _1: _elm_lang$core$Json_Encode$string(configGroupCode) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'values', _1: _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$filterMap, _user$project$ConfigEncoder$encodeFieldResult, fieldInstances)) }, _1: {ctor: '[]'} } })); }); var _user$project$Css_LocalColors$disabledGrey = _rtfeldman$elm_css$Css$hex('757575'); var _user$project$Css_LocalColors$lightRed = _rtfeldman$elm_css$Css$hex('efd1d2'); var _user$project$Css_LocalColors$red = _rtfeldman$elm_css$Css$hex('eb6b6e'); var _user$project$Css_LocalColors$darkerGrey = _rtfeldman$elm_css$Css$hex('282828'); var _user$project$Css_LocalColors$darkGrey = _rtfeldman$elm_css$Css$hex('2d2d2d'); var _user$project$Css_LocalColors$darkerLightGrey = _rtfeldman$elm_css$Css$hex('E6E6E3'); var _user$project$Css_LocalColors$lighterLightGrey = _rtfeldman$elm_css$Css$hex('fcfcfa'); var _user$project$Css_LocalColors$lightGrey = _rtfeldman$elm_css$Css$hex('f6f6f4'); var _user$project$Css_LocalColors$sandstone = _rtfeldman$elm_css$Css$hex('5f5f56'); var _user$project$Css_LocalColors$white = _rtfeldman$elm_css$Css$hex('ffffff'); var _user$project$Css_LocalColors$amazonite = _rtfeldman$elm_css$Css$hex('37e8d7'); var _user$project$Css_LocalColors$darkCobalt = _rtfeldman$elm_css$Css$hex('042c47'); var _user$project$Css_LocalColors$cobalt = _rtfeldman$elm_css$Css$hex('004062'); var _user$project$Css_Selectize$codeFonts = { ctor: '::', _0: 'Inconsolata', _1: { ctor: '::', _0: 'monospace', _1: {ctor: '[]'} } }; var _user$project$Css_Selectize$Disabled = {ctor: 'Disabled'}; var _user$project$Css_Selectize$NoOptions = {ctor: 'NoOptions'}; var _user$project$Css_Selectize$InfoNoMatches = {ctor: 'InfoNoMatches'}; var _user$project$Css_Selectize$Info = {ctor: 'Info'}; var _user$project$Css_Selectize$BoxContainer = {ctor: 'BoxContainer'}; var _user$project$Css_Selectize$MultiItemContainer = {ctor: 'MultiItemContainer'}; var _user$project$Css_Selectize$SingleItemContainer = {ctor: 'SingleItemContainer'}; var _user$project$Css_Selectize$InputEditing = {ctor: 'InputEditing'}; var _user$project$Css_Selectize$SelectedItem = {ctor: 'SelectedItem'}; var _user$project$Css_Selectize$FallbackItem = {ctor: 'FallbackItem'}; var _user$project$Css_Selectize$FallbackItems = {ctor: 'FallbackItems'}; var _user$project$Css_Selectize$SelectedItems = {ctor: 'SelectedItems'}; var _user$project$Css_Selectize$BoxItemActive = {ctor: 'BoxItemActive'}; var _user$project$Css_Selectize$BoxItem = {ctor: 'BoxItem'}; var _user$project$Css_Selectize$BoxItems = {ctor: 'BoxItems'}; var _user$project$Css_Selectize$SelectBox = {ctor: 'SelectBox'}; var _user$project$Css_Selectize$component = _rtfeldman$elm_css$Css$batch( { ctor: '::', _0: _rtfeldman$elm_css$Css$borderRadius( _rtfeldman$elm_css$Css$px(3)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$position(_rtfeldman$elm_css$Css$relative), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$margin(_rtfeldman$elm_css$Css$zero), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$descendants( { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$NoOptions, { ctor: '::', _0: _rtfeldman$elm_css$Css$backgroundColor(_user$project$Css_LocalColors$lighterLightGrey), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontSize( _rtfeldman$elm_css$Css$px(14)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontWeight( _rtfeldman$elm_css$Css$int(500)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$sandstone), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$padding( _rtfeldman$elm_css$Css$px(5)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$textAlign(_rtfeldman$elm_css$Css$center), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$cursor(_rtfeldman$elm_css$Css$default), _1: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css$property, '-webkit-user-select', 'none'), _1: {ctor: '[]'} } } } } } } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SelectBox, { ctor: '::', _0: _rtfeldman$elm_css$Css$displayFlex, _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$alignItems(_rtfeldman$elm_css$Css$center), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$padding2, _rtfeldman$elm_css$Css$zero, _rtfeldman$elm_css$Css$px(5)), _1: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css$property, 'background-color', 'inherit'), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$width( _rtfeldman$elm_css$Css$px(60)), _1: {ctor: '[]'} } } } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$BoxContainer, { ctor: '::', _0: _rtfeldman$elm_css$Css$position(_rtfeldman$elm_css$Css$absolute), _1: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css$property, 'z-index', '100'), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$left( _rtfeldman$elm_css$Css$px(-3)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$backgroundColor(_user$project$Css_LocalColors$white), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$textAlign(_rtfeldman$elm_css$Css$left), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontWeight( _rtfeldman$elm_css$Css$int(500)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontSize( _rtfeldman$elm_css$Css$pct(80)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$borderRadius( _rtfeldman$elm_css$Css$px(3)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$backgroundColor(_user$project$Css_LocalColors$white), _1: { ctor: '::', _0: A3( _rtfeldman$elm_css$Css$border3, _rtfeldman$elm_css$Css$px(2), _rtfeldman$elm_css$Css$solid, _user$project$Css_LocalColors$darkerLightGrey), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$borderTop(_rtfeldman$elm_css$Css$zero), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$sandstone), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$width( _rtfeldman$elm_css$Css$em(15)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$cursor(_rtfeldman$elm_css$Css$pointer), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$padding( _rtfeldman$elm_css$Css$px(5)), _1: {ctor: '[]'} } } } } } } } } } } } } } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$BoxItems, {ctor: '[]'}), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$BoxItemActive, { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$cobalt), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontWeight( _rtfeldman$elm_css$Css$int(900)), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$BoxItem, { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$padding2, _rtfeldman$elm_css$Css$px(3), _rtfeldman$elm_css$Css$px(6)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$overflow(_rtfeldman$elm_css$Css$hidden), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$textOverflow(_rtfeldman$elm_css$Css$ellipsis), _1: {ctor: '[]'} } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$Info, { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$padding2, _rtfeldman$elm_css$Css$px(3), _rtfeldman$elm_css$Css$px(6)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$darkGrey), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$MultiItemContainer, { ctor: '::', _0: _rtfeldman$elm_css$Css$descendants( { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SelectedItem, { ctor: '::', _0: _rtfeldman$elm_css$Css$backgroundColor(_user$project$Css_LocalColors$cobalt), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$white), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$padding( _rtfeldman$elm_css$Css$px(2)), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$margin2, _rtfeldman$elm_css$Css$zero, _rtfeldman$elm_css$Css$px(1)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontFamilies(_user$project$Css_Selectize$codeFonts), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontSize( _rtfeldman$elm_css$Css$pct(70)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontWeight(_rtfeldman$elm_css$Css$normal), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$borderRadius( _rtfeldman$elm_css$Css$px(3)), _1: {ctor: '[]'} } } } } } } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$FallbackItem, { ctor: '::', _0: _rtfeldman$elm_css$Css$backgroundColor(_user$project$Css_LocalColors$amazonite), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SingleItemContainer, { ctor: '::', _0: _rtfeldman$elm_css$Css$descendants( { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SelectedItem, { ctor: '::', _0: _rtfeldman$elm_css$Css$fontFamilies(_user$project$Css_Selectize$codeFonts), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$fontSize( _rtfeldman$elm_css$Css$px(14)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$padding(_rtfeldman$elm_css$Css$zero), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$borderRadius(_rtfeldman$elm_css$Css$zero), _1: {ctor: '[]'} } } } }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$FallbackItem, { ctor: '::', _0: _rtfeldman$elm_css$Css$color(_user$project$Css_LocalColors$sandstone), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Classes$SelectizeLanguage, { ctor: '::', _0: _rtfeldman$elm_css$Css$descendants( { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SelectBox, { ctor: '::', _0: _rtfeldman$elm_css$Css$width( _rtfeldman$elm_css$Css$px(140)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Classes$SelectizeCryptoCurrency, { ctor: '::', _0: _rtfeldman$elm_css$Css$descendants( { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$class, _user$project$Css_Selectize$SelectBox, { ctor: '::', _0: _rtfeldman$elm_css$Css$width( _rtfeldman$elm_css$Css$px(150)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css_Elements$input( { ctor: '::', _0: _rtfeldman$elm_css$Css$textAlign(_rtfeldman$elm_css$Css$left), _1: { ctor: '::', _0: A2(_rtfeldman$elm_css$Css$property, 'background-color', 'inherit'), _1: { ctor: '::', _0: A2( _rtfeldman$elm_css$Css$padding2, _rtfeldman$elm_css$Css$px(6), _rtfeldman$elm_css$Css$px(2)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$width( _rtfeldman$elm_css$Css$em(6)), _1: { ctor: '::', _0: _rtfeldman$elm_css$Css$cursor(_rtfeldman$elm_css$Css$default), _1: {ctor: '[]'} } } } } }), _1: {ctor: '[]'} } } } } } } } } } } } }), _1: {ctor: '[]'} } } } }); var _user$project$Css_Selectize$SelectizeContainer = {ctor: 'SelectizeContainer'}; var _user$project$Css_Selectize$classes = { container: _user$project$Css_Admin$className(_user$project$Css_Selectize$SelectizeContainer), singleItemContainer: _user$project$Css_Admin$className(_user$project$Css_Selectize$SingleItemContainer), multiItemContainer: _user$project$Css_Admin$className(_user$project$Css_Selectize$MultiItemContainer), selectBox: _user$project$Css_Admin$className(_user$project$Css_Selectize$SelectBox), selectedItems: _user$project$Css_Admin$className(_user$project$Css_Selectize$SelectedItems), fallbackItems: _user$project$Css_Admin$className(_user$project$Css_Selectize$FallbackItems), fallbackItem: _user$project$Css_Admin$className(_user$project$Css_Selectize$FallbackItem), selectedItem: _user$project$Css_Admin$className(_user$project$Css_Selectize$SelectedItem), boxContainer: _user$project$Css_Admin$className(_user$project$Css_Selectize$BoxContainer), boxItems: _user$project$Css_Admin$className(_user$project$Css_Selectize$BoxItems), boxItem: _user$project$Css_Admin$className(_user$project$Css_Selectize$BoxItem), boxItemActive: _user$project$Css_Admin$className(_user$project$Css_Selectize$BoxItemActive), info: _user$project$Css_Admin$className(_user$project$Css_Selectize$Info), infoNoMatches: _user$project$Css_Admin$className(_user$project$Css_Selectize$InfoNoMatches), inputEditing: _user$project$Css_Admin$className(_user$project$Css_Selectize$InputEditing), noOptions: _user$project$Css_Admin$className(_user$project$Css_Selectize$NoOptions) }; var _user$project$SelectizeHelper$buildConfig = F2( function (localConfig, specificConfig) { return { maxItems: specificConfig.maxItems, boxLength: 5, toMsg: localConfig.toMsg, onAdd: localConfig.onAdd, onRemove: localConfig.onRemove, onFocus: localConfig.onFocus, onBlur: localConfig.onBlur, toId: localConfig.toId, enabled: localConfig.enabled, selectedDisplay: specificConfig.selectedDisplay, optionDisplay: specificConfig.optionDisplay, match: specificConfig.match, htmlOptions: {instructionsForBlank: 'Start typing for options', noMatches: 'No matches', atMaxLength: 'Type backspace to edit', typeForMore: 'Type for more options', noOptions: 'No options', notAvailable: 'N/A', classes: _user$project$Css_Selectize$classes, customCssClass: specificConfig.customCssClass} }; }); var _user$project$SelectizeHelper$LocalConfig = F7( function (a, b, c, d, e, f, g) { return {toMsg: a, onAdd: b, onRemove: c, onFocus: d, onBlur: e, toId: f, enabled: g}; }); var _user$project$SelectizeHelper$SpecificConfig = F5( function (a, b, c, d, e) { return {selectedDisplay: a, optionDisplay: b, maxItems: c, match: d, customCssClass: e}; }); var _user$project$FuzzyMatch$clean = function (s) { return _elm_lang$core$String$toLower( _elm_lang$core$String$trim(s)); }; var _user$project$FuzzyMatch$score = F3( function (needle, index, hay) { var match = function (keyword) { return function (_) { return _.score; }( A4( _tripokey$elm_fuzzy$Fuzzy$match, {ctor: '[]'}, {ctor: '[]'}, needle, keyword)); }; var score = A2( _elm_lang$core$Maybe$withDefault, 10000, _elm_lang$core$List$minimum( A2( _elm_lang$core$List$map, match, A2( _elm_lang$core$Basics_ops['++'], A2( _elm_lang$core$String$split, ' ', _user$project$FuzzyMatch$clean(hay.display)), { ctor: '::', _0: _user$project$FuzzyMatch$clean(hay.code), _1: { ctor: '::', _0: _user$project$FuzzyMatch$clean(hay.display), _1: {ctor: '[]'} } })))); return { ctor: '_Tuple2', _0: {ctor: '_Tuple2', _0: score, _1: index}, _1: hay }; }); var _user$project$FuzzyMatch$match = F2( function (rawString, list) { var s = _user$project$FuzzyMatch$clean(rawString); return _elm_lang$core$String$isEmpty(s) ? list : A2( _elm_lang$core$List$map, _elm_lang$core$Tuple$second, A2( _elm_lang$core$List$filter, function (_p0) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.cmp(x, y) > 0; }), 1100, _elm_lang$core$Tuple$first( _elm_lang$core$Tuple$first(_p0))); }, A2( _elm_lang$core$List$sortBy, _elm_lang$core$Tuple$first, A2( _elm_lang$core$List$indexedMap, _user$project$FuzzyMatch$score(s), list)))); }); var _user$project$FuzzyMatch$DisplayRec = F2( function (a, b) { return {code: a, display: b}; }); var _user$project$StatusTypes$Rate = F3( function (a, b, c) { return {crypto: a, bid: b, ask: c}; }); var _user$project$StatusTypes$ServerRec = F5( function (a, b, c, d, e) { return {up: a, lastPing: b, rates: c, machineStatus: d, wasConfigured: e}; }); var _user$project$StatusTypes$StatusRec = F2( function (a, b) { return {server: a, invalidConfigGroups: b}; }); var _user$project$Config$loaded = function (msg) { var _p0 = msg; if (_p0.ctor === 'Load') { return _krisajenkins$remotedata$RemoteData$isSuccess(_p0._0); } else { return false; } }; var _user$project$Config$updateRates = F2( function (rates, model) { return _elm_lang$core$Native_Utils.update( model, {rates: rates}); }); var _user$project$Config$pickFiat = function (fields) { return A2( _elm_lang$core$Maybe$map, function (_p1) { return _user$project$ConfigTypes$fieldValueToString( function (_) { return _.fieldValue; }(_p1)); }, _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, function (_p2) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), 'fiatCurrency', function (_) { return _.code; }( function (_) { return _.fieldLocator; }(_p2))); }, fields))); }; var _user$project$Config$isCashOutEnabled = function (fieldInstance) { var toBool = function (fieldValue) { var _p3 = fieldValue; if (_p3.ctor === 'FieldOnOffValue') { return _p3._0; } else { return false; } }; return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.code, 'cashOutEnabled') && ((!_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.machine, _user$project$ConfigTypes$GlobalMachine)) && A3(_user$project$ConfigTypes$fieldHolderMap, false, toBool, fieldInstance.fieldHolder)); }; var _user$project$Config$selectizeEdgeCases = F2( function (fieldInstance, fieldInstances) { return (_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.code, 'cashOutEnabled') && _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.machine, _user$project$ConfigTypes$GlobalMachine)) ? _elm_lang$core$Native_Utils.update( fieldInstance, { fieldHolder: _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldOnOffValue( A2(_elm_lang$core$List$any, _user$project$Config$isCashOutEnabled, fieldInstances))) }) : fieldInstance; }); var _user$project$Config$updateSelectize = F3( function (fieldLocator, state, model) { var fieldCollection = model.fieldCollection; var fieldInstances = model.fieldCollection.fieldInstances; var updateInstance = function (fieldInstance) { if (_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator, fieldLocator)) { var _p4 = fieldInstance.component; if (_p4.ctor === 'SelectizeComponent') { return _elm_lang$core$Native_Utils.update( fieldInstance, { component: _user$project$ConfigTypes$SelectizeComponent(state) }); } else { return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 1556, column: 17}, end: {line: 1561, column: 56} }, _p4)('Shouldn\'t be here'); } } else { return A2(_user$project$Config$selectizeEdgeCases, fieldInstance, fieldInstances); } }; var newFieldCollection = _elm_lang$core$Native_Utils.update( fieldCollection, { fieldInstances: A2(_elm_lang$core$List$map, updateInstance, fieldInstances) }); return _elm_lang$core$Native_Utils.update( model, {fieldCollection: newFieldCollection}); }); var _user$project$Config$updateFocus = F3( function (fieldLocator, focused, model) { return focused ? _elm_lang$core$Native_Utils.update( model, { focused: _elm_lang$core$Maybe$Just(fieldLocator) }) : (_elm_lang$core$Native_Utils.eq( model.focused, _elm_lang$core$Maybe$Just(fieldLocator)) ? _elm_lang$core$Native_Utils.update( model, {focused: _elm_lang$core$Maybe$Nothing}) : model); }); var _user$project$Config$pickFieldValue = F4( function (fieldCode, fields, crypto, machine) { var fieldScope = {crypto: crypto, machine: machine}; var sameScope = function (field) { return _elm_lang$core$Native_Utils.eq(field.fieldLocator.code, fieldCode) && _elm_lang$core$Native_Utils.eq(field.fieldLocator.fieldScope, fieldScope); }; return A2( _elm_lang$core$Maybe$map, function (_) { return _.fieldValue; }, _elm_lang$core$List$head( A2(_elm_lang$core$List$filter, sameScope, fields))); }); var _user$project$Config$fieldInstanceToMaybeFieldValue = function (fieldInstance) { var _p6 = fieldInstance.fieldHolder; if (_p6.ctor === 'FieldOk') { return _elm_lang$core$Maybe$Just(_p6._0); } else { return _elm_lang$core$Maybe$Nothing; } }; var _user$project$Config$pickFieldInstance = F3( function (fieldCode, fieldScope, fieldInstances) { var sameScope = function (fieldInstance) { return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.code, fieldCode) && _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope, fieldScope); }; return _elm_lang$core$List$head( A2(_elm_lang$core$List$filter, sameScope, fieldInstances)); }); var _user$project$Config$validateMax = F2( function (max, fieldValue) { var _p7 = fieldValue; switch (_p7.ctor) { case 'FieldPercentageValue': return _elm_lang$core$Native_Utils.cmp( _elm_lang$core$Basics$floor(_p7._0), max) < 1; case 'FieldIntegerValue': return _elm_lang$core$Native_Utils.cmp(_p7._0, max) < 1; default: return true; } }); var _user$project$Config$validateMin = F2( function (min, fieldValue) { var _p8 = fieldValue; switch (_p8.ctor) { case 'FieldPercentageValue': return _elm_lang$core$Native_Utils.cmp( _elm_lang$core$Basics$ceiling(_p8._0), min) > -1; case 'FieldIntegerValue': return _elm_lang$core$Native_Utils.cmp(_p8._0, min) > -1; default: return true; } }); var _user$project$Config$isInScope = F3( function (cryptoScope, machineScope, fieldScope) { return !((_elm_lang$core$Native_Utils.eq(cryptoScope, _user$project$ConfigTypes$Specific) && _elm_lang$core$Native_Utils.eq(fieldScope.crypto, _user$project$ConfigTypes$GlobalCrypto)) || ((_elm_lang$core$Native_Utils.eq(machineScope, _user$project$ConfigTypes$Specific) && _elm_lang$core$Native_Utils.eq(fieldScope.machine, _user$project$ConfigTypes$GlobalMachine)) || ((_elm_lang$core$Native_Utils.eq(cryptoScope, _user$project$ConfigTypes$Global) && (!_elm_lang$core$Native_Utils.eq(fieldScope.crypto, _user$project$ConfigTypes$GlobalCrypto))) || (_elm_lang$core$Native_Utils.eq(machineScope, _user$project$ConfigTypes$Global) && (!_elm_lang$core$Native_Utils.eq(fieldScope.machine, _user$project$ConfigTypes$GlobalMachine)))))); }); var _user$project$Config$buildFieldComponent = F4( function (configGroup, fieldType, fieldScope, fieldValue) { var _p9 = fieldType; switch (_p9.ctor) { case 'FieldStringType': return _user$project$ConfigTypes$InputBoxComponent; case 'FieldPercentageType': return _user$project$ConfigTypes$InputBoxComponent; case 'FieldIntegerType': return _user$project$ConfigTypes$InputBoxComponent; case 'FieldDecimalType': return _user$project$ConfigTypes$InputBoxComponent; case 'FieldOnOffType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldAccountType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldFiatCurrencyType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldCryptoCurrencyType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldLanguageType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldCountryType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldTextAreaType': return _user$project$ConfigTypes$TextAreaComponent; default: return _user$project$ConfigTypes$TextAreaComponent; } }); var _user$project$Config$initFieldInstance = F3( function (configGroup, fieldDescriptor, fieldScope) { var maybeToFieldHolder = function (maybe) { return A2( _elm_lang$core$Maybe$withDefault, _user$project$ConfigTypes$FieldEmpty, A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$FieldOk, maybe)); }; var inScope = A3(_user$project$Config$isInScope, fieldDescriptor.cryptoScope, fieldDescriptor.machineScope, fieldScope); var equivalentFieldLocator = F2( function (a, b) { return _elm_lang$core$Native_Utils.eq(a.fieldScope, b.fieldScope) && _elm_lang$core$Native_Utils.eq(a.code, b.code); }); var fieldLocator = {fieldScope: fieldScope, code: fieldDescriptor.code, fieldType: fieldDescriptor.fieldType, fieldClass: fieldDescriptor.fieldClass}; var maybeValue = A2( _elm_lang$core$Maybe$map, function (_) { return _.fieldValue; }, _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, function (_p10) { return A2( equivalentFieldLocator, fieldLocator, function (_) { return _.fieldLocator; }(_p10)); }, configGroup.values))); var component = A4(_user$project$Config$buildFieldComponent, configGroup, fieldDescriptor.fieldType, fieldScope, maybeValue); var fieldHolder = maybeToFieldHolder(maybeValue); var readOnly = (_elm_lang$core$Native_Utils.eq(fieldLocator.code, 'cashOutEnabled') && _elm_lang$core$Native_Utils.eq(fieldScope.machine, _user$project$ConfigTypes$GlobalMachine)) ? true : fieldDescriptor.readOnly; return {fieldLocator: fieldLocator, component: component, fieldHolder: fieldHolder, loadedFieldHolder: fieldHolder, fieldValidation: fieldDescriptor.fieldValidation, fieldEnabledIfAny: fieldDescriptor.fieldEnabledIfAny, fieldEnabledIfAll: fieldDescriptor.fieldEnabledIfAll, readOnly: readOnly, inScope: inScope}; }); var _user$project$Config$initFieldInstancesPerEntry = F2( function (configGroup, fieldDescriptor) { return A2( _elm_lang$core$List$map, A2(_user$project$Config$initFieldInstance, configGroup, fieldDescriptor), _user$project$ConfigTypes$fieldScopes(configGroup)); }); var _user$project$Config$initFieldInstances = function (configGroup) { return A2( _elm_lang$core$List$concatMap, _user$project$Config$initFieldInstancesPerEntry(configGroup), configGroup.schema.entries); }; var _user$project$Config$buildFieldCollection = function (configGroup) { return { fields: configGroup.values, fieldInstances: _user$project$Config$initFieldInstances(configGroup) }; }; var _user$project$Config$maybeToList = function (maybe) { var _p11 = maybe; if (_p11.ctor === 'Nothing') { return {ctor: '[]'}; } else { return { ctor: '::', _0: _p11._0, _1: {ctor: '[]'} }; } }; var _user$project$Config$isField = function (fieldValue) { var _p12 = fieldValue; if (_p12.ctor === 'FieldOnOffValue') { return _p12._0; } else { return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 1230, column: 5}, end: {line: 1235, column: 59} }, _p12)('Referenced field must be boolean'); } }; var _user$project$Config$bottomHeaderRowView = F3( function (configGroup, crypto, displayMachineName) { var headerCellView = function (fieldDescriptor) { return A2( _elm_lang$html$Html$th, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(fieldDescriptor.displayBottom), _1: {ctor: '[]'} }); }; var cells = displayMachineName ? { ctor: '::', _0: A2( _elm_lang$html$Html$th, {ctor: '[]'}, {ctor: '[]'}), _1: A2(_elm_lang$core$List$map, headerCellView, configGroup.schema.entries) } : A2(_elm_lang$core$List$map, headerCellView, configGroup.schema.entries); return A2( _elm_lang$html$Html$tr, {ctor: '[]'}, cells); }); var _user$project$Config$topHeaderRowView = F3( function (configGroup, crypto, displayMachineName) { var headerCellView = function (fieldDescriptor) { var _p14 = fieldDescriptor.displayTop; switch (_p14.ctor) { case 'DisplayTopLeader': return _elm_lang$core$Maybe$Just( A2( _elm_lang$html$Html$th, { ctor: '::', _0: _elm_lang$html$Html_Attributes$colspan(_p14._0), _1: { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$MultiDisplay, _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text(_p14._1), _1: {ctor: '[]'} })); case 'DisplayTopSolo': return _elm_lang$core$Maybe$Just( A2( _elm_lang$html$Html$th, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(_p14._0), _1: {ctor: '[]'} })); default: return _elm_lang$core$Maybe$Nothing; } }; var cells = displayMachineName ? { ctor: '::', _0: A2( _elm_lang$html$Html$th, {ctor: '[]'}, {ctor: '[]'}), _1: A2(_elm_lang$core$List$filterMap, headerCellView, configGroup.schema.entries) } : A2(_elm_lang$core$List$filterMap, headerCellView, configGroup.schema.entries); return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TopDisplay, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, cells); }); var _user$project$Config$fieldInstanceToField = function (fieldInstance) { var buildFieldInstance = function (fieldValue) { return {fieldLocator: fieldInstance.fieldLocator, fieldValue: fieldValue, fieldEnabledIfAny: fieldInstance.fieldEnabledIfAny, fieldEnabledIfAll: fieldInstance.fieldEnabledIfAll, inScope: fieldInstance.inScope}; }; var maybeFieldValue = _user$project$ConfigTypes$fieldHolderToMaybe(fieldInstance.fieldHolder); return A2(_elm_lang$core$Maybe$map, buildFieldInstance, maybeFieldValue); }; var _user$project$Config$buildAllFields = function (fieldCollection) { return A2( _elm_lang$core$Basics_ops['++'], A2(_elm_lang$core$List$filterMap, _user$project$Config$fieldInstanceToField, fieldCollection.fieldInstances), fieldCollection.fields); }; var _user$project$Config$fieldInstanceToFieldMeta = function (fieldInstance) { return {fieldLocator: fieldInstance.fieldLocator, fieldEnabledIfAny: fieldInstance.fieldEnabledIfAny, fieldEnabledIfAll: fieldInstance.fieldEnabledIfAll, inScope: fieldInstance.inScope}; }; var _user$project$Config$fieldToFieldMeta = function (field) { return {fieldLocator: field.fieldLocator, fieldEnabledIfAny: field.fieldEnabledIfAny, fieldEnabledIfAll: field.fieldEnabledIfAll, inScope: field.inScope}; }; var _user$project$Config$fallbackValue = F3( function (fieldScope, fields, fieldCode) { var pick = A2(_user$project$Config$pickFieldValue, fieldCode, fields); var maybeGlobal = A2(pick, _user$project$ConfigTypes$GlobalCrypto, _user$project$ConfigTypes$GlobalMachine); var maybeGlobalCrypto = A2(pick, _user$project$ConfigTypes$GlobalCrypto, fieldScope.machine); var maybeGlobalMachine = A2(pick, fieldScope.crypto, _user$project$ConfigTypes$GlobalMachine); var maybeSpecific = A2(pick, fieldScope.crypto, fieldScope.machine); return _elm_lang$core$List$head( A2( _elm_lang$core$List$filterMap, _elm_lang$core$Basics$identity, { ctor: '::', _0: maybeSpecific, _1: { ctor: '::', _0: maybeGlobalMachine, _1: { ctor: '::', _0: maybeGlobalCrypto, _1: { ctor: '::', _0: maybeGlobal, _1: {ctor: '[]'} } } } })); }); var _user$project$Config$validateRequired = F2( function (fields, fieldInstance) { var fieldCode = fieldInstance.fieldLocator.code; var fieldScope = fieldInstance.fieldLocator.fieldScope; var maybeFallbackFieldValue = A3(_user$project$Config$fallbackValue, fieldScope, fields, fieldCode); var maybeFallbackString = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue); var isEmpty = A2( _elm_lang$core$Maybe$withDefault, true, A2(_elm_lang$core$Maybe$map, _elm_lang$core$String$isEmpty, maybeFallbackString)); return !isEmpty; }); var _user$project$Config$validate = F3( function (fields, fieldInstance, fieldValidator) { var _p15 = fieldValidator; switch (_p15.ctor) { case 'FieldRequired': return A2(_user$project$Config$validateRequired, fields, fieldInstance); case 'FieldMin': return A3( _user$project$ConfigTypes$fieldHolderMap, true, _user$project$Config$validateMin(_p15._0), fieldInstance.fieldHolder); default: return A3( _user$project$ConfigTypes$fieldHolderMap, true, _user$project$Config$validateMax(_p15._0), fieldInstance.fieldHolder); } }); var _user$project$Config$referenceFields = F3( function (fieldScope, fields, fieldCodes) { var fallback = function (fieldCode) { return A3(_user$project$Config$fallbackValue, fieldScope, fields, fieldCode); }; return A2(_elm_lang$core$List$filterMap, fallback, fieldCodes); }); var _user$project$Config$checkEnabled = F2( function (fields, fieldMeta) { if (!fieldMeta.inScope) { return false; } else { var enabledIfAllInstances = A3(_user$project$Config$referenceFields, fieldMeta.fieldLocator.fieldScope, fields, fieldMeta.fieldEnabledIfAll); var enabledIfAll = _elm_lang$core$List$isEmpty(fieldMeta.fieldEnabledIfAll) || A2(_elm_lang$core$List$all, _user$project$Config$isField, enabledIfAllInstances); var enabledIfAnyInstances = A3(_user$project$Config$referenceFields, fieldMeta.fieldLocator.fieldScope, fields, fieldMeta.fieldEnabledIfAny); var enabledIfAny = _elm_lang$core$List$isEmpty(fieldMeta.fieldEnabledIfAny) || A2(_elm_lang$core$List$any, _user$project$Config$isField, enabledIfAnyInstances); return enabledIfAny && enabledIfAll; } }); var _user$project$Config$validateFieldInstance = F2( function (fieldCollection, fieldInstance) { var allFields = _user$project$Config$buildAllFields(fieldCollection); var enabled = A2( _user$project$Config$checkEnabled, allFields, _user$project$Config$fieldInstanceToFieldMeta(fieldInstance)); return (!enabled) || A2( _elm_lang$core$List$all, A2(_user$project$Config$validate, allFields, fieldInstance), fieldInstance.fieldValidation); }); var _user$project$Config$isJust = function (maybe) { var _p16 = maybe; if (_p16.ctor === 'Just') { return true; } else { return false; } }; var _user$project$Config$onOffSelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var fallbackIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); var selectedIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue)); var availableItems = { ctor: '::', _0: {display: 'On', code: 'on'}, _1: { ctor: '::', _0: {display: 'Off', code: 'off'}, _1: {ctor: '[]'} } }; var specificConfig = { maxItems: 1, selectedDisplay: function (_) { return _.display; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeOnOff }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$countrySelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var fallbackIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); var selectedIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue)); var availableItems = model.configGroup.data.countries; var specificConfig = { maxItems: 1, selectedDisplay: function (_) { return _.code; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeCountry }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$languageSelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var toList = function (maybeValue) { var _p17 = maybeValue; if (_p17.ctor === 'Nothing') { return {ctor: '[]'}; } else { var _p18 = _p17._0; if (_p18.ctor === 'FieldLanguageValue') { return _p18._0; } else { return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 592, column: 21}, end: {line: 597, column: 60} }, _p18)('Shouldn\'t be here'); } } }; var selectedIds = toList(maybeFieldValue); var fallbackIds = toList(maybeFallbackFieldValue); var availableItems = model.configGroup.data.languages; var specificConfig = { maxItems: 4, selectedDisplay: function (_) { return _.code; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeLanguage }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$cryptoCurrencySelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var toList = function (maybeValue) { var _p20 = maybeValue; if (_p20.ctor === 'Nothing') { return {ctor: '[]'}; } else { var _p21 = _p20._0; if (_p21.ctor === 'FieldCryptoCurrencyValue') { return _p21._0; } else { return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 545, column: 21}, end: {line: 550, column: 60} }, _p21)('Shouldn\'t be here'); } } }; var selectedIds = toList(maybeFieldValue); var fallbackIds = toList(maybeFallbackFieldValue); var toDisplay = function (crypto) { return { code: _user$project$ConfigTypes$cryptoToString(crypto.crypto), display: crypto.display }; }; var availableItems = A2(_elm_lang$core$List$map, toDisplay, model.configGroup.data.cryptoCurrencies); var specificConfig = { maxItems: 6, selectedDisplay: function (_) { return _.code; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeCryptoCurrency }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$fiatCurrencySelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var fallbackIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); var selectedIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue)); var availableItems = model.configGroup.data.currencies; var specificConfig = { maxItems: 1, selectedDisplay: function (_) { return _.code; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeFiatCurrency }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$accountSelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var fallbackIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); var selectedIds = _user$project$Config$maybeToList( A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue)); var matchAccount = function (accountRec) { var _p23 = fieldInstance.fieldLocator.fieldClass; if (_p23.ctor === 'Nothing') { return true; } else { return _elm_lang$core$Native_Utils.eq(accountRec.$class, _p23._0) && function () { var _p24 = accountRec.cryptos; if (_p24.ctor === 'Nothing') { return true; } else { return A2(_elm_lang$core$List$member, model.crypto, _p24._0); } }(); } }; var availableItems = A2( _elm_lang$core$List$map, _user$project$ConfigTypes$accountRecToDisplayRec, A2(_elm_lang$core$List$filter, matchAccount, model.configGroup.data.accounts)); var specificConfig = { maxItems: 1, selectedDisplay: function (_) { return _.display; }, optionDisplay: function (_) { return _.display; }, match: _user$project$FuzzyMatch$match, customCssClass: _user$project$Css_Classes$SelectizeAccount }; return A5( _user$project$Selectize$view, A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), selectedIds, availableItems, fallbackIds, selectizeState); }); var _user$project$Config$fieldInstanceClasses = function (fieldInstance) { var _p25 = fieldInstance.fieldLocator.fieldType; switch (_p25.ctor) { case 'FieldPercentageType': return { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }; case 'FieldIntegerType': return { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }; case 'FieldAccountType': return { ctor: '::', _0: _user$project$Css_Classes$MediumCell, _1: {ctor: '[]'} }; case 'FieldStringType': return { ctor: '::', _0: _user$project$Css_Classes$MediumCell, _1: { ctor: '::', _0: _user$project$Css_Classes$TextCell, _1: {ctor: '[]'} } }; case 'FieldLanguageType': return { ctor: '::', _0: _user$project$Css_Classes$MediumCell, _1: {ctor: '[]'} }; case 'FieldCryptoCurrencyType': return { ctor: '::', _0: _user$project$Css_Classes$MediumCell, _1: {ctor: '[]'} }; default: return { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }; } }; var _user$project$Config$unitDisplay = F2( function (fiat, fieldInstance) { var _p26 = fieldInstance.fieldLocator.fieldType; switch (_p26.ctor) { case 'FieldPercentageType': return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$UnitDisplay, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('%'), _1: {ctor: '[]'} }); case 'FieldIntegerType': var _p27 = fieldInstance.fieldLocator.fieldClass; if (_p27.ctor === 'Just') { switch (_p27._0) { case 'fiat': return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$UnitDisplay, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(fiat), _1: {ctor: '[]'} }); case 'banknotes': return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$UnitDisplay, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('notes'), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); } } else { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); } default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); } }); var _user$project$Config$fieldTypeToInputType = function (fieldType) { return 'string'; }; var _user$project$Config$listToFieldHolder = F2( function (modifier, list) { return _elm_lang$core$List$isEmpty(list) ? _user$project$ConfigTypes$FieldEmpty : _user$project$ConfigTypes$FieldOk( modifier(list)); }); var _user$project$Config$emptyToNothing = function (list) { return _elm_lang$core$List$isEmpty(list) ? _elm_lang$core$Maybe$Nothing : _elm_lang$core$Maybe$Just(list); }; var _user$project$Config$fieldHolderToList = function (fieldHolder) { var _p28 = fieldHolder; if (_p28.ctor === 'FieldOk') { var _p29 = _p28._0; switch (_p29.ctor) { case 'FieldLanguageValue': return _p29._0; case 'FieldCryptoCurrencyValue': return _p29._0; default: return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 154, column: 13}, end: {line: 162, column: 50} }, _p29)('Not a list type'); } } else { return {ctor: '[]'}; } }; var _user$project$Config$updateStringFieldInstance = F4( function (fieldInstances, fieldLocator, maybeString, fieldInstance) { if (_elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator, fieldLocator)) { var _p31 = fieldLocator.fieldType; switch (_p31.ctor) { case 'FieldLanguageType': var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder); var newList = function () { var _p32 = maybeString; if (_p32.ctor === 'Nothing') { return A2( _elm_lang$core$List$take, _elm_lang$core$List$length(list) - 1, list); } else { return A2( _elm_lang$core$Basics_ops['++'], list, { ctor: '::', _0: _p32._0, _1: {ctor: '[]'} }); } }(); return _elm_lang$core$Native_Utils.update( fieldInstance, { fieldHolder: A2(_user$project$Config$listToFieldHolder, _user$project$ConfigTypes$FieldLanguageValue, newList) }); case 'FieldCryptoCurrencyType': var list = _user$project$Config$fieldHolderToList(fieldInstance.fieldHolder); var newList = function () { var _p33 = maybeString; if (_p33.ctor === 'Nothing') { return A2( _elm_lang$core$List$take, _elm_lang$core$List$length(list) - 1, list); } else { return A2( _elm_lang$core$Basics_ops['++'], list, { ctor: '::', _0: _p33._0, _1: {ctor: '[]'} }); } }(); return _elm_lang$core$Native_Utils.update( fieldInstance, { fieldHolder: A2(_user$project$Config$listToFieldHolder, _user$project$ConfigTypes$FieldCryptoCurrencyValue, newList) }); default: var fieldHolder = function () { var _p34 = maybeString; if (_p34.ctor === 'Nothing') { return _user$project$ConfigTypes$FieldEmpty; } else { return A2(_user$project$ConfigTypes$stringToFieldHolder, fieldLocator.fieldType, _p34._0); } }(); return _elm_lang$core$Native_Utils.update( fieldInstance, {fieldHolder: fieldHolder}); } } else { return fieldInstance; } }); var _user$project$Config$updateInput = F3( function (fieldLocator, maybeValueString, model) { var fieldCollection = model.fieldCollection; var oldFieldInstances = model.fieldCollection.fieldInstances; var fieldInstances = A2( _elm_lang$core$List$map, A3(_user$project$Config$updateStringFieldInstance, oldFieldInstances, fieldLocator, maybeValueString), oldFieldInstances); var newFieldCollection = _elm_lang$core$Native_Utils.update( fieldCollection, {fieldInstances: fieldInstances}); return _elm_lang$core$Native_Utils.update( model, {fieldCollection: newFieldCollection}); }); var _user$project$Config$similar = F3( function (mapper, a, b) { return A2( F2( function (x, y) { return _elm_lang$core$Native_Utils.eq(x, y); }), mapper(a), mapper(b)); }); var _user$project$Config$placeField = F2( function (fieldList, field) { var maybeOldField = _elm_lang$core$List$head( A2( _elm_lang$core$List$filter, A2( _user$project$Config$similar, function (_) { return _.fieldLocator; }, field), fieldList)); var newField = function () { var _p35 = maybeOldField; if (_p35.ctor === 'Nothing') { return field; } else { return _elm_lang$core$Native_Utils.update( _p35._0, {fieldValue: field.fieldValue}); } }(); return { ctor: '::', _0: newField, _1: A2( _elm_lang$core$List$filter, function (_p36) { return !A3( _user$project$Config$similar, function (_) { return _.fieldLocator; }, field, _p36); }, fieldList) }; }); var _user$project$Config$toResolvedModel = F2( function (model, configGroup) { return { configGroup: configGroup, fieldCollection: model.fieldCollection, crypto: A2(_elm_lang$core$Maybe$withDefault, _user$project$ConfigTypes$GlobalCrypto, model.crypto), fiat: A2(_elm_lang$core$Maybe$withDefault, 'Fiat', model.fiat), status: model.status, focused: model.focused }; }); var _user$project$Config$Model = F7( function (a, b, c, d, e, f, g) { return {webConfigGroup: a, fieldCollection: b, crypto: c, fiat: d, status: e, focused: f, rates: g}; }); var _user$project$Config$ResolvedModel = F6( function (a, b, c, d, e, f) { return {configGroup: a, fieldCollection: b, crypto: c, fiat: d, status: e, focused: f}; }); var _user$project$Config$NotSaving = {ctor: 'NotSaving'}; var _user$project$Config$init = { webConfigGroup: _krisajenkins$remotedata$RemoteData$NotAsked, fieldCollection: _user$project$ConfigTypes$initFieldCollection, crypto: _elm_lang$core$Maybe$Nothing, fiat: _elm_lang$core$Maybe$Nothing, status: _user$project$Config$NotSaving, focused: _elm_lang$core$Maybe$Nothing, rates: {ctor: '[]'} }; var _user$project$Config$Editing = {ctor: 'Editing'}; var _user$project$Config$Saved = {ctor: 'Saved'}; var _user$project$Config$Saving = {ctor: 'Saving'}; var _user$project$Config$NoOp = {ctor: 'NoOp'}; var _user$project$Config$HideSaveIndication = {ctor: 'HideSaveIndication'}; var _user$project$Config$Remove = F2( function (a, b) { return {ctor: 'Remove', _0: a, _1: b}; }); var _user$project$Config$Add = F3( function (a, b, c) { return {ctor: 'Add', _0: a, _1: b, _2: c}; }); var _user$project$Config$FocusSelectize = F2( function (a, b) { return {ctor: 'FocusSelectize', _0: a, _1: b}; }); var _user$project$Config$BlurSelectize = F2( function (a, b) { return {ctor: 'BlurSelectize', _0: a, _1: b}; }); var _user$project$Config$Focus = function (a) { return {ctor: 'Focus', _0: a}; }; var _user$project$Config$Blur = function (a) { return {ctor: 'Blur', _0: a}; }; var _user$project$Config$SelectizeMsg = F2( function (a, b) { return {ctor: 'SelectizeMsg', _0: a, _1: b}; }); var _user$project$Config$selectizeView = F6( function (model, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue, enabled) { var fallbackFieldValue = A2( _elm_lang$core$Maybe$withDefault, '', A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); var fieldLocator = fieldInstance.fieldLocator; var localConfig = { toMsg: _user$project$Config$SelectizeMsg(fieldLocator), onAdd: _user$project$Config$Add(fieldLocator), onRemove: _user$project$Config$Remove(fieldLocator), onFocus: _user$project$Config$FocusSelectize(fieldLocator), onBlur: _user$project$Config$BlurSelectize(fieldLocator), toId: function (_) { return _.code; }, enabled: true }; if (fieldInstance.readOnly || (!enabled)) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$InputContainer, _1: { ctor: '::', _0: _user$project$Css_Classes$ReadOnly, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$BasicInputReadOnly, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(fallbackFieldValue), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); } else { var _p37 = fieldLocator.fieldType; switch (_p37.ctor) { case 'FieldAccountType': return A6(_user$project$Config$accountSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldFiatCurrencyType': return A6(_user$project$Config$fiatCurrencySelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldCryptoCurrencyType': return A6(_user$project$Config$cryptoCurrencySelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldLanguageType': return A6(_user$project$Config$languageSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldCountryType': return A6(_user$project$Config$countrySelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldOnOffType': return A6(_user$project$Config$onOffSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); default: return _elm_lang$core$Native_Utils.crashCase( 'Config', { start: {line: 679, column: 13}, end: {line: 729, column: 56} }, _p37)('Not a Selectize field'); } } }); var _user$project$Config$CryptoSwitch = function (a) { return {ctor: 'CryptoSwitch', _0: a}; }; var _user$project$Config$cryptoView = F2( function (maybeActiveCrypto, cryptoDisplay) { var activeClass = function () { var _p39 = maybeActiveCrypto; if (_p39.ctor === 'Nothing') { return _user$project$Css_Admin$class( {ctor: '[]'}); } else { return _elm_lang$core$Native_Utils.eq(_p39._0, cryptoDisplay.crypto) ? _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Active, _1: {ctor: '[]'} }) : _user$project$Css_Admin$class( {ctor: '[]'}); } }(); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: activeClass, _1: { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CryptoTab, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$Config$CryptoSwitch(cryptoDisplay.crypto)), _1: {ctor: '[]'} } } }, { ctor: '::', _0: _elm_lang$html$Html$text(cryptoDisplay.display), _1: {ctor: '[]'} }); }); var _user$project$Config$cryptosView = F2( function (cryptos, activeCrypto) { return A2( _elm_lang$html$Html$nav, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CryptoTabs, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, A2( _elm_lang$core$List$map, _user$project$Config$cryptoView(activeCrypto), cryptos)); }); var _user$project$Config$Input = F2( function (a, b) { return {ctor: 'Input', _0: a, _1: b}; }); var _user$project$Config$textInput = F5( function (fiat, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled) { var isReadOnly = fieldInstance.readOnly || (!enabled); var parentClasses = isReadOnly ? { ctor: '::', _0: _user$project$Css_Classes$InputContainer, _1: { ctor: '::', _0: _user$project$Css_Classes$ReadOnly, _1: {ctor: '[]'} } } : { ctor: '::', _0: _user$project$Css_Classes$InputContainer, _1: {ctor: '[]'} }; var fieldValid = _user$project$Config$validateFieldInstance; var fieldClasses = _user$project$Config$fieldInstanceClasses(fieldInstance); var maybeFallbackString = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue); var fallbackString = A2(_elm_lang$core$Maybe$withDefault, '', maybeFallbackString); var maybeSpecificString = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue); var defaultString = A2(_elm_lang$core$Maybe$withDefault, '', maybeSpecificString); var fieldLocator = fieldInstance.fieldLocator; var inputType = _user$project$Config$fieldTypeToInputType(fieldLocator.fieldType); var inputComponent = isReadOnly ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$BasicInputReadOnly, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(fallbackString), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$Config$Input(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onFocus( _user$project$Config$Focus(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onBlur( _user$project$Config$Blur(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$defaultValue(defaultString), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$placeholder(fallbackString), _1: { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '::', _0: _user$project$Css_Classes$BasicInput, _1: fieldClasses}), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$type_(inputType), _1: {ctor: '[]'} } } } } } } }, {ctor: '[]'}); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class(parentClasses), _1: {ctor: '[]'} }, { ctor: '::', _0: inputComponent, _1: { ctor: '::', _0: A2(_user$project$Config$unitDisplay, fiat, fieldInstance), _1: {ctor: '[]'} } }); }); var _user$project$Config$textareaInput = F5( function (fiat, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled) { var isReadOnly = fieldInstance.readOnly || (!enabled); var parentClasses = isReadOnly ? { ctor: '::', _0: _user$project$Css_Classes$InputContainer, _1: { ctor: '::', _0: _user$project$Css_Classes$ReadOnly, _1: {ctor: '[]'} } } : { ctor: '::', _0: _user$project$Css_Classes$InputContainer, _1: {ctor: '[]'} }; var fieldValid = _user$project$Config$validateFieldInstance; var fieldClasses = _user$project$Config$fieldInstanceClasses(fieldInstance); var maybeFallbackString = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue); var fallbackString = A2(_elm_lang$core$Maybe$withDefault, '', maybeFallbackString); var maybeSpecificString = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue); var defaultString = A2(_elm_lang$core$Maybe$withDefault, '', maybeSpecificString); var fieldLocator = fieldInstance.fieldLocator; var inputType = _user$project$Config$fieldTypeToInputType(fieldLocator.fieldType); var inputComponent = A2( _elm_lang$html$Html$textarea, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( _user$project$Config$Input(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onFocus( _user$project$Config$Focus(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onBlur( _user$project$Config$Blur(fieldLocator)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$defaultValue(defaultString), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$placeholder(fallbackString), _1: { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '::', _0: _user$project$Css_Classes$Textarea, _1: fieldClasses}), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$disabled(isReadOnly), _1: {ctor: '[]'} } } } } } } }, {ctor: '[]'}); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class(parentClasses), _1: {ctor: '[]'} }, { ctor: '::', _0: inputComponent, _1: { ctor: '::', _0: A2(_user$project$Config$unitDisplay, fiat, fieldInstance), _1: {ctor: '[]'} } }); }); var _user$project$Config$fieldInput = F5( function (model, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled) { if ((!enabled) && (!_user$project$Config$isJust(maybeFallbackFieldValue))) { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$BasicInputDisabled, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, {ctor: '[]'}); } else { var _p40 = fieldInstance.component; switch (_p40.ctor) { case 'InputBoxComponent': return A5(_user$project$Config$textInput, model.fiat, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled); case 'TextAreaComponent': return A5(_user$project$Config$textareaInput, model.fiat, fieldInstance, maybeFieldValue, maybeFallbackFieldValue, enabled); default: return A6(_user$project$Config$selectizeView, model, fieldInstance, _p40._0, maybeFieldValue, maybeFallbackFieldValue, enabled); } } }); var _user$project$Config$fieldComponent = F2( function (model, fieldInstance) { var fieldLengthClasses = A2( _elm_lang$core$List$map, function ($class) { return {ctor: '_Tuple2', _0: $class, _1: true}; }, _user$project$Config$fieldInstanceClasses(fieldInstance)); var fieldValid = A2(_user$project$Config$validateFieldInstance, model.fieldCollection, fieldInstance); var allFields = _user$project$Config$buildAllFields(model.fieldCollection); var enabled = A2( _user$project$Config$checkEnabled, allFields, _user$project$Config$fieldInstanceToFieldMeta(fieldInstance)); var maybeSpecific = function () { var _p41 = fieldInstance.fieldHolder; if (_p41.ctor === 'FieldOk') { return _elm_lang$core$Maybe$Just(_p41._0); } else { return _elm_lang$core$Maybe$Nothing; } }(); var fieldInstances = model.fieldCollection.fieldInstances; var fieldLocator = fieldInstance.fieldLocator; var fieldScope = fieldLocator.fieldScope; var fieldCode = fieldLocator.code; var maybeFallbackFieldValue = A3(_user$project$Config$fallbackValue, fieldScope, allFields, fieldCode); var fieldClass = fieldLocator.fieldClass; var fieldType = fieldLocator.fieldType; var focused = _elm_lang$core$Native_Utils.eq( _elm_lang$core$Maybe$Just(fieldLocator), model.focused); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$classList( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$Component, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$FocusedComponent, _1: focused}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$InvalidComponent, _1: !fieldValid}, _1: {ctor: '[]'} } } }, fieldLengthClasses)), _1: {ctor: '[]'} }, { ctor: '::', _0: A5(_user$project$Config$fieldInput, model, fieldInstance, maybeSpecific, maybeFallbackFieldValue, enabled), _1: {ctor: '[]'} }); }); var _user$project$Config$cellView = F2( function (model, fieldInstance) { var fieldLocator = fieldInstance.fieldLocator; var fieldScope = fieldLocator.fieldScope; var machine = fieldScope.machine; var crypto = fieldScope.crypto; return A3( _elm_lang$html$Html_Keyed$node, 'td', {ctor: '[]'}, { ctor: '::', _0: { ctor: '_Tuple2', _0: A2( _elm_lang$core$Basics_ops['++'], _user$project$ConfigTypes$cryptoToString(crypto), A2( _elm_lang$core$Basics_ops['++'], '-', A2( _elm_lang$core$Basics_ops['++'], _user$project$ConfigTypes$machineToString(machine), A2(_elm_lang$core$Basics_ops['++'], '-', fieldLocator.code)))), _1: A2(_user$project$Config$fieldComponent, model, fieldInstance) }, _1: {ctor: '[]'} }); }); var _user$project$Config$rowView = F4( function (model, fieldInstances, displayMachineName, machineDisplay) { var fieldScope = {crypto: model.crypto, machine: machineDisplay.machine}; var toFieldLocator = function (entry) { return {fieldScope: fieldScope, code: entry.code}; }; var machine = machineDisplay.machine; var globalRowClass = function () { var _p42 = machine; if (_p42.ctor === 'GlobalMachine') { return _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigTableGlobalRow, _1: {ctor: '[]'} }); } else { return _user$project$Css_Admin$class( {ctor: '[]'}); } }(); var machineScoped = function (fieldInstance) { return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.machine, machine); }; var filteredFieldInstances = A2(_elm_lang$core$List$filter, machineScoped, fieldInstances); return displayMachineName ? A2( _elm_lang$html$Html$tr, { ctor: '::', _0: globalRowClass, _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(machineDisplay.display), _1: {ctor: '[]'} }), _1: A2( _elm_lang$core$List$map, _user$project$Config$cellView(model), filteredFieldInstances) }) : A2( _elm_lang$html$Html$tr, { ctor: '::', _0: globalRowClass, _1: {ctor: '[]'} }, A2( _elm_lang$core$List$map, _user$project$Config$cellView(model), filteredFieldInstances)); }); var _user$project$Config$tableView = function (model) { var crypto = model.crypto; var cryptoScoped = function (fieldInstance) { return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.crypto, crypto); }; var instances = A2(_elm_lang$core$List$filter, cryptoScoped, model.fieldCollection.fieldInstances); var configGroup = model.configGroup; var displayMachineName = !_elm_lang$core$Native_Utils.eq(configGroup.schema.code, 'definition'); var topHeaderRow = A3(_user$project$Config$topHeaderRowView, configGroup, crypto, displayMachineName); var bottomHeaderRow = A3(_user$project$Config$bottomHeaderRowView, configGroup, crypto, displayMachineName); var machines = _user$project$ConfigTypes$listMachines(configGroup); var rows = A2( _elm_lang$core$List$map, A3(_user$project$Config$rowView, model, instances, displayMachineName), machines); return A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: topHeaderRow, _1: { ctor: '::', _0: bottomHeaderRow, _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, rows), _1: {ctor: '[]'} } }); }; var _user$project$Config$complianceTableView = function (model) { var header = A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$th, {ctor: '[]'}, {ctor: '[]'}), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$th, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Active'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$th, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Threshold'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }); var emptyCell = A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('--'), _1: {ctor: '[]'} }); var cryptoScoped = function (fieldInstance) { return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.crypto, model.crypto); }; var instances = A2(_elm_lang$core$List$filter, cryptoScoped, model.fieldCollection.fieldInstances); var pickField = function (code) { return A3( _user$project$Config$pickFieldInstance, code, {crypto: _user$project$ConfigTypes$GlobalCrypto, machine: _user$project$ConfigTypes$GlobalMachine}, instances); }; var fieldCodeCellView = function (code) { return A3( _elm_community$maybe_extra$Maybe_Extra$unwrap, emptyCell, _user$project$Config$cellView(model), pickField(code)); }; var row = F3( function (label, activeFieldCode, thresholdFieldCode) { return A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(label), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: fieldCodeCellView(activeFieldCode), _1: { ctor: '::', _0: fieldCodeCellView(thresholdFieldCode), _1: {ctor: '[]'} } } }); }); return A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, { ctor: '::', _0: header, _1: { ctor: '::', _0: A3(row, 'SMS', 'smsVerificationActive', 'smsVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'ID Card Data', 'idCardDataVerificationActive', 'idCardDataVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'ID Card Photo', 'idCardPhotoVerificationActive', 'idCardPhotoVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'Front Facing Camera', 'frontCameraVerificationActive', 'frontCameraVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'Sanctions', 'sanctionsVerificationActive', 'sanctionsVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'Hard Limit', 'hardLimitVerificationActive', 'hardLimitVerificationThreshold'), _1: { ctor: '::', _0: A3(row, 'Receipt Printing', 'receiptPrintingActive', ''), _1: { ctor: '::', _0: A3(row, 'Reject Address Reuse', 'rejectAddressReuseActive', ''), _1: {ctor: '[]'} } } } } } } } } }), _1: {ctor: '[]'} }); }; var _user$project$Config$termsTableView = function (model) { var emptyCell = A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('--'), _1: {ctor: '[]'} }); var cryptoScoped = function (fieldInstance) { return _elm_lang$core$Native_Utils.eq(fieldInstance.fieldLocator.fieldScope.crypto, model.crypto); }; var instances = A2(_elm_lang$core$List$filter, cryptoScoped, model.fieldCollection.fieldInstances); var pickField = function (code) { return A3( _user$project$Config$pickFieldInstance, code, {crypto: _user$project$ConfigTypes$GlobalCrypto, machine: _user$project$ConfigTypes$GlobalMachine}, instances); }; var fieldCodeCellView = function (code) { return A3( _elm_community$maybe_extra$Maybe_Extra$unwrap, emptyCell, _user$project$Config$cellView(model), pickField(code)); }; var row = F2( function (label, activeFieldCode) { return A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ShortCell, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(label), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: fieldCodeCellView(activeFieldCode), _1: {ctor: '[]'} } }); }); return A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, { ctor: '::', _0: A2(row, 'Show on screen', 'termsScreenActive'), _1: { ctor: '::', _0: A2(row, 'Screen title', 'termsScreenTitle'), _1: { ctor: '::', _0: A2(row, 'Text content', 'termsScreenText'), _1: { ctor: '::', _0: A2(row, 'Accept button text', 'termsAcceptButtonText'), _1: { ctor: '::', _0: A2(row, 'Cancel button text', 'termsCancelButtonText'), _1: {ctor: '[]'} } } } } }), _1: {ctor: '[]'} }); }; var _user$project$Config$textareaComponent = F2( function (model, fieldInstance) { var fieldLengthClasses = A2( _elm_lang$core$List$map, function ($class) { return {ctor: '_Tuple2', _0: $class, _1: true}; }, _user$project$Config$fieldInstanceClasses(fieldInstance)); var fieldValid = A2(_user$project$Config$validateFieldInstance, model.fieldCollection, fieldInstance); var allFields = _user$project$Config$buildAllFields(model.fieldCollection); var enabled = A2( _user$project$Config$checkEnabled, allFields, _user$project$Config$fieldInstanceToFieldMeta(fieldInstance)); var maybeSpecific = function () { var _p43 = fieldInstance.fieldHolder; if (_p43.ctor === 'FieldOk') { return _elm_lang$core$Maybe$Just(_p43._0); } else { return _elm_lang$core$Maybe$Nothing; } }(); var fieldInstances = model.fieldCollection.fieldInstances; var fieldLocator = fieldInstance.fieldLocator; var fieldScope = fieldLocator.fieldScope; var fieldCode = fieldLocator.code; var maybeFallbackFieldValue = A3(_user$project$Config$fallbackValue, fieldScope, allFields, fieldCode); var fieldClass = fieldLocator.fieldClass; var fieldType = fieldLocator.fieldType; var focused = _elm_lang$core$Native_Utils.eq( _elm_lang$core$Maybe$Just(fieldLocator), model.focused); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$classList( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$Component, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$FocusedComponent, _1: focused}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$InvalidComponent, _1: !fieldValid}, _1: {ctor: '[]'} } } }, fieldLengthClasses)), _1: {ctor: '[]'} }, { ctor: '::', _0: A5(_user$project$Config$fieldInput, model, fieldInstance, maybeSpecific, maybeFallbackFieldValue, enabled), _1: {ctor: '[]'} }); }); var _user$project$Config$Submit = {ctor: 'Submit'}; var _user$project$Config$view = function (model) { var _p44 = model.webConfigGroup; switch (_p44.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p44._0)), _1: {ctor: '[]'} }); default: var _p46 = _p44._0; var statusString = function () { var _p45 = model.status; if (_p45.ctor === 'Saved') { return 'Saved'; } else { return ''; } }(); var cryptos = A3(_user$project$ConfigTypes$allCryptos, _p46.data.cryptoCurrencies, _p46.schema.cryptoScope, _p46.selectedCryptos); var getView = _elm_lang$core$Native_Utils.eq(_p46.schema.code, 'compliance') ? _user$project$Config$complianceTableView : (_elm_lang$core$Native_Utils.eq(_p46.schema.code, 'terms') ? _user$project$Config$termsTableView : _user$project$Config$tableView); var resolvedModel = A2(_user$project$Config$toResolvedModel, model, _p46); var configGroupView = A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigContainer, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: getView(resolvedModel), _1: {ctor: '[]'} }); var machines = _user$project$ConfigTypes$listMachines(resolvedModel.configGroup); var fieldInstances = resolvedModel.fieldCollection.fieldInstances; var cryptoFieldInstances = A2( _elm_lang$core$List$filter, function (fi) { return _elm_lang$core$Native_Utils.eq(fi.fieldLocator.fieldScope.crypto, resolvedModel.crypto); }, fieldInstances); var submitButton = A2( _elm_lang$core$List$all, _user$project$Config$validateFieldInstance(model.fieldCollection), cryptoFieldInstances) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick(_user$project$Config$Submit), _1: { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Button, _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Submit'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Button, _1: { ctor: '::', _0: _user$project$Css_Classes$Disabled, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Submit'), _1: {ctor: '[]'} }); var form = _elm_lang$core$List$isEmpty(machines) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$EmptyTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('No paired machines.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$form, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: configGroupView, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ButtonRow, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: submitButton, _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(statusString), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); return _elm_lang$core$Native_Utils.eq(_p46.schema.cryptoScope, _user$project$ConfigTypes$Global) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$SectionLabel, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p46.schema.display), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: form, _1: {ctor: '[]'} } }) : (_elm_lang$core$List$isEmpty(cryptos) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$SectionLabel, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p46.schema.display), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No Crypto currencies have been set. You can set them under Machine settings.'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$SectionLabel, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p46.schema.display), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Config$cryptosView, cryptos, model.crypto), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: form, _1: {ctor: '[]'} } } })); } }; var _user$project$Config$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Config$getForm = function (code) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Config$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$ConfigDecoder$configGroupDecoder), _lukewestby$elm_http_builder$HttpBuilder$get( A2(_elm_lang$core$Basics_ops['++'], '/api/config/', code))))); }; var _user$project$Config$load = F3( function (model, code, maybeCryptoCodeString) { var crypto = A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$stringToCrypto, maybeCryptoCodeString); return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {crypto: crypto}), _1: _user$project$Config$getForm(code) }; }); var _user$project$Config$postForm = F2( function (configGroupCode, fieldInstances) { var maybeResults = A2(_user$project$ConfigEncoder$encodeResults, configGroupCode, fieldInstances); var _p47 = maybeResults; if (_p47.ctor === 'Nothing') { return _elm_lang$core$Platform_Cmd$none; } else { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Config$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$ConfigDecoder$configGroupDecoder), A2( _lukewestby$elm_http_builder$HttpBuilder$withJsonBody, _p47._0, _lukewestby$elm_http_builder$HttpBuilder$post('/api/config'))))); } }); var _user$project$Config$postFormNoLoad = F2( function (configGroupCode, fieldInstances) { return A2( _elm_lang$core$Platform_Cmd$map, function (_p48) { return _user$project$Config$NoOp; }, A2(_user$project$Config$postForm, configGroupCode, fieldInstances)); }); var _user$project$Config$submitNoLoad = function (model) { var _p49 = model.webConfigGroup; if (_p49.ctor === 'Success') { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: A2(_user$project$Config$postFormNoLoad, _p49._0.schema.code, model.fieldCollection.fieldInstances), _1: {ctor: '[]'} }); } else { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); } }; var _user$project$Config$submit = function (model) { var _p50 = model.webConfigGroup; if (_p50.ctor === 'Success') { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {status: _user$project$Config$Saving}), { ctor: '::', _0: A2(_user$project$Config$postForm, _p50._0.schema.code, model.fieldCollection.fieldInstances), _1: {ctor: '[]'} }); } else { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); } }; var _user$project$Config$update = F2( function (msg, model) { var _p51 = msg; switch (_p51.ctor) { case 'Load': var _p58 = _p51._0; var defaultCrypto = function () { var _p52 = _p58; if (_p52.ctor === 'Success') { var _p53 = _p52._0; return A2( _elm_lang$core$Maybe$map, function (_) { return _.crypto; }, _elm_lang$core$List$head( A3(_user$project$ConfigTypes$allCryptos, _p53.data.cryptoCurrencies, _p53.schema.cryptoScope, _p53.selectedCryptos))); } else { return _elm_lang$core$Maybe$Nothing; } }(); var crypto = function () { var _p54 = model.crypto; if (_p54.ctor === 'Nothing') { return defaultCrypto; } else { return _elm_lang$core$Maybe$Just(_p54._0); } }(); var fiat = function () { var _p55 = _p58; if (_p55.ctor === 'Success') { return _user$project$Config$pickFiat(_p55._0.values); } else { return _elm_lang$core$Maybe$Nothing; } }(); var fieldCollection = function () { var _p56 = _p58; if (_p56.ctor === 'Success') { return _user$project$Config$buildFieldCollection(_p56._0); } else { return _user$project$ConfigTypes$initFieldCollection; } }(); var status = _elm_lang$core$Native_Utils.eq(model.status, _user$project$Config$Saving) ? _user$project$Config$Saved : model.status; var cmd = _elm_lang$core$Native_Utils.eq(status, _user$project$Config$Saved) ? A2( _elm_lang$core$Task$perform, function (_p57) { return _user$project$Config$HideSaveIndication; }, _elm_lang$core$Process$sleep(2 * _elm_lang$core$Time$second)) : _elm_lang$core$Platform_Cmd$none; return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {webConfigGroup: _p58, fieldCollection: fieldCollection, status: status, crypto: crypto, fiat: fiat}), _1: cmd }; case 'Submit': return _user$project$Config$submit(model); case 'Input': return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3( _user$project$Config$updateInput, _p51._0, _elm_lang$core$Maybe$Just(_p51._1), model), {ctor: '[]'}); case 'CryptoSwitch': var _p60 = _p51._0; var _p59 = model.webConfigGroup; if (_p59.ctor === 'Success') { var cryptoCode = _user$project$ConfigTypes$cryptoToString(_p60); var path = A2( _elm_lang$core$Basics_ops['++'], '#config/', A2( _elm_lang$core$Basics_ops['++'], _p59._0.schema.code, A2(_elm_lang$core$Basics_ops['++'], '/', cryptoCode))); var command = _elm_lang$navigation$Navigation$newUrl(path); return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, { crypto: _elm_lang$core$Maybe$Just(_p60) }), { ctor: '::', _0: command, _1: {ctor: '[]'} }); } else { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); } case 'Focus': return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3(_user$project$Config$updateFocus, _p51._0, true, model), {ctor: '[]'}); case 'Blur': return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3(_user$project$Config$updateFocus, _p51._0, false, model), {ctor: '[]'}); case 'SelectizeMsg': return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3(_user$project$Config$updateSelectize, _p51._0, _p51._1, model), {ctor: '[]'}); case 'BlurSelectize': var _p61 = _p51._0; return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3( _user$project$Config$updateFocus, _p61, false, A3(_user$project$Config$updateSelectize, _p61, _p51._1, model)), {ctor: '[]'}); case 'FocusSelectize': var _p62 = _p51._0; return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3( _user$project$Config$updateFocus, _p62, true, A3(_user$project$Config$updateSelectize, _p62, _p51._1, model)), {ctor: '[]'}); case 'Add': var _p63 = _p51._0; return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3( _user$project$Config$updateInput, _p63, _elm_lang$core$Maybe$Just(_p51._1), A3(_user$project$Config$updateSelectize, _p63, _p51._2, model)), {ctor: '[]'}); case 'Remove': var _p64 = _p51._0; return A2( _elm_lang$core$Platform_Cmd_ops['!'], A3( _user$project$Config$updateInput, _p64, _elm_lang$core$Maybe$Nothing, A3(_user$project$Config$updateSelectize, _p64, _p51._1, model)), {ctor: '[]'}); case 'HideSaveIndication': return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {status: _user$project$Config$NotSaving}), {ctor: '[]'}); default: return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); } }); var _user$project$Pair$qrCode = function (s) { var resultQRCode = A2(_pablohirafuji$elm_qrcode$QRCode$toSvgWithECLevel, s, _pablohirafuji$elm_qrcode$QRCode_ECLevel$L); var _p0 = resultQRCode; if (_p0.ctor === 'Ok') { return _p0._0; } else { return _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p0._0)); } }; var _user$project$Pair$updateStatus = F2( function (isUp, model) { return _elm_lang$core$Native_Utils.update( model, {serverStatus: isUp}); }); var _user$project$Pair$init = function (serverStatus) { return {totem: _krisajenkins$remotedata$RemoteData$NotAsked, name: '', serverStatus: serverStatus}; }; var _user$project$Pair$Model = F3( function (a, b, c) { return {totem: a, name: b, serverStatus: c}; }); var _user$project$Pair$SubmitName = {ctor: 'SubmitName'}; var _user$project$Pair$InputName = function (a) { return {ctor: 'InputName', _0: a}; }; var _user$project$Pair$view = function (model) { if (model.serverStatus) { var _p1 = model.totem; switch (_p1.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$h1, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Pair a new Lamassu cryptomat'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$label, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Cryptomat name'), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Events$onInput(_user$project$Pair$InputName), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$placeholder('Coffee shop, 43 Elm St.'), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$size(50), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$style( { ctor: '::', _0: {ctor: '_Tuple2', _0: 'margin-left', _1: '1em'}, _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } }, {ctor: '[]'}), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick(_user$project$Pair$SubmitName), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$disabled( _elm_lang$core$String$isEmpty(model.name)), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Pair'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('...'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p1._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$QrCode, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _user$project$Pair$qrCode(_p1._0), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$span, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Scan this QR Code to pair '), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$strong, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(model.name), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); } } else { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Make sure lamassu-server is up before pairing'), _1: {ctor: '[]'} }); } }; var _user$project$Pair$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Pair$getTotem = function (name) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Pair$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectString, A2( _lukewestby$elm_http_builder$HttpBuilder$withQueryParams, { ctor: '::', _0: {ctor: '_Tuple2', _0: 'name', _1: name}, _1: {ctor: '[]'} }, _lukewestby$elm_http_builder$HttpBuilder$get('/api/totem'))))); }; var _user$project$Pair$update = F2( function (msg, model) { var _p2 = msg; switch (_p2.ctor) { case 'Load': var _p4 = _p2._0; var _p3 = A2( _elm_lang$core$Debug$log, 'TOTEM', A2(_krisajenkins$remotedata$RemoteData$withDefault, 'Network Error', _p4)); return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {totem: _p4}), {ctor: '[]'}); case 'InputName': return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {name: _p2._0}), {ctor: '[]'}); default: return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: _user$project$Pair$getTotem(model.name), _1: {ctor: '[]'} }); } }); var _user$project$MaintenanceMachines_Types$SubModel = F2( function (a, b) { return {status: a, machines: b}; }); var _user$project$MaintenanceMachines_Types$Machine = F7( function (a, b, c, d, e, f, g) { return {deviceId: a, name: b, cashbox: c, cassette1: d, cassette2: e, paired: f, cashOut: g}; }); var _user$project$MaintenanceMachines_Types$RestartServices = function (a) { return {ctor: 'RestartServices', _0: a}; }; var _user$project$MaintenanceMachines_Types$RebootMachine = function (a) { return {ctor: 'RebootMachine', _0: a}; }; var _user$project$MaintenanceMachines_Types$UnpairMachine = function (a) { return {ctor: 'UnpairMachine', _0: a}; }; var _user$project$MaintenanceMachines_Types$ResetCashOutBills = function (a) { return {ctor: 'ResetCashOutBills', _0: a}; }; var _user$project$MaintenanceMachines_Types$HideSaveIndication = {ctor: 'HideSaveIndication'}; var _user$project$MaintenanceMachines_Types$Submit = function (a) { return {ctor: 'Submit', _0: a}; }; var _user$project$MaintenanceMachines_Types$InputCassette = F3( function (a, b, c) { return {ctor: 'InputCassette', _0: a, _1: b, _2: c}; }); var _user$project$MaintenanceMachines_Types$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$MaintenanceMachines_Types$Action = {ctor: 'Action'}; var _user$project$MaintenanceMachines_Types$Bottom = {ctor: 'Bottom'}; var _user$project$MaintenanceMachines_Types$Top = {ctor: 'Top'}; var _user$project$MaintenanceFunding_Types$CryptoDisplay = F2( function (a, b) { return {cryptoCode: a, display: b}; }); var _user$project$MaintenanceFunding_Types$SubModel = F9( function (a, b, c, d, e, f, g, h, i) { return {cryptoCode: a, cryptoDisplays: b, fundingAddress: c, fundingAddressUrl: d, confirmedBalance: e, pending: f, fiatConfirmedBalance: g, fiatPending: h, fiatCode: i}; }); var _user$project$MaintenanceFunding_Types$CryptoSwitch = function (a) { return {ctor: 'CryptoSwitch', _0: a}; }; var _user$project$MaintenanceFunding_Types$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Transaction_Types$SubModel = F2( function (a, b) { return {status: a, tx: b}; }); var _user$project$Transaction_Types$HideSaveIndication = {ctor: 'HideSaveIndication'}; var _user$project$Transaction_Types$Cancel = function (a) { return {ctor: 'Cancel', _0: a}; }; var _user$project$Transaction_Types$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Transaction_Decoder$confirmedDecoder = A2( _elm_lang$core$Json_Decode$map, function (_p0) { return A2( _elm_lang$core$Maybe$withDefault, false, A2( _elm_lang$core$Maybe$map, _elm_lang$core$Basics$always(true), _p0)); }, _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string)); var _user$project$Transaction_Decoder$intString = A2( _elm_lang$core$Json_Decode$andThen, function (_p1) { return _elm_community$json_extra$Json_Decode_Extra$fromResult( _elm_lang$core$String$toInt(_p1)); }, _elm_lang$core$Json_Decode$string); var _user$project$Transaction_Decoder$floatString = A2( _elm_lang$core$Json_Decode$andThen, function (_p2) { return _elm_community$json_extra$Json_Decode_Extra$fromResult( _elm_lang$core$String$toFloat(_p2)); }, _elm_lang$core$Json_Decode$string); var _user$project$Transaction_Decoder$mapCryptoCode = function (code) { var _p3 = code; switch (_p3) { case 'BTC': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$BTC); case 'BCH': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$BCH); case 'ETH': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$ETH); case 'ZEC': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$ZEC); case 'DASH': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$DASH); case 'LTC': return _elm_lang$core$Json_Decode$succeed(_user$project$Common_TransactionTypes$LTC); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'No such cryptocurrency: ', code)); } }; var _user$project$Transaction_Decoder$cryptoCodeDecoder = A2(_elm_lang$core$Json_Decode$andThen, _user$project$Transaction_Decoder$mapCryptoCode, _elm_lang$core$Json_Decode$string); var _user$project$Transaction_Decoder$cashInTxDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'created', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'expired', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'sendConfirmed', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'send', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'operatorCompleted', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'error', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'phone', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'txHash', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiatCode', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'rawTickerPrice', _elm_lang$core$Json_Decode$nullable(_user$project$Transaction_Decoder$floatString), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'commissionPercentage', _elm_lang$core$Json_Decode$nullable(_user$project$Transaction_Decoder$floatString), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiat', _user$project$Transaction_Decoder$floatString, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoCode', _user$project$Transaction_Decoder$cryptoCodeDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoAtoms', _user$project$Transaction_Decoder$intString, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'toAddress', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'machineName', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'id', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_TransactionTypes$CashInTxRec)))))))))))))))))); var _user$project$Transaction_Decoder$cashOutTxDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'expired', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'confirmedAt', _user$project$Transaction_Decoder$confirmedDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'created', _elm_community$json_extra$Json_Decode_Extra$date, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'error', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'phone', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'redeem', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'notified', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'dispense', _elm_lang$core$Json_Decode$bool, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'status', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiatCode', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'rawTickerPrice', _elm_lang$core$Json_Decode$nullable(_user$project$Transaction_Decoder$floatString), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'commissionPercentage', _elm_lang$core$Json_Decode$nullable(_user$project$Transaction_Decoder$floatString), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiat', _user$project$Transaction_Decoder$floatString, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoCode', _user$project$Transaction_Decoder$cryptoCodeDecoder, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoAtoms', _user$project$Transaction_Decoder$intString, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'toAddress', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'machineName', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'id', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$Common_TransactionTypes$CashOutTxRec))))))))))))))))))); var _user$project$Transaction_Decoder$txDecode = function (txClass) { var _p4 = txClass; switch (_p4) { case 'cashIn': return A2(_elm_lang$core$Json_Decode$map, _user$project$Common_TransactionTypes$CashInTx, _user$project$Transaction_Decoder$cashInTxDecoder); case 'cashOut': return A2(_elm_lang$core$Json_Decode$map, _user$project$Common_TransactionTypes$CashOutTx, _user$project$Transaction_Decoder$cashOutTxDecoder); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'Unknown tx class: ', txClass)); } }; var _user$project$Transaction_Decoder$txDecoder = A2( _elm_lang$core$Json_Decode$andThen, _user$project$Transaction_Decoder$txDecode, A2(_elm_lang$core$Json_Decode$field, 'txClass', _elm_lang$core$Json_Decode$string)); var _user$project$Transaction_Decoder$txsDecoder = A2( _elm_lang$core$Json_Decode$field, 'transactions', _elm_lang$core$Json_Decode$list(_user$project$Transaction_Decoder$txDecoder)); var _user$project$Transactions$cryptoCodeDisplay = function (code) { var txt = function () { var _p0 = code; switch (_p0.ctor) { case 'BTC': return 'BTC'; case 'BCH': return 'BCH'; case 'ETH': return 'ETH'; case 'ZEC': return 'ZEC'; case 'DASH': return 'DASH'; default: return 'LTC'; } }(); return _elm_lang$html$Html$text(txt); }; var _user$project$Transactions$txLink = function (txId) { return A2( _elm_lang$html$Html$a, { ctor: '::', _0: _elm_lang$html$Html_Attributes$href( A2(_elm_lang$core$Basics_ops['++'], '/#transaction/', txId)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$String$left, 8, txId)), _1: {ctor: '[]'} }); }; var _user$project$Transactions$multiplier = function (code) { var _p1 = code; switch (_p1.ctor) { case 'BTC': return 1.0e8; case 'BCH': return 1.0e8; case 'ETH': return 1.0e18; case 'ZEC': return 1.0e8; case 'DASH': return 1.0e8; default: return 1.0e8; } }; var _user$project$Transactions$rowView = function (tx) { var _p2 = tx; if (_p2.ctor === 'CashInTx') { var _p3 = _p2._0; var status = _p3.operatorCompleted ? 'Cancelled' : (_elm_community$maybe_extra$Maybe_Extra$isJust(_p3.error) ? 'Error' : (_p3.sendConfirmed ? 'Sent' : (_p3.expired ? 'Expired' : 'Pending'))); var rowClasses = _p3.operatorCompleted ? { ctor: '::', _0: _user$project$Css_Classes$CashIn, _1: { ctor: '::', _0: _user$project$Css_Classes$TxCancelled, _1: {ctor: '[]'} } } : { ctor: '::', _0: _user$project$Css_Classes$CashIn, _1: {ctor: '[]'} }; return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class(rowClasses), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Transactions$txLink(_p3.id), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(status), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', _p3.created)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(_p3.machineName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _ggb$numeral_elm$Numeral$format, '0,0.000000', _elm_lang$core$Basics$toFloat(_p3.cryptoAtoms) / _user$project$Transactions$multiplier(_p3.cryptoCode))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Transactions$cryptoCodeDisplay(_p3.cryptoCode), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_ggb$numeral_elm$Numeral$format, '0,0.00', _p3.fiat)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _ggb$numeral_elm$Numeral$format, '0,0.00', A2(_elm_lang$core$Maybe$withDefault, 0.0, _p3.commissionPercentage))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$Maybe$withDefault, '', _p3.phone)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxAddress, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p3.toAddress), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } } } } } }); } else { var _p4 = _p2._0; var status = _elm_community$maybe_extra$Maybe_Extra$isJust(_p4.error) ? 'Error' : (_p4.dispense ? 'Success' : (_p4.expired ? 'Expired' : 'Pending')); return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CashOut, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Transactions$txLink(_p4.id), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(status), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: { ctor: '::', _0: _user$project$Css_Classes$DateColumn, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', _p4.created)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(_p4.machineName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _ggb$numeral_elm$Numeral$format, '0,0.000000', _elm_lang$core$Basics$toFloat(_p4.cryptoAtoms) / _user$project$Transactions$multiplier(_p4.cryptoCode))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Transactions$cryptoCodeDisplay(_p4.cryptoCode), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_ggb$numeral_elm$Numeral$format, '0,0.00', _p4.fiat)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _ggb$numeral_elm$Numeral$format, '0,0.00', A2(_elm_lang$core$Maybe$withDefault, 0.0, _p4.commissionPercentage))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$NumberColumn, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$Maybe$withDefault, '', _p4.phone)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxAddress, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(_p4.toAddress), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } } } } } }); } }; var _user$project$Transactions$tableView = function (txs) { return _elm_lang$core$List$isEmpty(txs) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No activity yet.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxId, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Id'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Status'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxDate, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Time'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxMachine, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Machine'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _elm_lang$html$Html_Attributes$colspan(2), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Crypto'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxAmount, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Fiat'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxAmount, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Commission'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxPhone, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Phone'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxAddress, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('To address'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } } } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$Transactions$rowView, txs)), _1: {ctor: '[]'} } }); }; var _user$project$Transactions$view = function (model) { var _p5 = model; switch (_p5.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p5._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Transactions$tableView(_p5._0), _1: {ctor: '[]'} }); } }; var _user$project$Transactions$update = F2( function (msg, model) { var _p6 = msg; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _p6._0, {ctor: '[]'}); }); var _user$project$Transactions$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$Transactions$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Transactions$getTransactions = A2( _elm_lang$core$Platform_Cmd$map, _user$project$Transactions$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Transaction_Decoder$txsDecoder), _lukewestby$elm_http_builder$HttpBuilder$get('/api/transactions')))); var _user$project$Transactions$loadCmd = _user$project$Transactions$getTransactions; var _user$project$Transactions$load = {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$Transactions$loadCmd}; var _user$project$Customers_Types$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Customer_Types$PatchCustomer = F3( function (a, b, c) { return {ctor: 'PatchCustomer', _0: a, _1: b, _2: c}; }); var _user$project$Customer_Types$Load = function (a) { return {ctor: 'Load', _0: a}; }; var _user$project$Logs_Types$Model = F3( function (a, b, c) { return {logs: a, machines: b, latestLogSnapshot: c}; }); var _user$project$Logs_Types$LoadSupportLog = function (a) { return {ctor: 'LoadSupportLog', _0: a}; }; var _user$project$Logs_Types$ShareLogs = function (a) { return {ctor: 'ShareLogs', _0: a}; }; var _user$project$Logs_Types$LoadMachines = function (a) { return {ctor: 'LoadMachines', _0: a}; }; var _user$project$Logs_Types$LoadLogs = function (a) { return {ctor: 'LoadLogs', _0: a}; }; var _user$project$SupportLogs_Types$Model = F2( function (a, b) { return {logs: a, supportLogs: b}; }); var _user$project$SupportLogs_Types$LoadSupportLogs = function (a) { return {ctor: 'LoadSupportLogs', _0: a}; }; var _user$project$SupportLogs_Types$LoadLogs = function (a) { return {ctor: 'LoadLogs', _0: a}; }; var _user$project$CoreTypes$MaintenanceCat = {ctor: 'MaintenanceCat'}; var _user$project$CoreTypes$GlobalSettingsCat = {ctor: 'GlobalSettingsCat'}; var _user$project$CoreTypes$MachineSettingsCat = {ctor: 'MachineSettingsCat'}; var _user$project$CoreTypes$AccountCat = {ctor: 'AccountCat'}; var _user$project$CoreTypes$NotFoundRoute = {ctor: 'NotFoundRoute'}; var _user$project$CoreTypes$MaintenanceFundingRoute = function (a) { return {ctor: 'MaintenanceFundingRoute', _0: a}; }; var _user$project$CoreTypes$MaintenanceMachinesRoute = {ctor: 'MaintenanceMachinesRoute'}; var _user$project$CoreTypes$SupportLogsRoute = function (a) { return {ctor: 'SupportLogsRoute', _0: a}; }; var _user$project$CoreTypes$LogsRoute = function (a) { return {ctor: 'LogsRoute', _0: a}; }; var _user$project$CoreTypes$CustomerRoute = function (a) { return {ctor: 'CustomerRoute', _0: a}; }; var _user$project$CoreTypes$CustomersRoute = {ctor: 'CustomersRoute'}; var _user$project$CoreTypes$TransactionRoute = function (a) { return {ctor: 'TransactionRoute', _0: a}; }; var _user$project$CoreTypes$TransactionsRoute = {ctor: 'TransactionsRoute'}; var _user$project$CoreTypes$ConfigRoute = F2( function (a, b) { return {ctor: 'ConfigRoute', _0: a, _1: b}; }); var _user$project$CoreTypes$PairRoute = {ctor: 'PairRoute'}; var _user$project$CoreTypes$AccountRoute = function (a) { return {ctor: 'AccountRoute', _0: a}; }; var _user$project$CoreTypes$WebSocketMsg = function (a) { return {ctor: 'WebSocketMsg', _0: a}; }; var _user$project$CoreTypes$Interval = {ctor: 'Interval'}; var _user$project$CoreTypes$UrlChange = function (a) { return {ctor: 'UrlChange', _0: a}; }; var _user$project$CoreTypes$NewUrl = function (a) { return {ctor: 'NewUrl', _0: a}; }; var _user$project$CoreTypes$LoadStatus = function (a) { return {ctor: 'LoadStatus', _0: a}; }; var _user$project$CoreTypes$LoadAccounts = function (a) { return {ctor: 'LoadAccounts', _0: a}; }; var _user$project$CoreTypes$SupportLogsMsg = function (a) { return {ctor: 'SupportLogsMsg', _0: a}; }; var _user$project$CoreTypes$LogsMsg = function (a) { return {ctor: 'LogsMsg', _0: a}; }; var _user$project$CoreTypes$CustomerMsg = function (a) { return {ctor: 'CustomerMsg', _0: a}; }; var _user$project$CoreTypes$CustomersMsg = function (a) { return {ctor: 'CustomersMsg', _0: a}; }; var _user$project$CoreTypes$TransactionMsg = function (a) { return {ctor: 'TransactionMsg', _0: a}; }; var _user$project$CoreTypes$TransactionsMsg = function (a) { return {ctor: 'TransactionsMsg', _0: a}; }; var _user$project$CoreTypes$MaintenanceFundingMsg = function (a) { return {ctor: 'MaintenanceFundingMsg', _0: a}; }; var _user$project$CoreTypes$MaintenanceMachinesMsg = function (a) { return {ctor: 'MaintenanceMachinesMsg', _0: a}; }; var _user$project$CoreTypes$ConfigMsg = function (a) { return {ctor: 'ConfigMsg', _0: a}; }; var _user$project$CoreTypes$PairMsg = function (a) { return {ctor: 'PairMsg', _0: a}; }; var _user$project$CoreTypes$AccountMsg = function (a) { return {ctor: 'AccountMsg', _0: a}; }; var _user$project$Customer_Rest$getCustomer = function (id) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Customer_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Common_Customer_Decoder$customerDecoder), _lukewestby$elm_http_builder$HttpBuilder$get( A2(_elm_lang$core$Basics_ops['++'], '/api/customer/', id))))); }; var _user$project$Customer_Rest$patchCustomer = F3( function (id, field, value) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Customer_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Common_Customer_Decoder$customerDecoder), _lukewestby$elm_http_builder$HttpBuilder$patch( A2( _elm_lang$core$Basics_ops['++'], '/api/customer/', A2( _elm_lang$core$Basics_ops['++'], id, A2( _elm_lang$core$Basics_ops['++'], '?', A2( _elm_lang$core$Basics_ops['++'], field, A2( _elm_lang$core$Basics_ops['++'], '=', _user$project$Common_Customer_Types$authorizedToString(value)))))))))); }); var _user$project$Customer_State$update = F2( function (msg, model) { var _p0 = msg; if (_p0.ctor === 'Load') { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _p0._0, {ctor: '[]'}); } else { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: A3(_user$project$Customer_Rest$patchCustomer, _p0._0, _p0._1, _p0._2), _1: {ctor: '[]'} }); } }); var _user$project$Customer_State$load = function (id) { return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$Customer_Rest$getCustomer(id) }; }; var _user$project$Customer_State$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$Customer_View$verifyStatus = F2( function (complianceType, fieldOverride) { return (_elm_lang$core$Native_Utils.eq(fieldOverride, _user$project$Common_Customer_Types$Verified) || ((!_elm_lang$core$Native_Utils.eq(complianceType, _elm_lang$core$Maybe$Nothing)) && _elm_lang$core$Native_Utils.eq(fieldOverride, _user$project$Common_Customer_Types$Automatic))) ? _elm_lang$html$Html$text('Verified') : _elm_lang$html$Html$text('Unverified'); }); var _user$project$Customer_View$radio = F4( function (inputName, checkedValue, value, msg) { return A2( _elm_lang$html$Html$label, { ctor: '::', _0: _elm_lang$html$Html_Attributes$style( { ctor: '::', _0: {ctor: '_Tuple2', _0: 'padding', _1: '5px'}, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$input, { ctor: '::', _0: _elm_lang$html$Html_Attributes$checked( _elm_lang$core$Native_Utils.eq(checkedValue, value)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$type_('radio'), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$name(inputName), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick(msg), _1: {ctor: '[]'} } } } }, {ctor: '[]'}), _1: { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(value)), _1: {ctor: '[]'} } }); }); var _user$project$Customer_View$actions = F3( function (id, fieldKey, checkedValue) { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A4( _user$project$Customer_View$radio, fieldKey, checkedValue, _user$project$Common_Customer_Types$Automatic, A3(_user$project$Customer_Types$PatchCustomer, id, fieldKey, _user$project$Common_Customer_Types$Automatic)), _1: { ctor: '::', _0: A4( _user$project$Customer_View$radio, fieldKey, checkedValue, _user$project$Common_Customer_Types$Blocked, A3(_user$project$Customer_Types$PatchCustomer, id, fieldKey, _user$project$Common_Customer_Types$Blocked)), _1: { ctor: '::', _0: A4( _user$project$Customer_View$radio, fieldKey, checkedValue, _user$project$Common_Customer_Types$Verified, A3(_user$project$Customer_Types$PatchCustomer, id, fieldKey, _user$project$Common_Customer_Types$Verified)), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }); }); var _user$project$Customer_View$maybeText = function (maybeString) { return _elm_lang$html$Html$text( A2(_elm_lang$core$Maybe$withDefault, '', maybeString)); }; var _user$project$Customer_View$formatDate = function (date) { var _p0 = date; if (_p0.ctor === 'Just') { return A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', _p0._0); } else { return ''; } }; var _user$project$Customer_View$customerActions = F2( function (id, authorizedOverride) { var _p1 = authorizedOverride; switch (_p1.ctor) { case 'Blocked': return A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( A3(_user$project$Customer_Types$PatchCustomer, id, 'authorizedOverride', _user$project$Common_Customer_Types$Verified)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Unblock'), _1: {ctor: '[]'} }); case 'Verified': return A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( A3(_user$project$Customer_Types$PatchCustomer, id, 'authorizedOverride', _user$project$Common_Customer_Types$Blocked)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Block'), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( A3(_user$project$Customer_Types$PatchCustomer, id, 'authorizedOverride', _user$project$Common_Customer_Types$Blocked)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Block'), _1: {ctor: '[]'} }); } }); var _user$project$Customer_View$customerView = function (customer) { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$h1, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Customer Details'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Customer ID'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(customer.id), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Name'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.name), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Phone'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.phone), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Completed phone at'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.phoneAt)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Created'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', customer.created)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Block Customer'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$customerActions, customer.id, customer.authorizedOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Authorized at '), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.authorizedAt)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Daily Volume '), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.dailyVolume), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } } } } } } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Compliance types'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Name'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Date'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Verify Status'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Override Status'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('User who overrode'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Actions'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('SMS'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.phoneAt)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$verifyStatus, customer.phone, customer.smsOverride), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(customer.smsOverride)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.smsOverrideByName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A3(_user$project$Customer_View$actions, customer.id, 'smsOverride', customer.smsOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('ID Card Data'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.idCardDataAt)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$verifyStatus, customer.idCardData, customer.idCardDataOverride), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(customer.idCardDataOverride)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.idCardDataOverrideByName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A3(_user$project$Customer_View$actions, customer.id, 'idCardDataOverride', customer.idCardDataOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('ID Card Photo'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.idCardPhotoAt)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$verifyStatus, customer.idCardPhotoPath, customer.idCardPhotoOverride), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(customer.idCardPhotoOverride)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.idCardPhotoOverrideByName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A3(_user$project$Customer_View$actions, customer.id, 'idCardPhotoOverride', customer.idCardPhotoOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Front Facing Camera'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.frontCameraAt)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$verifyStatus, customer.frontCameraPath, customer.frontCameraOverride), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(customer.frontCameraOverride)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.frontCameraOverrideByName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A3(_user$project$Customer_View$actions, customer.id, 'frontCameraOverride', customer.frontCameraOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Sanctions Check'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Customer_View$formatDate(customer.sanctionsAt)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2(_user$project$Customer_View$verifyStatus, customer.sanctions, customer.sanctionsOverride), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Common_Customer_Types$authorizedToString(customer.sanctionsOverride)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$maybeText(customer.sanctionsOverrideByName), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A3(_user$project$Customer_View$actions, customer.id, 'sanctionsOverride', customer.sanctionsOverride), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }), _1: {ctor: '[]'} } } } } }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('ID Card Photo'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: function () { var _p2 = customer.idCardPhotoPath; if (_p2.ctor === 'Nothing') { return _elm_lang$html$Html$text('N/A'); } else { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$img, { ctor: '::', _0: _elm_lang$html$Html_Attributes$src( A2(_elm_lang$core$Basics_ops['++'], '/id-card-photo/', _p2._0)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$height(200), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$alt('N/A'), _1: {ctor: '[]'} } } }, {ctor: '[]'}), _1: {ctor: '[]'} }); } }(), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Front Facing Camera Photo'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: function () { var _p3 = customer.frontCameraPath; if (_p3.ctor === 'Nothing') { return _elm_lang$html$Html$text('N/A'); } else { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$img, { ctor: '::', _0: _elm_lang$html$Html_Attributes$src( A2(_elm_lang$core$Basics_ops['++'], '/front-camera-photo/', _p3._0)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$height(200), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$alt('N/A'), _1: {ctor: '[]'} } } }, {ctor: '[]'}), _1: {ctor: '[]'} }); } }(), _1: {ctor: '[]'} } } } } } } } }); }; var _user$project$Customer_View$view = function (model) { var _p4 = model; switch (_p4.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p4._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customer_View$customerView(_p4._0), _1: {ctor: '[]'} }); } }; var _user$project$Customers_Rest$getCustomers = A2( _elm_lang$core$Platform_Cmd$map, _user$project$Customers_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Common_Customer_Decoder$customersDecoder), _lukewestby$elm_http_builder$HttpBuilder$get('/api/customers')))); var _user$project$Customers_State$update = F2( function (msg, model) { var _p0 = msg; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _p0._0, {ctor: '[]'}); }); var _user$project$Customers_State$loadCmd = _user$project$Customers_Rest$getCustomers; var _user$project$Customers_State$load = {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$Customers_State$loadCmd}; var _user$project$Customers_State$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$Customers_View$maybeText = function (maybeString) { return _elm_lang$html$Html$text( A2(_elm_lang$core$Maybe$withDefault, '', maybeString)); }; var _user$project$Customers_View$customerLink = function (id) { return A2( _elm_lang$html$Html$a, { ctor: '::', _0: _elm_lang$html$Html_Attributes$href( A2(_elm_lang$core$Basics_ops['++'], '/#customer/', id)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$String$left, 8, id)), _1: {ctor: '[]'} }); }; var _user$project$Customers_View$rowView = function (customer) { return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '[]'}), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customers_View$customerLink(customer.id), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', customer.created)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customers_View$maybeText(customer.phone), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customers_View$maybeText(customer.name), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customers_View$maybeText(customer.status), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } }); }; var _user$project$Customers_View$tableView = function (customers) { return _elm_lang$core$List$isEmpty(customers) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No customers yet.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$h1, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Customers'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Id'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Created'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Phone'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Name'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Status'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$Customers_View$rowView, customers)), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); }; var _user$project$Customers_View$view = function (model) { var _p0 = model; switch (_p0.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p0._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Customers_View$tableView(_p0._0), _1: {ctor: '[]'} }); } }; var _user$project$Logs_Rest$shareLogs = function (id) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Logs_Types$LoadSupportLog, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Common_Logs_Decoder$latestLogSnapshotDecoder), _lukewestby$elm_http_builder$HttpBuilder$post( A2(_elm_lang$core$Basics_ops['++'], '/api/support_logs?deviceId=', id))))); }; var _user$project$Logs_Rest$getMachines = A2( _elm_lang$core$Platform_Cmd$map, _user$project$Logs_Types$LoadMachines, _krisajenkins$remotedata$RemoteData$sendRequest( A2(_elm_lang$http$Http$get, '/api/machines/', _user$project$Common_Logs_Decoder$machinesDecoder))); var _user$project$Logs_Rest$getLogs = function (maybeId) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Logs_Types$LoadLogs, _krisajenkins$remotedata$RemoteData$sendRequest( A2( _elm_lang$http$Http$get, A2( _elm_lang$core$Basics_ops['++'], '/api/logs/', A2(_elm_lang$core$Maybe$withDefault, '', maybeId)), _user$project$Common_Logs_Decoder$logsDecoder))); }; var _user$project$Logs_State$update = F2( function (msg, model) { var _p0 = msg; switch (_p0.ctor) { case 'LoadLogs': return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {logs: _p0._0}), _1: _elm_lang$core$Platform_Cmd$none }; case 'LoadMachines': return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {machines: _p0._0}), _1: _elm_lang$core$Platform_Cmd$none }; case 'ShareLogs': return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: _user$project$Logs_Rest$shareLogs(_p0._0.deviceId), _1: {ctor: '[]'} }); default: return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {latestLogSnapshot: _p0._0}), _1: _elm_lang$core$Platform_Cmd$none }; } }); var _user$project$Logs_State$getData = function (maybeId) { return _elm_lang$core$Platform_Cmd$batch( { ctor: '::', _0: _user$project$Logs_Rest$getLogs(maybeId), _1: { ctor: '::', _0: _user$project$Logs_Rest$getMachines, _1: {ctor: '[]'} } }); }; var _user$project$Logs_State$load = function (maybeId) { return { ctor: '_Tuple2', _0: {logs: _krisajenkins$remotedata$RemoteData$Loading, machines: _krisajenkins$remotedata$RemoteData$Loading, latestLogSnapshot: _krisajenkins$remotedata$RemoteData$NotAsked}, _1: _user$project$Logs_State$getData(maybeId) }; }; var _user$project$Logs_State$init = {logs: _krisajenkins$remotedata$RemoteData$NotAsked, machines: _krisajenkins$remotedata$RemoteData$NotAsked, latestLogSnapshot: _krisajenkins$remotedata$RemoteData$NotAsked}; var _user$project$Logs_View$latestLogSnapshot = function (model) { var _p0 = model.latestLogSnapshot; switch (_p0.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p0._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$h4, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('✓ Saved latest snapshot'), _1: {ctor: '[]'} }); } }; var _user$project$Logs_View$formatDate = function (date) { return A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', date); }; var _user$project$Logs_View$rowView = function (log) { return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '[]'}), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$Logs_View$formatDate(log.timestamp)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(log.logLevel), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(log.message), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }); }; var _user$project$Logs_View$logsActions = function (logs) { return A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$Logs_Types$ShareLogs(logs.currentMachine)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Share log snapshot'), _1: {ctor: '[]'} }); }; var _user$project$Logs_View$logsView = function (logs) { return _elm_lang$core$List$isEmpty(logs.logs) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No logs yet.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Logs_View$logsActions(logs), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Date'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Level'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Message'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$Logs_View$rowView, logs.logs)), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); }; var _user$project$Logs_View$logs = function (model) { var _p1 = model.logs; switch (_p1.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading logs...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p1._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Logs_View$logsView(_p1._0), _1: {ctor: '[]'} }); } }; var _user$project$Logs_View$machineLink = function (machine) { return A2( _elm_lang$html$Html$a, { ctor: '::', _0: _elm_lang$html$Html_Attributes$href( A2(_elm_lang$core$Basics_ops['++'], '/#logs/', machine.deviceId)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(machine.name), _1: {ctor: '[]'} }); }; var _user$project$Logs_View$machineRowView = function (machine) { return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '[]'}), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _user$project$Logs_View$machineLink(machine), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); }; var _user$project$Logs_View$machineItemView = function (machine) { return A2( _elm_lang$html$Html$li, {ctor: '[]'}, { ctor: '::', _0: _user$project$Logs_View$machineLink(machine), _1: {ctor: '[]'} }); }; var _user$project$Logs_View$machinesView = function (machines) { return _elm_lang$core$List$isEmpty(machines) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$EmptyTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('No paired machines.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$ul, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$Logs_View$machineItemView, machines)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); }; var _user$project$Logs_View$machines = function (model) { var _p2 = model.machines; switch (_p2.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading machines ...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p2._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$Logs_View$machinesView(_p2._0), _1: {ctor: '[]'} }); } }; var _user$project$Logs_View$view = function (model) { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$h1, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Latest Logs'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$PaneWrapper, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$LeftPane, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Machines'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _user$project$Logs_View$machines(model), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ContentPane, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Logs'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _user$project$Logs_View$latestLogSnapshot(model), _1: { ctor: '::', _0: _user$project$Logs_View$logs(model), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); }; var _user$project$SupportLogs_Rest$getSupportLogs = A2( _elm_lang$core$Platform_Cmd$map, _user$project$SupportLogs_Types$LoadSupportLogs, _krisajenkins$remotedata$RemoteData$sendRequest( A2(_elm_lang$http$Http$get, '/api/support_logs/', _user$project$Common_Logs_Decoder$supportLogsDecoder))); var _user$project$SupportLogs_Rest$getAllLogs = function (maybeId) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$SupportLogs_Types$LoadLogs, _krisajenkins$remotedata$RemoteData$sendRequest( A2( _elm_lang$http$Http$get, A2( _elm_lang$core$Basics_ops['++'], '/api/support_logs/logs?supportLogId=', A2(_elm_lang$core$Maybe$withDefault, '', maybeId)), _user$project$Common_Logs_Decoder$logsDecoder))); }; var _user$project$SupportLogs_State$update = F2( function (msg, model) { var _p0 = msg; if (_p0.ctor === 'LoadLogs') { return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {logs: _p0._0}), _1: _elm_lang$core$Platform_Cmd$none }; } else { return { ctor: '_Tuple2', _0: _elm_lang$core$Native_Utils.update( model, {supportLogs: _p0._0}), _1: _elm_lang$core$Platform_Cmd$none }; } }); var _user$project$SupportLogs_State$getSupportData = function (maybeId) { return _elm_lang$core$Platform_Cmd$batch( { ctor: '::', _0: _user$project$SupportLogs_Rest$getAllLogs(maybeId), _1: { ctor: '::', _0: _user$project$SupportLogs_Rest$getSupportLogs, _1: {ctor: '[]'} } }); }; var _user$project$SupportLogs_State$load = function (maybeId) { return { ctor: '_Tuple2', _0: {logs: _krisajenkins$remotedata$RemoteData$Loading, supportLogs: _krisajenkins$remotedata$RemoteData$Loading}, _1: _user$project$SupportLogs_State$getSupportData(maybeId) }; }; var _user$project$SupportLogs_State$init = {logs: _krisajenkins$remotedata$RemoteData$NotAsked, supportLogs: _krisajenkins$remotedata$RemoteData$NotAsked}; var _user$project$SupportLogs_View$formatDate = function (date) { return A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', date); }; var _user$project$SupportLogs_View$rowView = function (log) { return A2( _elm_lang$html$Html$tr, { ctor: '::', _0: _user$project$Css_Admin$class( {ctor: '[]'}), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _user$project$SupportLogs_View$formatDate(log.timestamp)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(log.logLevel), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(log.message), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }); }; var _user$project$SupportLogs_View$logsView = function (logs) { return _elm_lang$core$List$isEmpty(logs.logs) ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No logs yet.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Date'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Level'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Message'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$SupportLogs_View$rowView, logs.logs)), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }); }; var _user$project$SupportLogs_View$logs = function (model) { var _p0 = model.logs; switch (_p0.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading logs...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No logs yet.'), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$SupportLogs_View$logsView(_p0._0), _1: {ctor: '[]'} }); } }; var _user$project$SupportLogs_View$supportLogText = function (supportLog) { return _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], supportLog.name, A2( _elm_lang$core$Basics_ops['++'], ' ', A2(_justinmimbs$elm_date_extra$Date_Extra$toFormattedString, 'yyyy-MM-dd HH:mm', supportLog.timestamp)))); }; var _user$project$SupportLogs_View$supportLogLink = function (supportLog) { return A2( _elm_lang$html$Html$a, { ctor: '::', _0: _elm_lang$html$Html_Attributes$href( A2(_elm_lang$core$Basics_ops['++'], '/#support_logs/', supportLog.id)), _1: {ctor: '[]'} }, { ctor: '::', _0: _user$project$SupportLogs_View$supportLogText(supportLog), _1: {ctor: '[]'} }); }; var _user$project$SupportLogs_View$supportLogItemView = function (supportLog) { return A2( _elm_lang$html$Html$li, {ctor: '[]'}, { ctor: '::', _0: _user$project$SupportLogs_View$supportLogLink(supportLog), _1: {ctor: '[]'} }); }; var _user$project$SupportLogs_View$supportLogsView = function (supportLogs) { return _elm_lang$core$List$isEmpty(supportLogs) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$EmptyTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('No shared logs'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TxTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$ul, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$SupportLogs_View$supportLogItemView, supportLogs)), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); }; var _user$project$SupportLogs_View$supportLogs = function (model) { var _p1 = model.supportLogs; switch (_p1.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading snapshots ...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p1._0)), _1: {ctor: '[]'} }); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$SupportLogs_View$supportLogsView(_p1._0), _1: {ctor: '[]'} }); } }; var _user$project$SupportLogs_View$view = function (model) { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$h1, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Lamassu support logs'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$PaneWrapper, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$LeftPane, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Shared snapshots'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _user$project$SupportLogs_View$supportLogs(model), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ContentPane, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Logs'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _user$project$SupportLogs_View$logs(model), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} } }); }; var _user$project$NavBar$determineConfigCategory = function (configCode) { return A2( _elm_lang$core$List$member, configCode, { ctor: '::', _0: 'definition', _1: { ctor: '::', _0: 'setup', _1: { ctor: '::', _0: 'cashOut', _1: { ctor: '::', _0: 'commissions', _1: { ctor: '::', _0: 'balanceAlerts', _1: {ctor: '[]'} } } } } }) ? _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MachineSettingsCat) : (A2( _elm_lang$core$List$member, configCode, { ctor: '::', _0: 'walletSettings', _1: { ctor: '::', _0: 'notifications', _1: { ctor: '::', _0: 'compliance', _1: { ctor: '::', _0: 'coinAtmRadar', _1: { ctor: '::', _0: 'terms', _1: { ctor: '::', _0: 'operatorInfo', _1: { ctor: '::', _0: 'fudgeFactor', _1: {ctor: '[]'} } } } } } } }) ? _elm_lang$core$Maybe$Just(_user$project$CoreTypes$GlobalSettingsCat) : _elm_lang$core$Maybe$Nothing); }; var _user$project$NavBar$allClear = F2( function (invalidGroups, cat) { return !A2( _elm_lang$core$List$any, function (groupCode) { return _elm_lang$core$Native_Utils.eq( _user$project$NavBar$determineConfigCategory(groupCode), _elm_lang$core$Maybe$Just(cat)); }, invalidGroups); }); var _user$project$NavBar$determineCategory = function (route) { var _p0 = route; switch (_p0.ctor) { case 'AccountRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$AccountCat); case 'ConfigRoute': return _user$project$NavBar$determineConfigCategory(_p0._0); case 'MaintenanceMachinesRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MaintenanceCat); case 'MaintenanceFundingRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MaintenanceCat); case 'PairRoute': return _elm_lang$core$Maybe$Nothing; case 'TransactionsRoute': return _elm_lang$core$Maybe$Nothing; case 'TransactionRoute': return _elm_lang$core$Maybe$Nothing; case 'CustomersRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MaintenanceCat); case 'CustomerRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MaintenanceCat); case 'LogsRoute': return _elm_lang$core$Maybe$Just(_user$project$CoreTypes$MaintenanceCat); case 'SupportLogsRoute': return _elm_lang$core$Maybe$Nothing; default: return _elm_lang$core$Maybe$Nothing; } }; var _user$project$NavBar$maybeUrl = F2( function (root, maybeStrings) { return A2( _elm_lang$core$String$join, '/', A2( _elm_lang$core$List$append, { ctor: '::', _0: root, _1: {ctor: '[]'} }, A2(_elm_lang$core$List$filterMap, _elm_lang$core$Basics$identity, maybeStrings))); }); var _user$project$NavBar$routeToUrl = function (route) { var _p1 = route; switch (_p1.ctor) { case 'PairRoute': return '/#pair'; case 'AccountRoute': return A2(_elm_lang$core$Basics_ops['++'], '/#account/', _p1._0); case 'ConfigRoute': return A2( _user$project$NavBar$maybeUrl, A2(_elm_lang$core$Basics_ops['++'], '/#config/', _p1._0), { ctor: '::', _0: _p1._1, _1: {ctor: '[]'} }); case 'MaintenanceMachinesRoute': return '/#machines/'; case 'MaintenanceFundingRoute': return A2( _user$project$NavBar$maybeUrl, '/#funding', { ctor: '::', _0: _p1._0, _1: {ctor: '[]'} }); case 'TransactionsRoute': return '/#transactions/'; case 'TransactionRoute': return A2(_elm_lang$core$Basics_ops['++'], '/#transaction/', _p1._0); case 'CustomersRoute': return '/#customers/'; case 'CustomerRoute': return A2(_elm_lang$core$Basics_ops['++'], '/#customer/', _p1._0); case 'LogsRoute': return A2( _elm_lang$core$Basics_ops['++'], '/#logs/', A2(_elm_lang$core$Maybe$withDefault, '', _p1._0)); case 'SupportLogsRoute': return A2( _elm_lang$core$Basics_ops['++'], '/#support_logs/', A2(_elm_lang$core$Maybe$withDefault, '', _p1._0)); default: return _elm_lang$core$Native_Utils.crashCase( 'NavBar', { start: {line: 29, column: 5}, end: {line: 64, column: 45} }, _p1)('Need unknown route'); } }; var _user$project$NavBar$_p3 = _rtfeldman$elm_css_helpers$Html_CssHelpers$withNamespace('lamassuAdmin'); var _user$project$NavBar$id = _user$project$NavBar$_p3.id; var _user$project$NavBar$class = _user$project$NavBar$_p3.$class; var _user$project$NavBar$classList = _user$project$NavBar$_p3.classList; var _user$project$NavBar$linkClasses = F3( function (linkRoute, route, isValid) { var active = function () { var _p4 = route; switch (_p4.ctor) { case 'ConfigRoute': return _elm_lang$core$Native_Utils.eq( linkRoute, A2(_user$project$CoreTypes$ConfigRoute, _p4._0, _elm_lang$core$Maybe$Nothing)); case 'MaintenanceFundingRoute': return _elm_lang$core$Native_Utils.eq( linkRoute, _user$project$CoreTypes$MaintenanceFundingRoute(_elm_lang$core$Maybe$Nothing)); case 'LogsRoute': return _elm_lang$core$Native_Utils.eq( linkRoute, _user$project$CoreTypes$LogsRoute(_elm_lang$core$Maybe$Nothing)); default: return _elm_lang$core$Native_Utils.eq(linkRoute, route); } }(); var validityClass = isValid ? {ctor: '[]'} : { ctor: '::', _0: _user$project$Css_Classes$InvalidGroup, _1: {ctor: '[]'} }; return active ? _user$project$NavBar$class( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Css_Classes$NavBarRoute, _1: { ctor: '::', _0: _user$project$Css_Classes$Active, _1: {ctor: '[]'} } }, validityClass)) : _user$project$NavBar$class( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Css_Classes$NavBarRoute, _1: {ctor: '[]'} }, validityClass)); }); var _user$project$NavBar$linkView = F4( function (maybeCategory, currentRoute, maybeLinkedCategory, link) { var _p5 = link; var desc = _p5._0; var linkRoute = _p5._1; var isValid = _p5._2; return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$CoreTypes$NewUrl( _user$project$NavBar$routeToUrl(linkRoute))), _1: { ctor: '::', _0: A3(_user$project$NavBar$linkClasses, linkRoute, currentRoute, isValid), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text(desc), _1: {ctor: '[]'} }); }); var _user$project$NavBar$activeCategory = F3( function (maybeCurrentCategory, linkedCategory, isValid) { var validityClass = isValid ? {ctor: '[]'} : { ctor: '::', _0: _user$project$Css_Classes$InvalidGroup, _1: {ctor: '[]'} }; var _p6 = maybeCurrentCategory; if (_p6.ctor === 'Nothing') { return _user$project$NavBar$class( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Css_Classes$NavBarCategory, _1: {ctor: '[]'} }, validityClass)); } else { return _elm_lang$core$Native_Utils.eq(_p6._0, linkedCategory) ? _user$project$NavBar$class( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Css_Classes$NavBarCategory, _1: { ctor: '::', _0: _user$project$Css_Classes$Active, _1: {ctor: '[]'} } }, validityClass)) : _user$project$NavBar$class( A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Css_Classes$NavBarCategory, _1: {ctor: '[]'} }, validityClass)); } }); var _user$project$NavBar$categoryView = F2( function (currentCategory, link) { var _p7 = link; var desc = _p7._0; var category = _p7._1; var linkRoute = _p7._2; var isValid = _p7._3; return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$CoreTypes$NewUrl( _user$project$NavBar$routeToUrl(linkRoute))), _1: { ctor: '::', _0: A3(_user$project$NavBar$activeCategory, currentCategory, category, isValid), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text(desc), _1: {ctor: '[]'} }); }); var _user$project$NavBar$linksView = F4( function (maybeCurrentCategory, currentRoute, _p8, links) { var _p9 = _p8; var _p13 = _p9._2; var _p12 = _p9._3; var _p11 = _p9._0; var _p10 = _p9._1; return _elm_lang$core$Native_Utils.eq( maybeCurrentCategory, _elm_lang$core$Maybe$Just(_p10)) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$NavBar$class( { ctor: '::', _0: _user$project$Css_Classes$NavBarCategoryContainer, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _user$project$NavBar$categoryView, maybeCurrentCategory, {ctor: '_Tuple4', _0: _p11, _1: _p10, _2: _p13, _3: _p12}), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, A2( _elm_lang$core$List$map, A3( _user$project$NavBar$linkView, maybeCurrentCategory, currentRoute, _elm_lang$core$Maybe$Just(_p10)), links)), _1: {ctor: '[]'} } }) : A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$NavBar$class( { ctor: '::', _0: _user$project$Css_Classes$NavBarCategoryContainer, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _user$project$NavBar$categoryView, maybeCurrentCategory, {ctor: '_Tuple4', _0: _p11, _1: _p10, _2: _p13, _3: _p12}), _1: {ctor: '[]'} }); }); var _user$project$NavBar$view = F2( function (route, invalidGroups) { var allClearGlobal = A2(_user$project$NavBar$allClear, invalidGroups, _user$project$CoreTypes$GlobalSettingsCat); var allClearMachine = A2(_user$project$NavBar$allClear, invalidGroups, _user$project$CoreTypes$MachineSettingsCat); var isValid = function (group) { return !A2(_elm_lang$core$List$member, group, invalidGroups); }; var configLink = F2( function (code, display) { return { ctor: '_Tuple3', _0: display, _1: A2(_user$project$CoreTypes$ConfigRoute, code, _elm_lang$core$Maybe$Nothing), _2: isValid(code) }; }); var maybeCategory = _user$project$NavBar$determineCategory(route); var l = A3(_user$project$NavBar$linkView, maybeCategory, route, _elm_lang$core$Maybe$Nothing); var ll = A2(_user$project$NavBar$linksView, maybeCategory, route); return A2( _elm_lang$html$Html$nav, { ctor: '::', _0: _user$project$NavBar$class( { ctor: '::', _0: _user$project$Css_Classes$NavBar, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: l( {ctor: '_Tuple3', _0: 'Transactions', _1: _user$project$CoreTypes$TransactionsRoute, _2: true}), _1: { ctor: '::', _0: A2( ll, {ctor: '_Tuple4', _0: 'Maintenance', _1: _user$project$CoreTypes$MaintenanceCat, _2: _user$project$CoreTypes$MaintenanceMachinesRoute, _3: true}, { ctor: '::', _0: {ctor: '_Tuple3', _0: 'Machines', _1: _user$project$CoreTypes$MaintenanceMachinesRoute, _2: true}, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Funding', _1: _user$project$CoreTypes$MaintenanceFundingRoute(_elm_lang$core$Maybe$Nothing), _2: true }, _1: { ctor: '::', _0: {ctor: '_Tuple3', _0: 'Customers', _1: _user$project$CoreTypes$CustomersRoute, _2: true}, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Logs', _1: _user$project$CoreTypes$LogsRoute(_elm_lang$core$Maybe$Nothing), _2: true }, _1: {ctor: '[]'} } } } }), _1: { ctor: '::', _0: A2( ll, { ctor: '_Tuple4', _0: 'Machine Settings', _1: _user$project$CoreTypes$MachineSettingsCat, _2: A2(_user$project$CoreTypes$ConfigRoute, 'definition', _elm_lang$core$Maybe$Nothing), _3: allClearMachine }, { ctor: '::', _0: A2(configLink, 'definition', 'Definition'), _1: { ctor: '::', _0: A2(configLink, 'setup', 'Setup'), _1: { ctor: '::', _0: A2(configLink, 'cashOut', 'Cash Out'), _1: { ctor: '::', _0: A2(configLink, 'commissions', 'Commissions'), _1: { ctor: '::', _0: A2(configLink, 'balanceAlerts', 'Balance Alerts'), _1: {ctor: '[]'} } } } } }), _1: { ctor: '::', _0: A2( ll, { ctor: '_Tuple4', _0: 'Global Settings', _1: _user$project$CoreTypes$GlobalSettingsCat, _2: A2(_user$project$CoreTypes$ConfigRoute, 'walletSettings', _elm_lang$core$Maybe$Nothing), _3: allClearGlobal }, { ctor: '::', _0: A2(configLink, 'walletSettings', 'Wallet Settings'), _1: { ctor: '::', _0: A2(configLink, 'notifications', 'Notifications'), _1: { ctor: '::', _0: A2(configLink, 'compliance', 'Compliance'), _1: { ctor: '::', _0: A2(configLink, 'coinAtmRadar', 'Coin ATM Radar'), _1: { ctor: '::', _0: A2(configLink, 'terms', 'Terms and Conditions'), _1: { ctor: '::', _0: A2(configLink, 'operatorInfo', 'Operator Info'), _1: { ctor: '::', _0: A2(configLink, 'fudgeFactor', 'Fudge Factor'), _1: {ctor: '[]'} } } } } } } }), _1: { ctor: '::', _0: A2( ll, { ctor: '_Tuple4', _0: 'Third Party Services', _1: _user$project$CoreTypes$AccountCat, _2: _user$project$CoreTypes$AccountRoute('bitgo'), _3: true }, { ctor: '::', _0: { ctor: '_Tuple3', _0: 'BitGo', _1: _user$project$CoreTypes$AccountRoute('bitgo'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Bitstamp', _1: _user$project$CoreTypes$AccountRoute('bitstamp'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Blockcypher', _1: _user$project$CoreTypes$AccountRoute('blockcypher'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Infura', _1: _user$project$CoreTypes$AccountRoute('infura'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'itBit', _1: _user$project$CoreTypes$AccountRoute('itbit'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Kraken', _1: _user$project$CoreTypes$AccountRoute('kraken'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Mailgun', _1: _user$project$CoreTypes$AccountRoute('mailgun'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'QuadrigaCX', _1: _user$project$CoreTypes$AccountRoute('quadrigacx'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Strike', _1: _user$project$CoreTypes$AccountRoute('strike'), _2: true }, _1: { ctor: '::', _0: { ctor: '_Tuple3', _0: 'Twilio', _1: _user$project$CoreTypes$AccountRoute('twilio'), _2: true }, _1: {ctor: '[]'} } } } } } } } } } }), _1: { ctor: '::', _0: l( {ctor: '_Tuple3', _0: '+ Add Machine', _1: _user$project$CoreTypes$PairRoute, _2: true}), _1: {ctor: '[]'} } } } } } }); }); var _user$project$StatusDecoder$rateDecoder = A4( _elm_lang$core$Json_Decode$map3, _user$project$StatusTypes$Rate, A2(_elm_lang$core$Json_Decode$field, 'crypto', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'bid', _elm_lang$core$Json_Decode$float), A2(_elm_lang$core$Json_Decode$field, 'ask', _elm_lang$core$Json_Decode$float)); var _user$project$StatusDecoder$serverDecoder = A6( _elm_lang$core$Json_Decode$map5, _user$project$StatusTypes$ServerRec, A2(_elm_lang$core$Json_Decode$field, 'up', _elm_lang$core$Json_Decode$bool), A2( _elm_lang$core$Json_Decode$field, 'lastPing', _elm_lang$core$Json_Decode$nullable(_elm_lang$core$Json_Decode$string)), A2( _elm_lang$core$Json_Decode$field, 'rates', _elm_lang$core$Json_Decode$list(_user$project$StatusDecoder$rateDecoder)), A2(_elm_lang$core$Json_Decode$field, 'machineStatus', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'wasConfigured', _elm_lang$core$Json_Decode$bool)); var _user$project$StatusDecoder$statusDecoder = A3( _elm_lang$core$Json_Decode$map2, _user$project$StatusTypes$StatusRec, A2(_elm_lang$core$Json_Decode$field, 'server', _user$project$StatusDecoder$serverDecoder), A2( _elm_lang$core$Json_Decode$field, 'invalidConfigGroups', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string))); var _user$project$MaintenanceMachines_Rest$encodeAction = function (action) { var _p0 = action; switch (_p0.ctor) { case 'ResetCashOutBills': var _p1 = _p0._0; return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'action', _1: _elm_lang$core$Json_Encode$string('resetCashOutBills') }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'deviceId', _1: _elm_lang$core$Json_Encode$string(_p1.deviceId) }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'cassettes', _1: _elm_lang$core$Json_Encode$list( { ctor: '::', _0: _elm_lang$core$Json_Encode$int(_p1.cassette1), _1: { ctor: '::', _0: _elm_lang$core$Json_Encode$int(_p1.cassette2), _1: {ctor: '[]'} } }) }, _1: {ctor: '[]'} } } }); case 'UnpairMachine': return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'action', _1: _elm_lang$core$Json_Encode$string('unpair') }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'deviceId', _1: _elm_lang$core$Json_Encode$string(_p0._0.deviceId) }, _1: {ctor: '[]'} } }); case 'RebootMachine': return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'action', _1: _elm_lang$core$Json_Encode$string('reboot') }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'deviceId', _1: _elm_lang$core$Json_Encode$string(_p0._0.deviceId) }, _1: {ctor: '[]'} } }); default: return _elm_lang$core$Json_Encode$object( { ctor: '::', _0: { ctor: '_Tuple2', _0: 'action', _1: _elm_lang$core$Json_Encode$string('restartServices') }, _1: { ctor: '::', _0: { ctor: '_Tuple2', _0: 'deviceId', _1: _elm_lang$core$Json_Encode$string(_p0._0.deviceId) }, _1: {ctor: '[]'} } }); } }; var _user$project$MaintenanceMachines_Rest$machineDecoder = A8( _elm_lang$core$Json_Decode$map7, _user$project$MaintenanceMachines_Types$Machine, A2(_elm_lang$core$Json_Decode$field, 'deviceId', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'name', _elm_lang$core$Json_Decode$string), A2(_elm_lang$core$Json_Decode$field, 'cashbox', _elm_lang$core$Json_Decode$int), A2(_elm_lang$core$Json_Decode$field, 'cassette1', _elm_lang$core$Json_Decode$int), A2(_elm_lang$core$Json_Decode$field, 'cassette2', _elm_lang$core$Json_Decode$int), A2(_elm_lang$core$Json_Decode$field, 'paired', _elm_lang$core$Json_Decode$bool), A2(_elm_lang$core$Json_Decode$field, 'cashOut', _elm_lang$core$Json_Decode$bool)); var _user$project$MaintenanceMachines_Rest$machinesDecoder = A2( _elm_lang$core$Json_Decode$map, _elm_lang$core$Basics$identity, A2( _elm_lang$core$Json_Decode$field, 'machines', _elm_lang$core$Json_Decode$list(_user$project$MaintenanceMachines_Rest$machineDecoder))); var _user$project$MaintenanceMachines_Rest$toModel = F2( function (status, machines) { return {status: status, machines: machines}; }); var _user$project$MaintenanceMachines_Rest$getForm = A2( _elm_lang$core$Platform_Cmd$map, _user$project$MaintenanceMachines_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p2) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$MaintenanceMachines_Rest$toModel(_user$project$BasicTypes$NotSaving), _p2)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$MaintenanceMachines_Rest$machinesDecoder), _lukewestby$elm_http_builder$HttpBuilder$get('/api/machines')))); var _user$project$MaintenanceMachines_Rest$postForm = function (action) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$MaintenanceMachines_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p3) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$MaintenanceMachines_Rest$toModel(_user$project$BasicTypes$Saved), _p3)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$MaintenanceMachines_Rest$machinesDecoder), A2( _lukewestby$elm_http_builder$HttpBuilder$withJsonBody, _user$project$MaintenanceMachines_Rest$encodeAction(action), _lukewestby$elm_http_builder$HttpBuilder$post('/api/machines'))))); }; var _user$project$MaintenanceMachines_State$saveUpdate = function (model) { var cmd = _elm_lang$core$Native_Utils.eq(model.status, _user$project$BasicTypes$Saved) ? A2( _elm_lang$core$Task$perform, function (_p0) { return _user$project$MaintenanceMachines_Types$HideSaveIndication; }, _elm_lang$core$Process$sleep(2 * _elm_lang$core$Time$second)) : _elm_lang$core$Platform_Cmd$none; return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: cmd, _1: {ctor: '[]'} }); }; var _user$project$MaintenanceMachines_State$updateAction = F2( function (action, subModel) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], subModel, { ctor: '::', _0: _user$project$MaintenanceMachines_Rest$postForm(action), _1: {ctor: '[]'} }); }); var _user$project$MaintenanceMachines_State$updateMachine = F2( function (machine, oldMachine) { return _elm_lang$core$Native_Utils.eq(machine.deviceId, oldMachine.deviceId) ? machine : oldMachine; }); var _user$project$MaintenanceMachines_State$updateCassette = F4( function (machine, position, str, subModel) { var countResult = _elm_lang$core$String$toInt(str); var updatedMachine = function () { var _p1 = countResult; if (_p1.ctor === 'Ok') { var _p3 = _p1._0; var _p2 = position; if (_p2.ctor === 'Top') { return _elm_lang$core$Native_Utils.update( machine, {cassette1: _p3}); } else { return _elm_lang$core$Native_Utils.update( machine, {cassette2: _p3}); } } else { return machine; } }(); var machines = A2( _elm_lang$core$List$map, _user$project$MaintenanceMachines_State$updateMachine(updatedMachine), subModel.machines); return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( subModel, {machines: machines}), {ctor: '[]'}); }); var _user$project$MaintenanceMachines_State$update = F2( function (msg, model) { var _p4 = msg; switch (_p4.ctor) { case 'Action': return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); case 'Load': return A2(_krisajenkins$remotedata$RemoteData$update, _user$project$MaintenanceMachines_State$saveUpdate, _p4._0); case 'InputCassette': return A2( _krisajenkins$remotedata$RemoteData$update, A3(_user$project$MaintenanceMachines_State$updateCassette, _p4._0, _p4._1, _p4._2), model); case 'Submit': return A2( _krisajenkins$remotedata$RemoteData$update, _user$project$MaintenanceMachines_State$updateAction(_p4._0), model); default: return A2( _krisajenkins$remotedata$RemoteData$update, function (subModel) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( subModel, {status: _user$project$BasicTypes$NotSaving}), {ctor: '[]'}); }, model); } }); var _user$project$MaintenanceMachines_State$load = {ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$MaintenanceMachines_Rest$getForm}; var _user$project$MaintenanceMachines_State$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$MaintenanceMachines_View$inputCassetteView = F3( function (machine, position, count) { return A2( _elm_lang$html$Html$input, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$BasicInput, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onInput( A2(_user$project$MaintenanceMachines_Types$InputCassette, machine, position)), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$defaultValue( _elm_lang$core$Basics$toString(count)), _1: {ctor: '[]'} } } }, {ctor: '[]'}); }); var _user$project$MaintenanceMachines_View$rowView = function (machine) { var cassetteCounts = machine.cashOut ? { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$Component, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$FocusedComponent, _1: false}, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: A3(_user$project$MaintenanceMachines_View$inputCassetteView, machine, _user$project$MaintenanceMachines_Types$Top, machine.cassette1), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$classList( { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$Component, _1: true}, _1: { ctor: '::', _0: {ctor: '_Tuple2', _0: _user$project$Css_Classes$FocusedComponent, _1: false}, _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }, { ctor: '::', _0: A3(_user$project$MaintenanceMachines_View$inputCassetteView, machine, _user$project$MaintenanceMachines_Types$Bottom, machine.cassette2), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } : { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CellDisabled, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, {ctor: '[]'}), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CellDisabled, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, {ctor: '[]'}), _1: {ctor: '[]'} } }; var resetBills = machine.cashOut ? A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TableButton, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$MaintenanceMachines_Types$Submit( _user$project$MaintenanceMachines_Types$ResetCashOutBills(machine))), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Update Counts'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$td, {ctor: '[]'}, {ctor: '[]'}); var actions = { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TableButton, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$MaintenanceMachines_Types$Submit( _user$project$MaintenanceMachines_Types$UnpairMachine(machine))), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Unpair'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TableButton, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$MaintenanceMachines_Types$Submit( _user$project$MaintenanceMachines_Types$RebootMachine(machine))), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Reboot OS'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$TableButton, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$MaintenanceMachines_Types$Submit( _user$project$MaintenanceMachines_Types$RestartServices(machine))), _1: {ctor: '[]'} } }, { ctor: '::', _0: _elm_lang$html$Html$text('Restart Services'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: resetBills, _1: {ctor: '[]'} } } } }; return A2( _elm_lang$html$Html$tr, {ctor: '[]'}, A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(machine.name), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, A2(_elm_lang$core$Basics_ops['++'], cassetteCounts, actions))); }; var _user$project$MaintenanceMachines_View$tableView = function (machines) { return _elm_lang$core$List$isEmpty(machines) ? A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$EmptyTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('No paired machines.'), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$table, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigTable, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$thead, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$tr, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, {ctor: '[]'}), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Top Bill Count'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$td, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Bottom Bill Count'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$tbody, {ctor: '[]'}, A2(_elm_lang$core$List$map, _user$project$MaintenanceMachines_View$rowView, machines)), _1: {ctor: '[]'} } }); }; var _user$project$MaintenanceMachines_View$view = function (model) { var _p0 = model; switch (_p0.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p0._0)), _1: {ctor: '[]'} }); default: var _p2 = _p0._0; var statusString = function () { var _p1 = _p2.status; if (_p1.ctor === 'Saved') { return 'Saved'; } else { return ''; } }(); return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$SectionLabel, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$ConfigContainer, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _user$project$MaintenanceMachines_View$tableView(_p2.machines), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Saving, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(statusString), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }); } }; var _user$project$MaintenanceFunding_Rest$cryptoDisplayDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'display', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoCode', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$MaintenanceFunding_Types$CryptoDisplay))); var _user$project$MaintenanceFunding_Rest$subModelDecoder = A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiatCode', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiatPending', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fiatConfirmedBalance', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'pending', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'confirmedBalance', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fundingAddressUrl', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'fundingAddress', _elm_lang$core$Json_Decode$string, A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoDisplays', _elm_lang$core$Json_Decode$list(_user$project$MaintenanceFunding_Rest$cryptoDisplayDecoder), A3( _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$required, 'cryptoCode', _elm_lang$core$Json_Decode$string, _NoRedInk$elm_decode_pipeline$Json_Decode_Pipeline$decode(_user$project$MaintenanceFunding_Types$SubModel)))))))))); var _user$project$MaintenanceFunding_Rest$getForm = function (maybeCrypto) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$MaintenanceFunding_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$MaintenanceFunding_Rest$subModelDecoder), _lukewestby$elm_http_builder$HttpBuilder$get( A2( _elm_lang$core$Basics_ops['++'], '/api/funding/', A2(_elm_lang$core$Maybe$withDefault, '', maybeCrypto)))))); }; var _user$project$MaintenanceFunding_State$switchCrypto = F2( function (crypto, model) { return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$MaintenanceFunding_Rest$getForm( _elm_lang$core$Maybe$Just(crypto)) }; }); var _user$project$MaintenanceFunding_State$fundingUpdate = function (model) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); }; var _user$project$MaintenanceFunding_State$update = F2( function (msg, model) { var _p0 = msg; if (_p0.ctor === 'Load') { return A2(_krisajenkins$remotedata$RemoteData$update, _user$project$MaintenanceFunding_State$fundingUpdate, _p0._0); } else { return A2(_user$project$MaintenanceFunding_State$switchCrypto, _p0._0, model); } }); var _user$project$MaintenanceFunding_State$load = function (maybeCrypto) { return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$MaintenanceFunding_Rest$getForm(maybeCrypto) }; }; var _user$project$MaintenanceFunding_State$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$MaintenanceFunding_View$cryptoView = F2( function (maybeActiveCrypto, cryptoDisplay) { var url = A2(_elm_lang$core$Basics_ops['++'], '/#funding/', cryptoDisplay.cryptoCode); var activeClass = function () { var _p0 = maybeActiveCrypto; if (_p0.ctor === 'Nothing') { return _user$project$Css_Admin$class( {ctor: '[]'}); } else { return _elm_lang$core$Native_Utils.eq(_p0._0, cryptoDisplay.cryptoCode) ? _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Active, _1: {ctor: '[]'} }) : _user$project$Css_Admin$class( {ctor: '[]'}); } }(); return A2( _elm_lang$html$Html$a, { ctor: '::', _0: activeClass, _1: { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CryptoTab, _1: {ctor: '[]'} }), _1: { ctor: '::', _0: _elm_lang$html$Html_Attributes$href(url), _1: {ctor: '[]'} } } }, { ctor: '::', _0: _elm_lang$html$Html$text(cryptoDisplay.display), _1: {ctor: '[]'} }); }); var _user$project$MaintenanceFunding_View$cryptosView = F2( function (cryptos, activeCrypto) { return A2( _elm_lang$html$Html$nav, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CryptoTabs, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, A2( _elm_lang$core$List$map, _user$project$MaintenanceFunding_View$cryptoView(activeCrypto), cryptos)); }); var _user$project$MaintenanceFunding_View$qrCode = function (s) { var resultQRCode = A2(_pablohirafuji$elm_qrcode$QRCode$toSvgWithECLevel, s, _pablohirafuji$elm_qrcode$QRCode_ECLevel$L); var _p1 = resultQRCode; if (_p1.ctor === 'Ok') { return _p1._0; } else { return _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p1._0)); } }; var _user$project$MaintenanceFunding_View$fundingView = function (subModel) { return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _user$project$MaintenanceFunding_View$cryptosView, subModel.cryptoDisplays, _elm_lang$core$Maybe$Just(subModel.cryptoCode)), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$section, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$Container, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], 'Deposit ', A2(_elm_lang$core$Basics_ops['++'], subModel.cryptoCode, ' to this address.'))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _user$project$MaintenanceFunding_View$qrCode(subModel.fundingAddressUrl), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$CryptoAddress, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text(subModel.fundingAddress), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$section, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$BalanceSection, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$h2, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Balance'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], subModel.confirmedBalance, A2( _elm_lang$core$Basics_ops['++'], ' ', A2( _elm_lang$core$Basics_ops['++'], subModel.cryptoCode, A2( _elm_lang$core$Basics_ops['++'], ' (', A2(_elm_lang$core$Basics_ops['++'], subModel.pending, ' pending)')))))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], subModel.fiatConfirmedBalance, A2( _elm_lang$core$Basics_ops['++'], ' ', A2( _elm_lang$core$Basics_ops['++'], subModel.fiatCode, A2( _elm_lang$core$Basics_ops['++'], ' (', A2(_elm_lang$core$Basics_ops['++'], subModel.fiatPending, ' pending)')))))), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } }), _1: {ctor: '[]'} } } } }), _1: {ctor: '[]'} } }); }; var _user$project$MaintenanceFunding_View$view = function (model) { var _p2 = model; switch (_p2.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p2._0)), _1: {ctor: '[]'} }); default: return _user$project$MaintenanceFunding_View$fundingView(_p2._0); } }; var _user$project$Transaction_Rest$toModel = F2( function (status, tx) { return {status: status, tx: tx}; }); var _user$project$Transaction_Rest$getForm = function (txId) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Transaction_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p0) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$Transaction_Rest$toModel(_user$project$BasicTypes$NotSaving), _p0)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Transaction_Decoder$txDecoder), _lukewestby$elm_http_builder$HttpBuilder$get( A2(_elm_lang$core$Basics_ops['++'], '/api/transaction/', txId))))); }; var _user$project$Transaction_Rest$cancel = function (txId) { return A2( _elm_lang$core$Platform_Cmd$map, _user$project$Transaction_Types$Load, A2( _lukewestby$elm_http_builder$HttpBuilder$send, function (_p1) { return _krisajenkins$remotedata$RemoteData$fromResult( A2( _elm_lang$core$Result$map, _user$project$Transaction_Rest$toModel(_user$project$BasicTypes$NotSaving), _p1)); }, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$Transaction_Decoder$txDecoder), _lukewestby$elm_http_builder$HttpBuilder$patch( A2( _elm_lang$core$Basics_ops['++'], '/api/transaction/', A2(_elm_lang$core$Basics_ops['++'], txId, '?cancel=true')))))); }; var _user$project$Transaction_State$txUpdate = function (model) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); }; var _user$project$Transaction_State$update = F2( function (msg, model) { var _p0 = msg; switch (_p0.ctor) { case 'Load': return A2(_krisajenkins$remotedata$RemoteData$update, _user$project$Transaction_State$txUpdate, _p0._0); case 'Cancel': return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, { ctor: '::', _0: _user$project$Transaction_Rest$cancel(_p0._0), _1: {ctor: '[]'} }); default: return A2( _krisajenkins$remotedata$RemoteData$update, function (subModel) { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( subModel, {status: _user$project$BasicTypes$NotSaving}), {ctor: '[]'}); }, model); } }); var _user$project$Transaction_State$load = function (txId) { return { ctor: '_Tuple2', _0: _krisajenkins$remotedata$RemoteData$Loading, _1: _user$project$Transaction_Rest$getForm(txId) }; }; var _user$project$Transaction_State$init = _krisajenkins$remotedata$RemoteData$NotAsked; var _user$project$Transaction_View$cashOutTxView = function (tx) { var error = function () { var _p0 = tx.error; if (_p0.ctor === 'Nothing') { return 'No errors'; } else { return A2(_elm_lang$core$Basics_ops['++'], 'Error: ', _p0._0); } }(); var cancelStatus = _elm_community$maybe_extra$Maybe_Extra$isJust(tx.error) ? 'Error' : (tx.dispense ? 'Success' : (tx.expired ? 'Expired' : 'Pending')); return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(tx.id), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('This is a cash-out transaction'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], 'Fiat: ', A2(_ggb$numeral_elm$Numeral$format, '0,0.00', tx.fiat))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], 'Raw ticker price: ', A2( _ggb$numeral_elm$Numeral$format, '0,0.00', A2(_elm_lang$core$Maybe$withDefault, 0.0, tx.rawTickerPrice)))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$Basics_ops['++'], 'Status: ', cancelStatus)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(error), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } } } } } }); }; var _user$project$Transaction_View$cashInTxView = function (tx) { var error = A2(_elm_lang$core$Maybe$withDefault, 'Successful', tx.error); var cancellable = !(tx.operatorCompleted || (tx.sendConfirmed || tx.expired)); var cancelButtonDiv = cancellable ? A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$button, { ctor: '::', _0: _elm_lang$html$Html_Events$onClick( _user$project$Transaction_Types$Cancel(tx.id)), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Cancel transaction'), _1: {ctor: '[]'} }), _1: {ctor: '[]'} }) : A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); var cancelStatus = tx.operatorCompleted ? 'Cancelled' : (tx.sendConfirmed ? 'Sent' : (tx.expired ? 'Expired' : 'Pending')); return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(tx.id), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('This is a cash-in transaction'), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], 'Fiat: ', A2(_ggb$numeral_elm$Numeral$format, '0,0.00', tx.fiat))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2( _elm_lang$core$Basics_ops['++'], 'Raw ticker price: ', A2( _ggb$numeral_elm$Numeral$format, '0,0.00', A2(_elm_lang$core$Maybe$withDefault, 0.0, tx.rawTickerPrice)))), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( A2(_elm_lang$core$Basics_ops['++'], 'Status: ', cancelStatus)), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text(error), _1: {ctor: '[]'} }), _1: { ctor: '::', _0: cancelButtonDiv, _1: {ctor: '[]'} } } } } } } }); }; var _user$project$Transaction_View$txView = function (subModel) { var _p1 = subModel.tx; if (_p1.ctor === 'CashInTx') { return _user$project$Transaction_View$cashInTxView(_p1._0); } else { return _user$project$Transaction_View$cashOutTxView(_p1._0); } }; var _user$project$Transaction_View$view = function (model) { var _p2 = model; switch (_p2.ctor) { case 'NotAsked': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, {ctor: '[]'}); case 'Loading': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('Loading...'), _1: {ctor: '[]'} }); case 'Failure': return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text( _elm_lang$core$Basics$toString(_p2._0)), _1: {ctor: '[]'} }); default: return _user$project$Transaction_View$txView(_p2._0); } }; var _user$project$Main$subscriptions = function (model) { return _elm_lang$core$Platform_Sub$batch( { ctor: '::', _0: A2( _elm_lang$core$Time$every, 5 * _elm_lang$core$Time$second, function (_p0) { return _user$project$CoreTypes$Interval; }), _1: {ctor: '[]'} }); }; var _user$project$Main$statusBar = function (maybeStatus) { var _p1 = maybeStatus; if (_p1.ctor === 'Nothing') { return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$StatusBar, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, { ctor: '::', _0: _elm_lang$html$Html$text('Loading ...'), _1: {ctor: '[]'} }); } else { var _p3 = _p1._0; var serverStatus = function () { if (!_p3.server.wasConfigured) { return { ctor: '::', _0: A2( _evancz$elm_markdown$Markdown$toHtml, {ctor: '[]'}, '**lamassu-server** not configured yet'), _1: {ctor: '[]'} }; } else { if (_p3.server.up) { return { ctor: '::', _0: A2( _evancz$elm_markdown$Markdown$toHtml, {ctor: '[]'}, A2(_elm_lang$core$Basics_ops['++'], '**lamassu-server** is up **/** ', _p3.server.machineStatus)), _1: {ctor: '[]'} }; } else { var _p2 = _p3.server.lastPing; if (_p2.ctor === 'Nothing') { return { ctor: '::', _0: A2( _evancz$elm_markdown$Markdown$toHtml, {ctor: '[]'}, '**lamassu-server** not up yet'), _1: {ctor: '[]'} }; } else { return { ctor: '::', _0: A2( _evancz$elm_markdown$Markdown$toHtml, {ctor: '[]'}, A2(_elm_lang$core$Basics_ops['++'], '**lamassu-server** has been down for ', _p2._0)), _1: {ctor: '[]'} }; } } } }(); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _user$project$Css_Admin$class( { ctor: '::', _0: _user$project$Css_Classes$StatusBar, _1: {ctor: '[]'} }), _1: {ctor: '[]'} }, serverStatus); } }; var _user$project$Main$content = F2( function (model, route) { var _p4 = route; switch (_p4.ctor) { case 'PairRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$PairMsg, _user$project$Pair$view(model.pair)); case 'AccountRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$AccountMsg, _user$project$Account$view(model.account)); case 'ConfigRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$ConfigMsg, _user$project$Config$view(model.config)); case 'MaintenanceMachinesRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$MaintenanceMachinesMsg, _user$project$MaintenanceMachines_View$view(model.maintenanceMachines)); case 'MaintenanceFundingRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$MaintenanceFundingMsg, _user$project$MaintenanceFunding_View$view(model.maintenanceFunding)); case 'TransactionsRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$TransactionsMsg, _user$project$Transactions$view(model.transactions)); case 'TransactionRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$TransactionMsg, _user$project$Transaction_View$view(model.transaction)); case 'CustomersRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$CustomersMsg, _user$project$Customers_View$view(model.customers)); case 'CustomerRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$CustomerMsg, _user$project$Customer_View$view(model.customer)); case 'LogsRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$LogsMsg, _user$project$Logs_View$view(model.logs)); case 'SupportLogsRoute': return A2( _elm_lang$html$Html$map, _user$project$CoreTypes$SupportLogsMsg, _user$project$SupportLogs_View$view(model.supportLogs)); default: return A2( _elm_lang$html$Html$div, {ctor: '[]'}, { ctor: '::', _0: _elm_lang$html$Html$text('No such route'), _1: {ctor: '[]'} }); } }); var _user$project$Main$getStatus = A2( _elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$LoadStatus, A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$StatusDecoder$statusDecoder), _lukewestby$elm_http_builder$HttpBuilder$get('/api/status/')))); var _user$project$Main$getAccounts = A2( _elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$LoadAccounts, A2( _elm_lang$core$Platform_Cmd$map, _krisajenkins$remotedata$RemoteData$withDefault( {ctor: '[]'}), A2( _lukewestby$elm_http_builder$HttpBuilder$send, _krisajenkins$remotedata$RemoteData$fromResult, A2( _lukewestby$elm_http_builder$HttpBuilder$withExpect, _elm_lang$http$Http$expectJson(_user$project$AccountsDecoder$accountsDecoder), _lukewestby$elm_http_builder$HttpBuilder$get('/api/accounts'))))); var _user$project$Main$parseRoute = _evancz$url_parser$UrlParser$oneOf( { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$AccountRoute, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('account'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$PairRoute, _evancz$url_parser$UrlParser$s('pair')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, F2( function (config, crypto) { return A2( _user$project$CoreTypes$ConfigRoute, config, _elm_lang$core$Maybe$Just(crypto)); }), A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('config'), A2(_evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$string, _evancz$url_parser$UrlParser$string))), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, function (config) { return A2(_user$project$CoreTypes$ConfigRoute, config, _elm_lang$core$Maybe$Nothing); }, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('config'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$MaintenanceMachinesRoute, _evancz$url_parser$UrlParser$s('machines')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, function (crypto) { return _user$project$CoreTypes$MaintenanceFundingRoute( _elm_lang$core$Maybe$Just(crypto)); }, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('funding'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$MaintenanceFundingRoute(_elm_lang$core$Maybe$Nothing), _evancz$url_parser$UrlParser$s('funding')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$TransactionsRoute, _evancz$url_parser$UrlParser$s('transactions')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$TransactionRoute, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('transaction'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$CustomersRoute, _evancz$url_parser$UrlParser$s('customers')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$CustomerRoute, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('customer'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, function (id) { return _user$project$CoreTypes$LogsRoute( _elm_lang$core$Maybe$Just(id)); }, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('logs'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$LogsRoute(_elm_lang$core$Maybe$Nothing), _evancz$url_parser$UrlParser$s('logs')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, function (id) { return _user$project$CoreTypes$SupportLogsRoute( _elm_lang$core$Maybe$Just(id)); }, A2( _evancz$url_parser$UrlParser_ops['>'], _evancz$url_parser$UrlParser$s('support_logs'), _evancz$url_parser$UrlParser$string)), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, _user$project$CoreTypes$SupportLogsRoute(_elm_lang$core$Maybe$Nothing), _evancz$url_parser$UrlParser$s('support_logs')), _1: { ctor: '::', _0: A2( _evancz$url_parser$UrlParser$map, A2(_user$project$CoreTypes$ConfigRoute, 'setup', _elm_lang$core$Maybe$Nothing), _evancz$url_parser$UrlParser$top), _1: {ctor: '[]'} } } } } } } } } } } } } } } } }); var _user$project$Main$view = function (model) { var invalidConfigGroups = A2( _elm_lang$core$Maybe$withDefault, {ctor: '[]'}, A2( _elm_lang$core$Maybe$map, function (_) { return _.invalidConfigGroups; }, model.status)); var route = A2( _elm_lang$core$Maybe$withDefault, _user$project$CoreTypes$NotFoundRoute, A2(_evancz$url_parser$UrlParser$parseHash, _user$project$Main$parseRoute, model.location)); return A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class('lamassuAdminLayout'), _1: {ctor: '[]'} }, { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class('lamassuAdminMain'), _1: {ctor: '[]'} }, { ctor: '::', _0: A2(_user$project$NavBar$view, route, invalidConfigGroups), _1: { ctor: '::', _0: A2( _elm_lang$html$Html$div, { ctor: '::', _0: _elm_lang$html$Html_Attributes$class('lamassuAdminContent'), _1: {ctor: '[]'} }, { ctor: '::', _0: A2(_user$project$Main$content, model, route), _1: {ctor: '[]'} }), _1: {ctor: '[]'} } }), _1: { ctor: '::', _0: _user$project$Main$statusBar(model.status), _1: {ctor: '[]'} } }); }; var _user$project$Main$urlUpdate = F2( function (location, model) { var route = A2( _elm_lang$core$Maybe$withDefault, _user$project$CoreTypes$NotFoundRoute, A2(_evancz$url_parser$UrlParser$parseHash, _user$project$Main$parseRoute, location)); var _p5 = route; switch (_p5.ctor) { case 'PairRoute': var _p6 = model.status; if (_p6.ctor === 'Just') { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, { location: location, pair: _user$project$Pair$init(_p6._0.server.up) }), {ctor: '[]'}); } else { return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, { location: location, pair: _user$project$Pair$init(false) }), {ctor: '[]'}); } case 'AccountRoute': var _p7 = _user$project$Account$load(_p5._0); var accountModel = _p7._0; var cmd = _p7._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, account: accountModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$AccountMsg, cmd), _1: {ctor: '[]'} }); case 'ConfigRoute': var _p8 = A3(_user$project$Config$load, model.config, _p5._0, _p5._1); var configModel = _p8._0; var cmd = _p8._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, config: configModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$ConfigMsg, cmd), _1: {ctor: '[]'} }); case 'MaintenanceMachinesRoute': var _p9 = _user$project$MaintenanceMachines_State$load; var maintenanceMachines = _p9._0; var cmd = _p9._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, maintenanceMachines: maintenanceMachines}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$MaintenanceMachinesMsg, cmd), _1: {ctor: '[]'} }); case 'MaintenanceFundingRoute': var _p10 = _user$project$MaintenanceFunding_State$load(_p5._0); var maintenanceFunding = _p10._0; var cmd = _p10._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, maintenanceFunding: maintenanceFunding}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$MaintenanceFundingMsg, cmd), _1: {ctor: '[]'} }); case 'TransactionsRoute': var _p11 = _user$project$Transactions$load; var transactionsModel = _p11._0; var cmd = _p11._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, transactions: transactionsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$TransactionsMsg, cmd), _1: {ctor: '[]'} }); case 'CustomersRoute': var _p12 = _user$project$Customers_State$load; var customersModel = _p12._0; var cmd = _p12._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, customers: customersModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$CustomersMsg, cmd), _1: {ctor: '[]'} }); case 'CustomerRoute': var _p13 = _user$project$Customer_State$load(_p5._0); var customerModel = _p13._0; var cmd = _p13._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, customer: customerModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$CustomerMsg, cmd), _1: {ctor: '[]'} }); case 'LogsRoute': var _p14 = _user$project$Logs_State$load(_p5._0); var logsModel = _p14._0; var cmd = _p14._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, logs: logsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$LogsMsg, cmd), _1: {ctor: '[]'} }); case 'SupportLogsRoute': var _p15 = _user$project$SupportLogs_State$load(_p5._0); var supportLogsModel = _p15._0; var cmd = _p15._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, supportLogs: supportLogsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$SupportLogsMsg, cmd), _1: {ctor: '[]'} }); case 'TransactionRoute': var _p16 = _user$project$Transaction_State$load(_p5._0); var transaction = _p16._0; var cmd = _p16._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location, transaction: transaction}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$TransactionMsg, cmd), _1: {ctor: '[]'} }); default: return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {location: location}), {ctor: '[]'}); } }); var _user$project$Main$init = function (location) { var model = { location: location, account: _user$project$Account$init, pair: _user$project$Pair$init(false), config: _user$project$Config$init, maintenanceMachines: _user$project$MaintenanceMachines_State$init, maintenanceFunding: _user$project$MaintenanceFunding_State$init, transactions: _user$project$Transactions$init, transaction: _user$project$Transaction_State$init, customers: _user$project$Customers_State$init, customer: _user$project$Customer_State$init, logs: _user$project$Logs_State$init, supportLogs: _user$project$SupportLogs_State$init, accounts: {ctor: '[]'}, status: _elm_lang$core$Maybe$Nothing, err: _elm_lang$core$Maybe$Nothing }; var _p17 = A2(_user$project$Main$urlUpdate, location, model); var newModel = _p17._0; var newCmd = _p17._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], newModel, { ctor: '::', _0: newCmd, _1: { ctor: '::', _0: _user$project$Main$getAccounts, _1: { ctor: '::', _0: _user$project$Main$getStatus, _1: {ctor: '[]'} } } }); }; var _user$project$Main$update = F2( function (msg, model) { var _p18 = msg; switch (_p18.ctor) { case 'PairMsg': var _p19 = A2(_user$project$Pair$update, _p18._0, model.pair); var pairModel = _p19._0; var cmd = _p19._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {pair: pairModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$PairMsg, cmd), _1: {ctor: '[]'} }); case 'AccountMsg': var _p20 = A2(_user$project$Account$update, _p18._0, model.account); var accountModel = _p20._0; var cmd = _p20._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {account: accountModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$AccountMsg, cmd), _1: {ctor: '[]'} }); case 'ConfigMsg': var _p22 = _p18._0; var loaded = _user$project$Config$loaded(_p22); var extraCmds = loaded ? { ctor: '::', _0: _user$project$Main$getAccounts, _1: { ctor: '::', _0: _user$project$Main$getStatus, _1: {ctor: '[]'} } } : {ctor: '[]'}; var _p21 = A2(_user$project$Config$update, _p22, model.config); var configModel = _p21._0; var cmd = _p21._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {config: configModel}), A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$ConfigMsg, cmd), _1: {ctor: '[]'} }, extraCmds)); case 'MaintenanceMachinesMsg': var _p23 = A2(_user$project$MaintenanceMachines_State$update, _p18._0, model.maintenanceMachines); var maintenanceMachines = _p23._0; var cmd = _p23._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {maintenanceMachines: maintenanceMachines}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$MaintenanceMachinesMsg, cmd), _1: {ctor: '[]'} }); case 'MaintenanceFundingMsg': var _p24 = A2(_user$project$MaintenanceFunding_State$update, _p18._0, model.maintenanceFunding); var maintenanceFunding = _p24._0; var cmd = _p24._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {maintenanceFunding: maintenanceFunding}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$MaintenanceFundingMsg, cmd), _1: {ctor: '[]'} }); case 'TransactionsMsg': var _p25 = A2(_user$project$Transactions$update, _p18._0, model.transactions); var transactionsModel = _p25._0; var cmd = _p25._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {transactions: transactionsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$TransactionsMsg, cmd), _1: {ctor: '[]'} }); case 'TransactionMsg': var _p26 = A2(_user$project$Transaction_State$update, _p18._0, model.transaction); var transaction = _p26._0; var cmd = _p26._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {transaction: transaction}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$TransactionMsg, cmd), _1: {ctor: '[]'} }); case 'CustomersMsg': var _p27 = A2(_user$project$Customers_State$update, _p18._0, model.customers); var customersModel = _p27._0; var cmd = _p27._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {customers: customersModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$CustomersMsg, cmd), _1: {ctor: '[]'} }); case 'CustomerMsg': var _p28 = A2(_user$project$Customer_State$update, _p18._0, model.customer); var customerModel = _p28._0; var cmd = _p28._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {customer: customerModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$CustomerMsg, cmd), _1: {ctor: '[]'} }); case 'LogsMsg': var _p29 = A2(_user$project$Logs_State$update, _p18._0, model.logs); var logsModel = _p29._0; var cmd = _p29._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {logs: logsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$LogsMsg, cmd), _1: {ctor: '[]'} }); case 'SupportLogsMsg': var _p30 = A2(_user$project$SupportLogs_State$update, _p18._0, model.supportLogs); var supportLogsModel = _p30._0; var cmd = _p30._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {supportLogs: supportLogsModel}), { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$SupportLogsMsg, cmd), _1: {ctor: '[]'} }); case 'LoadAccounts': return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {accounts: _p18._0}), {ctor: '[]'}); case 'LoadStatus': var newStatus = _elm_lang$core$List$head( A2( _elm_lang$core$List$filterMap, _elm_lang$core$Basics$identity, { ctor: '::', _0: _krisajenkins$remotedata$RemoteData$toMaybe(_p18._0), _1: { ctor: '::', _0: model.status, _1: {ctor: '[]'} } })); var serverStatus = A2( _elm_lang$core$Maybe$withDefault, false, A2( _elm_lang$core$Maybe$map, function (status) { return status.server.up; }, newStatus)); var newPair = A2(_user$project$Pair$updateStatus, serverStatus, model.pair); var rates = A2( _elm_lang$core$Maybe$withDefault, {ctor: '[]'}, A2( _elm_lang$core$Maybe$map, function (status) { return status.server.rates; }, newStatus)); var newConfig = A2(_user$project$Config$updateRates, rates, model.config); return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {status: newStatus, pair: newPair, config: newConfig}), {ctor: '[]'}); case 'NewUrl': var _p31 = _user$project$Config$submitNoLoad(model.config); var configModel = _p31._0; var configCmd = _p31._1; return A2( _elm_lang$core$Platform_Cmd_ops['!'], _elm_lang$core$Native_Utils.update( model, {config: configModel}), { ctor: '::', _0: _elm_lang$navigation$Navigation$newUrl(_p18._0), _1: { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$ConfigMsg, configCmd), _1: {ctor: '[]'} } }); case 'UrlChange': return A2(_user$project$Main$urlUpdate, _p18._0, model); case 'Interval': var route = A2( _elm_lang$core$Maybe$withDefault, _user$project$CoreTypes$NotFoundRoute, A2(_evancz$url_parser$UrlParser$parseHash, _user$project$Main$parseRoute, model.location)); var extraCmds = _elm_lang$core$Native_Utils.eq(route, _user$project$CoreTypes$TransactionsRoute) ? { ctor: '::', _0: A2(_elm_lang$core$Platform_Cmd$map, _user$project$CoreTypes$TransactionsMsg, _user$project$Transactions$loadCmd), _1: {ctor: '[]'} } : {ctor: '[]'}; return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, A2( _elm_lang$core$Basics_ops['++'], { ctor: '::', _0: _user$project$Main$getStatus, _1: {ctor: '[]'} }, extraCmds)); default: return A2( _elm_lang$core$Platform_Cmd_ops['!'], model, {ctor: '[]'}); } }); var _user$project$Main$main = A2( _elm_lang$navigation$Navigation$program, _user$project$CoreTypes$UrlChange, {init: _user$project$Main$init, update: _user$project$Main$update, view: _user$project$Main$view, subscriptions: _user$project$Main$subscriptions})(); var _user$project$Main$Model = 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 function (j) { return function (k) { return function (l) { return function (m) { return function (n) { return function (o) { return {location: a, pair: b, account: c, config: d, maintenanceMachines: e, maintenanceFunding: f, transactions: g, transaction: h, customers: i, customer: j, logs: k, supportLogs: l, accounts: m, status: n, err: o}; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; var Elm = {}; Elm['Main'] = Elm['Main'] || {}; if (typeof _user$project$Main$main !== 'undefined') { _user$project$Main$main(Elm['Main'], 'Main', undefined); } if (typeof define === "function" && define['amd']) { define([], function() { return Elm; }); return; } if (typeof module === "object") { module['exports'] = Elm; return; } var globalElm = this['Elm']; if (typeof globalElm === "undefined") { this['Elm'] = Elm; return; } for (var publicModule in Elm) { if (publicModule in globalElm) { throw new Error('There are two Elm modules called `' + publicModule + '` on this page! Rename one of them.'); } globalElm[publicModule] = Elm[publicModule]; } }).call(this);