/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/

var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __commonJS = (cb, mod) => function __require() {
  return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
  __markAsModule(target);
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
  if (module2 && typeof module2 === "object" || typeof module2 === "function") {
    for (let key of __getOwnPropNames(module2))
      if (!__hasOwnProp.call(target, key) && key !== "default")
        __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
  }
  return target;
};
var __toModule = (module2) => {
  return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var __async = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};

// node_modules/moment/moment.js
var require_moment = __commonJS({
  "node_modules/moment/moment.js"(exports, module2) {
    (function(global, factory) {
      typeof exports === "object" && typeof module2 !== "undefined" ? module2.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.moment = factory();
    })(exports, function() {
      "use strict";
      var hookCallback;
      function hooks() {
        return hookCallback.apply(null, arguments);
      }
      function setHookCallback(callback) {
        hookCallback = callback;
      }
      function isArray(input) {
        return input instanceof Array || Object.prototype.toString.call(input) === "[object Array]";
      }
      function isObject(input) {
        return input != null && Object.prototype.toString.call(input) === "[object Object]";
      }
      function hasOwnProp(a, b) {
        return Object.prototype.hasOwnProperty.call(a, b);
      }
      function isObjectEmpty(obj) {
        if (Object.getOwnPropertyNames) {
          return Object.getOwnPropertyNames(obj).length === 0;
        } else {
          var k;
          for (k in obj) {
            if (hasOwnProp(obj, k)) {
              return false;
            }
          }
          return true;
        }
      }
      function isUndefined(input) {
        return input === void 0;
      }
      function isNumber(input) {
        return typeof input === "number" || Object.prototype.toString.call(input) === "[object Number]";
      }
      function isDate(input) {
        return input instanceof Date || Object.prototype.toString.call(input) === "[object Date]";
      }
      function map(arr, fn) {
        var res = [], i, arrLen = arr.length;
        for (i = 0; i < arrLen; ++i) {
          res.push(fn(arr[i], i));
        }
        return res;
      }
      function extend(a, b) {
        for (var i in b) {
          if (hasOwnProp(b, i)) {
            a[i] = b[i];
          }
        }
        if (hasOwnProp(b, "toString")) {
          a.toString = b.toString;
        }
        if (hasOwnProp(b, "valueOf")) {
          a.valueOf = b.valueOf;
        }
        return a;
      }
      function createUTC(input, format2, locale2, strict) {
        return createLocalOrUTC(input, format2, locale2, strict, true).utc();
      }
      function defaultParsingFlags() {
        return {
          empty: false,
          unusedTokens: [],
          unusedInput: [],
          overflow: -2,
          charsLeftOver: 0,
          nullInput: false,
          invalidEra: null,
          invalidMonth: null,
          invalidFormat: false,
          userInvalidated: false,
          iso: false,
          parsedDateParts: [],
          era: null,
          meridiem: null,
          rfc2822: false,
          weekdayMismatch: false
        };
      }
      function getParsingFlags(m) {
        if (m._pf == null) {
          m._pf = defaultParsingFlags();
        }
        return m._pf;
      }
      var some;
      if (Array.prototype.some) {
        some = Array.prototype.some;
      } else {
        some = function(fun) {
          var t = Object(this), len = t.length >>> 0, i;
          for (i = 0; i < len; i++) {
            if (i in t && fun.call(this, t[i], i, t)) {
              return true;
            }
          }
          return false;
        };
      }
      function isValid(m) {
        if (m._isValid == null) {
          var flags = getParsingFlags(m), parsedParts = some.call(flags.parsedDateParts, function(i) {
            return i != null;
          }), isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);
          if (m._strict) {
            isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === void 0;
          }
          if (Object.isFrozen == null || !Object.isFrozen(m)) {
            m._isValid = isNowValid;
          } else {
            return isNowValid;
          }
        }
        return m._isValid;
      }
      function createInvalid(flags) {
        var m = createUTC(NaN);
        if (flags != null) {
          extend(getParsingFlags(m), flags);
        } else {
          getParsingFlags(m).userInvalidated = true;
        }
        return m;
      }
      var momentProperties = hooks.momentProperties = [], updateInProgress = false;
      function copyConfig(to2, from2) {
        var i, prop, val, momentPropertiesLen = momentProperties.length;
        if (!isUndefined(from2._isAMomentObject)) {
          to2._isAMomentObject = from2._isAMomentObject;
        }
        if (!isUndefined(from2._i)) {
          to2._i = from2._i;
        }
        if (!isUndefined(from2._f)) {
          to2._f = from2._f;
        }
        if (!isUndefined(from2._l)) {
          to2._l = from2._l;
        }
        if (!isUndefined(from2._strict)) {
          to2._strict = from2._strict;
        }
        if (!isUndefined(from2._tzm)) {
          to2._tzm = from2._tzm;
        }
        if (!isUndefined(from2._isUTC)) {
          to2._isUTC = from2._isUTC;
        }
        if (!isUndefined(from2._offset)) {
          to2._offset = from2._offset;
        }
        if (!isUndefined(from2._pf)) {
          to2._pf = getParsingFlags(from2);
        }
        if (!isUndefined(from2._locale)) {
          to2._locale = from2._locale;
        }
        if (momentPropertiesLen > 0) {
          for (i = 0; i < momentPropertiesLen; i++) {
            prop = momentProperties[i];
            val = from2[prop];
            if (!isUndefined(val)) {
              to2[prop] = val;
            }
          }
        }
        return to2;
      }
      function Moment(config) {
        copyConfig(this, config);
        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
        if (!this.isValid()) {
          this._d = new Date(NaN);
        }
        if (updateInProgress === false) {
          updateInProgress = true;
          hooks.updateOffset(this);
          updateInProgress = false;
        }
      }
      function isMoment(obj) {
        return obj instanceof Moment || obj != null && obj._isAMomentObject != null;
      }
      function warn(msg) {
        if (hooks.suppressDeprecationWarnings === false && typeof console !== "undefined" && console.warn) {
          console.warn("Deprecation warning: " + msg);
        }
      }
      function deprecate(msg, fn) {
        var firstTime = true;
        return extend(function() {
          if (hooks.deprecationHandler != null) {
            hooks.deprecationHandler(null, msg);
          }
          if (firstTime) {
            var args = [], arg, i, key, argLen = arguments.length;
            for (i = 0; i < argLen; i++) {
              arg = "";
              if (typeof arguments[i] === "object") {
                arg += "\n[" + i + "] ";
                for (key in arguments[0]) {
                  if (hasOwnProp(arguments[0], key)) {
                    arg += key + ": " + arguments[0][key] + ", ";
                  }
                }
                arg = arg.slice(0, -2);
              } else {
                arg = arguments[i];
              }
              args.push(arg);
            }
            warn(msg + "\nArguments: " + Array.prototype.slice.call(args).join("") + "\n" + new Error().stack);
            firstTime = false;
          }
          return fn.apply(this, arguments);
        }, fn);
      }
      var deprecations = {};
      function deprecateSimple(name, msg) {
        if (hooks.deprecationHandler != null) {
          hooks.deprecationHandler(name, msg);
        }
        if (!deprecations[name]) {
          warn(msg);
          deprecations[name] = true;
        }
      }
      hooks.suppressDeprecationWarnings = false;
      hooks.deprecationHandler = null;
      function isFunction(input) {
        return typeof Function !== "undefined" && input instanceof Function || Object.prototype.toString.call(input) === "[object Function]";
      }
      function set(config) {
        var prop, i;
        for (i in config) {
          if (hasOwnProp(config, i)) {
            prop = config[i];
            if (isFunction(prop)) {
              this[i] = prop;
            } else {
              this["_" + i] = prop;
            }
          }
        }
        this._config = config;
        this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source);
      }
      function mergeConfigs(parentConfig, childConfig) {
        var res = extend({}, parentConfig), prop;
        for (prop in childConfig) {
          if (hasOwnProp(childConfig, prop)) {
            if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
              res[prop] = {};
              extend(res[prop], parentConfig[prop]);
              extend(res[prop], childConfig[prop]);
            } else if (childConfig[prop] != null) {
              res[prop] = childConfig[prop];
            } else {
              delete res[prop];
            }
          }
        }
        for (prop in parentConfig) {
          if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {
            res[prop] = extend({}, res[prop]);
          }
        }
        return res;
      }
      function Locale(config) {
        if (config != null) {
          this.set(config);
        }
      }
      var keys;
      if (Object.keys) {
        keys = Object.keys;
      } else {
        keys = function(obj) {
          var i, res = [];
          for (i in obj) {
            if (hasOwnProp(obj, i)) {
              res.push(i);
            }
          }
          return res;
        };
      }
      var defaultCalendar = {
        sameDay: "[Today at] LT",
        nextDay: "[Tomorrow at] LT",
        nextWeek: "dddd [at] LT",
        lastDay: "[Yesterday at] LT",
        lastWeek: "[Last] dddd [at] LT",
        sameElse: "L"
      };
      function calendar(key, mom, now2) {
        var output = this._calendar[key] || this._calendar["sameElse"];
        return isFunction(output) ? output.call(mom, now2) : output;
      }
      function zeroFill(number, targetLength, forceSign) {
        var absNumber = "" + Math.abs(number), zerosToFill = targetLength - absNumber.length, sign2 = number >= 0;
        return (sign2 ? forceSign ? "+" : "" : "-") + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
      }
      var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, formatFunctions = {}, formatTokenFunctions = {};
      function addFormatToken(token2, padded, ordinal2, callback) {
        var func = callback;
        if (typeof callback === "string") {
          func = function() {
            return this[callback]();
          };
        }
        if (token2) {
          formatTokenFunctions[token2] = func;
        }
        if (padded) {
          formatTokenFunctions[padded[0]] = function() {
            return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
          };
        }
        if (ordinal2) {
          formatTokenFunctions[ordinal2] = function() {
            return this.localeData().ordinal(func.apply(this, arguments), token2);
          };
        }
      }
      function removeFormattingTokens(input) {
        if (input.match(/\[[\s\S]/)) {
          return input.replace(/^\[|\]$/g, "");
        }
        return input.replace(/\\/g, "");
      }
      function makeFormatFunction(format2) {
        var array = format2.match(formattingTokens), i, length;
        for (i = 0, length = array.length; i < length; i++) {
          if (formatTokenFunctions[array[i]]) {
            array[i] = formatTokenFunctions[array[i]];
          } else {
            array[i] = removeFormattingTokens(array[i]);
          }
        }
        return function(mom) {
          var output = "", i2;
          for (i2 = 0; i2 < length; i2++) {
            output += isFunction(array[i2]) ? array[i2].call(mom, format2) : array[i2];
          }
          return output;
        };
      }
      function formatMoment(m, format2) {
        if (!m.isValid()) {
          return m.localeData().invalidDate();
        }
        format2 = expandFormat(format2, m.localeData());
        formatFunctions[format2] = formatFunctions[format2] || makeFormatFunction(format2);
        return formatFunctions[format2](m);
      }
      function expandFormat(format2, locale2) {
        var i = 5;
        function replaceLongDateFormatTokens(input) {
          return locale2.longDateFormat(input) || input;
        }
        localFormattingTokens.lastIndex = 0;
        while (i >= 0 && localFormattingTokens.test(format2)) {
          format2 = format2.replace(localFormattingTokens, replaceLongDateFormatTokens);
          localFormattingTokens.lastIndex = 0;
          i -= 1;
        }
        return format2;
      }
      var defaultLongDateFormat = {
        LTS: "h:mm:ss A",
        LT: "h:mm A",
        L: "MM/DD/YYYY",
        LL: "MMMM D, YYYY",
        LLL: "MMMM D, YYYY h:mm A",
        LLLL: "dddd, MMMM D, YYYY h:mm A"
      };
      function longDateFormat(key) {
        var format2 = this._longDateFormat[key], formatUpper = this._longDateFormat[key.toUpperCase()];
        if (format2 || !formatUpper) {
          return format2;
        }
        this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function(tok) {
          if (tok === "MMMM" || tok === "MM" || tok === "DD" || tok === "dddd") {
            return tok.slice(1);
          }
          return tok;
        }).join("");
        return this._longDateFormat[key];
      }
      var defaultInvalidDate = "Invalid date";
      function invalidDate() {
        return this._invalidDate;
      }
      var defaultOrdinal = "%d", defaultDayOfMonthOrdinalParse = /\d{1,2}/;
      function ordinal(number) {
        return this._ordinal.replace("%d", number);
      }
      var defaultRelativeTime = {
        future: "in %s",
        past: "%s ago",
        s: "a few seconds",
        ss: "%d seconds",
        m: "a minute",
        mm: "%d minutes",
        h: "an hour",
        hh: "%d hours",
        d: "a day",
        dd: "%d days",
        w: "a week",
        ww: "%d weeks",
        M: "a month",
        MM: "%d months",
        y: "a year",
        yy: "%d years"
      };
      function relativeTime(number, withoutSuffix, string, isFuture) {
        var output = this._relativeTime[string];
        return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);
      }
      function pastFuture(diff2, output) {
        var format2 = this._relativeTime[diff2 > 0 ? "future" : "past"];
        return isFunction(format2) ? format2(output) : format2.replace(/%s/i, output);
      }
      var aliases = {};
      function addUnitAlias(unit, shorthand) {
        var lowerCase = unit.toLowerCase();
        aliases[lowerCase] = aliases[lowerCase + "s"] = aliases[shorthand] = unit;
      }
      function normalizeUnits(units) {
        return typeof units === "string" ? aliases[units] || aliases[units.toLowerCase()] : void 0;
      }
      function normalizeObjectUnits(inputObject) {
        var normalizedInput = {}, normalizedProp, prop;
        for (prop in inputObject) {
          if (hasOwnProp(inputObject, prop)) {
            normalizedProp = normalizeUnits(prop);
            if (normalizedProp) {
              normalizedInput[normalizedProp] = inputObject[prop];
            }
          }
        }
        return normalizedInput;
      }
      var priorities = {};
      function addUnitPriority(unit, priority) {
        priorities[unit] = priority;
      }
      function getPrioritizedUnits(unitsObj) {
        var units = [], u;
        for (u in unitsObj) {
          if (hasOwnProp(unitsObj, u)) {
            units.push({ unit: u, priority: priorities[u] });
          }
        }
        units.sort(function(a, b) {
          return a.priority - b.priority;
        });
        return units;
      }
      function isLeapYear(year) {
        return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
      }
      function absFloor(number) {
        if (number < 0) {
          return Math.ceil(number) || 0;
        } else {
          return Math.floor(number);
        }
      }
      function toInt(argumentForCoercion) {
        var coercedNumber = +argumentForCoercion, value = 0;
        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
          value = absFloor(coercedNumber);
        }
        return value;
      }
      function makeGetSet(unit, keepTime) {
        return function(value) {
          if (value != null) {
            set$1(this, unit, value);
            hooks.updateOffset(this, keepTime);
            return this;
          } else {
            return get(this, unit);
          }
        };
      }
      function get(mom, unit) {
        return mom.isValid() ? mom._d["get" + (mom._isUTC ? "UTC" : "") + unit]() : NaN;
      }
      function set$1(mom, unit, value) {
        if (mom.isValid() && !isNaN(value)) {
          if (unit === "FullYear" && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
            value = toInt(value);
            mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value, mom.month(), daysInMonth(value, mom.month()));
          } else {
            mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value);
          }
        }
      }
      function stringGet(units) {
        units = normalizeUnits(units);
        if (isFunction(this[units])) {
          return this[units]();
        }
        return this;
      }
      function stringSet(units, value) {
        if (typeof units === "object") {
          units = normalizeObjectUnits(units);
          var prioritized = getPrioritizedUnits(units), i, prioritizedLen = prioritized.length;
          for (i = 0; i < prioritizedLen; i++) {
            this[prioritized[i].unit](units[prioritized[i].unit]);
          }
        } else {
          units = normalizeUnits(units);
          if (isFunction(this[units])) {
            return this[units](value);
          }
        }
        return this;
      }
      var match1 = /\d/, match2 = /\d\d/, match3 = /\d{3}/, match4 = /\d{4}/, match6 = /[+-]?\d{6}/, match1to2 = /\d\d?/, match3to4 = /\d\d\d\d?/, match5to6 = /\d\d\d\d\d\d?/, match1to3 = /\d{1,3}/, match1to4 = /\d{1,4}/, match1to6 = /[+-]?\d{1,6}/, matchUnsigned = /\d+/, matchSigned = /[+-]?\d+/, matchOffset = /Z|[+-]\d\d:?\d\d/gi, matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, regexes;
      regexes = {};
      function addRegexToken(token2, regex, strictRegex) {
        regexes[token2] = isFunction(regex) ? regex : function(isStrict, localeData2) {
          return isStrict && strictRegex ? strictRegex : regex;
        };
      }
      function getParseRegexForToken(token2, config) {
        if (!hasOwnProp(regexes, token2)) {
          return new RegExp(unescapeFormat(token2));
        }
        return regexes[token2](config._strict, config._locale);
      }
      function unescapeFormat(s) {
        return regexEscape(s.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(matched, p1, p2, p3, p4) {
          return p1 || p2 || p3 || p4;
        }));
      }
      function regexEscape(s) {
        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
      }
      var tokens = {};
      function addParseToken(token2, callback) {
        var i, func = callback, tokenLen;
        if (typeof token2 === "string") {
          token2 = [token2];
        }
        if (isNumber(callback)) {
          func = function(input, array) {
            array[callback] = toInt(input);
          };
        }
        tokenLen = token2.length;
        for (i = 0; i < tokenLen; i++) {
          tokens[token2[i]] = func;
        }
      }
      function addWeekParseToken(token2, callback) {
        addParseToken(token2, function(input, array, config, token3) {
          config._w = config._w || {};
          callback(input, config._w, config, token3);
        });
      }
      function addTimeToArrayFromToken(token2, input, config) {
        if (input != null && hasOwnProp(tokens, token2)) {
          tokens[token2](input, config._a, config, token2);
        }
      }
      var YEAR = 0, MONTH = 1, DATE = 2, HOUR = 3, MINUTE = 4, SECOND = 5, MILLISECOND = 6, WEEK = 7, WEEKDAY = 8;
      function mod(n, x) {
        return (n % x + x) % x;
      }
      var indexOf;
      if (Array.prototype.indexOf) {
        indexOf = Array.prototype.indexOf;
      } else {
        indexOf = function(o) {
          var i;
          for (i = 0; i < this.length; ++i) {
            if (this[i] === o) {
              return i;
            }
          }
          return -1;
        };
      }
      function daysInMonth(year, month) {
        if (isNaN(year) || isNaN(month)) {
          return NaN;
        }
        var modMonth = mod(month, 12);
        year += (month - modMonth) / 12;
        return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;
      }
      addFormatToken("M", ["MM", 2], "Mo", function() {
        return this.month() + 1;
      });
      addFormatToken("MMM", 0, 0, function(format2) {
        return this.localeData().monthsShort(this, format2);
      });
      addFormatToken("MMMM", 0, 0, function(format2) {
        return this.localeData().months(this, format2);
      });
      addUnitAlias("month", "M");
      addUnitPriority("month", 8);
      addRegexToken("M", match1to2);
      addRegexToken("MM", match1to2, match2);
      addRegexToken("MMM", function(isStrict, locale2) {
        return locale2.monthsShortRegex(isStrict);
      });
      addRegexToken("MMMM", function(isStrict, locale2) {
        return locale2.monthsRegex(isStrict);
      });
      addParseToken(["M", "MM"], function(input, array) {
        array[MONTH] = toInt(input) - 1;
      });
      addParseToken(["MMM", "MMMM"], function(input, array, config, token2) {
        var month = config._locale.monthsParse(input, token2, config._strict);
        if (month != null) {
          array[MONTH] = month;
        } else {
          getParsingFlags(config).invalidMonth = input;
        }
      });
      var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, defaultMonthsShortRegex = matchWord, defaultMonthsRegex = matchWord;
      function localeMonths(m, format2) {
        if (!m) {
          return isArray(this._months) ? this._months : this._months["standalone"];
        }
        return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format2) ? "format" : "standalone"][m.month()];
      }
      function localeMonthsShort(m, format2) {
        if (!m) {
          return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort["standalone"];
        }
        return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format2) ? "format" : "standalone"][m.month()];
      }
      function handleStrictParse(monthName, format2, strict) {
        var i, ii, mom, llc = monthName.toLocaleLowerCase();
        if (!this._monthsParse) {
          this._monthsParse = [];
          this._longMonthsParse = [];
          this._shortMonthsParse = [];
          for (i = 0; i < 12; ++i) {
            mom = createUTC([2e3, i]);
            this._shortMonthsParse[i] = this.monthsShort(mom, "").toLocaleLowerCase();
            this._longMonthsParse[i] = this.months(mom, "").toLocaleLowerCase();
          }
        }
        if (strict) {
          if (format2 === "MMM") {
            ii = indexOf.call(this._shortMonthsParse, llc);
            return ii !== -1 ? ii : null;
          } else {
            ii = indexOf.call(this._longMonthsParse, llc);
            return ii !== -1 ? ii : null;
          }
        } else {
          if (format2 === "MMM") {
            ii = indexOf.call(this._shortMonthsParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._longMonthsParse, llc);
            return ii !== -1 ? ii : null;
          } else {
            ii = indexOf.call(this._longMonthsParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._shortMonthsParse, llc);
            return ii !== -1 ? ii : null;
          }
        }
      }
      function localeMonthsParse(monthName, format2, strict) {
        var i, mom, regex;
        if (this._monthsParseExact) {
          return handleStrictParse.call(this, monthName, format2, strict);
        }
        if (!this._monthsParse) {
          this._monthsParse = [];
          this._longMonthsParse = [];
          this._shortMonthsParse = [];
        }
        for (i = 0; i < 12; i++) {
          mom = createUTC([2e3, i]);
          if (strict && !this._longMonthsParse[i]) {
            this._longMonthsParse[i] = new RegExp("^" + this.months(mom, "").replace(".", "") + "$", "i");
            this._shortMonthsParse[i] = new RegExp("^" + this.monthsShort(mom, "").replace(".", "") + "$", "i");
          }
          if (!strict && !this._monthsParse[i]) {
            regex = "^" + this.months(mom, "") + "|^" + this.monthsShort(mom, "");
            this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i");
          }
          if (strict && format2 === "MMMM" && this._longMonthsParse[i].test(monthName)) {
            return i;
          } else if (strict && format2 === "MMM" && this._shortMonthsParse[i].test(monthName)) {
            return i;
          } else if (!strict && this._monthsParse[i].test(monthName)) {
            return i;
          }
        }
      }
      function setMonth(mom, value) {
        var dayOfMonth;
        if (!mom.isValid()) {
          return mom;
        }
        if (typeof value === "string") {
          if (/^\d+$/.test(value)) {
            value = toInt(value);
          } else {
            value = mom.localeData().monthsParse(value);
            if (!isNumber(value)) {
              return mom;
            }
          }
        }
        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
        mom._d["set" + (mom._isUTC ? "UTC" : "") + "Month"](value, dayOfMonth);
        return mom;
      }
      function getSetMonth(value) {
        if (value != null) {
          setMonth(this, value);
          hooks.updateOffset(this, true);
          return this;
        } else {
          return get(this, "Month");
        }
      }
      function getDaysInMonth() {
        return daysInMonth(this.year(), this.month());
      }
      function monthsShortRegex(isStrict) {
        if (this._monthsParseExact) {
          if (!hasOwnProp(this, "_monthsRegex")) {
            computeMonthsParse.call(this);
          }
          if (isStrict) {
            return this._monthsShortStrictRegex;
          } else {
            return this._monthsShortRegex;
          }
        } else {
          if (!hasOwnProp(this, "_monthsShortRegex")) {
            this._monthsShortRegex = defaultMonthsShortRegex;
          }
          return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;
        }
      }
      function monthsRegex(isStrict) {
        if (this._monthsParseExact) {
          if (!hasOwnProp(this, "_monthsRegex")) {
            computeMonthsParse.call(this);
          }
          if (isStrict) {
            return this._monthsStrictRegex;
          } else {
            return this._monthsRegex;
          }
        } else {
          if (!hasOwnProp(this, "_monthsRegex")) {
            this._monthsRegex = defaultMonthsRegex;
          }
          return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;
        }
      }
      function computeMonthsParse() {
        function cmpLenRev(a, b) {
          return b.length - a.length;
        }
        var shortPieces = [], longPieces = [], mixedPieces = [], i, mom;
        for (i = 0; i < 12; i++) {
          mom = createUTC([2e3, i]);
          shortPieces.push(this.monthsShort(mom, ""));
          longPieces.push(this.months(mom, ""));
          mixedPieces.push(this.months(mom, ""));
          mixedPieces.push(this.monthsShort(mom, ""));
        }
        shortPieces.sort(cmpLenRev);
        longPieces.sort(cmpLenRev);
        mixedPieces.sort(cmpLenRev);
        for (i = 0; i < 12; i++) {
          shortPieces[i] = regexEscape(shortPieces[i]);
          longPieces[i] = regexEscape(longPieces[i]);
        }
        for (i = 0; i < 24; i++) {
          mixedPieces[i] = regexEscape(mixedPieces[i]);
        }
        this._monthsRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
        this._monthsShortRegex = this._monthsRegex;
        this._monthsStrictRegex = new RegExp("^(" + longPieces.join("|") + ")", "i");
        this._monthsShortStrictRegex = new RegExp("^(" + shortPieces.join("|") + ")", "i");
      }
      addFormatToken("Y", 0, 0, function() {
        var y = this.year();
        return y <= 9999 ? zeroFill(y, 4) : "+" + y;
      });
      addFormatToken(0, ["YY", 2], 0, function() {
        return this.year() % 100;
      });
      addFormatToken(0, ["YYYY", 4], 0, "year");
      addFormatToken(0, ["YYYYY", 5], 0, "year");
      addFormatToken(0, ["YYYYYY", 6, true], 0, "year");
      addUnitAlias("year", "y");
      addUnitPriority("year", 1);
      addRegexToken("Y", matchSigned);
      addRegexToken("YY", match1to2, match2);
      addRegexToken("YYYY", match1to4, match4);
      addRegexToken("YYYYY", match1to6, match6);
      addRegexToken("YYYYYY", match1to6, match6);
      addParseToken(["YYYYY", "YYYYYY"], YEAR);
      addParseToken("YYYY", function(input, array) {
        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
      });
      addParseToken("YY", function(input, array) {
        array[YEAR] = hooks.parseTwoDigitYear(input);
      });
      addParseToken("Y", function(input, array) {
        array[YEAR] = parseInt(input, 10);
      });
      function daysInYear(year) {
        return isLeapYear(year) ? 366 : 365;
      }
      hooks.parseTwoDigitYear = function(input) {
        return toInt(input) + (toInt(input) > 68 ? 1900 : 2e3);
      };
      var getSetYear = makeGetSet("FullYear", true);
      function getIsLeapYear() {
        return isLeapYear(this.year());
      }
      function createDate(y, m, d, h, M, s, ms) {
        var date;
        if (y < 100 && y >= 0) {
          date = new Date(y + 400, m, d, h, M, s, ms);
          if (isFinite(date.getFullYear())) {
            date.setFullYear(y);
          }
        } else {
          date = new Date(y, m, d, h, M, s, ms);
        }
        return date;
      }
      function createUTCDate(y) {
        var date, args;
        if (y < 100 && y >= 0) {
          args = Array.prototype.slice.call(arguments);
          args[0] = y + 400;
          date = new Date(Date.UTC.apply(null, args));
          if (isFinite(date.getUTCFullYear())) {
            date.setUTCFullYear(y);
          }
        } else {
          date = new Date(Date.UTC.apply(null, arguments));
        }
        return date;
      }
      function firstWeekOffset(year, dow, doy) {
        var fwd = 7 + dow - doy, fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
        return -fwdlw + fwd - 1;
      }
      function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
        var localWeekday = (7 + weekday - dow) % 7, weekOffset = firstWeekOffset(year, dow, doy), dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, resYear, resDayOfYear;
        if (dayOfYear <= 0) {
          resYear = year - 1;
          resDayOfYear = daysInYear(resYear) + dayOfYear;
        } else if (dayOfYear > daysInYear(year)) {
          resYear = year + 1;
          resDayOfYear = dayOfYear - daysInYear(year);
        } else {
          resYear = year;
          resDayOfYear = dayOfYear;
        }
        return {
          year: resYear,
          dayOfYear: resDayOfYear
        };
      }
      function weekOfYear(mom, dow, doy) {
        var weekOffset = firstWeekOffset(mom.year(), dow, doy), week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, resWeek, resYear;
        if (week < 1) {
          resYear = mom.year() - 1;
          resWeek = week + weeksInYear(resYear, dow, doy);
        } else if (week > weeksInYear(mom.year(), dow, doy)) {
          resWeek = week - weeksInYear(mom.year(), dow, doy);
          resYear = mom.year() + 1;
        } else {
          resYear = mom.year();
          resWeek = week;
        }
        return {
          week: resWeek,
          year: resYear
        };
      }
      function weeksInYear(year, dow, doy) {
        var weekOffset = firstWeekOffset(year, dow, doy), weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
      }
      addFormatToken("w", ["ww", 2], "wo", "week");
      addFormatToken("W", ["WW", 2], "Wo", "isoWeek");
      addUnitAlias("week", "w");
      addUnitAlias("isoWeek", "W");
      addUnitPriority("week", 5);
      addUnitPriority("isoWeek", 5);
      addRegexToken("w", match1to2);
      addRegexToken("ww", match1to2, match2);
      addRegexToken("W", match1to2);
      addRegexToken("WW", match1to2, match2);
      addWeekParseToken(["w", "ww", "W", "WW"], function(input, week, config, token2) {
        week[token2.substr(0, 1)] = toInt(input);
      });
      function localeWeek(mom) {
        return weekOfYear(mom, this._week.dow, this._week.doy).week;
      }
      var defaultLocaleWeek = {
        dow: 0,
        doy: 6
      };
      function localeFirstDayOfWeek() {
        return this._week.dow;
      }
      function localeFirstDayOfYear() {
        return this._week.doy;
      }
      function getSetWeek(input) {
        var week = this.localeData().week(this);
        return input == null ? week : this.add((input - week) * 7, "d");
      }
      function getSetISOWeek(input) {
        var week = weekOfYear(this, 1, 4).week;
        return input == null ? week : this.add((input - week) * 7, "d");
      }
      addFormatToken("d", 0, "do", "day");
      addFormatToken("dd", 0, 0, function(format2) {
        return this.localeData().weekdaysMin(this, format2);
      });
      addFormatToken("ddd", 0, 0, function(format2) {
        return this.localeData().weekdaysShort(this, format2);
      });
      addFormatToken("dddd", 0, 0, function(format2) {
        return this.localeData().weekdays(this, format2);
      });
      addFormatToken("e", 0, 0, "weekday");
      addFormatToken("E", 0, 0, "isoWeekday");
      addUnitAlias("day", "d");
      addUnitAlias("weekday", "e");
      addUnitAlias("isoWeekday", "E");
      addUnitPriority("day", 11);
      addUnitPriority("weekday", 11);
      addUnitPriority("isoWeekday", 11);
      addRegexToken("d", match1to2);
      addRegexToken("e", match1to2);
      addRegexToken("E", match1to2);
      addRegexToken("dd", function(isStrict, locale2) {
        return locale2.weekdaysMinRegex(isStrict);
      });
      addRegexToken("ddd", function(isStrict, locale2) {
        return locale2.weekdaysShortRegex(isStrict);
      });
      addRegexToken("dddd", function(isStrict, locale2) {
        return locale2.weekdaysRegex(isStrict);
      });
      addWeekParseToken(["dd", "ddd", "dddd"], function(input, week, config, token2) {
        var weekday = config._locale.weekdaysParse(input, token2, config._strict);
        if (weekday != null) {
          week.d = weekday;
        } else {
          getParsingFlags(config).invalidWeekday = input;
        }
      });
      addWeekParseToken(["d", "e", "E"], function(input, week, config, token2) {
        week[token2] = toInt(input);
      });
      function parseWeekday(input, locale2) {
        if (typeof input !== "string") {
          return input;
        }
        if (!isNaN(input)) {
          return parseInt(input, 10);
        }
        input = locale2.weekdaysParse(input);
        if (typeof input === "number") {
          return input;
        }
        return null;
      }
      function parseIsoWeekday(input, locale2) {
        if (typeof input === "string") {
          return locale2.weekdaysParse(input) % 7 || 7;
        }
        return isNaN(input) ? null : input;
      }
      function shiftWeekdays(ws, n) {
        return ws.slice(n, 7).concat(ws.slice(0, n));
      }
      var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), defaultWeekdaysRegex = matchWord, defaultWeekdaysShortRegex = matchWord, defaultWeekdaysMinRegex = matchWord;
      function localeWeekdays(m, format2) {
        var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format2) ? "format" : "standalone"];
        return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;
      }
      function localeWeekdaysShort(m) {
        return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;
      }
      function localeWeekdaysMin(m) {
        return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;
      }
      function handleStrictParse$1(weekdayName, format2, strict) {
        var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
        if (!this._weekdaysParse) {
          this._weekdaysParse = [];
          this._shortWeekdaysParse = [];
          this._minWeekdaysParse = [];
          for (i = 0; i < 7; ++i) {
            mom = createUTC([2e3, 1]).day(i);
            this._minWeekdaysParse[i] = this.weekdaysMin(mom, "").toLocaleLowerCase();
            this._shortWeekdaysParse[i] = this.weekdaysShort(mom, "").toLocaleLowerCase();
            this._weekdaysParse[i] = this.weekdays(mom, "").toLocaleLowerCase();
          }
        }
        if (strict) {
          if (format2 === "dddd") {
            ii = indexOf.call(this._weekdaysParse, llc);
            return ii !== -1 ? ii : null;
          } else if (format2 === "ddd") {
            ii = indexOf.call(this._shortWeekdaysParse, llc);
            return ii !== -1 ? ii : null;
          } else {
            ii = indexOf.call(this._minWeekdaysParse, llc);
            return ii !== -1 ? ii : null;
          }
        } else {
          if (format2 === "dddd") {
            ii = indexOf.call(this._weekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._shortWeekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._minWeekdaysParse, llc);
            return ii !== -1 ? ii : null;
          } else if (format2 === "ddd") {
            ii = indexOf.call(this._shortWeekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._weekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._minWeekdaysParse, llc);
            return ii !== -1 ? ii : null;
          } else {
            ii = indexOf.call(this._minWeekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._weekdaysParse, llc);
            if (ii !== -1) {
              return ii;
            }
            ii = indexOf.call(this._shortWeekdaysParse, llc);
            return ii !== -1 ? ii : null;
          }
        }
      }
      function localeWeekdaysParse(weekdayName, format2, strict) {
        var i, mom, regex;
        if (this._weekdaysParseExact) {
          return handleStrictParse$1.call(this, weekdayName, format2, strict);
        }
        if (!this._weekdaysParse) {
          this._weekdaysParse = [];
          this._minWeekdaysParse = [];
          this._shortWeekdaysParse = [];
          this._fullWeekdaysParse = [];
        }
        for (i = 0; i < 7; i++) {
          mom = createUTC([2e3, 1]).day(i);
          if (strict && !this._fullWeekdaysParse[i]) {
            this._fullWeekdaysParse[i] = new RegExp("^" + this.weekdays(mom, "").replace(".", "\\.?") + "$", "i");
            this._shortWeekdaysParse[i] = new RegExp("^" + this.weekdaysShort(mom, "").replace(".", "\\.?") + "$", "i");
            this._minWeekdaysParse[i] = new RegExp("^" + this.weekdaysMin(mom, "").replace(".", "\\.?") + "$", "i");
          }
          if (!this._weekdaysParse[i]) {
            regex = "^" + this.weekdays(mom, "") + "|^" + this.weekdaysShort(mom, "") + "|^" + this.weekdaysMin(mom, "");
            this._weekdaysParse[i] = new RegExp(regex.replace(".", ""), "i");
          }
          if (strict && format2 === "dddd" && this._fullWeekdaysParse[i].test(weekdayName)) {
            return i;
          } else if (strict && format2 === "ddd" && this._shortWeekdaysParse[i].test(weekdayName)) {
            return i;
          } else if (strict && format2 === "dd" && this._minWeekdaysParse[i].test(weekdayName)) {
            return i;
          } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
            return i;
          }
        }
      }
      function getSetDayOfWeek(input) {
        if (!this.isValid()) {
          return input != null ? this : NaN;
        }
        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
        if (input != null) {
          input = parseWeekday(input, this.localeData());
          return this.add(input - day, "d");
        } else {
          return day;
        }
      }
      function getSetLocaleDayOfWeek(input) {
        if (!this.isValid()) {
          return input != null ? this : NaN;
        }
        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
        return input == null ? weekday : this.add(input - weekday, "d");
      }
      function getSetISODayOfWeek(input) {
        if (!this.isValid()) {
          return input != null ? this : NaN;
        }
        if (input != null) {
          var weekday = parseIsoWeekday(input, this.localeData());
          return this.day(this.day() % 7 ? weekday : weekday - 7);
        } else {
          return this.day() || 7;
        }
      }
      function weekdaysRegex(isStrict) {
        if (this._weekdaysParseExact) {
          if (!hasOwnProp(this, "_weekdaysRegex")) {
            computeWeekdaysParse.call(this);
          }
          if (isStrict) {
            return this._weekdaysStrictRegex;
          } else {
            return this._weekdaysRegex;
          }
        } else {
          if (!hasOwnProp(this, "_weekdaysRegex")) {
            this._weekdaysRegex = defaultWeekdaysRegex;
          }
          return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;
        }
      }
      function weekdaysShortRegex(isStrict) {
        if (this._weekdaysParseExact) {
          if (!hasOwnProp(this, "_weekdaysRegex")) {
            computeWeekdaysParse.call(this);
          }
          if (isStrict) {
            return this._weekdaysShortStrictRegex;
          } else {
            return this._weekdaysShortRegex;
          }
        } else {
          if (!hasOwnProp(this, "_weekdaysShortRegex")) {
            this._weekdaysShortRegex = defaultWeekdaysShortRegex;
          }
          return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
        }
      }
      function weekdaysMinRegex(isStrict) {
        if (this._weekdaysParseExact) {
          if (!hasOwnProp(this, "_weekdaysRegex")) {
            computeWeekdaysParse.call(this);
          }
          if (isStrict) {
            return this._weekdaysMinStrictRegex;
          } else {
            return this._weekdaysMinRegex;
          }
        } else {
          if (!hasOwnProp(this, "_weekdaysMinRegex")) {
            this._weekdaysMinRegex = defaultWeekdaysMinRegex;
          }
          return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
        }
      }
      function computeWeekdaysParse() {
        function cmpLenRev(a, b) {
          return b.length - a.length;
        }
        var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], i, mom, minp, shortp, longp;
        for (i = 0; i < 7; i++) {
          mom = createUTC([2e3, 1]).day(i);
          minp = regexEscape(this.weekdaysMin(mom, ""));
          shortp = regexEscape(this.weekdaysShort(mom, ""));
          longp = regexEscape(this.weekdays(mom, ""));
          minPieces.push(minp);
          shortPieces.push(shortp);
          longPieces.push(longp);
          mixedPieces.push(minp);
          mixedPieces.push(shortp);
          mixedPieces.push(longp);
        }
        minPieces.sort(cmpLenRev);
        shortPieces.sort(cmpLenRev);
        longPieces.sort(cmpLenRev);
        mixedPieces.sort(cmpLenRev);
        this._weekdaysRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
        this._weekdaysShortRegex = this._weekdaysRegex;
        this._weekdaysMinRegex = this._weekdaysRegex;
        this._weekdaysStrictRegex = new RegExp("^(" + longPieces.join("|") + ")", "i");
        this._weekdaysShortStrictRegex = new RegExp("^(" + shortPieces.join("|") + ")", "i");
        this._weekdaysMinStrictRegex = new RegExp("^(" + minPieces.join("|") + ")", "i");
      }
      function hFormat() {
        return this.hours() % 12 || 12;
      }
      function kFormat() {
        return this.hours() || 24;
      }
      addFormatToken("H", ["HH", 2], 0, "hour");
      addFormatToken("h", ["hh", 2], 0, hFormat);
      addFormatToken("k", ["kk", 2], 0, kFormat);
      addFormatToken("hmm", 0, 0, function() {
        return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2);
      });
      addFormatToken("hmmss", 0, 0, function() {
        return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
      });
      addFormatToken("Hmm", 0, 0, function() {
        return "" + this.hours() + zeroFill(this.minutes(), 2);
      });
      addFormatToken("Hmmss", 0, 0, function() {
        return "" + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
      });
      function meridiem(token2, lowercase) {
        addFormatToken(token2, 0, 0, function() {
          return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
        });
      }
      meridiem("a", true);
      meridiem("A", false);
      addUnitAlias("hour", "h");
      addUnitPriority("hour", 13);
      function matchMeridiem(isStrict, locale2) {
        return locale2._meridiemParse;
      }
      addRegexToken("a", matchMeridiem);
      addRegexToken("A", matchMeridiem);
      addRegexToken("H", match1to2);
      addRegexToken("h", match1to2);
      addRegexToken("k", match1to2);
      addRegexToken("HH", match1to2, match2);
      addRegexToken("hh", match1to2, match2);
      addRegexToken("kk", match1to2, match2);
      addRegexToken("hmm", match3to4);
      addRegexToken("hmmss", match5to6);
      addRegexToken("Hmm", match3to4);
      addRegexToken("Hmmss", match5to6);
      addParseToken(["H", "HH"], HOUR);
      addParseToken(["k", "kk"], function(input, array, config) {
        var kInput = toInt(input);
        array[HOUR] = kInput === 24 ? 0 : kInput;
      });
      addParseToken(["a", "A"], function(input, array, config) {
        config._isPm = config._locale.isPM(input);
        config._meridiem = input;
      });
      addParseToken(["h", "hh"], function(input, array, config) {
        array[HOUR] = toInt(input);
        getParsingFlags(config).bigHour = true;
      });
      addParseToken("hmm", function(input, array, config) {
        var pos = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos));
        array[MINUTE] = toInt(input.substr(pos));
        getParsingFlags(config).bigHour = true;
      });
      addParseToken("hmmss", function(input, array, config) {
        var pos1 = input.length - 4, pos2 = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos1));
        array[MINUTE] = toInt(input.substr(pos1, 2));
        array[SECOND] = toInt(input.substr(pos2));
        getParsingFlags(config).bigHour = true;
      });
      addParseToken("Hmm", function(input, array, config) {
        var pos = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos));
        array[MINUTE] = toInt(input.substr(pos));
      });
      addParseToken("Hmmss", function(input, array, config) {
        var pos1 = input.length - 4, pos2 = input.length - 2;
        array[HOUR] = toInt(input.substr(0, pos1));
        array[MINUTE] = toInt(input.substr(pos1, 2));
        array[SECOND] = toInt(input.substr(pos2));
      });
      function localeIsPM(input) {
        return (input + "").toLowerCase().charAt(0) === "p";
      }
      var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, getSetHour = makeGetSet("Hours", true);
      function localeMeridiem(hours2, minutes2, isLower) {
        if (hours2 > 11) {
          return isLower ? "pm" : "PM";
        } else {
          return isLower ? "am" : "AM";
        }
      }
      var baseConfig = {
        calendar: defaultCalendar,
        longDateFormat: defaultLongDateFormat,
        invalidDate: defaultInvalidDate,
        ordinal: defaultOrdinal,
        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
        relativeTime: defaultRelativeTime,
        months: defaultLocaleMonths,
        monthsShort: defaultLocaleMonthsShort,
        week: defaultLocaleWeek,
        weekdays: defaultLocaleWeekdays,
        weekdaysMin: defaultLocaleWeekdaysMin,
        weekdaysShort: defaultLocaleWeekdaysShort,
        meridiemParse: defaultLocaleMeridiemParse
      };
      var locales = {}, localeFamilies = {}, globalLocale;
      function commonPrefix(arr1, arr2) {
        var i, minl = Math.min(arr1.length, arr2.length);
        for (i = 0; i < minl; i += 1) {
          if (arr1[i] !== arr2[i]) {
            return i;
          }
        }
        return minl;
      }
      function normalizeLocale(key) {
        return key ? key.toLowerCase().replace("_", "-") : key;
      }
      function chooseLocale(names) {
        var i = 0, j, next, locale2, split;
        while (i < names.length) {
          split = normalizeLocale(names[i]).split("-");
          j = split.length;
          next = normalizeLocale(names[i + 1]);
          next = next ? next.split("-") : null;
          while (j > 0) {
            locale2 = loadLocale(split.slice(0, j).join("-"));
            if (locale2) {
              return locale2;
            }
            if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {
              break;
            }
            j--;
          }
          i++;
        }
        return globalLocale;
      }
      function isLocaleNameSane(name) {
        return name.match("^[^/\\\\]*$") != null;
      }
      function loadLocale(name) {
        var oldLocale = null, aliasedRequire;
        if (locales[name] === void 0 && typeof module2 !== "undefined" && module2 && module2.exports && isLocaleNameSane(name)) {
          try {
            oldLocale = globalLocale._abbr;
            aliasedRequire = require;
            aliasedRequire("./locale/" + name);
            getSetGlobalLocale(oldLocale);
          } catch (e) {
            locales[name] = null;
          }
        }
        return locales[name];
      }
      function getSetGlobalLocale(key, values) {
        var data;
        if (key) {
          if (isUndefined(values)) {
            data = getLocale(key);
          } else {
            data = defineLocale(key, values);
          }
          if (data) {
            globalLocale = data;
          } else {
            if (typeof console !== "undefined" && console.warn) {
              console.warn("Locale " + key + " not found. Did you forget to load it?");
            }
          }
        }
        return globalLocale._abbr;
      }
      function defineLocale(name, config) {
        if (config !== null) {
          var locale2, parentConfig = baseConfig;
          config.abbr = name;
          if (locales[name] != null) {
            deprecateSimple("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");
            parentConfig = locales[name]._config;
          } else if (config.parentLocale != null) {
            if (locales[config.parentLocale] != null) {
              parentConfig = locales[config.parentLocale]._config;
            } else {
              locale2 = loadLocale(config.parentLocale);
              if (locale2 != null) {
                parentConfig = locale2._config;
              } else {
                if (!localeFamilies[config.parentLocale]) {
                  localeFamilies[config.parentLocale] = [];
                }
                localeFamilies[config.parentLocale].push({
                  name,
                  config
                });
                return null;
              }
            }
          }
          locales[name] = new Locale(mergeConfigs(parentConfig, config));
          if (localeFamilies[name]) {
            localeFamilies[name].forEach(function(x) {
              defineLocale(x.name, x.config);
            });
          }
          getSetGlobalLocale(name);
          return locales[name];
        } else {
          delete locales[name];
          return null;
        }
      }
      function updateLocale(name, config) {
        if (config != null) {
          var locale2, tmpLocale, parentConfig = baseConfig;
          if (locales[name] != null && locales[name].parentLocale != null) {
            locales[name].set(mergeConfigs(locales[name]._config, config));
          } else {
            tmpLocale = loadLocale(name);
            if (tmpLocale != null) {
              parentConfig = tmpLocale._config;
            }
            config = mergeConfigs(parentConfig, config);
            if (tmpLocale == null) {
              config.abbr = name;
            }
            locale2 = new Locale(config);
            locale2.parentLocale = locales[name];
            locales[name] = locale2;
          }
          getSetGlobalLocale(name);
        } else {
          if (locales[name] != null) {
            if (locales[name].parentLocale != null) {
              locales[name] = locales[name].parentLocale;
              if (name === getSetGlobalLocale()) {
                getSetGlobalLocale(name);
              }
            } else if (locales[name] != null) {
              delete locales[name];
            }
          }
        }
        return locales[name];
      }
      function getLocale(key) {
        var locale2;
        if (key && key._locale && key._locale._abbr) {
          key = key._locale._abbr;
        }
        if (!key) {
          return globalLocale;
        }
        if (!isArray(key)) {
          locale2 = loadLocale(key);
          if (locale2) {
            return locale2;
          }
          key = [key];
        }
        return chooseLocale(key);
      }
      function listLocales() {
        return keys(locales);
      }
      function checkOverflow(m) {
        var overflow, a = m._a;
        if (a && getParsingFlags(m).overflow === -2) {
          overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;
          if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
            overflow = DATE;
          }
          if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
            overflow = WEEK;
          }
          if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
            overflow = WEEKDAY;
          }
          getParsingFlags(m).overflow = overflow;
        }
        return m;
      }
      var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, isoDates = [
        ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
        ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
        ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
        ["GGGG-[W]WW", /\d{4}-W\d\d/, false],
        ["YYYY-DDD", /\d{4}-\d{3}/],
        ["YYYY-MM", /\d{4}-\d\d/, false],
        ["YYYYYYMMDD", /[+-]\d{10}/],
        ["YYYYMMDD", /\d{8}/],
        ["GGGG[W]WWE", /\d{4}W\d{3}/],
        ["GGGG[W]WW", /\d{4}W\d{2}/, false],
        ["YYYYDDD", /\d{7}/],
        ["YYYYMM", /\d{6}/, false],
        ["YYYY", /\d{4}/, false]
      ], isoTimes = [
        ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
        ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
        ["HH:mm:ss", /\d\d:\d\d:\d\d/],
        ["HH:mm", /\d\d:\d\d/],
        ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
        ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
        ["HHmmss", /\d\d\d\d\d\d/],
        ["HHmm", /\d\d\d\d/],
        ["HH", /\d\d/]
      ], aspNetJsonRegex = /^\/?Date\((-?\d+)/i, rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, obsOffsets = {
        UT: 0,
        GMT: 0,
        EDT: -4 * 60,
        EST: -5 * 60,
        CDT: -5 * 60,
        CST: -6 * 60,
        MDT: -6 * 60,
        MST: -7 * 60,
        PDT: -7 * 60,
        PST: -8 * 60
      };
      function configFromISO(config) {
        var i, l, string = config._i, match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), allowTime, dateFormat, timeFormat, tzFormat, isoDatesLen = isoDates.length, isoTimesLen = isoTimes.length;
        if (match) {
          getParsingFlags(config).iso = true;
          for (i = 0, l = isoDatesLen; i < l; i++) {
            if (isoDates[i][1].exec(match[1])) {
              dateFormat = isoDates[i][0];
              allowTime = isoDates[i][2] !== false;
              break;
            }
          }
          if (dateFormat == null) {
            config._isValid = false;
            return;
          }
          if (match[3]) {
            for (i = 0, l = isoTimesLen; i < l; i++) {
              if (isoTimes[i][1].exec(match[3])) {
                timeFormat = (match[2] || " ") + isoTimes[i][0];
                break;
              }
            }
            if (timeFormat == null) {
              config._isValid = false;
              return;
            }
          }
          if (!allowTime && timeFormat != null) {
            config._isValid = false;
            return;
          }
          if (match[4]) {
            if (tzRegex.exec(match[4])) {
              tzFormat = "Z";
            } else {
              config._isValid = false;
              return;
            }
          }
          config._f = dateFormat + (timeFormat || "") + (tzFormat || "");
          configFromStringAndFormat(config);
        } else {
          config._isValid = false;
        }
      }
      function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
        var result = [
          untruncateYear(yearStr),
          defaultLocaleMonthsShort.indexOf(monthStr),
          parseInt(dayStr, 10),
          parseInt(hourStr, 10),
          parseInt(minuteStr, 10)
        ];
        if (secondStr) {
          result.push(parseInt(secondStr, 10));
        }
        return result;
      }
      function untruncateYear(yearStr) {
        var year = parseInt(yearStr, 10);
        if (year <= 49) {
          return 2e3 + year;
        } else if (year <= 999) {
          return 1900 + year;
        }
        return year;
      }
      function preprocessRFC2822(s) {
        return s.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
      }
      function checkWeekday(weekdayStr, parsedInput, config) {
        if (weekdayStr) {
          var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
          if (weekdayProvided !== weekdayActual) {
            getParsingFlags(config).weekdayMismatch = true;
            config._isValid = false;
            return false;
          }
        }
        return true;
      }
      function calculateOffset(obsOffset, militaryOffset, numOffset) {
        if (obsOffset) {
          return obsOffsets[obsOffset];
        } else if (militaryOffset) {
          return 0;
        } else {
          var hm = parseInt(numOffset, 10), m = hm % 100, h = (hm - m) / 100;
          return h * 60 + m;
        }
      }
      function configFromRFC2822(config) {
        var match = rfc2822.exec(preprocessRFC2822(config._i)), parsedArray;
        if (match) {
          parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
          if (!checkWeekday(match[1], parsedArray, config)) {
            return;
          }
          config._a = parsedArray;
          config._tzm = calculateOffset(match[8], match[9], match[10]);
          config._d = createUTCDate.apply(null, config._a);
          config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
          getParsingFlags(config).rfc2822 = true;
        } else {
          config._isValid = false;
        }
      }
      function configFromString(config) {
        var matched = aspNetJsonRegex.exec(config._i);
        if (matched !== null) {
          config._d = new Date(+matched[1]);
          return;
        }
        configFromISO(config);
        if (config._isValid === false) {
          delete config._isValid;
        } else {
          return;
        }
        configFromRFC2822(config);
        if (config._isValid === false) {
          delete config._isValid;
        } else {
          return;
        }
        if (config._strict) {
          config._isValid = false;
        } else {
          hooks.createFromInputFallback(config);
        }
      }
      hooks.createFromInputFallback = deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function(config) {
        config._d = new Date(config._i + (config._useUTC ? " UTC" : ""));
      });
      function defaults(a, b, c) {
        if (a != null) {
          return a;
        }
        if (b != null) {
          return b;
        }
        return c;
      }
      function currentDateArray(config) {
        var nowValue = new Date(hooks.now());
        if (config._useUTC) {
          return [
            nowValue.getUTCFullYear(),
            nowValue.getUTCMonth(),
            nowValue.getUTCDate()
          ];
        }
        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
      }
      function configFromArray(config) {
        var i, date, input = [], currentDate, expectedWeekday, yearToUse;
        if (config._d) {
          return;
        }
        currentDate = currentDateArray(config);
        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
          dayOfYearFromWeekInfo(config);
        }
        if (config._dayOfYear != null) {
          yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
          if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
            getParsingFlags(config)._overflowDayOfYear = true;
          }
          date = createUTCDate(yearToUse, 0, config._dayOfYear);
          config._a[MONTH] = date.getUTCMonth();
          config._a[DATE] = date.getUTCDate();
        }
        for (i = 0; i < 3 && config._a[i] == null; ++i) {
          config._a[i] = input[i] = currentDate[i];
        }
        for (; i < 7; i++) {
          config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
        }
        if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {
          config._nextDay = true;
          config._a[HOUR] = 0;
        }
        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
        if (config._tzm != null) {
          config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
        }
        if (config._nextDay) {
          config._a[HOUR] = 24;
        }
        if (config._w && typeof config._w.d !== "undefined" && config._w.d !== expectedWeekday) {
          getParsingFlags(config).weekdayMismatch = true;
        }
      }
      function dayOfYearFromWeekInfo(config) {
        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
        w = config._w;
        if (w.GG != null || w.W != null || w.E != null) {
          dow = 1;
          doy = 4;
          weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
          week = defaults(w.W, 1);
          weekday = defaults(w.E, 1);
          if (weekday < 1 || weekday > 7) {
            weekdayOverflow = true;
          }
        } else {
          dow = config._locale._week.dow;
          doy = config._locale._week.doy;
          curWeek = weekOfYear(createLocal(), dow, doy);
          weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
          week = defaults(w.w, curWeek.week);
          if (w.d != null) {
            weekday = w.d;
            if (weekday < 0 || weekday > 6) {
              weekdayOverflow = true;
            }
          } else if (w.e != null) {
            weekday = w.e + dow;
            if (w.e < 0 || w.e > 6) {
              weekdayOverflow = true;
            }
          } else {
            weekday = dow;
          }
        }
        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
          getParsingFlags(config)._overflowWeeks = true;
        } else if (weekdayOverflow != null) {
          getParsingFlags(config)._overflowWeekday = true;
        } else {
          temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
          config._a[YEAR] = temp.year;
          config._dayOfYear = temp.dayOfYear;
        }
      }
      hooks.ISO_8601 = function() {
      };
      hooks.RFC_2822 = function() {
      };
      function configFromStringAndFormat(config) {
        if (config._f === hooks.ISO_8601) {
          configFromISO(config);
          return;
        }
        if (config._f === hooks.RFC_2822) {
          configFromRFC2822(config);
          return;
        }
        config._a = [];
        getParsingFlags(config).empty = true;
        var string = "" + config._i, i, parsedInput, tokens2, token2, skipped, stringLength = string.length, totalParsedInputLength = 0, era, tokenLen;
        tokens2 = expandFormat(config._f, config._locale).match(formattingTokens) || [];
        tokenLen = tokens2.length;
        for (i = 0; i < tokenLen; i++) {
          token2 = tokens2[i];
          parsedInput = (string.match(getParseRegexForToken(token2, config)) || [])[0];
          if (parsedInput) {
            skipped = string.substr(0, string.indexOf(parsedInput));
            if (skipped.length > 0) {
              getParsingFlags(config).unusedInput.push(skipped);
            }
            string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
            totalParsedInputLength += parsedInput.length;
          }
          if (formatTokenFunctions[token2]) {
            if (parsedInput) {
              getParsingFlags(config).empty = false;
            } else {
              getParsingFlags(config).unusedTokens.push(token2);
            }
            addTimeToArrayFromToken(token2, parsedInput, config);
          } else if (config._strict && !parsedInput) {
            getParsingFlags(config).unusedTokens.push(token2);
          }
        }
        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
        if (string.length > 0) {
          getParsingFlags(config).unusedInput.push(string);
        }
        if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {
          getParsingFlags(config).bigHour = void 0;
        }
        getParsingFlags(config).parsedDateParts = config._a.slice(0);
        getParsingFlags(config).meridiem = config._meridiem;
        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
        era = getParsingFlags(config).era;
        if (era !== null) {
          config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
        }
        configFromArray(config);
        checkOverflow(config);
      }
      function meridiemFixWrap(locale2, hour, meridiem2) {
        var isPm;
        if (meridiem2 == null) {
          return hour;
        }
        if (locale2.meridiemHour != null) {
          return locale2.meridiemHour(hour, meridiem2);
        } else if (locale2.isPM != null) {
          isPm = locale2.isPM(meridiem2);
          if (isPm && hour < 12) {
            hour += 12;
          }
          if (!isPm && hour === 12) {
            hour = 0;
          }
          return hour;
        } else {
          return hour;
        }
      }
      function configFromStringAndArray(config) {
        var tempConfig, bestMoment, scoreToBeat, i, currentScore, validFormatFound, bestFormatIsValid = false, configfLen = config._f.length;
        if (configfLen === 0) {
          getParsingFlags(config).invalidFormat = true;
          config._d = new Date(NaN);
          return;
        }
        for (i = 0; i < configfLen; i++) {
          currentScore = 0;
          validFormatFound = false;
          tempConfig = copyConfig({}, config);
          if (config._useUTC != null) {
            tempConfig._useUTC = config._useUTC;
          }
          tempConfig._f = config._f[i];
          configFromStringAndFormat(tempConfig);
          if (isValid(tempConfig)) {
            validFormatFound = true;
          }
          currentScore += getParsingFlags(tempConfig).charsLeftOver;
          currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
          getParsingFlags(tempConfig).score = currentScore;
          if (!bestFormatIsValid) {
            if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {
              scoreToBeat = currentScore;
              bestMoment = tempConfig;
              if (validFormatFound) {
                bestFormatIsValid = true;
              }
            }
          } else {
            if (currentScore < scoreToBeat) {
              scoreToBeat = currentScore;
              bestMoment = tempConfig;
            }
          }
        }
        extend(config, bestMoment || tempConfig);
      }
      function configFromObject(config) {
        if (config._d) {
          return;
        }
        var i = normalizeObjectUnits(config._i), dayOrDate = i.day === void 0 ? i.date : i.day;
        config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function(obj) {
          return obj && parseInt(obj, 10);
        });
        configFromArray(config);
      }
      function createFromConfig(config) {
        var res = new Moment(checkOverflow(prepareConfig(config)));
        if (res._nextDay) {
          res.add(1, "d");
          res._nextDay = void 0;
        }
        return res;
      }
      function prepareConfig(config) {
        var input = config._i, format2 = config._f;
        config._locale = config._locale || getLocale(config._l);
        if (input === null || format2 === void 0 && input === "") {
          return createInvalid({ nullInput: true });
        }
        if (typeof input === "string") {
          config._i = input = config._locale.preparse(input);
        }
        if (isMoment(input)) {
          return new Moment(checkOverflow(input));
        } else if (isDate(input)) {
          config._d = input;
        } else if (isArray(format2)) {
          configFromStringAndArray(config);
        } else if (format2) {
          configFromStringAndFormat(config);
        } else {
          configFromInput(config);
        }
        if (!isValid(config)) {
          config._d = null;
        }
        return config;
      }
      function configFromInput(config) {
        var input = config._i;
        if (isUndefined(input)) {
          config._d = new Date(hooks.now());
        } else if (isDate(input)) {
          config._d = new Date(input.valueOf());
        } else if (typeof input === "string") {
          configFromString(config);
        } else if (isArray(input)) {
          config._a = map(input.slice(0), function(obj) {
            return parseInt(obj, 10);
          });
          configFromArray(config);
        } else if (isObject(input)) {
          configFromObject(config);
        } else if (isNumber(input)) {
          config._d = new Date(input);
        } else {
          hooks.createFromInputFallback(config);
        }
      }
      function createLocalOrUTC(input, format2, locale2, strict, isUTC) {
        var c = {};
        if (format2 === true || format2 === false) {
          strict = format2;
          format2 = void 0;
        }
        if (locale2 === true || locale2 === false) {
          strict = locale2;
          locale2 = void 0;
        }
        if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {
          input = void 0;
        }
        c._isAMomentObject = true;
        c._useUTC = c._isUTC = isUTC;
        c._l = locale2;
        c._i = input;
        c._f = format2;
        c._strict = strict;
        return createFromConfig(c);
      }
      function createLocal(input, format2, locale2, strict) {
        return createLocalOrUTC(input, format2, locale2, strict, false);
      }
      var prototypeMin = deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
        var other = createLocal.apply(null, arguments);
        if (this.isValid() && other.isValid()) {
          return other < this ? this : other;
        } else {
          return createInvalid();
        }
      }), prototypeMax = deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() {
        var other = createLocal.apply(null, arguments);
        if (this.isValid() && other.isValid()) {
          return other > this ? this : other;
        } else {
          return createInvalid();
        }
      });
      function pickBy(fn, moments) {
        var res, i;
        if (moments.length === 1 && isArray(moments[0])) {
          moments = moments[0];
        }
        if (!moments.length) {
          return createLocal();
        }
        res = moments[0];
        for (i = 1; i < moments.length; ++i) {
          if (!moments[i].isValid() || moments[i][fn](res)) {
            res = moments[i];
          }
        }
        return res;
      }
      function min() {
        var args = [].slice.call(arguments, 0);
        return pickBy("isBefore", args);
      }
      function max() {
        var args = [].slice.call(arguments, 0);
        return pickBy("isAfter", args);
      }
      var now = function() {
        return Date.now ? Date.now() : +new Date();
      };
      var ordering = [
        "year",
        "quarter",
        "month",
        "week",
        "day",
        "hour",
        "minute",
        "second",
        "millisecond"
      ];
      function isDurationValid(m) {
        var key, unitHasDecimal = false, i, orderLen = ordering.length;
        for (key in m) {
          if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
            return false;
          }
        }
        for (i = 0; i < orderLen; ++i) {
          if (m[ordering[i]]) {
            if (unitHasDecimal) {
              return false;
            }
            if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
              unitHasDecimal = true;
            }
          }
        }
        return true;
      }
      function isValid$1() {
        return this._isValid;
      }
      function createInvalid$1() {
        return createDuration(NaN);
      }
      function Duration(duration) {
        var normalizedInput = normalizeObjectUnits(duration), years2 = normalizedInput.year || 0, quarters = normalizedInput.quarter || 0, months2 = normalizedInput.month || 0, weeks2 = normalizedInput.week || normalizedInput.isoWeek || 0, days2 = normalizedInput.day || 0, hours2 = normalizedInput.hour || 0, minutes2 = normalizedInput.minute || 0, seconds2 = normalizedInput.second || 0, milliseconds2 = normalizedInput.millisecond || 0;
        this._isValid = isDurationValid(normalizedInput);
        this._milliseconds = +milliseconds2 + seconds2 * 1e3 + minutes2 * 6e4 + hours2 * 1e3 * 60 * 60;
        this._days = +days2 + weeks2 * 7;
        this._months = +months2 + quarters * 3 + years2 * 12;
        this._data = {};
        this._locale = getLocale();
        this._bubble();
      }
      function isDuration(obj) {
        return obj instanceof Duration;
      }
      function absRound(number) {
        if (number < 0) {
          return Math.round(-1 * number) * -1;
        } else {
          return Math.round(number);
        }
      }
      function compareArrays(array1, array2, dontConvert) {
        var len = Math.min(array1.length, array2.length), lengthDiff = Math.abs(array1.length - array2.length), diffs = 0, i;
        for (i = 0; i < len; i++) {
          if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {
            diffs++;
          }
        }
        return diffs + lengthDiff;
      }
      function offset(token2, separator) {
        addFormatToken(token2, 0, 0, function() {
          var offset2 = this.utcOffset(), sign2 = "+";
          if (offset2 < 0) {
            offset2 = -offset2;
            sign2 = "-";
          }
          return sign2 + zeroFill(~~(offset2 / 60), 2) + separator + zeroFill(~~offset2 % 60, 2);
        });
      }
      offset("Z", ":");
      offset("ZZ", "");
      addRegexToken("Z", matchShortOffset);
      addRegexToken("ZZ", matchShortOffset);
      addParseToken(["Z", "ZZ"], function(input, array, config) {
        config._useUTC = true;
        config._tzm = offsetFromString(matchShortOffset, input);
      });
      var chunkOffset = /([\+\-]|\d\d)/gi;
      function offsetFromString(matcher, string) {
        var matches = (string || "").match(matcher), chunk, parts, minutes2;
        if (matches === null) {
          return null;
        }
        chunk = matches[matches.length - 1] || [];
        parts = (chunk + "").match(chunkOffset) || ["-", 0, 0];
        minutes2 = +(parts[1] * 60) + toInt(parts[2]);
        return minutes2 === 0 ? 0 : parts[0] === "+" ? minutes2 : -minutes2;
      }
      function cloneWithOffset(input, model) {
        var res, diff2;
        if (model._isUTC) {
          res = model.clone();
          diff2 = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
          res._d.setTime(res._d.valueOf() + diff2);
          hooks.updateOffset(res, false);
          return res;
        } else {
          return createLocal(input).local();
        }
      }
      function getDateOffset(m) {
        return -Math.round(m._d.getTimezoneOffset());
      }
      hooks.updateOffset = function() {
      };
      function getSetOffset(input, keepLocalTime, keepMinutes) {
        var offset2 = this._offset || 0, localAdjust;
        if (!this.isValid()) {
          return input != null ? this : NaN;
        }
        if (input != null) {
          if (typeof input === "string") {
            input = offsetFromString(matchShortOffset, input);
            if (input === null) {
              return this;
            }
          } else if (Math.abs(input) < 16 && !keepMinutes) {
            input = input * 60;
          }
          if (!this._isUTC && keepLocalTime) {
            localAdjust = getDateOffset(this);
          }
          this._offset = input;
          this._isUTC = true;
          if (localAdjust != null) {
            this.add(localAdjust, "m");
          }
          if (offset2 !== input) {
            if (!keepLocalTime || this._changeInProgress) {
              addSubtract(this, createDuration(input - offset2, "m"), 1, false);
            } else if (!this._changeInProgress) {
              this._changeInProgress = true;
              hooks.updateOffset(this, true);
              this._changeInProgress = null;
            }
          }
          return this;
        } else {
          return this._isUTC ? offset2 : getDateOffset(this);
        }
      }
      function getSetZone(input, keepLocalTime) {
        if (input != null) {
          if (typeof input !== "string") {
            input = -input;
          }
          this.utcOffset(input, keepLocalTime);
          return this;
        } else {
          return -this.utcOffset();
        }
      }
      function setOffsetToUTC(keepLocalTime) {
        return this.utcOffset(0, keepLocalTime);
      }
      function setOffsetToLocal(keepLocalTime) {
        if (this._isUTC) {
          this.utcOffset(0, keepLocalTime);
          this._isUTC = false;
          if (keepLocalTime) {
            this.subtract(getDateOffset(this), "m");
          }
        }
        return this;
      }
      function setOffsetToParsedOffset() {
        if (this._tzm != null) {
          this.utcOffset(this._tzm, false, true);
        } else if (typeof this._i === "string") {
          var tZone = offsetFromString(matchOffset, this._i);
          if (tZone != null) {
            this.utcOffset(tZone);
          } else {
            this.utcOffset(0, true);
          }
        }
        return this;
      }
      function hasAlignedHourOffset(input) {
        if (!this.isValid()) {
          return false;
        }
        input = input ? createLocal(input).utcOffset() : 0;
        return (this.utcOffset() - input) % 60 === 0;
      }
      function isDaylightSavingTime() {
        return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
      }
      function isDaylightSavingTimeShifted() {
        if (!isUndefined(this._isDSTShifted)) {
          return this._isDSTShifted;
        }
        var c = {}, other;
        copyConfig(c, this);
        c = prepareConfig(c);
        if (c._a) {
          other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
          this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;
        } else {
          this._isDSTShifted = false;
        }
        return this._isDSTShifted;
      }
      function isLocal() {
        return this.isValid() ? !this._isUTC : false;
      }
      function isUtcOffset() {
        return this.isValid() ? this._isUTC : false;
      }
      function isUtc() {
        return this.isValid() ? this._isUTC && this._offset === 0 : false;
      }
      var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
      function createDuration(input, key) {
        var duration = input, match = null, sign2, ret, diffRes;
        if (isDuration(input)) {
          duration = {
            ms: input._milliseconds,
            d: input._days,
            M: input._months
          };
        } else if (isNumber(input) || !isNaN(+input)) {
          duration = {};
          if (key) {
            duration[key] = +input;
          } else {
            duration.milliseconds = +input;
          }
        } else if (match = aspNetRegex.exec(input)) {
          sign2 = match[1] === "-" ? -1 : 1;
          duration = {
            y: 0,
            d: toInt(match[DATE]) * sign2,
            h: toInt(match[HOUR]) * sign2,
            m: toInt(match[MINUTE]) * sign2,
            s: toInt(match[SECOND]) * sign2,
            ms: toInt(absRound(match[MILLISECOND] * 1e3)) * sign2
          };
        } else if (match = isoRegex.exec(input)) {
          sign2 = match[1] === "-" ? -1 : 1;
          duration = {
            y: parseIso(match[2], sign2),
            M: parseIso(match[3], sign2),
            w: parseIso(match[4], sign2),
            d: parseIso(match[5], sign2),
            h: parseIso(match[6], sign2),
            m: parseIso(match[7], sign2),
            s: parseIso(match[8], sign2)
          };
        } else if (duration == null) {
          duration = {};
        } else if (typeof duration === "object" && ("from" in duration || "to" in duration)) {
          diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
          duration = {};
          duration.ms = diffRes.milliseconds;
          duration.M = diffRes.months;
        }
        ret = new Duration(duration);
        if (isDuration(input) && hasOwnProp(input, "_locale")) {
          ret._locale = input._locale;
        }
        if (isDuration(input) && hasOwnProp(input, "_isValid")) {
          ret._isValid = input._isValid;
        }
        return ret;
      }
      createDuration.fn = Duration.prototype;
      createDuration.invalid = createInvalid$1;
      function parseIso(inp, sign2) {
        var res = inp && parseFloat(inp.replace(",", "."));
        return (isNaN(res) ? 0 : res) * sign2;
      }
      function positiveMomentsDifference(base, other) {
        var res = {};
        res.months = other.month() - base.month() + (other.year() - base.year()) * 12;
        if (base.clone().add(res.months, "M").isAfter(other)) {
          --res.months;
        }
        res.milliseconds = +other - +base.clone().add(res.months, "M");
        return res;
      }
      function momentsDifference(base, other) {
        var res;
        if (!(base.isValid() && other.isValid())) {
          return { milliseconds: 0, months: 0 };
        }
        other = cloneWithOffset(other, base);
        if (base.isBefore(other)) {
          res = positiveMomentsDifference(base, other);
        } else {
          res = positiveMomentsDifference(other, base);
          res.milliseconds = -res.milliseconds;
          res.months = -res.months;
        }
        return res;
      }
      function createAdder(direction, name) {
        return function(val, period) {
          var dur, tmp;
          if (period !== null && !isNaN(+period)) {
            deprecateSimple(name, "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");
            tmp = val;
            val = period;
            period = tmp;
          }
          dur = createDuration(val, period);
          addSubtract(this, dur, direction);
          return this;
        };
      }
      function addSubtract(mom, duration, isAdding, updateOffset) {
        var milliseconds2 = duration._milliseconds, days2 = absRound(duration._days), months2 = absRound(duration._months);
        if (!mom.isValid()) {
          return;
        }
        updateOffset = updateOffset == null ? true : updateOffset;
        if (months2) {
          setMonth(mom, get(mom, "Month") + months2 * isAdding);
        }
        if (days2) {
          set$1(mom, "Date", get(mom, "Date") + days2 * isAdding);
        }
        if (milliseconds2) {
          mom._d.setTime(mom._d.valueOf() + milliseconds2 * isAdding);
        }
        if (updateOffset) {
          hooks.updateOffset(mom, days2 || months2);
        }
      }
      var add = createAdder(1, "add"), subtract = createAdder(-1, "subtract");
      function isString(input) {
        return typeof input === "string" || input instanceof String;
      }
      function isMomentInput(input) {
        return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === void 0;
      }
      function isMomentInputObject(input) {
        var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [
          "years",
          "year",
          "y",
          "months",
          "month",
          "M",
          "days",
          "day",
          "d",
          "dates",
          "date",
          "D",
          "hours",
          "hour",
          "h",
          "minutes",
          "minute",
          "m",
          "seconds",
          "second",
          "s",
          "milliseconds",
          "millisecond",
          "ms"
        ], i, property, propertyLen = properties.length;
        for (i = 0; i < propertyLen; i += 1) {
          property = properties[i];
          propertyTest = propertyTest || hasOwnProp(input, property);
        }
        return objectTest && propertyTest;
      }
      function isNumberOrStringArray(input) {
        var arrayTest = isArray(input), dataTypeTest = false;
        if (arrayTest) {
          dataTypeTest = input.filter(function(item) {
            return !isNumber(item) && isString(input);
          }).length === 0;
        }
        return arrayTest && dataTypeTest;
      }
      function isCalendarSpec(input) {
        var objectTest = isObject(input) && !isObjectEmpty(input), propertyTest = false, properties = [
          "sameDay",
          "nextDay",
          "lastDay",
          "nextWeek",
          "lastWeek",
          "sameElse"
        ], i, property;
        for (i = 0; i < properties.length; i += 1) {
          property = properties[i];
          propertyTest = propertyTest || hasOwnProp(input, property);
        }
        return objectTest && propertyTest;
      }
      function getCalendarFormat(myMoment, now2) {
        var diff2 = myMoment.diff(now2, "days", true);
        return diff2 < -6 ? "sameElse" : diff2 < -1 ? "lastWeek" : diff2 < 0 ? "lastDay" : diff2 < 1 ? "sameDay" : diff2 < 2 ? "nextDay" : diff2 < 7 ? "nextWeek" : "sameElse";
      }
      function calendar$1(time, formats) {
        if (arguments.length === 1) {
          if (!arguments[0]) {
            time = void 0;
            formats = void 0;
          } else if (isMomentInput(arguments[0])) {
            time = arguments[0];
            formats = void 0;
          } else if (isCalendarSpec(arguments[0])) {
            formats = arguments[0];
            time = void 0;
          }
        }
        var now2 = time || createLocal(), sod = cloneWithOffset(now2, this).startOf("day"), format2 = hooks.calendarFormat(this, sod) || "sameElse", output = formats && (isFunction(formats[format2]) ? formats[format2].call(this, now2) : formats[format2]);
        return this.format(output || this.localeData().calendar(format2, this, createLocal(now2)));
      }
      function clone() {
        return new Moment(this);
      }
      function isAfter(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input);
        if (!(this.isValid() && localInput.isValid())) {
          return false;
        }
        units = normalizeUnits(units) || "millisecond";
        if (units === "millisecond") {
          return this.valueOf() > localInput.valueOf();
        } else {
          return localInput.valueOf() < this.clone().startOf(units).valueOf();
        }
      }
      function isBefore(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input);
        if (!(this.isValid() && localInput.isValid())) {
          return false;
        }
        units = normalizeUnits(units) || "millisecond";
        if (units === "millisecond") {
          return this.valueOf() < localInput.valueOf();
        } else {
          return this.clone().endOf(units).valueOf() < localInput.valueOf();
        }
      }
      function isBetween(from2, to2, units, inclusivity) {
        var localFrom = isMoment(from2) ? from2 : createLocal(from2), localTo = isMoment(to2) ? to2 : createLocal(to2);
        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
          return false;
        }
        inclusivity = inclusivity || "()";
        return (inclusivity[0] === "(" ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ")" ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
      }
      function isSame(input, units) {
        var localInput = isMoment(input) ? input : createLocal(input), inputMs;
        if (!(this.isValid() && localInput.isValid())) {
          return false;
        }
        units = normalizeUnits(units) || "millisecond";
        if (units === "millisecond") {
          return this.valueOf() === localInput.valueOf();
        } else {
          inputMs = localInput.valueOf();
          return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
        }
      }
      function isSameOrAfter(input, units) {
        return this.isSame(input, units) || this.isAfter(input, units);
      }
      function isSameOrBefore(input, units) {
        return this.isSame(input, units) || this.isBefore(input, units);
      }
      function diff(input, units, asFloat) {
        var that, zoneDelta, output;
        if (!this.isValid()) {
          return NaN;
        }
        that = cloneWithOffset(input, this);
        if (!that.isValid()) {
          return NaN;
        }
        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
        units = normalizeUnits(units);
        switch (units) {
          case "year":
            output = monthDiff(this, that) / 12;
            break;
          case "month":
            output = monthDiff(this, that);
            break;
          case "quarter":
            output = monthDiff(this, that) / 3;
            break;
          case "second":
            output = (this - that) / 1e3;
            break;
          case "minute":
            output = (this - that) / 6e4;
            break;
          case "hour":
            output = (this - that) / 36e5;
            break;
          case "day":
            output = (this - that - zoneDelta) / 864e5;
            break;
          case "week":
            output = (this - that - zoneDelta) / 6048e5;
            break;
          default:
            output = this - that;
        }
        return asFloat ? output : absFloor(output);
      }
      function monthDiff(a, b) {
        if (a.date() < b.date()) {
          return -monthDiff(b, a);
        }
        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), anchor = a.clone().add(wholeMonthDiff, "months"), anchor2, adjust;
        if (b - anchor < 0) {
          anchor2 = a.clone().add(wholeMonthDiff - 1, "months");
          adjust = (b - anchor) / (anchor - anchor2);
        } else {
          anchor2 = a.clone().add(wholeMonthDiff + 1, "months");
          adjust = (b - anchor) / (anchor2 - anchor);
        }
        return -(wholeMonthDiff + adjust) || 0;
      }
      hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
      hooks.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
      function toString() {
        return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
      }
      function toISOString(keepOffset) {
        if (!this.isValid()) {
          return null;
        }
        var utc = keepOffset !== true, m = utc ? this.clone().utc() : this;
        if (m.year() < 0 || m.year() > 9999) {
          return formatMoment(m, utc ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");
        }
        if (isFunction(Date.prototype.toISOString)) {
          if (utc) {
            return this.toDate().toISOString();
          } else {
            return new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", formatMoment(m, "Z"));
          }
        }
        return formatMoment(m, utc ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ");
      }
      function inspect() {
        if (!this.isValid()) {
          return "moment.invalid(/* " + this._i + " */)";
        }
        var func = "moment", zone = "", prefix, year, datetime, suffix;
        if (!this.isLocal()) {
          func = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone";
          zone = "Z";
        }
        prefix = "[" + func + '("]';
        year = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY";
        datetime = "-MM-DD[T]HH:mm:ss.SSS";
        suffix = zone + '[")]';
        return this.format(prefix + year + datetime + suffix);
      }
      function format(inputString) {
        if (!inputString) {
          inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
        }
        var output = formatMoment(this, inputString);
        return this.localeData().postformat(output);
      }
      function from(time, withoutSuffix) {
        if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
          return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);
        } else {
          return this.localeData().invalidDate();
        }
      }
      function fromNow(withoutSuffix) {
        return this.from(createLocal(), withoutSuffix);
      }
      function to(time, withoutSuffix) {
        if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
          return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);
        } else {
          return this.localeData().invalidDate();
        }
      }
      function toNow(withoutSuffix) {
        return this.to(createLocal(), withoutSuffix);
      }
      function locale(key) {
        var newLocaleData;
        if (key === void 0) {
          return this._locale._abbr;
        } else {
          newLocaleData = getLocale(key);
          if (newLocaleData != null) {
            this._locale = newLocaleData;
          }
          return this;
        }
      }
      var lang = deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(key) {
        if (key === void 0) {
          return this.localeData();
        } else {
          return this.locale(key);
        }
      });
      function localeData() {
        return this._locale;
      }
      var MS_PER_SECOND = 1e3, MS_PER_MINUTE = 60 * MS_PER_SECOND, MS_PER_HOUR = 60 * MS_PER_MINUTE, MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
      function mod$1(dividend, divisor) {
        return (dividend % divisor + divisor) % divisor;
      }
      function localStartOfDate(y, m, d) {
        if (y < 100 && y >= 0) {
          return new Date(y + 400, m, d) - MS_PER_400_YEARS;
        } else {
          return new Date(y, m, d).valueOf();
        }
      }
      function utcStartOfDate(y, m, d) {
        if (y < 100 && y >= 0) {
          return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
        } else {
          return Date.UTC(y, m, d);
        }
      }
      function startOf(units) {
        var time, startOfDate;
        units = normalizeUnits(units);
        if (units === void 0 || units === "millisecond" || !this.isValid()) {
          return this;
        }
        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
        switch (units) {
          case "year":
            time = startOfDate(this.year(), 0, 1);
            break;
          case "quarter":
            time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
            break;
          case "month":
            time = startOfDate(this.year(), this.month(), 1);
            break;
          case "week":
            time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
            break;
          case "isoWeek":
            time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
            break;
          case "day":
          case "date":
            time = startOfDate(this.year(), this.month(), this.date());
            break;
          case "hour":
            time = this._d.valueOf();
            time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
            break;
          case "minute":
            time = this._d.valueOf();
            time -= mod$1(time, MS_PER_MINUTE);
            break;
          case "second":
            time = this._d.valueOf();
            time -= mod$1(time, MS_PER_SECOND);
            break;
        }
        this._d.setTime(time);
        hooks.updateOffset(this, true);
        return this;
      }
      function endOf(units) {
        var time, startOfDate;
        units = normalizeUnits(units);
        if (units === void 0 || units === "millisecond" || !this.isValid()) {
          return this;
        }
        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
        switch (units) {
          case "year":
            time = startOfDate(this.year() + 1, 0, 1) - 1;
            break;
          case "quarter":
            time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
            break;
          case "month":
            time = startOfDate(this.year(), this.month() + 1, 1) - 1;
            break;
          case "week":
            time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
            break;
          case "isoWeek":
            time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
            break;
          case "day":
          case "date":
            time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
            break;
          case "hour":
            time = this._d.valueOf();
            time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
            break;
          case "minute":
            time = this._d.valueOf();
            time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
            break;
          case "second":
            time = this._d.valueOf();
            time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
            break;
        }
        this._d.setTime(time);
        hooks.updateOffset(this, true);
        return this;
      }
      function valueOf() {
        return this._d.valueOf() - (this._offset || 0) * 6e4;
      }
      function unix() {
        return Math.floor(this.valueOf() / 1e3);
      }
      function toDate() {
        return new Date(this.valueOf());
      }
      function toArray() {
        var m = this;
        return [
          m.year(),
          m.month(),
          m.date(),
          m.hour(),
          m.minute(),
          m.second(),
          m.millisecond()
        ];
      }
      function toObject() {
        var m = this;
        return {
          years: m.year(),
          months: m.month(),
          date: m.date(),
          hours: m.hours(),
          minutes: m.minutes(),
          seconds: m.seconds(),
          milliseconds: m.milliseconds()
        };
      }
      function toJSON() {
        return this.isValid() ? this.toISOString() : null;
      }
      function isValid$2() {
        return isValid(this);
      }
      function parsingFlags() {
        return extend({}, getParsingFlags(this));
      }
      function invalidAt() {
        return getParsingFlags(this).overflow;
      }
      function creationData() {
        return {
          input: this._i,
          format: this._f,
          locale: this._locale,
          isUTC: this._isUTC,
          strict: this._strict
        };
      }
      addFormatToken("N", 0, 0, "eraAbbr");
      addFormatToken("NN", 0, 0, "eraAbbr");
      addFormatToken("NNN", 0, 0, "eraAbbr");
      addFormatToken("NNNN", 0, 0, "eraName");
      addFormatToken("NNNNN", 0, 0, "eraNarrow");
      addFormatToken("y", ["y", 1], "yo", "eraYear");
      addFormatToken("y", ["yy", 2], 0, "eraYear");
      addFormatToken("y", ["yyy", 3], 0, "eraYear");
      addFormatToken("y", ["yyyy", 4], 0, "eraYear");
      addRegexToken("N", matchEraAbbr);
      addRegexToken("NN", matchEraAbbr);
      addRegexToken("NNN", matchEraAbbr);
      addRegexToken("NNNN", matchEraName);
      addRegexToken("NNNNN", matchEraNarrow);
      addParseToken(["N", "NN", "NNN", "NNNN", "NNNNN"], function(input, array, config, token2) {
        var era = config._locale.erasParse(input, token2, config._strict);
        if (era) {
          getParsingFlags(config).era = era;
        } else {
          getParsingFlags(config).invalidEra = input;
        }
      });
      addRegexToken("y", matchUnsigned);
      addRegexToken("yy", matchUnsigned);
      addRegexToken("yyy", matchUnsigned);
      addRegexToken("yyyy", matchUnsigned);
      addRegexToken("yo", matchEraYearOrdinal);
      addParseToken(["y", "yy", "yyy", "yyyy"], YEAR);
      addParseToken(["yo"], function(input, array, config, token2) {
        var match;
        if (config._locale._eraYearOrdinalRegex) {
          match = input.match(config._locale._eraYearOrdinalRegex);
        }
        if (config._locale.eraYearOrdinalParse) {
          array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
        } else {
          array[YEAR] = parseInt(input, 10);
        }
      });
      function localeEras(m, format2) {
        var i, l, date, eras = this._eras || getLocale("en")._eras;
        for (i = 0, l = eras.length; i < l; ++i) {
          switch (typeof eras[i].since) {
            case "string":
              date = hooks(eras[i].since).startOf("day");
              eras[i].since = date.valueOf();
              break;
          }
          switch (typeof eras[i].until) {
            case "undefined":
              eras[i].until = Infinity;
              break;
            case "string":
              date = hooks(eras[i].until).startOf("day").valueOf();
              eras[i].until = date.valueOf();
              break;
          }
        }
        return eras;
      }
      function localeErasParse(eraName, format2, strict) {
        var i, l, eras = this.eras(), name, abbr, narrow;
        eraName = eraName.toUpperCase();
        for (i = 0, l = eras.length; i < l; ++i) {
          name = eras[i].name.toUpperCase();
          abbr = eras[i].abbr.toUpperCase();
          narrow = eras[i].narrow.toUpperCase();
          if (strict) {
            switch (format2) {
              case "N":
              case "NN":
              case "NNN":
                if (abbr === eraName) {
                  return eras[i];
                }
                break;
              case "NNNN":
                if (name === eraName) {
                  return eras[i];
                }
                break;
              case "NNNNN":
                if (narrow === eraName) {
                  return eras[i];
                }
                break;
            }
          } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
            return eras[i];
          }
        }
      }
      function localeErasConvertYear(era, year) {
        var dir = era.since <= era.until ? 1 : -1;
        if (year === void 0) {
          return hooks(era.since).year();
        } else {
          return hooks(era.since).year() + (year - era.offset) * dir;
        }
      }
      function getEraName() {
        var i, l, val, eras = this.localeData().eras();
        for (i = 0, l = eras.length; i < l; ++i) {
          val = this.clone().startOf("day").valueOf();
          if (eras[i].since <= val && val <= eras[i].until) {
            return eras[i].name;
          }
          if (eras[i].until <= val && val <= eras[i].since) {
            return eras[i].name;
          }
        }
        return "";
      }
      function getEraNarrow() {
        var i, l, val, eras = this.localeData().eras();
        for (i = 0, l = eras.length; i < l; ++i) {
          val = this.clone().startOf("day").valueOf();
          if (eras[i].since <= val && val <= eras[i].until) {
            return eras[i].narrow;
          }
          if (eras[i].until <= val && val <= eras[i].since) {
            return eras[i].narrow;
          }
        }
        return "";
      }
      function getEraAbbr() {
        var i, l, val, eras = this.localeData().eras();
        for (i = 0, l = eras.length; i < l; ++i) {
          val = this.clone().startOf("day").valueOf();
          if (eras[i].since <= val && val <= eras[i].until) {
            return eras[i].abbr;
          }
          if (eras[i].until <= val && val <= eras[i].since) {
            return eras[i].abbr;
          }
        }
        return "";
      }
      function getEraYear() {
        var i, l, dir, val, eras = this.localeData().eras();
        for (i = 0, l = eras.length; i < l; ++i) {
          dir = eras[i].since <= eras[i].until ? 1 : -1;
          val = this.clone().startOf("day").valueOf();
          if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {
            return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;
          }
        }
        return this.year();
      }
      function erasNameRegex(isStrict) {
        if (!hasOwnProp(this, "_erasNameRegex")) {
          computeErasParse.call(this);
        }
        return isStrict ? this._erasNameRegex : this._erasRegex;
      }
      function erasAbbrRegex(isStrict) {
        if (!hasOwnProp(this, "_erasAbbrRegex")) {
          computeErasParse.call(this);
        }
        return isStrict ? this._erasAbbrRegex : this._erasRegex;
      }
      function erasNarrowRegex(isStrict) {
        if (!hasOwnProp(this, "_erasNarrowRegex")) {
          computeErasParse.call(this);
        }
        return isStrict ? this._erasNarrowRegex : this._erasRegex;
      }
      function matchEraAbbr(isStrict, locale2) {
        return locale2.erasAbbrRegex(isStrict);
      }
      function matchEraName(isStrict, locale2) {
        return locale2.erasNameRegex(isStrict);
      }
      function matchEraNarrow(isStrict, locale2) {
        return locale2.erasNarrowRegex(isStrict);
      }
      function matchEraYearOrdinal(isStrict, locale2) {
        return locale2._eraYearOrdinalRegex || matchUnsigned;
      }
      function computeErasParse() {
        var abbrPieces = [], namePieces = [], narrowPieces = [], mixedPieces = [], i, l, eras = this.eras();
        for (i = 0, l = eras.length; i < l; ++i) {
          namePieces.push(regexEscape(eras[i].name));
          abbrPieces.push(regexEscape(eras[i].abbr));
          narrowPieces.push(regexEscape(eras[i].narrow));
          mixedPieces.push(regexEscape(eras[i].name));
          mixedPieces.push(regexEscape(eras[i].abbr));
          mixedPieces.push(regexEscape(eras[i].narrow));
        }
        this._erasRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i");
        this._erasNameRegex = new RegExp("^(" + namePieces.join("|") + ")", "i");
        this._erasAbbrRegex = new RegExp("^(" + abbrPieces.join("|") + ")", "i");
        this._erasNarrowRegex = new RegExp("^(" + narrowPieces.join("|") + ")", "i");
      }
      addFormatToken(0, ["gg", 2], 0, function() {
        return this.weekYear() % 100;
      });
      addFormatToken(0, ["GG", 2], 0, function() {
        return this.isoWeekYear() % 100;
      });
      function addWeekYearFormatToken(token2, getter) {
        addFormatToken(0, [token2, token2.length], 0, getter);
      }
      addWeekYearFormatToken("gggg", "weekYear");
      addWeekYearFormatToken("ggggg", "weekYear");
      addWeekYearFormatToken("GGGG", "isoWeekYear");
      addWeekYearFormatToken("GGGGG", "isoWeekYear");
      addUnitAlias("weekYear", "gg");
      addUnitAlias("isoWeekYear", "GG");
      addUnitPriority("weekYear", 1);
      addUnitPriority("isoWeekYear", 1);
      addRegexToken("G", matchSigned);
      addRegexToken("g", matchSigned);
      addRegexToken("GG", match1to2, match2);
      addRegexToken("gg", match1to2, match2);
      addRegexToken("GGGG", match1to4, match4);
      addRegexToken("gggg", match1to4, match4);
      addRegexToken("GGGGG", match1to6, match6);
      addRegexToken("ggggg", match1to6, match6);
      addWeekParseToken(["gggg", "ggggg", "GGGG", "GGGGG"], function(input, week, config, token2) {
        week[token2.substr(0, 2)] = toInt(input);
      });
      addWeekParseToken(["gg", "GG"], function(input, week, config, token2) {
        week[token2] = hooks.parseTwoDigitYear(input);
      });
      function getSetWeekYear(input) {
        return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
      }
      function getSetISOWeekYear(input) {
        return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);
      }
      function getISOWeeksInYear() {
        return weeksInYear(this.year(), 1, 4);
      }
      function getISOWeeksInISOWeekYear() {
        return weeksInYear(this.isoWeekYear(), 1, 4);
      }
      function getWeeksInYear() {
        var weekInfo = this.localeData()._week;
        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
      }
      function getWeeksInWeekYear() {
        var weekInfo = this.localeData()._week;
        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
      }
      function getSetWeekYearHelper(input, week, weekday, dow, doy) {
        var weeksTarget;
        if (input == null) {
          return weekOfYear(this, dow, doy).year;
        } else {
          weeksTarget = weeksInYear(input, dow, doy);
          if (week > weeksTarget) {
            week = weeksTarget;
          }
          return setWeekAll.call(this, input, week, weekday, dow, doy);
        }
      }
      function setWeekAll(weekYear, week, weekday, dow, doy) {
        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
        this.year(date.getUTCFullYear());
        this.month(date.getUTCMonth());
        this.date(date.getUTCDate());
        return this;
      }
      addFormatToken("Q", 0, "Qo", "quarter");
      addUnitAlias("quarter", "Q");
      addUnitPriority("quarter", 7);
      addRegexToken("Q", match1);
      addParseToken("Q", function(input, array) {
        array[MONTH] = (toInt(input) - 1) * 3;
      });
      function getSetQuarter(input) {
        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
      }
      addFormatToken("D", ["DD", 2], "Do", "date");
      addUnitAlias("date", "D");
      addUnitPriority("date", 9);
      addRegexToken("D", match1to2);
      addRegexToken("DD", match1to2, match2);
      addRegexToken("Do", function(isStrict, locale2) {
        return isStrict ? locale2._dayOfMonthOrdinalParse || locale2._ordinalParse : locale2._dayOfMonthOrdinalParseLenient;
      });
      addParseToken(["D", "DD"], DATE);
      addParseToken("Do", function(input, array) {
        array[DATE] = toInt(input.match(match1to2)[0]);
      });
      var getSetDayOfMonth = makeGetSet("Date", true);
      addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
      addUnitAlias("dayOfYear", "DDD");
      addUnitPriority("dayOfYear", 4);
      addRegexToken("DDD", match1to3);
      addRegexToken("DDDD", match3);
      addParseToken(["DDD", "DDDD"], function(input, array, config) {
        config._dayOfYear = toInt(input);
      });
      function getSetDayOfYear(input) {
        var dayOfYear = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
        return input == null ? dayOfYear : this.add(input - dayOfYear, "d");
      }
      addFormatToken("m", ["mm", 2], 0, "minute");
      addUnitAlias("minute", "m");
      addUnitPriority("minute", 14);
      addRegexToken("m", match1to2);
      addRegexToken("mm", match1to2, match2);
      addParseToken(["m", "mm"], MINUTE);
      var getSetMinute = makeGetSet("Minutes", false);
      addFormatToken("s", ["ss", 2], 0, "second");
      addUnitAlias("second", "s");
      addUnitPriority("second", 15);
      addRegexToken("s", match1to2);
      addRegexToken("ss", match1to2, match2);
      addParseToken(["s", "ss"], SECOND);
      var getSetSecond = makeGetSet("Seconds", false);
      addFormatToken("S", 0, 0, function() {
        return ~~(this.millisecond() / 100);
      });
      addFormatToken(0, ["SS", 2], 0, function() {
        return ~~(this.millisecond() / 10);
      });
      addFormatToken(0, ["SSS", 3], 0, "millisecond");
      addFormatToken(0, ["SSSS", 4], 0, function() {
        return this.millisecond() * 10;
      });
      addFormatToken(0, ["SSSSS", 5], 0, function() {
        return this.millisecond() * 100;
      });
      addFormatToken(0, ["SSSSSS", 6], 0, function() {
        return this.millisecond() * 1e3;
      });
      addFormatToken(0, ["SSSSSSS", 7], 0, function() {
        return this.millisecond() * 1e4;
      });
      addFormatToken(0, ["SSSSSSSS", 8], 0, function() {
        return this.millisecond() * 1e5;
      });
      addFormatToken(0, ["SSSSSSSSS", 9], 0, function() {
        return this.millisecond() * 1e6;
      });
      addUnitAlias("millisecond", "ms");
      addUnitPriority("millisecond", 16);
      addRegexToken("S", match1to3, match1);
      addRegexToken("SS", match1to3, match2);
      addRegexToken("SSS", match1to3, match3);
      var token, getSetMillisecond;
      for (token = "SSSS"; token.length <= 9; token += "S") {
        addRegexToken(token, matchUnsigned);
      }
      function parseMs(input, array) {
        array[MILLISECOND] = toInt(("0." + input) * 1e3);
      }
      for (token = "S"; token.length <= 9; token += "S") {
        addParseToken(token, parseMs);
      }
      getSetMillisecond = makeGetSet("Milliseconds", false);
      addFormatToken("z", 0, 0, "zoneAbbr");
      addFormatToken("zz", 0, 0, "zoneName");
      function getZoneAbbr() {
        return this._isUTC ? "UTC" : "";
      }
      function getZoneName() {
        return this._isUTC ? "Coordinated Universal Time" : "";
      }
      var proto = Moment.prototype;
      proto.add = add;
      proto.calendar = calendar$1;
      proto.clone = clone;
      proto.diff = diff;
      proto.endOf = endOf;
      proto.format = format;
      proto.from = from;
      proto.fromNow = fromNow;
      proto.to = to;
      proto.toNow = toNow;
      proto.get = stringGet;
      proto.invalidAt = invalidAt;
      proto.isAfter = isAfter;
      proto.isBefore = isBefore;
      proto.isBetween = isBetween;
      proto.isSame = isSame;
      proto.isSameOrAfter = isSameOrAfter;
      proto.isSameOrBefore = isSameOrBefore;
      proto.isValid = isValid$2;
      proto.lang = lang;
      proto.locale = locale;
      proto.localeData = localeData;
      proto.max = prototypeMax;
      proto.min = prototypeMin;
      proto.parsingFlags = parsingFlags;
      proto.set = stringSet;
      proto.startOf = startOf;
      proto.subtract = subtract;
      proto.toArray = toArray;
      proto.toObject = toObject;
      proto.toDate = toDate;
      proto.toISOString = toISOString;
      proto.inspect = inspect;
      if (typeof Symbol !== "undefined" && Symbol.for != null) {
        proto[Symbol.for("nodejs.util.inspect.custom")] = function() {
          return "Moment<" + this.format() + ">";
        };
      }
      proto.toJSON = toJSON;
      proto.toString = toString;
      proto.unix = unix;
      proto.valueOf = valueOf;
      proto.creationData = creationData;
      proto.eraName = getEraName;
      proto.eraNarrow = getEraNarrow;
      proto.eraAbbr = getEraAbbr;
      proto.eraYear = getEraYear;
      proto.year = getSetYear;
      proto.isLeapYear = getIsLeapYear;
      proto.weekYear = getSetWeekYear;
      proto.isoWeekYear = getSetISOWeekYear;
      proto.quarter = proto.quarters = getSetQuarter;
      proto.month = getSetMonth;
      proto.daysInMonth = getDaysInMonth;
      proto.week = proto.weeks = getSetWeek;
      proto.isoWeek = proto.isoWeeks = getSetISOWeek;
      proto.weeksInYear = getWeeksInYear;
      proto.weeksInWeekYear = getWeeksInWeekYear;
      proto.isoWeeksInYear = getISOWeeksInYear;
      proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
      proto.date = getSetDayOfMonth;
      proto.day = proto.days = getSetDayOfWeek;
      proto.weekday = getSetLocaleDayOfWeek;
      proto.isoWeekday = getSetISODayOfWeek;
      proto.dayOfYear = getSetDayOfYear;
      proto.hour = proto.hours = getSetHour;
      proto.minute = proto.minutes = getSetMinute;
      proto.second = proto.seconds = getSetSecond;
      proto.millisecond = proto.milliseconds = getSetMillisecond;
      proto.utcOffset = getSetOffset;
      proto.utc = setOffsetToUTC;
      proto.local = setOffsetToLocal;
      proto.parseZone = setOffsetToParsedOffset;
      proto.hasAlignedHourOffset = hasAlignedHourOffset;
      proto.isDST = isDaylightSavingTime;
      proto.isLocal = isLocal;
      proto.isUtcOffset = isUtcOffset;
      proto.isUtc = isUtc;
      proto.isUTC = isUtc;
      proto.zoneAbbr = getZoneAbbr;
      proto.zoneName = getZoneName;
      proto.dates = deprecate("dates accessor is deprecated. Use date instead.", getSetDayOfMonth);
      proto.months = deprecate("months accessor is deprecated. Use month instead", getSetMonth);
      proto.years = deprecate("years accessor is deprecated. Use year instead", getSetYear);
      proto.zone = deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", getSetZone);
      proto.isDSTShifted = deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", isDaylightSavingTimeShifted);
      function createUnix(input) {
        return createLocal(input * 1e3);
      }
      function createInZone() {
        return createLocal.apply(null, arguments).parseZone();
      }
      function preParsePostFormat(string) {
        return string;
      }
      var proto$1 = Locale.prototype;
      proto$1.calendar = calendar;
      proto$1.longDateFormat = longDateFormat;
      proto$1.invalidDate = invalidDate;
      proto$1.ordinal = ordinal;
      proto$1.preparse = preParsePostFormat;
      proto$1.postformat = preParsePostFormat;
      proto$1.relativeTime = relativeTime;
      proto$1.pastFuture = pastFuture;
      proto$1.set = set;
      proto$1.eras = localeEras;
      proto$1.erasParse = localeErasParse;
      proto$1.erasConvertYear = localeErasConvertYear;
      proto$1.erasAbbrRegex = erasAbbrRegex;
      proto$1.erasNameRegex = erasNameRegex;
      proto$1.erasNarrowRegex = erasNarrowRegex;
      proto$1.months = localeMonths;
      proto$1.monthsShort = localeMonthsShort;
      proto$1.monthsParse = localeMonthsParse;
      proto$1.monthsRegex = monthsRegex;
      proto$1.monthsShortRegex = monthsShortRegex;
      proto$1.week = localeWeek;
      proto$1.firstDayOfYear = localeFirstDayOfYear;
      proto$1.firstDayOfWeek = localeFirstDayOfWeek;
      proto$1.weekdays = localeWeekdays;
      proto$1.weekdaysMin = localeWeekdaysMin;
      proto$1.weekdaysShort = localeWeekdaysShort;
      proto$1.weekdaysParse = localeWeekdaysParse;
      proto$1.weekdaysRegex = weekdaysRegex;
      proto$1.weekdaysShortRegex = weekdaysShortRegex;
      proto$1.weekdaysMinRegex = weekdaysMinRegex;
      proto$1.isPM = localeIsPM;
      proto$1.meridiem = localeMeridiem;
      function get$1(format2, index, field, setter) {
        var locale2 = getLocale(), utc = createUTC().set(setter, index);
        return locale2[field](utc, format2);
      }
      function listMonthsImpl(format2, index, field) {
        if (isNumber(format2)) {
          index = format2;
          format2 = void 0;
        }
        format2 = format2 || "";
        if (index != null) {
          return get$1(format2, index, field, "month");
        }
        var i, out = [];
        for (i = 0; i < 12; i++) {
          out[i] = get$1(format2, i, field, "month");
        }
        return out;
      }
      function listWeekdaysImpl(localeSorted, format2, index, field) {
        if (typeof localeSorted === "boolean") {
          if (isNumber(format2)) {
            index = format2;
            format2 = void 0;
          }
          format2 = format2 || "";
        } else {
          format2 = localeSorted;
          index = format2;
          localeSorted = false;
          if (isNumber(format2)) {
            index = format2;
            format2 = void 0;
          }
          format2 = format2 || "";
        }
        var locale2 = getLocale(), shift = localeSorted ? locale2._week.dow : 0, i, out = [];
        if (index != null) {
          return get$1(format2, (index + shift) % 7, field, "day");
        }
        for (i = 0; i < 7; i++) {
          out[i] = get$1(format2, (i + shift) % 7, field, "day");
        }
        return out;
      }
      function listMonths(format2, index) {
        return listMonthsImpl(format2, index, "months");
      }
      function listMonthsShort(format2, index) {
        return listMonthsImpl(format2, index, "monthsShort");
      }
      function listWeekdays(localeSorted, format2, index) {
        return listWeekdaysImpl(localeSorted, format2, index, "weekdays");
      }
      function listWeekdaysShort(localeSorted, format2, index) {
        return listWeekdaysImpl(localeSorted, format2, index, "weekdaysShort");
      }
      function listWeekdaysMin(localeSorted, format2, index) {
        return listWeekdaysImpl(localeSorted, format2, index, "weekdaysMin");
      }
      getSetGlobalLocale("en", {
        eras: [
          {
            since: "0001-01-01",
            until: Infinity,
            offset: 1,
            name: "Anno Domini",
            narrow: "AD",
            abbr: "AD"
          },
          {
            since: "0000-12-31",
            until: -Infinity,
            offset: 1,
            name: "Before Christ",
            narrow: "BC",
            abbr: "BC"
          }
        ],
        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
        ordinal: function(number) {
          var b = number % 10, output = toInt(number % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th";
          return number + output;
        }
      });
      hooks.lang = deprecate("moment.lang is deprecated. Use moment.locale instead.", getSetGlobalLocale);
      hooks.langData = deprecate("moment.langData is deprecated. Use moment.localeData instead.", getLocale);
      var mathAbs = Math.abs;
      function abs() {
        var data = this._data;
        this._milliseconds = mathAbs(this._milliseconds);
        this._days = mathAbs(this._days);
        this._months = mathAbs(this._months);
        data.milliseconds = mathAbs(data.milliseconds);
        data.seconds = mathAbs(data.seconds);
        data.minutes = mathAbs(data.minutes);
        data.hours = mathAbs(data.hours);
        data.months = mathAbs(data.months);
        data.years = mathAbs(data.years);
        return this;
      }
      function addSubtract$1(duration, input, value, direction) {
        var other = createDuration(input, value);
        duration._milliseconds += direction * other._milliseconds;
        duration._days += direction * other._days;
        duration._months += direction * other._months;
        return duration._bubble();
      }
      function add$1(input, value) {
        return addSubtract$1(this, input, value, 1);
      }
      function subtract$1(input, value) {
        return addSubtract$1(this, input, value, -1);
      }
      function absCeil(number) {
        if (number < 0) {
          return Math.floor(number);
        } else {
          return Math.ceil(number);
        }
      }
      function bubble() {
        var milliseconds2 = this._milliseconds, days2 = this._days, months2 = this._months, data = this._data, seconds2, minutes2, hours2, years2, monthsFromDays;
        if (!(milliseconds2 >= 0 && days2 >= 0 && months2 >= 0 || milliseconds2 <= 0 && days2 <= 0 && months2 <= 0)) {
          milliseconds2 += absCeil(monthsToDays(months2) + days2) * 864e5;
          days2 = 0;
          months2 = 0;
        }
        data.milliseconds = milliseconds2 % 1e3;
        seconds2 = absFloor(milliseconds2 / 1e3);
        data.seconds = seconds2 % 60;
        minutes2 = absFloor(seconds2 / 60);
        data.minutes = minutes2 % 60;
        hours2 = absFloor(minutes2 / 60);
        data.hours = hours2 % 24;
        days2 += absFloor(hours2 / 24);
        monthsFromDays = absFloor(daysToMonths(days2));
        months2 += monthsFromDays;
        days2 -= absCeil(monthsToDays(monthsFromDays));
        years2 = absFloor(months2 / 12);
        months2 %= 12;
        data.days = days2;
        data.months = months2;
        data.years = years2;
        return this;
      }
      function daysToMonths(days2) {
        return days2 * 4800 / 146097;
      }
      function monthsToDays(months2) {
        return months2 * 146097 / 4800;
      }
      function as(units) {
        if (!this.isValid()) {
          return NaN;
        }
        var days2, months2, milliseconds2 = this._milliseconds;
        units = normalizeUnits(units);
        if (units === "month" || units === "quarter" || units === "year") {
          days2 = this._days + milliseconds2 / 864e5;
          months2 = this._months + daysToMonths(days2);
          switch (units) {
            case "month":
              return months2;
            case "quarter":
              return months2 / 3;
            case "year":
              return months2 / 12;
          }
        } else {
          days2 = this._days + Math.round(monthsToDays(this._months));
          switch (units) {
            case "week":
              return days2 / 7 + milliseconds2 / 6048e5;
            case "day":
              return days2 + milliseconds2 / 864e5;
            case "hour":
              return days2 * 24 + milliseconds2 / 36e5;
            case "minute":
              return days2 * 1440 + milliseconds2 / 6e4;
            case "second":
              return days2 * 86400 + milliseconds2 / 1e3;
            case "millisecond":
              return Math.floor(days2 * 864e5) + milliseconds2;
            default:
              throw new Error("Unknown unit " + units);
          }
        }
      }
      function valueOf$1() {
        if (!this.isValid()) {
          return NaN;
        }
        return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;
      }
      function makeAs(alias) {
        return function() {
          return this.as(alias);
        };
      }
      var asMilliseconds = makeAs("ms"), asSeconds = makeAs("s"), asMinutes = makeAs("m"), asHours = makeAs("h"), asDays = makeAs("d"), asWeeks = makeAs("w"), asMonths = makeAs("M"), asQuarters = makeAs("Q"), asYears = makeAs("y");
      function clone$1() {
        return createDuration(this);
      }
      function get$2(units) {
        units = normalizeUnits(units);
        return this.isValid() ? this[units + "s"]() : NaN;
      }
      function makeGetter(name) {
        return function() {
          return this.isValid() ? this._data[name] : NaN;
        };
      }
      var milliseconds = makeGetter("milliseconds"), seconds = makeGetter("seconds"), minutes = makeGetter("minutes"), hours = makeGetter("hours"), days = makeGetter("days"), months = makeGetter("months"), years = makeGetter("years");
      function weeks() {
        return absFloor(this.days() / 7);
      }
      var round = Math.round, thresholds = {
        ss: 44,
        s: 45,
        m: 45,
        h: 22,
        d: 26,
        w: null,
        M: 11
      };
      function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale2) {
        return locale2.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
      }
      function relativeTime$1(posNegDuration, withoutSuffix, thresholds2, locale2) {
        var duration = createDuration(posNegDuration).abs(), seconds2 = round(duration.as("s")), minutes2 = round(duration.as("m")), hours2 = round(duration.as("h")), days2 = round(duration.as("d")), months2 = round(duration.as("M")), weeks2 = round(duration.as("w")), years2 = round(duration.as("y")), a = seconds2 <= thresholds2.ss && ["s", seconds2] || seconds2 < thresholds2.s && ["ss", seconds2] || minutes2 <= 1 && ["m"] || minutes2 < thresholds2.m && ["mm", minutes2] || hours2 <= 1 && ["h"] || hours2 < thresholds2.h && ["hh", hours2] || days2 <= 1 && ["d"] || days2 < thresholds2.d && ["dd", days2];
        if (thresholds2.w != null) {
          a = a || weeks2 <= 1 && ["w"] || weeks2 < thresholds2.w && ["ww", weeks2];
        }
        a = a || months2 <= 1 && ["M"] || months2 < thresholds2.M && ["MM", months2] || years2 <= 1 && ["y"] || ["yy", years2];
        a[2] = withoutSuffix;
        a[3] = +posNegDuration > 0;
        a[4] = locale2;
        return substituteTimeAgo.apply(null, a);
      }
      function getSetRelativeTimeRounding(roundingFunction) {
        if (roundingFunction === void 0) {
          return round;
        }
        if (typeof roundingFunction === "function") {
          round = roundingFunction;
          return true;
        }
        return false;
      }
      function getSetRelativeTimeThreshold(threshold, limit) {
        if (thresholds[threshold] === void 0) {
          return false;
        }
        if (limit === void 0) {
          return thresholds[threshold];
        }
        thresholds[threshold] = limit;
        if (threshold === "s") {
          thresholds.ss = limit - 1;
        }
        return true;
      }
      function humanize(argWithSuffix, argThresholds) {
        if (!this.isValid()) {
          return this.localeData().invalidDate();
        }
        var withSuffix = false, th = thresholds, locale2, output;
        if (typeof argWithSuffix === "object") {
          argThresholds = argWithSuffix;
          argWithSuffix = false;
        }
        if (typeof argWithSuffix === "boolean") {
          withSuffix = argWithSuffix;
        }
        if (typeof argThresholds === "object") {
          th = Object.assign({}, thresholds, argThresholds);
          if (argThresholds.s != null && argThresholds.ss == null) {
            th.ss = argThresholds.s - 1;
          }
        }
        locale2 = this.localeData();
        output = relativeTime$1(this, !withSuffix, th, locale2);
        if (withSuffix) {
          output = locale2.pastFuture(+this, output);
        }
        return locale2.postformat(output);
      }
      var abs$1 = Math.abs;
      function sign(x) {
        return (x > 0) - (x < 0) || +x;
      }
      function toISOString$1() {
        if (!this.isValid()) {
          return this.localeData().invalidDate();
        }
        var seconds2 = abs$1(this._milliseconds) / 1e3, days2 = abs$1(this._days), months2 = abs$1(this._months), minutes2, hours2, years2, s, total = this.asSeconds(), totalSign, ymSign, daysSign, hmsSign;
        if (!total) {
          return "P0D";
        }
        minutes2 = absFloor(seconds2 / 60);
        hours2 = absFloor(minutes2 / 60);
        seconds2 %= 60;
        minutes2 %= 60;
        years2 = absFloor(months2 / 12);
        months2 %= 12;
        s = seconds2 ? seconds2.toFixed(3).replace(/\.?0+$/, "") : "";
        totalSign = total < 0 ? "-" : "";
        ymSign = sign(this._months) !== sign(total) ? "-" : "";
        daysSign = sign(this._days) !== sign(total) ? "-" : "";
        hmsSign = sign(this._milliseconds) !== sign(total) ? "-" : "";
        return totalSign + "P" + (years2 ? ymSign + years2 + "Y" : "") + (months2 ? ymSign + months2 + "M" : "") + (days2 ? daysSign + days2 + "D" : "") + (hours2 || minutes2 || seconds2 ? "T" : "") + (hours2 ? hmsSign + hours2 + "H" : "") + (minutes2 ? hmsSign + minutes2 + "M" : "") + (seconds2 ? hmsSign + s + "S" : "");
      }
      var proto$2 = Duration.prototype;
      proto$2.isValid = isValid$1;
      proto$2.abs = abs;
      proto$2.add = add$1;
      proto$2.subtract = subtract$1;
      proto$2.as = as;
      proto$2.asMilliseconds = asMilliseconds;
      proto$2.asSeconds = asSeconds;
      proto$2.asMinutes = asMinutes;
      proto$2.asHours = asHours;
      proto$2.asDays = asDays;
      proto$2.asWeeks = asWeeks;
      proto$2.asMonths = asMonths;
      proto$2.asQuarters = asQuarters;
      proto$2.asYears = asYears;
      proto$2.valueOf = valueOf$1;
      proto$2._bubble = bubble;
      proto$2.clone = clone$1;
      proto$2.get = get$2;
      proto$2.milliseconds = milliseconds;
      proto$2.seconds = seconds;
      proto$2.minutes = minutes;
      proto$2.hours = hours;
      proto$2.days = days;
      proto$2.weeks = weeks;
      proto$2.months = months;
      proto$2.years = years;
      proto$2.humanize = humanize;
      proto$2.toISOString = toISOString$1;
      proto$2.toString = toISOString$1;
      proto$2.toJSON = toISOString$1;
      proto$2.locale = locale;
      proto$2.localeData = localeData;
      proto$2.toIsoString = deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", toISOString$1);
      proto$2.lang = lang;
      addFormatToken("X", 0, 0, "unix");
      addFormatToken("x", 0, 0, "valueOf");
      addRegexToken("x", matchSigned);
      addRegexToken("X", matchTimestamp);
      addParseToken("X", function(input, array, config) {
        config._d = new Date(parseFloat(input) * 1e3);
      });
      addParseToken("x", function(input, array, config) {
        config._d = new Date(toInt(input));
      });
      hooks.version = "2.29.3";
      setHookCallback(createLocal);
      hooks.fn = proto;
      hooks.min = min;
      hooks.max = max;
      hooks.now = now;
      hooks.utc = createUTC;
      hooks.unix = createUnix;
      hooks.months = listMonths;
      hooks.isDate = isDate;
      hooks.locale = getSetGlobalLocale;
      hooks.invalid = createInvalid;
      hooks.duration = createDuration;
      hooks.isMoment = isMoment;
      hooks.weekdays = listWeekdays;
      hooks.parseZone = createInZone;
      hooks.localeData = getLocale;
      hooks.isDuration = isDuration;
      hooks.monthsShort = listMonthsShort;
      hooks.weekdaysMin = listWeekdaysMin;
      hooks.defineLocale = defineLocale;
      hooks.updateLocale = updateLocale;
      hooks.locales = listLocales;
      hooks.weekdaysShort = listWeekdaysShort;
      hooks.normalizeUnits = normalizeUnits;
      hooks.relativeTimeRounding = getSetRelativeTimeRounding;
      hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
      hooks.calendarFormat = getCalendarFormat;
      hooks.prototype = proto;
      hooks.HTML5_FMT = {
        DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
        DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
        DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
        DATE: "YYYY-MM-DD",
        TIME: "HH:mm",
        TIME_SECONDS: "HH:mm:ss",
        TIME_MS: "HH:mm:ss.SSS",
        WEEK: "GGGG-[W]WW",
        MONTH: "YYYY-MM"
      };
      return hooks;
    });
  }
});

