Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@uiw/color-convert

Package Overview
Dependencies
Maintainers
1
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uiw/color-convert - npm Package Compare versions

Comparing version 0.0.31 to 0.0.32

1

lib/cjs/index.d.ts

@@ -72,3 +72,4 @@ export * from './utils';

export declare const hsvaToHex: (hsva: HsvaColor) => string;
export declare const hsvaToHexa: (hsva: HsvaColor) => string;
export declare const hsvaToHsv: ({ h, s, v }: HsvaColor) => HsvColor;
export declare const color: (str: string | HsvaColor) => ColorResult;

@@ -33,6 +33,7 @@ "use strict";

hsvaToHex: true,
hsvaToHexa: true,
hsvaToHsv: true,
color: true
};
exports.color = exports.hsvaToHsv = exports.hsvaToHex = exports.hslaToHsl = exports.rgbaToRgb = exports.hsvaToRgbaString = exports.hsvaToRgbString = exports.hsvaToRgba = exports.hexToRgba = exports.hexToHsva = exports.rgbaToHexa = exports.rgbaToHex = exports.rgbStringToHsva = exports.rgbaStringToHsva = exports.hsvStringToHsva = exports.parseHue = exports.hsvaStringToHsva = exports.hsvaToHsla = exports.hslaToHsva = exports.hslStringToHsva = exports.hslaStringToHsva = exports.hsvaToHslaString = exports.hsvaToHsvaString = exports.hsvaToHsvString = exports.hsvaToHslString = exports.rgbaToHsva = void 0;
exports.color = exports.hsvaToHsv = exports.hsvaToHexa = exports.hsvaToHex = exports.hslaToHsl = exports.rgbaToRgb = exports.hsvaToRgbaString = exports.hsvaToRgbString = exports.hsvaToRgba = exports.hexToRgba = exports.hexToHsva = exports.rgbaToHexa = exports.rgbaToHex = exports.rgbStringToHsva = exports.rgbaStringToHsva = exports.hsvStringToHsva = exports.parseHue = exports.hsvaStringToHsva = exports.hsvaToHsla = exports.hslaToHsva = exports.hslStringToHsva = exports.hslaStringToHsva = exports.hsvaToHslaString = exports.hsvaToHsvaString = exports.hsvaToHsvString = exports.hsvaToHslString = exports.rgbaToHsva = void 0;

@@ -445,2 +446,8 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));

