logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

ZhIB.861df339.js.map (49483B)


      1 {"version":3,"sources":["webpack:///./node_modules/numeral/numeral.js"],"names":["__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","undefined","numeral","_","formats","locales","defaults","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","options","Numeral","input","number","this","_input","_value","value","kind","unformatFunction","regexp","isNumeral","isNaN","replace","length","regexps","unformat","match","stringToNumber","Number","version","obj","numberToFormat","format","roundingFunction","leadingCount","abbrForce","abs","int","precision","signed","thousands","output","locale","negP","optDec","abbr","decimal","neg","Math","includes","indexOf","RegExp","abbreviations","trillion","billion","million","thousand","toString","split","toFixed","delimiters","slice","String","i","string","abbreviation","stringOriginal","currency","symbol","pow","min","search","insert","subString","start","reduce","array","callback","TypeError","t","Object","len","k","arguments","multiplier","x","parts","correctionFactor","Array","prototype","call","accum","next","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","max","key","toLowerCase","localeData","Error","reset","property","register","type","name","validate","val","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","temp","console","warn","trim","e","substr","fn","clone","inputString","formatFunction","round","set","add","corrFactor","curr","currI","O","subtract","multiply","divide","difference","ordinal","b","space","splice","join","base","suffixes","binary","unformatRegex","concat","filter","item","bytes","suffix","bytesMultiplier","symbols","before","after","toExponential","hours","floor","minutes","seconds","timeArray","exports","__webpack_require__","module"],"mappings":"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","file":"static/js/ZhIB.861df339.js","sourcesContent":["/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n\n(function (global, factory) {\n    if (typeof define === 'function' && define.amd) {\n        define(factory);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = factory();\n    } else {\n        global.numeral = factory();\n    }\n}(this, function () {\n    /************************************\n        Variables\n    ************************************/\n\n    var numeral,\n        _,\n        VERSION = '2.0.6',\n        formats = {},\n        locales = {},\n        defaults = {\n            currentLocale: 'en',\n            zeroFormat: null,\n            nullFormat: null,\n            defaultFormat: '0,0',\n            scalePercentBy100: true\n        },\n        options = {\n            currentLocale: defaults.currentLocale,\n            zeroFormat: defaults.zeroFormat,\n            nullFormat: defaults.nullFormat,\n            defaultFormat: defaults.defaultFormat,\n            scalePercentBy100: defaults.scalePercentBy100\n        };\n\n\n    /************************************\n        Constructors\n    ************************************/\n\n    // Numeral prototype object\n    function Numeral(input, number) {\n        this._input = input;\n\n        this._value = number;\n    }\n\n    numeral = function(input) {\n        var value,\n            kind,\n            unformatFunction,\n            regexp;\n\n        if (numeral.isNumeral(input)) {\n            value = input.value();\n        } else if (input === 0 || typeof input === 'undefined') {\n            value = 0;\n        } else if (input === null || _.isNaN(input)) {\n            value = null;\n        } else if (typeof input === 'string') {\n            if (options.zeroFormat && input === options.zeroFormat) {\n                value = 0;\n            } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n                value = null;\n            } else {\n                for (kind in formats) {\n                    regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n                    if (regexp && input.match(regexp)) {\n                        unformatFunction = formats[kind].unformat;\n\n                        break;\n                    }\n                }\n\n                unformatFunction = unformatFunction || numeral._.stringToNumber;\n\n                value = unformatFunction(input);\n            }\n        } else {\n            value = Number(input)|| null;\n        }\n\n        return new Numeral(input, value);\n    };\n\n    // version number\n    numeral.version = VERSION;\n\n    // compare numeral object\n    numeral.isNumeral = function(obj) {\n        return obj instanceof Numeral;\n    };\n\n    // helper functions\n    numeral._ = _ = {\n        // formats numbers separators, decimals places, signs, abbreviations\n        numberToFormat: function(value, format, roundingFunction) {\n            var locale = locales[numeral.options.currentLocale],\n                negP = false,\n                optDec = false,\n                leadingCount = 0,\n                abbr = '',\n                trillion = 1000000000000,\n                billion = 1000000000,\n                million = 1000000,\n                thousand = 1000,\n                decimal = '',\n                neg = false,\n                abbrForce, // force abbreviation\n                abs,\n                min,\n                max,\n                power,\n                int,\n                precision,\n                signed,\n                thousands,\n                output;\n\n            // make sure we never format a null value\n            value = value || 0;\n\n            abs = Math.abs(value);\n\n            // see if we should use parentheses for negative number or if we should prefix with a sign\n            // if both are present we default to parentheses\n            if (numeral._.includes(format, '(')) {\n                negP = true;\n                format = format.replace(/[\\(|\\)]/g, '');\n            } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n                signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n                format = format.replace(/[\\+|\\-]/g, '');\n            }\n\n            // see if abbreviation is wanted\n            if (numeral._.includes(format, 'a')) {\n                abbrForce = format.match(/a(k|m|b|t)?/);\n\n                abbrForce = abbrForce ? abbrForce[1] : false;\n\n                // check for space before abbreviation\n                if (numeral._.includes(format, ' a')) {\n                    abbr = ' ';\n                }\n\n                format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n                if (abs >= trillion && !abbrForce || abbrForce === 't') {\n                    // trillion\n                    abbr += locale.abbreviations.trillion;\n                    value = value / trillion;\n                } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n                    // billion\n                    abbr += locale.abbreviations.billion;\n                    value = value / billion;\n                } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n                    // million\n                    abbr += locale.abbreviations.million;\n                    value = value / million;\n                } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n                    // thousand\n                    abbr += locale.abbreviations.thousand;\n                    value = value / thousand;\n                }\n            }\n\n            // check for optional decimals\n            if (numeral._.includes(format, '[.]')) {\n                optDec = true;\n                format = format.replace('[.]', '.');\n            }\n\n            // break number and format\n            int = value.toString().split('.')[0];\n            precision = format.split('.')[1];\n            thousands = format.indexOf(',');\n            leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n            if (precision) {\n                if (numeral._.includes(precision, '[')) {\n                    precision = precision.replace(']', '');\n                    precision = precision.split('[');\n                    decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\n                } else {\n                    decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n                }\n\n                int = decimal.split('.')[0];\n\n                if (numeral._.includes(decimal, '.')) {\n                    decimal = locale.delimiters.decimal + decimal.split('.')[1];\n                } else {\n                    decimal = '';\n                }\n\n                if (optDec && Number(decimal.slice(1)) === 0) {\n                    decimal = '';\n                }\n            } else {\n                int = numeral._.toFixed(value, 0, roundingFunction);\n            }\n\n            // check abbreviation again after rounding\n            if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n                int = String(Number(int) / 1000);\n\n                switch (abbr) {\n                    case locale.abbreviations.thousand:\n                        abbr = locale.abbreviations.million;\n                        break;\n                    case locale.abbreviations.million:\n                        abbr = locale.abbreviations.billion;\n                        break;\n                    case locale.abbreviations.billion:\n                        abbr = locale.abbreviations.trillion;\n                        break;\n                }\n            }\n\n\n            // format number\n            if (numeral._.includes(int, '-')) {\n                int = int.slice(1);\n                neg = true;\n            }\n\n            if (int.length < leadingCount) {\n                for (var i = leadingCount - int.length; i > 0; i--) {\n                    int = '0' + int;\n                }\n            }\n\n            if (thousands > -1) {\n                int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n            }\n\n            if (format.indexOf('.') === 0) {\n                int = '';\n            }\n\n            output = int + decimal + (abbr ? abbr : '');\n\n            if (negP) {\n                output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n            } else {\n                if (signed >= 0) {\n                    output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n                } else if (neg) {\n                    output = '-' + output;\n                }\n            }\n\n            return output;\n        },\n        // unformats numbers separators, decimals places, signs, abbreviations\n        stringToNumber: function(string) {\n            var locale = locales[options.currentLocale],\n                stringOriginal = string,\n                abbreviations = {\n                    thousand: 3,\n                    million: 6,\n                    billion: 9,\n                    trillion: 12\n                },\n                abbreviation,\n                value,\n                i,\n                regexp;\n\n            if (options.zeroFormat && string === options.zeroFormat) {\n                value = 0;\n            } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n                value = null;\n            } else {\n                value = 1;\n\n                if (locale.delimiters.decimal !== '.') {\n                    string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n                }\n\n                for (abbreviation in abbreviations) {\n                    regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n                    if (stringOriginal.match(regexp)) {\n                        value *= Math.pow(10, abbreviations[abbreviation]);\n                        break;\n                    }\n                }\n\n                // check for negative number\n                value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\n\n                // remove non numbers\n                string = string.replace(/[^0-9\\.]+/g, '');\n\n                value *= Number(string);\n            }\n\n            return value;\n        },\n        isNaN: function(value) {\n            return typeof value === 'number' && isNaN(value);\n        },\n        includes: function(string, search) {\n            return string.indexOf(search) !== -1;\n        },\n        insert: function(string, subString, start) {\n            return string.slice(0, start) + subString + string.slice(start);\n        },\n        reduce: function(array, callback /*, initialValue*/) {\n            if (this === null) {\n                throw new TypeError('Array.prototype.reduce called on null or undefined');\n            }\n\n            if (typeof callback !== 'function') {\n                throw new TypeError(callback + ' is not a function');\n            }\n\n            var t = Object(array),\n                len = t.length >>> 0,\n                k = 0,\n                value;\n\n            if (arguments.length === 3) {\n                value = arguments[2];\n            } else {\n                while (k < len && !(k in t)) {\n                    k++;\n                }\n\n                if (k >= len) {\n                    throw new TypeError('Reduce of empty array with no initial value');\n                }\n\n                value = t[k++];\n            }\n            for (; k < len; k++) {\n                if (k in t) {\n                    value = callback(value, t[k], k, t);\n                }\n            }\n            return value;\n        },\n        /**\n         * Computes the multiplier necessary to make x >= 1,\n         * effectively eliminating miscalculations caused by\n         * finite precision.\n         */\n        multiplier: function (x) {\n            var parts = x.toString().split('.');\n\n            return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n        },\n        /**\n         * Given a variable number of arguments, returns the maximum\n         * multiplier that must be used to normalize an operation involving\n         * all of them.\n         */\n        correctionFactor: function () {\n            var args = Array.prototype.slice.call(arguments);\n\n            return args.reduce(function(accum, next) {\n                var mn = _.multiplier(next);\n                return accum > mn ? accum : mn;\n            }, 1);\n        },\n        /**\n         * Implementation of toFixed() that treats floats more like decimals\n         *\n         * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n         * problems for accounting- and finance-related software.\n         */\n        toFixed: function(value, maxDecimals, roundingFunction, optionals) {\n            var splitValue = value.toString().split('.'),\n                minDecimals = maxDecimals - (optionals || 0),\n                boundedPrecision,\n                optionalsRegExp,\n                power,\n                output;\n\n            // Use the smallest precision value possible to avoid errors from floating point representation\n            if (splitValue.length === 2) {\n              boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n            } else {\n              boundedPrecision = minDecimals;\n            }\n\n            power = Math.pow(10, boundedPrecision);\n\n            // Multiply up by precision, round accurately, then divide and use native toFixed():\n            output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n            if (optionals > maxDecimals - boundedPrecision) {\n                optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n                output = output.replace(optionalsRegExp, '');\n            }\n\n            return output;\n        }\n    };\n\n    // avaliable options\n    numeral.options = options;\n\n    // avaliable formats\n    numeral.formats = formats;\n\n    // avaliable formats\n    numeral.locales = locales;\n\n    // This function sets the current locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    numeral.locale = function(key) {\n        if (key) {\n            options.currentLocale = key.toLowerCase();\n        }\n\n        return options.currentLocale;\n    };\n\n    // This function provides access to the loaded locale data.  If\n    // no arguments are passed in, it will simply return the current\n    // global locale object.\n    numeral.localeData = function(key) {\n        if (!key) {\n            return locales[options.currentLocale];\n        }\n\n        key = key.toLowerCase();\n\n        if (!locales[key]) {\n            throw new Error('Unknown locale : ' + key);\n        }\n\n        return locales[key];\n    };\n\n    numeral.reset = function() {\n        for (var property in defaults) {\n            options[property] = defaults[property];\n        }\n    };\n\n    numeral.zeroFormat = function(format) {\n        options.zeroFormat = typeof(format) === 'string' ? format : null;\n    };\n\n    numeral.nullFormat = function (format) {\n        options.nullFormat = typeof(format) === 'string' ? format : null;\n    };\n\n    numeral.defaultFormat = function(format) {\n        options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\n    };\n\n    numeral.register = function(type, name, format) {\n        name = name.toLowerCase();\n\n        if (this[type + 's'][name]) {\n            throw new TypeError(name + ' ' + type + ' already registered.');\n        }\n\n        this[type + 's'][name] = format;\n\n        return format;\n    };\n\n\n    numeral.validate = function(val, culture) {\n        var _decimalSep,\n            _thousandSep,\n            _currSymbol,\n            _valArray,\n            _abbrObj,\n            _thousandRegEx,\n            localeData,\n            temp;\n\n        //coerce val to string\n        if (typeof val !== 'string') {\n            val += '';\n\n            if (console.warn) {\n                console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n            }\n        }\n\n        //trim whitespaces from either sides\n        val = val.trim();\n\n        //if val is just digits return true\n        if (!!val.match(/^\\d+$/)) {\n            return true;\n        }\n\n        //if val is empty return false\n        if (val === '') {\n            return false;\n        }\n\n        //get the decimal and thousands separator from numeral.localeData\n        try {\n            //check if the culture is understood by numeral. if not, default it to current locale\n            localeData = numeral.localeData(culture);\n        } catch (e) {\n            localeData = numeral.localeData(numeral.locale());\n        }\n\n        //setup the delimiters and currency symbol based on culture/locale\n        _currSymbol = localeData.currency.symbol;\n        _abbrObj = localeData.abbreviations;\n        _decimalSep = localeData.delimiters.decimal;\n        if (localeData.delimiters.thousands === '.') {\n            _thousandSep = '\\\\.';\n        } else {\n            _thousandSep = localeData.delimiters.thousands;\n        }\n\n        // validating currency symbol\n        temp = val.match(/^[^\\d]+/);\n        if (temp !== null) {\n            val = val.substr(1);\n            if (temp[0] !== _currSymbol) {\n                return false;\n            }\n        }\n\n        //validating abbreviation symbol\n        temp = val.match(/[^\\d]+$/);\n        if (temp !== null) {\n            val = val.slice(0, -1);\n            if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n                return false;\n            }\n        }\n\n        _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n        if (!val.match(/[^\\d.,]/g)) {\n            _valArray = val.split(_decimalSep);\n            if (_valArray.length > 2) {\n                return false;\n            } else {\n                if (_valArray.length < 2) {\n                    return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\n                } else {\n                    if (_valArray[0].length === 1) {\n                        return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n                    } else {\n                        return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n                    }\n                }\n            }\n        }\n\n        return false;\n    };\n\n\n    /************************************\n        Numeral Prototype\n    ************************************/\n\n    numeral.fn = Numeral.prototype = {\n        clone: function() {\n            return numeral(this);\n        },\n        format: function(inputString, roundingFunction) {\n            var value = this._value,\n                format = inputString || options.defaultFormat,\n                kind,\n                output,\n                formatFunction;\n\n            // make sure we have a roundingFunction\n            roundingFunction = roundingFunction || Math.round;\n\n            // format based on value\n            if (value === 0 && options.zeroFormat !== null) {\n                output = options.zeroFormat;\n            } else if (value === null && options.nullFormat !== null) {\n                output = options.nullFormat;\n            } else {\n                for (kind in formats) {\n                    if (format.match(formats[kind].regexps.format)) {\n                        formatFunction = formats[kind].format;\n\n                        break;\n                    }\n                }\n\n                formatFunction = formatFunction || numeral._.numberToFormat;\n\n                output = formatFunction(value, format, roundingFunction);\n            }\n\n            return output;\n        },\n        value: function() {\n            return this._value;\n        },\n        input: function() {\n            return this._input;\n        },\n        set: function(value) {\n            this._value = Number(value);\n\n            return this;\n        },\n        add: function(value) {\n            var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n            function cback(accum, curr, currI, O) {\n                return accum + Math.round(corrFactor * curr);\n            }\n\n            this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n\n            return this;\n        },\n        subtract: function(value) {\n            var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n            function cback(accum, curr, currI, O) {\n                return accum - Math.round(corrFactor * curr);\n            }\n\n            this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n\n            return this;\n        },\n        multiply: function(value) {\n            function cback(accum, curr, currI, O) {\n                var corrFactor = _.correctionFactor(accum, curr);\n                return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n            }\n\n            this._value = _.reduce([this._value, value], cback, 1);\n\n            return this;\n        },\n        divide: function(value) {\n            function cback(accum, curr, currI, O) {\n                var corrFactor = _.correctionFactor(accum, curr);\n                return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n            }\n\n            this._value = _.reduce([this._value, value], cback);\n\n            return this;\n        },\n        difference: function(value) {\n            return Math.abs(numeral(this._value).subtract(value).value());\n        }\n    };\n\n    /************************************\n        Default Locale && Format\n    ************************************/\n\n    numeral.register('locale', 'en', {\n        delimiters: {\n            thousands: ',',\n            decimal: '.'\n        },\n        abbreviations: {\n            thousand: 'k',\n            million: 'm',\n            billion: 'b',\n            trillion: 't'\n        },\n        ordinal: function(number) {\n            var b = number % 10;\n            return (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n        },\n        currency: {\n            symbol: '$'\n        }\n    });\n\n    \n\n(function() {\n        numeral.register('format', 'bps', {\n            regexps: {\n                format: /(BPS)/,\n                unformat: /(BPS)/\n            },\n            format: function(value, format, roundingFunction) {\n                var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n                    output;\n\n                value = value * 10000;\n\n                // check for space before BPS\n                format = format.replace(/\\s?BPS/, '');\n\n                output = numeral._.numberToFormat(value, format, roundingFunction);\n\n                if (numeral._.includes(output, ')')) {\n                    output = output.split('');\n\n                    output.splice(-1, 0, space + 'BPS');\n\n                    output = output.join('');\n                } else {\n                    output = output + space + 'BPS';\n                }\n\n                return output;\n            },\n            unformat: function(string) {\n                return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n            }\n        });\n})();\n\n\n(function() {\n        var decimal = {\n            base: 1000,\n            suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n        },\n        binary = {\n            base: 1024,\n            suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n        };\n\n    var allSuffixes =  decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n            return decimal.suffixes.indexOf(item) < 0;\n        }));\n        var unformatRegex = allSuffixes.join('|');\n        // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n        unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n\n    numeral.register('format', 'bytes', {\n        regexps: {\n            format: /([0\\s]i?b)/,\n            unformat: new RegExp(unformatRegex)\n        },\n        format: function(value, format, roundingFunction) {\n            var output,\n                bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n                suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n                power,\n                min,\n                max;\n\n            // check for space before\n            format = format.replace(/\\s?i?b/, '');\n\n            for (power = 0; power <= bytes.suffixes.length; power++) {\n                min = Math.pow(bytes.base, power);\n                max = Math.pow(bytes.base, power + 1);\n\n                if (value === null || value === 0 || value >= min && value < max) {\n                    suffix += bytes.suffixes[power];\n\n                    if (min > 0) {\n                        value = value / min;\n                    }\n\n                    break;\n                }\n            }\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            return output + suffix;\n        },\n        unformat: function(string) {\n            var value = numeral._.stringToNumber(string),\n                power,\n                bytesMultiplier;\n\n            if (value) {\n                for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n                    if (numeral._.includes(string, decimal.suffixes[power])) {\n                        bytesMultiplier = Math.pow(decimal.base, power);\n\n                        break;\n                    }\n\n                    if (numeral._.includes(string, binary.suffixes[power])) {\n                        bytesMultiplier = Math.pow(binary.base, power);\n\n                        break;\n                    }\n                }\n\n                value *= (bytesMultiplier || 1);\n            }\n\n            return value;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'currency', {\n        regexps: {\n            format: /(\\$)/\n        },\n        format: function(value, format, roundingFunction) {\n            var locale = numeral.locales[numeral.options.currentLocale],\n                symbols = {\n                    before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n                    after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n                },\n                output,\n                symbol,\n                i;\n\n            // strip format of spaces and $\n            format = format.replace(/\\s?\\$\\s?/, '');\n\n            // format the number\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            // update the before and after based on value\n            if (value >= 0) {\n                symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n                symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n            } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\n                symbols.before = '-' + symbols.before;\n            }\n\n            // loop through each before symbol\n            for (i = 0; i < symbols.before.length; i++) {\n                symbol = symbols.before[i];\n\n                switch (symbol) {\n                    case '$':\n                        output = numeral._.insert(output, locale.currency.symbol, i);\n                        break;\n                    case ' ':\n                        output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n                        break;\n                }\n            }\n\n            // loop through each after symbol\n            for (i = symbols.after.length - 1; i >= 0; i--) {\n                symbol = symbols.after[i];\n\n                switch (symbol) {\n                    case '$':\n                        output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n                        break;\n                    case ' ':\n                        output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n                        break;\n                }\n            }\n\n\n            return output;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'exponential', {\n        regexps: {\n            format: /(e\\+|e-)/,\n            unformat: /(e\\+|e-)/\n        },\n        format: function(value, format, roundingFunction) {\n            var output,\n                exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n                parts = exponential.split('e');\n\n            format = format.replace(/e[\\+|\\-]{1}0/, '');\n\n            output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n\n            return output + 'e' + parts[1];\n        },\n        unformat: function(string) {\n            var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n                value = Number(parts[0]),\n                power = Number(parts[1]);\n\n            power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n            function cback(accum, curr, currI, O) {\n                var corrFactor = numeral._.correctionFactor(accum, curr),\n                    num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\n                return num;\n            }\n\n            return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'ordinal', {\n        regexps: {\n            format: /(o)/\n        },\n        format: function(value, format, roundingFunction) {\n            var locale = numeral.locales[numeral.options.currentLocale],\n                output,\n                ordinal = numeral._.includes(format, ' o') ? ' ' : '';\n\n            // check for space before\n            format = format.replace(/\\s?o/, '');\n\n            ordinal += locale.ordinal(value);\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            return output + ordinal;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'percentage', {\n        regexps: {\n            format: /(%)/,\n            unformat: /(%)/\n        },\n        format: function(value, format, roundingFunction) {\n            var space = numeral._.includes(format, ' %') ? ' ' : '',\n                output;\n\n            if (numeral.options.scalePercentBy100) {\n                value = value * 100;\n            }\n\n            // check for space before %\n            format = format.replace(/\\s?\\%/, '');\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            if (numeral._.includes(output, ')')) {\n                output = output.split('');\n\n                output.splice(-1, 0, space + '%');\n\n                output = output.join('');\n            } else {\n                output = output + space + '%';\n            }\n\n            return output;\n        },\n        unformat: function(string) {\n            var number = numeral._.stringToNumber(string);\n            if (numeral.options.scalePercentBy100) {\n                return number * 0.01;\n            }\n            return number;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'time', {\n        regexps: {\n            format: /(:)/,\n            unformat: /(:)/\n        },\n        format: function(value, format, roundingFunction) {\n            var hours = Math.floor(value / 60 / 60),\n                minutes = Math.floor((value - (hours * 60 * 60)) / 60),\n                seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\n\n            return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n        },\n        unformat: function(string) {\n            var timeArray = string.split(':'),\n                seconds = 0;\n\n            // turn hours and minutes into seconds and add them all up\n            if (timeArray.length === 3) {\n                // hours\n                seconds = seconds + (Number(timeArray[0]) * 60 * 60);\n                // minutes\n                seconds = seconds + (Number(timeArray[1]) * 60);\n                // seconds\n                seconds = seconds + Number(timeArray[2]);\n            } else if (timeArray.length === 2) {\n                // minutes\n                seconds = seconds + (Number(timeArray[0]) * 60);\n                // seconds\n                seconds = seconds + Number(timeArray[1]);\n            }\n            return Number(seconds);\n        }\n    });\n})();\n\nreturn numeral;\n}));\n"],"sourceRoot":""}