// main.ts
__export(exports, {
  default: () => PastetoIndentationPlugin
});
var import_obsidian = __toModule(require("obsidian"));

// src/toggle-quote.ts
var escapeRegExp = (string) => {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
};
var toggleQuote = (linesInput, prefix) => __async(void 0, null, function* () {
  const fullLines = [...linesInput];
  const escapedPrefix = escapeRegExp(prefix);
  const leadingWhitespaces = fullLines.map((e) => {
    const whitespaceMatch = e.match(new RegExp(`^(\\s*)`));
    return whitespaceMatch !== null ? whitespaceMatch[1] : "";
  });
  let filteredLeadingWhitespaces = leadingWhitespaces.filter((e, i) => {
    return fullLines[i] !== "";
  });
  const filteredLeadingLengths = (filteredLeadingWhitespaces.length > 0 ? filteredLeadingWhitespaces : [""]).map((e) => e.length);
  const minLeadingWhitespaceLength = Math.min(...filteredLeadingLengths);
  const isEveryLinePrefixed = fullLines.every((e) => {
    const prefixMatch = e.match(new RegExp(`^\\s{${minLeadingWhitespaceLength}}${escapedPrefix}`));
    if (prefixMatch !== null) {
      return true;
    }
    return false;
  });
  const exampleLeadingWhitespace = leadingWhitespaces.filter((e) => e.length === minLeadingWhitespaceLength);
  for (const [i, text] of fullLines.entries()) {
    if (isEveryLinePrefixed === true) {
      if (text === "") {
        fullLines[i] = exampleLeadingWhitespace.length > 0 ? exampleLeadingWhitespace[0] : " ".repeat(minLeadingWhitespaceLength);
        continue;
      }
      fullLines[i] = text.replace(new RegExp(`^(\\s{${minLeadingWhitespaceLength}})${escapedPrefix}`), "$1");
      continue;
    }
    if (text === "") {
      fullLines[i] = (exampleLeadingWhitespace.length > 0 ? exampleLeadingWhitespace[0] : " ".repeat(minLeadingWhitespaceLength)) + prefix;
      continue;
    }
    if (!text.match(new RegExp(`^\\s{${minLeadingWhitespaceLength}}${escapedPrefix}`))) {
      fullLines[i] = text.replace(new RegExp(`^(\\s{${minLeadingWhitespaceLength}})`), `$1${prefix}`);
    }
  }
  return {
    lines: fullLines,
    minLeadingWhitespaceLength,
    isEveryLinePrefixed
  };
});
var toggleQuoteInEditor = (view, prefix) => __async(void 0, null, function* () {
  const editor = view.editor;
  const currentSelectionStart = editor.getCursor("from");
  const currentSelectionEnd = editor.getCursor("to");
  const replacementRange = [
    { line: currentSelectionStart.line, ch: 0 },
    {
      line: currentSelectionEnd.line,
      ch: editor.getLine(currentSelectionEnd.line).length
    }
  ];
  const fullSelectedLines = editor.getRange(replacementRange[0], replacementRange[1]).split("\n");
  const { lines, minLeadingWhitespaceLength, isEveryLinePrefixed } = yield toggleQuote(fullSelectedLines, prefix);
  editor.replaceRange(lines.join("\n"), replacementRange[0], replacementRange[1]);
  let newSelectionStartCh;
  if (currentSelectionStart.ch < minLeadingWhitespaceLength) {
    newSelectionStartCh = currentSelectionStart.ch;
  } else {
    if (isEveryLinePrefixed) {
      newSelectionStartCh = currentSelectionStart.ch - prefix.length;
    } else {
      newSelectionStartCh = currentSelectionStart.ch + prefix.length;
    }
  }
  let newSelectionEndCh;
  if (currentSelectionEnd.ch < minLeadingWhitespaceLength) {
    newSelectionEndCh = currentSelectionEnd.ch;
  } else {
    if (isEveryLinePrefixed) {
      newSelectionEndCh = currentSelectionEnd.ch - prefix.length;
    } else {
      newSelectionEndCh = currentSelectionEnd.ch + prefix.length;
    }
  }
  editor.setSelection({
    line: currentSelectionStart.line,
    ch: newSelectionStartCh
  }, {
    line: currentSelectionEnd.line,
    ch: newSelectionEndCh
  });
});