var hsvaToHexa = function hsvaToHexa(hsva) {
return rgbaToHexa(hsvaToRgba(hsva));
};
exports.hsvaToHexa = hsvaToHexa;
var hsvaToHsv = function hsvaToHsv(_ref11) {

@@ -499,2 +506,2 @@ var h = _ref11.h,

exports.color = color;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJSR0JfTUFYIiwiSFVFX01BWCIsIlNWX01BWCIsInJnYmFUb0hzdmEiLCJyIiwiZyIsImIiLCJhIiwibWF4IiwiTWF0aCIsImRlbHRhIiwibWluIiwiaGgiLCJoIiwicyIsInYiLCJoc3ZhVG9Ic2xTdHJpbmciLCJoc3ZhIiwiaHN2YVRvSHNsYSIsImwiLCJyb3VuZCIsImhzdmFUb0hzdlN0cmluZyIsImhzdmFUb0hzdmFTdHJpbmciLCJoc3ZhVG9Ic2xhU3RyaW5nIiwiaHNsYVN0cmluZ1RvSHN2YSIsImhzbFN0cmluZyIsIm1hdGNoZXIiLCJtYXRjaCIsImV4ZWMiLCJoc2xhVG9Ic3ZhIiwicGFyc2VIdWUiLCJOdW1iZXIiLCJ1bmRlZmluZWQiLCJoc2xTdHJpbmdUb0hzdmEiLCJoc3ZhU3RyaW5nVG9Ic3ZhIiwiaHN2U3RyaW5nIiwiYW5nbGVVbml0cyIsImdyYWQiLCJ0dXJuIiwicmFkIiwiUEkiLCJ2YWx1ZSIsInVuaXQiLCJoc3ZTdHJpbmdUb0hzdmEiLCJyZ2JhU3RyaW5nVG9Ic3ZhIiwicmdiYVN0cmluZyIsInJnYlN0cmluZ1RvSHN2YSIsInJnYmFUb0hleCIsImJpbiIsIkFycmF5IiwibGVuZ3RoIiwiam9pbiIsInRvU3RyaW5nIiwicmdiYVRvSGV4YSIsImFscGhhIiwic2xpY2UiLCJoZXhUb0hzdmEiLCJoZXgiLCJoZXhUb1JnYmEiLCJodGVtcCIsInJlcGxhY2UiLCJ0ZXN0IiwiY2hhckF0IiwicmVnIiwiUmVnRXhwIiwibWFwIiwicGFyc2VJbnQiLCJoc3ZhVG9SZ2JhIiwiX2giLCJfcyIsIl92IiwiaGkiLCJmbG9vciIsImYiLCJfcCIsIl9xIiwiX3QiLCJyZ2JhIiwiaHN2YVRvUmdiU3RyaW5nIiwiaHN2YVRvUmdiYVN0cmluZyIsInJnYmFUb1JnYiIsImhzbGFUb0hzbCIsImhzdmFUb0hleCIsImhzdmFUb0hzdiIsImNvbG9yIiwic3RyIiwicmdiIiwiaHNsIiwiaHN2IiwiaHNs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QSxHQUFHLEdBQUdOLFNBQVMsQ0FBQ0gsSUFBRCxDQUFmO0FBQ0Q7O0FBQ0QsU0FBTztBQUFFUyxJQUFBQSxHQUFHLEVBQUhBLEdBQUY7QUFBT0MsSUFBQUEsR0FBRyxFQUFIQSxHQUFQO0FBQVlDLElBQUFBLEdBQUcsRUFBSEEsR0FBWjtBQUFpQlgsSUFBQUEsSUFBSSxFQUFKQSxJQUFqQjtBQUF1QlksSUFBQUEsSUFBSSxFQUFKQSxJQUF2QjtBQUE2QnhFLElBQUFBLElBQUksRUFBSkEsSUFBN0I7QUFBbUN3QyxJQUFBQSxHQUFHLEVBQUhBLEdBQW5DO0FBQXdDaUMsSUFBQUEsSUFBSSxFQUFKQTtBQUF4QyxHQUFQO0FBQ0QsQ0F6Qk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZEhleCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0Q29udHJhc3RpbmdDb2xvcic7XG5cbmNvbnN0IFJHQl9NQVggPSAyNTU7XG5jb25zdCBIVUVfTUFYID0gMzYwO1xuY29uc3QgU1ZfTUFYID0gMTAwO1xuXG5leHBvcnQgdHlwZSBPYmplY3RDb2xvciA9IFJnYkNvbG9yIHwgSHNsQ29sb3IgfCBIc3ZDb2xvciB8IFJnYmFDb2xvciB8IEhzbGFDb2xvciB8IEhzdmFDb2xvcjtcbmV4cG9ydCB0eXBlIENvbG9yUmVzdWx0ID0ge1xuICByZ2I6IFJnYkNvbG9yO1xuICBoc2w6IEhzbENvbG9yO1xuICBoc3Y6IEhzdkNvbG9yO1xuICByZ2JhOiBSZ2JhQ29sb3I7XG4gIGhzbGE6IEhzbGFDb2xvcjtcbiAgaHN2YTogSHN2YUNvbG9yO1xuICBoZXg6IHN0cmluZztcbiAgaGV4YTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc3ZDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICB2OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHN2YUNvbG9yIGV4dGVuZHMgSHN2Q29sb3Ige1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmdiQ29sb3Ige1xuICByOiBudW1iZXI7XG4gIGc6IG51bWJlcjtcbiAgYjogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZ2JhQ29sb3IgZXh0ZW5kcyBSZ2JDb2xvciB7XG4gIGE6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBgYGBqc1xuICogcmdiYVRvSHN2YSh7IHI6IDI1NSwgZzogMjU1LCBiOiAyNTUsIGE6IDEgfSkgLy89PiB7IGg6IDAsIHM6IDAsIHY6IDEwMCwgYTogMSB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHJnYmFUb0hzdmEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICBjb25zdCBkZWx0YSA9IG1heCAtIE1hdGgubWluKHIsIGcsIGIpO1xuXG4gIC8vIHByZXR0aWVyLWlnbm9yZVxuICBjb25zdCBoaCA9IGRlbHRhXG4gICAgPyBtYXggPT09IHJcbiAgICAgID8gKGcgLSBiKSAvIGRlbHRhXG4gICAgICA6IG1heCA9PT0gZ1xuICAgICAgICA/IDIgKyAoYiAtIHIpIC8gZGVsdGFcbiAgICAgICAgOiA0ICsgKHIgLSBnKSAvIGRlbHRhXG4gICAgOiAwO1xuXG4gIHJldHVybiB7XG4gICAgaDogNjAgKiAoaGggPCAwID8gaGggKyA2IDogaGgpLFxuICAgIHM6IG1heCA/IChkZWx0YSAvIG1heCkgKiBTVl9NQVggOiAwLFxuICAgIHY6IChtYXggLyBSR0JfTUFYKSAqIFNWX01BWCxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbFN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IGgsIHMsIGwgfSA9IGhzdmFUb0hzbGEoaHN2YSk7XG4gIC8vIHJldHVybiBgaHNsKCR7aH0sICR7c30lLCAke2x9JSlgO1xuICByZXR1cm4gYGhzbCgke2h9LCAke01hdGgucm91bmQocyl9JSwgJHtNYXRoLnJvdW5kKGwpfSUpYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic3ZTdHJpbmcgPSAoeyBoLCBzLCB2IH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2KCR7aH0sICR7c30lLCAke3Z9JSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzdmFTdHJpbmcgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2YSgke2h9LCAke3N9JSwgJHt2fSUsICR7YX0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic2xhU3RyaW5nID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHsgaCwgcywgbCwgYSB9ID0gaHN2YVRvSHNsYShoc3ZhKTtcbiAgcmV0dXJuIGBoc2xhKCR7aH0sICR7c30lLCAke2x9JSwgJHthfSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzbGFTdHJpbmdUb0hzdmEgPSAoaHNsU3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHNsYT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzbFN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiBoc2xhVG9Ic3ZhKHtcbiAgICBoOiBwYXJzZUh1ZShtYXRjaFsxXSwgbWF0Y2hbMl0pLFxuICAgIHM6IE51bWJlcihtYXRjaFszXSksXG4gICAgbDogTnVtYmVyKG1hdGNoWzRdKSxcbiAgICBhOiBtYXRjaFs1XSA9PT0gdW5kZWZpbmVkID8gMSA6IE51bWJlcihtYXRjaFs1XSkgLyAobWF0Y2hbNl0gPyAxMDAgOiAxKSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaHNsU3RyaW5nVG9Ic3ZhID0gaHNsYVN0cmluZ1RvSHN2YTtcblxuZXhwb3J0IGNvbnN0IGhzbGFUb0hzdmEgPSAoeyBoLCBzLCBsLCBhIH06IEhzbGFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIHMgKj0gKGwgPCA1MCA/IGwgOiBTVl9NQVggLSBsKSAvIFNWX01BWDtcblxuICByZXR1cm4ge1xuICAgIGg6IGgsXG4gICAgczogcyA+IDAgPyAoKDIgKiBzKSAvIChsICsgcykpICogU1ZfTUFYIDogMCxcbiAgICB2OiBsICsgcyxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc2xDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICBsOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhzbGFDb2xvciBleHRlbmRzIEhzbENvbG9yIHtcbiAgYTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbGEgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IEhzbGFDb2xvciA9PiB7XG4gIGNvbnN0IGhoID0gKCgyMDAgLSBzKSAqIHYpIC8gU1ZfTUFYO1xuXG4gIHJldHVybiB7XG4gICAgaCxcbiAgICBzOiBoaCA+IDAgJiYgaGggPCAyMDAgPyAoKHMgKiB2KSAvIFNWX01BWCAvIChoaCA8PSBTVl9NQVggPyBoaCA6IDIwMCAtIGhoKSkgKiBTVl9NQVggOiAwLFxuICAgIGw6IGhoIC8gMixcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFTdHJpbmdUb0hzdmEgPSAoaHN2U3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHN2YT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzdlN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiB7XG4gICAgaDogcGFyc2VIdWUobWF0Y2hbMV0sIG1hdGNoWzJdKSxcbiAgICBzOiBOdW1iZXIobWF0Y2hbM10pLFxuICAgIHY6IE51bWJlcihtYXRjaFs0XSksXG4gICAgYTogbWF0Y2hbNV0gPT09IHVuZGVmaW5lZCA/IDEgOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIDogMSksXG4gIH07XG59O1xuXG4vKipcbiAqIFZhbGlkIENTUyA8YW5nbGU+IHVuaXRzLlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2FuZ2xlXG4gKi9cbmNvbnN0IGFuZ2xlVW5pdHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gIGdyYWQ6IEhVRV9NQVggLyA0MDAsXG4gIHR1cm46IEhVRV9NQVgsXG4gIHJhZDogSFVFX01BWCAvIChNYXRoLlBJICogMiksXG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VIdWUgPSAodmFsdWU6IHN0cmluZywgdW5pdCA9ICdkZWcnKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKiAoYW5nbGVVbml0c1t1bml0XSB8fCAxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZTdHJpbmdUb0hzdmEgPSBoc3ZhU3RyaW5nVG9Ic3ZhO1xuZXhwb3J0IGNvbnN0IHJnYmFTdHJpbmdUb0hzdmEgPSAocmdiYVN0cmluZzogc3RyaW5nKTogSHN2YUNvbG9yID0+IHtcbiAgY29uc3QgbWF0Y2hlciA9XG4gICAgL3JnYmE/XFwoP1xccyooLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpPyw/XFxzKlsvXFxzXSooLT9cXGQqXFwuP1xcZCspPyglKT9cXHMqXFwpPy9pO1xuICBjb25zdCBtYXRjaCA9IG1hdGNoZXIuZXhlYyhyZ2JhU3RyaW5nKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4geyBoOiAwLCBzOiAwLCB2OiAwLCBhOiAxIH07XG5cbiAgcmV0dXJuIHJnYmFUb0hzdmEoe1xuICAgIHI6IE51bWJlcihtYXRjaFsxXSkgLyAobWF0Y2hbMl0gPyBTVl9NQVggLyBSR0JfTUFYIDogMSksXG4gICAgZzogTnVtYmVyKG1hdGNoWzNdKSAvIChtYXRjaFs0XSA/IFNWX01BWCAvIFJHQl9NQVggOiAxKSxcbiAgICBiOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIC8gUkdCX01BWCA6IDEpLFxuICAgIGE6IG1hdGNoWzddID09PSB1bmRlZmluZWQgPyAxIDogTnVtYmVyKG1hdGNoWzddKSAvIChtYXRjaFs4XSA/IFNWX01BWCA6IDEpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZ2JTdHJpbmdUb0hzdmEgPSByZ2JhU3RyaW5nVG9Ic3ZhO1xuXG4vKiogQ29udmVydHMgYW4gUkdCQSBjb2xvciBwbHVzIGFscGhhIHRyYW5zcGFyZW5jeSB0byBoZXggKi9cbmV4cG9ydCBjb25zdCByZ2JhVG9IZXggPSAoeyByLCBnLCBiIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGxldCBiaW4gPSAociA8PCAxNikgfCAoZyA8PCA4KSB8IGI7XG4gIHJldHVybiBgIyR7KChoKSA9PiBuZXcgQXJyYXkoNyAtIGgubGVuZ3RoKS5qb2luKCcwJykgKyBoKShiaW4udG9TdHJpbmcoMTYpKX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHJnYmFUb0hleGEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGFscGhhID0gdHlwZW9mIGEgPT09ICdudW1iZXInICYmICgoYSAqIDI1NSkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpO1xuICByZXR1cm4gYCR7cmdiYVRvSGV4KHsgciwgZywgYiwgYSB9KX0ke2FscGhhID8gYWxwaGEgOiAnJ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IGhleFRvSHN2YSA9IChoZXg6IHN0cmluZyk6IEhzdmFDb2xvciA9PiByZ2JhVG9Ic3ZhKGhleFRvUmdiYShoZXgpKTtcbmV4cG9ydCBjb25zdCBoZXhUb1JnYmEgPSAoaGV4OiBzdHJpbmcpOiBSZ2JhQ29sb3IgPT4ge1xuICBjb25zdCBodGVtcCA9IGhleC5yZXBsYWNlKCcjJywgJycpO1xuICBpZiAoL14jPy8udGVzdChoZXgpICYmIGh0ZW1wLmxlbmd0aCA9PT0gMykge1xuICAgIGhleCA9IGAjJHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMil9JHtodGVtcC5jaGFyQXQoMil9YDtcbiAgfVxuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKGBbQS1aYS16MC05XXsyfWAsICdnJyk7XG4gIGNvbnN0IFtyLCBnLCBiID0gMCwgYV0gPSBoZXgubWF0Y2gocmVnKSEubWFwKCh2KSA9PiBwYXJzZUludCh2LCAxNikpO1xuICByZXR1cm4ge1xuICAgIHIsXG4gICAgZyxcbiAgICBiLFxuICAgIGE6IGEgPyBhIC8gUkdCX01BWCA6IDEsXG4gIH07XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIEhTVkEgdG8gUkdCQS4gQmFzZWQgb24gZm9ybXVsYSBmcm9tIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hTTF9hbmRfSFNWXG4gKiBAcGFyYW0gY29sb3IgSFNWQSBjb2xvciBhcyBhbiBhcnJheSBbMC0zNjAsIDAtMSwgMC0xLCAwLTFdXG4gKi9cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JhID0gKHsgaCwgcywgdiwgYSB9OiBIc3ZhQ29sb3IpOiBSZ2JhQ29sb3IgPT4ge1xuICBsZXQgX2ggPSBoIC8gNjAsXG4gICAgX3MgPSBzIC8gU1ZfTUFYLFxuICAgIF92ID0gdiAvIFNWX01BWCxcbiAgICBoaSA9IE1hdGguZmxvb3IoX2gpICUgNjtcblxuICBsZXQgZiA9IF9oIC0gTWF0aC5mbG9vcihfaCksXG4gICAgX3AgPSBSR0JfTUFYICogX3YgKiAoMSAtIF9zKSxcbiAgICBfcSA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiBmKSxcbiAgICBfdCA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiAoMSAtIGYpKTtcbiAgX3YgKj0gUkdCX01BWDtcbiAgY29uc3QgcmdiYSA9IHt9IGFzIFJnYmFDb2xvcjtcbiAgc3dpdGNoIChoaSkge1xuICAgIGNhc2UgMDpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3Q7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMTpcbiAgICAgIHJnYmEuciA9IF9xO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMjpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfdDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3E7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNDpcbiAgICAgIHJnYmEuciA9IF90O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNTpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfcTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJnYmEuciA9IE1hdGgucm91bmQocmdiYS5yKTtcbiAgcmdiYS5nID0gTWF0aC5yb3VuZChyZ2JhLmcpO1xuICByZ2JhLmIgPSBNYXRoLnJvdW5kKHJnYmEuYik7XG4gIHJldHVybiB7IC4uLnJnYmEsIGEgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JTdHJpbmcgPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgY29uc3QgeyByLCBnLCBiIH0gPSBoc3ZhVG9SZ2JhKGhzdmEpO1xuICByZXR1cm4gYHJnYigke3J9LCAke2d9LCAke2J9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVRvUmdiYVN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IHIsIGcsIGIsIGEgfSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2F9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgcmdiYVRvUmdiID0gKHsgciwgZywgYiB9OiBSZ2JhQ29sb3IpOiBSZ2JDb2xvciA9PiAoeyByLCBnLCBiIH0pO1xuZXhwb3J0IGNvbnN0IGhzbGFUb0hzbCA9ICh7IGgsIHMsIGwgfTogSHNsYUNvbG9yKTogSHNsQ29sb3IgPT4gKHsgaCwgcywgbCB9KTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9IZXggPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHJnYmFUb0hleChoc3ZhVG9SZ2JhKGhzdmEpKTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic3YgPSAoeyBoLCBzLCB2IH06IEhzdmFDb2xvcik6IEhzdkNvbG9yID0+ICh7IGgsIHMsIHYgfSk7XG5cbmV4cG9ydCBjb25zdCBjb2xvciA9IChzdHI6IHN0cmluZyB8IEhzdmFDb2xvcik6IENvbG9yUmVzdWx0ID0+IHtcbiAgbGV0IHJnYiE6IFJnYkNvbG9yO1xuICBsZXQgaHNsITogSHNsQ29sb3I7XG4gIGxldCBoc3YhOiBIc3ZDb2xvcjtcbiAgbGV0IHJnYmEhOiBSZ2JhQ29sb3I7XG4gIGxldCBoc2xhITogSHNsYUNvbG9yO1xuICBsZXQgaHN2YSE6IEhzdmFDb2xvcjtcbiAgbGV0IGhleCE6IHN0cmluZztcbiAgbGV0IGhleGEhOiBzdHJpbmc7XG4gIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJyAmJiB2YWxpZEhleChzdHIpKSB7XG4gICAgaHN2YSA9IGhleFRvSHN2YShzdHIpO1xuICAgIGhleCA9IHN0cjtcbiAgfSBlbHNlIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJykge1xuICAgIGhzdmEgPSBzdHI7XG4gIH1cbiAgaWYgKGhzdmEpIHtcbiAgICBoc3YgPSBoc3ZhVG9Ic3YoaHN2YSk7XG4gICAgaHNsYSA9IGhzdmFUb0hzbGEoaHN2YSk7XG4gICAgcmdiYSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gICAgaGV4YSA9IHJnYmFUb0hleGEocmdiYSk7XG4gICAgaGV4ID0gaHN2YVRvSGV4KGhzdmEpO1xuICAgIGhzbCA9IGhzbGFUb0hzbChoc2xhKTtcbiAgICByZ2IgPSByZ2JhVG9SZ2IocmdiYSk7XG4gIH1cbiAgcmV0dXJuIHsgcmdiLCBoc2wsIGhzdiwgcmdiYSwgaHNsYSwgaHN2YSwgaGV4LCBoZXhhIH07XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJSR0JfTUFYIiwiSFVFX01BWCIsIlNWX01BWCIsInJnYmFUb0hzdmEiLCJyIiwiZyIsImIiLCJhIiwibWF4IiwiTWF0aCIsImRlbHRhIiwibWluIiwiaGgiLCJoIiwicyIsInYiLCJoc3ZhVG9Ic2xTdHJpbmciLCJoc3ZhIiwiaHN2YVRvSHNsYSIsImwiLCJyb3VuZCIsImhzdmFUb0hzdlN0cmluZyIsImhzdmFUb0hzdmFTdHJpbmciLCJoc3ZhVG9Ic2xhU3RyaW5nIiwiaHNsYVN0cmluZ1RvSHN2YSIsImhzbFN0cmluZyIsIm1hdGNoZXIiLCJtYXRjaCIsImV4ZWMiLCJoc2xhVG9Ic3ZhIiwicGFyc2VIdWUiLCJOdW1iZXIiLCJ1bmRlZmluZWQiLCJoc2xTdHJpbmdUb0hzdmEiLCJoc3ZhU3RyaW5nVG9Ic3ZhIiwiaHN2U3RyaW5nIiwiYW5nbGVVbml0cyIsImdyYWQiLCJ0dXJuIiwicmFkIiwiUEkiLCJ2YWx1ZSIsInVuaXQiLCJoc3ZTdHJpbmdUb0hzdmEiLCJyZ2JhU3RyaW5nVG9Ic3ZhIiwicmdiYVN0cmluZyIsInJnYlN0cmluZ1RvSHN2YSIsInJnYmFUb0hleCIsImJpbiIsIkFycmF5IiwibGVuZ3RoIiwiam9pbiIsInRvU3RyaW5nIiwicmdiYVRvSGV4YSIsImFscGhhIiwic2xpY2UiLCJoZXhUb0hzdmEiLCJoZXgiLCJoZXhUb1JnYmEiLCJodGVtcCIsInJlcGxhY2UiLCJ0ZXN0IiwiY2hhckF0IiwicmVnIiwiUmVnRXhwIiwibWFwIiwicGFyc2VJbnQiLCJoc3ZhVG9SZ2JhIiwiX2giLCJfcyIsIl92IiwiaGkiLCJmbG9vciIsImYiLCJfcCIsIl9xIiwiX3QiLCJyZ2JhIiwiaHN2YVRvUmdiU3RyaW5nIiwiaHN2YVRvUmdiYVN0cmluZyIsInJnYmFUb1JnYiIsImhzbGFUb0hzbCIsImhzdmFUb0hleCIsImhzdmFUb0hleGEiLCJoc3ZhVG9Ic3YiLCJjb2xvciIsInN0ciIsInJnYiIsImhz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VUFBVSxDQUFDd0IsSUFBRCxDQUFqQjtBQUNBcEIsSUFBQUEsR0FBRyxHQUFHeUIsU0FBUyxDQUFDakUsSUFBRCxDQUFmO0FBQ0F1RSxJQUFBQSxHQUFHLEdBQUdQLFNBQVMsQ0FBQ1MsSUFBRCxDQUFmO0FBQ0FILElBQUFBLEdBQUcsR0FBR1AsU0FBUyxDQUFDSCxJQUFELENBQWY7QUFDRDs7QUFDRCxTQUFPO0FBQUVVLElBQUFBLEdBQUcsRUFBSEEsR0FBRjtBQUFPQyxJQUFBQSxHQUFHLEVBQUhBLEdBQVA7QUFBWUMsSUFBQUEsR0FBRyxFQUFIQSxHQUFaO0FBQWlCWixJQUFBQSxJQUFJLEVBQUpBLElBQWpCO0FBQXVCYSxJQUFBQSxJQUFJLEVBQUpBLElBQXZCO0FBQTZCekUsSUFBQUEsSUFBSSxFQUFKQSxJQUE3QjtBQUFtQ3dDLElBQUFBLEdBQUcsRUFBSEEsR0FBbkM7QUFBd0NrQyxJQUFBQSxJQUFJLEVBQUpBO0FBQXhDLEdBQVA7QUFDRCxDQXpCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZhbGlkSGV4IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXRDb250cmFzdGluZ0NvbG9yJztcblxuY29uc3QgUkdCX01BWCA9IDI1NTtcbmNvbnN0IEhVRV9NQVggPSAzNjA7XG5jb25zdCBTVl9NQVggPSAxMDA7XG5cbmV4cG9ydCB0eXBlIE9iamVjdENvbG9yID0gUmdiQ29sb3IgfCBIc2xDb2xvciB8IEhzdkNvbG9yIHwgUmdiYUNvbG9yIHwgSHNsYUNvbG9yIHwgSHN2YUNvbG9yO1xuZXhwb3J0IHR5cGUgQ29sb3JSZXN1bHQgPSB7XG4gIHJnYjogUmdiQ29sb3I7XG4gIGhzbDogSHNsQ29sb3I7XG4gIGhzdjogSHN2Q29sb3I7XG4gIHJnYmE6IFJnYmFDb2xvcjtcbiAgaHNsYTogSHNsYUNvbG9yO1xuICBoc3ZhOiBIc3ZhQ29sb3I7XG4gIGhleDogc3RyaW5nO1xuICBoZXhhOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEhzdkNvbG9yIHtcbiAgaDogbnVtYmVyO1xuICBzOiBudW1iZXI7XG4gIHY6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIc3ZhQ29sb3IgZXh0ZW5kcyBIc3ZDb2xvciB7XG4gIGE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZ2JDb2xvciB7XG4gIHI6IG51bWJlcjtcbiAgZzogbnVtYmVyO1xuICBiOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIFJnYmFDb2xvciBleHRlbmRzIFJnYkNvbG9yIHtcbiAgYTogbnVtYmVyO1xufVxuXG4vKipcbiAqIGBgYGpzXG4gKiByZ2JhVG9Ic3ZhKHsgcjogMjU1LCBnOiAyNTUsIGI6IDI1NSwgYTogMSB9KSAvLz0+IHsgaDogMCwgczogMCwgdjogMTAwLCBhOiAxIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgcmdiYVRvSHN2YSA9ICh7IHIsIGcsIGIsIGEgfTogUmdiYUNvbG9yKTogSHN2YUNvbG9yID0+IHtcbiAgY29uc3QgbWF4ID0gTWF0aC5tYXgociwgZywgYik7XG4gIGNvbnN0IGRlbHRhID0gbWF4IC0gTWF0aC5taW4ociwgZywgYik7XG5cbiAgLy8gcHJldHRpZXItaWdub3JlXG4gIGNvbnN0IGhoID0gZGVsdGFcbiAgICA/IG1heCA9PT0gclxuICAgICAgPyAoZyAtIGIpIC8gZGVsdGFcbiAgICAgIDogbWF4ID09PSBnXG4gICAgICAgID8gMiArIChiIC0gcikgLyBkZWx0YVxuICAgICAgICA6IDQgKyAociAtIGcpIC8gZGVsdGFcbiAgICA6IDA7XG5cbiAgcmV0dXJuIHtcbiAgICBoOiA2MCAqIChoaCA8IDAgPyBoaCArIDYgOiBoaCksXG4gICAgczogbWF4ID8gKGRlbHRhIC8gbWF4KSAqIFNWX01BWCA6IDAsXG4gICAgdjogKG1heCAvIFJHQl9NQVgpICogU1ZfTUFYLFxuICAgIGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVRvSHNsU3RyaW5nID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHsgaCwgcywgbCB9ID0gaHN2YVRvSHNsYShoc3ZhKTtcbiAgLy8gcmV0dXJuIGBoc2woJHtofSwgJHtzfSUsICR7bH0lKWA7XG4gIHJldHVybiBgaHNsKCR7aH0sICR7TWF0aC5yb3VuZChzKX0lLCAke01hdGgucm91bmQobCl9JSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzdlN0cmluZyA9ICh7IGgsIHMsIHYgfTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGBoc3YoJHtofSwgJHtzfSUsICR7dn0lKWA7XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVRvSHN2YVN0cmluZyA9ICh7IGgsIHMsIHYsIGEgfTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGBoc3ZhKCR7aH0sICR7c30lLCAke3Z9JSwgJHthfSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbGFTdHJpbmcgPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgY29uc3QgeyBoLCBzLCBsLCBhIH0gPSBoc3ZhVG9Ic2xhKGhzdmEpO1xuICByZXR1cm4gYGhzbGEoJHtofSwgJHtzfSUsICR7bH0lLCAke2F9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgaHNsYVN0cmluZ1RvSHN2YSA9IChoc2xTdHJpbmc6IHN0cmluZyk6IEhzdmFDb2xvciA9PiB7XG4gIGNvbnN0IG1hdGNoZXIgPVxuICAgIC9oc2xhP1xcKD9cXHMqKC0/XFxkKlxcLj9cXGQrKShkZWd8cmFkfGdyYWR8dHVybik/WyxcXHNdKygtP1xcZCpcXC4/XFxkKyklP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT8sP1xccypbL1xcc10qKC0/XFxkKlxcLj9cXGQrKT8oJSk/XFxzKlxcKT8vaTtcbiAgY29uc3QgbWF0Y2ggPSBtYXRjaGVyLmV4ZWMoaHNsU3RyaW5nKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4geyBoOiAwLCBzOiAwLCB2OiAwLCBhOiAxIH07XG5cbiAgcmV0dXJuIGhzbGFUb0hzdmEoe1xuICAgIGg6IHBhcnNlSHVlKG1hdGNoWzFdLCBtYXRjaFsyXSksXG4gICAgczogTnVtYmVyKG1hdGNoWzNdKSxcbiAgICBsOiBOdW1iZXIobWF0Y2hbNF0pLFxuICAgIGE6IG1hdGNoWzVdID09PSB1bmRlZmluZWQgPyAxIDogTnVtYmVyKG1hdGNoWzVdKSAvIChtYXRjaFs2XSA/IDEwMCA6IDEpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc2xTdHJpbmdUb0hzdmEgPSBoc2xhU3RyaW5nVG9Ic3ZhO1xuXG5leHBvcnQgY29uc3QgaHNsYVRvSHN2YSA9ICh7IGgsIHMsIGwsIGEgfTogSHNsYUNvbG9yKTogSHN2YUNvbG9yID0+IHtcbiAgcyAqPSAobCA8IDUwID8gbCA6IFNWX01BWCAtIGwpIC8gU1ZfTUFYO1xuXG4gIHJldHVybiB7XG4gICAgaDogaCxcbiAgICBzOiBzID4gMCA/ICgoMiAqIHMpIC8gKGwgKyBzKSkgKiBTVl9NQVggOiAwLFxuICAgIHY6IGwgKyBzLFxuICAgIGEsXG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEhzbENvbG9yIHtcbiAgaDogbnVtYmVyO1xuICBzOiBudW1iZXI7XG4gIGw6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSHNsYUNvbG9yIGV4dGVuZHMgSHNsQ29sb3Ige1xuICBhOiBudW1iZXI7XG59XG5leHBvcnQgY29uc3QgaHN2YVRvSHNsYSA9ICh7IGgsIHMsIHYsIGEgfTogSHN2YUNvbG9yKTogSHNsYUNvbG9yID0+IHtcbiAgY29uc3QgaGggPSAoKDIwMCAtIHMpICogdikgLyBTVl9NQVg7XG5cbiAgcmV0dXJuIHtcbiAgICBoLFxuICAgIHM6IGhoID4gMCAmJiBoaCA8IDIwMCA/ICgocyAqIHYpIC8gU1ZfTUFYIC8gKGhoIDw9IFNWX01BWCA/IGhoIDogMjAwIC0gaGgpKSAqIFNWX01BWCA6IDAsXG4gICAgbDogaGggLyAyLFxuICAgIGEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVN0cmluZ1RvSHN2YSA9IChoc3ZTdHJpbmc6IHN0cmluZyk6IEhzdmFDb2xvciA9PiB7XG4gIGNvbnN0IG1hdGNoZXIgPVxuICAgIC9oc3ZhP1xcKD9cXHMqKC0/XFxkKlxcLj9cXGQrKShkZWd8cmFkfGdyYWR8dHVybik/WyxcXHNdKygtP1xcZCpcXC4/XFxkKyklP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT8sP1xccypbL1xcc10qKC0/XFxkKlxcLj9cXGQrKT8oJSk/XFxzKlxcKT8vaTtcbiAgY29uc3QgbWF0Y2ggPSBtYXRjaGVyLmV4ZWMoaHN2U3RyaW5nKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4geyBoOiAwLCBzOiAwLCB2OiAwLCBhOiAxIH07XG5cbiAgcmV0dXJuIHtcbiAgICBoOiBwYXJzZUh1ZShtYXRjaFsxXSwgbWF0Y2hbMl0pLFxuICAgIHM6IE51bWJlcihtYXRjaFszXSksXG4gICAgdjogTnVtYmVyKG1hdGNoWzRdKSxcbiAgICBhOiBtYXRjaFs1XSA9PT0gdW5kZWZpbmVkID8gMSA6IE51bWJlcihtYXRjaFs1XSkgLyAobWF0Y2hbNl0gPyBTVl9NQVggOiAxKSxcbiAgfTtcbn07XG5cbi8qKlxuICogVmFsaWQgQ1NTIDxhbmdsZT4gdW5pdHMuXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvYW5nbGVcbiAqL1xuY29uc3QgYW5nbGVVbml0czogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgZ3JhZDogSFVFX01BWCAvIDQwMCxcbiAgdHVybjogSFVFX01BWCxcbiAgcmFkOiBIVUVfTUFYIC8gKE1hdGguUEkgKiAyKSxcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUh1ZSA9ICh2YWx1ZTogc3RyaW5nLCB1bml0ID0gJ2RlZycpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gTnVtYmVyKHZhbHVlKSAqIChhbmdsZVVuaXRzW3VuaXRdIHx8IDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdlN0cmluZ1RvSHN2YSA9IGhzdmFTdHJpbmdUb0hzdmE7XG5leHBvcnQgY29uc3QgcmdiYVN0cmluZ1RvSHN2YSA9IChyZ2JhU3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvcmdiYT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoJSk/WyxcXHNdKygtP1xcZCpcXC4/XFxkKykoJSk/WyxcXHNdKygtP1xcZCpcXC4/XFxkKykoJSk/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKHJnYmFTdHJpbmcpO1xuXG4gIGlmICghbWF0Y2gpIHJldHVybiB7IGg6IDAsIHM6IDAsIHY6IDAsIGE6IDEgfTtcblxuICByZXR1cm4gcmdiYVRvSHN2YSh7XG4gICAgcjogTnVtYmVyKG1hdGNoWzFdKSAvIChtYXRjaFsyXSA/IFNWX01BWCAvIFJHQl9NQVggOiAxKSxcbiAgICBnOiBOdW1iZXIobWF0Y2hbM10pIC8gKG1hdGNoWzRdID8gU1ZfTUFYIC8gUkdCX01BWCA6IDEpLFxuICAgIGI6IE51bWJlcihtYXRjaFs1XSkgLyAobWF0Y2hbNl0gPyBTVl9NQVggLyBSR0JfTUFYIDogMSksXG4gICAgYTogbWF0Y2hbN10gPT09IHVuZGVmaW5lZCA/IDEgOiBOdW1iZXIobWF0Y2hbN10pIC8gKG1hdGNoWzhdID8gU1ZfTUFYIDogMSksXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJnYlN0cmluZ1RvSHN2YSA9IHJnYmFTdHJpbmdUb0hzdmE7XG5cbi8qKiBDb252ZXJ0cyBhbiBSR0JBIGNvbG9yIHBsdXMgYWxwaGEgdHJhbnNwYXJlbmN5IHRvIGhleCAqL1xuZXhwb3J0IGNvbnN0IHJnYmFUb0hleCA9ICh7IHIsIGcsIGIgfTogUmdiYUNvbG9yKTogc3RyaW5nID0+IHtcbiAgbGV0IGJpbiA9IChyIDw8IDE2KSB8IChnIDw8IDgpIHwgYjtcbiAgcmV0dXJuIGAjJHsoKGgpID0+IG5ldyBBcnJheSg3IC0gaC5sZW5ndGgpLmpvaW4oJzAnKSArIGgpKGJpbi50b1N0cmluZygxNikpfWA7XG59O1xuXG5leHBvcnQgY29uc3QgcmdiYVRvSGV4YSA9ICh7IHIsIGcsIGIsIGEgfTogUmdiYUNvbG9yKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYWxwaGEgPSB0eXBlb2YgYSA9PT0gJ251bWJlcicgJiYgKChhICogMjU1KSB8ICgxIDw8IDgpKS50b1N0cmluZygxNikuc2xpY2UoMSk7XG4gIHJldHVybiBgJHtyZ2JhVG9IZXgoeyByLCBnLCBiLCBhIH0pfSR7YWxwaGEgPyBhbHBoYSA6ICcnfWA7XG59O1xuXG5leHBvcnQgY29uc3QgaGV4VG9Ic3ZhID0gKGhleDogc3RyaW5nKTogSHN2YUNvbG9yID0+IHJnYmFUb0hzdmEoaGV4VG9SZ2JhKGhleCkpO1xuZXhwb3J0IGNvbnN0IGhleFRvUmdiYSA9IChoZXg6IHN0cmluZyk6IFJnYmFDb2xvciA9PiB7XG4gIGNvbnN0IGh0ZW1wID0gaGV4LnJlcGxhY2UoJyMnLCAnJyk7XG4gIGlmICgvXiM/Ly50ZXN0KGhleCkgJiYgaHRlbXAubGVuZ3RoID09PSAzKSB7XG4gICAgaGV4ID0gYCMke2h0ZW1wLmNoYXJBdCgwKX0ke2h0ZW1wLmNoYXJBdCgwKX0ke2h0ZW1wLmNoYXJBdCgxKX0ke2h0ZW1wLmNoYXJBdCgxKX0ke2h0ZW1wLmNoYXJBdCgyKX0ke2h0ZW1wLmNoYXJBdCgyKX1gO1xuICB9XG4gIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoYFtBLVphLXowLTldezJ9YCwgJ2cnKTtcbiAgY29uc3QgW3IsIGcsIGIgPSAwLCBhXSA9IGhleC5tYXRjaChyZWcpIS5tYXAoKHYpID0+IHBhcnNlSW50KHYsIDE2KSk7XG4gIHJldHVybiB7XG4gICAgcixcbiAgICBnLFxuICAgIGIsXG4gICAgYTogYSA/IGEgLyBSR0JfTUFYIDogMSxcbiAgfTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgSFNWQSB0byBSR0JBLiBCYXNlZCBvbiBmb3JtdWxhIGZyb20gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFNMX2FuZF9IU1ZcbiAqIEBwYXJhbSBjb2xvciBIU1ZBIGNvbG9yIGFzIGFuIGFycmF5IFswLTM2MCwgMC0xLCAwLTEsIDAtMV1cbiAqL1xuZXhwb3J0IGNvbnN0IGhzdmFUb1JnYmEgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IFJnYmFDb2xvciA9PiB7XG4gIGxldCBfaCA9IGggLyA2MCxcbiAgICBfcyA9IHMgLyBTVl9NQVgsXG4gICAgX3YgPSB2IC8gU1ZfTUFYLFxuICAgIGhpID0gTWF0aC5mbG9vcihfaCkgJSA2O1xuXG4gIGxldCBmID0gX2ggLSBNYXRoLmZsb29yKF9oKSxcbiAgICBfcCA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MpLFxuICAgIF9xID0gUkdCX01BWCAqIF92ICogKDEgLSBfcyAqIGYpLFxuICAgIF90ID0gUkdCX01BWCAqIF92ICogKDEgLSBfcyAqICgxIC0gZikpO1xuICBfdiAqPSBSR0JfTUFYO1xuICBjb25zdCByZ2JhID0ge30gYXMgUmdiYUNvbG9yO1xuICBzd2l0Y2ggKGhpKSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmdiYS5yID0gX3Y7XG4gICAgICByZ2JhLmcgPSBfdDtcbiAgICAgIHJnYmEuYiA9IF9wO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAxOlxuICAgICAgcmdiYS5yID0gX3E7XG4gICAgICByZ2JhLmcgPSBfdjtcbiAgICAgIHJnYmEuYiA9IF9wO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAyOlxuICAgICAgcmdiYS5yID0gX3A7XG4gICAgICByZ2JhLmcgPSBfdjtcbiAgICAgIHJnYmEuYiA9IF90O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzOlxuICAgICAgcmdiYS5yID0gX3A7XG4gICAgICByZ2JhLmcgPSBfcTtcbiAgICAgIHJnYmEuYiA9IF92O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0OlxuICAgICAgcmdiYS5yID0gX3Q7XG4gICAgICByZ2JhLmcgPSBfcDtcbiAgICAgIHJnYmEuYiA9IF92O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA1OlxuICAgICAgcmdiYS5yID0gX3Y7XG4gICAgICByZ2JhLmcgPSBfcDtcbiAgICAgIHJnYmEuYiA9IF9xO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmdiYS5yID0gTWF0aC5yb3VuZChyZ2JhLnIpO1xuICByZ2JhLmcgPSBNYXRoLnJvdW5kKHJnYmEuZyk7XG4gIHJnYmEuYiA9IE1hdGgucm91bmQocmdiYS5iKTtcbiAgcmV0dXJuIHsgLi4ucmdiYSwgYSB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb1JnYlN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IHIsIGcsIGIgfSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gIHJldHVybiBgcmdiKCR7cn0sICR7Z30sICR7Yn0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JhU3RyaW5nID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHsgciwgZywgYiwgYSB9ID0gaHN2YVRvUmdiYShoc3ZhKTtcbiAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YX0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCByZ2JhVG9SZ2IgPSAoeyByLCBnLCBiIH06IFJnYmFDb2xvcik6IFJnYkNvbG9yID0+ICh7IHIsIGcsIGIgfSk7XG5leHBvcnQgY29uc3QgaHNsYVRvSHNsID0gKHsgaCwgcywgbCB9OiBIc2xhQ29sb3IpOiBIc2xDb2xvciA9PiAoeyBoLCBzLCBsIH0pO1xuZXhwb3J0IGNvbnN0IGhzdmFUb0hleCA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4gcmdiYVRvSGV4KGhzdmFUb1JnYmEoaHN2YSkpO1xuZXhwb3J0IGNvbnN0IGhzdmFUb0hleGEgPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHJnYmFUb0hleGEoaHN2YVRvUmdiYShoc3ZhKSk7XG5leHBvcnQgY29uc3QgaHN2YVRvSHN2ID0gKHsgaCwgcywgdiB9OiBIc3ZhQ29sb3IpOiBIc3ZDb2xvciA9PiAoeyBoLCBzLCB2IH0pO1xuXG5leHBvcnQgY29uc3QgY29sb3IgPSAoc3RyOiBzdHJpbmcgfCBIc3ZhQ29sb3IpOiBDb2xvclJlc3VsdCA9PiB7XG4gIGxldCByZ2IhOiBSZ2JDb2xvcjtcbiAgbGV0IGhzbCE6IEhzbENvbG9yO1xuICBsZXQgaHN2ITogSHN2Q29sb3I7XG4gIGxldCByZ2JhITogUmdiYUNvbG9yO1xuICBsZXQgaHNsYSE6IEhzbGFDb2xvcjtcbiAgbGV0IGhzdmEhOiBIc3ZhQ29sb3I7XG4gIGxldCBoZXghOiBzdHJpbmc7XG4gIGxldCBoZXhhITogc3RyaW5nO1xuICBpZiAodHlwZW9mIHN0ciA9PT0gJ3N0cmluZycgJiYgdmFsaWRIZXgoc3RyKSkge1xuICAgIGhzdmEgPSBoZXhUb0hzdmEoc3RyKTtcbiAgICBoZXggPSBzdHI7XG4gIH0gZWxzZSBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICBoc3ZhID0gc3RyO1xuICB9XG4gIGlmIChoc3ZhKSB7XG4gICAgaHN2ID0gaHN2YVRvSHN2KGhzdmEpO1xuICAgIGhzbGEgPSBoc3ZhVG9Ic2xhKGhzdmEpO1xuICAgIHJnYmEgPSBoc3ZhVG9SZ2JhKGhzdmEpO1xuICAgIGhleGEgPSByZ2JhVG9IZXhhKHJnYmEpO1xuICAgIGhleCA9IGhzdmFUb0hleChoc3ZhKTtcbiAgICBoc2wgPSBoc2xhVG9Ic2woaHNsYSk7XG4gICAgcmdiID0gcmdiYVRvUmdiKHJnYmEpO1xuICB9XG4gIHJldHVybiB7IHJnYiwgaHNsLCBoc3YsIHJnYmEsIGhzbGEsIGhzdmEsIGhleCwgaGV4YSB9O1xufTtcbiJdfQ==

@@ -72,3 +72,4 @@ export * from './utils';

export declare const hsvaToHex: (hsva: HsvaColor) => string;
export declare const hsvaToHexa: (hsva: HsvaColor) => string;
export declare const hsvaToHsv: ({ h, s, v }: HsvaColor) => HsvColor;
export declare const color: (str: string | HsvaColor) => ColorResult;

5

lib/esm/index.js

@@ -315,2 +315,5 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";

};
export var hsvaToHexa = function hsvaToHexa(hsva) {
return rgbaToHexa(hsvaToRgba(hsva));
};
export var hsvaToHsv = function hsvaToHsv(_ref11) {

@@ -364,2 +367,2 @@ var h = _ref11.h,

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJ2YWxpZEhleCIsIlJHQl9NQVgiLCJIVUVfTUFYIiwiU1ZfTUFYIiwicmdiYVRvSHN2YSIsInIiLCJnIiwiYiIsImEiLCJtYXgiLCJNYXRoIiwiZGVsdGEiLCJtaW4iLCJoaCIsImgiLCJzIiwidiIsImhzdmFUb0hzbFN0cmluZyIsImhzdmEiLCJoc3ZhVG9Ic2xhIiwibCIsInJvdW5kIiwiaHN2YVRvSHN2U3RyaW5nIiwiaHN2YVRvSHN2YVN0cmluZyIsImhzdmFUb0hzbGFTdHJpbmciLCJoc2xhU3RyaW5nVG9Ic3ZhIiwiaHNsU3RyaW5nIiwibWF0Y2hlciIsIm1hdGNoIiwiZXhlYyIsImhzbGFUb0hzdmEiLCJwYXJzZUh1ZSIsIk51bWJlciIsInVuZGVmaW5lZCIsImhzbFN0cmluZ1RvSHN2YSIsImhzdmFTdHJpbmdUb0hzdmEiLCJoc3ZTdHJpbmciLCJhbmdsZVVuaXRzIiwiZ3JhZCIsInR1cm4iLCJyYWQiLCJQSSIsInZhbHVlIiwidW5pdCIsImhzdlN0cmluZ1RvSHN2YSIsInJnYmFTdHJpbmdUb0hzdmEiLCJyZ2JhU3RyaW5nIiwicmdiU3RyaW5nVG9Ic3ZhIiwicmdiYVRvSGV4IiwiYmluIiwiQXJyYXkiLCJsZW5ndGgiLCJqb2luIiwidG9TdHJpbmciLCJyZ2JhVG9IZXhhIiwiYWxwaGEiLCJzbGljZSIsImhleFRvSHN2YSIsImhleCIsImhleFRvUmdiYSIsImh0ZW1wIiwicmVwbGFjZSIsInRlc3QiLCJjaGFyQXQiLCJyZWciLCJSZWdFeHAiLCJtYXAiLCJwYXJzZUludCIsImhzdmFUb1JnYmEiLCJfaCIsIl9zIiwiX3YiLCJoaSIsImZsb29yIiwiZiIsIl9wIiwiX3EiLCJfdCIsInJnYmEiLCJoc3ZhVG9SZ2JTdHJpbmciLCJoc3ZhVG9SZ2JhU3RyaW5nIiwicmdiYVRvUmdiIiwiaHNsYVRvSHNsIiwiaHN2YVRvSGV4IiwiaHN2YVRvSHN2IiwiY29sb3IiLCJzdHIiLCJyZ2IiLCJoc2wi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SUFBRCxDQUFmO0FBQ0Q7O0FBQ0QsU0FBTztBQUFFUyxJQUFBQSxHQUFHLEVBQUhBLEdBQUY7QUFBT0MsSUFBQUEsR0FBRyxFQUFIQSxHQUFQO0FBQVlDLElBQUFBLEdBQUcsRUFBSEEsR0FBWjtBQUFpQlgsSUFBQUEsSUFBSSxFQUFKQSxJQUFqQjtBQUF1QlksSUFBQUEsSUFBSSxFQUFKQSxJQUF2QjtBQUE2QnhFLElBQUFBLElBQUksRUFBSkEsSUFBN0I7QUFBbUN3QyxJQUFBQSxHQUFHLEVBQUhBLEdBQW5DO0FBQXdDaUMsSUFBQUEsSUFBSSxFQUFKQTtBQUF4QyxHQUFQO0FBQ0QsQ0F6Qk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZEhleCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0Q29udHJhc3RpbmdDb2xvcic7XG5cbmNvbnN0IFJHQl9NQVggPSAyNTU7XG5jb25zdCBIVUVfTUFYID0gMzYwO1xuY29uc3QgU1ZfTUFYID0gMTAwO1xuXG5leHBvcnQgdHlwZSBPYmplY3RDb2xvciA9IFJnYkNvbG9yIHwgSHNsQ29sb3IgfCBIc3ZDb2xvciB8IFJnYmFDb2xvciB8IEhzbGFDb2xvciB8IEhzdmFDb2xvcjtcbmV4cG9ydCB0eXBlIENvbG9yUmVzdWx0ID0ge1xuICByZ2I6IFJnYkNvbG9yO1xuICBoc2w6IEhzbENvbG9yO1xuICBoc3Y6IEhzdkNvbG9yO1xuICByZ2JhOiBSZ2JhQ29sb3I7XG4gIGhzbGE6IEhzbGFDb2xvcjtcbiAgaHN2YTogSHN2YUNvbG9yO1xuICBoZXg6IHN0cmluZztcbiAgaGV4YTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc3ZDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICB2OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHN2YUNvbG9yIGV4dGVuZHMgSHN2Q29sb3Ige1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmdiQ29sb3Ige1xuICByOiBudW1iZXI7XG4gIGc6IG51bWJlcjtcbiAgYjogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZ2JhQ29sb3IgZXh0ZW5kcyBSZ2JDb2xvciB7XG4gIGE6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBgYGBqc1xuICogcmdiYVRvSHN2YSh7IHI6IDI1NSwgZzogMjU1LCBiOiAyNTUsIGE6IDEgfSkgLy89PiB7IGg6IDAsIHM6IDAsIHY6IDEwMCwgYTogMSB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHJnYmFUb0hzdmEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICBjb25zdCBkZWx0YSA9IG1heCAtIE1hdGgubWluKHIsIGcsIGIpO1xuXG4gIC8vIHByZXR0aWVyLWlnbm9yZVxuICBjb25zdCBoaCA9IGRlbHRhXG4gICAgPyBtYXggPT09IHJcbiAgICAgID8gKGcgLSBiKSAvIGRlbHRhXG4gICAgICA6IG1heCA9PT0gZ1xuICAgICAgICA/IDIgKyAoYiAtIHIpIC8gZGVsdGFcbiAgICAgICAgOiA0ICsgKHIgLSBnKSAvIGRlbHRhXG4gICAgOiAwO1xuXG4gIHJldHVybiB7XG4gICAgaDogNjAgKiAoaGggPCAwID8gaGggKyA2IDogaGgpLFxuICAgIHM6IG1heCA/IChkZWx0YSAvIG1heCkgKiBTVl9NQVggOiAwLFxuICAgIHY6IChtYXggLyBSR0JfTUFYKSAqIFNWX01BWCxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbFN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IGgsIHMsIGwgfSA9IGhzdmFUb0hzbGEoaHN2YSk7XG4gIC8vIHJldHVybiBgaHNsKCR7aH0sICR7c30lLCAke2x9JSlgO1xuICByZXR1cm4gYGhzbCgke2h9LCAke01hdGgucm91bmQocyl9JSwgJHtNYXRoLnJvdW5kKGwpfSUpYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic3ZTdHJpbmcgPSAoeyBoLCBzLCB2IH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2KCR7aH0sICR7c30lLCAke3Z9JSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzdmFTdHJpbmcgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2YSgke2h9LCAke3N9JSwgJHt2fSUsICR7YX0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic2xhU3RyaW5nID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHsgaCwgcywgbCwgYSB9ID0gaHN2YVRvSHNsYShoc3ZhKTtcbiAgcmV0dXJuIGBoc2xhKCR7aH0sICR7c30lLCAke2x9JSwgJHthfSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzbGFTdHJpbmdUb0hzdmEgPSAoaHNsU3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHNsYT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzbFN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiBoc2xhVG9Ic3ZhKHtcbiAgICBoOiBwYXJzZUh1ZShtYXRjaFsxXSwgbWF0Y2hbMl0pLFxuICAgIHM6IE51bWJlcihtYXRjaFszXSksXG4gICAgbDogTnVtYmVyKG1hdGNoWzRdKSxcbiAgICBhOiBtYXRjaFs1XSA9PT0gdW5kZWZpbmVkID8gMSA6IE51bWJlcihtYXRjaFs1XSkgLyAobWF0Y2hbNl0gPyAxMDAgOiAxKSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaHNsU3RyaW5nVG9Ic3ZhID0gaHNsYVN0cmluZ1RvSHN2YTtcblxuZXhwb3J0IGNvbnN0IGhzbGFUb0hzdmEgPSAoeyBoLCBzLCBsLCBhIH06IEhzbGFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIHMgKj0gKGwgPCA1MCA/IGwgOiBTVl9NQVggLSBsKSAvIFNWX01BWDtcblxuICByZXR1cm4ge1xuICAgIGg6IGgsXG4gICAgczogcyA+IDAgPyAoKDIgKiBzKSAvIChsICsgcykpICogU1ZfTUFYIDogMCxcbiAgICB2OiBsICsgcyxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc2xDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICBsOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhzbGFDb2xvciBleHRlbmRzIEhzbENvbG9yIHtcbiAgYTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbGEgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IEhzbGFDb2xvciA9PiB7XG4gIGNvbnN0IGhoID0gKCgyMDAgLSBzKSAqIHYpIC8gU1ZfTUFYO1xuXG4gIHJldHVybiB7XG4gICAgaCxcbiAgICBzOiBoaCA+IDAgJiYgaGggPCAyMDAgPyAoKHMgKiB2KSAvIFNWX01BWCAvIChoaCA8PSBTVl9NQVggPyBoaCA6IDIwMCAtIGhoKSkgKiBTVl9NQVggOiAwLFxuICAgIGw6IGhoIC8gMixcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFTdHJpbmdUb0hzdmEgPSAoaHN2U3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHN2YT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzdlN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiB7XG4gICAgaDogcGFyc2VIdWUobWF0Y2hbMV0sIG1hdGNoWzJdKSxcbiAgICBzOiBOdW1iZXIobWF0Y2hbM10pLFxuICAgIHY6IE51bWJlcihtYXRjaFs0XSksXG4gICAgYTogbWF0Y2hbNV0gPT09IHVuZGVmaW5lZCA/IDEgOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIDogMSksXG4gIH07XG59O1xuXG4vKipcbiAqIFZhbGlkIENTUyA8YW5nbGU+IHVuaXRzLlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2FuZ2xlXG4gKi9cbmNvbnN0IGFuZ2xlVW5pdHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gIGdyYWQ6IEhVRV9NQVggLyA0MDAsXG4gIHR1cm46IEhVRV9NQVgsXG4gIHJhZDogSFVFX01BWCAvIChNYXRoLlBJICogMiksXG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VIdWUgPSAodmFsdWU6IHN0cmluZywgdW5pdCA9ICdkZWcnKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKiAoYW5nbGVVbml0c1t1bml0XSB8fCAxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZTdHJpbmdUb0hzdmEgPSBoc3ZhU3RyaW5nVG9Ic3ZhO1xuZXhwb3J0IGNvbnN0IHJnYmFTdHJpbmdUb0hzdmEgPSAocmdiYVN0cmluZzogc3RyaW5nKTogSHN2YUNvbG9yID0+IHtcbiAgY29uc3QgbWF0Y2hlciA9XG4gICAgL3JnYmE/XFwoP1xccyooLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpPyw/XFxzKlsvXFxzXSooLT9cXGQqXFwuP1xcZCspPyglKT9cXHMqXFwpPy9pO1xuICBjb25zdCBtYXRjaCA9IG1hdGNoZXIuZXhlYyhyZ2JhU3RyaW5nKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4geyBoOiAwLCBzOiAwLCB2OiAwLCBhOiAxIH07XG5cbiAgcmV0dXJuIHJnYmFUb0hzdmEoe1xuICAgIHI6IE51bWJlcihtYXRjaFsxXSkgLyAobWF0Y2hbMl0gPyBTVl9NQVggLyBSR0JfTUFYIDogMSksXG4gICAgZzogTnVtYmVyKG1hdGNoWzNdKSAvIChtYXRjaFs0XSA/IFNWX01BWCAvIFJHQl9NQVggOiAxKSxcbiAgICBiOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIC8gUkdCX01BWCA6IDEpLFxuICAgIGE6IG1hdGNoWzddID09PSB1bmRlZmluZWQgPyAxIDogTnVtYmVyKG1hdGNoWzddKSAvIChtYXRjaFs4XSA/IFNWX01BWCA6IDEpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZ2JTdHJpbmdUb0hzdmEgPSByZ2JhU3RyaW5nVG9Ic3ZhO1xuXG4vKiogQ29udmVydHMgYW4gUkdCQSBjb2xvciBwbHVzIGFscGhhIHRyYW5zcGFyZW5jeSB0byBoZXggKi9cbmV4cG9ydCBjb25zdCByZ2JhVG9IZXggPSAoeyByLCBnLCBiIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGxldCBiaW4gPSAociA8PCAxNikgfCAoZyA8PCA4KSB8IGI7XG4gIHJldHVybiBgIyR7KChoKSA9PiBuZXcgQXJyYXkoNyAtIGgubGVuZ3RoKS5qb2luKCcwJykgKyBoKShiaW4udG9TdHJpbmcoMTYpKX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHJnYmFUb0hleGEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGFscGhhID0gdHlwZW9mIGEgPT09ICdudW1iZXInICYmICgoYSAqIDI1NSkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpO1xuICByZXR1cm4gYCR7cmdiYVRvSGV4KHsgciwgZywgYiwgYSB9KX0ke2FscGhhID8gYWxwaGEgOiAnJ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IGhleFRvSHN2YSA9IChoZXg6IHN0cmluZyk6IEhzdmFDb2xvciA9PiByZ2JhVG9Ic3ZhKGhleFRvUmdiYShoZXgpKTtcbmV4cG9ydCBjb25zdCBoZXhUb1JnYmEgPSAoaGV4OiBzdHJpbmcpOiBSZ2JhQ29sb3IgPT4ge1xuICBjb25zdCBodGVtcCA9IGhleC5yZXBsYWNlKCcjJywgJycpO1xuICBpZiAoL14jPy8udGVzdChoZXgpICYmIGh0ZW1wLmxlbmd0aCA9PT0gMykge1xuICAgIGhleCA9IGAjJHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMil9JHtodGVtcC5jaGFyQXQoMil9YDtcbiAgfVxuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKGBbQS1aYS16MC05XXsyfWAsICdnJyk7XG4gIGNvbnN0IFtyLCBnLCBiID0gMCwgYV0gPSBoZXgubWF0Y2gocmVnKSEubWFwKCh2KSA9PiBwYXJzZUludCh2LCAxNikpO1xuICByZXR1cm4ge1xuICAgIHIsXG4gICAgZyxcbiAgICBiLFxuICAgIGE6IGEgPyBhIC8gUkdCX01BWCA6IDEsXG4gIH07XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIEhTVkEgdG8gUkdCQS4gQmFzZWQgb24gZm9ybXVsYSBmcm9tIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hTTF9hbmRfSFNWXG4gKiBAcGFyYW0gY29sb3IgSFNWQSBjb2xvciBhcyBhbiBhcnJheSBbMC0zNjAsIDAtMSwgMC0xLCAwLTFdXG4gKi9cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JhID0gKHsgaCwgcywgdiwgYSB9OiBIc3ZhQ29sb3IpOiBSZ2JhQ29sb3IgPT4ge1xuICBsZXQgX2ggPSBoIC8gNjAsXG4gICAgX3MgPSBzIC8gU1ZfTUFYLFxuICAgIF92ID0gdiAvIFNWX01BWCxcbiAgICBoaSA9IE1hdGguZmxvb3IoX2gpICUgNjtcblxuICBsZXQgZiA9IF9oIC0gTWF0aC5mbG9vcihfaCksXG4gICAgX3AgPSBSR0JfTUFYICogX3YgKiAoMSAtIF9zKSxcbiAgICBfcSA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiBmKSxcbiAgICBfdCA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiAoMSAtIGYpKTtcbiAgX3YgKj0gUkdCX01BWDtcbiAgY29uc3QgcmdiYSA9IHt9IGFzIFJnYmFDb2xvcjtcbiAgc3dpdGNoIChoaSkge1xuICAgIGNhc2UgMDpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3Q7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMTpcbiAgICAgIHJnYmEuciA9IF9xO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMjpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfdDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3E7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNDpcbiAgICAgIHJnYmEuciA9IF90O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNTpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfcTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJnYmEuciA9IE1hdGgucm91bmQocmdiYS5yKTtcbiAgcmdiYS5nID0gTWF0aC5yb3VuZChyZ2JhLmcpO1xuICByZ2JhLmIgPSBNYXRoLnJvdW5kKHJnYmEuYik7XG4gIHJldHVybiB7IC4uLnJnYmEsIGEgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JTdHJpbmcgPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgY29uc3QgeyByLCBnLCBiIH0gPSBoc3ZhVG9SZ2JhKGhzdmEpO1xuICByZXR1cm4gYHJnYigke3J9LCAke2d9LCAke2J9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVRvUmdiYVN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IHIsIGcsIGIsIGEgfSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2F9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgcmdiYVRvUmdiID0gKHsgciwgZywgYiB9OiBSZ2JhQ29sb3IpOiBSZ2JDb2xvciA9PiAoeyByLCBnLCBiIH0pO1xuZXhwb3J0IGNvbnN0IGhzbGFUb0hzbCA9ICh7IGgsIHMsIGwgfTogSHNsYUNvbG9yKTogSHNsQ29sb3IgPT4gKHsgaCwgcywgbCB9KTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9IZXggPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHJnYmFUb0hleChoc3ZhVG9SZ2JhKGhzdmEpKTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic3YgPSAoeyBoLCBzLCB2IH06IEhzdmFDb2xvcik6IEhzdkNvbG9yID0+ICh7IGgsIHMsIHYgfSk7XG5cbmV4cG9ydCBjb25zdCBjb2xvciA9IChzdHI6IHN0cmluZyB8IEhzdmFDb2xvcik6IENvbG9yUmVzdWx0ID0+IHtcbiAgbGV0IHJnYiE6IFJnYkNvbG9yO1xuICBsZXQgaHNsITogSHNsQ29sb3I7XG4gIGxldCBoc3YhOiBIc3ZDb2xvcjtcbiAgbGV0IHJnYmEhOiBSZ2JhQ29sb3I7XG4gIGxldCBoc2xhITogSHNsYUNvbG9yO1xuICBsZXQgaHN2YSE6IEhzdmFDb2xvcjtcbiAgbGV0IGhleCE6IHN0cmluZztcbiAgbGV0IGhleGEhOiBzdHJpbmc7XG4gIGlmICh0eXBlb2Ygc3RyID09PSAnc3RyaW5nJyAmJiB2YWxpZEhleChzdHIpKSB7XG4gICAgaHN2YSA9IGhleFRvSHN2YShzdHIpO1xuICAgIGhleCA9IHN0cjtcbiAgfSBlbHNlIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJykge1xuICAgIGhzdmEgPSBzdHI7XG4gIH1cbiAgaWYgKGhzdmEpIHtcbiAgICBoc3YgPSBoc3ZhVG9Ic3YoaHN2YSk7XG4gICAgaHNsYSA9IGhzdmFUb0hzbGEoaHN2YSk7XG4gICAgcmdiYSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gICAgaGV4YSA9IHJnYmFUb0hleGEocmdiYSk7XG4gICAgaGV4ID0gaHN2YVRvSGV4KGhzdmEpO1xuICAgIGhzbCA9IGhzbGFUb0hzbChoc2xhKTtcbiAgICByZ2IgPSByZ2JhVG9SZ2IocmdiYSk7XG4gIH1cbiAgcmV0dXJuIHsgcmdiLCBoc2wsIGhzdiwgcmdiYSwgaHNsYSwgaHN2YSwgaGV4LCBoZXhhIH07XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJ2YWxpZEhleCIsIlJHQl9NQVgiLCJIVUVfTUFYIiwiU1ZfTUFYIiwicmdiYVRvSHN2YSIsInIiLCJnIiwiYiIsImEiLCJtYXgiLCJNYXRoIiwiZGVsdGEiLCJtaW4iLCJoaCIsImgiLCJzIiwidiIsImhzdmFUb0hzbFN0cmluZyIsImhzdmEiLCJoc3ZhVG9Ic2xhIiwibCIsInJvdW5kIiwiaHN2YVRvSHN2U3RyaW5nIiwiaHN2YVRvSHN2YVN0cmluZyIsImhzdmFUb0hzbGFTdHJpbmciLCJoc2xhU3RyaW5nVG9Ic3ZhIiwiaHNsU3RyaW5nIiwibWF0Y2hlciIsIm1hdGNoIiwiZXhlYyIsImhzbGFUb0hzdmEiLCJwYXJzZUh1ZSIsIk51bWJlciIsInVuZGVmaW5lZCIsImhzbFN0cmluZ1RvSHN2YSIsImhzdmFTdHJpbmdUb0hzdmEiLCJoc3ZTdHJpbmciLCJhbmdsZVVuaXRzIiwiZ3JhZCIsInR1cm4iLCJyYWQiLCJQSSIsInZhbHVlIiwidW5pdCIsImhzdlN0cmluZ1RvSHN2YSIsInJnYmFTdHJpbmdUb0hzdmEiLCJyZ2JhU3RyaW5nIiwicmdiU3RyaW5nVG9Ic3ZhIiwicmdiYVRvSGV4IiwiYmluIiwiQXJyYXkiLCJsZW5ndGgiLCJqb2luIiwidG9TdHJpbmciLCJyZ2JhVG9IZXhhIiwiYWxwaGEiLCJzbGljZSIsImhleFRvSHN2YSIsImhleCIsImhleFRvUmdiYSIsImh0ZW1wIiwicmVwbGFjZSIsInRlc3QiLCJjaGFyQXQiLCJyZWciLCJSZWdFeHAiLCJtYXAiLCJwYXJzZUludCIsImhzdmFUb1JnYmEiLCJfaCIsIl9zIiwiX3YiLCJoaSIsImZsb29yIiwiZiIsIl9wIiwiX3EiLCJfdCIsInJnYmEiLCJoc3ZhVG9SZ2JTdHJpbmciLCJoc3ZhVG9SZ2JhU3RyaW5nIiwicmdiYVRvUmdiIiwiaHNsYVRvSHNsIiwiaHN2YVRvSGV4IiwiaHN2YVRvSGV4YSIsImhzdmFUb0hzdiIsImNvbG9yIiwic3Ry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QUFDQXBCLElBQUFBLEdBQUcsR0FBR3lCLFNBQVMsQ0FBQ2pFLElBQUQsQ0FBZjtBQUNBdUUsSUFBQUEsR0FBRyxHQUFHUCxTQUFTLENBQUNTLElBQUQsQ0FBZjtBQUNBSCxJQUFBQSxHQUFHLEdBQUdQLFNBQVMsQ0FBQ0gsSUFBRCxDQUFmO0FBQ0Q7O0FBQ0QsU0FBTztBQUFFVSxJQUFBQSxHQUFHLEVBQUhBLEdBQUY7QUFBT0MsSUFBQUEsR0FBRyxFQUFIQSxHQUFQO0FBQVlDLElBQUFBLEdBQUcsRUFBSEEsR0FBWjtBQUFpQlosSUFBQUEsSUFBSSxFQUFKQSxJQUFqQjtBQUF1QmEsSUFBQUEsSUFBSSxFQUFKQSxJQUF2QjtBQUE2QnpFLElBQUFBLElBQUksRUFBSkEsSUFBN0I7QUFBbUN3QyxJQUFBQSxHQUFHLEVBQUhBLEdBQW5DO0FBQXdDa0MsSUFBQUEsSUFBSSxFQUFKQTtBQUF4QyxHQUFQO0FBQ0QsQ0F6Qk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2YWxpZEhleCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0Q29udHJhc3RpbmdDb2xvcic7XG5cbmNvbnN0IFJHQl9NQVggPSAyNTU7XG5jb25zdCBIVUVfTUFYID0gMzYwO1xuY29uc3QgU1ZfTUFYID0gMTAwO1xuXG5leHBvcnQgdHlwZSBPYmplY3RDb2xvciA9IFJnYkNvbG9yIHwgSHNsQ29sb3IgfCBIc3ZDb2xvciB8IFJnYmFDb2xvciB8IEhzbGFDb2xvciB8IEhzdmFDb2xvcjtcbmV4cG9ydCB0eXBlIENvbG9yUmVzdWx0ID0ge1xuICByZ2I6IFJnYkNvbG9yO1xuICBoc2w6IEhzbENvbG9yO1xuICBoc3Y6IEhzdkNvbG9yO1xuICByZ2JhOiBSZ2JhQ29sb3I7XG4gIGhzbGE6IEhzbGFDb2xvcjtcbiAgaHN2YTogSHN2YUNvbG9yO1xuICBoZXg6IHN0cmluZztcbiAgaGV4YTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc3ZDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICB2OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHN2YUNvbG9yIGV4dGVuZHMgSHN2Q29sb3Ige1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmdiQ29sb3Ige1xuICByOiBudW1iZXI7XG4gIGc6IG51bWJlcjtcbiAgYjogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBSZ2JhQ29sb3IgZXh0ZW5kcyBSZ2JDb2xvciB7XG4gIGE6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBgYGBqc1xuICogcmdiYVRvSHN2YSh7IHI6IDI1NSwgZzogMjU1LCBiOiAyNTUsIGE6IDEgfSkgLy89PiB7IGg6IDAsIHM6IDAsIHY6IDEwMCwgYTogMSB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHJnYmFUb0hzdmEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICBjb25zdCBkZWx0YSA9IG1heCAtIE1hdGgubWluKHIsIGcsIGIpO1xuXG4gIC8vIHByZXR0aWVyLWlnbm9yZVxuICBjb25zdCBoaCA9IGRlbHRhXG4gICAgPyBtYXggPT09IHJcbiAgICAgID8gKGcgLSBiKSAvIGRlbHRhXG4gICAgICA6IG1heCA9PT0gZ1xuICAgICAgICA/IDIgKyAoYiAtIHIpIC8gZGVsdGFcbiAgICAgICAgOiA0ICsgKHIgLSBnKSAvIGRlbHRhXG4gICAgOiAwO1xuXG4gIHJldHVybiB7XG4gICAgaDogNjAgKiAoaGggPCAwID8gaGggKyA2IDogaGgpLFxuICAgIHM6IG1heCA/IChkZWx0YSAvIG1heCkgKiBTVl9NQVggOiAwLFxuICAgIHY6IChtYXggLyBSR0JfTUFYKSAqIFNWX01BWCxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbFN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IGgsIHMsIGwgfSA9IGhzdmFUb0hzbGEoaHN2YSk7XG4gIC8vIHJldHVybiBgaHNsKCR7aH0sICR7c30lLCAke2x9JSlgO1xuICByZXR1cm4gYGhzbCgke2h9LCAke01hdGgucm91bmQocyl9JSwgJHtNYXRoLnJvdW5kKGwpfSUpYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic3ZTdHJpbmcgPSAoeyBoLCBzLCB2IH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2KCR7aH0sICR7c30lLCAke3Z9JSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzdmFTdHJpbmcgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBgaHN2YSgke2h9LCAke3N9JSwgJHt2fSUsICR7YX0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9Ic2xhU3RyaW5nID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHsgaCwgcywgbCwgYSB9ID0gaHN2YVRvSHNsYShoc3ZhKTtcbiAgcmV0dXJuIGBoc2xhKCR7aH0sICR7c30lLCAke2x9JSwgJHthfSlgO1xufTtcblxuZXhwb3J0IGNvbnN0IGhzbGFTdHJpbmdUb0hzdmEgPSAoaHNsU3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHNsYT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzbFN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiBoc2xhVG9Ic3ZhKHtcbiAgICBoOiBwYXJzZUh1ZShtYXRjaFsxXSwgbWF0Y2hbMl0pLFxuICAgIHM6IE51bWJlcihtYXRjaFszXSksXG4gICAgbDogTnVtYmVyKG1hdGNoWzRdKSxcbiAgICBhOiBtYXRjaFs1XSA9PT0gdW5kZWZpbmVkID8gMSA6IE51bWJlcihtYXRjaFs1XSkgLyAobWF0Y2hbNl0gPyAxMDAgOiAxKSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaHNsU3RyaW5nVG9Ic3ZhID0gaHNsYVN0cmluZ1RvSHN2YTtcblxuZXhwb3J0IGNvbnN0IGhzbGFUb0hzdmEgPSAoeyBoLCBzLCBsLCBhIH06IEhzbGFDb2xvcik6IEhzdmFDb2xvciA9PiB7XG4gIHMgKj0gKGwgPCA1MCA/IGwgOiBTVl9NQVggLSBsKSAvIFNWX01BWDtcblxuICByZXR1cm4ge1xuICAgIGg6IGgsXG4gICAgczogcyA+IDAgPyAoKDIgKiBzKSAvIChsICsgcykpICogU1ZfTUFYIDogMCxcbiAgICB2OiBsICsgcyxcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIc2xDb2xvciB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICBsOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhzbGFDb2xvciBleHRlbmRzIEhzbENvbG9yIHtcbiAgYTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IGhzdmFUb0hzbGEgPSAoeyBoLCBzLCB2LCBhIH06IEhzdmFDb2xvcik6IEhzbGFDb2xvciA9PiB7XG4gIGNvbnN0IGhoID0gKCgyMDAgLSBzKSAqIHYpIC8gU1ZfTUFYO1xuXG4gIHJldHVybiB7XG4gICAgaCxcbiAgICBzOiBoaCA+IDAgJiYgaGggPCAyMDAgPyAoKHMgKiB2KSAvIFNWX01BWCAvIChoaCA8PSBTVl9NQVggPyBoaCA6IDIwMCAtIGhoKSkgKiBTVl9NQVggOiAwLFxuICAgIGw6IGhoIC8gMixcbiAgICBhLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGhzdmFTdHJpbmdUb0hzdmEgPSAoaHN2U3RyaW5nOiBzdHJpbmcpOiBIc3ZhQ29sb3IgPT4ge1xuICBjb25zdCBtYXRjaGVyID1cbiAgICAvaHN2YT9cXCg/XFxzKigtP1xcZCpcXC4/XFxkKykoZGVnfHJhZHxncmFkfHR1cm4pP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspJT9bLFxcc10rKC0/XFxkKlxcLj9cXGQrKSU/LD9cXHMqWy9cXHNdKigtP1xcZCpcXC4/XFxkKyk/KCUpP1xccypcXCk/L2k7XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5leGVjKGhzdlN0cmluZyk7XG5cbiAgaWYgKCFtYXRjaCkgcmV0dXJuIHsgaDogMCwgczogMCwgdjogMCwgYTogMSB9O1xuXG4gIHJldHVybiB7XG4gICAgaDogcGFyc2VIdWUobWF0Y2hbMV0sIG1hdGNoWzJdKSxcbiAgICBzOiBOdW1iZXIobWF0Y2hbM10pLFxuICAgIHY6IE51bWJlcihtYXRjaFs0XSksXG4gICAgYTogbWF0Y2hbNV0gPT09IHVuZGVmaW5lZCA/IDEgOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIDogMSksXG4gIH07XG59O1xuXG4vKipcbiAqIFZhbGlkIENTUyA8YW5nbGU+IHVuaXRzLlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2FuZ2xlXG4gKi9cbmNvbnN0IGFuZ2xlVW5pdHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gIGdyYWQ6IEhVRV9NQVggLyA0MDAsXG4gIHR1cm46IEhVRV9NQVgsXG4gIHJhZDogSFVFX01BWCAvIChNYXRoLlBJICogMiksXG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VIdWUgPSAodmFsdWU6IHN0cmluZywgdW5pdCA9ICdkZWcnKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKiAoYW5nbGVVbml0c1t1bml0XSB8fCAxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZTdHJpbmdUb0hzdmEgPSBoc3ZhU3RyaW5nVG9Ic3ZhO1xuZXhwb3J0IGNvbnN0IHJnYmFTdHJpbmdUb0hzdmEgPSAocmdiYVN0cmluZzogc3RyaW5nKTogSHN2YUNvbG9yID0+IHtcbiAgY29uc3QgbWF0Y2hlciA9XG4gICAgL3JnYmE/XFwoP1xccyooLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpP1ssXFxzXSsoLT9cXGQqXFwuP1xcZCspKCUpPyw/XFxzKlsvXFxzXSooLT9cXGQqXFwuP1xcZCspPyglKT9cXHMqXFwpPy9pO1xuICBjb25zdCBtYXRjaCA9IG1hdGNoZXIuZXhlYyhyZ2JhU3RyaW5nKTtcblxuICBpZiAoIW1hdGNoKSByZXR1cm4geyBoOiAwLCBzOiAwLCB2OiAwLCBhOiAxIH07XG5cbiAgcmV0dXJuIHJnYmFUb0hzdmEoe1xuICAgIHI6IE51bWJlcihtYXRjaFsxXSkgLyAobWF0Y2hbMl0gPyBTVl9NQVggLyBSR0JfTUFYIDogMSksXG4gICAgZzogTnVtYmVyKG1hdGNoWzNdKSAvIChtYXRjaFs0XSA/IFNWX01BWCAvIFJHQl9NQVggOiAxKSxcbiAgICBiOiBOdW1iZXIobWF0Y2hbNV0pIC8gKG1hdGNoWzZdID8gU1ZfTUFYIC8gUkdCX01BWCA6IDEpLFxuICAgIGE6IG1hdGNoWzddID09PSB1bmRlZmluZWQgPyAxIDogTnVtYmVyKG1hdGNoWzddKSAvIChtYXRjaFs4XSA/IFNWX01BWCA6IDEpLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZ2JTdHJpbmdUb0hzdmEgPSByZ2JhU3RyaW5nVG9Ic3ZhO1xuXG4vKiogQ29udmVydHMgYW4gUkdCQSBjb2xvciBwbHVzIGFscGhhIHRyYW5zcGFyZW5jeSB0byBoZXggKi9cbmV4cG9ydCBjb25zdCByZ2JhVG9IZXggPSAoeyByLCBnLCBiIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGxldCBiaW4gPSAociA8PCAxNikgfCAoZyA8PCA4KSB8IGI7XG4gIHJldHVybiBgIyR7KChoKSA9PiBuZXcgQXJyYXkoNyAtIGgubGVuZ3RoKS5qb2luKCcwJykgKyBoKShiaW4udG9TdHJpbmcoMTYpKX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHJnYmFUb0hleGEgPSAoeyByLCBnLCBiLCBhIH06IFJnYmFDb2xvcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGFscGhhID0gdHlwZW9mIGEgPT09ICdudW1iZXInICYmICgoYSAqIDI1NSkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpO1xuICByZXR1cm4gYCR7cmdiYVRvSGV4KHsgciwgZywgYiwgYSB9KX0ke2FscGhhID8gYWxwaGEgOiAnJ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IGhleFRvSHN2YSA9IChoZXg6IHN0cmluZyk6IEhzdmFDb2xvciA9PiByZ2JhVG9Ic3ZhKGhleFRvUmdiYShoZXgpKTtcbmV4cG9ydCBjb25zdCBoZXhUb1JnYmEgPSAoaGV4OiBzdHJpbmcpOiBSZ2JhQ29sb3IgPT4ge1xuICBjb25zdCBodGVtcCA9IGhleC5yZXBsYWNlKCcjJywgJycpO1xuICBpZiAoL14jPy8udGVzdChoZXgpICYmIGh0ZW1wLmxlbmd0aCA9PT0gMykge1xuICAgIGhleCA9IGAjJHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMCl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMSl9JHtodGVtcC5jaGFyQXQoMil9JHtodGVtcC5jaGFyQXQoMil9YDtcbiAgfVxuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKGBbQS1aYS16MC05XXsyfWAsICdnJyk7XG4gIGNvbnN0IFtyLCBnLCBiID0gMCwgYV0gPSBoZXgubWF0Y2gocmVnKSEubWFwKCh2KSA9PiBwYXJzZUludCh2LCAxNikpO1xuICByZXR1cm4ge1xuICAgIHIsXG4gICAgZyxcbiAgICBiLFxuICAgIGE6IGEgPyBhIC8gUkdCX01BWCA6IDEsXG4gIH07XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIEhTVkEgdG8gUkdCQS4gQmFzZWQgb24gZm9ybXVsYSBmcm9tIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hTTF9hbmRfSFNWXG4gKiBAcGFyYW0gY29sb3IgSFNWQSBjb2xvciBhcyBhbiBhcnJheSBbMC0zNjAsIDAtMSwgMC0xLCAwLTFdXG4gKi9cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JhID0gKHsgaCwgcywgdiwgYSB9OiBIc3ZhQ29sb3IpOiBSZ2JhQ29sb3IgPT4ge1xuICBsZXQgX2ggPSBoIC8gNjAsXG4gICAgX3MgPSBzIC8gU1ZfTUFYLFxuICAgIF92ID0gdiAvIFNWX01BWCxcbiAgICBoaSA9IE1hdGguZmxvb3IoX2gpICUgNjtcblxuICBsZXQgZiA9IF9oIC0gTWF0aC5mbG9vcihfaCksXG4gICAgX3AgPSBSR0JfTUFYICogX3YgKiAoMSAtIF9zKSxcbiAgICBfcSA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiBmKSxcbiAgICBfdCA9IFJHQl9NQVggKiBfdiAqICgxIC0gX3MgKiAoMSAtIGYpKTtcbiAgX3YgKj0gUkdCX01BWDtcbiAgY29uc3QgcmdiYSA9IHt9IGFzIFJnYmFDb2xvcjtcbiAgc3dpdGNoIChoaSkge1xuICAgIGNhc2UgMDpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3Q7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMTpcbiAgICAgIHJnYmEuciA9IF9xO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfcDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMjpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3Y7XG4gICAgICByZ2JhLmIgPSBfdDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzpcbiAgICAgIHJnYmEuciA9IF9wO1xuICAgICAgcmdiYS5nID0gX3E7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNDpcbiAgICAgIHJnYmEuciA9IF90O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfdjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNTpcbiAgICAgIHJnYmEuciA9IF92O1xuICAgICAgcmdiYS5nID0gX3A7XG4gICAgICByZ2JhLmIgPSBfcTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJnYmEuciA9IE1hdGgucm91bmQocmdiYS5yKTtcbiAgcmdiYS5nID0gTWF0aC5yb3VuZChyZ2JhLmcpO1xuICByZ2JhLmIgPSBNYXRoLnJvdW5kKHJnYmEuYik7XG4gIHJldHVybiB7IC4uLnJnYmEsIGEgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBoc3ZhVG9SZ2JTdHJpbmcgPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHtcbiAgY29uc3QgeyByLCBnLCBiIH0gPSBoc3ZhVG9SZ2JhKGhzdmEpO1xuICByZXR1cm4gYHJnYigke3J9LCAke2d9LCAke2J9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgaHN2YVRvUmdiYVN0cmluZyA9IChoc3ZhOiBIc3ZhQ29sb3IpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7IHIsIGcsIGIsIGEgfSA9IGhzdmFUb1JnYmEoaHN2YSk7XG4gIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2F9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgcmdiYVRvUmdiID0gKHsgciwgZywgYiB9OiBSZ2JhQ29sb3IpOiBSZ2JDb2xvciA9PiAoeyByLCBnLCBiIH0pO1xuZXhwb3J0IGNvbnN0IGhzbGFUb0hzbCA9ICh7IGgsIHMsIGwgfTogSHNsYUNvbG9yKTogSHNsQ29sb3IgPT4gKHsgaCwgcywgbCB9KTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9IZXggPSAoaHN2YTogSHN2YUNvbG9yKTogc3RyaW5nID0+IHJnYmFUb0hleChoc3ZhVG9SZ2JhKGhzdmEpKTtcbmV4cG9ydCBjb25zdCBoc3ZhVG9IZXhhID0gKGhzdmE6IEhzdmFDb2xvcik6IHN0cmluZyA9PiByZ2JhVG9IZXhhKGhzdmFUb1JnYmEoaHN2YSkpO1xuZXhwb3J0IGNvbnN0IGhzdmFUb0hzdiA9ICh7IGgsIHMsIHYgfTogSHN2YUNvbG9yKTogSHN2Q29sb3IgPT4gKHsgaCwgcywgdiB9KTtcblxuZXhwb3J0IGNvbnN0IGNvbG9yID0gKHN0cjogc3RyaW5nIHwgSHN2YUNvbG9yKTogQ29sb3JSZXN1bHQgPT4ge1xuICBsZXQgcmdiITogUmdiQ29sb3I7XG4gIGxldCBoc2whOiBIc2xDb2xvcjtcbiAgbGV0IGhzdiE6IEhzdkNvbG9yO1xuICBsZXQgcmdiYSE6IFJnYmFDb2xvcjtcbiAgbGV0IGhzbGEhOiBIc2xhQ29sb3I7XG4gIGxldCBoc3ZhITogSHN2YUNvbG9yO1xuICBsZXQgaGV4ITogc3RyaW5nO1xuICBsZXQgaGV4YSE6IHN0cmluZztcbiAgaWYgKHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHZhbGlkSGV4KHN0cikpIHtcbiAgICBoc3ZhID0gaGV4VG9Ic3ZhKHN0cik7XG4gICAgaGV4ID0gc3RyO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnKSB7XG4gICAgaHN2YSA9IHN0cjtcbiAgfVxuICBpZiAoaHN2YSkge1xuICAgIGhzdiA9IGhzdmFUb0hzdihoc3ZhKTtcbiAgICBoc2xhID0gaHN2YVRvSHNsYShoc3ZhKTtcbiAgICByZ2JhID0gaHN2YVRvUmdiYShoc3ZhKTtcbiAgICBoZXhhID0gcmdiYVRvSGV4YShyZ2JhKTtcbiAgICBoZXggPSBoc3ZhVG9IZXgoaHN2YSk7XG4gICAgaHNsID0gaHNsYVRvSHNsKGhzbGEpO1xuICAgIHJnYiA9IHJnYmFUb1JnYihyZ2JhKTtcbiAgfVxuICByZXR1cm4geyByZ2IsIGhzbCwgaHN2LCByZ2JhLCBoc2xhLCBoc3ZhLCBoZXgsIGhleGEgfTtcbn07XG4iXX0=
{
"name": "@uiw/color-convert",
"version": "0.0.31",
"version": "0.0.32",
"description": "Color Convert",

@@ -5,0 +5,0 @@ "author": "Kenny Wong <wowohoo@qq.com>",

@@ -38,2 +38,8 @@ Color Convert

#### `hsvaToHexa`
```js
hsvaToHex({ h: 0, s: 0, v: 30, a: 0.4875 }) // => "#4d4d4d7c"
```
#### `hsvaToHsla`

@@ -40,0 +46,0 @@

@@ -274,2 +274,3 @@ import { validHex } from './utils';

export const hsvaToHex = (hsva: HsvaColor): string => rgbaToHex(hsvaToRgba(hsva));
export const hsvaToHexa = (hsva: HsvaColor): string => rgbaToHexa(hsvaToRgba(hsva));
export const hsvaToHsv = ({ h, s, v }: HsvaColor): HsvColor => ({ h, s, v });

@@ -276,0 +277,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc