@dashkite/joy
Version:
[](https://firstdonoharm.dev/version/3/0/core.html)
307 lines (306 loc) • 29.3 kB
JavaScript
"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 AsyncGeneratorFunction () {
return AsyncGeneratorFunction;
},
get GeneratorFunction () {
return GeneratorFunction;
},
get ReactorFunction () {
return ReactorFunction;
},
get Type () {
return Type;
},
get instanceOf () {
return instanceOf;
},
get isAny () {
return isAny;
},
get isArray () {
return isArray;
},
get isArrayBuffer () {
return isArrayBuffer;
},
get isAsyncFunction () {
return isAsyncFunction;
},
get isAsyncGeneratorFunction () {
return isAsyncGeneratorFunction;
},
get isAsyncIterable () {
return isAsyncIterable;
},
get isAsyncIterator () {
return isAsyncIterator;
},
get isBigInt () {
return isBigInt;
},
get isBoolean () {
return isBoolean;
},
get isBuffer () {
return isBuffer;
},
get isDataView () {
return isDataView;
},
get isDate () {
return isDate;
},
get isDefined () {
return isDefined;
},
get isDerivedFrom () {
return isDerivedFrom;
},
get isError () {
return isError;
},
get isFinite () {
return isFinite;
},
get isFunction () {
return isFunction;
},
get isGeneratorFunction () {
return isGeneratorFunction;
},
get isInteger () {
return isInteger;
},
get isIterable () {
return isIterable;
},
get isIterator () {
return isIterator;
},
get isKind () {
return isKind;
},
get isMap () {
return isMap;
},
get isNaN () {
return isNaN;
},
get isNotNull () {
return isNotNull;
},
get isNotNullish () {
return isNotNullish;
},
get isNull () {
return isNull;
},
get isNullish () {
return isNullish;
},
get isNumber () {
return isNumber;
},
get isObject () {
return isObject;
},
get isPromise () {
return isPromise;
},
get isPrototype () {
return isPrototype;
},
get isReactive () {
return isReactive;
},
get isReactor () {
return isReactor;
},
get isReactorFunction () {
return isReactorFunction;
},
get isReagent () {
return isReagent;
},
get isRegExp () {
return isRegExp;
},
get isRegularFunction () {
return isRegularFunction;
},
get isSet () {
return isSet;
},
get isString () {
return isString;
},
get isSymbol () {
return isSymbol;
},
get isSynonymousKind () {
return isSynonymousKind;
},
get isSynonymousType () {
return isSynonymousType;
},
get isThenable () {
return isThenable;
},
get isType () {
return isType;
},
get isTypedArray () {
return isTypedArray;
},
get isURL () {
return isURL;
},
get isUndefined () {
return isUndefined;
},
get isWeakMap () {
return isWeakMap;
},
get prototype () {
return prototype;
}
});
const _function = require("./function");
const _predicate = require("./predicate");
var AsyncGeneratorFunction, GeneratorFunction, ReactorFunction, Type, instanceOf, isAny, isArray, isArrayBuffer, isAsyncFunction, isAsyncGeneratorFunction, isAsyncIterable, isAsyncIterator, isBigInt, isBoolean, isBuffer, isDataView, isDate, isDefined, isDerivedFrom, isError, isFinite, isFunction, isGeneratorFunction, isInteger, isIterable, isIterator, isKind, isMap, isNaN, isNotNull, isNotNullish, isNull, isNullish, isNumber, isObject, isPromise, isPrototype, isReactive, isReactor, isReactorFunction, isReagent, isRegExp, isRegularFunction, isSet, isString, isSymbol, isSynonymousKind, isSynonymousType, isThenable, isType, isTypedArray, isURL, isUndefined, isWeakMap, prototype;
prototype = function(value) {
if (value != null) {
return Object.getPrototypeOf(value);
}
};
isPrototype = (0, _function.curry)(function(p, value) {
return p != null && p === prototype(value);
});
isType = (0, _function.curry)(function(type, value) {
return isPrototype(type != null ? type.prototype : void 0, value);
});
isSynonymousType = (0, _function.curry)(function(type, value) {
return (type != null ? type.name : void 0) === value.constructor.name;
});
isKind = (0, _function.curry)(function(type, value) {
return isType(type, value) || function() {
try {
return value instanceof type;
} catch (error) {
return false;
}
}();
});
isSynonymousKind = (0, _function.curry)(function(type, value) {
return value != null && (isSynonymousType(type, value) || isSynonymousKind(type, prototype(value)));
});
isDerivedFrom = (0, _function.curry)(function(K, T) {
return isKind(K, T.prototype);
});
isAny = (0, _function.wrap)(true);
isNumber = (0, _predicate.any)([
isType(Number),
isType(BigInt)
]);
isNaN = Number.isNaN;
isFinite = Number.isFinite;
isInteger = Number.isInteger;
isBigInt = isType(BigInt);
isBoolean = isType(Boolean);
isSymbol = isType(Symbol);
isDate = isType(Date);
isRegExp = isType(RegExp);
isString = isType(String);
isRegularFunction = isType(Function);
isObject = isType(Object);
isArray = Array.isArray;
isMap = isType(Map);
isWeakMap = isType(WeakMap);
isSet = isType(Set);
isError = isKind(Error);
isURL = isType(URL);
isNotNullish = function(x) {
return x != null;
};
isNullish = function(x) {
return x == null;
};
isNull = function(x) {
return x === null;
};
isNotNull = function(x) {
return x !== null;
};
isDefined = function(x) {
return x !== void 0;
};
isUndefined = function(x) {
return x === void 0;
};
//--------------------------------------------------------------
GeneratorFunction = (function*() {
return yield null;
}).constructor;
isGeneratorFunction = isType(GeneratorFunction);
AsyncGeneratorFunction = (async function*() {
return yield await null;
}).constructor;
isAsyncGeneratorFunction = isType(AsyncGeneratorFunction);
ReactorFunction = AsyncGeneratorFunction;
isReactorFunction = isAsyncGeneratorFunction;
isPromise = isKind(Promise);
isThenable = function(x) {
return x.then != null;
};
isAsyncFunction = isType((async function() {
return await null;
}).constructor);
isFunction = isKind(Function);
instanceOf = (0, _function.curry)(function(t, x) {
return x instanceof t;
});
Type = {
create: function(type) {
return new type();
},
define: function(parent = Object) {
return class extends parent {
};
}
};
if (typeof Buffer !== "undefined" && Buffer !== null) {
isBuffer = isType(Buffer);
} else {
isBuffer = function(x) {
return false;
};
}
isArrayBuffer = isType(ArrayBuffer);
isDataView = isType(DataView);
isTypedArray = isKind(prototype(Uint8Array));
isIterator = function(value) {
return value.next != null && isIterable(value);
};
isIterable = function(value) {
return isFunction(value[Symbol.iterator]);
};
isReactive = function(value) {
return isFunction(value[Symbol.asyncIterator]);
};
isReagent = isReactive;
isAsyncIterable = isReactive;
isReactor = isReactive;
isAsyncIterator = isReactive;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3R5cGUuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsc0JBQUEsRUFBQSxpQkFBQSxFQUFBLGVBQUEsRUFBQSxJQUFBLEVBQUEsVUFBQSxFQUFBLEtBQUEsRUFBQSxPQUFBLEVBQUEsYUFBQSxFQUFBLGVBQUEsRUFBQSx3QkFBQSxFQUFBLGVBQUEsRUFBQSxlQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLE1BQUEsRUFBQSxTQUFBLEVBQUEsYUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsVUFBQSxFQUFBLG1CQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLEtBQUEsRUFBQSxLQUFBLEVBQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxNQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsU0FBQSxFQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLGlCQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxpQkFBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLGdCQUFBLEVBQUEsZ0JBQUEsRUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBLFlBQUEsRUFBQSxLQUFBLEVBQUEsV0FBQSxFQUFBLFNBQUEsRUFBQTs7QUFBQSxPQUFBO0VBQVMsS0FBVDtFQUFnQixJQUFoQjtDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFTLEdBQVQ7Q0FBQSxNQUFBOztBQUVBLFNBQUEsR0FBWSxRQUFBLENBQUMsS0FBRCxDQUFBO0VBQVcsSUFBRyxhQUFIO1dBQWUsTUFBTSxDQUFDLGNBQVAsQ0FBc0IsS0FBdEIsRUFBZjs7QUFBWDs7QUFFWixXQUFBLEdBQWMsS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksS0FBSixDQUFBO1NBQWMsV0FBQSxJ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RSxTQXBERjtFQXFERSxlQXJERjtFQXNERSxTQXRERjtFQXVERSxlQXZERiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1cnJ5LCB3cmFwIH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxucHJvdG90eXBlID0gKHZhbHVlKSAtPiBpZiB2YWx1ZT8gdGhlbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdmFsdWVcblxuaXNQcm90b3R5cGUgPSBjdXJyeSAocCwgdmFsdWUpIC0+IHA/ICYmIHAgPT0gcHJvdG90eXBlIHZhbHVlXG5cbmlzVHlwZSA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT4gaXNQcm90b3R5cGUgdHlwZT8ucHJvdG90eXBlLCB2YWx1ZVxuXG5pc1N5bm9ueW1vdXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB0eXBlPy5uYW1lID09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblxuaXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICAoIGlzVHlwZSB0eXBlLCB2YWx1ZSApIHx8IGRvIC0+XG4gICAgdHJ5XG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIHR5cGVcbiAgICBjYXRjaFxuICAgICAgZmFsc2VcblxuaXNTeW5vbnltb3VzS2luZCA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT5cbiAgdmFsdWU/ICYmICgoaXNTeW5vbnltb3VzVHlwZSB0eXBlLCB2YWx1ZSkgfHxcbiAgICAoaXNTeW5vbnltb3VzS2luZCB0eXBlLCAocHJvdG90eXBlIHZhbHVlKSkpXG5cbmlzRGVyaXZlZEZyb20gPSBjdXJyeSAoIEssIFQgKSAtPiBpc0tpbmQgSywgVDo6XG5cbmlzQW55ID0gd3JhcCB0cnVlXG5cbmlzTnVtYmVyID0gYW55IFtcbiAgaXNUeXBlIE51bWJlclxuICBpc1R5cGUgQmlnSW50XG5dXG5cbmlzTmFOID0gTnVtYmVyLmlzTmFOXG5cbmlzRmluaXRlID0gTnVtYmVyLmlzRmluaXRlXG5cbmlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXJcblxuaXNCaWdJbnQgPSBpc1R5cGUgQmlnSW50XG5cbmlzQm9vbGVhbiA9IGlzVHlwZSBCb29sZWFuXG5cbmlzU3ltYm9sID0gaXNUeXBlIFN5bWJvbFxuXG5pc0RhdGUgPSBpc1R5cGUgRGF0ZVxuXG5pc1JlZ0V4cCA9IGlzVHlwZSBSZWdFeHBcblxuaXNTdHJpbmcgPSBpc1R5cGUgU3RyaW5nXG5cbmlzUmVndWxhckZ1bmN0aW9uID0gaXNUeXBlIEZ1bmN0aW9uXG5cbmlzT2JqZWN0ID0gaXNUeXBlIE9iamVjdFxuXG5pc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5pc01hcCA9IGlzVHlwZSBNYXBcblxuaXNXZWFrTWFwID0gaXNUeXBlIFdlYWtNYXBcblxuaXNTZXQgPSBpc1R5cGUgU2V0XG5cbmlzRXJyb3IgPSBpc0tpbmQgRXJyb3JcblxuaXNVUkwgPSBpc1R5cGUgVVJMXG5cbmlzTm90TnVsbGlzaCA9ICh4KSAtPiB4P1xuXG5pc051bGxpc2ggPSAoeCkgLT4gIXg/XG5cbmlzTnVsbCA9ICggeCApIC0+IHggPT0gbnVsbFxuXG5pc05vdE51bGwgPSAoIHggKSAtPiB4ICE9IG51bGxcblxuaXNEZWZpbmVkID0gKCB4ICkgLT4geCAhPSB1bmRlZmluZWRcblxuaXNVbmRlZmluZWQgPSAoIHggKSAtPiB4ID09IHVuZGVmaW5lZFxuXG4jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBHZW5lcmF0b3JGdW5jdGlvblxuXG5Bc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gKC0+IHlpZWxkIGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG5cblJlYWN0b3JGdW5jdGlvbiA9IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNSZWFjdG9yRnVuY3Rpb24gPSBpc0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNQcm9taXNlID0gaXNLaW5kIFByb21pc2VcblxuaXNUaGVuYWJsZSA9ICggeCApIC0+IHgudGhlbj9cblxuaXNBc3luY0Z1bmN0aW9uID0gaXNUeXBlICgtPiBhd2FpdCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0Z1bmN0aW9uID0gaXNLaW5kIEZ1bmN0aW9uXG5cbmluc3RhbmNlT2YgPSBjdXJyeSAodCwgeCkgLT4geCBpbnN0YW5jZW9mIHRcblxuVHlwZSA9XG4gIGNyZWF0ZTogKHR5cGUpIC0+IG5ldyB0eXBlXG4gIGRlZmluZTogKHBhcmVudCA9IE9iamVjdCkgLT4gY2xhc3MgZXh0ZW5kcyBwYXJlbnRcblxuaWYgQnVmZmVyP1xuICBpc0J1ZmZlciA9IGlzVHlwZSBCdWZmZXJcbmVsc2VcbiAgaXNCdWZmZXIgPSAoeCkgLT4gZmFsc2VcblxuaXNBcnJheUJ1ZmZlciA9IGlzVHlwZSBBcnJheUJ1ZmZlclxuaXNEYXRhVmlldyA9IGlzVHlwZSBEYXRhVmlld1xuaXNUeXBlZEFycmF5ID0gaXNLaW5kIHByb3RvdHlwZSBVaW50OEFycmF5XG5cbmlzSXRlcmF0b3IgPSAoIHZhbHVlICkgLT4gdmFsdWUubmV4dD8gJiYgaXNJdGVyYWJsZSB2YWx1ZVxuXG5pc0l0ZXJhYmxlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuaXRlcmF0b3IgXVxuXG5pc1JlYWN0aXZlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuYXN5bmNJdGVyYXRvciBdXG5cbmlzUmVhZ2VudCA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYWJsZSA9IGlzUmVhY3RpdmVcbmlzUmVhY3RvciA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYXRvciA9IGlzUmVhY3RpdmVcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWN0aXZlXG4gIGlzUmVhZ2VudFxuICBpc0FzeW5jSXRlcmFibGVcbiAgaXNSZWFjdG9yXG4gIGlzQXN5bmNJdGVyYXRvclxufVxuIl19
//# sourceURL=/@dashkite/joy/src/type.coffee
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvdHlwZS5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1cnJ5LCB3cmFwIH0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHsgYW55IH0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxucHJvdG90eXBlID0gKHZhbHVlKSAtPiBpZiB2YWx1ZT8gdGhlbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdmFsdWVcblxuaXNQcm90b3R5cGUgPSBjdXJyeSAocCwgdmFsdWUpIC0+IHA/ICYmIHAgPT0gcHJvdG90eXBlIHZhbHVlXG5cbmlzVHlwZSA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT4gaXNQcm90b3R5cGUgdHlwZT8ucHJvdG90eXBlLCB2YWx1ZVxuXG5pc1N5bm9ueW1vdXNUeXBlID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICB0eXBlPy5uYW1lID09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblxuaXNLaW5kID0gY3VycnkgKHR5cGUsIHZhbHVlKSAtPlxuICAoIGlzVHlwZSB0eXBlLCB2YWx1ZSApIHx8IGRvIC0+XG4gICAgdHJ5XG4gICAgICB2YWx1ZSBpbnN0YW5jZW9mIHR5cGVcbiAgICBjYXRjaFxuICAgICAgZmFsc2VcblxuaXNTeW5vbnltb3VzS2luZCA9IGN1cnJ5ICh0eXBlLCB2YWx1ZSkgLT5cbiAgdmFsdWU/ICYmICgoaXNTeW5vbnltb3VzVHlwZSB0eXBlLCB2YWx1ZSkgfHxcbiAgICAoaXNTeW5vbnltb3VzS2luZCB0eXBlLCAocHJvdG90eXBlIHZhbHVlKSkpXG5cbmlzRGVyaXZlZEZyb20gPSBjdXJyeSAoIEssIFQgKSAtPiBpc0tpbmQgSywgVDo6XG5cbmlzQW55ID0gd3JhcCB0cnVlXG5cbmlzTnVtYmVyID0gYW55IFtcbiAgaXNUeXBlIE51bWJlclxuICBpc1R5cGUgQmlnSW50XG5dXG5cbmlzTmFOID0gTnVtYmVyLmlzTmFOXG5cbmlzRmluaXRlID0gTnVtYmVyLmlzRmluaXRlXG5cbmlzSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXJcblxuaXNCaWdJbnQgPSBpc1R5cGUgQmlnSW50XG5cbmlzQm9vbGVhbiA9IGlzVHlwZSBCb29sZWFuXG5cbmlzU3ltYm9sID0gaXNUeXBlIFN5bWJvbFxuXG5pc0RhdGUgPSBpc1R5cGUgRGF0ZVxuXG5pc1JlZ0V4cCA9IGlzVHlwZSBSZWdFeHBcblxuaXNTdHJpbmcgPSBpc1R5cGUgU3RyaW5nXG5cbmlzUmVndWxhckZ1bmN0aW9uID0gaXNUeXBlIEZ1bmN0aW9uXG5cbmlzT2JqZWN0ID0gaXNUeXBlIE9iamVjdFxuXG5pc0FycmF5ID0gQXJyYXkuaXNBcnJheVxuXG5pc01hcCA9IGlzVHlwZSBNYXBcblxuaXNXZWFrTWFwID0gaXNUeXBlIFdlYWtNYXBcblxuaXNTZXQgPSBpc1R5cGUgU2V0XG5cbmlzRXJyb3IgPSBpc0tpbmQgRXJyb3JcblxuaXNVUkwgPSBpc1R5cGUgVVJMXG5cbmlzTm90TnVsbGlzaCA9ICh4KSAtPiB4P1xuXG5pc051bGxpc2ggPSAoeCkgLT4gIXg/XG5cbmlzTnVsbCA9ICggeCApIC0+IHggPT0gbnVsbFxuXG5pc05vdE51bGwgPSAoIHggKSAtPiB4ICE9IG51bGxcblxuaXNEZWZpbmVkID0gKCB4ICkgLT4geCAhPSB1bmRlZmluZWRcblxuaXNVbmRlZmluZWQgPSAoIHggKSAtPiB4ID09IHVuZGVmaW5lZFxuXG4jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuR2VuZXJhdG9yRnVuY3Rpb24gPSAoLT4geWllbGQgbnVsbCkuY29uc3RydWN0b3JcblxuaXNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBHZW5lcmF0b3JGdW5jdGlvblxuXG5Bc3luY0dlbmVyYXRvckZ1bmN0aW9uID0gKC0+IHlpZWxkIGF3YWl0IG51bGwpLmNvbnN0cnVjdG9yXG5cbmlzQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiA9IGlzVHlwZSBBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG5cblJlYWN0b3JGdW5jdGlvbiA9IEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNSZWFjdG9yRnVuY3Rpb24gPSBpc0FzeW5jR2VuZXJhdG9yRnVuY3Rpb25cblxuaXNQcm9taXNlID0gaXNLaW5kIFByb21pc2VcblxuaXNUaGVuYWJsZSA9ICggeCApIC0+IHgudGhlbj9cblxuaXNBc3luY0Z1bmN0aW9uID0gaXNUeXBlICgtPiBhd2FpdCBudWxsKS5jb25zdHJ1Y3RvclxuXG5pc0Z1bmN0aW9uID0gaXNLaW5kIEZ1bmN0aW9uXG5cbmluc3RhbmNlT2YgPSBjdXJyeSAodCwgeCkgLT4geCBpbnN0YW5jZW9mIHRcblxuVHlwZSA9XG4gIGNyZWF0ZTogKHR5cGUpIC0+IG5ldyB0eXBlXG4gIGRlZmluZTogKHBhcmVudCA9IE9iamVjdCkgLT4gY2xhc3MgZXh0ZW5kcyBwYXJlbnRcblxuaWYgQnVmZmVyP1xuICBpc0J1ZmZlciA9IGlzVHlwZSBCdWZmZXJcbmVsc2VcbiAgaXNCdWZmZXIgPSAoeCkgLT4gZmFsc2VcblxuaXNBcnJheUJ1ZmZlciA9IGlzVHlwZSBBcnJheUJ1ZmZlclxuaXNEYXRhVmlldyA9IGlzVHlwZSBEYXRhVmlld1xuaXNUeXBlZEFycmF5ID0gaXNLaW5kIHByb3RvdHlwZSBVaW50OEFycmF5XG5cbmlzSXRlcmF0b3IgPSAoIHZhbHVlICkgLT4gdmFsdWUubmV4dD8gJiYgaXNJdGVyYWJsZSB2YWx1ZVxuXG5pc0l0ZXJhYmxlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuaXRlcmF0b3IgXVxuXG5pc1JlYWN0aXZlID0gKCB2YWx1ZSApIC0+IFxuICBpc0Z1bmN0aW9uIHZhbHVlWyBTeW1ib2wuYXN5bmNJdGVyYXRvciBdXG5cbmlzUmVhZ2VudCA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYWJsZSA9IGlzUmVhY3RpdmVcbmlzUmVhY3RvciA9IGlzUmVhY3RpdmVcbmlzQXN5bmNJdGVyYXRvciA9IGlzUmVhY3RpdmVcblxuZXhwb3J0IHtcbiAgcHJvdG90eXBlXG4gIGlzUHJvdG90eXBlXG4gIGlzVHlwZVxuICBpc0tpbmRcbiAgaXNTeW5vbnltb3VzVHlwZVxuICBpc1N5bm9ueW1vdXNLaW5kXG4gIGlzRGVyaXZlZEZyb21cbiAgVHlwZVxuICBpbnN0YW5jZU9mXG4gIGlzTnVsbFxuICBpc05vdE51bGxcbiAgaXNEZWZpbmVkXG4gIGlzVW5kZWZpbmVkXG4gIGlzTnVsbGlzaFxuICBpc05vdE51bGxpc2hcbiAgaXNBbnlcbiAgaXNCb29sZWFuXG4gIGlzU3RyaW5nXG4gIGlzU3ltYm9sXG4gIGlzTnVtYmVyXG4gIGlzTmFOXG4gIGlzRmluaXRlXG4gIGlzSW50ZWdlclxuICBpc0JpZ0ludFxuICBpc0RhdGVcbiAgaXNFcnJvclxuICBpc1JlZ0V4cFxuICBpc1Byb21pc2VcbiAgaXNUaGVuYWJsZVxuICBpc09iamVjdFxuICBpc0FycmF5XG4gIGlzTWFwXG4gIGlzV2Vha01hcFxuICBpc1NldFxuICBpc1VSTFxuICBpc1JlZ3VsYXJGdW5jdGlvblxuICBHZW5lcmF0b3JGdW5jdGlvblxuICBpc0dlbmVyYXRvckZ1bmN0aW9uXG4gIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb25cbiAgaXNBc3luY0dlbmVyYXRvckZ1bmN0aW9uXG4gIFJlYWN0b3JGdW5jdGlvblxuICBpc1JlYWN0b3JGdW5jdGlvblxuICBpc0FzeW5jRnVuY3Rpb25cbiAgaXNGdW5jdGlvblxuICBpc0J1ZmZlclxuICBpc0FycmF5QnVmZmVyXG4gIGlzRGF0YVZpZXdcbiAgaXNUeXBlZEFycmF5XG4gIGlzSXRlcmFibGVcbiAgaXNJdGVyYXRvclxuICBpc1JlYWN0aXZlXG4gIGlzUmVhZ2VudFxuICBpc0FzeW5jSXRlcmFibGVcbiAgaXNSZWFjdG9yXG4gIGlzQXN5bmNJdGVyYXRvclxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztlQXVLRSxzQkF2Q0Y7OztlQXFDRSxpQkFyQ0Y7OztlQXlDRSxlQXpD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