// icons.json
var icons_exports = {};
__export(icons_exports, {
  default: () => icons_default,
  "pasteIcons-CodeBlock": () => pasteIcons_CodeBlock,
  "pasteIcons-CodeBlock-hourglass": () => pasteIcons_CodeBlock_hourglass,
  "pasteIcons-CodeBlockBlockquote": () => pasteIcons_CodeBlockBlockquote,
  "pasteIcons-CodeBlockBlockquote-hourglass": () => pasteIcons_CodeBlockBlockquote_hourglass,
  "pasteIcons-Markdown": () => pasteIcons_Markdown,
  "pasteIcons-Markdown-hourglass": () => pasteIcons_Markdown_hourglass,
  "pasteIcons-MarkdownBlockquote": () => pasteIcons_MarkdownBlockquote,
  "pasteIcons-MarkdownBlockquote-hourglass": () => pasteIcons_MarkdownBlockquote_hourglass,
  "pasteIcons-Passthrough": () => pasteIcons_Passthrough,
  "pasteIcons-Text": () => pasteIcons_Text,
  "pasteIcons-Text-hourglass": () => pasteIcons_Text_hourglass,
  "pasteIcons-TextBlockquote": () => pasteIcons_TextBlockquote,
  "pasteIcons-TextBlockquote-hourglass": () => pasteIcons_TextBlockquote_hourglass,
  "pasteIcons-clipboard-cycle": () => pasteIcons_clipboard_cycle,
  "pasteIcons-clipboard-question": () => pasteIcons_clipboard_question,
  "pasteIcons-quote-text": () => pasteIcons_quote_text
});
var pasteIcons_CodeBlock_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.51191115;stroke-linecap:round" d="M 38.857498,-6.7719155 M 38.857498,-6.7719155 C 51.236987,-6.7719155 63.634027,-6.7719155 72.220647,-6.7719155 M 38.857498,-6.7719155 C 49.867337,-6.7719155 60.877177,-6.7719155 72.220647,-6.7719155 M 72.220647,-6.7719155 C 83.335847,-6.7719155 88.902227,-1.2055363 88.902227,9.9096624 M 72.220647,-6.7719155 C 83.335847,-6.7719155 88.902227,-1.2055363 88.902227,9.9096624 M 88.902227,9.9096624 C 88.902227,23.026651 88.902227,36.161198 88.902227,51.385326 M 88.902227,9.9096624 C 88.902227,24.765047 88.902227,39.620431 88.902227,51.385326 M 88.902227,51.385326 C 88.902227,62.500525 83.335847,68.066905 72.220647,68.066905 M 88.902227,51.385326 C 88.902227,62.500525 83.335847,68.066905 72.220647,68.066905 M 72.220647,68.066905 C 62.036107,68.066905 51.834007,68.066905 38.857498,68.066905 M 72.220647,68.066905 C 61.667357,68.066905 51.096507,68.066905 38.857498,68.066905 M 38.857498,68.066905 C 27.742299,68.066905 22.17592,62.500525 22.17592,51.385326 M 38.857498,68.066905 C 27.742299,68.066905 22.17592,62.500525 22.17592,51.385326 M 22.17592,51.385326 C 22.17592,36.248996 22.17592,21.112659 22.17592,9.9096624 M 22.17592,51.385326 C 22.17592,42.359715 22.17592,33.31655 22.17592,9.9096624 M 22.17592,9.9096624 C 22.17592,-1.2055363 27.742299,-6.7719155 38.857498,-6.7719155 M 22.17592,9.9096624 C 22.17592,-1.2055363 27.742299,-6.7719155 38.857498,-6.7719155" id="path176"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.51191115;stroke-linecap:round" d="M 45.938157,-6.6144712 M 45.938157,-6.6144712 C 50.960197,-6.6144712 55.964667,-6.6144712 65.130757,-6.6144712 M 45.938157,-6.6144712 C 50.450967,-6.6144712 54.946217,-6.6144712 65.130757,-6.6144712 M 65.130757,-6.6144712 C 66.781347,-6.6144712 67.624207,-5.7891721 67.624207,-4.1385739 M 65.130757,-6.6144712 C 66.781347,-6.6144712 67.624207,-5.7891721 67.624207,-4.1385739 M 67.624207,-4.1385739 C 67.624207,-2.4704161 67.624207,-0.81981777 67.624207,0.83078053 M 67.624207,-4.1385739 C 67.624207,-3.1025601 67.624207,-2.0841058 67.624207,0.83078053 M 67.624207,0.83078053 C 67.624207,2.4813787 66.781347,3.3066774 65.130757,3.3066774 M 67.624207,0.83078053 C 67.624207,2.4813787 66.781347,3.3066774 65.130757,3.3066774 M 65.130757,3.3066774 C 59.213187,3.3066774 53.278057,3.3066774 45.938157,3.3066774 M 65.130757,3.3066774 C 58.809317,3.3066774 52.487877,3.3066774 45.938157,3.3066774 M 45.938157,3.3066774 C 44.287567,3.3066774 43.462267,2.4813787 43.462267,0.83078053 M 45.938157,3.3066774 C 44.287567,3.3066774 43.462267,2.4813787 43.462267,0.83078053 M 43.462267,0.83078053 C 43.462267,-0.60910307 43.462267,-2.0489867 43.462267,-4.1385739 M 43.462267,0.83078053 C 43.462267,-0.50374577 43.462267,-1.838272 43.462267,-4.1385739 M 43.462267,-4.1385739 C 43.462267,-5.7891721 44.287567,-6.6144712 45.938157,-6.6144712 M 43.462267,-4.1385739 C 43.462267,-5.7891721 44.287567,-6.6144712 45.938157,-6.6144712" id="path180"/>
    <g transform="matrix(2.0882519,0,0,2.0882519,-212.48116,-163.22634)" id="g1830">
      <path d="M 117.62972,96.013781 C 118.38496,96.224257 119.44972,96.558543 120.05639,96.954733 120.13069,97.029023 120.77449,97.511876 120.83639,97.573781 120.92309,97.623301 121.04687,97.660451 121.1583,97.660451 121.36877,97.660451 121.56687,97.573781 121.61639,97.350927 121.75258,97.078546 121.71549,96.843308 121.61639,96.558546 121.33163,95.753781 120.20496,95.568066 119.51163,95.159495 118.54592,94.738543 117.49353,94.478543 116.52782,94.05759 116.41639,93.9214 116.24306,93.760447 116.29258,93.599495 116.24308,93.364257 116.45353,93.079495 116.52782,92.8814 117.45639,91.903304 118.80592,89.996638 119.89544,89.129971 120.16782,88.795685 120.51449,88.523304 120.52687,88.114733 120.46497,87.916638 120.36592,87.706161 120.13068,87.792828 119.3383,88.015685 119.15258,88.275685 118.57068,88.969019 117.49353,90.15759 116.50306,91.469971 115.36401,92.571876 114.99258,93.005209 114.41068,93.450924 114.49734,94.05759 114.54684,94.466162 114.70782,94.763305 115.04211,94.998543 115.72306,95.369971 116.87449,95.716638 117.62972,96.013781 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1252"/>
      <path d="M 125.78972,97.8214 C 125.72782,97.945209 125.70302,98.007114 125.71542,98.130924 125.83923,98.279495 125.9878,98.514733 126.16114,98.465209 126.21064,98.452829 126.26014,98.440449 126.30971,98.390929 126.644,98.229971 126.73066,97.883305 127.04019,97.536638 128.87257,95.2214 130.01161,93.228066 131.29923,90.826162 131.98019,90.0214 132.26495,88.944257 132.64876,89.129971 132.92114,88.9814 133.13161,88.127114 132.98304,87.619495 132.82209,87.359495 132.57447,87.186161 132.30209,87.210923 132.11638,87.235683 131.91828,87.334733 131.72019,87.55759 131.69539,87.58235 131.65829,87.718542 131.62109,87.854733 L 131.55919,88.226161 C 131.37347,88.498542 131.17537,89.018542 131.13823,89.105209 130.43252,90.590924 129.38014,92.175685 128.56299,93.748066 127.57252,94.986162 126.74299,96.471876 125.78966,97.8214 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1254"/>
      <path d="M 137.25541,96.806162 C 137.3916,97.0414 137.44112,97.313781 137.81255,97.43759 137.94874,97.48711 138.15922,97.33854 138.27065,97.276638 138.33255,97.239498 138.84017,96.719495 138.90208,96.65759 140.14017,95.716638 140.26398,95.431876 141.72493,94.614733 L 141.79923,94.540443 C 141.99732,94.131872 142.25732,93.884253 142.19542,93.525205 142.14592,93.364253 142.02209,93.166158 141.56399,93.054729 141.3659,92.856634 141.03161,92.831872 140.85828,92.658539 139.6078,91.556634 138.25828,90.628062 136.97066,89.835681 H 136.83447 C 136.84687,89.835681 136.58685,89.872821 136.47542,90.0833 V 90.15759 C 136.71066,91.110924 137.14399,91.296638 137.49066,91.643305 137.58976,91.742355 138.32018,92.188067 138.35732,92.188067 139.16209,92.906162 139.84304,93.166162 140.31352,93.995686 140.30112,94.268067 138.8278,94.973781 138.35732,95.555686 137.99828,95.828067 137.34209,95.902352 137.34209,96.2614 137.30499,96.34807 137.24299,96.632828 137.25539,96.744257 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1256"/>
    </g>
    <ellipse ry="17.226866" rx="16.145964" cy="69.225922" cx="55.539055" id="path1227-9" style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.03833305;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
    <text id="text1231-7" y="82.147209" x="51.281685" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.56914902px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0142287" xml:space="preserve"><tspan style="stroke-width:1.0142287" y="82.147209" x="51.281685" id="tspan1229-9">1</tspan></text>
  </g>
