Hacked By AnonymousFox

Current Path : C:/AppServ/www/financial/stacked/code/es5/modules/
Upload File :
Current File : C:/AppServ/www/financial/stacked/code/es5/modules/pattern-fill.js.map

{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module highcharts/modules/pattern-fill\n * @requires highcharts\n *\n * Module for adding patterns and images as point fills.\n *\n * (c) 2010-2024 Highsoft AS\n * Author: Torstein Hønsi, Øystein Moseng\n *\n * License: www.highcharts.com/license\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"highcharts\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/modules/pattern-fill\", [[\"highcharts/highcharts\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/modules/pattern-fill\"] = factory(require(\"highcharts\"));\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 944:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__944__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"default\": function() { return /* binding */ pattern_fill_src; }\n});\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\"],\"commonjs\":[\"highcharts\"],\"commonjs2\":[\"highcharts\"],\"root\":[\"Highcharts\"]}\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_ = __webpack_require__(944);\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default = /*#__PURE__*/__webpack_require__.n(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_);\n;// ./code/es5/es-modules/Extensions/PatternFill.js\n/* *\n *\n *  Module for using patterns or images as point fills.\n *\n *  (c) 2010-2024 Highsoft AS\n *  Author: Torstein Hønsi, Øystein Moseng\n *\n *  License: www.highcharts.com/license\n *\n *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar animObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).animObject;\n\nvar getOptions = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getOptions;\n\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, erase = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).erase, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, removeEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).removeEvent, wrap = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).wrap;\n/* *\n *\n *  Constants\n *\n * */\nvar patterns = createPatterns();\n/* *\n *\n *  Functions\n *\n * */\n/** @private */\nfunction compose(ChartClass, SeriesClass, SVGRendererClass) {\n    var PointClass = SeriesClass.prototype.pointClass,\n        pointProto = PointClass.prototype;\n    if (!pointProto.calculatePatternDimensions) {\n        addEvent(ChartClass, 'endResize', onChartEndResize);\n        addEvent(ChartClass, 'redraw', onChartRedraw);\n        extend(pointProto, {\n            calculatePatternDimensions: pointCalculatePatternDimensions\n        });\n        addEvent(PointClass, 'afterInit', onPointAfterInit);\n        addEvent(SeriesClass, 'render', onSeriesRender);\n        wrap(SeriesClass.prototype, 'getColor', wrapSeriesGetColor);\n        // Pattern scale corrections\n        addEvent(SeriesClass, 'afterRender', onPatternScaleCorrection);\n        addEvent(SeriesClass, 'mapZoomComplete', onPatternScaleCorrection);\n        extend(SVGRendererClass.prototype, {\n            addPattern: rendererAddPattern\n        });\n        addEvent(SVGRendererClass, 'complexColor', onRendererComplexColor);\n    }\n}\n/**\n * Add the predefined patterns.\n * @private\n */\nfunction createPatterns() {\n    var patterns = [],\n        colors = getOptions().colors;\n    // Start with subtle patterns\n    var i = 0;\n    for (var _i = 0, _a = [\n        'M 0 0 L 5 5 M 4.5 -0.5 L 5.5 0.5 M -0.5 4.5 L 0.5 5.5',\n        'M 0 5 L 5 0 M -0.5 0.5 L 0.5 -0.5 M 4.5 5.5 L 5.5 4.5',\n        'M 2 0 L 2 5 M 4 0 L 4 5',\n        'M 0 2 L 5 2 M 0 4 L 5 4',\n        'M 0 1.5 L 2.5 1.5 L 2.5 0 M 2.5 5 L 2.5 3.5 L 5 3.5'\n    ]; _i < _a.length; _i++) {\n        var pattern = _a[_i];\n        patterns.push({\n            path: pattern,\n            color: colors[i++],\n            width: 5,\n            height: 5,\n            patternTransform: 'scale(1.4 1.4)'\n        });\n    }\n    // Then add the more drastic ones\n    i = 5;\n    for (var _b = 0, _c = [\n        'M 0 0 L 5 10 L 10 0',\n        'M 3 3 L 8 3 L 8 8 L 3 8 Z',\n        'M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0',\n        'M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11',\n        'M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9'\n    ]; _b < _c.length; _b++) {\n        var pattern = _c[_b];\n        patterns.push({\n            path: pattern,\n            color: colors[i],\n            width: 10,\n            height: 10\n        });\n        i = i + 5;\n    }\n    return patterns;\n}\n/**\n * Utility function to compute a hash value from an object. Modified Java\n * String.hashCode implementation in JS. Use the preSeed parameter to add an\n * additional seeding step.\n *\n * @private\n * @function hashFromObject\n *\n * @param {Object} obj\n *        The javascript object to compute the hash from.\n *\n * @param {boolean} [preSeed=false]\n *        Add an optional preSeed stage.\n *\n * @return {string}\n *         The computed hash.\n */\nfunction hashFromObject(obj, preSeed) {\n    var str = JSON.stringify(obj),\n        strLen = str.length || 0;\n    var hash = 0,\n        i = 0,\n        char,\n        seedStep;\n    if (preSeed) {\n        seedStep = Math.max(Math.floor(strLen / 500), 1);\n        for (var a = 0; a < strLen; a += seedStep) {\n            hash += str.charCodeAt(a);\n        }\n        hash = hash & hash;\n    }\n    for (; i < strLen; ++i) {\n        char = str.charCodeAt(i);\n        hash = ((hash << 5) - hash) + char;\n        hash = hash & hash;\n    }\n    return hash.toString(16).replace('-', '1');\n}\n/**\n * When animation is used, we have to recalculate pattern dimensions after\n * resize, as the bounding boxes are not available until then.\n * @private\n */\nfunction onChartEndResize() {\n    if (this.renderer &&\n        (this.renderer.defIds || []).filter(function (id) { return (id &&\n            id.indexOf &&\n            id.indexOf('highcharts-pattern-') === 0); }).length) {\n        // We have non-default patterns to fix. Find them by looping through\n        // all points.\n        for (var _i = 0, _a = this.series; _i < _a.length; _i++) {\n            var series = _a[_i];\n            if (series.visible) {\n                for (var _b = 0, _c = series.points; _b < _c.length; _b++) {\n                    var point = _c[_b];\n                    var colorOptions = point.options && point.options.color;\n                    if (colorOptions &&\n                        colorOptions.pattern) {\n                        colorOptions.pattern\n                            ._width = 'defer';\n                        colorOptions.pattern\n                            ._height = 'defer';\n                    }\n                }\n            }\n        }\n        // Redraw without animation\n        this.redraw(false);\n    }\n}\n/**\n * Add a garbage collector to delete old patterns with autogenerated hashes that\n * are no longer being referenced.\n * @private\n */\nfunction onChartRedraw() {\n    var usedIds = {},\n        renderer = this.renderer, \n        // Get the autocomputed patterns - these are the ones we might delete\n        patterns = (renderer.defIds || []).filter(function (pattern) { return (pattern.indexOf &&\n            pattern.indexOf('highcharts-pattern-') === 0); });\n    if (patterns.length) {\n        // Look through the DOM for usage of the patterns. This can be points,\n        // series, tooltips etc.\n        [].forEach.call(this.renderTo.querySelectorAll('[color^=\"url(\"], [fill^=\"url(\"], [stroke^=\"url(\"]'), function (node) {\n            var id = node.getAttribute('fill') ||\n                    node.getAttribute('color') ||\n                    node.getAttribute('stroke');\n            if (id) {\n                var sanitizedId = id\n                        .replace(renderer.url, '')\n                        .replace('url(#', '')\n                        .replace(')', '');\n                usedIds[sanitizedId] = true;\n            }\n        });\n        // Loop through the patterns that exist and see if they are used\n        for (var _i = 0, patterns_1 = patterns; _i < patterns_1.length; _i++) {\n            var id = patterns_1[_i];\n            if (!usedIds[id]) {\n                // Remove id from used id list\n                erase(renderer.defIds, id);\n                // Remove pattern element\n                if (renderer.patternElements[id]) {\n                    renderer.patternElements[id].destroy();\n                    delete renderer.patternElements[id];\n                }\n            }\n        }\n    }\n}\n/**\n * Merge series color options to points.\n * @private\n */\nfunction onPointAfterInit() {\n    var point = this,\n        colorOptions = point.options.color;\n    // Only do this if we have defined a specific color on this point. Otherwise\n    // we will end up trying to re-add the series color for each point.\n    if (colorOptions && colorOptions.pattern) {\n        // Move path definition to object, allows for merge with series path\n        // definition\n        if (typeof colorOptions.pattern.path === 'string') {\n            colorOptions.pattern.path = {\n                d: colorOptions.pattern.path\n            };\n        }\n        // Merge with series options\n        point.color = point.options.color = merge(point.series.options.color, colorOptions);\n    }\n}\n/**\n * Add functionality to SVG renderer to handle patterns as complex colors.\n * @private\n */\nfunction onRendererComplexColor(args) {\n    var color = args.args[0],\n        prop = args.args[1],\n        element = args.args[2],\n        chartIndex = (this.chartIndex || 0);\n    var pattern = color.pattern, value = \"#333333\" /* Palette.neutralColor80 */;\n    // Handle patternIndex\n    if (typeof color.patternIndex !== 'undefined' && patterns) {\n        pattern = patterns[color.patternIndex];\n    }\n    // Skip and call default if there is no pattern\n    if (!pattern) {\n        return true;\n    }\n    // We have a pattern.\n    if (pattern.image ||\n        typeof pattern.path === 'string' ||\n        pattern.path && pattern.path.d) {\n        // Real pattern. Add it and set the color value to be a reference.\n        // Force Hash-based IDs for legend items, as they are drawn before\n        // point render, meaning they are drawn before autocalculated image\n        // width/heights. We don't want them to highjack the width/height for\n        // this ID if it is defined by users.\n        var forceHashId = element.parentNode &&\n                element.parentNode.getAttribute('class');\n        forceHashId = forceHashId &&\n            forceHashId.indexOf('highcharts-legend') > -1;\n        // If we don't have a width/height yet, handle it. Try faking a point\n        // and running the algorithm again.\n        if (pattern._width === 'defer' || pattern._height === 'defer') {\n            pointCalculatePatternDimensions.call({ graphic: { element: element } }, pattern);\n        }\n        // If we don't have an explicit ID, compute a hash from the\n        // definition and use that as the ID. This ensures that points with\n        // the same pattern definition reuse existing pattern elements by\n        // default. We combine two hashes, the second with an additional\n        // preSeed algorithm, to minimize collision probability.\n        if (forceHashId || !pattern.id) {\n            // Make a copy so we don't accidentally edit options when setting ID\n            pattern = merge({}, pattern);\n            pattern.id = 'highcharts-pattern-' + chartIndex + '-' +\n                hashFromObject(pattern) + hashFromObject(pattern, true);\n        }\n        // Add it. This function does nothing if an element with this ID\n        // already exists.\n        this.addPattern(pattern, !this.forExport && pick(pattern.animation, this.globalAnimation, { duration: 100 }));\n        value = \"url(\".concat(this.url, \"#\").concat(pattern.id + (this.forExport ? '-export' : ''), \")\");\n    }\n    else {\n        // Not a full pattern definition, just add color\n        value = pattern.color || value;\n    }\n    // Set the fill/stroke prop on the element\n    element.setAttribute(prop, value);\n    // Allow the color to be concatenated into tooltips formatters etc.\n    color.toString = function () {\n        return value;\n    };\n    // Skip default handler\n    return false;\n}\n/**\n * Calculate pattern dimensions on points that have their own pattern.\n * @private\n */\nfunction onSeriesRender() {\n    var isResizing = this.chart.isResizing;\n    if (this.isDirtyData || isResizing || !this.chart.hasRendered) {\n        for (var _i = 0, _a = this.points; _i < _a.length; _i++) {\n            var point = _a[_i];\n            var colorOptions = point.options && point.options.color;\n            if (colorOptions &&\n                colorOptions.pattern) {\n                // For most points we want to recalculate the dimensions on\n                // render, where we have the shape args and bbox. But if we\n                // are resizing and don't have the shape args, defer it, since\n                // the bounding box is still not resized.\n                if (isResizing &&\n                    !(point.shapeArgs &&\n                        point.shapeArgs.width &&\n                        point.shapeArgs.height)) {\n                    colorOptions\n                        .pattern._width = 'defer';\n                    colorOptions\n                        .pattern._height = 'defer';\n                }\n                else {\n                    point.calculatePatternDimensions(colorOptions.pattern);\n                }\n            }\n        }\n    }\n}\n/**\n * Set dimensions on pattern from point. This function will set internal\n * pattern._width/_height properties if width and height are not both already\n * set. We only do this on image patterns. The _width/_height properties are set\n * to the size of the bounding box of the point, optionally taking aspect ratio\n * into account. If only one of width or height are supplied as options, the\n * undefined option is calculated as above.\n *\n * @private\n * @function Highcharts.Point#calculatePatternDimensions\n *\n * @param {Highcharts.PatternOptionsObject} pattern\n *        The pattern to set dimensions on.\n *\n * @return {void}\n *\n * @requires modules/pattern-fill\n */\nfunction pointCalculatePatternDimensions(pattern) {\n    if (pattern.width && pattern.height) {\n        return;\n    }\n    var bBox = this.graphic && (this.graphic.getBBox &&\n            this.graphic.getBBox(true) ||\n            this.graphic.element &&\n                this.graphic.element.getBBox()) || {},\n        shapeArgs = this.shapeArgs;\n    // Prefer using shapeArgs, as it is animation agnostic\n    if (shapeArgs) {\n        bBox.width = shapeArgs.width || bBox.width;\n        bBox.height = shapeArgs.height || bBox.height;\n        bBox.x = shapeArgs.x || bBox.x;\n        bBox.y = shapeArgs.y || bBox.y;\n    }\n    // For images we stretch to bounding box\n    if (pattern.image) {\n        // If we do not have a bounding box at this point, simply add a defer\n        // key and pick this up in the fillSetter handler, where the bounding\n        // box should exist.\n        if (!bBox.width || !bBox.height) {\n            pattern._width = 'defer';\n            pattern._height = 'defer';\n            // Mark the pattern to be flipped later if upside down (#16810)\n            var scaleY = this.series.chart.mapView &&\n                    this.series.chart.mapView.getSVGTransform().scaleY;\n            if (defined(scaleY) && scaleY < 0) {\n                pattern._inverted = true;\n            }\n            return;\n        }\n        // Handle aspect ratio filling\n        if (pattern.aspectRatio) {\n            bBox.aspectRatio = bBox.width / bBox.height;\n            if (pattern.aspectRatio > bBox.aspectRatio) {\n                // Height of bBox will determine width\n                bBox.aspectWidth = bBox.height * pattern.aspectRatio;\n            }\n            else {\n                // Width of bBox will determine height\n                bBox.aspectHeight = bBox.width / pattern.aspectRatio;\n            }\n        }\n        // We set the width/height on internal properties to differentiate\n        // between the options set by a user and by this function.\n        pattern._width = pattern.width ||\n            Math.ceil(bBox.aspectWidth || bBox.width);\n        pattern._height = pattern.height ||\n            Math.ceil(bBox.aspectHeight || bBox.height);\n    }\n    // Set x/y accordingly, centering if using aspect ratio, otherwise adjusting\n    // so bounding box corner is 0,0 of pattern.\n    if (!pattern.width) {\n        pattern._x = pattern.x || 0;\n        pattern._x += bBox.x - Math.round(bBox.aspectWidth ?\n            Math.abs(bBox.aspectWidth - bBox.width) / 2 :\n            0);\n    }\n    if (!pattern.height) {\n        pattern._y = pattern.y || 0;\n        pattern._y += bBox.y - Math.round(bBox.aspectHeight ?\n            Math.abs(bBox.aspectHeight - bBox.height) / 2 :\n            0);\n    }\n}\n/**\n * Add a pattern to the renderer.\n *\n * @private\n * @function Highcharts.SVGRenderer#addPattern\n *\n * @param {Highcharts.PatternObject} options\n * The pattern options.\n *\n * @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation]\n * The animation options.\n *\n * @return {Highcharts.SVGElement|undefined}\n * The added pattern. Undefined if the pattern already exists.\n *\n * @requires modules/pattern-fill\n */\nfunction rendererAddPattern(options, animation) {\n    var _this = this;\n    var animate = pick(animation, true), animationOptions = animObject(animate), color = options.color || \"#333333\" /* Palette.neutralColor80 */, defaultSize = 32, height = options.height ||\n            (typeof options._height === 'number' ? options._height : 0) ||\n            defaultSize, rect = function (fill) { return _this\n            .rect(0, 0, width, height)\n            .attr({ fill: fill })\n            .add(pattern); }, width = options.width ||\n            (typeof options._width === 'number' ? options._width : 0) ||\n            defaultSize;\n    var attribs,\n        id = options.id,\n        path;\n    if (!id) {\n        this.idCounter = this.idCounter || 0;\n        id = ('highcharts-pattern-' +\n            this.idCounter +\n            '-' +\n            (this.chartIndex || 0));\n        ++this.idCounter;\n    }\n    if (this.forExport) {\n        id += '-export';\n    }\n    // Do nothing if ID already exists\n    this.defIds = this.defIds || [];\n    if (this.defIds.indexOf(id) > -1) {\n        return;\n    }\n    // Store ID in list to avoid duplicates\n    this.defIds.push(id);\n    // Calculate pattern element attributes\n    var attrs = {\n            id: id,\n            patternUnits: 'userSpaceOnUse',\n            patternContentUnits: options.patternContentUnits || 'userSpaceOnUse',\n            width: width,\n            height: height,\n            x: options._x || options.x || 0,\n            y: options._y || options.y || 0\n        };\n    if (options._inverted) {\n        attrs.patternTransform = 'scale(1, -1)'; // (#16810)\n        if (options.patternTransform) {\n            options.patternTransform += ' scale(1, -1)';\n        }\n    }\n    if (options.patternTransform) {\n        attrs.patternTransform = options.patternTransform;\n    }\n    var pattern = this.createElement('pattern').attr(attrs).add(this.defs);\n    // Set id on the SVGRenderer object\n    pattern.id = id;\n    // Use an SVG path for the pattern\n    if (options.path) {\n        path = highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().isObject(options.path) ?\n            options.path :\n            { d: options.path };\n        // The background\n        if (options.backgroundColor) {\n            rect(options.backgroundColor);\n        }\n        // The pattern\n        attribs = {\n            'd': path.d\n        };\n        if (!this.styledMode) {\n            attribs.stroke = path.stroke || color;\n            attribs['stroke-width'] = pick(path.strokeWidth, 2);\n            attribs.fill = path.fill || 'none';\n        }\n        if (path.transform) {\n            attribs.transform = path.transform;\n        }\n        this.createElement('path').attr(attribs).add(pattern);\n        pattern.color = color;\n        // Image pattern\n    }\n    else if (options.image) {\n        if (animate) {\n            this.image(options.image, 0, 0, width, height, function () {\n                // Onload\n                this.animate({\n                    opacity: pick(options.opacity, 1)\n                }, animationOptions);\n                removeEvent(this.element, 'load');\n            }).attr({ opacity: 0 }).add(pattern);\n        }\n        else {\n            this.image(options.image, 0, 0, width, height).add(pattern);\n        }\n    }\n    // For non-animated patterns, set opacity now\n    if (!(options.image && animate) && typeof options.opacity !== 'undefined') {\n        [].forEach.call(pattern.element.childNodes, function (child) {\n            child.setAttribute('opacity', options.opacity);\n        });\n    }\n    // Store for future reference\n    this.patternElements = this.patternElements || {};\n    this.patternElements[id] = pattern;\n    return pattern;\n}\n/**\n * Make sure we have a series color.\n * @private\n */\nfunction wrapSeriesGetColor(proceed) {\n    var oldColor = this.options.color;\n    // Temporarily remove color options to get defaults\n    if (oldColor &&\n        oldColor.pattern &&\n        !oldColor.pattern.color) {\n        delete this.options.color;\n        // Get default\n        proceed.apply(this, [].slice.call(arguments, 1));\n        // Replace with old, but add default color\n        oldColor.pattern.color =\n            this.color;\n        this.color = this.options.color = oldColor;\n    }\n    else {\n        // We have a color, no need to do anything special\n        proceed.apply(this, [].slice.call(arguments, 1));\n    }\n}\n/**\n * Scale patterns inversely to the series it's used in.\n * Maintains a visual (1,1) scale regardless of size.\n * @private\n */\nfunction onPatternScaleCorrection() {\n    var _a,\n        _b;\n    var series = this;\n    // If not a series used in a map chart, skip it.\n    if (!((_a = series.chart) === null || _a === void 0 ? void 0 : _a.mapView)) {\n        return;\n    }\n    var chart = series.chart,\n        renderer = chart.renderer,\n        patterns = renderer.patternElements;\n    // Only scale if we have patterns to scale.\n    if (((_b = renderer.defIds) === null || _b === void 0 ? void 0 : _b.length) && patterns) {\n        // Filter for points which have patterns that don't use images assigned\n        // and has a group scale available.\n        series.points.filter(function (p) {\n            var _a,\n                _b,\n                _c,\n                _d;\n            var point = p;\n            // No graphic we can fetch id from, filter out this point.\n            if (!point.graphic) {\n                return false;\n            }\n            return (point.graphic.element.hasAttribute('fill') ||\n                point.graphic.element.hasAttribute('color') ||\n                point.graphic.element.hasAttribute('stroke')) &&\n                !((_b = (_a = point.options.color) === null || _a === void 0 ? void 0 : _a.pattern) === null || _b === void 0 ? void 0 : _b.image) &&\n                !!((_c = point.group) === null || _c === void 0 ? void 0 : _c.scaleX) &&\n                !!((_d = point.group) === null || _d === void 0 ? void 0 : _d.scaleY);\n        })\n            // Map up pattern id's and their scales.\n            .map(function (p) {\n            var _a,\n                _b,\n                _c,\n                _d,\n                _e;\n            var point = p;\n            // Parse the id from the graphic element of the point.\n            var id = (((_a = point.graphic) === null || _a === void 0 ? void 0 : _a.element.getAttribute('fill')) ||\n                    ((_b = point.graphic) === null || _b === void 0 ? void 0 : _b.element.getAttribute('color')) ||\n                    ((_c = point.graphic) === null || _c === void 0 ? void 0 : _c.element.getAttribute('stroke')) || '')\n                    .replace(renderer.url, '')\n                    .replace('url(#', '')\n                    .replace(')', '');\n            return {\n                id: id,\n                x: ((_d = point.group) === null || _d === void 0 ? void 0 : _d.scaleX) || 1,\n                y: ((_e = point.group) === null || _e === void 0 ? void 0 : _e.scaleY) || 1\n            };\n        })\n            // Filter out colors and other non-patterns, as well as duplicates.\n            .filter(function (pointInfo, index, arr) {\n            return pointInfo.id !== '' &&\n                pointInfo.id.indexOf('highcharts-pattern-') !== -1 &&\n                !arr.some(function (otherInfo, otherIndex) {\n                    return otherInfo.id === pointInfo.id && otherIndex < index;\n                });\n        })\n            .forEach(function (pointInfo) {\n            var id = pointInfo.id;\n            patterns[id].scaleX = 1 / pointInfo.x;\n            patterns[id].scaleY = 1 / pointInfo.y;\n            patterns[id].updateTransform('patternTransform');\n        });\n    }\n}\n/* *\n *\n *  Export\n *\n * */\nvar PatternFill = {\n    compose: compose,\n    patterns: patterns\n};\n/* harmony default export */ var Extensions_PatternFill = (PatternFill);\n/* *\n *\n *  API Declarations\n *\n * */\n/**\n * Pattern options\n *\n * @interface Highcharts.PatternOptionsObject\n */ /**\n* Background color for the pattern if a `path` is set (not images).\n* @name Highcharts.PatternOptionsObject#backgroundColor\n* @type {Highcharts.ColorString|undefined}\n*/ /**\n* URL to an image to use as the pattern.\n* @name Highcharts.PatternOptionsObject#image\n* @type {string|undefined}\n*/ /**\n* Width of the pattern. For images this is automatically set to the width of\n* the element bounding box if not supplied. For non-image patterns the default\n* is 32px. Note that automatic resizing of image patterns to fill a bounding\n* box dynamically is only supported for patterns with an automatically\n* calculated ID.\n* @name Highcharts.PatternOptionsObject#width\n* @type {number|undefined}\n*/ /**\n* Analogous to pattern.width.\n* @name Highcharts.PatternOptionsObject#height\n* @type {number|undefined}\n*/ /**\n* For automatically calculated width and height on images, it is possible to\n* set an aspect ratio. The image will be zoomed to fill the bounding box,\n* maintaining the aspect ratio defined.\n* @name Highcharts.PatternOptionsObject#aspectRatio\n* @type {number|undefined}\n*/ /**\n* Horizontal offset of the pattern. Defaults to 0.\n* @name Highcharts.PatternOptionsObject#x\n* @type {number|undefined}\n*/ /**\n* Vertical offset of the pattern. Defaults to 0.\n* @name Highcharts.PatternOptionsObject#y\n* @type {number|undefined}\n*/ /**\n* Either an SVG path as string, or an object. As an object, supply the path\n* string in the `path.d` property. Other supported properties are standard SVG\n* attributes like `path.stroke` and `path.fill`. If a path is supplied for the\n* pattern, the `image` property is ignored.\n* @name Highcharts.PatternOptionsObject#path\n* @type {string|Highcharts.SVGAttributes|undefined}\n*/ /**\n* SVG `patternTransform` to apply to the entire pattern.\n* @name Highcharts.PatternOptionsObject#patternTransform\n* @type {string|undefined}\n* @see [patternTransform demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/series/pattern-fill-transform)\n*/ /**\n* Pattern color, used as default path stroke.\n* @name Highcharts.PatternOptionsObject#color\n* @type {Highcharts.ColorString|undefined}\n*/ /**\n* Opacity of the pattern as a float value from 0 to 1.\n* @name Highcharts.PatternOptionsObject#opacity\n* @type {number|undefined}\n*/ /**\n* ID to assign to the pattern. This is automatically computed if not added, and\n* identical patterns are reused. To refer to an existing pattern for a\n* Highcharts color, use `color: \"url(#pattern-id)\"`.\n* @name Highcharts.PatternOptionsObject#id\n* @type {string|undefined}\n*/\n/**\n * Holds a pattern definition.\n *\n * @sample highcharts/series/pattern-fill-area/\n *         Define a custom path pattern\n * @sample highcharts/series/pattern-fill-pie/\n *         Default patterns and a custom image pattern\n * @sample maps/demo/pattern-fill-map/\n *         Custom images on map\n *\n * @example\n * // Pattern used as a color option\n * color: {\n *     pattern: {\n *            path: {\n *                 d: 'M 3 3 L 8 3 L 8 8 Z',\n *                fill: '#102045'\n *            },\n *            width: 12,\n *            height: 12,\n *            color: '#907000',\n *            opacity: 0.5\n *     }\n * }\n *\n * @interface Highcharts.PatternObject\n */ /**\n* Pattern options\n* @name Highcharts.PatternObject#pattern\n* @type {Highcharts.PatternOptionsObject}\n*/ /**\n* Animation options for the image pattern loading.\n* @name Highcharts.PatternObject#animation\n* @type {boolean|Partial<Highcharts.AnimationOptionsObject>|undefined}\n*/ /**\n* Optionally an index referencing which pattern to use. Highcharts adds\n* 10 default patterns to the `Highcharts.patterns` array. Additional\n* pattern definitions can be pushed to this array if desired. This option\n* is an index into this array.\n* @name Highcharts.PatternObject#patternIndex\n* @type {number|undefined}\n*/\n''; // Keeps doclets above in transpiled file\n\n;// ./code/es5/es-modules/masters/modules/pattern-fill.src.js\n\n\n\n\nvar G = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\nG.patterns = Extensions_PatternFill.patterns;\nExtensions_PatternFill.compose(G.Chart, G.Series, G.SVGRenderer);\n/* harmony default export */ var pattern_fill_src = ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()));\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","exports","module","require","define","amd","__WEBPACK_EXTERNAL_MODULE__944__","ChartClass","SeriesClass","SVGRendererClass","PointClass","pointProto","__webpack_modules__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","pattern_fill_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","animObject","getOptions","addEvent","defined","erase","extend","merge","pick","removeEvent","wrap","patterns","createPatterns","colors","i","_i","_a","length","pattern","push","path","color","width","height","patternTransform","_b","_c","hashFromObject","preSeed","seedStep","str","JSON","stringify","strLen","hash","Math","max","floor","charCodeAt","toString","replace","pointCalculatePatternDimensions","bBox","graphic","getBBox","element","shapeArgs","x","y","image","_width","_height","scaleY","series","chart","mapView","getSVGTransform","_inverted","aspectRatio","aspectWidth","aspectHeight","ceil","_x","round","abs","_y","onPatternScaleCorrection","renderer","patternElements","defIds","points","filter","p","_d","point","hasAttribute","options","group","scaleX","map","_e","id","getAttribute","url","pointInfo","index","arr","indexOf","some","otherInfo","otherIndex","forEach","updateTransform","G","Chart","Series","SVGRenderer","pointClass","calculatePatternDimensions","visible","colorOptions","redraw","usedIds","renderTo","querySelectorAll","node","patterns_1","destroy","isResizing","isDirtyData","hasRendered","proceed","oldColor","apply","slice","arguments","addPattern","animation","fill","attribs","animate","animationOptions","idCounter","chartIndex","forExport","attrs","patternUnits","patternContentUnits","createElement","attr","add","defs","isObject","backgroundColor","_this","rect","styledMode","stroke","strokeWidth","transform","opacity","childNodes","child","setAttribute","args","value","patternIndex","forceHashId","parentNode","globalAnimation","duration","concat"],"mappings":"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"}

Hacked By AnonymousFox1.0, Coded By AnonymousFox