UNPKG

prototypo-library

Version:

This is prototypo parametric font library

1,712 lines (1,378 loc) 711 kB
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 117); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(118); } else { module.exports = require('./dist/react-hot-loader.development.js'); } /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = function(module) { if(!module.webpackPolyfill) { module.deprecate = function() {}; module.paths = []; // module.parent = undefined by default if(!module.children) module.children = []; Object.defineProperty(module, "loaded", { enumerable: true, get: function() { return module.l; } }); Object.defineProperty(module, "id", { enumerable: true, get: function() { return module.i; } }); module.webpackPolyfill = 1; } return module; }; /***/ }), /* 2 */ /***/ (function(module, exports) { module.exports = function(originalModule) { if(!originalModule.webpackPolyfill) { var module = Object.create(originalModule); // module.parent = undefined by default if(!module.children) module.children = []; Object.defineProperty(module, "loaded", { enumerable: true, get: function() { return module.l; } }); Object.defineProperty(module, "id", { enumerable: true, get: function() { return module.i; } }); Object.defineProperty(module, "exports", { enumerable: true, }); module.webpackPolyfill = 1; } return module; }; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; module.exports = isArray; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(isArray, "isArray", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isArray.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var freeGlobal = __webpack_require__(71); /** Detect free variable `self`. */ var freeSelf = (typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(freeSelf, "freeSelf", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_root.js"); reactHotLoader.register(root, "root", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_root.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { var freeGlobal = __webpack_require__(100); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; /***/ }), /* 6 */ /***/ (function(module, exports) { /** * Checks if `value` is classified as an `Array` object. * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an array, else `false`. * @example * * _.isArray([1, 2, 3]); * // => true * * _.isArray(document.body.children); * // => false * * _.isArray('abc'); * // => false * * _.isArray(_.noop); * // => false */ var isArray = Array.isArray; module.exports = isArray; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var baseIsNative = __webpack_require__(125), getValue = __webpack_require__(130); /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } module.exports = getNative; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(getNative, "getNative", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_getNative.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. * @example * * _.isObject({}); * // => true * * _.isObject([1, 2, 3]); * // => true * * _.isObject(_.noop); * // => true * * _.isObject(null); * // => false */ function isObject(value) { var type = _typeof(value); return value != null && (type == 'object' || type == 'function'); } module.exports = isObject; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(isObject, "isObject", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isObject.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && _typeof(value) == 'object'; } module.exports = isObjectLike; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(isObjectLike, "isObjectLike", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isObjectLike.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var isFunction = __webpack_require__(70), isLength = __webpack_require__(43); /** * Checks if `value` is array-like. A value is considered array-like if it's * not a function and has a `value.length` that's an integer greater than or * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is array-like, else `false`. * @example * * _.isArrayLike([1, 2, 3]); * // => true * * _.isArrayLike(document.body.children); * // => true * * _.isArrayLike('abc'); * // => true * * _.isArrayLike(_.noop); * // => false */ function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } module.exports = isArrayLike; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(isArrayLike, "isArrayLike", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isArrayLike.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(module) {/* harmony export (immutable) */ __webpack_exports__["a"] = constantOrFormula; /* harmony export (immutable) */ __webpack_exports__["b"] = createContour; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return memoizeSplit; }); /* unused harmony export transformByName */ /* unused harmony export changeTransformOrigin */ /* unused harmony export transformNode */ /* harmony export (immutable) */ __webpack_exports__["d"] = transformGlyph; /* unused harmony export glyphBoundingBox */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__linear__ = __webpack_require__(29); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__precursor_Path__ = __webpack_require__(85); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__precursor_Formula__ = __webpack_require__(96); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__precursor_Constant__ = __webpack_require__(224); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_memoize_immutable__ = __webpack_require__(58); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_memoize_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_memoize_immutable__); (function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function _sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _slicedToArray(arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return _sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function constantOrFormula(source, cursor) { if (_typeof(source) === 'object' && source !== null && source._operation) { // eslint-disable-line no-underscore-dangle, max-len return new __WEBPACK_IMPORTED_MODULE_2__precursor_Formula__["a" /* default */](source, cursor); } return new __WEBPACK_IMPORTED_MODULE_3__precursor_Constant__["a" /* default */](source, cursor); } function createContour(source, i) { if (source.skeleton && source.closed) { return new __WEBPACK_IMPORTED_MODULE_1__precursor_Path__["a" /* ClosedSkeletonPath */](source, i); } else if (source.skeleton) { return new __WEBPACK_IMPORTED_MODULE_1__precursor_Path__["c" /* SkeletonPath */](source, i); } return new __WEBPACK_IMPORTED_MODULE_1__precursor_Path__["b" /* SimplePath */](source, i); } function fastSplit(string) { return string.split('.'); } var memoizeSplit = __WEBPACK_IMPORTED_MODULE_4_memoize_immutable___default()(fastSplit, { cache: new Map() }); var transformByName = { skewX: function skewX(node, deg) { var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { x: 0, y: 0 }; var theta = deg; var skew = [1, Math.tan(theta), 0, 1, 0, 0]; var matrix = changeTransformOrigin(center, skew); return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(matrix, node); }, skewY: function skewY(node, deg) { var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { x: 0, y: 0 }; var theta = deg; var skew = [1, 0, Math.tan(theta), 1, 0, 0]; var matrix = changeTransformOrigin(center, skew); return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(matrix, node); }, rotate: function rotate(node, deg) { var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { x: 0, y: 0 }; var theta = deg; var rotate = [Math.cos(theta), -Math.sin(theta), Math.sin(theta), Math.cos(theta), 0, 0]; var matrix = changeTransformOrigin(center, rotate); return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(matrix, node); }, translateX: function translateX(node, offset) { var translate = [1, 0, 0, 1, offset, 0]; return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(translate, node); }, translateY: function translateY(node, offset) { var translate = [1, 0, 0, 1, 0, offset]; return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(translate, node); }, scaleX: function scaleX(node, scale) { var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { x: 0, y: 0 }; var scaleMatrix = [scale, 0, 0, 1, 0, 0]; var matrix = changeTransformOrigin(center, scaleMatrix); return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(matrix, node); }, scaleY: function scaleY(node, scale) { var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { x: 0, y: 0 }; var scaleMatrix = [1, 0, 0, scale, 0, 0]; var matrix = changeTransformOrigin(center, scaleMatrix); return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["h" /* transform2D */])(matrix, node); } }; function changeTransformOrigin(origin, transform) { var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var preTransform = [z, 0, 0, z, -origin.x, -origin.y]; var postTransform = [z, 0, 0, z, origin.x, origin.y]; return Object(__WEBPACK_IMPORTED_MODULE_0__linear__["d" /* matrixMul */])(Object(__WEBPACK_IMPORTED_MODULE_0__linear__["d" /* matrixMul */])(preTransform, transform), postTransform); } /* eslint-disable */ function transformNode(node, transforms, origin) { for (var i = 0; i < transforms.length; i++) { var _transforms$i = _slicedToArray(transforms[i], 2), name = _transforms$i[0], param = _transforms$i[1]; exeTransformOnNode(name, node, param, origin); node.addedTransform.push({ name: name, param: param }); if (node.handleIn) { exeTransformOnNode(name, node.handleIn, param, origin); } if (node.handleOut) { exeTransformOnNode(name, node.handleOut, param, origin); } } } function transformGlyph(opDone, transformTuples) { for (var i = 0; i < opDone.contours.length; i++) { var contour = opDone.contours[i]; for (var j = 0; j < contour.nodes.length; j++) { var node = contour.nodes[j]; node.addedTransform = []; // eslint-disable-line no-param-reassign if (node.expandedTo) { node.expandedTo[0].addedTransform = []; // eslint-disable-line no-param-reassign node.expandedTo[1].addedTransform = []; // eslint-disable-line no-param-reassign } var transforms = _toConsumableArray(transformTuples).concat([[contour.transforms || [], contour.transformOrigin]]); for (var k = 0; k < transforms.length; k++) { var _transforms$k = _slicedToArray(transforms[k], 2), transform = _transforms$k[0], origin = _transforms$k[1]; if (node.expandedTo) { transformNode(node.expandedTo[0], transform, origin); transformNode(node.expandedTo[1], transform, origin); transformNode(node, transform, origin); } else { transformNode(node, transform, origin); } } } } } /* eslint-enable */ function exeTransformOnNode(name, node, param, origin) { var _transformByName$name = transformByName[name](node, param, origin), x = _transformByName$name.x, y = _transformByName$name.y; var _transformByName$name2 = transformByName[name]({ x: node.xBase, y: node.yBase }, param, origin), xBase = _transformByName$name2.x, yBase = _transformByName$name2.y; node.x = Math.round(x); // eslint-disable-line no-param-reassign node.y = Math.round(y); // eslint-disable-line no-param-reassign node.xBase = Math.round(xBase); // eslint-disable-line no-param-reassign node.yBase = Math.round(yBase); // eslint-disable-line no-param-reassign } function glyphBoundingBox(glyph) { var minX = Infinity; var maxX = -Infinity; var minY = Infinity; var maxY = -Infinity; glyph.otContours.forEach(function (contour) { contour.forEach(function (bezier) { bezier.forEach(function (node) { minX = Math.min(node.x, minX); maxX = Math.max(node.x, maxX); minY = Math.min(node.y, minY); maxY = Math.max(node.y, maxY); }); }); }); return [{ x: minX, y: minY }, { x: maxX, y: maxY }]; } ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(constantOrFormula, "constantOrFormula", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(createContour, "createContour", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(fastSplit, "fastSplit", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(memoizeSplit, "memoizeSplit", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(transformByName, "transformByName", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(changeTransformOrigin, "changeTransformOrigin", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(transformNode, "transformNode", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(transformGlyph, "transformGlyph", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(exeTransformOnNode, "exeTransformOnNode", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); reactHotLoader.register(glyphBoundingBox, "glyphBoundingBox", "/home/franzp/prototypo/app/scripts/prototypo.js/utils/generic.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(2)(module))) /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { var baseIsNative = __webpack_require__(266), getValue = __webpack_require__(269); /** * Gets the native function at `key` of `object`. * * @private * @param {Object} object The object to query. * @param {string} key The key of the method to get. * @returns {*} Returns the function if it's native, else `undefined`. */ function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } module.exports = getNative; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var _Symbol = __webpack_require__(14), getRawTag = __webpack_require__(126), objectToString = __webpack_require__(127); /** `Object#toString` result references. */ var nullTag = '[object Null]', undefinedTag = '[object Undefined]'; /** Built-in value references. */ var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } module.exports = baseGetTag; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(nullTag, "nullTag", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_baseGetTag.js"); reactHotLoader.register(undefinedTag, "undefinedTag", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_baseGetTag.js"); reactHotLoader.register(symToStringTag, "symToStringTag", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_baseGetTag.js"); reactHotLoader.register(baseGetTag, "baseGetTag", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_baseGetTag.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var root = __webpack_require__(4); /** Built-in value references. */ var _Symbol = root.Symbol; module.exports = _Symbol; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(_Symbol, "Symbol", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_Symbol.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var arrayLikeKeys = __webpack_require__(133), baseKeys = __webpack_require__(139), isArrayLike = __webpack_require__(10); /** * Creates an array of the own enumerable property names of `object`. * * **Note:** Non-object values are coerced to objects. See the * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) * for more details. * * @static * @since 0.1.0 * @memberOf _ * @category Object * @param {Object} object The object to query. * @returns {Array} Returns the array of property names. * @example * * function Foo() { * this.a = 1; * this.b = 2; * } * * Foo.prototype.c = 3; * * _.keys(new Foo); * // => ['a', 'b'] (iteration order is not guaranteed) * * _.keys('hi'); * // => ['0', '1'] */ function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } module.exports = keys; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(keys, "keys", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/keys.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var baseMatches = __webpack_require__(143), baseMatchesProperty = __webpack_require__(185), identity = __webpack_require__(28), isArray = __webpack_require__(3), property = __webpack_require__(194); /** * The base implementation of `_.iteratee`. * * @private * @param {*} [value=_.identity] The value to convert to an iteratee. * @returns {Function} Returns the iteratee. */ function baseIteratee(value) { // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. if (typeof value == 'function') { return value; } if (value == null) { return identity; } if (_typeof(value) == 'object') { return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); } return property(value); } module.exports = baseIteratee; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(baseIteratee, "baseIteratee", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_baseIteratee.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var isSymbol = __webpack_require__(27); /** Used as references for various `Number` constants. */ var INFINITY = 1 / 0; /** * Converts `value` to a string key if it's not a string or symbol. * * @private * @param {*} value The value to inspect. * @returns {string|symbol} Returns the key. */ function toKey(value) { if (typeof value == 'string' || isSymbol(value)) { return value; } var result = value + ''; return result == '0' && 1 / value == -INFINITY ? '-0' : result; } module.exports = toKey; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(INFINITY, "INFINITY", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_toKey.js"); reactHotLoader.register(toKey, "toKey", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_toKey.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { var Symbol = __webpack_require__(31), getRawTag = __webpack_require__(243), objectToString = __webpack_require__(244); /** `Object#toString` result references. */ var nullTag = '[object Null]', undefinedTag = '[object Undefined]'; /** Built-in value references. */ var symToStringTag = Symbol ? Symbol.toStringTag : undefined; /** * The base implementation of `getTag` without fallbacks for buggy environments. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return (symToStringTag && symToStringTag in Object(value)) ? getRawTag(value) : objectToString(value); } module.exports = baseGetTag; /***/ }), /* 19 */ /***/ (function(module, exports) { /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * * _.isObjectLike({}); * // => true * * _.isObjectLike([1, 2, 3]); * // => true * * _.isObjectLike(_.noop); * // => false * * _.isObjectLike(null); * // => false */ function isObjectLike(value) { return value != null && typeof value == 'object'; } module.exports = isObjectLike; /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var baseAssignValue = __webpack_require__(68), baseForOwn = __webpack_require__(41), baseIteratee = __webpack_require__(16); /** * Creates an object with the same keys as `object` and values generated * by running each own enumerable string keyed property of `object` thru * `iteratee`. The iteratee is invoked with three arguments: * (value, key, object). * * @static * @memberOf _ * @since 2.4.0 * @category Object * @param {Object} object The object to iterate over. * @param {Function} [iteratee=_.identity] The function invoked per iteration. * @returns {Object} Returns the new mapped object. * @see _.mapKeys * @example * * var users = { * 'fred': { 'user': 'fred', 'age': 40 }, * 'pebbles': { 'user': 'pebbles', 'age': 1 } * }; * * _.mapValues(users, function(o) { return o.age; }); * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) * * // The `_.property` iteratee shorthand. * _.mapValues(users, 'age'); * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) */ function mapValues(object, iteratee) { var result = {}; iteratee = baseIteratee(iteratee, 3); baseForOwn(object, function (value, key, object) { baseAssignValue(result, key, iteratee(value, key, object)); }); return result; } module.exports = mapValues; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(mapValues, "mapValues", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/mapValues.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; /** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\d*)$/; /** * Checks if `value` is a valid array-like index. * * @private * @param {*} value The value to check. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. */ function isIndex(value, length) { var type = _typeof(value); length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; } module.exports = isIndex; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(MAX_SAFE_INTEGER, "MAX_SAFE_INTEGER", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_isIndex.js"); reactHotLoader.register(reIsUint, "reIsUint", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_isIndex.js"); reactHotLoader.register(isIndex, "isIndex", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_isIndex.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var listCacheClear = __webpack_require__(145), listCacheDelete = __webpack_require__(146), listCacheGet = __webpack_require__(147), listCacheHas = __webpack_require__(148), listCacheSet = __webpack_require__(149); /** * Creates an list cache object. * * @private * @constructor * @param {Array} [entries] The key-value pairs to cache. */ function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } // Add methods to `ListCache`. ListCache.prototype.clear = listCacheClear; ListCache.prototype['delete'] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; module.exports = ListCache; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(ListCache, "ListCache", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_ListCache.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var eq = __webpack_require__(24); /** * Gets the index at which the `key` is found in `array` of key-value pairs. * * @private * @param {Array} array The array to inspect. * @param {*} key The key to search for. * @returns {number} Returns the index of the matched value, else `-1`. */ function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } module.exports = assocIndexOf; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(assocIndexOf, "assocIndexOf", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_assocIndexOf.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) * comparison between two values to determine if they are equivalent. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to compare. * @param {*} other The other value to compare. * @returns {boolean} Returns `true` if the values are equivalent, else `false`. * @example * * var object = { 'a': 1 }; * var other = { 'a': 1 }; * * _.eq(object, object); * // => true * * _.eq(object, other); * // => false * * _.eq('a', 'a'); * // => true * * _.eq('a', Object('a')); * // => false * * _.eq(NaN, NaN); * // => true */ function eq(value, other) { return value === other || value !== value && other !== other; } module.exports = eq; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(eq, "eq", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/eq.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var getNative = __webpack_require__(7); /* Built-in method references that are verified to be native. */ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(nativeCreate, "nativeCreate", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_nativeCreate.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); var isKeyable = __webpack_require__(163); /** * Gets the data for `map`. * * @private * @param {Object} map The map to query. * @param {string} key The reference key. * @returns {*} Returns the map data. */ function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; } module.exports = getMapData; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(getMapData, "getMapData", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/_getMapData.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } var baseGetTag = __webpack_require__(13), isObjectLike = __webpack_require__(9); /** `Object#toString` result references. */ var symbolTag = '[object Symbol]'; /** * Checks if `value` is classified as a `Symbol` primitive or object. * * @static * @memberOf _ * @since 4.0.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. * @example * * _.isSymbol(Symbol.iterator); * // => true * * _.isSymbol('abc'); * // => false */ function isSymbol(value) { return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag; } module.exports = isSymbol; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(symbolTag, "symbolTag", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isSymbol.js"); reactHotLoader.register(isSymbol, "isSymbol", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/isSymbol.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {(function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); /** * This method returns the first argument it receives. * * @static * @since 0.1.0 * @memberOf _ * @category Util * @param {*} value Any value. * @returns {*} Returns `value`. * @example * * var object = { 'a': 1 }; * * console.log(_.identity(object) === object); * // => true */ function identity(value) { return value; } module.exports = identity; ; (function () { var reactHotLoader = __webpack_require__(0).default; var leaveModule = __webpack_require__(0).leaveModule; if (!reactHotLoader) { return; } reactHotLoader.register(identity, "identity", "/home/franzp/prototypo/app/scripts/prototypo.js/precursor/node_modules/lodash/identity.js"); leaveModule(module); })(); ; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)(module))) /***/ }), /* 29 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(module) {/* harmony export (immutable) */ __webpack_exports__["h"] = transform2D; /* harmony export (immutable) */ __webpack_exports__["d"] = matrixMul; /* harmony export (immutable) */ __webpack_exports__["c"] = dot2D; /* harmony export (immutable) */ __webpack_exports__["a"] = add2D; /* harmony export (immutable) */ __webpack_exports__["g"] = subtract2D; /* harmony export (immutable) */ __webpack_exports__["e"] = mulScalar2D; /* unused harmony export arcToCubicBezier */ /* harmony export (immutable) */ __webpack_exports__["f"] = round2D; /* harmony export (immutable) */ __webpack_exports__["b"] = distance2D; /* unused harmony export normalize2D */ (function () { var enterModule = __webpack_require__(0).enterModule; enterModule && enterModule(module); })(); function _sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _slicedToArray(arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return _sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } } function transform2D(viewMatrix, p) { var _viewMatrix = _slicedToArray(viewMatrix, 6), a = _viewMatrix[0], b = _viewMatrix[1], c = _viewMatrix[2], d = _viewMatrix[3], tx = _viewMatrix[4], ty = _viewMatrix[5]; return { x: a * p.x + b * p.y + tx, y: c * p.x + d * p.y + ty }; } function matrixMul(b, a) { var _a = _slicedToArray(a, 6), aa = _a[0], ab = _a[1], ac = _a[2], ad = _a[3], atx = _a[4], aty = _a[5]; var _b = _slicedToArray(b, 6), ba = _b[0], bb = _b[1], bc = _b[2], bd = _b[3], btx = _b[4], bty = _b[5]; return [aa * ba + ab * bc, aa * bb + ab * bd, ac * ba + ad * bc, ac * bb + ad * bd, aa * btx + ab * bty + atx, ac * btx + ad * bty + aty]; } function dot2D(v1, v2) { return v1.x * v2.x + v1.y * v2.y; } function add2D(v1, v2) { return { x: v1.x + v2.x, y: v1.y + v2.y }; } function subtract2D(v1, v2) { return { x: v1.x - v2.x, y: v1.y - v2.y }; } function mulScalar2D(scalar, v) { return { x: scalar * v.x, y: scalar * v.y }; } function parametricAngle(lambda, a, b) { return Math.atan2(Math.sin(lambda) / b, Math.cos(lambda) / a); } function arcToCubicBezier(a, b, t1, t2) { var major = a > b ? a : b; var minor = a > b ? b : a; var firstAngle = Math.PI * 2 * t1; var secondAngle = Math.PI * 2 * t2; var firstPoint = { x: major * Math.cos(firstAngle), y: minor * Math.sin(firstAngle) }; var secondPoint = { x: maj