`;
var pasteIcons_CodeBlock = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <g id="g98" transform="matrix(2.1290806,0,0,2.1290806,15.086542,-6.3987556)" style="stroke-linecap:round">
      <path id="path96" d="M 9.5,0 M 9.5,0 C 13.54,0 17.58,0 28.5,0 M 9.5,0 C 17.02,0 24.54,0 28.5,0 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 38,9.5 C 38,18.75 38,27.99 38,33.12 M 38,9.5 C 38,18.94 38,28.38 38,33.12 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 28.5,42.62 C 22.36,42.62 16.22,42.62 9.5,42.62 M 28.5,42.62 C 21.06,42.62 13.63,42.62 9.5,42.62 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 0,33.12 C 0,25.59 0,18.05 0,9.5 M 0,33.12 C 0,23.92 0,14.71 0,9.5 M 0,9.5 C 0,3.17 3.17,0 9.5,0 M 0,9.5 C 0,3.17 3.17,0 9.5,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g id="g102" transform="matrix(2.1290806,0,0,2.1290806,40.896047,-6.2078536)" style="stroke-linecap:round">
      <path id="path100" d="M 1.41,0 M 1.41,0 C 5.56,0 9.71,0 12.34,0 M 1.41,0 C 4.38,0 7.34,0 12.34,0 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 13.76,1.41 C 13.76,2.09 13.76,2.77 13.76,4.24 M 13.76,1.41 C 13.76,2.44 13.76,3.46 13.76,4.24 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 12.34,5.65 C 9.93,5.65 7.53,5.65 1.41,5.65 M 12.34,5.65 C 9.14,5.65 5.94,5.65 1.41,5.65 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 0,4.24 C 0,3.18 0,2.12 0,1.41 M 0,4.24 C 0,3.27 0,2.31 0,1.41 M 0,1.41 C 0,0.47 0.47,0 1.41,0 M 0,1.41 C 0,0.47 0.47,0 1.41,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g transform="matrix(2.5319869,0,0,2.5319869,-269.43308,-191.8402)" id="g1830-77">
      <path d="M 117.62972,96.013781 C 118.38496,96.224257 119.44972,96.558543 120.05639,96.954733 120.13069,97.029023 120.77449,97.511876 120.83639,97.573781 120.92309,97.623301 121.04687,97.660451 121.1583,97.660451 121.36877,97.660451 121.56687,97.573781 121.61639,97.350927 121.75258,97.078546 121.71549,96.843308 121.61639,96.558546 121.33163,95.753781 120.20496,95.568066 119.51163,95.159495 118.54592,94.738543 117.49353,94.478543 116.52782,94.05759 116.41639,93.9214 116.24306,93.760447 116.29258,93.599495 116.24308,93.364257 116.45353,93.079495 116.52782,92.8814 117.45639,91.903304 118.80592,89.996638 119.89544,89.129971 120.16782,88.795685 120.51449,88.523304 120.52687,88.114733 120.46497,87.916638 120.36592,87.706161 120.13068,87.792828 119.3383,88.015685 119.15258,88.275685 118.57068,88.969019 117.49353,90.15759 116.50306,91.469971 115.36401,92.571876 114.99258,93.005209 114.41068,93.450924 114.49734,94.05759 114.54684,94.466162 114.70782,94.763305 115.04211,94.998543 115.72306,95.369971 116.87449,95.716638 117.62972,96.013781 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1252-7"/>
      <path d="M 125.78972,97.8214 C 125.72782,97.945209 125.70302,98.007114 125.71542,98.130924 125.83923,98.279495 125.9878,98.514733 126.16114,98.465209 126.21064,98.452829 126.26014,98.440449 126.30971,98.390929 126.644,98.229971 126.73066,97.883305 127.04019,97.536638 128.87257,95.2214 130.01161,93.228066 131.29923,90.826162 131.98019,90.0214 132.26495,88.944257 132.64876,89.129971 132.92114,88.9814 133.13161,88.127114 132.98304,87.619495 132.82209,87.359495 132.57447,87.186161 132.30209,87.210923 132.11638,87.235683 131.91828,87.334733 131.72019,87.55759 131.69539,87.58235 131.65829,87.718542 131.62109,87.854733 L 131.55919,88.226161 C 131.37347,88.498542 131.17537,89.018542 131.13823,89.105209 130.43252,90.590924 129.38014,92.175685 128.56299,93.748066 127.57252,94.986162 126.74299,96.471876 125.78966,97.8214 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1254-6"/>
      <path d="M 137.25541,96.806162 C 137.3916,97.0414 137.44112,97.313781 137.81255,97.43759 137.94874,97.48711 138.15922,97.33854 138.27065,97.276638 138.33255,97.239498 138.84017,96.719495 138.90208,96.65759 140.14017,95.716638 140.26398,95.431876 141.72493,94.614733 L 141.79923,94.540443 C 141.99732,94.131872 142.25732,93.884253 142.19542,93.525205 142.14592,93.364253 142.02209,93.166158 141.56399,93.054729 141.3659,92.856634 141.03161,92.831872 140.85828,92.658539 139.6078,91.556634 138.25828,90.628062 136.97066,89.835681 H 136.83447 C 136.84687,89.835681 136.58685,89.872821 136.47542,90.0833 V 90.15759 C 136.71066,91.110924 137.14399,91.296638 137.49066,91.643305 137.58976,91.742355 138.32018,92.188067 138.35732,92.188067 139.16209,92.906162 139.84304,93.166162 140.31352,93.995686 140.30112,94.268067 138.8278,94.973781 138.35732,95.555686 137.99828,95.828067 137.34209,95.902352 137.34209,96.2614 137.30499,96.34807 137.24299,96.632828 137.25539,96.744257 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1256-9"/>
    </g>
  </g>
`;
var pasteIcons_CodeBlockBlockquote_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 39.125727,-6.8001523 M 39.125727,-6.8001523 C 47.608837,-6.8001523 56.109217,-6.8001523 71.952417,-6.8001523 M 39.125727,-6.8001523 C 50.200417,-6.8001523 61.275107,-6.8001523 71.952417,-6.8001523 M 71.952417,-6.8001523 C 82.888887,-6.8001523 88.365757,-1.323279 88.365757,9.613189 M 71.952417,-6.8001523 C 82.888887,-6.8001523 88.365757,-1.323279 88.365757,9.613189 M 88.365757,9.613189 C 88.365757,18.68372 88.365757,27.771528 88.365757,50.421939 M 88.365757,9.613189 C 88.365757,24.419751 88.365757,39.24359 88.365757,50.421939 M 88.365757,50.421939 C 88.365757,61.358408 82.888887,66.835281 71.952417,66.835281 M 88.365757,50.421939 C 88.365757,61.358408 82.888887,66.835281 71.952417,66.835281 M 71.952417,66.835281 C 63.832127,66.835281 55.711847,66.835281 39.125727,66.835281 M 71.952417,66.835281 C 58.856297,66.835281 45.760177,66.835281 39.125727,66.835281 M 39.125727,66.835281 C 28.189264,66.835281 22.712391,61.358408 22.712391,50.421939 M 39.125727,66.835281 C 28.189264,66.835281 22.712391,61.358408 22.712391,50.421939 M 22.712391,50.421939 C 22.712391,37.688642 22.712391,24.972621 22.712391,9.613189 M 22.712391,50.421939 C 22.712391,34.526914 22.712391,18.614611 22.712391,9.613189 M 22.712391,9.613189 C 22.712391,-1.323279 28.189264,-6.8001523 39.125727,-6.8001523 M 22.712391,9.613189 C 22.712391,-1.323279 28.189264,-6.8001523 39.125727,-6.8001523" id="path308"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 46.092537,-6.6452449 M 46.092537,-6.6452449 C 52.174117,-6.6452449 58.238407,-6.6452449 64.976517,-6.6452449 M 46.092537,-6.6452449 C 51.137477,-6.6452449 56.165147,-6.6452449 64.976517,-6.6452449 M 64.976517,-6.6452449 C 66.600577,-6.6452449 67.429877,-5.8332164 67.429877,-4.209159 M 64.976517,-6.6452449 C 66.600577,-6.6452449 67.429877,-5.8332164 67.429877,-4.209159 M 67.429877,-4.209159 C 67.429877,-3.224359 67.429877,-2.239558 67.429877,0.68028896 M 67.429877,-4.209159 C 67.429877,-2.706043 67.429877,-1.202926 67.429877,0.68028896 M 67.429877,0.68028896 C 67.429877,2.304346 66.600577,3.116374 64.976517,3.116374 M 67.429877,0.68028896 C 67.429877,2.304346 66.600577,3.116374 64.976517,3.116374 M 64.976517,3.116374 C 58.514847,3.116374 52.053177,3.116374 46.092537,3.116374 M 64.976517,3.116374 C 59.188657,3.116374 53.400797,3.116374 46.092537,3.116374 M 46.092537,3.116374 C 44.468477,3.116374 43.656457,2.304346 43.656457,0.68028896 M 46.092537,3.116374 C 44.468477,3.116374 43.656457,2.304346 43.656457,0.68028896 M 43.656457,0.68028896 C 43.656457,-0.61550204 43.656457,-1.928569 43.656457,-4.209159 M 43.656457,0.68028896 C 43.656457,-0.77099604 43.656457,-2.222281 43.656457,-4.209159 M 43.656457,-4.209159 C 43.656457,-5.8332164 44.468477,-6.6452449 46.092537,-6.6452449 M 43.656457,-4.209159 C 43.656457,-5.8332164 44.468477,-6.6452449 46.092537,-6.6452449" id="path312"/>
    <g transform="matrix(1.7277201,0,0,1.7277201,-184.52388,-350.06966)" id="g1788">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-16" cx="128.94781" cy="242.84772" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.10374451px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57759362" x="126.52328" y="250.20627" id="text1231-6"><tspan id="tspan1229-21" x="126.52328" y="250.20627" style="stroke-width:0.57759362">1</tspan></text>
    </g>
    <g id="g1623-3-5" transform="matrix(1.7277201,0,0,1.7277201,18.623707,-239.40026)">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8-8-0" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5-5-6"><tspan id="tspan1229-1-3-2-5" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(2.0546732,0,0,2.0546732,-208.17144,-160.73882)" id="g1830-8">
      <path d="M 117.62972,96.013781 C 118.38496,96.224257 119.44972,96.558543 120.05639,96.954733 120.13069,97.029023 120.77449,97.511876 120.83639,97.573781 120.92309,97.623301 121.04687,97.660451 121.1583,97.660451 121.36877,97.660451 121.56687,97.573781 121.61639,97.350927 121.75258,97.078546 121.71549,96.843308 121.61639,96.558546 121.33163,95.753781 120.20496,95.568066 119.51163,95.159495 118.54592,94.738543 117.49353,94.478543 116.52782,94.05759 116.41639,93.9214 116.24306,93.760447 116.29258,93.599495 116.24308,93.364257 116.45353,93.079495 116.52782,92.8814 117.45639,91.903304 118.80592,89.996638 119.89544,89.129971 120.16782,88.795685 120.51449,88.523304 120.52687,88.114733 120.46497,87.916638 120.36592,87.706161 120.13068,87.792828 119.3383,88.015685 119.15258,88.275685 118.57068,88.969019 117.49353,90.15759 116.50306,91.469971 115.36401,92.571876 114.99258,93.005209 114.41068,93.450924 114.49734,94.05759 114.54684,94.466162 114.70782,94.763305 115.04211,94.998543 115.72306,95.369971 116.87449,95.716638 117.62972,96.013781 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1252-84"/>
      <path d="M 125.78972,97.8214 C 125.72782,97.945209 125.70302,98.007114 125.71542,98.130924 125.83923,98.279495 125.9878,98.514733 126.16114,98.465209 126.21064,98.452829 126.26014,98.440449 126.30971,98.390929 126.644,98.229971 126.73066,97.883305 127.04019,97.536638 128.87257,95.2214 130.01161,93.228066 131.29923,90.826162 131.98019,90.0214 132.26495,88.944257 132.64876,89.129971 132.92114,88.9814 133.13161,88.127114 132.98304,87.619495 132.82209,87.359495 132.57447,87.186161 132.30209,87.210923 132.11638,87.235683 131.91828,87.334733 131.72019,87.55759 131.69539,87.58235 131.65829,87.718542 131.62109,87.854733 L 131.55919,88.226161 C 131.37347,88.498542 131.17537,89.018542 131.13823,89.105209 130.43252,90.590924 129.38014,92.175685 128.56299,93.748066 127.57252,94.986162 126.74299,96.471876 125.78966,97.8214 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1254-5"/>
      <path d="M 137.25541,96.806162 C 137.3916,97.0414 137.44112,97.313781 137.81255,97.43759 137.94874,97.48711 138.15922,97.33854 138.27065,97.276638 138.33255,97.239498 138.84017,96.719495 138.90208,96.65759 140.14017,95.716638 140.26398,95.431876 141.72493,94.614733 L 141.79923,94.540443 C 141.99732,94.131872 142.25732,93.884253 142.19542,93.525205 142.14592,93.364253 142.02209,93.166158 141.56399,93.054729 141.3659,92.856634 141.03161,92.831872 140.85828,92.658539 139.6078,91.556634 138.25828,90.628062 136.97066,89.835681 H 136.83447 C 136.84687,89.835681 136.58685,89.872821 136.47542,90.0833 V 90.15759 C 136.71066,91.110924 137.14399,91.296638 137.49066,91.643305 137.58976,91.742355 138.32018,92.188067 138.35732,92.188067 139.16209,92.906162 139.84304,93.166162 140.31352,93.995686 140.30112,94.268067 138.8278,94.973781 138.35732,95.555686 137.99828,95.828067 137.34209,95.902352 137.34209,96.2614 137.30499,96.34807 137.24299,96.632828 137.25539,96.744257 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1256-6"/>
    </g>
  </g>
