UNPKG

@dashkite/joy

Version:

[![Hippocratic License HL3-CORE](https://img.shields.io/static/v1?label=Hippocratic%20License&message=HL3-CORE&labelColor=5e2751&color=bc8c3d)](https://firstdonoharm.dev/version/3/0/core.html)

284 lines (283 loc) 32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: Object.getOwnPropertyDescriptor(all, name).get }); } _export(exports, { get camelCase () { return camelCase; }, get capitalize () { return capitalize; }, get collapse () { return collapse; }, get dash () { return dash; }, get dashed () { return dashed; }, get dashes () { return dashes; }, get dquote () { return dquote; }, get elide () { return elide; }, get enclose () { return enclose; }, get endsWith () { return endsWith; }, get fromBase () { return fromBase; }, get gloss () { return gloss; }, get hyphenate () { return hyphenate; }, get interpolate () { return interpolate; }, get isBlank () { return isBlank; }, get isMatch () { return isMatch; }, get match () { return match; }, get normalize () { return normalize; }, get pad () { return pad; }, get padEnd () { return padEnd; }, get padStart () { return padStart; }, get parseNumber () { return parseNumber; }, get quote () { return quote; }, get repeat () { return repeat; }, get replace () { return replace; }, get snakeCase () { return snakeCase; }, get split () { return split; }, get squote () { return squote; }, get startsWith () { return startsWith; }, get titleCase () { return titleCase; }, get toBase () { return toBase; }, get toLowerCase () { return toLowerCase; }, get toString () { return toString; }, get toUpperCase () { return toUpperCase; }, get trim () { return trim; }, get truncate () { return truncate; }, get uncase () { return uncase; }, get underscore () { return underscore; }, get underscored () { return underscored; }, get underscores () { return underscores; }, get w () { return w; }, get words () { return words; } }); const _function = require("./function"); const _type = require("./type"); const _value = require("./value"); var camelCase, capitalize, collapse, dash, dashed, dashes, dquote, elide, enclose, endsWith, fromBase, gloss, hyphenate, interpolate, isBlank, isMatch, match, normalize, pad, padEnd, padStart, parseNumber, quote, repeat, replace, snakeCase, split, squote, startsWith, titleCase, toBase, toLower, toLowerCase, toString, toUpper, toUpperCase, trim, trimEnd, trimStart, truncate, uncase, underscore, underscored, underscores, w, words; toString = function(x) { return x.toString(); }; toBase = (0, _function.curry)(function(radix, number) { if ((0, _type.isNumber)(radix) && ((0, _type.isNumber)(number) || (0, _type.isBigInt)(number))) { if (2 <= radix && radix <= 36) { return number.toString(radix); } else { throw new TypeError("toBase: radix must between 2 and 36"); } } else { throw new TypeError("toBase: arguments must be numbers"); } }); fromBase = (0, _function.curry)(function(radix, string) { return Number.parseInt(string, radix); }); parseNumber = function(string) { return Number.parseFloat(string); }; match = (0, _function.curry)(function(pattern, string) { return string.match(pattern); }); isMatch = (0, _function.curry)(function(pattern, string) { return pattern.test(string); }); replace = (0, _function.curry)(function(pattern, replacement, string) { return string.replace(pattern, replacement); }); toUpperCase = toUpper = (0, _function.detach)(String.prototype.toUpperCase); toLowerCase = toLower = (0, _function.detach)(String.prototype.toLowerCase); trim = (0, _function.detach)(String.prototype.trim); trimStart = (0, _function.detach)(String.prototype.trimStart); trimEnd = (0, _function.detach)(String.prototype.trimEnd); collapse = function(s) { return replace(/\s+/g, " ", trim(s)); }; // adapted from https://github.com/VitorLuizC/normalize-text normalize = function(string) { return string.normalize("NFKD").replace(/[\u0300-\u036F]/g, ""); }; uncase = (0, _function.pipe)([ replace(/^[A-Z]/g, function(c) { return c.toLowerCase(); }), replace(/[A-Z]/g, function(c) { return ` ${c.toLowerCase()}`; }), replace(/[_-]/g, " ") ]); gloss = (0, _function.pipe)([ normalize, collapse, toLowerCase, replace(/[^A-Za-z0-9 ]+/g, "") ]); camelCase = (0, _function.pipe)([ uncase, gloss, replace(/\s\w/g, (0, _function.pipe)([ trim, toUpperCase ])) ]); dashed = dashes = dash = hyphenate = (0, _function.pipe)([ uncase, gloss, replace(/\s/g, function(s) { return "-"; }) ]); underscored = underscores = underscore = snakeCase = (0, _function.pipe)([ uncase, gloss, replace(/\s/g, function(s) { return "_"; }) ]); capitalize = function(string) { return toUpperCase(string[0]) + string.slice(1); }; titleCase = replace(/\b\w/g, toUpperCase); startsWith = (0, _function.curry)(function(target, string) { return string.startsWith(target); }); endsWith = (0, _function.curry)(function(target, string) { return string.endsWith(target); }); padEnd = (0, _function.curry)(function(n, padding, string) { return string.padEnd(n, padding); }); padStart = (0, _function.curry)(function(n, padding, string) { return string.padStart(n, padding); }); pad = (0, _function.curry)(function(n, padding, string) { return padStart(n, padding, padEnd(Math.ceil((n - string.length) / 2) + string.length, padding, string)); }); repeat = (0, _function.curry)(function(n, string) { return string.repeat(n); }); enclose = (0, _function.curry)(function(delimiter, string) { return function({ start, end }) { if (delimiter.length > 1) { [start, end] = delimiter; } else { start = end = delimiter; } return start + string + end; }({}); }); quote = dquote = enclose('"'); squote = enclose("'"); truncate = (0, _function.curry)(function(n, string) { return string.slice(0, n); }); elide = (0, _function.curry)(function(n, end, string) { if (string.length > n) { return replace(/\W+\w*$/, end, truncate(n - end.length + 1, string)); } else { return string; } }); split = (0, _function.curry)(function(re, s) { return s.split(re); }); w = words = (0, _function.pipe)([ trim, split(/\s+/) ]); isBlank = function(s) { return (0, _type.isString)(s) && (0, _value.isEmpty)(s); }; interpolate = (0, _function.curry)(function(template, context) { var f, parameters; parameters = Object.keys(context); f = new Function(`{${parameters}}`, `return \`${template}\``); return f(context); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3RleHQuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLEtBQUEsRUFBQSxPQUFBLEVBQUEsUUFBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxPQUFBLEVBQUEsT0FBQSxFQUFBLEtBQUEsRUFBQSxTQUFBLEVBQUEsR0FBQSxFQUFBLE1BQUEsRUFBQSxRQUFBLEVBQUEsV0FBQSxFQUFBLEtBQUEsRUFBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLFNBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLFVBQUEsRUFBQSxTQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxXQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsRUFBQSxXQUFBLEVBQUEsSUFBQSxFQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLE1BQUEsRUFBQSxVQUFBLEVBQUEsV0FBQSxFQUFBLFdBQUEsRUFBQSxDQUFBLEVBQUE7O0FBQUEsT0FBQTtFQUFRLEtBQVI7RUFBZSxJQUFmO0VBQXFCLE1BQXJCO0NBQUEsTUFBQTs7QUFDQSxPQUFBO0VBQVMsUUFBVDtFQUFtQixRQUFuQjtFQUE2QixRQUE3QjtDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFRLE9BQVI7Q0FBQSxNQUFBOztBQUVBLFFBQUEsR0FBVyxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sQ0FBQyxDQUFDLFFBQUYsQ0FBQTtBQUFQOztBQUVYLE1BQUEsR0FBUyxLQUFBLENBQU0sUUFBQSxDQUFDLEtBQUQsRUFBUSxNQUFSLENBQUE7RUFDYixJQUFHLENBQUMsUUFBQSxDQUFTLEtBQVQsQ0FBRCxDQUFBLElBQW9CLENBQUMsQ0FBQyxRQUFBLENBQVMsTUFBVCxD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RjtFQTRCRSxNQTVCRjtFQTZCRSxVQTdCRjtFQThCRSxRQTlCRjtFQStCRSxHQS9CRjtFQWdDRSxNQWhDRjtFQWlDRSxRQWpDRjtFQWtDRSxNQWxDRjtFQW1DRSxLQW5DRjtFQW9DRSxDQXBDRjtFQXFDRSxLQXJDRjtFQXNDRSxPQXRDRjtFQXVDRSxLQXZDRjtFQXdDRSxPQXhDRjtFQXlDRSxPQXpDRjtFQTBDRSxXQTFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3VycnksIHBpcGUsIGRldGFjaH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgaXNTdHJpbmcsIGlzTnVtYmVyLCBpc0JpZ0ludCB9IGZyb20gXCIuL3R5cGVcIlxuaW1wb3J0IHtpc0VtcHR5fSBmcm9tIFwiLi92YWx1ZVwiXG5cbnRvU3RyaW5nID0gKHgpIC0+IHgudG9TdHJpbmcoKVxuXG50b0Jhc2UgPSBjdXJyeSAocmFkaXgsIG51bWJlcikgLT5cbiAgaWYgKGlzTnVtYmVyIHJhZGl4KSAmJiAoKGlzTnVtYmVyIG51bWJlcikgfHwgaXNCaWdJbnQgbnVtYmVyKVxuICAgIGlmIDIgPD0gcmFkaXggPD0gMzZcbiAgICAgIG51bWJlci50b1N0cmluZyByYWRpeFxuICAgIGVsc2VcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgXCJ0b0Jhc2U6IHJhZGl4IG11c3QgYmV0d2VlbiAyIGFuZCAzNlwiXG4gIGVsc2VcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yIFwidG9CYXNlOiBhcmd1bWVudHMgbXVzdCBiZSBudW1iZXJzXCJcblxuZnJvbUJhc2UgPSBjdXJyeSAocmFkaXgsIHN0cmluZykgLT4gTnVtYmVyLnBhcnNlSW50IHN0cmluZywgcmFkaXhcblxucGFyc2VOdW1iZXIgPSAoc3RyaW5nKSAtPiBOdW1iZXIucGFyc2VGbG9hdCBzdHJpbmdcblxubWF0Y2ggPSBjdXJyeSAocGF0dGVybiwgc3RyaW5nKSAtPiBzdHJpbmcubWF0Y2ggcGF0dGVyblxuXG5pc01hdGNoID0gY3VycnkgKHBhdHRlcm4sIHN0cmluZykgLT4gcGF0dGVybi50ZXN0IHN0cmluZ1xuXG5yZXBsYWNlID0gY3VycnkgKHBhdHRlcm4sIHJlcGxhY2VtZW50LCBzdHJpbmcpIC0+XG4gIHN0cmluZy5yZXBsYWNlIHBhdHRlcm4sIHJlcGxhY2VtZW50XG5cbnRvVXBwZXJDYXNlID0gdG9VcHBlciA9IGRldGFjaCBTdHJpbmc6OnRvVXBwZXJDYXNlXG5cbnRvTG93ZXJDYXNlID0gdG9Mb3dlciA9IGRldGFjaCBTdHJpbmc6OnRvTG93ZXJDYXNlXG5cbnRyaW0gPSBkZXRhY2ggU3RyaW5nOjp0cmltXG5cbnRyaW1TdGFydCA9IGRldGFjaCBTdHJpbmc6OnRyaW1TdGFydFxuXG50cmltRW5kID0gZGV0YWNoIFN0cmluZzo6dHJpbUVuZFxuXG5jb2xsYXBzZSA9IChzKSAtPiByZXBsYWNlIC9cXHMrL2csIFwiIFwiLCB0cmltIHNcblxuIyBhZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1ZpdG9yTHVpekMvbm9ybWFsaXplLXRleHRcbm5vcm1hbGl6ZSA9IChzdHJpbmcpIC0+XG4gIHN0cmluZ1xuICAubm9ybWFsaXplIFwiTkZLRFwiXG4gIC5yZXBsYWNlIC9bXFx1MDMwMC1cXHUwMzZGXS9nLCBcIlwiXG5cbnVuY2FzZSA9IHBpcGUgW1xuICByZXBsYWNlIC9eW0EtWl0vZywgKGMpIC0+IGMudG9Mb3dlckNhc2UoKVxuICByZXBsYWNlIC9bQS1aXS9nLCAoYykgLT4gXCIgI3tjLnRvTG93ZXJDYXNlKCl9XCJcbiAgcmVwbGFjZSAvW18tXS9nLCBcIiBcIlxuXVxuXG5nbG9zcyA9IHBpcGUgW1xuICBub3JtYWxpemVcbiAgY29sbGFwc2VcbiAgdG9Mb3dlckNhc2VcbiAgcmVwbGFjZSAvW15BLVphLXowLTkgXSsvZywgXCJcIlxuXVxuXG5jYW1lbENhc2UgPSBwaXBlIFtcbiAgdW5jYXNlXG4gIGdsb3NzXG4gIHJlcGxhY2UgL1xcc1xcdy9nLCBwaXBlIFtcbiAgICB0cmltXG4gICAgdG9VcHBlckNhc2VcbiAgXVxuXVxuXG5kYXNoZWQgPSBkYXNoZXMgPSBkYXNoID0gaHlwaGVuYXRlID0gcGlwZSBbXG4gIHVuY2FzZVxuICBnbG9zc1xuICByZXBsYWNlIC9cXHMvZywgKHMpIC0+IFwiLVwiXG5dXG5cbnVuZGVyc2NvcmVkID0gdW5kZXJzY29yZXMgPSB1bmRlcnNjb3JlID0gc25ha2VDYXNlID0gcGlwZSBbXG4gIHVuY2FzZVxuICBnbG9zc1xuICByZXBsYWNlIC9cXHMvZywgKHMpIC0+IFwiX1wiXG5dXG5cbmNhcGl0YWxpemUgPSAoc3RyaW5nKSAtPiAodG9VcHBlckNhc2Ugc3RyaW5nWzBdKSArIHN0cmluZ1sxLi5dXG5cbnRpdGxlQ2FzZSA9IHJlcGxhY2UgL1xcYlxcdy9nLCB0b1VwcGVyQ2FzZVxuXG5zdGFydHNXaXRoID0gY3VycnkgKHRhcmdldCwgc3RyaW5nKSAtPiBzdHJpbmcuc3RhcnRzV2l0aCB0YXJnZXRcblxuZW5kc1dpdGggPSBjdXJyeSAodGFyZ2V0LCBzdHJpbmcpIC0+IHN0cmluZy5lbmRzV2l0aCB0YXJnZXRcblxucGFkRW5kID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT4gc3RyaW5nLnBhZEVuZCBuLCBwYWRkaW5nXG5cbnBhZFN0YXJ0ID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT4gc3RyaW5nLnBhZFN0YXJ0IG4sIHBhZGRpbmdcblxucGFkID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT5cbiAgcGFkU3RhcnQgbiwgcGFkZGluZyxcbiAgICBwYWRFbmQgKE1hdGguY2VpbCAobiAtIHN0cmluZy5sZW5ndGgpLzIpICsgc3RyaW5nLmxlbmd0aCwgcGFkZGluZywgc3RyaW5nXG5cbnJlcGVhdCA9IGN1cnJ5IChuLCBzdHJpbmcpIC0+IHN0cmluZy5yZXBlYXQgblxuXG5lbmNsb3NlID0gY3VycnkgKGRlbGltaXRlciwgc3RyaW5nKSAtPlxuICBkbyAoe3N0YXJ0LCBlbmR9ID0ge30pIC0+XG4gICAgaWYgZGVsaW1pdGVyLmxlbmd0aCA+IDFcbiAgICAgIFsgc3RhcnQsIGVuZCBdID0gZGVsaW1pdGVyXG4gICAgZWxzZVxuICAgICAgc3RhcnQgPSBlbmQgPSBkZWxpbWl0ZXJcbiAgICBzdGFydCArIHN0cmluZyArIGVuZFxuXG5xdW90ZSA9IGRxdW90ZSA9IGVuY2xvc2UgJ1wiJ1xuXG5zcXVvdGUgPSBlbmNsb3NlIFwiJ1wiXG5cbnRydW5jYXRlID0gY3VycnkgKG4sIHN0cmluZykgLT4gc3RyaW5nWzAuLi5uXVxuXG5lbGlkZSA9IGN1cnJ5IChuLCBlbmQsIHN0cmluZykgLT5cbiAgaWYgc3RyaW5nLmxlbmd0aCA+IG5cbiAgICByZXBsYWNlIC9cXFcrXFx3KiQvLCBlbmQsIHRydW5jYXRlIG4gLSBlbmQubGVuZ3RoICsgMSwgc3RyaW5nXG4gIGVsc2VcbiAgICBzdHJpbmdcblxuc3BsaXQgPSBjdXJyeSAocmUsIHMpIC0+IHMuc3BsaXQgcmVcblxudyA9IHdvcmRzID0gcGlwZSBbXG4gIHRyaW1cbiAgc3BsaXQgL1xccysvXG5dXG5cbmlzQmxhbmsgPSAocykgLT4gKGlzU3RyaW5nIHMpICYmIChpc0VtcHR5IHMpXG5cbmludGVycG9sYXRlID0gY3VycnkgKCB0ZW1wbGF0ZSwgY29udGV4dCApIC0+XG4gIHBhcmFtZXRlcnMgPSBPYmplY3Qua2V5cyBjb250ZXh0XG4gIGYgPSBuZXcgRnVuY3Rpb24gXCJ7I3sgcGFyYW1ldGVycyB9fVwiLCBcInJldHVybiBgI3sgdGVtcGxhdGUgfWBcIlxuICBmIGNvbnRleHRcblxuZXhwb3J0IHtcbiAgdG9TdHJpbmdcbiAgdG9CYXNlXG4gIGZyb21CYXNlXG4gIHBhcnNlTnVtYmVyXG4gIHRvVXBwZXJDYXNlXG4gIHRvTG93ZXJDYXNlXG4gIGNvbGxhcHNlXG4gIG5vcm1hbGl6ZVxuICB1bmNhc2VcbiAgZ2xvc3NcbiAgY2FtZWxDYXNlXG4gIGRhc2hlZFxuICBkYXNoZXNcbiAgZGFzaFxuICBoeXBoZW5hdGVcbiAgdW5kZXJzY29yZWRcbiAgdW5kZXJzY29yZXNcbiAgdW5kZXJzY29yZVxuICBzbmFrZUNhc2VcbiAgY2FwaXRhbGl6ZVxuICB0aXRsZUNhc2VcbiAgdHJpbVxuICB0cnVuY2F0ZVxuICBlbGlkZVxuICBlbmNsb3NlXG4gIHF1b3RlXG4gIGRxdW90ZVxuICBzcXVvdGVcbiAgc3RhcnRzV2l0aFxuICBlbmRzV2l0aFxuICBwYWRcbiAgcGFkRW5kXG4gIHBhZFN0YXJ0XG4gIHJlcGVhdFxuICBzcGxpdFxuICB3XG4gIHdvcmRzXG4gIGlzQmxhbmtcbiAgbWF0Y2hcbiAgaXNNYXRjaFxuICByZXBsYWNlXG4gIGludGVycG9sYXRlXG59XG4iXX0= //# sourceURL=/@dashkite/joy/src/text.coffee //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvdGV4dC5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3VycnksIHBpcGUsIGRldGFjaH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgaXNTdHJpbmcsIGlzTnVtYmVyLCBpc0JpZ0ludCB9IGZyb20gXCIuL3R5cGVcIlxuaW1wb3J0IHtpc0VtcHR5fSBmcm9tIFwiLi92YWx1ZVwiXG5cbnRvU3RyaW5nID0gKHgpIC0+IHgudG9TdHJpbmcoKVxuXG50b0Jhc2UgPSBjdXJyeSAocmFkaXgsIG51bWJlcikgLT5cbiAgaWYgKGlzTnVtYmVyIHJhZGl4KSAmJiAoKGlzTnVtYmVyIG51bWJlcikgfHwgaXNCaWdJbnQgbnVtYmVyKVxuICAgIGlmIDIgPD0gcmFkaXggPD0gMzZcbiAgICAgIG51bWJlci50b1N0cmluZyByYWRpeFxuICAgIGVsc2VcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgXCJ0b0Jhc2U6IHJhZGl4IG11c3QgYmV0d2VlbiAyIGFuZCAzNlwiXG4gIGVsc2VcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yIFwidG9CYXNlOiBhcmd1bWVudHMgbXVzdCBiZSBudW1iZXJzXCJcblxuZnJvbUJhc2UgPSBjdXJyeSAocmFkaXgsIHN0cmluZykgLT4gTnVtYmVyLnBhcnNlSW50IHN0cmluZywgcmFkaXhcblxucGFyc2VOdW1iZXIgPSAoc3RyaW5nKSAtPiBOdW1iZXIucGFyc2VGbG9hdCBzdHJpbmdcblxubWF0Y2ggPSBjdXJyeSAocGF0dGVybiwgc3RyaW5nKSAtPiBzdHJpbmcubWF0Y2ggcGF0dGVyblxuXG5pc01hdGNoID0gY3VycnkgKHBhdHRlcm4sIHN0cmluZykgLT4gcGF0dGVybi50ZXN0IHN0cmluZ1xuXG5yZXBsYWNlID0gY3VycnkgKHBhdHRlcm4sIHJlcGxhY2VtZW50LCBzdHJpbmcpIC0+XG4gIHN0cmluZy5yZXBsYWNlIHBhdHRlcm4sIHJlcGxhY2VtZW50XG5cbnRvVXBwZXJDYXNlID0gdG9VcHBlciA9IGRldGFjaCBTdHJpbmc6OnRvVXBwZXJDYXNlXG5cbnRvTG93ZXJDYXNlID0gdG9Mb3dlciA9IGRldGFjaCBTdHJpbmc6OnRvTG93ZXJDYXNlXG5cbnRyaW0gPSBkZXRhY2ggU3RyaW5nOjp0cmltXG5cbnRyaW1TdGFydCA9IGRldGFjaCBTdHJpbmc6OnRyaW1TdGFydFxuXG50cmltRW5kID0gZGV0YWNoIFN0cmluZzo6dHJpbUVuZFxuXG5jb2xsYXBzZSA9IChzKSAtPiByZXBsYWNlIC9cXHMrL2csIFwiIFwiLCB0cmltIHNcblxuIyBhZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1ZpdG9yTHVpekMvbm9ybWFsaXplLXRleHRcbm5vcm1hbGl6ZSA9IChzdHJpbmcpIC0+XG4gIHN0cmluZ1xuICAubm9ybWFsaXplIFwiTkZLRFwiXG4gIC5yZXBsYWNlIC9bXFx1MDMwMC1cXHUwMzZGXS9nLCBcIlwiXG5cbnVuY2FzZSA9IHBpcGUgW1xuICByZXBsYWNlIC9eW0EtWl0vZywgKGMpIC0+IGMudG9Mb3dlckNhc2UoKVxuICByZXBsYWNlIC9bQS1aXS9nLCAoYykgLT4gXCIgI3tjLnRvTG93ZXJDYXNlKCl9XCJcbiAgcmVwbGFjZSAvW18tXS9nLCBcIiBcIlxuXVxuXG5nbG9zcyA9IHBpcGUgW1xuICBub3JtYWxpemVcbiAgY29sbGFwc2VcbiAgdG9Mb3dlckNhc2VcbiAgcmVwbGFjZSAvW15BLVphLXowLTkgXSsvZywgXCJcIlxuXVxuXG5jYW1lbENhc2UgPSBwaXBlIFtcbiAgdW5jYXNlXG4gIGdsb3NzXG4gIHJlcGxhY2UgL1xcc1xcdy9nLCBwaXBlIFtcbiAgICB0cmltXG4gICAgdG9VcHBlckNhc2VcbiAgXVxuXVxuXG5kYXNoZWQgPSBkYXNoZXMgPSBkYXNoID0gaHlwaGVuYXRlID0gcGlwZSBbXG4gIHVuY2FzZVxuICBnbG9zc1xuICByZXBsYWNlIC9cXHMvZywgKHMpIC0+IFwiLVwiXG5dXG5cbnVuZGVyc2NvcmVkID0gdW5kZXJzY29yZXMgPSB1bmRlcnNjb3JlID0gc25ha2VDYXNlID0gcGlwZSBbXG4gIHVuY2FzZVxuICBnbG9zc1xuICByZXBsYWNlIC9cXHMvZywgKHMpIC0+IFwiX1wiXG5dXG5cbmNhcGl0YWxpemUgPSAoc3RyaW5nKSAtPiAodG9VcHBlckNhc2Ugc3RyaW5nWzBdKSArIHN0cmluZ1sxLi5dXG5cbnRpdGxlQ2FzZSA9IHJlcGxhY2UgL1xcYlxcdy9nLCB0b1VwcGVyQ2FzZVxuXG5zdGFydHNXaXRoID0gY3VycnkgKHRhcmdldCwgc3RyaW5nKSAtPiBzdHJpbmcuc3RhcnRzV2l0aCB0YXJnZXRcblxuZW5kc1dpdGggPSBjdXJyeSAodGFyZ2V0LCBzdHJpbmcpIC0+IHN0cmluZy5lbmRzV2l0aCB0YXJnZXRcblxucGFkRW5kID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT4gc3RyaW5nLnBhZEVuZCBuLCBwYWRkaW5nXG5cbnBhZFN0YXJ0ID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT4gc3RyaW5nLnBhZFN0YXJ0IG4sIHBhZGRpbmdcblxucGFkID0gY3VycnkgKG4sIHBhZGRpbmcsIHN0cmluZykgLT5cbiAgcGFkU3RhcnQgbiwgcGFkZGluZyxcbiAgICBwYWRFbmQgKE1hdGguY2VpbCAobiAtIHN0cmluZy5sZW5ndGgpLzIpICsgc3RyaW5nLmxlbmd0aCwgcGFkZGluZywgc3RyaW5nXG5cbnJlcGVhdCA9IGN1cnJ5IChuLCBzdHJpbmcpIC0+IHN0cmluZy5yZXBlYXQgblxuXG5lbmNsb3NlID0gY3VycnkgKGRlbGltaXRlciwgc3RyaW5nKSAtPlxuICBkbyAoe3N0YXJ0LCBlbmR9ID0ge30pIC0+XG4gICAgaWYgZGVsaW1pdGVyLmxlbmd0aCA+IDFcbiAgICAgIFsgc3RhcnQsIGVuZCBdID0gZGVsaW1pdGVyXG4gICAgZWxzZVxuICAgICAgc3RhcnQgPSBlbmQgPSBkZWxpbWl0ZXJcbiAgICBzdGFydCArIHN0cmluZyArIGVuZFxuXG5xdW90ZSA9IGRxdW90ZSA9IGVuY2xvc2UgJ1wiJ1xuXG5zcXVvdGUgPSBlbmNsb3NlIFwiJ1wiXG5cbnRydW5jYXRlID0gY3VycnkgKG4sIHN0cmluZykgLT4gc3RyaW5nWzAuLi5uXVxuXG5lbGlkZSA9IGN1cnJ5IChuLCBlbmQsIHN0cmluZykgLT5cbiAgaWYgc3RyaW5nLmxlbmd0aCA+IG5cbiAgICByZXBsYWNlIC9cXFcrXFx3KiQvLCBlbmQsIHRydW5jYXRlIG4gLSBlbmQubGVuZ3RoICsgMSwgc3RyaW5nXG4gIGVsc2VcbiAgICBzdHJpbmdcblxuc3BsaXQgPSBjdXJyeSAocmUsIHMpIC0+IHMuc3BsaXQgcmVcblxudyA9IHdvcmRzID0gcGlwZSBbXG4gIHRyaW1cbiAgc3BsaXQgL1xccysvXG5dXG5cbmlzQmxhbmsgPSAocykgLT4gKGlzU3RyaW5nIHMpICYmIChpc0VtcHR5IHMpXG5cbmludGVycG9sYXRlID0gY3VycnkgKCB0ZW1wbGF0ZSwgY29udGV4dCApIC0+XG4gIHBhcmFtZXRlcnMgPSBPYmplY3Qua2V5cyBjb250ZXh0XG4gIGYgPSBuZXcgRnVuY3Rpb24gXCJ7I3sgcGFyYW1ldGVycyB9fVwiLCBcInJldHVybiBgI3sgdGVtcGxhdGUgfWBcIlxuICBmIGNvbnRleHRcblxuZXhwb3J0IHtcbiAgdG9TdHJpbmdcbiAgdG9CYXNlXG4gIGZyb21CYXNlXG4gIHBhcnNlTnVtYmVyXG4gIHRvVXBwZXJDYXNlXG4gIHRvTG93ZXJDYXNlXG4gIGNvbGxhcHNlXG4gIG5vcm1hbGl6ZVxuICB1bmNhc2VcbiAgZ2xvc3NcbiAgY2FtZWxDYXNlXG4gIGRhc2hlZFxuICBkYXNoZXNcbiAgZGFzaFxuICBoeXBoZW5hdGVcbiAgdW5kZXJzY29yZWRcbiAgdW5kZXJzY29yZXNcbiAgdW5kZXJzY29yZVxuICBzbmFrZUNhc2VcbiAgY2FwaXRhbGl6ZVxuICB0aXRsZUNhc2VcbiAgdHJpbVxuICB0cnVuY2F0ZVxuICBlbGlkZVxuICBlbmNsb3NlXG4gIHF1b3RlXG4gIGRxdW90ZVxuICBzcXVvdGVcbiAgc3RhcnRzV2l0aFxuICBlbmRzV2l0aFxuICBwYWRcbiAgcGFkRW5kXG4gIHBhZFN0YXJ0XG4gIHJlcGVhdFxuICBzcGxpdFxuICB3XG4gIHdvcmRzXG4gIGlzQmxhbmtcbiAgbWF0Y2hcbiAgaXNNYXRjaFxuICByZXBsYWNlXG4gIGludGVycG9sYXRlXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUE2SUUsU0FYRjs7OztlQW9CRSxVQXBCRjs7O2VBT0UsUUFQRjs7O2VBY0UsSUFkRjs7O2VBWUUsTUFaRjs7O2VBYUUsTUFiRjs7O2VBMkJFLE1BM0JGOzs7ZUF3QkUsS0F4QkY7OztlQXlCRSxPQXpCRjs7O2VBOEJFLFFBOUJGOztRQUdFLFFBSEY7Ozs7ZUFVRSxLQVZGOzs7ZUFlRSxTQWZGOzs7ZUEwQ0UsV0ExQ0Y7OztlQXNDRSxPQXRDRjs7O2VBd0NFLE9BeENGOzs7ZUF1Q0UsS0F2Q0Y7OztlQVFFLFNBUkY7OztlQStCRSxHQS9CRjs7O2VBZ0NFLE1BaENGOzs7ZUFpQ0UsUUFqQ0Y7OztlQUlFLFdBSkY7O1FBMEJFLEtBMUJGOzs7UUFrQ0UsTUFsQ0Y7Ozs7ZUF5Q0UsT0F6Q0Y7OztlQW1CRSxTQW5CRjs7O2VBbUNFLEtBbkNGOzs7ZUE0QkUsTUE1QkY7OztlQTZCRSxVQTdCRjs7O2VBcUJFLFNBckJGOzs7ZUFFRSxNQUZGOzs7ZUFNRSxXQU5GOzs7ZUFDRSxRQURGOzs7ZUFLRSxXQUxGOzs7ZUFzQkUsSUF0QkY7OztlQXVCRSxRQXZCRjs7O2VBU0UsTUFURjs7UUFrQkUsVUFsQkY7Ozs7ZUFnQkUsV0FoQkY7OztlQWlCRSxXQWpCRjs7O2VBb0NFLENBcENGOzs7ZUFxQ0UsS0FyQ0Y7OzswQkFsSUE7c0JBQ0E7dUJBQ0E7QUFGQSxJQUFBLFNBQUEsRUFBQSxVQUFBLEVBQUEsUUFBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLE1BQUEsRUFBQSxLQUFBLEVBQUEsT0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsS0FBQSxFQUFBLFNBQUEsRUFBQSxXQUFBLEVBQUEsT0FBQSxF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