`;
var pasteIcons_CodeBlockBlockquote = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.48820877;stroke-linecap:round" d="M 38.970079,-6.7837679 M 38.970079,-6.7837679 C 47.306899,-6.7837679 55.643719,-6.7837679 72.108059,-6.7837679 M 38.970079,-6.7837679 C 46.068589,-6.7837679 53.167089,-6.7837679 72.108059,-6.7837679 M 72.108059,-6.7837679 C 83.148249,-6.7837679 88.677059,-1.254957 88.677059,9.785224 M 72.108059,-6.7837679 C 83.148249,-6.7837679 88.677059,-1.254957 88.677059,9.785224 M 88.677059,9.785224 C 88.677059,19.482444 88.677059,29.162224 88.677059,50.98097 M 88.677059,9.785224 C 88.677059,19.534768 88.677059,29.301752 88.677059,50.98097 M 88.677059,50.98097 C 88.677059,62.021151 83.148249,67.549962 72.108059,67.549962 M 88.677059,50.98097 C 88.677059,62.021151 83.148249,67.549962 72.108059,67.549962 M 72.108059,67.549962 C 63.788689,67.549962 55.469309,67.549962 38.970079,67.549962 M 72.108059,67.549962 C 61.381819,67.549962 50.655579,67.549962 38.970079,67.549962 M 38.970079,67.549962 C 27.929899,67.549962 22.401089,62.021151 22.401089,50.98097 M 38.970079,67.549962 C 27.929899,67.549962 22.401089,62.021151 22.401089,50.98097 M 22.401089,50.98097 C 22.401089,38.510623 22.401089,26.057718 22.401089,9.785224 M 22.401089,50.98097 C 22.401089,39.731497 22.401089,28.464582 22.401089,9.785224 M 22.401089,9.785224 C 22.401089,-1.254957 27.929899,-6.7837679 38.970079,-6.7837679 M 22.401089,9.785224 C 22.401089,-1.254957 27.929899,-6.7837679 38.970079,-6.7837679" id="path238"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.48820877;stroke-linecap:round" d="M 46.002949,-6.6273915 M 46.002949,-6.6273915 C 50.415539,-6.6273915 54.828119,-6.6273915 65.066019,-6.6273915 M 46.002949,-6.6273915 C 50.642269,-6.6273915 55.264149,-6.6273915 65.066019,-6.6273915 M 65.066019,-6.6273915 C 66.705469,-6.6273915 67.542639,-5.8076624 67.542639,-4.1682043 M 65.066019,-6.6273915 C 66.705469,-6.6273915 67.542639,-5.8076624 67.542639,-4.1682043 M 67.542639,-4.1682043 C 67.542639,-2.5113051 67.542639,-0.83696504 67.542639,0.76761096 M 67.542639,-4.1682043 C 67.542639,-2.9298901 67.542639,-1.7090171 67.542639,0.76761096 M 67.542639,0.76761096 C 67.542639,2.407069 66.705469,3.226798 65.066019,3.226798 M 67.542639,0.76761096 C 67.542639,2.407069 66.705469,3.226798 65.066019,3.226798 M 65.066019,3.226798 C 60.095319,3.226798 55.124619,3.226798 46.002949,3.226798 M 65.066019,3.226798 C 57.967509,3.226798 50.869009,3.226798 46.002949,3.226798 M 46.002949,3.226798 C 44.363499,3.226798 43.543769,2.407069 43.543769,0.76761096 M 46.002949,3.226798 C 44.363499,3.226798 43.543769,2.407069 43.543769,0.76761096 M 43.543769,0.76761096 C 43.543769,-0.55790804 43.543769,-1.8834275 43.543769,-4.1682043 M 43.543769,0.76761096 C 43.543769,-0.97649304 43.543769,-2.7380387 43.543769,-4.1682043 M 43.543769,-4.1682043 C 43.543769,-5.8076624 44.363499,-6.6273915 46.002949,-6.6273915 M 43.543769,-4.1682043 C 43.543769,-5.8076624 44.363499,-6.6273915 46.002949,-6.6273915" id="path242"/>
    <g id="g1623-3" transform="matrix(1.7441044,0,0,1.7441044,2.9654768,-242.49057)">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8-8" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5-5"><tspan id="tspan1229-1-3-2" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(2.074158,0,0,2.074158,-210.67226,-162.18226)" id="g1830-7">
      <path d="M 117.62972,96.013781 C 118.38496,96.224257 119.44972,96.558543 120.05639,96.954733 120.13069,97.029023 120.77449,97.511876 120.83639,97.573781 120.92309,97.623301 121.04687,97.660451 121.1583,97.660451 121.36877,97.660451 121.56687,97.573781 121.61639,97.350927 121.75258,97.078546 121.71549,96.843308 121.61639,96.558546 121.33163,95.753781 120.20496,95.568066 119.51163,95.159495 118.54592,94.738543 117.49353,94.478543 116.52782,94.05759 116.41639,93.9214 116.24306,93.760447 116.29258,93.599495 116.24308,93.364257 116.45353,93.079495 116.52782,92.8814 117.45639,91.903304 118.80592,89.996638 119.89544,89.129971 120.16782,88.795685 120.51449,88.523304 120.52687,88.114733 120.46497,87.916638 120.36592,87.706161 120.13068,87.792828 119.3383,88.015685 119.15258,88.275685 118.57068,88.969019 117.49353,90.15759 116.50306,91.469971 115.36401,92.571876 114.99258,93.005209 114.41068,93.450924 114.49734,94.05759 114.54684,94.466162 114.70782,94.763305 115.04211,94.998543 115.72306,95.369971 116.87449,95.716638 117.62972,96.013781 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1252-8"/>
      <path d="M 125.78972,97.8214 C 125.72782,97.945209 125.70302,98.007114 125.71542,98.130924 125.83923,98.279495 125.9878,98.514733 126.16114,98.465209 126.21064,98.452829 126.26014,98.440449 126.30971,98.390929 126.644,98.229971 126.73066,97.883305 127.04019,97.536638 128.87257,95.2214 130.01161,93.228066 131.29923,90.826162 131.98019,90.0214 132.26495,88.944257 132.64876,89.129971 132.92114,88.9814 133.13161,88.127114 132.98304,87.619495 132.82209,87.359495 132.57447,87.186161 132.30209,87.210923 132.11638,87.235683 131.91828,87.334733 131.72019,87.55759 131.69539,87.58235 131.65829,87.718542 131.62109,87.854733 L 131.55919,88.226161 C 131.37347,88.498542 131.17537,89.018542 131.13823,89.105209 130.43252,90.590924 129.38014,92.175685 128.56299,93.748066 127.57252,94.986162 126.74299,96.471876 125.78966,97.8214 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1254-2"/>
      <path d="M 137.25541,96.806162 C 137.3916,97.0414 137.44112,97.313781 137.81255,97.43759 137.94874,97.48711 138.15922,97.33854 138.27065,97.276638 138.33255,97.239498 138.84017,96.719495 138.90208,96.65759 140.14017,95.716638 140.26398,95.431876 141.72493,94.614733 L 141.79923,94.540443 C 141.99732,94.131872 142.25732,93.884253 142.19542,93.525205 142.14592,93.364253 142.02209,93.166158 141.56399,93.054729 141.3659,92.856634 141.03161,92.831872 140.85828,92.658539 139.6078,91.556634 138.25828,90.628062 136.97066,89.835681 H 136.83447 C 136.84687,89.835681 136.58685,89.872821 136.47542,90.0833 V 90.15759 C 136.71066,91.110924 137.14399,91.296638 137.49066,91.643305 137.58976,91.742355 138.32018,92.188067 138.35732,92.188067 139.16209,92.906162 139.84304,93.166162 140.31352,93.995686 140.30112,94.268067 138.8278,94.973781 138.35732,95.555686 137.99828,95.828067 137.34209,95.902352 137.34209,96.2614 137.30499,96.34807 137.24299,96.632828 137.25539,96.744257 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1256-1"/>
    </g>
  </g>
`;
var pasteIcons_Markdown_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.51191092;stroke-linecap:round" d="M 38.857497,-6.7719177 M 38.857497,-6.7719177 C 50.359006,-6.7719177 61.878074,-6.7719177 72.220651,-6.7719177 M 38.857497,-6.7719177 C 47.619715,-6.7719177 56.364373,-6.7719177 72.220651,-6.7719177 M 72.220651,-6.7719177 C 83.33585,-6.7719177 88.902228,-1.2055384 88.902228,9.9096598 M 72.220651,-6.7719177 C 83.33585,-6.7719177 88.902228,-1.2055384 88.902228,9.9096598 M 88.902228,9.9096598 C 88.902228,22.90373 88.902228,35.880241 88.902228,51.385321 M 88.902228,9.9096598 C 88.902228,23.430517 88.902228,36.951374 88.902228,51.385321 M 88.902228,51.385321 C 88.902228,62.500519 83.33585,68.066898 72.220651,68.066898 M 88.902228,51.385321 C 88.902228,62.500519 83.33585,68.066898 72.220651,68.066898 M 72.220651,68.066898 C 59.103664,68.066898 45.986676,68.066898 38.857497,68.066898 M 72.220651,68.066898 C 63.423314,68.066898 54.643537,68.066898 38.857497,68.066898 M 38.857497,68.066898 C 27.742299,68.066898 22.17592,62.500519 22.17592,51.385321 M 38.857497,68.066898 C 27.742299,68.066898 22.17592,62.500519 22.17592,51.385321 M 22.17592,51.385321 C 22.17592,42.148995 22.17592,32.912676 22.17592,9.9096598 M 22.17592,51.385321 C 22.17592,42.693341 22.17592,34.001369 22.17592,9.9096598 M 22.17592,9.9096598 C 22.17592,-1.2055384 27.742299,-6.7719177 38.857497,-6.7719177 M 22.17592,9.9096598 C 22.17592,-1.2055384 27.742299,-6.7719177 38.857497,-6.7719177" id="path146"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.51191092;stroke-linecap:round" d="M 45.938151,-6.6144727 M 45.938151,-6.6144727 C 50.802147,-6.6144727 55.666144,-6.6144727 65.130744,-6.6144727 M 45.938151,-6.6144727 C 49.90661,-6.6144727 53.892629,-6.6144727 65.130744,-6.6144727 M 65.130744,-6.6144727 C 66.781342,-6.6144727 67.624201,-5.7891737 67.624201,-4.1385757 M 65.130744,-6.6144727 C 66.781342,-6.6144727 67.624201,-5.7891737 67.624201,-4.1385757 M 67.624201,-4.1385757 C 67.624201,-2.7338117 67.624201,-1.3290471 67.624201,0.8307782 M 67.624201,-4.1385757 C 67.624201,-2.5582157 67.624201,-0.9954155 67.624201,0.8307782 M 67.624201,0.8307782 C 67.624201,2.4813763 66.781342,3.3066754 65.130744,3.3066754 M 67.624201,0.8307782 C 67.624201,2.4813763 66.781342,3.3066754 65.130744,3.3066754 M 65.130744,3.3066754 C 59.002459,3.3066754 52.874175,3.3066754 45.938151,3.3066754 M 65.130744,3.3066754 C 58.458113,3.3066754 51.785482,3.3066754 45.938151,3.3066754 M 45.938151,3.3066754 C 44.287552,3.3066754 43.462253,2.4813763 43.462253,0.8307782 M 45.938151,3.3066754 C 44.287552,3.3066754 43.462253,2.4813763 43.462253,0.8307782 M 43.462253,0.8307782 C 43.462253,-1.0480942 43.462253,-2.9269667 43.462253,-4.1385757 M 43.462253,0.8307782 C 43.462253,-1.1183324 43.462253,-3.0674427 43.462253,-4.1385757 M 43.462253,-4.1385757 C 43.462253,-5.7891737 44.287552,-6.6144727 45.938151,-6.6144727 M 43.462253,-4.1385757 C 43.462253,-5.7891737 44.287552,-6.6144727 45.938151,-6.6144727" id="path150"/>
    <g transform="matrix(3.4330979,0,0,3.4330979,-44.101789,-291.16184)" id="g1810">
      <path d="M 30.376009,97.474733 C 30.648009,98.082733 30.632009,98.834733 31.384009,99.218733 31.688009,99.506733 31.976009,99.458733 32.312009,99.442733 32.344009,99.298733 32.680009,99.058733 32.552009,98.850733 32.520009,98.658733 32.056009,98.034733 31.976009,97.794733 31.480009,96.370733 31.064009,94.962733 30.952009,93.506733 30.696009,92.306733 30.872009,91.250733 30.792009,90.098733 30.680009,89.906733 30.760009,89.122733 30.424009,88.898733 30.312009,88.770733 29.928009,88.466733 29.880009,88.450733 29.864009,88.450733 29.240009,88.322733 29.096009,88.338733 28.968009,88.530733 28.632009,88.850733 28.696009,89.106733 28.632009,89.954733 28.504009,90.706733 28.168009,91.426733 27.880009,91.826733 27.704009,92.514733 27.384009,92.738733 27.336009,92.722733 27.256009,92.658733 27.256009,92.642733 L 26.248009,89.442733 C 26.248009,89.426733 26.056009,89.122733 26.008009,89.010733 25.752009,88.578733 25.544009,88.306733 25.064009,88.114733 24.920009,88.050733 24.824009,88.018733 24.728009,88.018733 24.552009,88.018733 24.456009,88.146733 24.312009,88.338733 23.976009,89.218733 23.944009,90.658733 23.720009,91.522733 23.464009,92.850733 22.840009,94.098733 22.344009,95.282733 22.120009,95.666733 21.656009,96.354733 21.320009,96.578733 21.256009,96.786733 21.240009,97.106733 21.352009,97.362733 21.496009,97.650733 21.800009,98.178733 22.040009,98.258733 22.392009,98.338733 22.696009,98.018733 22.952009,97.794733 23.560009,96.658733 24.168009,95.314733 24.632009,94.066733 24.840009,93.506733 25.048009,92.642733 25.304009,92.178733 L 25.464009,92.306733 C 25.560009,92.562733 26.008009,93.906733 26.168009,94.162733 26.424009,94.642733 26.872009,95.314733 27.336009,95.618733 27.832009,95.570733 28.088009,95.410733 28.344009,95.058733 28.648009,94.418733 28.936009,93.490733 29.304009,93.074733 29.320009,93.058733 29.400009,93.106733 29.416009,93.106733 29.656009,93.714733 29.576009,94.450733 29.720009,95.058733 30.040009,95.890733 30.040009,96.610733 30.376009,97.474733 Z" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" id="path1246"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633 M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633" id="path158"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 32.914853,93.871633 C 33.444853,95.321633 33.964853,96.771633 34.594853,98.491633 M 32.914853,93.871633 C 33.544853,95.601633 34.174853,97.341633 34.594853,98.491633" id="path162"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 36.274853,93.871633 C 35.744853,95.321633 35.224853,96.771633 34.594853,98.491633 M 36.274853,93.871633 C 35.644853,95.601633 35.014853,97.341633 34.594853,98.491633" id="path166"/>
    </g>
    <ellipse ry="17.226866" rx="16.145964" cy="69.225922" cx="55.539074" id="path1227-7" style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.03833305;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
    <text id="text1231-1" y="82.147202" x="51.281685" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.5691452px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0142287" xml:space="preserve"><tspan style="stroke-width:1.0142287" y="82.147202" x="51.281685" id="tspan1229-2">1</tspan></text>
  </g>
`;
var pasteIcons_Markdown = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:4.25816107;stroke-linecap:round" d="M 35.312808,-6.3987547 M 35.312808,-6.3987547 C 49.173123,-6.3987547 63.033437,-6.3987547 75.765339,-6.3987547 M 35.312808,-6.3987547 C 43.573642,-6.3987547 51.834474,-6.3987547 75.765339,-6.3987547 M 75.765339,-6.3987547 C 89.242419,-6.3987547 95.991604,0.35043061 95.991604,13.82751 M 75.765339,-6.3987547 C 89.242419,-6.3987547 95.991604,0.35043061 95.991604,13.82751 M 95.991604,13.82751 C 95.991604,28.433003 95.991604,43.038496 95.991604,64.116394 M 95.991604,13.82751 C 95.991604,24.281296 95.991604,34.756373 95.991604,64.116394 M 95.991604,64.116394 C 95.991604,77.593473 89.242419,84.342659 75.765339,84.342659 M 95.991604,64.116394 C 95.991604,77.593473 89.242419,84.342659 75.765339,84.342659 M 75.765339,84.342659 C 64.523794,84.342659 53.282249,84.342659 35.312808,84.342659 M 75.765339,84.342659 C 65.801242,84.342659 55.858436,84.342659 35.312808,84.342659 M 35.312808,84.342659 C 21.835729,84.342659 15.086543,77.593473 15.086543,64.116394 M 35.312808,84.342659 C 21.835729,84.342659 15.086543,77.593473 15.086543,64.116394 M 15.086543,64.116394 C 15.086543,52.150961 15.086543,40.185529 15.086543,13.82751 M 15.086543,64.116394 C 15.086543,51.405783 15.086543,38.695172 15.086543,13.82751 M 15.086543,13.82751 C 15.086543,0.35043061 21.835729,-6.3987547 35.312808,-6.3987547 M 15.086543,13.82751 C 15.086543,0.35043061 21.835729,-6.3987547 35.312808,-6.3987547" id="path70"/>
    <path style="fill:none;stroke:#000000;stroke-width:4.25816107;stroke-linecap:round" d="M 43.898039,-6.2078529 M 43.898039,-6.2078529 C 52.13758,-6.2078529 60.377122,-6.2078529 67.168889,-6.2078529 M 43.898039,-6.2078529 C 52.307906,-6.2078529 60.696484,-6.2078529 67.168889,-6.2078529 M 67.168889,-6.2078529 C 69.170225,-6.2078529 70.192183,-5.207185 70.192183,-3.2058493 M 67.168889,-6.2078529 C 69.170225,-6.2078529 70.192183,-5.207185 70.192183,-3.2058493 M 70.192183,-3.2058493 C 70.192183,-1.161932 70.192183,0.8819854 70.192183,2.8194487 M 70.192183,-3.2058493 C 70.192183,-0.8638607 70.192183,1.4781279 70.192183,2.8194487 M 70.192183,2.8194487 C 70.192183,4.8207844 69.170225,5.8214522 67.168889,5.8214522 M 70.192183,2.8194487 C 70.192183,4.8207844 69.170225,5.8214522 67.168889,5.8214522 M 67.168889,5.8214522 C 62.484912,5.8214522 57.822225,5.8214522 43.898039,5.8214522 M 67.168889,5.8214522 C 57.992552,5.8214522 48.794923,5.8214522 43.898039,5.8214522 M 43.898039,5.8214522 C 41.896703,5.8214522 40.896034,4.8207844 40.896034,2.8194487 M 43.898039,5.8214522 C 41.896703,5.8214522 40.896034,4.8207844 40.896034,2.8194487 M 40.896034,2.8194487 C 40.896034,0.8606946 40.896034,-1.0980595 40.896034,-3.2058493 M 40.896034,2.8194487 C 40.896034,0.8394038 40.896034,-1.1406411 40.896034,-3.2058493 M 40.896034,-3.2058493 C 40.896034,-5.207185 41.896703,-6.2078529 43.898039,-6.2078529 M 40.896034,-3.2058493 C 40.896034,-5.207185 41.896703,-6.2078529 43.898039,-6.2078529" id="path74"/>
    <g transform="matrix(4.1626009,0,0,4.1626009,-65.274595,-346.96088)" id="g1810-7">
      <path d="M 30.376009,97.474733 C 30.648009,98.082733 30.632009,98.834733 31.384009,99.218733 31.688009,99.506733 31.976009,99.458733 32.312009,99.442733 32.344009,99.298733 32.680009,99.058733 32.552009,98.850733 32.520009,98.658733 32.056009,98.034733 31.976009,97.794733 31.480009,96.370733 31.064009,94.962733 30.952009,93.506733 30.696009,92.306733 30.872009,91.250733 30.792009,90.098733 30.680009,89.906733 30.760009,89.122733 30.424009,88.898733 30.312009,88.770733 29.928009,88.466733 29.880009,88.450733 29.864009,88.450733 29.240009,88.322733 29.096009,88.338733 28.968009,88.530733 28.632009,88.850733 28.696009,89.106733 28.632009,89.954733 28.504009,90.706733 28.168009,91.426733 27.880009,91.826733 27.704009,92.514733 27.384009,92.738733 27.336009,92.722733 27.256009,92.658733 27.256009,92.642733 L 26.248009,89.442733 C 26.248009,89.426733 26.056009,89.122733 26.008009,89.010733 25.752009,88.578733 25.544009,88.306733 25.064009,88.114733 24.920009,88.050733 24.824009,88.018733 24.728009,88.018733 24.552009,88.018733 24.456009,88.146733 24.312009,88.338733 23.976009,89.218733 23.944009,90.658733 23.720009,91.522733 23.464009,92.850733 22.840009,94.098733 22.344009,95.282733 22.120009,95.666733 21.656009,96.354733 21.320009,96.578733 21.256009,96.786733 21.240009,97.106733 21.352009,97.362733 21.496009,97.650733 21.800009,98.178733 22.040009,98.258733 22.392009,98.338733 22.696009,98.018733 22.952009,97.794733 23.560009,96.658733 24.168009,95.314733 24.632009,94.066733 24.840009,93.506733 25.048009,92.642733 25.304009,92.178733 L 25.464009,92.306733 C 25.560009,92.562733 26.008009,93.906733 26.168009,94.162733 26.424009,94.642733 26.872009,95.314733 27.336009,95.618733 27.832009,95.570733 28.088009,95.410733 28.344009,95.058733 28.648009,94.418733 28.936009,93.490733 29.304009,93.074733 29.320009,93.058733 29.400009,93.106733 29.416009,93.106733 29.656009,93.714733 29.576009,94.450733 29.720009,95.058733 30.040009,95.890733 30.040009,96.610733 30.376009,97.474733 Z" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" id="path1246-3"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633 M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633" id="path158-8"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 32.914853,93.871633 C 33.444853,95.321633 33.964853,96.771633 34.594853,98.491633 M 32.914853,93.871633 C 33.544853,95.601633 34.174853,97.341633 34.594853,98.491633" id="path162-2"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 36.274853,93.871633 C 35.744853,95.321633 35.224853,96.771633 34.594853,98.491633 M 36.274853,93.871633 C 35.644853,95.601633 35.014853,97.341633 34.594853,98.491633" id="path166-30"/>
    </g>
  </g>
`;
var pasteIcons_MarkdownBlockquote_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 39.125733,-6.8001605 M 39.125733,-6.8001605 C 50.114033,-6.8001605 61.11961,-6.8001605 71.952416,-6.8001605 M 39.125733,-6.8001605 C 46.589484,-6.8001605 54.035958,-6.8001605 71.952416,-6.8001605 M 71.952416,-6.8001605 C 82.888884,-6.8001605 88.365757,-1.3232877 88.365757,9.6131813 M 71.952416,-6.8001605 C 82.888884,-6.8001605 88.365757,-1.3232877 88.365757,9.6131813 M 88.365757,9.6131813 C 88.365757,22.536528 88.365757,35.459874 88.365757,50.421931 M 88.365757,9.6131813 C 88.365757,24.609792 88.365757,39.589126 88.365757,50.421931 M 88.365757,50.421931 C 88.365757,61.3584 82.888884,66.835273 71.952416,66.835273 M 88.365757,50.421931 C 88.365757,61.3584 82.888884,66.835273 71.952416,66.835273 M 71.952416,66.835273 C 64.160398,66.835273 56.385657,66.835273 39.125733,66.835273 M 71.952416,66.835273 C 59.754711,66.835273 47.53973,66.835273 39.125733,66.835273 M 39.125733,66.835273 C 28.189264,66.835273 22.712391,61.3584 22.712391,50.421931 M 39.125733,66.835273 C 28.189264,66.835273 22.712391,61.3584 22.712391,50.421931 M 22.712391,50.421931 C 22.712391,37.89596 22.712391,25.387266 22.712391,9.6131813 M 22.712391,50.421931 C 22.712391,39.865561 22.712391,29.291914 22.712391,9.6131813 M 22.712391,9.6131813 C 22.712391,-1.3232877 28.189264,-6.8001605 39.125733,-6.8001605 M 22.712391,9.6131813 C 22.712391,-1.3232877 28.189264,-6.8001605 39.125733,-6.8001605" id="path254"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 46.092531,-6.6452531 M 46.092531,-6.6452531 C 51.845839,-6.6452531 57.58187,-6.6452531 64.976512,-6.6452531 M 46.092531,-6.6452531 C 52.796085,-6.6452531 59.499639,-6.6452531 64.976512,-6.6452531 M 64.976512,-6.6452531 C 66.600569,-6.6452531 67.429875,-5.8332247 67.429875,-4.2091677 M 64.976512,-6.6452531 C 66.600569,-6.6452531 67.429875,-5.8332247 67.429875,-4.2091677 M 67.429875,-4.2091677 C 67.429875,-2.4123387 67.429875,-0.63278672 67.429875,0.68028028 M 67.429875,-4.2091677 C 67.429875,-2.4814477 67.429875,-0.75372772 67.429875,0.68028028 M 67.429875,0.68028028 C 67.429875,2.3043373 66.600569,3.1163663 64.976512,3.1163663 M 67.429875,0.68028028 C 67.429875,2.3043373 66.600569,3.1163663 64.976512,3.1163663 M 64.976512,3.1163663 C 57.530038,3.1163663 50.083564,3.1163663 46.092531,3.1163663 M 64.976512,3.1163663 C 58.307512,3.1163663 51.621235,3.1163663 46.092531,3.1163663 M 46.092531,3.1163663 C 44.468474,3.1163663 43.656445,2.3043373 43.656445,0.68028028 M 46.092531,3.1163663 C 44.468474,3.1163663 43.656445,2.3043373 43.656445,0.68028028 M 43.656445,0.68028028 C 43.656445,-0.46001472 43.656445,-1.6003097 43.656445,-4.2091677 M 43.656445,0.68028028 C 43.656445,-0.89194472 43.656445,-2.4468927 43.656445,-4.2091677 M 43.656445,-4.2091677 C 43.656445,-5.8332247 44.468474,-6.6452531 46.092531,-6.6452531 M 43.656445,-4.2091677 C 43.656445,-5.8332247 44.468474,-6.6452531 46.092531,-6.6452531" id="path258"/>
    <g transform="matrix(1.7277202,0,0,1.7277202,-11.842013,-350.06967)" id="g1793">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1" cx="28.999996" cy="242.84772" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.10374451px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57759362" x="25.835085" y="250.20627" id="text1231-75"><tspan id="tspan1229-1" x="25.835085" y="250.20627" style="stroke-width:0.57759362">1</tspan></text>
    </g>
    <g transform="matrix(1.7277202,0,0,1.7277202,18.623707,-239.40027)" id="g1623-9">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8-0" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5-7"><tspan id="tspan1229-1-3-6" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(3.3778945,0,0,3.3778945,-42.49959,-286.61718)" id="g1810-76">
      <path d="M 30.376009,97.474733 C 30.648009,98.082733 30.632009,98.834733 31.384009,99.218733 31.688009,99.506733 31.976009,99.458733 32.312009,99.442733 32.344009,99.298733 32.680009,99.058733 32.552009,98.850733 32.520009,98.658733 32.056009,98.034733 31.976009,97.794733 31.480009,96.370733 31.064009,94.962733 30.952009,93.506733 30.696009,92.306733 30.872009,91.250733 30.792009,90.098733 30.680009,89.906733 30.760009,89.122733 30.424009,88.898733 30.312009,88.770733 29.928009,88.466733 29.880009,88.450733 29.864009,88.450733 29.240009,88.322733 29.096009,88.338733 28.968009,88.530733 28.632009,88.850733 28.696009,89.106733 28.632009,89.954733 28.504009,90.706733 28.168009,91.426733 27.880009,91.826733 27.704009,92.514733 27.384009,92.738733 27.336009,92.722733 27.256009,92.658733 27.256009,92.642733 L 26.248009,89.442733 C 26.248009,89.426733 26.056009,89.122733 26.008009,89.010733 25.752009,88.578733 25.544009,88.306733 25.064009,88.114733 24.920009,88.050733 24.824009,88.018733 24.728009,88.018733 24.552009,88.018733 24.456009,88.146733 24.312009,88.338733 23.976009,89.218733 23.944009,90.658733 23.720009,91.522733 23.464009,92.850733 22.840009,94.098733 22.344009,95.282733 22.120009,95.666733 21.656009,96.354733 21.320009,96.578733 21.256009,96.786733 21.240009,97.106733 21.352009,97.362733 21.496009,97.650733 21.800009,98.178733 22.040009,98.258733 22.392009,98.338733 22.696009,98.018733 22.952009,97.794733 23.560009,96.658733 24.168009,95.314733 24.632009,94.066733 24.840009,93.506733 25.048009,92.642733 25.304009,92.178733 L 25.464009,92.306733 C 25.560009,92.562733 26.008009,93.906733 26.168009,94.162733 26.424009,94.642733 26.872009,95.314733 27.336009,95.618733 27.832009,95.570733 28.088009,95.410733 28.344009,95.058733 28.648009,94.418733 28.936009,93.490733 29.304009,93.074733 29.320009,93.058733 29.400009,93.106733 29.416009,93.106733 29.656009,93.714733 29.576009,94.450733 29.720009,95.058733 30.040009,95.890733 30.040009,96.610733 30.376009,97.474733 Z" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" id="path1246-2"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633 M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633" id="path158-7"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 32.914853,93.871633 C 33.444853,95.321633 33.964853,96.771633 34.594853,98.491633 M 32.914853,93.871633 C 33.544853,95.601633 34.174853,97.341633 34.594853,98.491633" id="path162-1"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 36.274853,93.871633 C 35.744853,95.321633 35.224853,96.771633 34.594853,98.491633 M 36.274853,93.871633 C 35.644853,95.601633 35.014853,97.341633 34.594853,98.491633" id="path166-5"/>
    </g>
  </g>
`;
var pasteIcons_MarkdownBlockquote = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.53916121;stroke-linecap:round" d="M 38.728058,-6.7582887 M 38.728058,-6.7582887 C 50.690423,-6.7582887 62.652786,-6.7582887 72.350086,-6.7582887 M 38.728058,-6.7582887 C 49.257062,-6.7582887 59.786066,-6.7582887 72.350086,-6.7582887 M 72.350086,-6.7582887 C 83.551536,-6.7582887 89.161106,-1.1487187 89.161106,10.052727 M 72.350086,-6.7582887 C 83.551536,-6.7582887 89.161106,-1.1487187 89.161106,10.052727 M 89.161106,10.052727 C 89.161106,22.209746 89.161106,34.38446 89.161106,51.850221 M 89.161106,10.052727 C 89.161106,26.58061 89.161106,43.090797 89.161106,51.850221 M 89.161106,51.850221 C 89.161106,63.051666 83.551536,68.661237 72.350086,68.661237 M 89.161106,51.850221 C 89.161106,63.051666 83.551536,68.661237 72.350086,68.661237 M 72.350086,68.661237 C 63.449096,68.661237 54.548108,68.661237 38.728058,68.661237 M 72.350086,68.661237 C 59.874546,68.661237 47.399003,68.661237 38.728058,68.661237 M 38.728058,68.661237 C 27.526612,68.661237 21.917042,63.051666 21.917042,51.850221 M 38.728058,68.661237 C 27.526612,68.661237 21.917042,63.051666 21.917042,51.850221 M 21.917042,51.850221 C 21.917042,41.427391 21.917042,31.022257 21.917042,10.052727 M 21.917042,51.850221 C 21.917042,40.224076 21.917042,28.597932 21.917042,10.052727 M 21.917042,10.052727 C 21.917042,-1.1487187 27.526612,-6.7582887 38.728058,-6.7582887 M 21.917042,10.052727 C 21.917042,-1.1487187 27.526612,-6.7582887 38.728058,-6.7582887" id="path192"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.53916121;stroke-linecap:round" d="M 45.863652,-6.5996287 M 45.863652,-6.5996287 C 51.154699,-6.5996287 56.428049,-6.5996287 65.205166,-6.5996287 M 45.863652,-6.5996287 C 49.8806,-6.5996287 53.879853,-6.5996287 65.205166,-6.5996287 M 65.205166,-6.5996287 C 66.868576,-6.5996287 67.717976,-5.7679257 67.717976,-4.1045197 M 65.205166,-6.5996287 C 66.868576,-6.5996287 67.717976,-5.7679257 67.717976,-4.1045197 M 67.717976,-4.1045197 C 67.717976,-2.7596387 67.717976,-1.3970607 67.717976,0.90339329 M 67.717976,-4.1045197 C 67.717976,-2.4234177 67.717976,-0.72462071 67.717976,0.90339329 M 67.717976,0.90339329 C 67.717976,2.5667993 66.868576,3.3985023 65.205166,3.3985023 M 67.717976,0.90339329 C 67.717976,2.5667993 66.868576,3.3985023 65.205166,3.3985023 M 65.205166,3.3985023 C 58.958546,3.3985023 52.711929,3.3985023 45.863652,3.3985023 M 65.205166,3.3985023 C 59.684076,3.3985023 54.14529,3.3985023 45.863652,3.3985023 M 45.863652,3.3985023 C 44.200247,3.3985023 43.368544,2.5667993 43.368544,0.90339329 M 45.863652,3.3985023 C 44.200247,3.3985023 43.368544,2.5667993 43.368544,0.90339329 M 43.368544,0.90339329 C 43.368544,-0.97236171 43.368544,-2.8481177 43.368544,-4.1045197 M 43.368544,0.90339329 C 43.368544,-1.0077537 43.368544,-2.9189007 43.368544,-4.1045197 M 43.368544,-4.1045197 C 43.368544,-5.7679257 44.200247,-6.5996287 45.863652,-6.5996287 M 43.368544,-4.1045197 C 43.368544,-5.7679257 44.200247,-6.5996287 45.863652,-6.5996287" id="path196"/>
    <g transform="matrix(1.7695806,0,0,1.7695806,2.1975358,-247.29574)" id="g1623">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5"><tspan id="tspan1229-1-3" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(3.4597366,0,0,3.4597366,-44.874942,-293.35493)" id="g1810-0">
      <path d="M 30.376009,97.474733 C 30.648009,98.082733 30.632009,98.834733 31.384009,99.218733 31.688009,99.506733 31.976009,99.458733 32.312009,99.442733 32.344009,99.298733 32.680009,99.058733 32.552009,98.850733 32.520009,98.658733 32.056009,98.034733 31.976009,97.794733 31.480009,96.370733 31.064009,94.962733 30.952009,93.506733 30.696009,92.306733 30.872009,91.250733 30.792009,90.098733 30.680009,89.906733 30.760009,89.122733 30.424009,88.898733 30.312009,88.770733 29.928009,88.466733 29.880009,88.450733 29.864009,88.450733 29.240009,88.322733 29.096009,88.338733 28.968009,88.530733 28.632009,88.850733 28.696009,89.106733 28.632009,89.954733 28.504009,90.706733 28.168009,91.426733 27.880009,91.826733 27.704009,92.514733 27.384009,92.738733 27.336009,92.722733 27.256009,92.658733 27.256009,92.642733 L 26.248009,89.442733 C 26.248009,89.426733 26.056009,89.122733 26.008009,89.010733 25.752009,88.578733 25.544009,88.306733 25.064009,88.114733 24.920009,88.050733 24.824009,88.018733 24.728009,88.018733 24.552009,88.018733 24.456009,88.146733 24.312009,88.338733 23.976009,89.218733 23.944009,90.658733 23.720009,91.522733 23.464009,92.850733 22.840009,94.098733 22.344009,95.282733 22.120009,95.666733 21.656009,96.354733 21.320009,96.578733 21.256009,96.786733 21.240009,97.106733 21.352009,97.362733 21.496009,97.650733 21.800009,98.178733 22.040009,98.258733 22.392009,98.338733 22.696009,98.018733 22.952009,97.794733 23.560009,96.658733 24.168009,95.314733 24.632009,94.066733 24.840009,93.506733 25.048009,92.642733 25.304009,92.178733 L 25.464009,92.306733 C 25.560009,92.562733 26.008009,93.906733 26.168009,94.162733 26.424009,94.642733 26.872009,95.314733 27.336009,95.618733 27.832009,95.570733 28.088009,95.410733 28.344009,95.058733 28.648009,94.418733 28.936009,93.490733 29.304009,93.074733 29.320009,93.058733 29.400009,93.106733 29.416009,93.106733 29.656009,93.714733 29.576009,94.450733 29.720009,95.058733 30.040009,95.890733 30.040009,96.610733 30.376009,97.474733 Z" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" id="path1246-6"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633 M 34.594853,88.651633 C 34.594853,90.291633 34.594853,96.851633 34.594853,98.491633" id="path158-0"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 32.914853,93.871633 C 33.444853,95.321633 33.964853,96.771633 34.594853,98.491633 M 32.914853,93.871633 C 33.544853,95.601633 34.174853,97.341633 34.594853,98.491633" id="path162-8"/>
      <path style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round" d="M 36.274853,93.871633 C 35.744853,95.321633 35.224853,96.771633 34.594853,98.491633 M 36.274853,93.871633 C 35.644853,95.601633 35.014853,97.341633 34.594853,98.491633" id="path166-3"/>
    </g>
  </g>
`;
var pasteIcons_Passthrough = '\n  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>\n  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">\n    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">\n        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>\n        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n        <dc:title/>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">\n    <g id="g110" transform="matrix(2.1290806,0,0,2.1290806,15.086542,-6.3987556)" style="stroke-linecap:round">\n      <path id="path108" d="M 9.5,0 M 9.5,0 C 13.66,0 17.83,0 28.5,0 M 9.5,0 C 16.19,0 22.88,0 28.5,0 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 38,9.5 C 38,18.32 38,27.14 38,33.12 M 38,9.5 C 38,18.21 38,26.93 38,33.12 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 28.5,42.62 C 21.93,42.62 15.35,42.62 9.5,42.62 M 28.5,42.62 C 22.57,42.62 16.64,42.62 9.5,42.62 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 0,33.12 C 0,25.23 0,17.34 0,9.5 M 0,33.12 C 0,26.97 0,20.83 0,9.5 M 0,9.5 C 0,3.17 3.17,0 9.5,0 M 0,9.5 C 0,3.17 3.17,0 9.5,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n    </g>\n    <g id="g114" transform="matrix(2.1290806,0,0,2.1290806,40.896047,-6.2078536)" style="stroke-linecap:round">\n      <path id="path112" d="M 1.41,0 M 1.41,0 C 4.33,0 7.25,0 12.34,0 M 1.41,0 C 4.82,0 8.22,0 12.34,0 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 13.76,1.41 C 13.76,2.43 13.76,3.44 13.76,4.24 M 13.76,1.41 C 13.76,2.22 13.76,3.02 13.76,4.24 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 12.34,5.65 C 9.31,5.65 6.28,5.65 1.41,5.65 M 12.34,5.65 C 10.06,5.65 7.78,5.65 1.41,5.65 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 0,4.24 C 0,3.67 0,3.11 0,1.41 M 0,4.24 C 0,3.22 0,2.21 0,1.41 M 0,1.41 C 0,0.47 0.47,0 1.41,0 M 0,1.41 C 0,0.47 0.47,0 1.41,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n    </g>\n    <g transform="matrix(2.1290806,0,0,2.1290806,-325.92542,-27.689561)" id="g128" style="stroke-linecap:round">\n      <g id="g118" transform="translate(170.75262,32.384287)">\n        <path id="path116" d="M 0,0 C 2.81,0 14.03,0 16.83,0 M 0,0 C 2.81,0 14.03,0 16.83,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n      </g>\n      <g id="g122" transform="translate(170.75262,32.384287)">\n        <path id="path120" d="M 8.92,2.88 C 10.74,2.22 12.55,1.56 16.83,0 M 8.92,2.88 C 12.01,1.76 15.09,0.64 16.83,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n      </g>\n      <g id="g126" transform="translate(170.75262,32.384287)">\n        <path id="path124" d="M 8.92,-2.88 C 10.74,-2.22 12.55,-1.56 16.83,0 M 8.92,-2.88 C 12.01,-1.76 15.09,-0.64 16.83,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n      </g>\n    </g>\n  </g>\n';
var pasteIcons_Text_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.51191115;stroke-linecap:round" d="M 38.857498,-6.7719173 M 38.857498,-6.7719173 C 52.009605,-6.7719173 65.144153,-6.7719173 72.220654,-6.7719173 M 38.857498,-6.7719173 C 49.322993,-6.7719173 59.806048,-6.7719173 72.220654,-6.7719173 M 72.220654,-6.7719173 C 83.335853,-6.7719173 88.902227,-1.2055383 88.902227,9.9096605 M 72.220654,-6.7719173 C 83.335853,-6.7719173 88.902227,-1.2055383 88.902227,9.9096605 M 88.902227,9.9096605 C 88.902227,19.637654 88.902227,29.365648 88.902227,51.385324 M 88.902227,9.9096605 C 88.902227,19.901048 88.902227,29.909995 88.902227,51.385324 M 88.902227,51.385324 C 88.902227,62.500523 83.335853,68.066902 72.220654,68.066902 M 88.902227,51.385324 C 88.902227,62.500523 83.335853,68.066902 72.220654,68.066902 M 72.220654,68.066902 C 64.353973,68.066902 56.487292,68.066902 38.857498,68.066902 M 72.220654,68.066902 C 59.156344,68.066902 46.092035,68.066902 38.857498,68.066902 M 38.857498,68.066902 C 27.742299,68.066902 22.17592,62.500523 22.17592,51.385324 M 38.857498,68.066902 C 27.742299,68.066902 22.17592,62.500523 22.17592,51.385324 M 22.17592,51.385324 C 22.17592,38.865368 22.17592,26.345405 22.17592,9.9096605 M 22.17592,51.385324 C 22.17592,38.198105 22.17592,25.010878 22.17592,9.9096605 M 22.17592,9.9096605 C 22.17592,-1.2055383 27.742299,-6.7719173 38.857498,-6.7719173 M 22.17592,9.9096605 C 22.17592,-1.2055383 27.742299,-6.7719173 38.857498,-6.7719173" id="path130"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.51191115;stroke-linecap:round" d="M 45.938152,-6.6144733 M 45.938152,-6.6144733 C 50.854827,-6.6144733 55.771503,-6.6144733 65.130746,-6.6144733 M 45.938152,-6.6144733 C 52.417628,-6.6144733 58.879544,-6.6144733 65.130746,-6.6144733 M 65.130746,-6.6144733 C 66.781344,-6.6144733 67.624203,-5.7891743 67.624203,-4.1385763 M 65.130746,-6.6144733 C 66.781344,-6.6144733 67.624203,-5.7891743 67.624203,-4.1385763 M 67.624203,-4.1385763 C 67.624203,-2.2948223 67.624203,-0.46862833 67.624203,0.83077867 M 67.624203,-4.1385763 C 67.624203,-2.7162523 67.624203,-1.2939283 67.624203,0.83077867 M 67.624203,0.83077867 C 67.624203,2.4813767 66.781344,3.3066757 65.130746,3.3066757 M 67.624203,0.83077867 C 67.624203,2.4813767 66.781344,3.3066757 65.130746,3.3066757 M 65.130746,3.3066757 C 58.036686,3.3066757 50.960185,3.3066757 45.938152,3.3066757 M 65.130746,3.3066757 C 58.581032,3.3066757 52.013758,3.3066757 45.938152,3.3066757 M 45.938152,3.3066757 C 44.287554,3.3066757 43.462254,2.4813767 43.462254,0.83077867 M 45.938152,3.3066757 C 44.287554,3.3066757 43.462254,2.4813767 43.462254,0.83077867 M 43.462254,0.83077867 C 43.462254,-1.1183323 43.462254,-3.0674433 43.462254,-4.1385763 M 43.462254,0.83077867 C 43.462254,-0.85493933 43.462254,-2.5230963 43.462254,-4.1385763 M 43.462254,-4.1385763 C 43.462254,-5.7891743 44.287554,-6.6144733 45.938152,-6.6144733 M 43.462254,-4.1385763 C 43.462254,-5.7891743 44.287554,-6.6144733 45.938152,-6.6144733" id="path134"/>
    <g transform="matrix(2.7001004,0,0,2.7001004,27.467011,-7.3515633)" aria-label="abc" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="text138">
      <path d="M 5.0514288,9.6933334 C 5.5342859,10.213333 6.0171431,10.894286 6.5371431,11.34 L 6.5866671,11.36476 C 6.9333338,11.550474 7.1066671,11.723808 7.4780957,11.637141 7.6638098,11.587619 7.9114289,11.500952 8.0228574,11.34 8.0476193,11.253333 8.134286,11.104762 8.1095241,11.018095 8.0723812,10.980952 7.9857146,10.881905 7.9485717,10.869524 7.6761908,10.832381 7.5523812,10.621905 7.2428574,10.399048 7.1438098,10.275238 6.7104764,9.9657143 6.6114288,9.8419048 6.2400002,9.2352381 5.8561907,8.4923809 5.521905,7.8114285 5.4228573,7.6628571 5.2247621,7.5761904 5.0514288,7.5019047 5.0142859,7.4647618 4.9028573,7.3780952 4.8904764,7.3409523 4.989524,7.1057142 4.6428573,7.0438095 4.5066668,6.9447618 4.1352382,6.9076188 3.7266668,6.8457138 3.3304763,6.8457138 2.8228572,6.8457138 2.3276191,6.9323808 1.9190477,7.2666662 1.2257143,7.848571 0.30952382,8.5542853 0.27238096,9.5323806 0.13619048,10.089524 0.43333335,10.535238 0.74285717,11.018095 1.0647619,11.401905 1.6714286,11.624762 2.1790477,11.562857 3.2685715,11.575237 4.1352382,10.745714 4.8161907,10.002857 4.8657147,9.916191 4.9647621,9.7552377 5.0514288,9.6933334 Z M 1.4485715,10.077143 C 1.312381,9.8295238 1.1885715,9.532381 1.3742858,9.2971429 1.7952382,8.7028571 2.3028572,7.9847619 3.0085715,7.8857142 3.5038097,7.7742857 3.949524,7.8238095 4.4323811,7.7123809 4.4447621,7.8733333 4.3580954,8.207619 4.3457144,8.3561905 4.2961906,8.7771428 4.0361906,9.2104762 3.8009525,9.532381 3.4542858,9.9161905 3.2561906,10.101905 2.6990477,10.312381 2.5133334,10.361901 2.3152382,10.411431 2.1171429,10.411431 1.8571429,10.411431 1.6095239,10.324761 1.4485715,10.077145 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1236"/>
      <path d="M 8.5552357,12.828351 C 8.5428547,13.385494 8.5428547,14.078827 8.5552357,14.63597 8.6295217,15.354065 9.013331,15.997874 9.6076167,16.369303 10.16476,16.691208 10.573331,16.876922 11.179998,16.827398 11.947617,16.839778 12.702855,16.629303 13.334284,16.195969 13.792379,15.775017 14.312379,15.316922 14.213331,14.660732 14.262851,14.078827 13.80476,13.298827 13.247617,13.026446 12.715236,12.778827 12.195236,12.692161 11.638093,12.692161 11.241903,12.692161 10.845712,12.741681 10.412379,12.778831 10.399999,12.778831 10.362859,12.778831 10.30095,12.791211 L 9.9047596,12.865501 C 9.8428546,12.865501 9.8057116,12.877881 9.793331,12.877881 9.719045,12.308357 9.793331,11.144548 9.892379,10.327406 9.941902,9.4731135 10.115236,8.6683521 10.127617,7.8140663 10.028567,7.6035901 9.805712,7.4054949 9.5828548,7.4054949 9.4961878,7.4054949 9.4095215,7.4426379 9.3352358,7.5045429 9.2238072,7.628352 9.0752358,7.7273997 9.025712,7.900733 9.013331,9.2254945 8.8028548,10.649304 8.7161881,11.974066 8.6914261,12.172161 8.6047596,12.580733 8.5552357,12.828351 Z M 9.8799977,14.536922 C 9.8304737,14.301684 9.9419027,14.227398 10.127617,14.078827 10.499045,13.85597 11.142855,13.633113 11.699998,13.633113 11.86095,13.633113 12.021903,13.657873 12.158093,13.695013 12.554284,13.818823 13.086664,14.31406 12.938093,14.784537 12.814284,15.341679 12.232379,15.552155 11.761903,15.651202 11.378093,15.688342 10.833331,15.651202 10.511426,15.576922 10.263807,15.341679 9.7809501,14.95787 9.8799977,14.536917 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1238"/>
      <path d="M 14.745705,18.166518 C 14.696185,18.649375 14.770465,19.194137 15.055228,19.577946 15.488562,20.135089 16.181895,20.518899 16.862848,20.741756 17.469514,20.92747 18.051419,21.014137 18.670467,21.125565 19.116181,21.249375 19.462848,21.336042 19.920943,21.286518 20.156181,21.212228 20.490467,20.976994 20.552371,20.741756 20.577131,20.630327 20.416181,20.370327 20.317133,20.283661 L 18.819038,19.961756 C 18.187609,19.850327 17.531419,19.75128 16.924752,19.516042 16.590467,19.392232 16.318086,19.156994 16.082847,18.872233 15.785705,18.723661 16.008567,18.166518 15.996177,18.005566 16.367605,17.485566 16.763796,16.916042 17.407605,16.75509 17.717129,16.74271 18.001891,16.69319 18.286653,16.8789 18.422844,16.95319 18.608558,17.448423 18.670463,17.609376 18.769513,17.881756 19.079034,17.757947 19.28951,17.770328 19.438082,17.757948 19.54951,17.572233 19.611415,17.460804 19.636185,17.064614 19.623795,16.6189 19.376181,16.284614 19.017133,15.925567 18.596181,15.467471 18.039038,15.492233 17.234276,15.343662 16.392371,15.739852 15.847609,16.3589 15.2038,16.903662 14.869514,17.361757 14.745705,18.166518 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1240"/>
    </g>
    <ellipse ry="17.226866" rx="16.145964" cy="69.225922" cx="55.53907" id="path1227" style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.03833305;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
    <text id="text1231" y="82.147202" x="51.281693" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.56914902px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.0142287" xml:space="preserve"><tspan style="stroke-width:1.0142287" y="82.147202" x="51.281693" id="tspan1229">1</tspan></text>
  </g>
`;
var pasteIcons_Text = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <g id="g60" transform="matrix(2.1290806,0,0,2.1290806,15.086542,-6.3987556)" style="stroke-linecap:round">
      <path id="path58" d="M 9.5,0 M 9.5,0 C 14.91,0 20.33,0 28.5,0 M 9.5,0 C 15.08,0 20.66,0 28.5,0 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 38,9.5 C 38,16.56 38,23.61 38,33.12 M 38,9.5 C 38,18.09 38,26.68 38,33.12 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 28.5,42.62 C 24.56,42.62 20.63,42.62 9.5,42.62 M 28.5,42.62 C 22.94,42.62 17.39,42.62 9.5,42.62 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 0,33.12 C 0,27.35 0,21.59 0,9.5 M 0,33.12 C 0,24.31 0,15.5 0,9.5 M 0,9.5 C 0,3.17 3.17,0 9.5,0 M 0,9.5 C 0,3.17 3.17,0 9.5,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g id="g64" transform="matrix(2.1290806,0,0,2.1290806,40.896032,-6.2078536)" style="stroke-linecap:round">
      <path id="path62" d="M 1.41,0 M 1.41,0 C 5.59,0 9.77,0 12.34,0 M 1.41,0 C 4.27,0 7.12,0 12.34,0 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 13.76,1.41 C 13.76,2.34 13.76,3.27 13.76,4.24 M 13.76,1.41 C 13.76,2.49 13.76,3.56 13.76,4.24 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 12.34,5.65 C 8.75,5.65 5.15,5.65 1.41,5.65 M 12.34,5.65 C 8.69,5.65 5.04,5.65 1.41,5.65 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 0,4.24 C 0,3.4 0,2.57 0,1.41 M 0,4.24 C 0,3.4 0,2.56 0,1.41 M 0,1.41 C 0,0.47 0.47,0 1.41,0 M 0,1.41 C 0,0.47 0.47,0 1.41,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g transform="matrix(3.2738478,0,0,3.2738478,21.501943,-2.8434056)" aria-label="abc" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="text138-58">
      <path d="M 5.0514288,9.6933334 C 5.5342859,10.213333 6.0171431,10.894286 6.5371431,11.34 L 6.5866671,11.36476 C 6.9333338,11.550474 7.1066671,11.723808 7.4780957,11.637141 7.6638098,11.587619 7.9114289,11.500952 8.0228574,11.34 8.0476193,11.253333 8.134286,11.104762 8.1095241,11.018095 8.0723812,10.980952 7.9857146,10.881905 7.9485717,10.869524 7.6761908,10.832381 7.5523812,10.621905 7.2428574,10.399048 7.1438098,10.275238 6.7104764,9.9657143 6.6114288,9.8419048 6.2400002,9.2352381 5.8561907,8.4923809 5.521905,7.8114285 5.4228573,7.6628571 5.2247621,7.5761904 5.0514288,7.5019047 5.0142859,7.4647618 4.9028573,7.3780952 4.8904764,7.3409523 4.989524,7.1057142 4.6428573,7.0438095 4.5066668,6.9447618 4.1352382,6.9076188 3.7266668,6.8457138 3.3304763,6.8457138 2.8228572,6.8457138 2.3276191,6.9323808 1.9190477,7.2666662 1.2257143,7.848571 0.30952382,8.5542853 0.27238096,9.5323806 0.13619048,10.089524 0.43333335,10.535238 0.74285717,11.018095 1.0647619,11.401905 1.6714286,11.624762 2.1790477,11.562857 3.2685715,11.575237 4.1352382,10.745714 4.8161907,10.002857 4.8657147,9.916191 4.9647621,9.7552377 5.0514288,9.6933334 Z M 1.4485715,10.077143 C 1.312381,9.8295238 1.1885715,9.532381 1.3742858,9.2971429 1.7952382,8.7028571 2.3028572,7.9847619 3.0085715,7.8857142 3.5038097,7.7742857 3.949524,7.8238095 4.4323811,7.7123809 4.4447621,7.8733333 4.3580954,8.207619 4.3457144,8.3561905 4.2961906,8.7771428 4.0361906,9.2104762 3.8009525,9.532381 3.4542858,9.9161905 3.2561906,10.101905 2.6990477,10.312381 2.5133334,10.361901 2.3152382,10.411431 2.1171429,10.411431 1.8571429,10.411431 1.6095239,10.324761 1.4485715,10.077145 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1236-5"/>
      <path d="M 8.5552357,12.828351 C 8.5428547,13.385494 8.5428547,14.078827 8.5552357,14.63597 8.6295217,15.354065 9.013331,15.997874 9.6076167,16.369303 10.16476,16.691208 10.573331,16.876922 11.179998,16.827398 11.947617,16.839778 12.702855,16.629303 13.334284,16.195969 13.792379,15.775017 14.312379,15.316922 14.213331,14.660732 14.262851,14.078827 13.80476,13.298827 13.247617,13.026446 12.715236,12.778827 12.195236,12.692161 11.638093,12.692161 11.241903,12.692161 10.845712,12.741681 10.412379,12.778831 10.399999,12.778831 10.362859,12.778831 10.30095,12.791211 L 9.9047596,12.865501 C 9.8428546,12.865501 9.8057116,12.877881 9.793331,12.877881 9.719045,12.308357 9.793331,11.144548 9.892379,10.327406 9.941902,9.4731135 10.115236,8.6683521 10.127617,7.8140663 10.028567,7.6035901 9.805712,7.4054949 9.5828548,7.4054949 9.4961878,7.4054949 9.4095215,7.4426379 9.3352358,7.5045429 9.2238072,7.628352 9.0752358,7.7273997 9.025712,7.900733 9.013331,9.2254945 8.8028548,10.649304 8.7161881,11.974066 8.6914261,12.172161 8.6047596,12.580733 8.5552357,12.828351 Z M 9.8799977,14.536922 C 9.8304737,14.301684 9.9419027,14.227398 10.127617,14.078827 10.499045,13.85597 11.142855,13.633113 11.699998,13.633113 11.86095,13.633113 12.021903,13.657873 12.158093,13.695013 12.554284,13.818823 13.086664,14.31406 12.938093,14.784537 12.814284,15.341679 12.232379,15.552155 11.761903,15.651202 11.378093,15.688342 10.833331,15.651202 10.511426,15.576922 10.263807,15.341679 9.7809501,14.95787 9.8799977,14.536917 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1238-5"/>
      <path d="M 14.745705,18.166518 C 14.696185,18.649375 14.770465,19.194137 15.055228,19.577946 15.488562,20.135089 16.181895,20.518899 16.862848,20.741756 17.469514,20.92747 18.051419,21.014137 18.670467,21.125565 19.116181,21.249375 19.462848,21.336042 19.920943,21.286518 20.156181,21.212228 20.490467,20.976994 20.552371,20.741756 20.577131,20.630327 20.416181,20.370327 20.317133,20.283661 L 18.819038,19.961756 C 18.187609,19.850327 17.531419,19.75128 16.924752,19.516042 16.590467,19.392232 16.318086,19.156994 16.082847,18.872233 15.785705,18.723661 16.008567,18.166518 15.996177,18.005566 16.367605,17.485566 16.763796,16.916042 17.407605,16.75509 17.717129,16.74271 18.001891,16.69319 18.286653,16.8789 18.422844,16.95319 18.608558,17.448423 18.670463,17.609376 18.769513,17.881756 19.079034,17.757947 19.28951,17.770328 19.438082,17.757948 19.54951,17.572233 19.611415,17.460804 19.636185,17.064614 19.623795,16.6189 19.376181,16.284614 19.017133,15.925567 18.596181,15.467471 18.039038,15.492233 17.234276,15.343662 16.392371,15.739852 15.847609,16.3589 15.2038,16.903662 14.869514,17.361757 14.745705,18.166518 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1240-0"/>
    </g>
  </g>
`;
var pasteIcons_TextBlockquote_hourglass = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 39.125733,-6.80016 M 39.125733,-6.80016 C 49.163787,-6.80016 59.219119,-6.80016 71.952416,-6.80016 M 39.125733,-6.80016 C 46.606762,-6.80016 54.105067,-6.80016 71.952416,-6.80016 M 71.952416,-6.80016 C 82.888885,-6.80016 88.365758,-1.3232872 88.365758,9.6131818 M 71.952416,-6.80016 C 82.888885,-6.80016 88.365758,-1.3232872 88.365758,9.6131818 M 88.365758,9.6131818 C 88.365758,25.093555 88.365758,40.573927 88.365758,50.421932 M 88.365758,9.6131818 C 88.365758,25.300881 88.365758,40.971303 88.365758,50.421932 M 88.365758,50.421932 C 88.365758,61.358401 82.888885,66.835274 71.952416,66.835274 M 88.365758,50.421932 C 88.365758,61.358401 82.888885,66.835274 71.952416,66.835274 M 71.952416,66.835274 C 62.640005,66.835274 53.327593,66.835274 39.125733,66.835274 M 71.952416,66.835274 C 62.622727,66.835274 53.275761,66.835274 39.125733,66.835274 M 39.125733,66.835274 C 28.189263,66.835274 22.71239,61.358401 22.71239,50.421932 M 39.125733,66.835274 C 28.189263,66.835274 22.71239,61.358401 22.71239,50.421932 M 22.71239,50.421932 C 22.71239,39.831008 22.71239,29.25736 22.71239,9.6131818 M 22.71239,50.421932 C 22.71239,38.898039 22.71239,27.356868 22.71239,9.6131818 M 22.71239,9.6131818 C 22.71239,-1.3232872 28.189263,-6.80016 39.125733,-6.80016 M 22.71239,9.6131818 C 22.71239,-1.3232872 28.189263,-6.80016 39.125733,-6.80016" id="path288"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.45544028;stroke-linecap:round" d="M 46.092532,-6.6452526 M 46.092532,-6.6452526 C 49.997179,-6.6452526 53.901827,-6.6452526 64.976513,-6.6452526 M 46.092532,-6.6452526 C 52.554205,-6.6452526 59.015878,-6.6452526 64.976513,-6.6452526 M 64.976513,-6.6452526 C 66.60057,-6.6452526 67.429876,-5.8332241 67.429876,-4.2091671 M 64.976513,-6.6452526 C 66.60057,-6.6452526 67.429876,-5.8332241 67.429876,-4.2091671 M 67.429876,-4.2091671 C 67.429876,-3.2070894 67.429876,-2.2050117 67.429876,0.68028078 M 67.429876,-4.2091671 C 67.429876,-3.0515946 67.429876,-1.8940221 67.429876,0.68028078 M 67.429876,0.68028078 C 67.429876,2.3043378 66.60057,3.1163668 64.976513,3.1163668 M 67.429876,0.68028078 C 67.429876,2.3043378 66.60057,3.1163668 64.976513,3.1163668 M 64.976513,3.1163668 C 58.497562,3.1163668 52.001335,3.1163668 46.092532,3.1163668 M 64.976513,3.1163668 C 60.208005,3.1163668 55.439498,3.1163668 46.092532,3.1163668 M 46.092532,3.1163668 C 44.468475,3.1163668 43.656446,2.3043378 43.656446,0.68028078 M 46.092532,3.1163668 C 44.468475,3.1163668 43.656446,2.3043378 43.656446,0.68028078 M 43.656446,0.68028078 C 43.656446,-1.2547652 43.656446,-3.1898122 43.656446,-4.2091671 M 43.656446,0.68028078 C 43.656446,-0.82283522 43.656446,-2.3259522 43.656446,-4.2091671 M 43.656446,-4.2091671 C 43.656446,-5.8332241 44.468475,-6.6452526 46.092532,-6.6452526 M 43.656446,-4.2091671 C 43.656446,-5.8332241 44.468475,-6.6452526 46.092532,-6.6452526" id="path292"/>
    <g transform="matrix(1.7277202,0,0,1.7277202,-98.182944,-350.06968)" id="g1798">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-17" cx="78.973907" cy="242.84772" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:23.10374451px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57759362" x="76.54937" y="250.20627" id="text1231-0"><tspan id="tspan1229-4" x="76.54937" y="250.20627" style="stroke-width:0.57759362">1</tspan></text>
    </g>
    <g id="g1623-5-3" transform="matrix(1.7277202,0,0,1.7277202,18.623699,-239.40028)">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8-4-7" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5-9-6"><tspan id="tspan1229-1-3-8-1" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(2.6566833,0,0,2.6566833,27.918401,-7.3704804)" aria-label="abc" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="text138-1">
      <path d="M 5.0514288,9.6933334 C 5.5342859,10.213333 6.0171431,10.894286 6.5371431,11.34 L 6.5866671,11.36476 C 6.9333338,11.550474 7.1066671,11.723808 7.4780957,11.637141 7.6638098,11.587619 7.9114289,11.500952 8.0228574,11.34 8.0476193,11.253333 8.134286,11.104762 8.1095241,11.018095 8.0723812,10.980952 7.9857146,10.881905 7.9485717,10.869524 7.6761908,10.832381 7.5523812,10.621905 7.2428574,10.399048 7.1438098,10.275238 6.7104764,9.9657143 6.6114288,9.8419048 6.2400002,9.2352381 5.8561907,8.4923809 5.521905,7.8114285 5.4228573,7.6628571 5.2247621,7.5761904 5.0514288,7.5019047 5.0142859,7.4647618 4.9028573,7.3780952 4.8904764,7.3409523 4.989524,7.1057142 4.6428573,7.0438095 4.5066668,6.9447618 4.1352382,6.9076188 3.7266668,6.8457138 3.3304763,6.8457138 2.8228572,6.8457138 2.3276191,6.9323808 1.9190477,7.2666662 1.2257143,7.848571 0.30952382,8.5542853 0.27238096,9.5323806 0.13619048,10.089524 0.43333335,10.535238 0.74285717,11.018095 1.0647619,11.401905 1.6714286,11.624762 2.1790477,11.562857 3.2685715,11.575237 4.1352382,10.745714 4.8161907,10.002857 4.8657147,9.916191 4.9647621,9.7552377 5.0514288,9.6933334 Z M 1.4485715,10.077143 C 1.312381,9.8295238 1.1885715,9.532381 1.3742858,9.2971429 1.7952382,8.7028571 2.3028572,7.9847619 3.0085715,7.8857142 3.5038097,7.7742857 3.949524,7.8238095 4.4323811,7.7123809 4.4447621,7.8733333 4.3580954,8.207619 4.3457144,8.3561905 4.2961906,8.7771428 4.0361906,9.2104762 3.8009525,9.532381 3.4542858,9.9161905 3.2561906,10.101905 2.6990477,10.312381 2.5133334,10.361901 2.3152382,10.411431 2.1171429,10.411431 1.8571429,10.411431 1.6095239,10.324761 1.4485715,10.077145 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1236-7"/>
      <path d="M 8.5552357,12.828351 C 8.5428547,13.385494 8.5428547,14.078827 8.5552357,14.63597 8.6295217,15.354065 9.013331,15.997874 9.6076167,16.369303 10.16476,16.691208 10.573331,16.876922 11.179998,16.827398 11.947617,16.839778 12.702855,16.629303 13.334284,16.195969 13.792379,15.775017 14.312379,15.316922 14.213331,14.660732 14.262851,14.078827 13.80476,13.298827 13.247617,13.026446 12.715236,12.778827 12.195236,12.692161 11.638093,12.692161 11.241903,12.692161 10.845712,12.741681 10.412379,12.778831 10.399999,12.778831 10.362859,12.778831 10.30095,12.791211 L 9.9047596,12.865501 C 9.8428546,12.865501 9.8057116,12.877881 9.793331,12.877881 9.719045,12.308357 9.793331,11.144548 9.892379,10.327406 9.941902,9.4731135 10.115236,8.6683521 10.127617,7.8140663 10.028567,7.6035901 9.805712,7.4054949 9.5828548,7.4054949 9.4961878,7.4054949 9.4095215,7.4426379 9.3352358,7.5045429 9.2238072,7.628352 9.0752358,7.7273997 9.025712,7.900733 9.013331,9.2254945 8.8028548,10.649304 8.7161881,11.974066 8.6914261,12.172161 8.6047596,12.580733 8.5552357,12.828351 Z M 9.8799977,14.536922 C 9.8304737,14.301684 9.9419027,14.227398 10.127617,14.078827 10.499045,13.85597 11.142855,13.633113 11.699998,13.633113 11.86095,13.633113 12.021903,13.657873 12.158093,13.695013 12.554284,13.818823 13.086664,14.31406 12.938093,14.784537 12.814284,15.341679 12.232379,15.552155 11.761903,15.651202 11.378093,15.688342 10.833331,15.651202 10.511426,15.576922 10.263807,15.341679 9.7809501,14.95787 9.8799977,14.536917 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1238-7"/>
      <path d="M 14.745705,18.166518 C 14.696185,18.649375 14.770465,19.194137 15.055228,19.577946 15.488562,20.135089 16.181895,20.518899 16.862848,20.741756 17.469514,20.92747 18.051419,21.014137 18.670467,21.125565 19.116181,21.249375 19.462848,21.336042 19.920943,21.286518 20.156181,21.212228 20.490467,20.976994 20.552371,20.741756 20.577131,20.630327 20.416181,20.370327 20.317133,20.283661 L 18.819038,19.961756 C 18.187609,19.850327 17.531419,19.75128 16.924752,19.516042 16.590467,19.392232 16.318086,19.156994 16.082847,18.872233 15.785705,18.723661 16.008567,18.166518 15.996177,18.005566 16.367605,17.485566 16.763796,16.916042 17.407605,16.75509 17.717129,16.74271 18.001891,16.69319 18.286653,16.8789 18.422844,16.95319 18.608558,17.448423 18.670463,17.609376 18.769513,17.881756 19.079034,17.757947 19.28951,17.770328 19.438082,17.757948 19.54951,17.572233 19.611415,17.460804 19.636185,17.064614 19.623795,16.6189 19.376181,16.284614 19.017133,15.925567 18.596181,15.467471 18.039038,15.492233 17.234276,15.343662 16.392371,15.739852 15.847609,16.3589 15.2038,16.903662 14.869514,17.361757 14.745705,18.166518 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1240-9"/>
    </g>
  </g>
`;
var pasteIcons_TextBlockquote = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <path style="fill:none;stroke:#000000;stroke-width:3.5578208;stroke-linecap:round" d="M 38.639428,-6.7489608 M 38.639428,-6.7489608 C 49.188358,-6.7489608 59.719508,-6.7489608 72.438718,-6.7489608 M 38.639428,-6.7489608 C 48.672478,-6.7489608 58.687738,-6.7489608 72.438718,-6.7489608 M 72.438718,-6.7489608 C 83.699218,-6.7489608 89.338368,-1.1098152 89.338368,10.150688 M 72.438718,-6.7489608 C 83.699218,-6.7489608 89.338368,-1.1098152 89.338368,10.150688 M 89.338368,10.150688 C 89.338368,20.308266 89.338368,30.448055 89.338368,52.168551 M 89.338368,10.150688 C 89.338368,25.004589 89.338368,39.87628 89.338368,52.168551 M 89.338368,52.168551 C 89.338368,63.429054 83.699218,69.0682 72.438718,69.0682 M 89.338368,52.168551 C 89.338368,63.429054 83.699218,69.0682 72.438718,69.0682 M 72.438718,69.0682 C 61.533998,69.0682 50.647068,69.0682 38.639428,69.0682 M 72.438718,69.0682 C 60.093078,69.0682 47.747448,69.0682 38.639428,69.0682 M 38.639428,69.0682 C 27.378926,69.0682 21.73978,63.429054 21.73978,52.168551 M 38.639428,69.0682 C 27.378926,69.0682 21.73978,63.429054 21.73978,52.168551 M 21.73978,52.168551 C 21.73978,41.922027 21.73978,31.675503 21.73978,10.150688 M 21.73978,52.168551 C 21.73978,38.061792 21.73978,23.955032 21.73978,10.150688 M 21.73978,10.150688 C 21.73978,-1.1098152 27.378926,-6.7489608 38.639428,-6.7489608 M 21.73978,10.150688 C 21.73978,-1.1098152 27.378926,-6.7489608 38.639428,-6.7489608" id="path222"/>
    <path style="fill:none;stroke:#000000;stroke-width:3.5578208;stroke-linecap:round" d="M 45.812648,-6.5894638 M 45.812648,-6.5894638 C 51.202748,-6.5894638 56.592848,-6.5894638 65.256138,-6.5894638 M 45.812648,-6.5894638 C 52.501348,-6.5894638 59.190058,-6.5894638 65.256138,-6.5894638 M 65.256138,-6.5894638 C 66.928318,-6.5894638 67.782188,-5.7533758 67.782188,-4.0812008 M 65.256138,-6.5894638 C 66.928318,-6.5894638 67.782188,-5.7533758 67.782188,-4.0812008 M 67.782188,-4.0812008 C 67.782188,-2.2133445 67.782188,-0.34548853 67.782188,0.95311607 M 67.782188,-4.0812008 C 67.782188,-2.5513375 67.782188,-1.0214745 67.782188,0.95311607 M 67.782188,0.95311607 C 67.782188,2.6252918 66.928318,3.4613797 65.256138,3.4613797 M 67.782188,0.95311607 C 67.782188,2.6252918 66.928318,3.4613797 65.256138,3.4613797 M 65.256138,3.4613797 C 58.247228,3.4613797 51.238328,3.4613797 45.812648,3.4613797 M 65.256138,3.4613797 C 58.798698,3.4613797 52.341248,3.4613797 45.812648,3.4613797 M 45.812648,3.4613797 C 44.140468,3.4613797 43.304378,2.6252918 43.304378,0.95311607 M 45.812648,3.4613797 C 44.140468,3.4613797 43.304378,2.6252918 43.304378,0.95311607 M 43.304378,0.95311607 C 43.304378,-0.36327763 43.304378,-1.6618822 43.304378,-4.0812008 M 43.304378,0.95311607 C 43.304378,-0.80800533 43.304378,-2.5691266 43.304378,-4.0812008 M 43.304378,-4.0812008 C 43.304378,-5.7533758 44.140468,-6.5894638 45.812648,-6.5894638 M 43.304378,-4.0812008 C 43.304378,-5.7533758 44.140468,-6.5894638 45.812648,-6.5894638" id="path226"/>
    <g id="g1623-5" transform="matrix(1.7789104,0,0,1.7789104,1.9163068,-249.05547)">
      <ellipse style="opacity:1;fill:#000000;fill-opacity:0.93023257;stroke:#ca0000;stroke-width:0.02183031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path1227-1-8-4" cx="30.143604" cy="178.79256" rx="9.194973" ry="9.8105364"/>
      <text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16.36215401px;line-height:1.25;font-family:'Virgil 3 YOFF';-inkscape-font-specification:'Virgil 3 YOFF, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.40905386" x="25.899658" y="183.94006" id="text1231-75-5-9"><tspan id="tspan1229-1-3-8" x="25.899658" y="183.94006" style="stroke-width:0.40905386">></tspan></text>
    </g>
    <g transform="matrix(2.7353976,0,0,2.7353976,27.100039,-7.3361798)" aria-label="abc" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="text138-5">
      <path d="M 5.0514288,9.6933334 C 5.5342859,10.213333 6.0171431,10.894286 6.5371431,11.34 L 6.5866671,11.36476 C 6.9333338,11.550474 7.1066671,11.723808 7.4780957,11.637141 7.6638098,11.587619 7.9114289,11.500952 8.0228574,11.34 8.0476193,11.253333 8.134286,11.104762 8.1095241,11.018095 8.0723812,10.980952 7.9857146,10.881905 7.9485717,10.869524 7.6761908,10.832381 7.5523812,10.621905 7.2428574,10.399048 7.1438098,10.275238 6.7104764,9.9657143 6.6114288,9.8419048 6.2400002,9.2352381 5.8561907,8.4923809 5.521905,7.8114285 5.4228573,7.6628571 5.2247621,7.5761904 5.0514288,7.5019047 5.0142859,7.4647618 4.9028573,7.3780952 4.8904764,7.3409523 4.989524,7.1057142 4.6428573,7.0438095 4.5066668,6.9447618 4.1352382,6.9076188 3.7266668,6.8457138 3.3304763,6.8457138 2.8228572,6.8457138 2.3276191,6.9323808 1.9190477,7.2666662 1.2257143,7.848571 0.30952382,8.5542853 0.27238096,9.5323806 0.13619048,10.089524 0.43333335,10.535238 0.74285717,11.018095 1.0647619,11.401905 1.6714286,11.624762 2.1790477,11.562857 3.2685715,11.575237 4.1352382,10.745714 4.8161907,10.002857 4.8657147,9.916191 4.9647621,9.7552377 5.0514288,9.6933334 Z M 1.4485715,10.077143 C 1.312381,9.8295238 1.1885715,9.532381 1.3742858,9.2971429 1.7952382,8.7028571 2.3028572,7.9847619 3.0085715,7.8857142 3.5038097,7.7742857 3.949524,7.8238095 4.4323811,7.7123809 4.4447621,7.8733333 4.3580954,8.207619 4.3457144,8.3561905 4.2961906,8.7771428 4.0361906,9.2104762 3.8009525,9.532381 3.4542858,9.9161905 3.2561906,10.101905 2.6990477,10.312381 2.5133334,10.361901 2.3152382,10.411431 2.1171429,10.411431 1.8571429,10.411431 1.6095239,10.324761 1.4485715,10.077145 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1236-8"/>
      <path d="M 8.5552357,12.828351 C 8.5428547,13.385494 8.5428547,14.078827 8.5552357,14.63597 8.6295217,15.354065 9.013331,15.997874 9.6076167,16.369303 10.16476,16.691208 10.573331,16.876922 11.179998,16.827398 11.947617,16.839778 12.702855,16.629303 13.334284,16.195969 13.792379,15.775017 14.312379,15.316922 14.213331,14.660732 14.262851,14.078827 13.80476,13.298827 13.247617,13.026446 12.715236,12.778827 12.195236,12.692161 11.638093,12.692161 11.241903,12.692161 10.845712,12.741681 10.412379,12.778831 10.399999,12.778831 10.362859,12.778831 10.30095,12.791211 L 9.9047596,12.865501 C 9.8428546,12.865501 9.8057116,12.877881 9.793331,12.877881 9.719045,12.308357 9.793331,11.144548 9.892379,10.327406 9.941902,9.4731135 10.115236,8.6683521 10.127617,7.8140663 10.028567,7.6035901 9.805712,7.4054949 9.5828548,7.4054949 9.4961878,7.4054949 9.4095215,7.4426379 9.3352358,7.5045429 9.2238072,7.628352 9.0752358,7.7273997 9.025712,7.900733 9.013331,9.2254945 8.8028548,10.649304 8.7161881,11.974066 8.6914261,12.172161 8.6047596,12.580733 8.5552357,12.828351 Z M 9.8799977,14.536922 C 9.8304737,14.301684 9.9419027,14.227398 10.127617,14.078827 10.499045,13.85597 11.142855,13.633113 11.699998,13.633113 11.86095,13.633113 12.021903,13.657873 12.158093,13.695013 12.554284,13.818823 13.086664,14.31406 12.938093,14.784537 12.814284,15.341679 12.232379,15.552155 11.761903,15.651202 11.378093,15.688342 10.833331,15.651202 10.511426,15.576922 10.263807,15.341679 9.7809501,14.95787 9.8799977,14.536917 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1238-9"/>
      <path d="M 14.745705,18.166518 C 14.696185,18.649375 14.770465,19.194137 15.055228,19.577946 15.488562,20.135089 16.181895,20.518899 16.862848,20.741756 17.469514,20.92747 18.051419,21.014137 18.670467,21.125565 19.116181,21.249375 19.462848,21.336042 19.920943,21.286518 20.156181,21.212228 20.490467,20.976994 20.552371,20.741756 20.577131,20.630327 20.416181,20.370327 20.317133,20.283661 L 18.819038,19.961756 C 18.187609,19.850327 17.531419,19.75128 16.924752,19.516042 16.590467,19.392232 16.318086,19.156994 16.082847,18.872233 15.785705,18.723661 16.008567,18.166518 15.996177,18.005566 16.367605,17.485566 16.763796,16.916042 17.407605,16.75509 17.717129,16.74271 18.001891,16.69319 18.286653,16.8789 18.422844,16.95319 18.608558,17.448423 18.670463,17.609376 18.769513,17.881756 19.079034,17.757947 19.28951,17.770328 19.438082,17.757948 19.54951,17.572233 19.611415,17.460804 19.636185,17.064614 19.623795,16.6189 19.376181,16.284614 19.017133,15.925567 18.596181,15.467471 18.039038,15.492233 17.234276,15.343662 16.392371,15.739852 15.847609,16.3589 15.2038,16.903662 14.869514,17.361757 14.745705,18.166518 Z" style="font-size:12.38095284px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1240-5"/>
    </g>
  </g>
`;
var pasteIcons_clipboard_cycle = '\n  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>\n  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">\n    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">\n        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>\n        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>\n        <dc:title/>\n      </cc:Work>\n    </rdf:RDF>\n  </metadata>\n  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">\n    <g id="g12" transform="matrix(2.1290806,0,0,2.1290806,15.118479,-6.3987556)" style="stroke-linecap:round">\n      <path id="path10" d="M 9.49,0 M 9.49,0 C 14.68,0 19.87,0 28.48,0 M 9.49,0 C 14.11,0 18.73,0 28.48,0 M 28.48,0 C 34.81,0 37.97,3.16 37.97,9.49 M 28.48,0 C 34.81,0 37.97,3.16 37.97,9.49 M 37.97,9.49 C 37.97,14.42 37.97,19.35 37.97,33.13 M 37.97,9.49 C 37.97,18.55 37.97,27.6 37.97,33.13 M 37.97,33.13 C 37.97,39.46 34.81,42.62 28.48,42.62 M 37.97,33.13 C 37.97,39.46 34.81,42.62 28.48,42.62 M 28.48,42.62 C 22.07,42.62 15.65,42.62 9.49,42.62 M 28.48,42.62 C 24.64,42.62 20.8,42.62 9.49,42.62 M 9.49,42.62 C 3.16,42.62 0,39.46 0,33.13 M 9.49,42.62 C 3.16,42.62 0,39.46 0,33.13 M 0,33.13 C 0,27.86 0,22.59 0,9.49 M 0,33.13 C 0,26.3 0,19.48 0,9.49 M 0,9.49 C 0,3.16 3.16,0 9.49,0 M 0,9.49 C 0,3.16 3.16,0 9.49,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n    </g>\n    <g id="g16" transform="matrix(2.1290806,0,0,2.1290806,38.843249,-6.2078536)" style="stroke-linecap:round">\n      <path id="path14" d="M 1.41,0 M 1.41,0 C 4.08,0 6.74,0 12.34,0 M 1.41,0 C 3.62,0 5.82,0 12.34,0 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 13.76,1.41 C 13.76,2.48 13.76,3.55 13.76,4.24 M 13.76,1.41 C 13.76,2.27 13.76,3.13 13.76,4.24 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 12.34,5.65 C 9.28,5.65 6.21,5.65 1.41,5.65 M 12.34,5.65 C 9.56,5.65 6.78,5.65 1.41,5.65 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 0,4.24 C 0,3.42 0,2.59 0,1.41 M 0,4.24 C 0,3.23 0,2.22 0,1.41 M 0,1.41 C 0,0.47 0.47,0 1.41,0 M 0,1.41 C 0,0.47 0.47,0 1.41,0" style="fill:none;stroke:#000000;stroke-width:2"/>\n    </g>\n    <g transform="matrix(2.9530313,0,0,2.9530313,-807.83451,-53.487943)" id="g2047">\n      <g style="stroke-linecap:round" id="g30">\n        <g transform="rotate(24.079985,91.421693,709.74467)" id="g20">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 0,0 C 1.19,0.72 6.9,1.92 7.14,4.32 7.37,6.71 2.36,12.7 1.41,14.37 M 0,0 C 1.19,0.72 6.9,1.92 7.14,4.32 7.37,6.71 2.36,12.7 1.41,14.37" id="path18"/>\n        </g>\n        <g transform="rotate(24.079985,91.421693,709.74467)" id="g24">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 2.88,8.78 C 2.43,10.46 1.99,12.15 1.41,14.37 M 2.88,8.78 C 2.45,10.41 2.02,12.04 1.41,14.37" id="path22"/>\n        </g>\n        <g transform="rotate(24.079985,91.421693,709.74467)" id="g28">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 6.13,11.03 C 4.71,12.04 3.29,13.04 1.41,14.37 M 6.13,11.03 C 4.75,12 3.38,12.98 1.41,14.37" id="path26"/>\n        </g>\n      </g>\n      <g style="stroke-linecap:round" id="g44">\n        <g transform="rotate(-158.19207,147.51216,-8.5860521)" id="g34">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 0,0 C 1.3,0.89 7.55,2.96 7.79,5.36 8.02,7.75 2.47,12.87 1.41,14.37 M 0,0 C 1.3,0.89 7.55,2.96 7.79,5.36 8.02,7.75 2.47,12.87 1.41,14.37" id="path32"/>\n        </g>\n        <g transform="rotate(-158.19207,147.51216,-8.5860521)" id="g38">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 3.41,9.23 C 2.74,10.95 2.07,12.68 1.41,14.37 M 3.41,9.23 C 2.85,10.66 2.29,12.1 1.41,14.37" id="path36"/>\n        </g>\n        <g transform="rotate(-158.19207,147.51216,-8.5860521)" id="g42">\n          <path style="fill:none;stroke:#000000;stroke-width:2" d="M 6.25,11.72 C 4.62,12.61 3,13.5 1.41,14.37 M 6.25,11.72 C 4.9,12.46 3.55,13.2 1.41,14.37" id="path40"/>\n        </g>\n      </g>\n    </g>\n  </g>\n';
var pasteIcons_clipboard_question = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <g id="g48" transform="matrix(2.1290806,0,0,2.1290806,15.086542,-6.3987556)" style="stroke-linecap:round">
      <path id="path46" d="M 9.5,0 M 9.5,0 C 16.74,0 23.98,0 28.5,0 M 9.5,0 C 14.41,0 19.33,0 28.5,0 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 28.5,0 C 34.83,0 38,3.17 38,9.5 M 38,9.5 C 38,16.15 38,22.8 38,33.12 M 38,9.5 C 38,15.67 38,21.83 38,33.12 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 38,33.12 C 38,39.45 34.83,42.62 28.5,42.62 M 28.5,42.62 C 22.84,42.62 17.19,42.62 9.5,42.62 M 28.5,42.62 C 24.01,42.62 19.53,42.62 9.5,42.62 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 9.5,42.62 C 3.17,42.62 0,39.45 0,33.12 M 0,33.12 C 0,23.95 0,14.78 0,9.5 M 0,33.12 C 0,26.53 0,19.94 0,9.5 M 0,9.5 C 0,3.17 3.17,0 9.5,0 M 0,9.5 C 0,3.17 3.17,0 9.5,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g id="g52" transform="matrix(2.1290806,0,0,2.1290806,38.811312,-6.2078536)" style="stroke-linecap:round">
      <path id="path50" d="M 1.41,0 M 1.41,0 C 4.62,0 7.83,0 12.34,0 M 1.41,0 C 4.76,0 8.11,0 12.34,0 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 12.34,0 C 13.28,0 13.76,0.47 13.76,1.41 M 13.76,1.41 C 13.76,2.2 13.76,2.99 13.76,4.24 M 13.76,1.41 C 13.76,2.31 13.76,3.21 13.76,4.24 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 13.76,4.24 C 13.76,5.18 13.28,5.65 12.34,5.65 M 12.34,5.65 C 9.42,5.65 6.51,5.65 1.41,5.65 M 12.34,5.65 C 9.4,5.65 6.46,5.65 1.41,5.65 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 1.41,5.65 C 0.47,5.65 0,5.18 0,4.24 M 0,4.24 C 0,3.38 0,2.52 0,1.41 M 0,4.24 C 0,3.23 0,2.21 0,1.41 M 0,1.41 C 0,0.47 0.47,0 1.41,0 M 0,1.41 C 0,0.47 0.47,0 1.41,0" style="fill:none;stroke:#000000;stroke-width:2"/>
    </g>
    <g id="g56" transform="matrix(5.3166016,0,0,5.3166016,-18.89311,-2.1505046)">
      <g id="text54" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" aria-label="?">
        <path id="path1216" style="font-size:16px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:middle;white-space:pre;fill:#000000" d="M 12.096003,9.488 C 12.096003,10.144 13.040003,10.544 13.104003,10.592 13.344003,10.64 13.728003,10.56 13.920003,10.496 13.984003,10.432 14.288003,9.968 14.224003,9.888 14.224003,9.712 14.112003,9.568 14.112003,9.376 14.288003,8.72 15.168003,8.048 15.840003,7.568 15.920003,7.488 17.456003,6.128 17.456003,5.84 17.680003,5.248 17.536003,4.64 17.056003,4.224 16.160003,3.328 15.040003,3.088 13.904003,3.088 13.056003,3.088 12.192003,3.216 11.392003,3.312 10.208003,3.312 10.464003,4.096 10.464003,4.128 10.464003,4.688 10.704003,4.768 10.992003,4.832 H 11.696003 C 11.904003,4.832 13.008003,4.624 13.008003,4.624 H 14.320003 C 14.480003,4.624 15.184003,4.784 15.344003,4.832 15.600003,5.088 15.712003,5.312 15.648003,5.632 15.520003,5.808 14.800003,6.528 14.624003,6.656 14.608003,6.672 14.528003,6.736 14.432003,6.8 L 13.712003,7.216 C 13.616003,7.28 13.552003,7.328 13.520003,7.36 12.784003,7.904 12.112003,8.464 12.096003,9.488 Z M 13.616003,11.504 C 13.136003,11.712 12.752003,12.288 12.800003,12.736 V 12.928 C 13.008003,13.44 13.168003,13.952 13.696003,13.952 14.240003,14.16 14.672003,13.28 14.736003,12.816 14.912003,12.16 14.560003,11.664 13.920003,11.504 Z"/>
      </g>
    </g>
  </g>
`;
var pasteIcons_quote_text = `
  <defs id="defs1572" xmlns="http://www.w3.org/2000/svg"/>
  <metadata id="metadata1575" xmlns="http://www.w3.org/2000/svg">
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#">
        <dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-5.5390738,11.028048)" id="layer1" xmlns="http://www.w3.org/2000/svg">
    <g transform="matrix(2.1492696,0,0,2.1492696,5.8726092,-7.2164116)" aria-label=">..." style="font-size:36px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="text6">
      <path d="M 3.276,29.876 C 3.672,30.56 3.816,31.352 4.896,31.712 5.292,31.856 5.904,31.424 6.228,31.244 6.408,31.136 7.884,29.624 8.064,29.444 11.664,26.708 12.024,25.88 16.272,23.504 L 16.488,23.288 C 17.064,22.1 17.82,21.38 17.64,20.336 17.496,19.868 17.136,19.292 15.804,18.968 15.228,18.392 14.256,18.32 13.752,17.816 10.116,14.612 6.192,11.912 2.448,9.608 H 2.052 C 2.088,9.608 1.332,9.716 1.008,10.328 V 10.544 C 1.692,13.316 2.952,13.856 3.96,14.864 4.248,15.152 6.372,16.448 6.48,16.448 8.82,18.536 10.8,19.292 12.168,21.704 12.132,22.496 7.848,24.548 6.48,26.24 5.436,27.032 3.528,27.248 3.528,28.292 3.42,28.544 3.24,29.372 3.276,29.696 Z" style="font-size:36px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1207"/>
      <path d="M 19.943953,31.1 C 19.871953,31.856 19.979953,32.468 20.663953,32.864 21.275953,33.224 21.779953,33.404 22.499953,33.368 23.399953,33.368 23.723953,33.044 24.299953,32.648 24.947953,32.108 25.631953,31.244 25.451953,30.344 25.379953,29.408 25.055953,29.156 24.767953,28.364 24.227953,27.536 23.147953,27.608 22.247953,27.68 21.635953,28.076 20.663953,28.76 20.195953,29.264 19.907953,29.912 19.979953,30.236 19.943953,31.1 Z" style="font-size:36px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1209"/>
      <path d="M 29.807891,31.1 C 29.735891,31.856 29.843891,32.468 30.527891,32.864 31.139891,33.224 31.643891,33.404 32.363891,33.368 33.263891,33.368 33.587891,33.044 34.163891,32.648 34.811891,32.108 35.495891,31.244 35.315891,30.344 35.243891,29.408 34.919891,29.156 34.631891,28.364 34.091891,27.536 33.011891,27.608 32.111891,27.68 31.499891,28.076 30.527891,28.76 30.059891,29.264 29.771891,29.912 29.843891,30.236 29.807891,31.1 Z" style="font-size:36px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1211"/>
      <path d="M 39.671828,31.1 C 39.599828,31.856 39.707828,32.468 40.391828,32.864 41.003828,33.224 41.507828,33.404 42.227828,33.368 43.127828,33.368 43.451828,33.044 44.027828,32.648 44.675828,32.108 45.359828,31.244 45.179828,30.344 45.107828,29.408 44.783828,29.156 44.495828,28.364 43.955828,27.536 42.875828,27.608 41.975828,27.68 41.363828,28.076 40.391828,28.76 39.923828,29.264 39.635828,29.912 39.707828,30.236 39.671828,31.1 Z" style="font-size:36px;font-family:'Virgil 3 YOFF';direction:ltr;text-anchor:start;white-space:pre;fill:#000000" id="path1213"/>
    </g>
  </g>
`;
var icons_default = { "pasteIcons-CodeBlock-hourglass": pasteIcons_CodeBlock_hourglass, "pasteIcons-CodeBlock": pasteIcons_CodeBlock, "pasteIcons-CodeBlockBlockquote-hourglass": pasteIcons_CodeBlockBlockquote_hourglass, "pasteIcons-CodeBlockBlockquote": pasteIcons_CodeBlockBlockquote, "pasteIcons-Markdown-hourglass": pasteIcons_Markdown_hourglass, "pasteIcons-Markdown": pasteIcons_Markdown, "pasteIcons-MarkdownBlockquote-hourglass": pasteIcons_MarkdownBlockquote_hourglass, "pasteIcons-MarkdownBlockquote": pasteIcons_MarkdownBlockquote, "pasteIcons-Passthrough": pasteIcons_Passthrough, "pasteIcons-Text-hourglass": pasteIcons_Text_hourglass, "pasteIcons-Text": pasteIcons_Text, "pasteIcons-TextBlockquote-hourglass": pasteIcons_TextBlockquote_hourglass, "pasteIcons-TextBlockquote": pasteIcons_TextBlockquote, "pasteIcons-clipboard-cycle": pasteIcons_clipboard_cycle, "pasteIcons-clipboard-question": pasteIcons_clipboard_question, "pasteIcons-quote-text": pasteIcons_quote_text };

// main.ts
var moment = require_moment();
var Mode;
(function(Mode2) {
  Mode2["Text"] = "Text";
  Mode2["TextBlockquote"] = "Text (Blockquote)";
  Mode2["Markdown"] = "Markdown";
  Mode2["MarkdownBlockquote"] = "Markdown (Blockquote)";
  Mode2["CodeBlock"] = "Code Block";
  Mode2["CodeBlockBlockquote"] = "Code Block (Blockquote)";
  Mode2["Passthrough"] = "Passthrough";
})(Mode || (Mode = {}));
var createTFileObject = (fileName, arrayBuffer, app2) => __async(void 0, null, function* () {
  let tfileObject = yield app2.vault.createBinary(fileName, arrayBuffer);
  if (tfileObject === null) {
    console.log("Paste Mode: Waiting for pasted file to become available...");
    let nFileTries = 0;
    tfileObject = app2.metadataCache.getFirstLinkpathDest(fileName, "");
    while (!tfileObject && nFileTries < 30) {
      console.log(`Paste Mode: Waiting for pasted file to become available... (attempt ${nFileTries + 1})`);
      if (nFileTries === 10) {
        new import_obsidian.Notice(`Paste Mode: Waiting for pasted file to become available...`);
      }
      tfileObject = app2.metadataCache.getFirstLinkpathDest(fileName, "");
      nFileTries += 1;
      if (!tfileObject) {
        yield new Promise((r) => setTimeout(r, 100));
      }
    }
  }
  if (tfileObject === null) {
    new import_obsidian.Notice(`Error: Pasted file created at ${fileName}, but the plugin cannot currently access it. (This is not an error caused by anything you did.)`);
  }
  return tfileObject;
});
var createImageFileName = (fileLocation, extension) => __async(void 0, null, function* () {
  let imageFileName = `${fileLocation || "."}/Pasted image ${moment().format("YYYYMMDDHHmmss")}.${extension}`;
  let imageFileNameIndex = 0;
  let imageFileNameWithIndex = imageFileName;
  while (yield app.vault.adapter.exists(imageFileNameWithIndex)) {
    imageFileNameWithIndex = `${fileLocation || "."}/Pasted image ${moment().format("YYYYMMDDHHmmss")}_${imageFileNameIndex}.${extension}`;
    imageFileNameIndex += 1;
  }
  imageFileName = imageFileNameWithIndex;
  return imageFileName;
});
var PasteModeModal = class extends import_obsidian.FuzzySuggestModal {
  constructor({
    app: app2,
    onChooseItem,
    currentValue,
    showCurrentValue,
    clipboardReadWorks,
    showPassthroughMode
  }) {
    super(app2);
    this.clipboardReadWorks = clipboardReadWorks;
    this.showPassthroughMode = showPassthroughMode;
    if (showCurrentValue) {
      this.setPlaceholder(`Current: ${currentValue}`);
    }
    this.setInstructions([
      {
        command: `Paste Mode`,
        purpose: ""
      }
    ]);
    this.onChooseItem = (patternIndex) => {
      onChooseItem(patternIndex);
    };
  }
  getItems() {
    const filteredModes = Object.keys(Mode).map((key, index) => {
      if (this.showPassthroughMode && Object.values(Mode)[index] === Mode.Passthrough || Object.values(Mode)[index] !== Mode.Passthrough && (Object.values(Mode)[index] !== Mode.Markdown && Object.values(Mode)[index] !== Mode.MarkdownBlockquote || this.clipboardReadWorks === true)) {
        return index;
      } else {
        return null;
      }
    }).filter((originalIndex) => originalIndex !== null);
    return filteredModes;
  }
  getItemText(index) {
    return Object.values(Mode)[index];
  }
};
var defaultBlockquoteEscapeCharacters = "(==|<)";
var defaultSrcAttributeCopyRegex = "";
var DEFAULT_SETTINGS = {
  blockquotePrefix: "> ",
  mode: Mode.Markdown,
  saveBase64EncodedFiles: false,
  saveFilesLocation: "Attachments",
  saveFilesOverrideLocations: [],
  apiVersion: 5,
  escapeCharactersInBlockquotes: false,
  blockquoteEscapeCharactersRegex: defaultBlockquoteEscapeCharacters,
  srcAttributeCopyRegex: defaultSrcAttributeCopyRegex
};
for (const [key, value] of Object.entries(icons_exports)) {
  (0, import_obsidian.addIcon)(key, value);
}
var PastetoIndentationPlugin = class extends import_obsidian.Plugin {
  onload() {
    return __async(this, null, function* () {
      yield this.loadSettings();
      this.clipboardReadWorks = import_obsidian.Platform.isDesktopApp;
      const changePasteMode = (value) => __async(this, null, function* () {
        this.settings.mode = value;
        yield this.saveSettings();
        this.statusBar.setText(`Paste Mode: ${value}`);
      });
      this.addSettingTab(new SettingTab(this.app, this));
      this.app.workspace.on("editor-paste", (evt, editor) => __async(this, null, function* () {
        if (evt.defaultPrevented) {
          return;
        }
        evt.preventDefault();
        let mode = this.settings.mode;
        if (mode === Mode.Passthrough) {
          return;
        }
        let clipboardContents = "";
        let output = "";
        const files = evt.clipboardData.files;
        const fileLinks = [];
        const activeFile = this.app.workspace.getActiveFile();
        const activeFilePath = activeFile == null ? void 0 : activeFile.path;
        let filesTargetLocation = this.settings.saveFilesLocation.replace("{current}", activeFile.parent.path);
        let longestMatchingCursorFilePattern = 0;
        this.settings.saveFilesOverrideLocations.forEach((location) => {
          if (activeFilePath && activeFilePath.startsWith(location.cursorFilePattern) && location.cursorFilePattern.length > longestMatchingCursorFilePattern) {
            filesTargetLocation = location.targetLocation.replace("{current}", activeFile.parent.path);
            longestMatchingCursorFilePattern = location.cursorFilePattern.length;
          }
        });
        if (files.length) {
          if (!(yield app2.vault.adapter.exists(filesTargetLocation))) {
            yield app2.vault.createFolder(filesTargetLocation);
          }
        }
        for (var i = 0; i < files.length; i++) {
          const fileObject = files[i];
          const fileName = yield createImageFileName(filesTargetLocation, fileObject.type.split("/")[1]);
          const tfileObject = yield createTFileObject(fileName, yield fileObject.arrayBuffer(), app2);
          if (tfileObject === void 0) {
            continue;
          }
          const link = this.app.fileManager.generateMarkdownLink(tfileObject, activeFilePath);
          fileLinks.push(link);
        }
        if (mode === Mode.Markdown || mode === Mode.MarkdownBlockquote) {
          let clipboardHtml = evt.clipboardData.getData("text/html");
          const parser = new DOMParser();
          const htmlDom = parser.parseFromString(clipboardHtml, "text/html");
          const srcContainingElements = htmlDom.querySelectorAll("[src]");
          for (const [i2, el] of srcContainingElements.entries()) {
            const src = el.getAttr("src");
            if (this.settings.srcAttributeCopyRegex && new RegExp(this.settings.srcAttributeCopyRegex).test(src)) {
              let dataBlob;
              if (src.startsWith("app://obsidian.md")) {
                continue;
              }
              const srcIsLocalFile = src.startsWith("file://");
              if (srcIsLocalFile) {
                let urlForDownloading = decodeURI(src).replace(/^file:\/{2}/, "");
                if (/^\/[A-Za-z]:/.test(urlForDownloading)) {
                  urlForDownloading = urlForDownloading.replace(/^\//, "");
                }
                dataBlob = new Blob([
                  yield import_obsidian.FileSystemAdapter.readLocalFile(urlForDownloading)
                ]);
              } else {
                yield fetch(src, {}).then((response) => __async(this, null, function* () {
                  return yield response.blob();
                })).then((blob) => __async(this, null, function* () {
                  dataBlob = blob;
                }));
              }
              if (!(yield app2.vault.adapter.exists(filesTargetLocation))) {
                yield app2.vault.createFolder(filesTargetLocation);
              }
              if (dataBlob) {
                const fileName = yield createImageFileName(filesTargetLocation, src.split(".")[src.split(".").length - 1]);
                const tfileObject = yield createTFileObject(fileName, yield (0, import_obsidian.getBlobArrayBuffer)(dataBlob), this.app);
                srcContainingElements[i2].setAttr("src", encodeURI(tfileObject.path));
                srcContainingElements[i2].setAttr("alt", srcContainingElements[i2].getAttr("src").replaceAll("\n", " "));
              }
            }
          }
          clipboardContents = (0, import_obsidian.htmlToMarkdown)(htmlDom.documentElement.innerHTML);
          if (clipboardContents === "") {
            if (mode === Mode.Markdown) {
              mode = Mode.Text;
            }
            if (mode === Mode.MarkdownBlockquote) {
              mode = Mode.TextBlockquote;
            }
          }
        }
        if (mode === Mode.Text || mode === Mode.TextBlockquote || mode === Mode.CodeBlock || mode === Mode.CodeBlockBlockquote) {
          clipboardContents = evt.clipboardData.getData("text");
        }
        const leadingWhitespaceMatch = editor.getLine(editor.getCursor().line).match(new RegExp(`^(\\s*)(.*)?`));
        const leadingWhitespace = leadingWhitespaceMatch !== null ? leadingWhitespaceMatch[1] : "";
        const additionalLeadingWhitespace = leadingWhitespaceMatch !== null && leadingWhitespaceMatch[2] !== void 0 ? " ".repeat(leadingWhitespaceMatch[2].length > 3 ? 3 : leadingWhitespaceMatch[2].length) : "";
        if (this.settings.saveBase64EncodedFiles && mode !== Mode.CodeBlock && mode !== Mode.CodeBlockBlockquote) {
          const images = [
            ...clipboardContents.matchAll(/data:image\/(?<extension>.*?);base64,\s*(?<data>[A-Za-z0-9\+\/]*)\b={0,2}/g)
          ];
          for (let image of images.reverse()) {
            const imageFileName = yield createImageFileName(filesTargetLocation, image.groups.extension);
            if (!(yield app2.vault.adapter.exists(filesTargetLocation))) {
              yield app2.vault.createFolder(filesTargetLocation);
            }
            yield app2.vault.createBinary(imageFileName, (0, import_obsidian.base64ToArrayBuffer)(image.groups.data));
            clipboardContents = clipboardContents.substring(0, image.index) + `${encodeURI(imageFileName)}` + clipboardContents.substring(image.index + image[0].length, clipboardContents.length);
          }
        }
        let input = [
          ...clipboardContents.split("\n").join("") !== "" ? clipboardContents.split("\n") : [],
          ...fileLinks
        ].map((line, i2) => {
          if (i2 === 0) {
            return line;
          }
          return leadingWhitespace + additionalLeadingWhitespace + line;
        });
        if (mode === Mode.Text || mode === Mode.Markdown) {
          output = output + input.join("\n");
        }
        if (mode === Mode.CodeBlock) {
          output = `\`\`\`
${leadingWhitespace}${input.join("\n")}
${leadingWhitespace}\`\`\``;
        }
        if (mode === Mode.CodeBlockBlockquote) {
          input = [
            "```",
            leadingWhitespace + input[0],
            ...input.slice(1),
            leadingWhitespace + "```"
          ];
        }
        if (mode === Mode.TextBlockquote || mode === Mode.MarkdownBlockquote || mode === Mode.CodeBlockBlockquote) {
          const toggledText = yield toggleQuote([leadingWhitespace + input[0], ...input.slice(1)], this.settings.blockquotePrefix);
          toggledText.lines[0] = toggledText.lines[0].replace(new RegExp(`^${leadingWhitespace}`), "");
          output = toggledText.lines.join("\n");
          if (this.settings.escapeCharactersInBlockquotes) {
            const charactersToEscape = [
              ...output.matchAll(new RegExp(this.settings.blockquoteEscapeCharactersRegex, "g"))
            ].map((x) => x.index).reverse();
            charactersToEscape.forEach((index) => {
              if (output[Number(index) - 1] !== "\\" && !(output[Number(index) - 1] === "\\" && output[Number(index) - 2] === "\\")) {
                output = output.substring(0, index) + "\\" + output.substring(index);
              }
            });
          }
        }
        const transaction = {
          replaceSelection: output
        };
        editor.transaction(transaction);
      }));
      Object.values(Mode).forEach((value, index) => {
        const key = Object.keys(Mode)[index];
        this.addCommand({
          id: `set-paste-mode-${key}`,
          icon: `pasteIcons-${key}`,
          name: `Set Paste Mode to ${value}`,
          callback: () => changePasteMode(value)
        });
      });
      const pasteInMode = (value, editor, view) => __async(this, null, function* () {
        const originalMode = this.settings.mode;
        changePasteMode(value);
        const transfer = new DataTransfer();
        if (this.clipboardReadWorks) {
          const clipboardData = yield navigator.clipboard.read();
          for (let i = 0; i < clipboardData.length; i++) {
            for (const format of clipboardData[i].types) {
              const typeContents = yield (yield clipboardData[i].getType(format)).text();
              transfer.setData(format, typeContents);
            }
          }
        } else {
          transfer.setData("text/plain", yield navigator.clipboard.readText());
        }
        this.app.workspace.trigger("editor-paste", new ClipboardEvent("paste", {
          clipboardData: transfer
        }), editor, view);
        changePasteMode(originalMode);
      });
      Object.values(Mode).forEach((value, index) => {
        if (value !== Mode.Passthrough) {
          if (value !== Mode.Markdown && value !== Mode.MarkdownBlockquote || this.clipboardReadWorks === true) {
            const key = Object.keys(Mode)[index];
            this.addCommand({
              id: `paste-in-mode-${key}`,
              icon: `pasteIcons-${key}-hourglass`,
              name: `Paste in ${value} Mode`,
              editorCallback: (editor, view) => __async(this, null, function* () {
                yield pasteInMode(value, editor, view);
              })
            });
          }
        }
      });
      Object.values(Mode).forEach((value) => {
        this.addCommand({
          id: `cycle-paste-mode`,
          icon: `pasteIcons-clipboard-cycle`,
          name: `Cycle Paste Mode`,
          callback: () => __async(this, null, function* () {
            const nextMode = () => {
              const currentMode = this.settings.mode;
              const modeValues = Object.values(Mode);
              let newMode;
              modeValues.forEach((value2, index) => {
                if (value2 === currentMode) {
                  if (index === modeValues.length - 1) {
                    newMode = modeValues[0];
                    return newMode;
                  }
                  newMode = modeValues[index + 1];
                  return newMode;
                }
              });
              return newMode;
            };
            const newPasteMode = nextMode();
            yield changePasteMode(newPasteMode);
            new import_obsidian.Notice(`Paste mode changed to ${newPasteMode}`);
          })
        });
      });
      this.addCommand({
        id: "toggle-blockquote-at-current-indentation",
        name: "Toggle blockquote at current indentation",
        icon: "pasteIcons-quote-text",
        checkCallback: (checking) => {
          let view = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
          if (view) {
            if (!checking && view instanceof import_obsidian.MarkdownView) {
              toggleQuoteInEditor(view, this.settings.blockquotePrefix);
            }
            return true;
          }
          return false;
        }
      });
      this.addCommand({
        id: "set-paste-mode",
        icon: "pasteIcons-clipboard-question",
        name: "Set paste mode",
        callback: () => {
          const newMode = new PasteModeModal({
            app: app2,
            onChooseItem,
            currentValue: this.settings.mode,
            showCurrentValue: true,
            clipboardReadWorks: true,
            showPassthroughMode: true
          });
          newMode.open();
        }
      });
      this.addCommand({
        id: "paste-in-mode-interactive",
        icon: "pasteIcons-clipboard-question",
        name: "Paste in Mode (Interactive)",
        editorCallback: (editor, view) => __async(this, null, function* () {
          const newMode = new PasteModeModal({
            app: app2,
            onChooseItem: (item) => __async(this, null, function* () {
              const selection = Object.values(Mode)[item];
              yield pasteInMode(selection, editor, view);
            }),
            currentValue: null,
            showCurrentValue: false,
            clipboardReadWorks: this.clipboardReadWorks,
            showPassthroughMode: false
          });
          newMode.open();
        })
      });
      this.statusBar = this.addStatusBarItem();
      this.statusBar.setText(`Paste Mode: ${this.settings.mode}`);
      const onChooseItem = (item) => __async(this, null, function* () {
        const selection = Object.values(Mode)[item];
        yield changePasteMode(selection);
      });
      const app2 = this.app;
      this.statusBar.onClickEvent(() => {
        const newMode = new PasteModeModal({
          app: app2,
          onChooseItem,
          currentValue: this.settings.mode,
          showCurrentValue: true,
          clipboardReadWorks: this.clipboardReadWorks,
          showPassthroughMode: true
        });
        newMode.open();
      });
    });
  }
  loadSettings() {
    return __async(this, null, function* () {
      this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
      if (!Object.values(Mode).includes(this.settings.mode)) {
        this.settings.mode = Object.values(Mode)[0];
        this.saveSettings();
      }
    });
  }
  saveSettings() {
    return __async(this, null, function* () {
      yield this.saveData(this.settings);
    });
  }
};
var SettingTab = class extends import_obsidian.PluginSettingTab {
  constructor(app2, plugin) {
    super(app2, plugin);
    this.plugin = plugin;
  }
  display() {
    let { containerEl } = this;
    containerEl.empty();
    containerEl.createEl("h2", { text: "Paste Mode" });
    if (!this.plugin.clipboardReadWorks) {
      const noticeDiv = containerEl.createDiv();
      noticeDiv.createEl("span", { text: "Notice: " }).addClass("paste-mode-settings-notice");
      noticeDiv.createEl("span", {
        text: `The "Paste in Markdown Mode" and "Paste in Markdown (Blockquote) Mode" attachmentOverrideLocations have been disabled, because reading non-text data from the clipboad does not work with this version of Obsidian.`
      }).addClass("paste-mode-settings-notice-text");
    }
    new import_obsidian.Setting(containerEl).setName("Paste Mode").setDesc("Mode that the paste attachmentLocation will invoke.").addDropdown((dropdown) => dropdown.addOption(Mode.Text, "Plain Text").addOption(Mode.TextBlockquote, "Plain Text (Blockquote)").addOption(Mode.Markdown, "Markdown").addOption(Mode.MarkdownBlockquote, "Markdown (Blockquote)").addOption(Mode.Passthrough, "Passthrough").setValue(this.plugin.settings.mode || DEFAULT_SETTINGS.mode).onChange((value) => __async(this, null, function* () {
      this.plugin.settings.mode = value || DEFAULT_SETTINGS.mode;
      yield this.plugin.saveSettings();
      this.plugin.statusBar.setText(`Paste Mode: ${this.plugin.settings.mode}`);
    })));
    new import_obsidian.Setting(containerEl).setName("Save base64-encoded files").setDesc("When pasting in Text, Text (Blockquote), Markdown, or Markdown (Blockquote) mode, save any base64-encoded text as a file, and replace it in the pasted text with a reference to that saved file.").addToggle((toggle) => {
      toggle.setValue(this.plugin.settings.saveBase64EncodedFiles || DEFAULT_SETTINGS.saveBase64EncodedFiles).onChange((value) => __async(this, null, function* () {
        this.plugin.settings.saveBase64EncodedFiles = value;
        yield this.plugin.saveSettings();
      }));
    });
    new import_obsidian.Setting(containerEl).setName("Blockquote Prefix").setDesc("Markdown syntax to signify that a line is part of a blockquote.").addText((text) => text.setPlaceholder(">\u2022").setValue(this.plugin.settings.blockquotePrefix === DEFAULT_SETTINGS.blockquotePrefix ? "" : this.plugin.settings.blockquotePrefix).onChange((value) => __async(this, null, function* () {
      this.plugin.settings.blockquotePrefix = value !== "" ? value : DEFAULT_SETTINGS.blockquotePrefix;
      yield this.plugin.saveSettings();
    })));
    new import_obsidian.Setting(containerEl).setName("Escape characters in blockquotes").setDesc(`When pasting in Text (Blockquote), Code Block (Blockquote), or Markdown (Blockquote) mode, add a backslash escape character to the beginning of specific characters.`).addToggle((toggle) => {
      toggle.setValue(this.plugin.settings.escapeCharactersInBlockquotes || DEFAULT_SETTINGS.escapeCharactersInBlockquotes).onChange((value) => __async(this, null, function* () {
        this.plugin.settings.escapeCharactersInBlockquotes = value;
        yield this.plugin.saveSettings();
        this.display();
      }));
    });
    new import_obsidian.Setting(containerEl).setName("Escape characters regex").setDesc(`A Regular Expression expressing which characters to escape when pasting in Text (Blockquote), Code Block (Blockquote), or Markdown (Blockquote) mode.`).setDisabled(!this.plugin.settings.escapeCharactersInBlockquotes).addText((text) => {
      text.setValue(this.plugin.settings.blockquoteEscapeCharactersRegex || defaultBlockquoteEscapeCharacters).setPlaceholder(defaultBlockquoteEscapeCharacters).onChange((value) => __async(this, null, function* () {
        this.plugin.settings.blockquoteEscapeCharactersRegex = value || defaultBlockquoteEscapeCharacters;
        yield this.plugin.saveSettings();
      }));
    });
    new import_obsidian.Setting(containerEl).setName("src attribute copy regex").setDesc(`If set, when pasting in Markdown or Markdown (Blockquote) mode, watch for any HTML elements that contain a src attribute. If the src value matches this Regular Expression, copy the file being referenced into the Obsidian vault, and replace the src attribute with a reference to that now-local copy of the file.`).addText((text) => {
      text.setValue(this.plugin.settings.srcAttributeCopyRegex || defaultSrcAttributeCopyRegex).onChange((value) => __async(this, null, function* () {
        this.plugin.settings.srcAttributeCopyRegex = value || defaultSrcAttributeCopyRegex;
        yield this.plugin.saveSettings();
      }));
    });
    const attachmentsEl = containerEl.createEl("div");
    attachmentsEl.addClass("attachment-locations");
    attachmentsEl.createEl("h3", {
      text: "Attachments"
    });
    new import_obsidian.Setting(attachmentsEl).setName("Default attachment folder path").setDesc(`When saving files from the clipboard, place them in this folder. ("{current}" will insert the directory of the currently-open note.)`).addText((text) => {
      text.setValue(this.plugin.settings.saveFilesLocation || DEFAULT_SETTINGS.saveFilesLocation).onChange((value) => __async(this, null, function* () {
        this.plugin.settings.saveFilesLocation = value;
        yield this.plugin.saveSettings();
      }));
    });
    const attachmentOverrideLocationsEl = attachmentsEl.createEl("div");
    attachmentOverrideLocationsEl.addClass("attachment-locations");
    attachmentOverrideLocationsEl.createEl("h4", {
      text: "Attachment overrides"
    });
    const attachmentOverrideLocations = this.plugin.settings.saveFilesOverrideLocations;
    for (const [
      attachmentLocationIndex,
      attachmentLocation
    ] of attachmentOverrideLocations.entries()) {
      const attachmentLocationEl = attachmentOverrideLocationsEl.createEl("div");
      attachmentLocationEl.addClass("attachment-override");
      let deleteAttachmentLocationPrimed = false;
      let attachmentLocationDeletePrimerTimer;
      new import_obsidian.Setting(attachmentLocationEl).setName("Current file directory").setDesc("If the current file is in this directory...").addText((text) => {
        text.setValue(attachmentLocation.cursorFilePattern).onChange((value) => __async(this, null, function* () {
          this.plugin.settings.saveFilesOverrideLocations[attachmentLocationIndex].cursorFilePattern = value;
          yield this.plugin.saveSettings();
        }));
      });
      new import_obsidian.Setting(attachmentLocationEl).setName("Saved file target location").setDesc('...Save a pasted file into this directory. ("{current}" will insert the directory of the currently-open note.)').addText((text) => {
        text.setValue(attachmentLocation.targetLocation).onChange((value) => __async(this, null, function* () {
          this.plugin.settings.saveFilesOverrideLocations[attachmentLocationIndex].targetLocation = value;
          yield this.plugin.saveSettings();
        }));
      });
      new import_obsidian.Setting(attachmentLocationEl).setName("Delete location rule").addButton((button) => {
        button.setButtonText("Delete").setClass("paste-mode-settings-delete-button").setTooltip("Delete override location").onClick(() => __async(this, null, function* () {
          if (attachmentLocationDeletePrimerTimer) {
            clearTimeout(attachmentLocationDeletePrimerTimer);
          }
          if (deleteAttachmentLocationPrimed === true) {
            this.plugin.settings.saveFilesOverrideLocations.splice(attachmentLocationIndex, 1);
            yield this.plugin.saveSettings();
            this.display();
            return;
          }
          attachmentLocationDeletePrimerTimer = setTimeout(() => {
            deleteAttachmentLocationPrimed = false;
            attachmentLocationEl.removeClass("primed");
          }, 1e3 * 4);
          deleteAttachmentLocationPrimed = true;
          attachmentLocationEl.addClass("primed");
          new import_obsidian.Notice(`Click again to delete attachmentLocation ${attachmentLocationIndex + 1}`);
        }));
      });
    }
    const addattachmentLocationButtonEl = attachmentOverrideLocationsEl.createEl("div", {
      cls: "add-attachmentLocation-button-el"
    });
    new import_obsidian.Setting(addattachmentLocationButtonEl).addButton((button) => {
      button.setButtonText("Add attachment override location").setClass("add-attachmentLocation-button").onClick(() => __async(this, null, function* () {
        this.plugin.settings.saveFilesOverrideLocations.push({
          cursorFilePattern: "",
          targetLocation: ""
        });
        yield this.plugin.saveSettings();
        this.display();
      }));
    });
  }
};
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! moment.js
//! momentjs.com
//! version : 2.29.3
