locutus 2.0.30 → 2.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/datetime/strtotime.js"],"names":["reSpace","reSpaceOpt","reMeridian","reHour24","reHour24lz","reHour12","reMinute","reMinutelz","reSecond","reSecondlz","reFrac","reDayfull","reDayabbr","reDaytext","reReltextnumber","reReltexttext","reReltextunit","reYear","reYear2","reYear4","reYear4withSign","reMonth","reMonthlz","reDay","reDaylz","reMonthFull","reMonthAbbr","reMonthroman","reMonthText","reTzCorrection","reTzAbbr","reDayOfYear","reWeekOfYear","reDateNoYear","processMeridian","hour","meridian","toLowerCase","processYear","yearStr","year","length","lookupMonth","monthStr","jan","january","i","feb","february","ii","mar","march","iii","apr","april","iv","may","v","jun","june","vi","jul","july","vii","aug","august","viii","sep","sept","september","ix","oct","october","x","nov","november","xi","dec","december","xii","lookupWeekday","dayStr","desiredSundayNumber","dayNumbers","mon","monday","tue","tuesday","wed","wednesday","thu","thursday","fri","friday","sat","saturday","sun","sunday","lookupRelative","relText","relativeNumbers","last","previous","this","first","next","second","third","fourth","fifth","sixth","seventh","eight","eighth","ninth","tenth","eleventh","twelfth","relativeBehavior","relTextLower","amount","behavior","processTzCorrection","tzOffset","oldValue","reTzCorrectionLoose","match","sign","hours","minutes","Math","floor","tzAbbrOffsets","acdt","acst","addt","adt","aedt","aest","ahdt","ahst","akdt","akst","amt","apt","ast","awdt","awst","awt","bdst","bdt","bmt","bst","cast","cat","cddt","cdt","cemt","cest","cet","cmt","cpt","cst","cwt","chst","dmt","eat","eddt","edt","eest","eet","emt","ept","est","ewt","ffmt","fmt","gdt","gmt","gst","hdt","hkst","hkt","hmt","hpt","hst","hwt","iddt","idt","imt","ist","jdt","jmt","jst","kdt","kmt","kst","lst","mddt","mdst","mdt","mest","met","mmt","mpt","msd","msk","mst","mwt","nddt","ndt","npt","nst","nwt","nzdt","nzmt","nzst","pddt","pdt","pkst","pkt","plmt","pmt","ppmt","ppt","pst","pwt","qmt","rmt","sast","sdmt","sjmt","smt","sst","tbmt","tmt","uct","utc","wast","wat","wemt","west","wet","wib","wita","wit","wmt","yddt","ydt","ypt","yst","ywt","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","w","y","z","formats","yesterday","regex","name","callback","rd","resetTime","now","noon","time","midnightOrToday","tomorrow","timestamp","rs","dates","zone","firstOrLastDay","day","firstOrLastDayOfMonth","backOrFrontOf","RegExp","side","back","minute","weekdayOf","mssqltime","frac","substr","timeLong12","timeShort12","timeTiny12","soap","month","tzCorrection","ymd","wddx","exif","xmlRpc","xmlRpcNoColon","clf","iso8601long","dateTextual","pointedDate4","pointedDate2","timeLong24","dateNoColon","pgydotd","timeShort24","iso8601noColon","iso8601dateSlash","dateSlash","american","americanShort","gnuDateShortOrIso8601date2","iso8601date4","gnuNoColon","times","gnuDateShorter","pgTextReverse","dateFull","dateNoDay","dateNoDayRev","pgTextShort","dateNoYear","dateNoYearRev","isoWeekDay","week","dayOfWeek","Date","getDay","relativeText","relValue","relUnit","ri","rh","rm","ry","weekday","weekdayBehavior","relative","signs","minuses","replace","pow","dayText","relativeTextWeek","isNaN","monthFullOrMonthAbbr","tzAbbr","abbr","offset","ago","rf","year4","whitespace","dateShortWithTimeLong","dateShortWithTimeLong12","dateShortWithTimeShort","dateShortWithTimeShort12","resultProto","NaN","zones","toDate","relativeTo","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","date","getTime","setFullYear","setHours","dow","diff","abs","result","setDate","setMonth","getTimezoneOffset","setUTCFullYear","setUTCHours","module","exports","strtotime","str","rules","Object","create","longestMatch","finalRule","format","apply"],"mappings":"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","file":"strtotime.js","sourcesContent":["const reSpace = '[ \\\\t]+'\nconst reSpaceOpt = '[ \\\\t]*'\nconst reMeridian = '(?:([ap])\\\\.?m\\\\.?([\\\\t ]|$))'\nconst reHour24 = '(2[0-4]|[01]?[0-9])'\nconst reHour24lz = '([01][0-9]|2[0-4])'\nconst reHour12 = '(0?[1-9]|1[0-2])'\nconst reMinute = '([0-5]?[0-9])'\nconst reMinutelz = '([0-5][0-9])'\nconst reSecond = '(60|[0-5]?[0-9])'\nconst reSecondlz = '(60|[0-5][0-9])'\nconst reFrac = '(?:\\\\.([0-9]+))'\n\nconst reDayfull = 'sunday|monday|tuesday|wednesday|thursday|friday|saturday'\nconst reDayabbr = 'sun|mon|tue|wed|thu|fri|sat'\nconst reDaytext = reDayfull + '|' + reDayabbr + '|weekdays?'\n\nconst reReltextnumber = 'first|second|third|fourth|fifth|sixth|seventh|eighth?|ninth|tenth|eleventh|twelfth'\nconst reReltexttext = 'next|last|previous|this'\nconst reReltextunit = '(?:second|sec|minute|min|hour|day|fortnight|forthnight|month|year)s?|weeks|' + reDaytext\n\nconst reYear = '([0-9]{1,4})'\nconst reYear2 = '([0-9]{2})'\nconst reYear4 = '([0-9]{4})'\nconst reYear4withSign = '([+-]?[0-9]{4})'\nconst reMonth = '(1[0-2]|0?[0-9])'\nconst reMonthlz = '(0[0-9]|1[0-2])'\nconst reDay = '(?:(3[01]|[0-2]?[0-9])(?:st|nd|rd|th)?)'\nconst reDaylz = '(0[0-9]|[1-2][0-9]|3[01])'\n\nconst reMonthFull = 'january|february|march|april|may|june|july|august|september|october|november|december'\nconst reMonthAbbr = 'jan|feb|mar|apr|may|jun|jul|aug|sept?|oct|nov|dec'\nconst reMonthroman = 'i[vx]|vi{0,3}|xi{0,2}|i{1,3}'\nconst reMonthText = '(' + reMonthFull + '|' + reMonthAbbr + '|' + reMonthroman + ')'\n\nconst reTzCorrection = '((?:GMT)?([+-])' + reHour24 + ':?' + reMinute + '?)'\nconst reTzAbbr = '\\\\(?([a-zA-Z]{1,6})\\\\)?'\nconst reDayOfYear = '(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])'\nconst reWeekOfYear = '(0[1-9]|[1-4][0-9]|5[0-3])'\n\nconst reDateNoYear = reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]*'\n\nfunction processMeridian(hour, meridian) {\n meridian = meridian && meridian.toLowerCase()\n\n switch (meridian) {\n case 'a':\n hour += hour === 12 ? -12 : 0\n break\n case 'p':\n hour += hour !== 12 ? 12 : 0\n break\n }\n\n return hour\n}\n\nfunction processYear(yearStr) {\n let year = +yearStr\n\n if (yearStr.length < 4 && year < 100) {\n year += year < 70 ? 2000 : 1900\n }\n\n return year\n}\n\nfunction lookupMonth(monthStr) {\n return {\n jan: 0,\n january: 0,\n i: 0,\n feb: 1,\n february: 1,\n ii: 1,\n mar: 2,\n march: 2,\n iii: 2,\n apr: 3,\n april: 3,\n iv: 3,\n may: 4,\n v: 4,\n jun: 5,\n june: 5,\n vi: 5,\n jul: 6,\n july: 6,\n vii: 6,\n aug: 7,\n august: 7,\n viii: 7,\n sep: 8,\n sept: 8,\n september: 8,\n ix: 8,\n oct: 9,\n october: 9,\n x: 9,\n nov: 10,\n november: 10,\n xi: 10,\n dec: 11,\n december: 11,\n xii: 11,\n }[monthStr.toLowerCase()]\n}\n\nfunction lookupWeekday(dayStr, desiredSundayNumber = 0) {\n const dayNumbers = {\n mon: 1,\n monday: 1,\n tue: 2,\n tuesday: 2,\n wed: 3,\n wednesday: 3,\n thu: 4,\n thursday: 4,\n fri: 5,\n friday: 5,\n sat: 6,\n saturday: 6,\n sun: 0,\n sunday: 0,\n }\n\n return dayNumbers[dayStr.toLowerCase()] || desiredSundayNumber\n}\n\nfunction lookupRelative(relText) {\n const relativeNumbers = {\n last: -1,\n previous: -1,\n this: 0,\n first: 1,\n next: 1,\n second: 2,\n third: 3,\n fourth: 4,\n fifth: 5,\n sixth: 6,\n seventh: 7,\n eight: 8,\n eighth: 8,\n ninth: 9,\n tenth: 10,\n eleventh: 11,\n twelfth: 12,\n }\n\n const relativeBehavior = {\n this: 1,\n }\n\n const relTextLower = relText.toLowerCase()\n\n return {\n amount: relativeNumbers[relTextLower],\n behavior: relativeBehavior[relTextLower] || 0,\n }\n}\n\nfunction processTzCorrection(tzOffset, oldValue) {\n const reTzCorrectionLoose = /(?:GMT)?([+-])(\\d+)(:?)(\\d{0,2})/i\n tzOffset = tzOffset && tzOffset.match(reTzCorrectionLoose)\n\n if (!tzOffset) {\n return oldValue\n }\n\n const sign = tzOffset[1] === '-' ? -1 : 1\n let hours = +tzOffset[2]\n let minutes = +tzOffset[4]\n\n if (!tzOffset[4] && !tzOffset[3]) {\n minutes = Math.floor(hours % 100)\n hours = Math.floor(hours / 100)\n }\n\n // timezone offset in seconds\n return sign * (hours * 60 + minutes) * 60\n}\n\n// tz abbrevation : tz offset in seconds\nconst tzAbbrOffsets = {\n acdt: 37800,\n acst: 34200,\n addt: -7200,\n adt: -10800,\n aedt: 39600,\n aest: 36000,\n ahdt: -32400,\n ahst: -36000,\n akdt: -28800,\n akst: -32400,\n amt: -13840,\n apt: -10800,\n ast: -14400,\n awdt: 32400,\n awst: 28800,\n awt: -10800,\n bdst: 7200,\n bdt: -36000,\n bmt: -14309,\n bst: 3600,\n cast: 34200,\n cat: 7200,\n cddt: -14400,\n cdt: -18000,\n cemt: 10800,\n cest: 7200,\n cet: 3600,\n cmt: -15408,\n cpt: -18000,\n cst: -21600,\n cwt: -18000,\n chst: 36000,\n dmt: -1521,\n eat: 10800,\n eddt: -10800,\n edt: -14400,\n eest: 10800,\n eet: 7200,\n emt: -26248,\n ept: -14400,\n est: -18000,\n ewt: -14400,\n ffmt: -14660,\n fmt: -4056,\n gdt: 39600,\n gmt: 0,\n gst: 36000,\n hdt: -34200,\n hkst: 32400,\n hkt: 28800,\n hmt: -19776,\n hpt: -34200,\n hst: -36000,\n hwt: -34200,\n iddt: 14400,\n idt: 10800,\n imt: 25025,\n ist: 7200,\n jdt: 36000,\n jmt: 8440,\n jst: 32400,\n kdt: 36000,\n kmt: 5736,\n kst: 30600,\n lst: 9394,\n mddt: -18000,\n mdst: 16279,\n mdt: -21600,\n mest: 7200,\n met: 3600,\n mmt: 9017,\n mpt: -21600,\n msd: 14400,\n msk: 10800,\n mst: -25200,\n mwt: -21600,\n nddt: -5400,\n ndt: -9052,\n npt: -9000,\n nst: -12600,\n nwt: -9000,\n nzdt: 46800,\n nzmt: 41400,\n nzst: 43200,\n pddt: -21600,\n pdt: -25200,\n pkst: 21600,\n pkt: 18000,\n plmt: 25590,\n pmt: -13236,\n ppmt: -17340,\n ppt: -25200,\n pst: -28800,\n pwt: -25200,\n qmt: -18840,\n rmt: 5794,\n sast: 7200,\n sdmt: -16800,\n sjmt: -20173,\n smt: -13884,\n sst: -39600,\n tbmt: 10751,\n tmt: 12344,\n uct: 0,\n utc: 0,\n wast: 7200,\n wat: 3600,\n wemt: 7200,\n west: 3600,\n wet: 0,\n wib: 25200,\n wita: 28800,\n wit: 32400,\n wmt: 5040,\n yddt: -25200,\n ydt: -28800,\n ypt: -28800,\n yst: -32400,\n ywt: -28800,\n a: 3600,\n b: 7200,\n c: 10800,\n d: 14400,\n e: 18000,\n f: 21600,\n g: 25200,\n h: 28800,\n i: 32400,\n k: 36000,\n l: 39600,\n m: 43200,\n n: -3600,\n o: -7200,\n p: -10800,\n q: -14400,\n r: -18000,\n s: -21600,\n t: -25200,\n u: -28800,\n v: -32400,\n w: -36000,\n x: -39600,\n y: -43200,\n z: 0,\n}\n\nconst formats = {\n yesterday: {\n regex: /^yesterday/i,\n name: 'yesterday',\n callback() {\n this.rd -= 1\n return this.resetTime()\n },\n },\n\n now: {\n regex: /^now/i,\n name: 'now',\n // do nothing\n },\n\n noon: {\n regex: /^noon/i,\n name: 'noon',\n callback() {\n return this.resetTime() && this.time(12, 0, 0, 0)\n },\n },\n\n midnightOrToday: {\n regex: /^(midnight|today)/i,\n name: 'midnight | today',\n callback() {\n return this.resetTime()\n },\n },\n\n tomorrow: {\n regex: /^tomorrow/i,\n name: 'tomorrow',\n callback() {\n this.rd += 1\n return this.resetTime()\n },\n },\n\n timestamp: {\n regex: /^@(-?\\d+)/i,\n name: 'timestamp',\n callback(match, timestamp) {\n this.rs += +timestamp\n this.y = 1970\n this.m = 0\n this.d = 1\n this.dates = 0\n\n return this.resetTime() && this.zone(0)\n },\n },\n\n firstOrLastDay: {\n regex: /^(first|last) day of/i,\n name: 'firstdayof | lastdayof',\n callback(match, day) {\n if (day.toLowerCase() === 'first') {\n this.firstOrLastDayOfMonth = 1\n } else {\n this.firstOrLastDayOfMonth = -1\n }\n },\n },\n\n backOrFrontOf: {\n regex: RegExp('^(back|front) of ' + reHour24 + reSpaceOpt + reMeridian + '?', 'i'),\n name: 'backof | frontof',\n callback(match, side, hours, meridian) {\n const back = side.toLowerCase() === 'back'\n let hour = +hours\n let minute = 15\n\n if (!back) {\n hour -= 1\n minute = 45\n }\n\n hour = processMeridian(hour, meridian)\n\n return this.resetTime() && this.time(hour, minute, 0, 0)\n },\n },\n\n weekdayOf: {\n regex: RegExp(\n '^(' +\n reReltextnumber +\n '|' +\n reReltexttext +\n ')' +\n reSpace +\n '(' +\n reDayfull +\n '|' +\n reDayabbr +\n ')' +\n reSpace +\n 'of',\n 'i',\n ),\n name: 'weekdayof',\n // todo\n },\n\n mssqltime: {\n regex: RegExp('^' + reHour12 + ':' + reMinutelz + ':' + reSecondlz + '[:.]([0-9]+)' + reMeridian, 'i'),\n name: 'mssqltime',\n callback(match, hour, minute, second, frac, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, +frac.substr(0, 3))\n },\n },\n\n timeLong12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian, 'i'),\n name: 'timelong12',\n callback(match, hour, minute, second, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n },\n },\n\n timeShort12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'timeshort12',\n callback(match, hour, minute, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n\n timeTiny12: {\n regex: RegExp('^' + reHour12 + reSpaceOpt + reMeridian, 'i'),\n name: 'timetiny12',\n callback(match, hour, meridian) {\n return this.time(processMeridian(+hour, meridian), 0, 0, 0)\n },\n },\n\n soap: {\n regex: RegExp(\n '^' +\n reYear4 +\n '-' +\n reMonthlz +\n '-' +\n reDaylz +\n 'T' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reFrac +\n reTzCorrection +\n '?',\n 'i',\n ),\n name: 'soap',\n callback(match, year, month, day, hour, minute, second, frac, tzCorrection) {\n return (\n this.ymd(+year, month - 1, +day) &&\n this.time(+hour, +minute, +second, +frac.substr(0, 3)) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n wddx: {\n regex: RegExp('^' + reYear4 + '-' + reMonth + '-' + reDay + 'T' + reHour24 + ':' + reMinute + ':' + reSecond),\n name: 'wddx',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n exif: {\n regex: RegExp(\n '^' + reYear4 + ':' + reMonthlz + ':' + reDaylz + ' ' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz,\n 'i',\n ),\n name: 'exif',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpc: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + 'T' + reHour24 + ':' + reMinutelz + ':' + reSecondlz),\n name: 'xmlrpc',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpcNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + '[Tt]' + reHour24 + reMinutelz + reSecondlz),\n name: 'xmlrpcnocolon',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n clf: {\n regex: RegExp(\n '^' +\n reDay +\n '/(' +\n reMonthAbbr +\n ')/' +\n reYear4 +\n ':' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reSpace +\n reTzCorrection,\n 'i',\n ),\n name: 'clf',\n callback(match, day, month, year, hour, minute, second, tzCorrection) {\n return (\n this.ymd(+year, lookupMonth(month), +day) &&\n this.time(+hour, +minute, +second, 0) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n iso8601long: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond + reFrac, 'i'),\n name: 'iso8601long',\n callback(match, hour, minute, second, frac) {\n return this.time(+hour, +minute, +second, +frac.substr(0, 3))\n },\n },\n\n dateTextual: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]+' + reYear, 'i'),\n name: 'datetextual',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n pointedDate4: {\n regex: RegExp('^' + reDay + '[.\\\\t-]' + reMonth + '[.-]' + reYear4),\n name: 'pointeddate4',\n callback(match, day, month, year) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pointedDate2: {\n regex: RegExp('^' + reDay + '[.\\\\t]' + reMonth + '\\\\.' + reYear2),\n name: 'pointeddate2',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n timeLong24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond),\n name: 'timelong24',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz),\n name: 'datenocolon',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pgydotd: {\n regex: RegExp('^' + reYear4 + '\\\\.?' + reDayOfYear),\n name: 'pgydotd',\n callback(match, year, day) {\n return this.ymd(+year, 0, +day)\n },\n },\n\n timeShort24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'timeshort24',\n callback(match, hour, minute) {\n return this.time(+hour, +minute, 0, 0)\n },\n },\n\n iso8601noColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz + reSecondlz, 'i'),\n name: 'iso8601nocolon',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n iso8601dateSlash: {\n // eventhough the trailing slash is optional in PHP\n // here it's mandatory and inputs without the slash\n // are handled by dateslash\n regex: RegExp('^' + reYear4 + '/' + reMonthlz + '/' + reDaylz + '/'),\n name: 'iso8601dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n dateSlash: {\n regex: RegExp('^' + reYear4 + '/' + reMonth + '/' + reDay),\n name: 'dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n american: {\n regex: RegExp('^' + reMonth + '/' + reDay + '/' + reYear),\n name: 'american',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n americanShort: {\n regex: RegExp('^' + reMonth + '/' + reDay),\n name: 'americanshort',\n callback(match, month, day) {\n return this.ymd(this.y, month - 1, +day)\n },\n },\n\n gnuDateShortOrIso8601date2: {\n // iso8601date2 is complete subset of gnudateshort\n regex: RegExp('^' + reYear + '-' + reMonth + '-' + reDay),\n name: 'gnudateshort | iso8601date2',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n iso8601date4: {\n regex: RegExp('^' + reYear4withSign + '-' + reMonthlz + '-' + reDaylz),\n name: 'iso8601date4',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n gnuNoColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz, 'i'),\n name: 'gnunocolon',\n callback(match, hour, minute) {\n // this rule is a special case\n // if time was already set once by any preceding rule, it sets the captured value as year\n switch (this.times) {\n case 0:\n return this.time(+hour, +minute, 0, this.f)\n case 1:\n this.y = hour * 100 + +minute\n this.times++\n\n return true\n default:\n return false\n }\n },\n },\n\n gnuDateShorter: {\n regex: RegExp('^' + reYear4 + '-' + reMonth),\n name: 'gnudateshorter',\n callback(match, year, month) {\n return this.ymd(+year, month - 1, 1)\n },\n },\n\n pgTextReverse: {\n // note: allowed years are from 32-9999\n // years below 32 should be treated as days in datefull\n regex: RegExp('^' + '(\\\\d{3,4}|[4-9]\\\\d|3[2-9])-(' + reMonthAbbr + ')-' + reDaylz, 'i'),\n name: 'pgtextreverse',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateFull: {\n regex: RegExp('^' + reDay + '[ \\\\t.-]*' + reMonthText + '[ \\\\t.-]*' + reYear, 'i'),\n name: 'datefull',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoDay: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reYear4, 'i'),\n name: 'datenoday',\n callback(match, month, year) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n dateNoDayRev: {\n regex: RegExp('^' + reYear4 + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenodayrev',\n callback(match, year, month) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n pgTextShort: {\n regex: RegExp('^(' + reMonthAbbr + ')-' + reDaylz + '-' + reYear, 'i'),\n name: 'pgtextshort',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoYear: {\n regex: RegExp('^' + reDateNoYear, 'i'),\n name: 'datenoyear',\n callback(match, month, day) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n dateNoYearRev: {\n regex: RegExp('^' + reDay + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenoyearrev',\n callback(match, day, month) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n isoWeekDay: {\n regex: RegExp('^' + reYear4 + '-?W' + reWeekOfYear + '(?:-?([0-7]))?'),\n name: 'isoweekday | isoweek',\n callback(match, year, week, day) {\n day = day ? +day : 1\n\n if (!this.ymd(+year, 0, 1)) {\n return false\n }\n\n // get day of week for Jan 1st\n let dayOfWeek = new Date(this.y, this.m, this.d).getDay()\n\n // and use the day to figure out the offset for day 1 of week 1\n dayOfWeek = 0 - (dayOfWeek > 4 ? dayOfWeek - 7 : dayOfWeek)\n\n this.rd += dayOfWeek + (week - 1) * 7 + day\n },\n },\n\n relativeText: {\n regex: RegExp('^(' + reReltextnumber + '|' + reReltexttext + ')' + reSpace + '(' + reReltextunit + ')', 'i'),\n name: 'relativetext',\n callback(match, relValue, relUnit) {\n // todo: implement handling of 'this time-unit'\n // eslint-disable-next-line no-unused-vars\n const { amount, behavior } = lookupRelative(relValue)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n relative: {\n regex: RegExp('^([+-]*)[ \\\\t]*(\\\\d+)' + reSpaceOpt + '(' + reReltextunit + '|week)', 'i'),\n name: 'relative',\n callback(match, signs, relValue, relUnit) {\n const minuses = signs.replace(/[^-]/g, '').length\n\n const amount = +relValue * Math.pow(-1, minuses)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n dayText: {\n regex: RegExp('^(' + reDaytext + ')', 'i'),\n name: 'daytext',\n callback(match, dayText) {\n this.resetTime()\n this.weekday = lookupWeekday(dayText, 0)\n\n if (this.weekdayBehavior !== 2) {\n this.weekdayBehavior = 1\n }\n },\n },\n\n relativeTextWeek: {\n regex: RegExp('^(' + reReltexttext + ')' + reSpace + 'week', 'i'),\n name: 'relativetextweek',\n callback(match, relText) {\n this.weekdayBehavior = 2\n\n switch (relText.toLowerCase()) {\n case 'this':\n this.rd += 0\n break\n case 'next':\n this.rd += 7\n break\n case 'last':\n case 'previous':\n this.rd -= 7\n break\n }\n\n if (isNaN(this.weekday)) {\n this.weekday = 1\n }\n },\n },\n\n monthFullOrMonthAbbr: {\n regex: RegExp('^(' + reMonthFull + '|' + reMonthAbbr + ')', 'i'),\n name: 'monthfull | monthabbr',\n callback(match, month) {\n return this.ymd(this.y, lookupMonth(month), this.d)\n },\n },\n\n tzCorrection: {\n regex: RegExp('^' + reTzCorrection, 'i'),\n name: 'tzcorrection',\n callback(tzCorrection) {\n return this.zone(processTzCorrection(tzCorrection))\n },\n },\n\n tzAbbr: {\n regex: RegExp('^' + reTzAbbr),\n name: 'tzabbr',\n callback(match, abbr) {\n const offset = tzAbbrOffsets[abbr.toLowerCase()]\n\n if (isNaN(offset)) {\n return false\n }\n\n return this.zone(offset)\n },\n },\n\n ago: {\n regex: /^ago/i,\n name: 'ago',\n callback() {\n this.ry = -this.ry\n this.rm = -this.rm\n this.rd = -this.rd\n this.rh = -this.rh\n this.ri = -this.ri\n this.rs = -this.rs\n this.rf = -this.rf\n },\n },\n\n year4: {\n regex: RegExp('^' + reYear4),\n name: 'year4',\n callback(match, year) {\n this.y = +year\n return true\n },\n },\n\n whitespace: {\n regex: /^[ .,\\t]+/,\n name: 'whitespace',\n // do nothing\n },\n\n dateShortWithTimeLong: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond, 'i'),\n name: 'dateshortwithtimelong',\n callback(match, month, day, hour, minute, second) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateShortWithTimeLong12: {\n regex: RegExp(\n '^' + reDateNoYear + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian,\n 'i',\n ),\n name: 'dateshortwithtimelong12',\n callback(match, month, day, hour, minute, second, meridian) {\n return (\n this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n )\n },\n },\n\n dateShortWithTimeShort: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'dateshortwithtimeshort',\n callback(match, month, day, hour, minute) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, 0, 0)\n },\n },\n\n dateShortWithTimeShort12: {\n regex: RegExp('^' + reDateNoYear + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'dateshortwithtimeshort12',\n callback(match, month, day, hour, minute, meridian) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n}\n\nconst resultProto = {\n // date\n y: NaN,\n m: NaN,\n d: NaN,\n // time\n h: NaN,\n i: NaN,\n s: NaN,\n f: NaN,\n\n // relative shifts\n ry: 0,\n rm: 0,\n rd: 0,\n rh: 0,\n ri: 0,\n rs: 0,\n rf: 0,\n\n // weekday related shifts\n weekday: NaN,\n weekdayBehavior: 0,\n\n // first or last day of month\n // 0 none, 1 first, -1 last\n firstOrLastDayOfMonth: 0,\n\n // timezone correction in minutes\n z: NaN,\n\n // counters\n dates: 0,\n times: 0,\n zones: 0,\n\n // helper functions\n ymd(y, m, d) {\n if (this.dates > 0) {\n return false\n }\n\n this.dates++\n this.y = y\n this.m = m\n this.d = d\n return true\n },\n\n time(h, i, s, f) {\n if (this.times > 0) {\n return false\n }\n\n this.times++\n this.h = h\n this.i = i\n this.s = s\n this.f = f\n\n return true\n },\n\n resetTime() {\n this.h = 0\n this.i = 0\n this.s = 0\n this.f = 0\n this.times = 0\n\n return true\n },\n\n zone(minutes) {\n if (this.zones <= 1) {\n this.zones++\n this.z = minutes\n return true\n }\n\n return false\n },\n\n toDate(relativeTo) {\n if (this.dates && !this.times) {\n this.h = this.i = this.s = this.f = 0\n }\n\n // fill holes\n if (isNaN(this.y)) {\n this.y = relativeTo.getFullYear()\n }\n\n if (isNaN(this.m)) {\n this.m = relativeTo.getMonth()\n }\n\n if (isNaN(this.d)) {\n this.d = relativeTo.getDate()\n }\n\n if (isNaN(this.h)) {\n this.h = relativeTo.getHours()\n }\n\n if (isNaN(this.i)) {\n this.i = relativeTo.getMinutes()\n }\n\n if (isNaN(this.s)) {\n this.s = relativeTo.getSeconds()\n }\n\n if (isNaN(this.f)) {\n this.f = relativeTo.getMilliseconds()\n }\n\n // adjust special early\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n this.d = 1\n break\n case -1:\n this.d = 0\n this.m += 1\n break\n }\n\n if (!isNaN(this.weekday)) {\n const date = new Date(relativeTo.getTime())\n date.setFullYear(this.y, this.m, this.d)\n date.setHours(this.h, this.i, this.s, this.f)\n\n const dow = date.getDay()\n\n if (this.weekdayBehavior === 2) {\n // To make \"this week\" work, where the current day of week is a \"sunday\"\n if (dow === 0 && this.weekday !== 0) {\n this.weekday = -6\n }\n\n // To make \"sunday this week\" work, where the current day of week is not a \"sunday\"\n if (this.weekday === 0 && dow !== 0) {\n this.weekday = 7\n }\n\n this.d -= dow\n this.d += this.weekday\n } else {\n let diff = this.weekday - dow\n\n // some PHP magic\n if ((this.rd < 0 && diff < 0) || (this.rd >= 0 && diff <= -this.weekdayBehavior)) {\n diff += 7\n }\n\n if (this.weekday >= 0) {\n this.d += diff\n } else {\n this.d -= 7 - (Math.abs(this.weekday) - dow)\n }\n\n this.weekday = NaN\n }\n }\n\n // adjust relative\n this.y += this.ry\n this.m += this.rm\n this.d += this.rd\n\n this.h += this.rh\n this.i += this.ri\n this.s += this.rs\n this.f += this.rf\n\n this.ry = this.rm = this.rd = 0\n this.rh = this.ri = this.rs = this.rf = 0\n\n const result = new Date(relativeTo.getTime())\n // since Date constructor treats years <= 99 as 1900+\n // it can't be used, thus this weird way\n result.setFullYear(this.y, this.m, this.d)\n result.setHours(this.h, this.i, this.s, this.f)\n\n // note: this is done twice in PHP\n // early when processing special relatives\n // and late\n // todo: check if the logic can be reduced\n // to just one time action\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n result.setDate(1)\n break\n case -1:\n result.setMonth(result.getMonth() + 1, 0)\n break\n }\n\n // adjust timezone\n if (!isNaN(this.z) && result.getTimezoneOffset() !== this.z) {\n result.setUTCFullYear(result.getFullYear(), result.getMonth(), result.getDate())\n\n result.setUTCHours(result.getHours(), result.getMinutes(), result.getSeconds() - this.z, result.getMilliseconds())\n }\n\n return result\n },\n}\n\nmodule.exports = function strtotime(str, now) {\n // discuss at: https://locutus.io/php/strtotime/\n // original by: Caio Ariede (https://caioariede.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Caio Ariede (https://caioariede.com)\n // improved by: A. Matías Quezada (https://amatiasq.com)\n // improved by: preuter\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Mirko Faber\n // input by: David\n // bugfixed by: Wagner B. Soares\n // bugfixed by: Artur Tchernychev\n // bugfixed by: Stephan Bösch-Plepelits (https://github.com/plepe)\n // reimplemented by: Rafał Kukawski\n // note 1: Examples all have a fixed timestamp to prevent\n // note 1: tests to fail because of variable time(zones)\n // example 1: strtotime('+1 day', 1129633200)\n // returns 1: 1129719600\n // example 2: strtotime('+1 week 2 days 4 hours 2 seconds', 1129633200)\n // returns 2: 1130425202\n // example 3: strtotime('last month', 1129633200)\n // returns 3: 1127041200\n // example 4: strtotime('2009-05-04 08:30:00+00')\n // returns 4: 1241425800\n // example 5: strtotime('2009-05-04 08:30:00+02:00')\n // returns 5: 1241418600\n // example 6: strtotime('2009-05-04 08:30:00 YWT')\n // returns 6: 1241454600\n\n if (now == null) {\n now = Math.floor(Date.now() / 1000)\n }\n\n // the rule order is important\n // if multiple rules match, the longest match wins\n // if multiple rules match the same string, the first match wins\n const rules = [\n formats.yesterday,\n formats.now,\n formats.noon,\n formats.midnightOrToday,\n formats.tomorrow,\n formats.timestamp,\n formats.firstOrLastDay,\n formats.backOrFrontOf,\n // formats.weekdayOf, // not yet implemented\n formats.timeTiny12,\n formats.timeShort12,\n formats.timeLong12,\n formats.mssqltime,\n formats.timeShort24,\n formats.timeLong24,\n formats.iso8601long,\n formats.gnuNoColon,\n formats.iso8601noColon,\n formats.americanShort,\n formats.american,\n formats.iso8601date4,\n formats.iso8601dateSlash,\n formats.dateSlash,\n formats.gnuDateShortOrIso8601date2,\n formats.gnuDateShorter,\n formats.dateFull,\n formats.pointedDate4,\n formats.pointedDate2,\n formats.dateNoDay,\n formats.dateNoDayRev,\n formats.dateTextual,\n formats.dateNoYear,\n formats.dateNoYearRev,\n formats.dateNoColon,\n formats.xmlRpc,\n formats.xmlRpcNoColon,\n formats.soap,\n formats.wddx,\n formats.exif,\n formats.pgydotd,\n formats.isoWeekDay,\n formats.pgTextShort,\n formats.pgTextReverse,\n formats.clf,\n formats.year4,\n formats.ago,\n formats.dayText,\n formats.relativeTextWeek,\n formats.relativeText,\n formats.monthFullOrMonthAbbr,\n formats.tzCorrection,\n formats.tzAbbr,\n formats.dateShortWithTimeShort12,\n formats.dateShortWithTimeLong12,\n formats.dateShortWithTimeShort,\n formats.dateShortWithTimeLong,\n formats.relative,\n formats.whitespace,\n ]\n\n const result = Object.create(resultProto)\n\n while (str.length) {\n let longestMatch = null\n let finalRule = null\n\n for (let i = 0, l = rules.length; i < l; i++) {\n const format = rules[i]\n\n const match = str.match(format.regex)\n\n if (match) {\n if (!longestMatch || match[0].length > longestMatch[0].length) {\n longestMatch = match\n finalRule = format\n }\n }\n }\n\n if (!finalRule || (finalRule.callback && finalRule.callback.apply(result, longestMatch) === false)) {\n return false\n }\n\n str = str.substr(longestMatch[0].length)\n finalRule = null\n longestMatch = null\n }\n\n return Math.floor(result.toDate(new Date(now * 1000)) / 1000)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/datetime/strtotime.js"],"names":["reSpace","reSpaceOpt","reMeridian","reHour24","reHour24lz","reHour12","reMinute","reMinutelz","reSecond","reSecondlz","reFrac","reDayfull","reDayabbr","reDaytext","reReltextnumber","reReltexttext","reReltextunit","reYear","reYear2","reYear4","reYear4withSign","reMonth","reMonthlz","reDay","reDaylz","reMonthFull","reMonthAbbr","reMonthroman","reMonthText","reTzCorrection","reTzAbbr","reDayOfYear","reWeekOfYear","reDateNoYear","processMeridian","hour","meridian","toLowerCase","processYear","yearStr","year","length","lookupMonth","monthStr","jan","january","i","feb","february","ii","mar","march","iii","apr","april","iv","may","v","jun","june","vi","jul","july","vii","aug","august","viii","sep","sept","september","ix","oct","october","x","nov","november","xi","dec","december","xii","lookupWeekday","dayStr","desiredSundayNumber","dayNumbers","mon","monday","tue","tuesday","wed","wednesday","thu","thursday","fri","friday","sat","saturday","sun","sunday","lookupRelative","relText","relativeNumbers","last","previous","this","first","next","second","third","fourth","fifth","sixth","seventh","eight","eighth","ninth","tenth","eleventh","twelfth","relativeBehavior","relTextLower","amount","behavior","processTzCorrection","tzOffset","oldValue","reTzCorrectionLoose","match","sign","hours","minutes","Math","floor","tzAbbrOffsets","acdt","acst","addt","adt","aedt","aest","ahdt","ahst","akdt","akst","amt","apt","ast","awdt","awst","awt","bdst","bdt","bmt","bst","cast","cat","cddt","cdt","cemt","cest","cet","cmt","cpt","cst","cwt","chst","dmt","eat","eddt","edt","eest","eet","emt","ept","est","ewt","ffmt","fmt","gdt","gmt","gst","hdt","hkst","hkt","hmt","hpt","hst","hwt","iddt","idt","imt","ist","jdt","jmt","jst","kdt","kmt","kst","lst","mddt","mdst","mdt","mest","met","mmt","mpt","msd","msk","mst","mwt","nddt","ndt","npt","nst","nwt","nzdt","nzmt","nzst","pddt","pdt","pkst","pkt","plmt","pmt","ppmt","ppt","pst","pwt","qmt","rmt","sast","sdmt","sjmt","smt","sst","tbmt","tmt","uct","utc","wast","wat","wemt","west","wet","wib","wita","wit","wmt","yddt","ydt","ypt","yst","ywt","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","w","y","z","formats","yesterday","regex","name","callback","rd","resetTime","now","noon","time","midnightOrToday","tomorrow","timestamp","rs","dates","zone","firstOrLastDay","day","firstOrLastDayOfMonth","backOrFrontOf","RegExp","side","back","minute","weekdayOf","mssqltime","frac","substr","oracledate","monthText","month","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","toUpperCase","ymd","parseInt","timeLong12","timeShort12","timeTiny12","soap","tzCorrection","wddx","exif","xmlRpc","xmlRpcNoColon","clf","iso8601long","dateTextual","pointedDate4","pointedDate2","timeLong24","dateNoColon","pgydotd","timeShort24","iso8601noColon","iso8601dateSlash","dateSlash","american","americanShort","gnuDateShortOrIso8601date2","iso8601date4","gnuNoColon","times","gnuDateShorter","pgTextReverse","dateFull","dateNoDay","dateNoDayRev","pgTextShort","dateNoYear","dateNoYearRev","isoWeekDay","week","dayOfWeek","Date","getDay","relativeText","relValue","relUnit","ri","rh","rm","ry","weekday","weekdayBehavior","relative","signs","minuses","replace","pow","dayText","relativeTextWeek","isNaN","monthFullOrMonthAbbr","tzAbbr","abbr","offset","ago","rf","year4","whitespace","dateShortWithTimeLong","dateShortWithTimeLong12","dateShortWithTimeShort","dateShortWithTimeShort12","resultProto","NaN","zones","toDate","relativeTo","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","date","getTime","setFullYear","setHours","dow","diff","abs","result","setDate","setMonth","getTimezoneOffset","setUTCFullYear","setUTCHours","module","exports","strtotime","str","rules","Object","create","longestMatch","finalRule","format","apply"],"mappings":";;AAAA,IAAMA,UAAU,SAAhB;AACA,IAAMC,aAAa,SAAnB;AACA,IAAMC,aAAa,+BAAnB;AACA,IAAMC,WAAW,qBAAjB;AACA,IAAMC,aAAa,oBAAnB;AACA,IAAMC,WAAW,kBAAjB;AACA,IAAMC,WAAW,eAAjB;AACA,IAAMC,aAAa,cAAnB;AACA,IAAMC,WAAW,kBAAjB;AACA,IAAMC,aAAa,iBAAnB;AACA,IAAMC,SAAS,iBAAf;;AAEA,IAAMC,YAAY,0DAAlB;AACA,IAAMC,YAAY,6BAAlB;AACA,IAAMC,YAAYF,YAAY,GAAZ,GAAkBC,SAAlB,GAA8B,YAAhD;;AAEA,IAAME,kBAAkB,oFAAxB;AACA,IAAMC,gBAAgB,yBAAtB;AACA,IAAMC,gBAAgB,gFAAgFH,SAAtG;;AAEA,IAAMI,SAAS,cAAf;AACA,IAAMC,UAAU,YAAhB;AACA,IAAMC,UAAU,YAAhB;AACA,IAAMC,kBAAkB,iBAAxB;AACA,IAAMC,UAAU,kBAAhB;AACA,IAAMC,YAAY,iBAAlB;AACA,IAAMC,QAAQ,yCAAd;AACA,IAAMC,UAAU,2BAAhB;;AAEA,IAAMC,cAAc,uFAApB;AACA,IAAMC,cAAc,mDAApB;AACA,IAAMC,eAAe,8BAArB;AACA,IAAMC,cAAc,MAAMH,WAAN,GAAoB,GAApB,GAA0BC,WAA1B,GAAwC,GAAxC,GAA8CC,YAA9C,GAA6D,GAAjF;;AAEA,IAAME,iBAAiB,oBAAoB1B,QAApB,GAA+B,IAA/B,GAAsCG,QAAtC,GAAiD,IAAxE;AACA,IAAMwB,WAAW,yBAAjB;AACA,IAAMC,cAAc,0DAApB;AACA,IAAMC,eAAe,4BAArB;;AAEA,IAAMC,eAAeL,cAAc,WAAd,GAA4BL,KAA5B,GAAoC,iBAAzD;;AAEA,SAASW,eAAT,CAAyBC,IAAzB,EAA+BC,QAA/B,EAAyC;AACvCA,aAAWA,YAAYA,SAASC,WAAT,EAAvB;;AAEA,UAAQD,QAAR;AACE,SAAK,GAAL;AACED,cAAQA,SAAS,EAAT,GAAc,CAAC,EAAf,GAAoB,CAA5B;AACA;AACF,SAAK,GAAL;AACEA,cAAQA,SAAS,EAAT,GAAc,EAAd,GAAmB,CAA3B;AACA;AANJ;;AASA,SAAOA,IAAP;AACD;;AAED,SAASG,WAAT,CAAqBC,OAArB,EAA8B;AAC5B,MAAIC,OAAO,CAACD,OAAZ;;AAEA,MAAIA,QAAQE,MAAR,GAAiB,CAAjB,IAAsBD,OAAO,GAAjC,EAAsC;AACpCA,YAAQA,OAAO,EAAP,GAAY,IAAZ,GAAmB,IAA3B;AACD;;AAED,SAAOA,IAAP;AACD;;AAED,SAASE,WAAT,CAAqBC,QAArB,EAA+B;AAC7B,SAAO;AACLC,SAAK,CADA;AAELC,aAAS,CAFJ;AAGLC,OAAG,CAHE;AAILC,SAAK,CAJA;AAKLC,cAAU,CALL;AAMLC,QAAI,CANC;AAOLC,SAAK,CAPA;AAQLC,WAAO,CARF;AASLC,SAAK,CATA;AAULC,SAAK,CAVA;AAWLC,WAAO,CAXF;AAYLC,QAAI,CAZC;AAaLC,SAAK,CAbA;AAcLC,OAAG,CAdE;AAeLC,SAAK,CAfA;AAgBLC,UAAM,CAhBD;AAiBLC,QAAI,CAjBC;AAkBLC,SAAK,CAlBA;AAmBLC,UAAM,CAnBD;AAoBLC,SAAK,CApBA;AAqBLC,SAAK,CArBA;AAsBLC,YAAQ,CAtBH;AAuBLC,UAAM,CAvBD;AAwBLC,SAAK,CAxBA;AAyBLC,UAAM,CAzBD;AA0BLC,eAAW,CA1BN;AA2BLC,QAAI,CA3BC;AA4BLC,SAAK,CA5BA;AA6BLC,aAAS,CA7BJ;AA8BLC,OAAG,CA9BE;AA+BLC,SAAK,EA/BA;AAgCLC,cAAU,EAhCL;AAiCLC,QAAI,EAjCC;AAkCLC,SAAK,EAlCA;AAmCLC,cAAU,EAnCL;AAoCLC,SAAK;AApCA,IAqCLpC,SAASN,WAAT,EArCK,CAAP;AAsCD;;AAED,SAAS2C,aAAT,CAAuBC,MAAvB,EAAwD;AAAA,MAAzBC,mBAAyB,uEAAH,CAAG;;AACtD,MAAMC,aAAa;AACjBC,SAAK,CADY;AAEjBC,YAAQ,CAFS;AAGjBC,SAAK,CAHY;AAIjBC,aAAS,CAJQ;AAKjBC,SAAK,CALY;AAMjBC,eAAW,CANM;AAOjBC,SAAK,CAPY;AAQjBC,cAAU,CARO;AASjBC,SAAK,CATY;AAUjBC,YAAQ,CAVS;AAWjBC,SAAK,CAXY;AAYjBC,cAAU,CAZO;AAajBC,SAAK,CAbY;AAcjBC,YAAQ;AAdS,GAAnB;;AAiBA,SAAOd,WAAWF,OAAO5C,WAAP,EAAX,KAAoC6C,mBAA3C;AACD;;AAED,SAASgB,cAAT,CAAwBC,OAAxB,EAAiC;AAC/B,MAAMC,kBAAkB;AACtBC,UAAM,CAAC,CADe;AAEtBC,cAAU,CAAC,CAFW;AAGtBC,UAAM,CAHgB;AAItBC,WAAO,CAJe;AAKtBC,UAAM,CALgB;AAMtBC,YAAQ,CANc;AAOtBC,WAAO,CAPe;AAQtBC,YAAQ,CARc;AAStBC,WAAO,CATe;AAUtBC,WAAO,CAVe;AAWtBC,aAAS,CAXa;AAYtBC,WAAO,CAZe;AAatBC,YAAQ,CAbc;AActBC,WAAO,CAde;AAetBC,WAAO,EAfe;AAgBtBC,cAAU,EAhBY;AAiBtBC,aAAS;AAjBa,GAAxB;;AAoBA,MAAMC,mBAAmB;AACvBf,UAAM;AADiB,GAAzB;;AAIA,MAAMgB,eAAepB,QAAQ9D,WAAR,EAArB;;AAEA,SAAO;AACLmF,YAAQpB,gBAAgBmB,YAAhB,CADH;AAELE,cAAUH,iBAAiBC,YAAjB,KAAkC;AAFvC,GAAP;AAID;;AAED,SAASG,mBAAT,CAA6BC,QAA7B,EAAuCC,QAAvC,EAAiD;AAC/C,MAAMC,sBAAsB,mCAA5B;AACAF,aAAWA,YAAYA,SAASG,KAAT,CAAeD,mBAAf,CAAvB;;AAEA,MAAI,CAACF,QAAL,EAAe;AACb,WAAOC,QAAP;AACD;;AAED,MAAMG,OAAOJ,SAAS,CAAT,MAAgB,GAAhB,GAAsB,CAAC,CAAvB,GAA2B,CAAxC;AACA,MAAIK,QAAQ,CAACL,SAAS,CAAT,CAAb;AACA,MAAIM,UAAU,CAACN,SAAS,CAAT,CAAf;;AAEA,MAAI,CAACA,SAAS,CAAT,CAAD,IAAgB,CAACA,SAAS,CAAT,CAArB,EAAkC;AAChCM,cAAUC,KAAKC,KAAL,CAAWH,QAAQ,GAAnB,CAAV;AACAA,YAAQE,KAAKC,KAAL,CAAWH,QAAQ,GAAnB,CAAR;AACD;;AAED;AACA,SAAOD,QAAQC,QAAQ,EAAR,GAAaC,OAArB,IAAgC,EAAvC;AACD;;AAED;AACA,IAAMG,gBAAgB;AACpBC,QAAM,KADc;AAEpBC,QAAM,KAFc;AAGpBC,QAAM,CAAC,IAHa;AAIpBC,OAAK,CAAC,KAJc;AAKpBC,QAAM,KALc;AAMpBC,QAAM,KANc;AAOpBC,QAAM,CAAC,KAPa;AAQpBC,QAAM,CAAC,KARa;AASpBC,QAAM,CAAC,KATa;AAUpBC,QAAM,CAAC,KAVa;AAWpBC,OAAK,CAAC,KAXc;AAYpBC,OAAK,CAAC,KAZc;AAapBC,OAAK,CAAC,KAbc;AAcpBC,QAAM,KAdc;AAepBC,QAAM,KAfc;AAgBpBC,OAAK,CAAC,KAhBc;AAiBpBC,QAAM,IAjBc;AAkBpBC,OAAK,CAAC,KAlBc;AAmBpBC,OAAK,CAAC,KAnBc;AAoBpBC,OAAK,IApBe;AAqBpBC,QAAM,KArBc;AAsBpBC,OAAK,IAtBe;AAuBpBC,QAAM,CAAC,KAvBa;AAwBpBC,OAAK,CAAC,KAxBc;AAyBpBC,QAAM,KAzBc;AA0BpBC,QAAM,IA1Bc;AA2BpBC,OAAK,IA3Be;AA4BpBC,OAAK,CAAC,KA5Bc;AA6BpBC,OAAK,CAAC,KA7Bc;AA8BpBC,OAAK,CAAC,KA9Bc;AA+BpBC,OAAK,CAAC,KA/Bc;AAgCpBC,QAAM,KAhCc;AAiCpBC,OAAK,CAAC,IAjCc;AAkCpBC,OAAK,KAlCe;AAmCpBC,QAAM,CAAC,KAnCa;AAoCpBC,OAAK,CAAC,KApCc;AAqCpBC,QAAM,KArCc;AAsCpBC,OAAK,IAtCe;AAuCpBC,OAAK,CAAC,KAvCc;AAwCpBC,OAAK,CAAC,KAxCc;AAyCpBC,OAAK,CAAC,KAzCc;AA0CpBC,OAAK,CAAC,KA1Cc;AA2CpBC,QAAM,CAAC,KA3Ca;AA4CpBC,OAAK,CAAC,IA5Cc;AA6CpBC,OAAK,KA7Ce;AA8CpBC,OAAK,CA9Ce;AA+CpBC,OAAK,KA/Ce;AAgDpBC,OAAK,CAAC,KAhDc;AAiDpBC,QAAM,KAjDc;AAkDpBC,OAAK,KAlDe;AAmDpBC,OAAK,CAAC,KAnDc;AAoDpBC,OAAK,CAAC,KApDc;AAqDpBC,OAAK,CAAC,KArDc;AAsDpBC,OAAK,CAAC,KAtDc;AAuDpBC,QAAM,KAvDc;AAwDpBC,OAAK,KAxDe;AAyDpBC,OAAK,KAzDe;AA0DpBC,OAAK,IA1De;AA2DpBC,OAAK,KA3De;AA4DpBC,OAAK,IA5De;AA6DpBC,OAAK,KA7De;AA8DpBC,OAAK,KA9De;AA+DpBC,OAAK,IA/De;AAgEpBC,OAAK,KAhEe;AAiEpBC,OAAK,IAjEe;AAkEpBC,QAAM,CAAC,KAlEa;AAmEpBC,QAAM,KAnEc;AAoEpBC,OAAK,CAAC,KApEc;AAqEpBC,QAAM,IArEc;AAsEpBC,OAAK,IAtEe;AAuEpBC,OAAK,IAvEe;AAwEpBC,OAAK,CAAC,KAxEc;AAyEpBC,OAAK,KAzEe;AA0EpBC,OAAK,KA1Ee;AA2EpBC,OAAK,CAAC,KA3Ec;AA4EpBC,OAAK,CAAC,KA5Ec;AA6EpBC,QAAM,CAAC,IA7Ea;AA8EpBC,OAAK,CAAC,IA9Ec;AA+EpBC,OAAK,CAAC,IA/Ec;AAgFpBC,OAAK,CAAC,KAhFc;AAiFpBC,OAAK,CAAC,IAjFc;AAkFpBC,QAAM,KAlFc;AAmFpBC,QAAM,KAnFc;AAoFpBC,QAAM,KApFc;AAqFpBC,QAAM,CAAC,KArFa;AAsFpBC,OAAK,CAAC,KAtFc;AAuFpBC,QAAM,KAvFc;AAwFpBC,OAAK,KAxFe;AAyFpBC,QAAM,KAzFc;AA0FpBC,OAAK,CAAC,KA1Fc;AA2FpBC,QAAM,CAAC,KA3Fa;AA4FpBC,OAAK,CAAC,KA5Fc;AA6FpBC,OAAK,CAAC,KA7Fc;AA8FpBC,OAAK,CAAC,KA9Fc;AA+FpBC,OAAK,CAAC,KA/Fc;AAgGpBC,OAAK,IAhGe;AAiGpBC,QAAM,IAjGc;AAkGpBC,QAAM,CAAC,KAlGa;AAmGpBC,QAAM,CAAC,KAnGa;AAoGpBC,OAAK,CAAC,KApGc;AAqGpBC,OAAK,CAAC,KArGc;AAsGpBC,QAAM,KAtGc;AAuGpBC,OAAK,KAvGe;AAwGpBC,OAAK,CAxGe;AAyGpBC,OAAK,CAzGe;AA0GpBC,QAAM,IA1Gc;AA2GpBC,OAAK,IA3Ge;AA4GpBC,QAAM,IA5Gc;AA6GpBC,QAAM,IA7Gc;AA8GpBC,OAAK,CA9Ge;AA+GpBC,OAAK,KA/Ge;AAgHpBC,QAAM,KAhHc;AAiHpBC,OAAK,KAjHe;AAkHpBC,OAAK,IAlHe;AAmHpBC,QAAM,CAAC,KAnHa;AAoHpBC,OAAK,CAAC,KApHc;AAqHpBC,OAAK,CAAC,KArHc;AAsHpBC,OAAK,CAAC,KAtHc;AAuHpBC,OAAK,CAAC,KAvHc;AAwHpBC,KAAG,IAxHiB;AAyHpBC,KAAG,IAzHiB;AA0HpBC,KAAG,KA1HiB;AA2HpBC,KAAG,KA3HiB;AA4HpBC,KAAG,KA5HiB;AA6HpBC,KAAG,KA7HiB;AA8HpBC,KAAG,KA9HiB;AA+HpBC,KAAG,KA/HiB;AAgIpBrN,KAAG,KAhIiB;AAiIpBsN,KAAG,KAjIiB;AAkIpBC,KAAG,KAlIiB;AAmIpBC,KAAG,KAnIiB;AAoIpBC,KAAG,CAAC,IApIgB;AAqIpBC,KAAG,CAAC,IArIgB;AAsIpBC,KAAG,CAAC,KAtIgB;AAuIpBC,KAAG,CAAC,KAvIgB;AAwIpBC,KAAG,CAAC,KAxIgB;AAyIpBC,KAAG,CAAC,KAzIgB;AA0IpBC,KAAG,CAAC,KA1IgB;AA2IpBC,KAAG,CAAC,KA3IgB;AA4IpBrN,KAAG,CAAC,KA5IgB;AA6IpBsN,KAAG,CAAC,KA7IgB;AA8IpBtM,KAAG,CAAC,KA9IgB;AA+IpBuM,KAAG,CAAC,KA/IgB;AAgJpBC,KAAG;AAhJiB,CAAtB;;AAmJA,IAAMC,UAAU;AACdC,aAAW;AACTC,WAAO,aADE;AAETC,UAAM,WAFG;AAGTC,YAHS,sBAGE;AACT,WAAKC,EAAL,IAAW,CAAX;AACA,aAAO,KAAKC,SAAL,EAAP;AACD;AANQ,GADG;;AAUdC,OAAK;AACHL,WAAO,OADJ;AAEHC,UAAM;AACN;AAHG,GAVS;;AAgBdK,QAAM;AACJN,WAAO,QADH;AAEJC,UAAM,MAFF;AAGJC,YAHI,sBAGO;AACT,aAAO,KAAKE,SAAL,MAAoB,KAAKG,IAAL,CAAU,EAAV,EAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB,CAA3B;AACD;AALG,GAhBQ;;AAwBdC,mBAAiB;AACfR,WAAO,oBADQ;AAEfC,UAAM,kBAFS;AAGfC,YAHe,sBAGJ;AACT,aAAO,KAAKE,SAAL,EAAP;AACD;AALc,GAxBH;;AAgCdK,YAAU;AACRT,WAAO,YADC;AAERC,UAAM,UAFE;AAGRC,YAHQ,sBAGG;AACT,WAAKC,EAAL,IAAW,CAAX;AACA,aAAO,KAAKC,SAAL,EAAP;AACD;AANO,GAhCI;;AAyCdM,aAAW;AACTV,WAAO,YADE;AAETC,UAAM,WAFG;AAGTC,YAHS,oBAGAxJ,KAHA,EAGOgK,SAHP,EAGkB;AACzB,WAAKC,EAAL,IAAW,CAACD,SAAZ;AACA,WAAKd,CAAL,GAAS,IAAT;AACA,WAAKV,CAAL,GAAS,CAAT;AACA,WAAKP,CAAL,GAAS,CAAT;AACA,WAAKiC,KAAL,GAAa,CAAb;;AAEA,aAAO,KAAKR,SAAL,MAAoB,KAAKS,IAAL,CAAU,CAAV,CAA3B;AACD;AAXQ,GAzCG;;AAuDdC,kBAAgB;AACdd,WAAO,uBADO;AAEdC,UAAM,wBAFQ;AAGdC,YAHc,oBAGLxJ,KAHK,EAGEqK,GAHF,EAGO;AACnB,UAAIA,IAAI9P,WAAJ,OAAsB,OAA1B,EAAmC;AACjC,aAAK+P,qBAAL,GAA6B,CAA7B;AACD,OAFD,MAEO;AACL,aAAKA,qBAAL,GAA6B,CAAC,CAA9B;AACD;AACF;AATa,GAvDF;;AAmEdC,iBAAe;AACbjB,WAAOkB,OAAO,sBAAsBnS,QAAtB,GAAiCF,UAAjC,GAA8CC,UAA9C,GAA2D,GAAlE,EAAuE,GAAvE,CADM;AAEbmR,UAAM,kBAFO;AAGbC,YAHa,oBAGJxJ,KAHI,EAGGyK,IAHH,EAGSvK,KAHT,EAGgB5F,QAHhB,EAG0B;AACrC,UAAMoQ,OAAOD,KAAKlQ,WAAL,OAAuB,MAApC;AACA,UAAIF,OAAO,CAAC6F,KAAZ;AACA,UAAIyK,SAAS,EAAb;;AAEA,UAAI,CAACD,IAAL,EAAW;AACTrQ,gBAAQ,CAAR;AACAsQ,iBAAS,EAAT;AACD;;AAEDtQ,aAAOD,gBAAgBC,IAAhB,EAAsBC,QAAtB,CAAP;;AAEA,aAAO,KAAKoP,SAAL,MAAoB,KAAKG,IAAL,CAAUxP,IAAV,EAAgBsQ,MAAhB,EAAwB,CAAxB,EAA2B,CAA3B,CAA3B;AACD;AAhBY,GAnED;;AAsFdC,aAAW;AACTtB,WAAOkB,OACL,OACExR,eADF,GAEE,GAFF,GAGEC,aAHF,GAIE,GAJF,GAKEf,OALF,GAME,GANF,GAOEW,SAPF,GAQE,GARF,GASEC,SATF,GAUE,GAVF,GAWEZ,OAXF,GAYE,IAbG,EAcL,GAdK,CADE;AAiBTqR,UAAM;AACN;AAlBS,GAtFG;;AA2GdsB,aAAW;AACTvB,WAAOkB,OAAO,MAAMjS,QAAN,GAAiB,GAAjB,GAAuBE,UAAvB,GAAoC,GAApC,GAA0CE,UAA1C,GAAuD,cAAvD,GAAwEP,UAA/E,EAA2F,GAA3F,CADE;AAETmR,UAAM,WAFG;AAGTC,YAHS,oBAGAxJ,KAHA,EAGO3F,IAHP,EAGasQ,MAHb,EAGqB/L,MAHrB,EAG6BkM,IAH7B,EAGmCxQ,QAHnC,EAG6C;AACpD,aAAO,KAAKuP,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAACqQ,MAA7C,EAAqD,CAAC/L,MAAtD,EAA8D,CAACkM,KAAKC,MAAL,CAAY,CAAZ,EAAe,CAAf,CAA/D,CAAP;AACD;AALQ,GA3GG;;AAmHdC,cAAY;AACV1B,WAAO,+BADG;AAEVC,UAAM,OAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGMqK,GAHN,EAGWY,SAHX,EAGsBvQ,IAHtB,EAG4B;AACpC,UAAMwQ,QAAQ;AACZC,aAAK,CADO;AAEZC,aAAK,CAFO;AAGZC,aAAK,CAHO;AAIZC,aAAK,CAJO;AAKZC,aAAK,CALO;AAMZC,aAAK,CANO;AAOZC,aAAK,CAPO;AAQZC,aAAK,CARO;AASZC,aAAK,CATO;AAUZC,aAAK,CAVO;AAWZC,aAAK,EAXO;AAYZC,aAAK;AAZO,QAaZb,UAAUc,WAAV,EAbY,CAAd;AAcA,aAAO,KAAKC,GAAL,CAAS,OAAOC,SAASvR,IAAT,EAAe,EAAf,CAAhB,EAAoCwQ,KAApC,EAA2Ce,SAAS5B,GAAT,EAAc,EAAd,CAA3C,CAAP;AACD;AAnBS,GAnHE;;AAyId6B,cAAY;AACV5C,WAAOkB,OAAO,MAAMjS,QAAN,GAAiB,MAAjB,GAA0BC,QAA1B,GAAqC,MAArC,GAA8CG,UAA9C,GAA2DR,UAA3D,GAAwEC,UAA/E,EAA2F,GAA3F,CADG;AAEVmR,UAAM,YAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGM3F,IAHN,EAGYsQ,MAHZ,EAGoB/L,MAHpB,EAG4BtE,QAH5B,EAGsC;AAC9C,aAAO,KAAKuP,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAACqQ,MAA7C,EAAqD,CAAC/L,MAAtD,EAA8D,CAA9D,CAAP;AACD;AALS,GAzIE;;AAiJduN,eAAa;AACX7C,WAAOkB,OAAO,MAAMjS,QAAN,GAAiB,MAAjB,GAA0BE,UAA1B,GAAuCN,UAAvC,GAAoDC,UAA3D,EAAuE,GAAvE,CADI;AAEXmR,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGK3F,IAHL,EAGWsQ,MAHX,EAGmBrQ,QAHnB,EAG6B;AACtC,aAAO,KAAKuP,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAACqQ,MAA7C,EAAqD,CAArD,EAAwD,CAAxD,CAAP;AACD;AALU,GAjJC;;AAyJdyB,cAAY;AACV9C,WAAOkB,OAAO,MAAMjS,QAAN,GAAiBJ,UAAjB,GAA8BC,UAArC,EAAiD,GAAjD,CADG;AAEVmR,UAAM,YAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGM3F,IAHN,EAGYC,QAHZ,EAGsB;AAC9B,aAAO,KAAKuP,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAA5C,EAA+C,CAA/C,EAAkD,CAAlD,CAAP;AACD;AALS,GAzJE;;AAiKd+R,QAAM;AACJ/C,WAAOkB,OACL,MACEnR,OADF,GAEE,GAFF,GAGEG,SAHF,GAIE,GAJF,GAKEE,OALF,GAME,GANF,GAOEpB,UAPF,GAQE,GARF,GASEG,UATF,GAUE,GAVF,GAWEE,UAXF,GAYEC,MAZF,GAaEmB,cAbF,GAcE,GAfG,EAgBL,GAhBK,CADH;AAmBJwP,UAAM,MAnBF;AAoBJC,YApBI,oBAoBKxJ,KApBL,EAoBYtF,IApBZ,EAoBkBwQ,KApBlB,EAoByBb,GApBzB,EAoB8BhQ,IApB9B,EAoBoCsQ,MApBpC,EAoB4C/L,MApB5C,EAoBoDkM,IApBpD,EAoB0DwB,YApB1D,EAoBwE;AAC1E,aACE,KAAKN,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,KACA,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAACkM,KAAKC,MAAL,CAAY,CAAZ,EAAe,CAAf,CAApC,CADA,IAEA,KAAKZ,IAAL,CAAUvK,oBAAoB0M,YAApB,CAAV,CAHF;AAKD;AA1BG,GAjKQ;;AA8LdC,QAAM;AACJjD,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,GAAhB,GAAsBE,OAAtB,GAAgC,GAAhC,GAAsCE,KAAtC,GAA8C,GAA9C,GAAoDpB,QAApD,GAA+D,GAA/D,GAAqEG,QAArE,GAAgF,GAAhF,GAAsFE,QAA7F,CADH;AAEJ6Q,UAAM,MAFF;AAGJC,YAHI,oBAGKxJ,KAHL,EAGYtF,IAHZ,EAGkBwQ,KAHlB,EAGyBb,GAHzB,EAG8BhQ,IAH9B,EAGoCsQ,MAHpC,EAG4C/L,MAH5C,EAGoD;AACtD,aAAO,KAAKoN,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,KAAoC,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAA3C;AACD;AALG,GA9LQ;;AAsMd4N,QAAM;AACJlD,WAAOkB,OACL,MAAMnR,OAAN,GAAgB,GAAhB,GAAsBG,SAAtB,GAAkC,GAAlC,GAAwCE,OAAxC,GAAkD,GAAlD,GAAwDpB,UAAxD,GAAqE,GAArE,GAA2EG,UAA3E,GAAwF,GAAxF,GAA8FE,UADzF,EAEL,GAFK,CADH;AAKJ4Q,UAAM,MALF;AAMJC,YANI,oBAMKxJ,KANL,EAMYtF,IANZ,EAMkBwQ,KANlB,EAMyBb,GANzB,EAM8BhQ,IAN9B,EAMoCsQ,MANpC,EAM4C/L,MAN5C,EAMoD;AACtD,aAAO,KAAKoN,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,KAAoC,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAA3C;AACD;AARG,GAtMQ;;AAiNd6N,UAAQ;AACNnD,WAAOkB,OAAO,MAAMnR,OAAN,GAAgBG,SAAhB,GAA4BE,OAA5B,GAAsC,GAAtC,GAA4CrB,QAA5C,GAAuD,GAAvD,GAA6DI,UAA7D,GAA0E,GAA1E,GAAgFE,UAAvF,CADD;AAEN4Q,UAAM,QAFA;AAGNC,YAHM,oBAGGxJ,KAHH,EAGUtF,IAHV,EAGgBwQ,KAHhB,EAGuBb,GAHvB,EAG4BhQ,IAH5B,EAGkCsQ,MAHlC,EAG0C/L,MAH1C,EAGkD;AACtD,aAAO,KAAKoN,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,KAAoC,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAA3C;AACD;AALK,GAjNM;;AAyNd8N,iBAAe;AACbpD,WAAOkB,OAAO,MAAMnR,OAAN,GAAgBG,SAAhB,GAA4BE,OAA5B,GAAsC,MAAtC,GAA+CrB,QAA/C,GAA0DI,UAA1D,GAAuEE,UAA9E,CADM;AAEb4Q,UAAM,eAFO;AAGbC,YAHa,oBAGJxJ,KAHI,EAGGtF,IAHH,EAGSwQ,KAHT,EAGgBb,GAHhB,EAGqBhQ,IAHrB,EAG2BsQ,MAH3B,EAGmC/L,MAHnC,EAG2C;AACtD,aAAO,KAAKoN,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,KAAoC,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAA3C;AACD;AALY,GAzND;;AAiOd+N,OAAK;AACHrD,WAAOkB,OACL,MACE/Q,KADF,GAEE,IAFF,GAGEG,WAHF,GAIE,IAJF,GAKEP,OALF,GAME,GANF,GAOEf,UAPF,GAQE,GARF,GASEG,UATF,GAUE,GAVF,GAWEE,UAXF,GAYET,OAZF,GAaE6B,cAdG,EAeL,GAfK,CADJ;AAkBHwP,UAAM,KAlBH;AAmBHC,YAnBG,oBAmBMxJ,KAnBN,EAmBaqK,GAnBb,EAmBkBa,KAnBlB,EAmByBxQ,IAnBzB,EAmB+BL,IAnB/B,EAmBqCsQ,MAnBrC,EAmB6C/L,MAnB7C,EAmBqD0N,YAnBrD,EAmBmE;AACpE,aACE,KAAKN,GAAL,CAAS,CAACtR,IAAV,EAAgBE,YAAYsQ,KAAZ,CAAhB,EAAoC,CAACb,GAArC,KACA,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CADA,IAEA,KAAKuL,IAAL,CAAUvK,oBAAoB0M,YAApB,CAAV,CAHF;AAKD;AAzBE,GAjOS;;AA6PdM,eAAa;AACXtD,WAAOkB,OAAO,QAAQnS,QAAR,GAAmB,MAAnB,GAA4BG,QAA5B,GAAuC,MAAvC,GAAgDE,QAAhD,GAA2DE,MAAlE,EAA0E,GAA1E,CADI;AAEX2Q,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGK3F,IAHL,EAGWsQ,MAHX,EAGmB/L,MAHnB,EAG2BkM,IAH3B,EAGiC;AAC1C,aAAO,KAAKjB,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAACkM,KAAKC,MAAL,CAAY,CAAZ,EAAe,CAAf,CAApC,CAAP;AACD;AALU,GA7PC;;AAqQd8B,eAAa;AACXvD,WAAOkB,OAAO,MAAM1Q,WAAN,GAAoB,WAApB,GAAkCL,KAAlC,GAA0C,iBAA1C,GAA8DN,MAArE,EAA6E,GAA7E,CADI;AAEXoQ,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGKkL,KAHL,EAGYb,GAHZ,EAGiB3P,IAHjB,EAGuB;AAChC,aAAO,KAAKsR,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BE,YAAYsQ,KAAZ,CAA5B,EAAgD,CAACb,GAAjD,CAAP;AACD;AALU,GArQC;;AA6QdyC,gBAAc;AACZxD,WAAOkB,OAAO,MAAM/Q,KAAN,GAAc,SAAd,GAA0BF,OAA1B,GAAoC,MAApC,GAA6CF,OAApD,CADK;AAEZkQ,UAAM,cAFM;AAGZC,YAHY,oBAGHxJ,KAHG,EAGIqK,GAHJ,EAGSa,KAHT,EAGgBxQ,IAHhB,EAGsB;AAChC,aAAO,KAAKsR,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,CAAP;AACD;AALW,GA7QA;;AAqRd0C,gBAAc;AACZzD,WAAOkB,OAAO,MAAM/Q,KAAN,GAAc,QAAd,GAAyBF,OAAzB,GAAmC,KAAnC,GAA2CH,OAAlD,CADK;AAEZmQ,UAAM,cAFM;AAGZC,YAHY,oBAGHxJ,KAHG,EAGIqK,GAHJ,EAGSa,KAHT,EAGgBxQ,IAHhB,EAGsB;AAChC,aAAO,KAAKsR,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BwQ,QAAQ,CAApC,EAAuC,CAACb,GAAxC,CAAP;AACD;AALW,GArRA;;AA6Rd2C,cAAY;AACV1D,WAAOkB,OAAO,QAAQnS,QAAR,GAAmB,MAAnB,GAA4BG,QAA5B,GAAuC,MAAvC,GAAgDE,QAAvD,CADG;AAEV6Q,UAAM,YAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGM3F,IAHN,EAGYsQ,MAHZ,EAGoB/L,MAHpB,EAG4B;AACpC,aAAO,KAAKiL,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAAP;AACD;AALS,GA7RE;;AAqSdqO,eAAa;AACX3D,WAAOkB,OAAO,MAAMnR,OAAN,GAAgBG,SAAhB,GAA4BE,OAAnC,CADI;AAEX6P,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGKtF,IAHL,EAGWwQ,KAHX,EAGkBb,GAHlB,EAGuB;AAChC,aAAO,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,CAAP;AACD;AALU,GArSC;;AA6Sd6C,WAAS;AACP5D,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,MAAhB,GAAyBY,WAAhC,CADA;AAEPsP,UAAM,SAFC;AAGPC,YAHO,oBAGExJ,KAHF,EAGStF,IAHT,EAGe2P,GAHf,EAGoB;AACzB,aAAO,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgB,CAAhB,EAAmB,CAAC2P,GAApB,CAAP;AACD;AALM,GA7SK;;AAqTd8C,eAAa;AACX7D,WAAOkB,OAAO,QAAQnS,QAAR,GAAmB,MAAnB,GAA4BG,QAAnC,EAA6C,GAA7C,CADI;AAEX+Q,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGK3F,IAHL,EAGWsQ,MAHX,EAGmB;AAC5B,aAAO,KAAKd,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAA1B,EAA6B,CAA7B,CAAP;AACD;AALU,GArTC;;AA6TdyC,kBAAgB;AACd9D,WAAOkB,OAAO,QAAQlS,UAAR,GAAqBG,UAArB,GAAkCE,UAAzC,EAAqD,GAArD,CADO;AAEd4Q,UAAM,gBAFQ;AAGdC,YAHc,oBAGLxJ,KAHK,EAGE3F,IAHF,EAGQsQ,MAHR,EAGgB/L,MAHhB,EAGwB;AACpC,aAAO,KAAKiL,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAAP;AACD;AALa,GA7TF;;AAqUdyO,oBAAkB;AAChB;AACA;AACA;AACA/D,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,GAAhB,GAAsBG,SAAtB,GAAkC,GAAlC,GAAwCE,OAAxC,GAAkD,GAAzD,CAJS;AAKhB6P,UAAM,kBALU;AAMhBC,YANgB,oBAMPxJ,KANO,EAMAtF,IANA,EAMMwQ,KANN,EAMab,GANb,EAMkB;AAChC,aAAO,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,CAAP;AACD;AARe,GArUJ;;AAgVdiD,aAAW;AACThE,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,GAAhB,GAAsBE,OAAtB,GAAgC,GAAhC,GAAsCE,KAA7C,CADE;AAET8P,UAAM,WAFG;AAGTC,YAHS,oBAGAxJ,KAHA,EAGOtF,IAHP,EAGawQ,KAHb,EAGoBb,GAHpB,EAGyB;AAChC,aAAO,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,CAAP;AACD;AALQ,GAhVG;;AAwVdkD,YAAU;AACRjE,WAAOkB,OAAO,MAAMjR,OAAN,GAAgB,GAAhB,GAAsBE,KAAtB,GAA8B,GAA9B,GAAoCN,MAA3C,CADC;AAERoQ,UAAM,UAFE;AAGRC,YAHQ,oBAGCxJ,KAHD,EAGQkL,KAHR,EAGeb,GAHf,EAGoB3P,IAHpB,EAG0B;AAChC,aAAO,KAAKsR,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BwQ,QAAQ,CAApC,EAAuC,CAACb,GAAxC,CAAP;AACD;AALO,GAxVI;;AAgWdmD,iBAAe;AACblE,WAAOkB,OAAO,MAAMjR,OAAN,GAAgB,GAAhB,GAAsBE,KAA7B,CADM;AAEb8P,UAAM,eAFO;AAGbC,YAHa,oBAGJxJ,KAHI,EAGGkL,KAHH,EAGUb,GAHV,EAGe;AAC1B,aAAO,KAAK2B,GAAL,CAAS,KAAK9C,CAAd,EAAiBgC,QAAQ,CAAzB,EAA4B,CAACb,GAA7B,CAAP;AACD;AALY,GAhWD;;AAwWdoD,8BAA4B;AAC1B;AACAnE,WAAOkB,OAAO,MAAMrR,MAAN,GAAe,GAAf,GAAqBI,OAArB,GAA+B,GAA/B,GAAqCE,KAA5C,CAFmB;AAG1B8P,UAAM,6BAHoB;AAI1BC,YAJ0B,oBAIjBxJ,KAJiB,EAIVtF,IAJU,EAIJwQ,KAJI,EAIGb,GAJH,EAIQ;AAChC,aAAO,KAAK2B,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BwQ,QAAQ,CAApC,EAAuC,CAACb,GAAxC,CAAP;AACD;AANyB,GAxWd;;AAiXdqD,gBAAc;AACZpE,WAAOkB,OAAO,MAAMlR,eAAN,GAAwB,GAAxB,GAA8BE,SAA9B,GAA0C,GAA1C,GAAgDE,OAAvD,CADK;AAEZ6P,UAAM,cAFM;AAGZC,YAHY,oBAGHxJ,KAHG,EAGItF,IAHJ,EAGUwQ,KAHV,EAGiBb,GAHjB,EAGsB;AAChC,aAAO,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAACb,GAA5B,CAAP;AACD;AALW,GAjXA;;AAyXdsD,cAAY;AACVrE,WAAOkB,OAAO,QAAQlS,UAAR,GAAqBG,UAA5B,EAAwC,GAAxC,CADG;AAEV8Q,UAAM,YAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGM3F,IAHN,EAGYsQ,MAHZ,EAGoB;AAC5B;AACA;AACA,cAAQ,KAAKiD,KAAb;AACE,aAAK,CAAL;AACE,iBAAO,KAAK/D,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAA1B,EAA6B,KAAKxC,CAAlC,CAAP;AACF,aAAK,CAAL;AACE,eAAKe,CAAL,GAAS7O,OAAO,GAAP,GAAa,CAACsQ,MAAvB;AACA,eAAKiD,KAAL;;AAEA,iBAAO,IAAP;AACF;AACE,iBAAO,KAAP;AATJ;AAWD;AAjBS,GAzXE;;AA6YdC,kBAAgB;AACdvE,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,GAAhB,GAAsBE,OAA7B,CADO;AAEdgQ,UAAM,gBAFQ;AAGdC,YAHc,oBAGLxJ,KAHK,EAGEtF,IAHF,EAGQwQ,KAHR,EAGe;AAC3B,aAAO,KAAKc,GAAL,CAAS,CAACtR,IAAV,EAAgBwQ,QAAQ,CAAxB,EAA2B,CAA3B,CAAP;AACD;AALa,GA7YF;;AAqZd4C,iBAAe;AACb;AACA;AACAxE,WAAOkB,OAAO,MAAM,8BAAN,GAAuC5Q,WAAvC,GAAqD,IAArD,GAA4DF,OAAnE,EAA4E,GAA5E,CAHM;AAIb6P,UAAM,eAJO;AAKbC,YALa,oBAKJxJ,KALI,EAKGtF,IALH,EAKSwQ,KALT,EAKgBb,GALhB,EAKqB;AAChC,aAAO,KAAK2B,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BE,YAAYsQ,KAAZ,CAA5B,EAAgD,CAACb,GAAjD,CAAP;AACD;AAPY,GArZD;;AA+Zd0D,YAAU;AACRzE,WAAOkB,OAAO,MAAM/Q,KAAN,GAAc,WAAd,GAA4BK,WAA5B,GAA0C,WAA1C,GAAwDX,MAA/D,EAAuE,GAAvE,CADC;AAERoQ,UAAM,UAFE;AAGRC,YAHQ,oBAGCxJ,KAHD,EAGQqK,GAHR,EAGaa,KAHb,EAGoBxQ,IAHpB,EAG0B;AAChC,aAAO,KAAKsR,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BE,YAAYsQ,KAAZ,CAA5B,EAAgD,CAACb,GAAjD,CAAP;AACD;AALO,GA/ZI;;AAuad2D,aAAW;AACT1E,WAAOkB,OAAO,MAAM1Q,WAAN,GAAoB,WAApB,GAAkCT,OAAzC,EAAkD,GAAlD,CADE;AAETkQ,UAAM,WAFG;AAGTC,YAHS,oBAGAxJ,KAHA,EAGOkL,KAHP,EAGcxQ,IAHd,EAGoB;AAC3B,aAAO,KAAKsR,GAAL,CAAS,CAACtR,IAAV,EAAgBE,YAAYsQ,KAAZ,CAAhB,EAAoC,CAApC,CAAP;AACD;AALQ,GAvaG;;AA+ad+C,gBAAc;AACZ3E,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,WAAhB,GAA8BS,WAArC,EAAkD,GAAlD,CADK;AAEZyP,UAAM,cAFM;AAGZC,YAHY,oBAGHxJ,KAHG,EAGItF,IAHJ,EAGUwQ,KAHV,EAGiB;AAC3B,aAAO,KAAKc,GAAL,CAAS,CAACtR,IAAV,EAAgBE,YAAYsQ,KAAZ,CAAhB,EAAoC,CAApC,CAAP;AACD;AALW,GA/aA;;AAubdgD,eAAa;AACX5E,WAAOkB,OAAO,OAAO5Q,WAAP,GAAqB,IAArB,GAA4BF,OAA5B,GAAsC,GAAtC,GAA4CP,MAAnD,EAA2D,GAA3D,CADI;AAEXoQ,UAAM,aAFK;AAGXC,YAHW,oBAGFxJ,KAHE,EAGKkL,KAHL,EAGYb,GAHZ,EAGiB3P,IAHjB,EAGuB;AAChC,aAAO,KAAKsR,GAAL,CAASxR,YAAYE,IAAZ,CAAT,EAA4BE,YAAYsQ,KAAZ,CAA5B,EAAgD,CAACb,GAAjD,CAAP;AACD;AALU,GAvbC;;AA+bd8D,cAAY;AACV7E,WAAOkB,OAAO,MAAMrQ,YAAb,EAA2B,GAA3B,CADG;AAEVoP,UAAM,YAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGMkL,KAHN,EAGab,GAHb,EAGkB;AAC1B,aAAO,KAAK2B,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,CAAP;AACD;AALS,GA/bE;;AAucd+D,iBAAe;AACb9E,WAAOkB,OAAO,MAAM/Q,KAAN,GAAc,WAAd,GAA4BK,WAAnC,EAAgD,GAAhD,CADM;AAEbyP,UAAM,eAFO;AAGbC,YAHa,oBAGJxJ,KAHI,EAGGqK,GAHH,EAGQa,KAHR,EAGe;AAC1B,aAAO,KAAKc,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,CAAP;AACD;AALY,GAvcD;;AA+cdgE,cAAY;AACV/E,WAAOkB,OAAO,MAAMnR,OAAN,GAAgB,KAAhB,GAAwBa,YAAxB,GAAuC,gBAA9C,CADG;AAEVqP,UAAM,sBAFI;AAGVC,YAHU,oBAGDxJ,KAHC,EAGMtF,IAHN,EAGY4T,IAHZ,EAGkBjE,GAHlB,EAGuB;AAC/BA,YAAMA,MAAM,CAACA,GAAP,GAAa,CAAnB;;AAEA,UAAI,CAAC,KAAK2B,GAAL,CAAS,CAACtR,IAAV,EAAgB,CAAhB,EAAmB,CAAnB,CAAL,EAA4B;AAC1B,eAAO,KAAP;AACD;;AAED;AACA,UAAI6T,YAAY,IAAIC,IAAJ,CAAS,KAAKtF,CAAd,EAAiB,KAAKV,CAAtB,EAAyB,KAAKP,CAA9B,EAAiCwG,MAAjC,EAAhB;;AAEA;AACAF,kBAAY,KAAKA,YAAY,CAAZ,GAAgBA,YAAY,CAA5B,GAAgCA,SAArC,CAAZ;;AAEA,WAAK9E,EAAL,IAAW8E,YAAY,CAACD,OAAO,CAAR,IAAa,CAAzB,GAA6BjE,GAAxC;AACD;AAjBS,GA/cE;;AAmedqE,gBAAc;AACZpF,WAAOkB,OAAO,OAAOxR,eAAP,GAAyB,GAAzB,GAA+BC,aAA/B,GAA+C,GAA/C,GAAqDf,OAArD,GAA+D,GAA/D,GAAqEgB,aAArE,GAAqF,GAA5F,EAAiG,GAAjG,CADK;AAEZqQ,UAAM,cAFM;AAGZC,YAHY,oBAGHxJ,KAHG,EAGI2O,QAHJ,EAGcC,OAHd,EAGuB;AACjC;AACA;AAFiC,4BAGJxQ,eAAeuQ,QAAf,CAHI;AAAA,UAGzBjP,MAHyB,mBAGzBA,MAHyB;AAAA,UAGjBC,QAHiB,mBAGjBA,QAHiB;;AAKjC,cAAQiP,QAAQrU,WAAR,EAAR;AACE,aAAK,KAAL;AACA,aAAK,MAAL;AACA,aAAK,QAAL;AACA,aAAK,SAAL;AACE,eAAK0P,EAAL,IAAWvK,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,MAAL;AACA,aAAK,QAAL;AACA,aAAK,SAAL;AACE,eAAKmP,EAAL,IAAWnP,MAAX;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAKoP,EAAL,IAAWpP,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,MAAL;AACE,eAAK+J,EAAL,IAAW/J,MAAX;AACA;AACF,aAAK,WAAL;AACA,aAAK,YAAL;AACA,aAAK,YAAL;AACA,aAAK,aAAL;AACE,eAAK+J,EAAL,IAAW/J,SAAS,EAApB;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAK+J,EAAL,IAAW/J,SAAS,CAApB;AACA;AACF,aAAK,OAAL;AACA,aAAK,QAAL;AACE,eAAKqP,EAAL,IAAWrP,MAAX;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAKsP,EAAL,IAAWtP,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,QAAL;AACA,aAAK,KAAL;AACA,aAAK,SAAL;AACA,aAAK,KAAL;AACA,aAAK,WAAL;AACA,aAAK,KAAL;AACA,aAAK,UAAL;AACA,aAAK,KAAL;AACA,aAAK,QAAL;AACA,aAAK,KAAL;AACA,aAAK,UAAL;AACA,aAAK,KAAL;AACA,aAAK,QAAL;AACE,eAAKgK,SAAL;AACA,eAAKuF,OAAL,GAAe/R,cAAc0R,OAAd,EAAuB,CAAvB,CAAf;AACA,eAAKM,eAAL,GAAuB,CAAvB;AACA,eAAKzF,EAAL,IAAW,CAAC/J,SAAS,CAAT,GAAaA,SAAS,CAAtB,GAA0BA,MAA3B,IAAqC,CAAhD;AACA;AACF,aAAK,SAAL;AACA,aAAK,UAAL;AACE;AACA;AA7DJ;AA+DD;AAvEW,GAneA;;AA6iBdyP,YAAU;AACR7F,WAAOkB,OAAO,0BAA0BrS,UAA1B,GAAuC,GAAvC,GAA6Ce,aAA7C,GAA6D,QAApE,EAA8E,GAA9E,CADC;AAERqQ,UAAM,UAFE;AAGRC,YAHQ,oBAGCxJ,KAHD,EAGQoP,KAHR,EAGeT,QAHf,EAGyBC,OAHzB,EAGkC;AACxC,UAAMS,UAAUD,MAAME,OAAN,CAAc,OAAd,EAAuB,EAAvB,EAA2B3U,MAA3C;;AAEA,UAAM+E,SAAS,CAACiP,QAAD,GAAYvO,KAAKmP,GAAL,CAAS,CAAC,CAAV,EAAaF,OAAb,CAA3B;;AAEA,cAAQT,QAAQrU,WAAR,EAAR;AACE,aAAK,KAAL;AACA,aAAK,MAAL;AACA,aAAK,QAAL;AACA,aAAK,SAAL;AACE,eAAK0P,EAAL,IAAWvK,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,MAAL;AACA,aAAK,QAAL;AACA,aAAK,SAAL;AACE,eAAKmP,EAAL,IAAWnP,MAAX;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAKoP,EAAL,IAAWpP,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,MAAL;AACE,eAAK+J,EAAL,IAAW/J,MAAX;AACA;AACF,aAAK,WAAL;AACA,aAAK,YAAL;AACA,aAAK,YAAL;AACA,aAAK,aAAL;AACE,eAAK+J,EAAL,IAAW/J,SAAS,EAApB;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAK+J,EAAL,IAAW/J,SAAS,CAApB;AACA;AACF,aAAK,OAAL;AACA,aAAK,QAAL;AACE,eAAKqP,EAAL,IAAWrP,MAAX;AACA;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,eAAKsP,EAAL,IAAWtP,MAAX;AACA;AACF,aAAK,KAAL;AACA,aAAK,QAAL;AACA,aAAK,KAAL;AACA,aAAK,SAAL;AACA,aAAK,KAAL;AACA,aAAK,WAAL;AACA,aAAK,KAAL;AACA,aAAK,UAAL;AACA,aAAK,KAAL;AACA,aAAK,QAAL;AACA,aAAK,KAAL;AACA,aAAK,UAAL;AACA,aAAK,KAAL;AACA,aAAK,QAAL;AACE,eAAKgK,SAAL;AACA,eAAKuF,OAAL,GAAe/R,cAAc0R,OAAd,EAAuB,CAAvB,CAAf;AACA,eAAKM,eAAL,GAAuB,CAAvB;AACA,eAAKzF,EAAL,IAAW,CAAC/J,SAAS,CAAT,GAAaA,SAAS,CAAtB,GAA0BA,MAA3B,IAAqC,CAAhD;AACA;AACF,aAAK,SAAL;AACA,aAAK,UAAL;AACE;AACA;AA7DJ;AA+DD;AAvEO,GA7iBI;;AAunBd8P,WAAS;AACPlG,WAAOkB,OAAO,OAAOzR,SAAP,GAAmB,GAA1B,EAA+B,GAA/B,CADA;AAEPwQ,UAAM,SAFC;AAGPC,YAHO,oBAGExJ,KAHF,EAGSwP,OAHT,EAGkB;AACvB,WAAK9F,SAAL;AACA,WAAKuF,OAAL,GAAe/R,cAAcsS,OAAd,EAAuB,CAAvB,CAAf;;AAEA,UAAI,KAAKN,eAAL,KAAyB,CAA7B,EAAgC;AAC9B,aAAKA,eAAL,GAAuB,CAAvB;AACD;AACF;AAVM,GAvnBK;;AAooBdO,oBAAkB;AAChBnG,WAAOkB,OAAO,OAAOvR,aAAP,GAAuB,GAAvB,GAA6Bf,OAA7B,GAAuC,MAA9C,EAAsD,GAAtD,CADS;AAEhBqR,UAAM,kBAFU;AAGhBC,YAHgB,oBAGPxJ,KAHO,EAGA3B,OAHA,EAGS;AACvB,WAAK6Q,eAAL,GAAuB,CAAvB;;AAEA,cAAQ7Q,QAAQ9D,WAAR,EAAR;AACE,aAAK,MAAL;AACE,eAAKkP,EAAL,IAAW,CAAX;AACA;AACF,aAAK,MAAL;AACE,eAAKA,EAAL,IAAW,CAAX;AACA;AACF,aAAK,MAAL;AACA,aAAK,UAAL;AACE,eAAKA,EAAL,IAAW,CAAX;AACA;AAVJ;;AAaA,UAAIiG,MAAM,KAAKT,OAAX,CAAJ,EAAyB;AACvB,aAAKA,OAAL,GAAe,CAAf;AACD;AACF;AAtBe,GApoBJ;;AA6pBdU,wBAAsB;AACpBrG,WAAOkB,OAAO,OAAO7Q,WAAP,GAAqB,GAArB,GAA2BC,WAA3B,GAAyC,GAAhD,EAAqD,GAArD,CADa;AAEpB2P,UAAM,uBAFc;AAGpBC,YAHoB,oBAGXxJ,KAHW,EAGJkL,KAHI,EAGG;AACrB,aAAO,KAAKc,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,KAAKjD,CAA1C,CAAP;AACD;AALmB,GA7pBR;;AAqqBdqE,gBAAc;AACZhD,WAAOkB,OAAO,MAAMzQ,cAAb,EAA6B,GAA7B,CADK;AAEZwP,UAAM,cAFM;AAGZC,YAHY,oBAGH8C,YAHG,EAGW;AACrB,aAAO,KAAKnC,IAAL,CAAUvK,oBAAoB0M,YAApB,CAAV,CAAP;AACD;AALW,GArqBA;;AA6qBdsD,UAAQ;AACNtG,WAAOkB,OAAO,MAAMxQ,QAAb,CADD;AAENuP,UAAM,QAFA;AAGNC,YAHM,oBAGGxJ,KAHH,EAGU6P,IAHV,EAGgB;AACpB,UAAMC,SAASxP,cAAcuP,KAAKtV,WAAL,EAAd,CAAf;;AAEA,UAAImV,MAAMI,MAAN,CAAJ,EAAmB;AACjB,eAAO,KAAP;AACD;;AAED,aAAO,KAAK3F,IAAL,CAAU2F,MAAV,CAAP;AACD;AAXK,GA7qBM;;AA2rBdC,OAAK;AACHzG,WAAO,OADJ;AAEHC,UAAM,KAFH;AAGHC,YAHG,sBAGQ;AACT,WAAKwF,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAKD,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAKtF,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAKqF,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAKD,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAK5E,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACA,WAAK+F,EAAL,GAAU,CAAC,KAAKA,EAAhB;AACD;AAXE,GA3rBS;;AAysBdC,SAAO;AACL3G,WAAOkB,OAAO,MAAMnR,OAAb,CADF;AAELkQ,UAAM,OAFD;AAGLC,YAHK,oBAGIxJ,KAHJ,EAGWtF,IAHX,EAGiB;AACpB,WAAKwO,CAAL,GAAS,CAACxO,IAAV;AACA,aAAO,IAAP;AACD;AANI,GAzsBO;;AAktBdwV,cAAY;AACV5G,WAAO,WADG;AAEVC,UAAM;AACN;AAHU,GAltBE;;AAwtBd4G,yBAAuB;AACrB7G,WAAOkB,OAAO,MAAMrQ,YAAN,GAAqB,IAArB,GAA4B9B,QAA5B,GAAuC,MAAvC,GAAgDG,QAAhD,GAA2D,MAA3D,GAAoEE,QAA3E,EAAqF,GAArF,CADc;AAErB6Q,UAAM,uBAFe;AAGrBC,YAHqB,oBAGZxJ,KAHY,EAGLkL,KAHK,EAGEb,GAHF,EAGOhQ,IAHP,EAGasQ,MAHb,EAGqB/L,MAHrB,EAG6B;AAChD,aAAO,KAAKoN,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,KAA8C,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAAC/L,MAA3B,EAAmC,CAAnC,CAArD;AACD;AALoB,GAxtBT;;AAguBdwR,2BAAyB;AACvB9G,WAAOkB,OACL,MAAMrQ,YAAN,GAAqB5B,QAArB,GAAgC,MAAhC,GAAyCC,QAAzC,GAAoD,MAApD,GAA6DG,UAA7D,GAA0ER,UAA1E,GAAuFC,UADlF,EAEL,GAFK,CADgB;AAKvBmR,UAAM,yBALiB;AAMvBC,YANuB,oBAMdxJ,KANc,EAMPkL,KANO,EAMAb,GANA,EAMKhQ,IANL,EAMWsQ,MANX,EAMmB/L,MANnB,EAM2BtE,QAN3B,EAMqC;AAC1D,aACE,KAAK0R,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,KAA8C,KAAKR,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAACqQ,MAA7C,EAAqD,CAAC/L,MAAtD,EAA8D,CAA9D,CADhD;AAGD;AAVsB,GAhuBX;;AA6uBdyR,0BAAwB;AACtB/G,WAAOkB,OAAO,MAAMrQ,YAAN,GAAqB,IAArB,GAA4B9B,QAA5B,GAAuC,MAAvC,GAAgDG,QAAvD,EAAiE,GAAjE,CADe;AAEtB+Q,UAAM,wBAFgB;AAGtBC,YAHsB,oBAGbxJ,KAHa,EAGNkL,KAHM,EAGCb,GAHD,EAGMhQ,IAHN,EAGYsQ,MAHZ,EAGoB;AACxC,aAAO,KAAKqB,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,KAA8C,KAAKR,IAAL,CAAU,CAACxP,IAAX,EAAiB,CAACsQ,MAAlB,EAA0B,CAA1B,EAA6B,CAA7B,CAArD;AACD;AALqB,GA7uBV;;AAqvBd2F,4BAA0B;AACxBhH,WAAOkB,OAAO,MAAMrQ,YAAN,GAAqB5B,QAArB,GAAgC,MAAhC,GAAyCE,UAAzC,GAAsDN,UAAtD,GAAmEC,UAA1E,EAAsF,GAAtF,CADiB;AAExBmR,UAAM,0BAFkB;AAGxBC,YAHwB,oBAGfxJ,KAHe,EAGRkL,KAHQ,EAGDb,GAHC,EAGIhQ,IAHJ,EAGUsQ,MAHV,EAGkBrQ,QAHlB,EAG4B;AAClD,aAAO,KAAK0R,GAAL,CAAS,KAAK9C,CAAd,EAAiBtO,YAAYsQ,KAAZ,CAAjB,EAAqC,CAACb,GAAtC,KAA8C,KAAKR,IAAL,CAAUzP,gBAAgB,CAACC,IAAjB,EAAuBC,QAAvB,CAAV,EAA4C,CAACqQ,MAA7C,EAAqD,CAArD,EAAwD,CAAxD,CAArD;AACD;AALuB;AArvBZ,CAAhB;;AA8vBA,IAAM4F,cAAc;AAClB;AACArH,KAAGsH,GAFe;AAGlBhI,KAAGgI,GAHe;AAIlBvI,KAAGuI,GAJe;AAKlB;AACAnI,KAAGmI,GANe;AAOlBxV,KAAGwV,GAPe;AAQlB1H,KAAG0H,GARe;AASlBrI,KAAGqI,GATe;;AAWlB;AACAxB,MAAI,CAZc;AAalBD,MAAI,CAbc;AAclBtF,MAAI,CAdc;AAelBqF,MAAI,CAfc;AAgBlBD,MAAI,CAhBc;AAiBlB5E,MAAI,CAjBc;AAkBlB+F,MAAI,CAlBc;;AAoBlB;AACAf,WAASuB,GArBS;AAsBlBtB,mBAAiB,CAtBC;;AAwBlB;AACA;AACA5E,yBAAuB,CA1BL;;AA4BlB;AACAnB,KAAGqH,GA7Be;;AA+BlB;AACAtG,SAAO,CAhCW;AAiClB0D,SAAO,CAjCW;AAkClB6C,SAAO,CAlCW;;AAoClB;AACAzE,KArCkB,eAqCd9C,CArCc,EAqCXV,CArCW,EAqCRP,CArCQ,EAqCL;AACX,QAAI,KAAKiC,KAAL,GAAa,CAAjB,EAAoB;AAClB,aAAO,KAAP;AACD;;AAED,SAAKA,KAAL;AACA,SAAKhB,CAAL,GAASA,CAAT;AACA,SAAKV,CAAL,GAASA,CAAT;AACA,SAAKP,CAAL,GAASA,CAAT;AACA,WAAO,IAAP;AACD,GA/CiB;AAiDlB4B,MAjDkB,gBAiDbxB,CAjDa,EAiDVrN,CAjDU,EAiDP8N,CAjDO,EAiDJX,CAjDI,EAiDD;AACf,QAAI,KAAKyF,KAAL,GAAa,CAAjB,EAAoB;AAClB,aAAO,KAAP;AACD;;AAED,SAAKA,KAAL;AACA,SAAKvF,CAAL,GAASA,CAAT;AACA,SAAKrN,CAAL,GAASA,CAAT;AACA,SAAK8N,CAAL,GAASA,CAAT;AACA,SAAKX,CAAL,GAASA,CAAT;;AAEA,WAAO,IAAP;AACD,GA7DiB;AA+DlBuB,WA/DkB,uBA+DN;AACV,SAAKrB,CAAL,GAAS,CAAT;AACA,SAAKrN,CAAL,GAAS,CAAT;AACA,SAAK8N,CAAL,GAAS,CAAT;AACA,SAAKX,CAAL,GAAS,CAAT;AACA,SAAKyF,KAAL,GAAa,CAAb;;AAEA,WAAO,IAAP;AACD,GAvEiB;AAyElBzD,MAzEkB,gBAyEbhK,OAzEa,EAyEJ;AACZ,QAAI,KAAKsQ,KAAL,IAAc,CAAlB,EAAqB;AACnB,WAAKA,KAAL;AACA,WAAKtH,CAAL,GAAShJ,OAAT;AACA,aAAO,IAAP;AACD;;AAED,WAAO,KAAP;AACD,GAjFiB;AAmFlBuQ,QAnFkB,kBAmFXC,UAnFW,EAmFC;AACjB,QAAI,KAAKzG,KAAL,IAAc,CAAC,KAAK0D,KAAxB,EAA+B;AAC7B,WAAKvF,CAAL,GAAS,KAAKrN,CAAL,GAAS,KAAK8N,CAAL,GAAS,KAAKX,CAAL,GAAS,CAApC;AACD;;AAED;AACA,QAAIuH,MAAM,KAAKxG,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAASyH,WAAWC,WAAX,EAAT;AACD;;AAED,QAAIlB,MAAM,KAAKlH,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAASmI,WAAWE,QAAX,EAAT;AACD;;AAED,QAAInB,MAAM,KAAKzH,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAAS0I,WAAWG,OAAX,EAAT;AACD;;AAED,QAAIpB,MAAM,KAAKrH,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAASsI,WAAWI,QAAX,EAAT;AACD;;AAED,QAAIrB,MAAM,KAAK1U,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAAS2V,WAAWK,UAAX,EAAT;AACD;;AAED,QAAItB,MAAM,KAAK5G,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAAS6H,WAAWM,UAAX,EAAT;AACD;;AAED,QAAIvB,MAAM,KAAKvH,CAAX,CAAJ,EAAmB;AACjB,WAAKA,CAAL,GAASwI,WAAWO,eAAX,EAAT;AACD;;AAED;AACA,YAAQ,KAAK5G,qBAAb;AACE,WAAK,CAAL;AACE,aAAKrC,CAAL,GAAS,CAAT;AACA;AACF,WAAK,CAAC,CAAN;AACE,aAAKA,CAAL,GAAS,CAAT;AACA,aAAKO,CAAL,IAAU,CAAV;AACA;AAPJ;;AAUA,QAAI,CAACkH,MAAM,KAAKT,OAAX,CAAL,EAA0B;AACxB,UAAMkC,OAAO,IAAI3C,IAAJ,CAASmC,WAAWS,OAAX,EAAT,CAAb;AACAD,WAAKE,WAAL,CAAiB,KAAKnI,CAAtB,EAAyB,KAAKV,CAA9B,EAAiC,KAAKP,CAAtC;AACAkJ,WAAKG,QAAL,CAAc,KAAKjJ,CAAnB,EAAsB,KAAKrN,CAA3B,EAA8B,KAAK8N,CAAnC,EAAsC,KAAKX,CAA3C;;AAEA,UAAMoJ,MAAMJ,KAAK1C,MAAL,EAAZ;;AAEA,UAAI,KAAKS,eAAL,KAAyB,CAA7B,EAAgC;AAC9B;AACA,YAAIqC,QAAQ,CAAR,IAAa,KAAKtC,OAAL,KAAiB,CAAlC,EAAqC;AACnC,eAAKA,OAAL,GAAe,CAAC,CAAhB;AACD;;AAED;AACA,YAAI,KAAKA,OAAL,KAAiB,CAAjB,IAAsBsC,QAAQ,CAAlC,EAAqC;AACnC,eAAKtC,OAAL,GAAe,CAAf;AACD;;AAED,aAAKhH,CAAL,IAAUsJ,GAAV;AACA,aAAKtJ,CAAL,IAAU,KAAKgH,OAAf;AACD,OAbD,MAaO;AACL,YAAIuC,OAAO,KAAKvC,OAAL,GAAesC,GAA1B;;AAEA;AACA,YAAK,KAAK9H,EAAL,GAAU,CAAV,IAAe+H,OAAO,CAAvB,IAA8B,KAAK/H,EAAL,IAAW,CAAX,IAAgB+H,QAAQ,CAAC,KAAKtC,eAAhE,EAAkF;AAChFsC,kBAAQ,CAAR;AACD;;AAED,YAAI,KAAKvC,OAAL,IAAgB,CAApB,EAAuB;AACrB,eAAKhH,CAAL,IAAUuJ,IAAV;AACD,SAFD,MAEO;AACL,eAAKvJ,CAAL,IAAU,KAAK7H,KAAKqR,GAAL,CAAS,KAAKxC,OAAd,IAAyBsC,GAA9B,CAAV;AACD;;AAED,aAAKtC,OAAL,GAAeuB,GAAf;AACD;AACF;;AAED;AACA,SAAKtH,CAAL,IAAU,KAAK8F,EAAf;AACA,SAAKxG,CAAL,IAAU,KAAKuG,EAAf;AACA,SAAK9G,CAAL,IAAU,KAAKwB,EAAf;;AAEA,SAAKpB,CAAL,IAAU,KAAKyG,EAAf;AACA,SAAK9T,CAAL,IAAU,KAAK6T,EAAf;AACA,SAAK/F,CAAL,IAAU,KAAKmB,EAAf;AACA,SAAK9B,CAAL,IAAU,KAAK6H,EAAf;;AAEA,SAAKhB,EAAL,GAAU,KAAKD,EAAL,GAAU,KAAKtF,EAAL,GAAU,CAA9B;AACA,SAAKqF,EAAL,GAAU,KAAKD,EAAL,GAAU,KAAK5E,EAAL,GAAU,KAAK+F,EAAL,GAAU,CAAxC;;AAEA,QAAM0B,SAAS,IAAIlD,IAAJ,CAASmC,WAAWS,OAAX,EAAT,CAAf;AACA;AACA;AACAM,WAAOL,WAAP,CAAmB,KAAKnI,CAAxB,EAA2B,KAAKV,CAAhC,EAAmC,KAAKP,CAAxC;AACAyJ,WAAOJ,QAAP,CAAgB,KAAKjJ,CAArB,EAAwB,KAAKrN,CAA7B,EAAgC,KAAK8N,CAArC,EAAwC,KAAKX,CAA7C;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAQ,KAAKmC,qBAAb;AACE,WAAK,CAAL;AACEoH,eAAOC,OAAP,CAAe,CAAf;AACA;AACF,WAAK,CAAC,CAAN;AACED,eAAOE,QAAP,CAAgBF,OAAOb,QAAP,KAAoB,CAApC,EAAuC,CAAvC;AACA;AANJ;;AASA;AACA,QAAI,CAACnB,MAAM,KAAKvG,CAAX,CAAD,IAAkBuI,OAAOG,iBAAP,OAA+B,KAAK1I,CAA1D,EAA6D;AAC3DuI,aAAOI,cAAP,CAAsBJ,OAAOd,WAAP,EAAtB,EAA4Cc,OAAOb,QAAP,EAA5C,EAA+Da,OAAOZ,OAAP,EAA/D;;AAEAY,aAAOK,WAAP,CAAmBL,OAAOX,QAAP,EAAnB,EAAsCW,OAAOV,UAAP,EAAtC,EAA2DU,OAAOT,UAAP,KAAsB,KAAK9H,CAAtF,EAAyFuI,OAAOR,eAAP,EAAzF;AACD;;AAED,WAAOQ,MAAP;AACD;AA/MiB,CAApB;;AAkNAM,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAmBC,GAAnB,EAAwBxI,GAAxB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,OAAO,IAAX,EAAiB;AACfA,UAAMvJ,KAAKC,KAAL,CAAWmO,KAAK7E,GAAL,KAAa,IAAxB,CAAN;AACD;;AAED;AACA;AACA;AACA,MAAMyI,QAAQ,CACZhJ,QAAQC,SADI,EAEZD,QAAQO,GAFI,EAGZP,QAAQQ,IAHI,EAIZR,QAAQU,eAJI,EAKZV,QAAQW,QALI,EAMZX,QAAQY,SANI,EAOZZ,QAAQgB,cAPI,EAQZhB,QAAQmB,aARI;AASZ;AACAnB,UAAQgD,UAVI,EAWZhD,QAAQ+C,WAXI,EAYZ/C,QAAQ8C,UAZI,EAaZ9C,QAAQyB,SAbI,EAcZzB,QAAQ4B,UAdI,EAeZ5B,QAAQ+D,WAfI,EAgBZ/D,QAAQ4D,UAhBI,EAiBZ5D,QAAQwD,WAjBI,EAkBZxD,QAAQuE,UAlBI,EAmBZvE,QAAQgE,cAnBI,EAoBZhE,QAAQoE,aApBI,EAqBZpE,QAAQmE,QArBI,EAsBZnE,QAAQsE,YAtBI,EAuBZtE,QAAQiE,gBAvBI,EAwBZjE,QAAQkE,SAxBI,EAyBZlE,QAAQqE,0BAzBI,EA0BZrE,QAAQyE,cA1BI,EA2BZzE,QAAQ2E,QA3BI,EA4BZ3E,QAAQ0D,YA5BI,EA6BZ1D,QAAQ2D,YA7BI,EA8BZ3D,QAAQ4E,SA9BI,EA+BZ5E,QAAQ6E,YA/BI,EAgCZ7E,QAAQyD,WAhCI,EAiCZzD,QAAQ+E,UAjCI,EAkCZ/E,QAAQgF,aAlCI,EAmCZhF,QAAQ6D,WAnCI,EAoCZ7D,QAAQqD,MApCI,EAqCZrD,QAAQsD,aArCI,EAsCZtD,QAAQiD,IAtCI,EAuCZjD,QAAQmD,IAvCI,EAwCZnD,QAAQoD,IAxCI,EAyCZpD,QAAQ8D,OAzCI,EA0CZ9D,QAAQiF,UA1CI,EA2CZjF,QAAQ8E,WA3CI,EA4CZ9E,QAAQ0E,aA5CI,EA6CZ1E,QAAQuD,GA7CI,EA8CZvD,QAAQ6G,KA9CI,EA+CZ7G,QAAQ2G,GA/CI,EAgDZ3G,QAAQoG,OAhDI,EAiDZpG,QAAQqG,gBAjDI,EAkDZrG,QAAQsF,YAlDI,EAmDZtF,QAAQuG,oBAnDI,EAoDZvG,QAAQkD,YApDI,EAqDZlD,QAAQwG,MArDI,EAsDZxG,QAAQkH,wBAtDI,EAuDZlH,QAAQgH,uBAvDI,EAwDZhH,QAAQiH,sBAxDI,EAyDZjH,QAAQ+G,qBAzDI,EA0DZ/G,QAAQ+F,QA1DI,EA2DZ/F,QAAQ8G,UA3DI,CAAd;;AA8DA,MAAMwB,SAASW,OAAOC,MAAP,CAAc/B,WAAd,CAAf;;AAEA,SAAO4B,IAAIxX,MAAX,EAAmB;AACjB,QAAI4X,eAAe,IAAnB;AACA,QAAIC,YAAY,IAAhB;;AAEA,SAAK,IAAIxX,IAAI,CAAR,EAAWuN,IAAI6J,MAAMzX,MAA1B,EAAkCK,IAAIuN,CAAtC,EAAyCvN,GAAzC,EAA8C;AAC5C,UAAMyX,SAASL,MAAMpX,CAAN,CAAf;;AAEA,UAAMgF,QAAQmS,IAAInS,KAAJ,CAAUyS,OAAOnJ,KAAjB,CAAd;;AAEA,UAAItJ,KAAJ,EAAW;AACT,YAAI,CAACuS,YAAD,IAAiBvS,MAAM,CAAN,EAASrF,MAAT,GAAkB4X,aAAa,CAAb,EAAgB5X,MAAvD,EAA+D;AAC7D4X,yBAAevS,KAAf;AACAwS,sBAAYC,MAAZ;AACD;AACF;AACF;;AAED,QAAI,CAACD,SAAD,IAAeA,UAAUhJ,QAAV,IAAsBgJ,UAAUhJ,QAAV,CAAmBkJ,KAAnB,CAAyBhB,MAAzB,EAAiCa,YAAjC,MAAmD,KAA5F,EAAoG;AAClG,aAAO,KAAP;AACD;;AAEDJ,UAAMA,IAAIpH,MAAJ,CAAWwH,aAAa,CAAb,EAAgB5X,MAA3B,CAAN;AACA6X,gBAAY,IAAZ;AACAD,mBAAe,IAAf;AACD;;AAED,SAAOnS,KAAKC,KAAL,CAAWqR,OAAOhB,MAAP,CAAc,IAAIlC,IAAJ,CAAS7E,MAAM,IAAf,CAAd,IAAsC,IAAjD,CAAP;AACD,CAjID","file":"strtotime.js","sourcesContent":["const reSpace = '[ \\\\t]+'\nconst reSpaceOpt = '[ \\\\t]*'\nconst reMeridian = '(?:([ap])\\\\.?m\\\\.?([\\\\t ]|$))'\nconst reHour24 = '(2[0-4]|[01]?[0-9])'\nconst reHour24lz = '([01][0-9]|2[0-4])'\nconst reHour12 = '(0?[1-9]|1[0-2])'\nconst reMinute = '([0-5]?[0-9])'\nconst reMinutelz = '([0-5][0-9])'\nconst reSecond = '(60|[0-5]?[0-9])'\nconst reSecondlz = '(60|[0-5][0-9])'\nconst reFrac = '(?:\\\\.([0-9]+))'\n\nconst reDayfull = 'sunday|monday|tuesday|wednesday|thursday|friday|saturday'\nconst reDayabbr = 'sun|mon|tue|wed|thu|fri|sat'\nconst reDaytext = reDayfull + '|' + reDayabbr + '|weekdays?'\n\nconst reReltextnumber = 'first|second|third|fourth|fifth|sixth|seventh|eighth?|ninth|tenth|eleventh|twelfth'\nconst reReltexttext = 'next|last|previous|this'\nconst reReltextunit = '(?:second|sec|minute|min|hour|day|fortnight|forthnight|month|year)s?|weeks|' + reDaytext\n\nconst reYear = '([0-9]{1,4})'\nconst reYear2 = '([0-9]{2})'\nconst reYear4 = '([0-9]{4})'\nconst reYear4withSign = '([+-]?[0-9]{4})'\nconst reMonth = '(1[0-2]|0?[0-9])'\nconst reMonthlz = '(0[0-9]|1[0-2])'\nconst reDay = '(?:(3[01]|[0-2]?[0-9])(?:st|nd|rd|th)?)'\nconst reDaylz = '(0[0-9]|[1-2][0-9]|3[01])'\n\nconst reMonthFull = 'january|february|march|april|may|june|july|august|september|october|november|december'\nconst reMonthAbbr = 'jan|feb|mar|apr|may|jun|jul|aug|sept?|oct|nov|dec'\nconst reMonthroman = 'i[vx]|vi{0,3}|xi{0,2}|i{1,3}'\nconst reMonthText = '(' + reMonthFull + '|' + reMonthAbbr + '|' + reMonthroman + ')'\n\nconst reTzCorrection = '((?:GMT)?([+-])' + reHour24 + ':?' + reMinute + '?)'\nconst reTzAbbr = '\\\\(?([a-zA-Z]{1,6})\\\\)?'\nconst reDayOfYear = '(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])'\nconst reWeekOfYear = '(0[1-9]|[1-4][0-9]|5[0-3])'\n\nconst reDateNoYear = reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]*'\n\nfunction processMeridian(hour, meridian) {\n meridian = meridian && meridian.toLowerCase()\n\n switch (meridian) {\n case 'a':\n hour += hour === 12 ? -12 : 0\n break\n case 'p':\n hour += hour !== 12 ? 12 : 0\n break\n }\n\n return hour\n}\n\nfunction processYear(yearStr) {\n let year = +yearStr\n\n if (yearStr.length < 4 && year < 100) {\n year += year < 70 ? 2000 : 1900\n }\n\n return year\n}\n\nfunction lookupMonth(monthStr) {\n return {\n jan: 0,\n january: 0,\n i: 0,\n feb: 1,\n february: 1,\n ii: 1,\n mar: 2,\n march: 2,\n iii: 2,\n apr: 3,\n april: 3,\n iv: 3,\n may: 4,\n v: 4,\n jun: 5,\n june: 5,\n vi: 5,\n jul: 6,\n july: 6,\n vii: 6,\n aug: 7,\n august: 7,\n viii: 7,\n sep: 8,\n sept: 8,\n september: 8,\n ix: 8,\n oct: 9,\n october: 9,\n x: 9,\n nov: 10,\n november: 10,\n xi: 10,\n dec: 11,\n december: 11,\n xii: 11,\n }[monthStr.toLowerCase()]\n}\n\nfunction lookupWeekday(dayStr, desiredSundayNumber = 0) {\n const dayNumbers = {\n mon: 1,\n monday: 1,\n tue: 2,\n tuesday: 2,\n wed: 3,\n wednesday: 3,\n thu: 4,\n thursday: 4,\n fri: 5,\n friday: 5,\n sat: 6,\n saturday: 6,\n sun: 0,\n sunday: 0,\n }\n\n return dayNumbers[dayStr.toLowerCase()] || desiredSundayNumber\n}\n\nfunction lookupRelative(relText) {\n const relativeNumbers = {\n last: -1,\n previous: -1,\n this: 0,\n first: 1,\n next: 1,\n second: 2,\n third: 3,\n fourth: 4,\n fifth: 5,\n sixth: 6,\n seventh: 7,\n eight: 8,\n eighth: 8,\n ninth: 9,\n tenth: 10,\n eleventh: 11,\n twelfth: 12,\n }\n\n const relativeBehavior = {\n this: 1,\n }\n\n const relTextLower = relText.toLowerCase()\n\n return {\n amount: relativeNumbers[relTextLower],\n behavior: relativeBehavior[relTextLower] || 0,\n }\n}\n\nfunction processTzCorrection(tzOffset, oldValue) {\n const reTzCorrectionLoose = /(?:GMT)?([+-])(\\d+)(:?)(\\d{0,2})/i\n tzOffset = tzOffset && tzOffset.match(reTzCorrectionLoose)\n\n if (!tzOffset) {\n return oldValue\n }\n\n const sign = tzOffset[1] === '-' ? -1 : 1\n let hours = +tzOffset[2]\n let minutes = +tzOffset[4]\n\n if (!tzOffset[4] && !tzOffset[3]) {\n minutes = Math.floor(hours % 100)\n hours = Math.floor(hours / 100)\n }\n\n // timezone offset in seconds\n return sign * (hours * 60 + minutes) * 60\n}\n\n// tz abbrevation : tz offset in seconds\nconst tzAbbrOffsets = {\n acdt: 37800,\n acst: 34200,\n addt: -7200,\n adt: -10800,\n aedt: 39600,\n aest: 36000,\n ahdt: -32400,\n ahst: -36000,\n akdt: -28800,\n akst: -32400,\n amt: -13840,\n apt: -10800,\n ast: -14400,\n awdt: 32400,\n awst: 28800,\n awt: -10800,\n bdst: 7200,\n bdt: -36000,\n bmt: -14309,\n bst: 3600,\n cast: 34200,\n cat: 7200,\n cddt: -14400,\n cdt: -18000,\n cemt: 10800,\n cest: 7200,\n cet: 3600,\n cmt: -15408,\n cpt: -18000,\n cst: -21600,\n cwt: -18000,\n chst: 36000,\n dmt: -1521,\n eat: 10800,\n eddt: -10800,\n edt: -14400,\n eest: 10800,\n eet: 7200,\n emt: -26248,\n ept: -14400,\n est: -18000,\n ewt: -14400,\n ffmt: -14660,\n fmt: -4056,\n gdt: 39600,\n gmt: 0,\n gst: 36000,\n hdt: -34200,\n hkst: 32400,\n hkt: 28800,\n hmt: -19776,\n hpt: -34200,\n hst: -36000,\n hwt: -34200,\n iddt: 14400,\n idt: 10800,\n imt: 25025,\n ist: 7200,\n jdt: 36000,\n jmt: 8440,\n jst: 32400,\n kdt: 36000,\n kmt: 5736,\n kst: 30600,\n lst: 9394,\n mddt: -18000,\n mdst: 16279,\n mdt: -21600,\n mest: 7200,\n met: 3600,\n mmt: 9017,\n mpt: -21600,\n msd: 14400,\n msk: 10800,\n mst: -25200,\n mwt: -21600,\n nddt: -5400,\n ndt: -9052,\n npt: -9000,\n nst: -12600,\n nwt: -9000,\n nzdt: 46800,\n nzmt: 41400,\n nzst: 43200,\n pddt: -21600,\n pdt: -25200,\n pkst: 21600,\n pkt: 18000,\n plmt: 25590,\n pmt: -13236,\n ppmt: -17340,\n ppt: -25200,\n pst: -28800,\n pwt: -25200,\n qmt: -18840,\n rmt: 5794,\n sast: 7200,\n sdmt: -16800,\n sjmt: -20173,\n smt: -13884,\n sst: -39600,\n tbmt: 10751,\n tmt: 12344,\n uct: 0,\n utc: 0,\n wast: 7200,\n wat: 3600,\n wemt: 7200,\n west: 3600,\n wet: 0,\n wib: 25200,\n wita: 28800,\n wit: 32400,\n wmt: 5040,\n yddt: -25200,\n ydt: -28800,\n ypt: -28800,\n yst: -32400,\n ywt: -28800,\n a: 3600,\n b: 7200,\n c: 10800,\n d: 14400,\n e: 18000,\n f: 21600,\n g: 25200,\n h: 28800,\n i: 32400,\n k: 36000,\n l: 39600,\n m: 43200,\n n: -3600,\n o: -7200,\n p: -10800,\n q: -14400,\n r: -18000,\n s: -21600,\n t: -25200,\n u: -28800,\n v: -32400,\n w: -36000,\n x: -39600,\n y: -43200,\n z: 0,\n}\n\nconst formats = {\n yesterday: {\n regex: /^yesterday/i,\n name: 'yesterday',\n callback() {\n this.rd -= 1\n return this.resetTime()\n },\n },\n\n now: {\n regex: /^now/i,\n name: 'now',\n // do nothing\n },\n\n noon: {\n regex: /^noon/i,\n name: 'noon',\n callback() {\n return this.resetTime() && this.time(12, 0, 0, 0)\n },\n },\n\n midnightOrToday: {\n regex: /^(midnight|today)/i,\n name: 'midnight | today',\n callback() {\n return this.resetTime()\n },\n },\n\n tomorrow: {\n regex: /^tomorrow/i,\n name: 'tomorrow',\n callback() {\n this.rd += 1\n return this.resetTime()\n },\n },\n\n timestamp: {\n regex: /^@(-?\\d+)/i,\n name: 'timestamp',\n callback(match, timestamp) {\n this.rs += +timestamp\n this.y = 1970\n this.m = 0\n this.d = 1\n this.dates = 0\n\n return this.resetTime() && this.zone(0)\n },\n },\n\n firstOrLastDay: {\n regex: /^(first|last) day of/i,\n name: 'firstdayof | lastdayof',\n callback(match, day) {\n if (day.toLowerCase() === 'first') {\n this.firstOrLastDayOfMonth = 1\n } else {\n this.firstOrLastDayOfMonth = -1\n }\n },\n },\n\n backOrFrontOf: {\n regex: RegExp('^(back|front) of ' + reHour24 + reSpaceOpt + reMeridian + '?', 'i'),\n name: 'backof | frontof',\n callback(match, side, hours, meridian) {\n const back = side.toLowerCase() === 'back'\n let hour = +hours\n let minute = 15\n\n if (!back) {\n hour -= 1\n minute = 45\n }\n\n hour = processMeridian(hour, meridian)\n\n return this.resetTime() && this.time(hour, minute, 0, 0)\n },\n },\n\n weekdayOf: {\n regex: RegExp(\n '^(' +\n reReltextnumber +\n '|' +\n reReltexttext +\n ')' +\n reSpace +\n '(' +\n reDayfull +\n '|' +\n reDayabbr +\n ')' +\n reSpace +\n 'of',\n 'i',\n ),\n name: 'weekdayof',\n // todo\n },\n\n mssqltime: {\n regex: RegExp('^' + reHour12 + ':' + reMinutelz + ':' + reSecondlz + '[:.]([0-9]+)' + reMeridian, 'i'),\n name: 'mssqltime',\n callback(match, hour, minute, second, frac, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, +frac.substr(0, 3))\n },\n },\n\n oracledate: {\n regex: /^(\\d{2})-([A-Z]{3})-(\\d{2})$/i,\n name: 'd-M-y',\n callback(match, day, monthText, year) {\n const month = {\n JAN: 0,\n FEB: 1,\n MAR: 2,\n APR: 3,\n MAY: 4,\n JUN: 5,\n JUL: 6,\n AUG: 7,\n SEP: 8,\n OCT: 9,\n NOV: 10,\n DEC: 11,\n }[monthText.toUpperCase()]\n return this.ymd(2000 + parseInt(year, 10), month, parseInt(day, 10))\n },\n },\n\n timeLong12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian, 'i'),\n name: 'timelong12',\n callback(match, hour, minute, second, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n },\n },\n\n timeShort12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'timeshort12',\n callback(match, hour, minute, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n\n timeTiny12: {\n regex: RegExp('^' + reHour12 + reSpaceOpt + reMeridian, 'i'),\n name: 'timetiny12',\n callback(match, hour, meridian) {\n return this.time(processMeridian(+hour, meridian), 0, 0, 0)\n },\n },\n\n soap: {\n regex: RegExp(\n '^' +\n reYear4 +\n '-' +\n reMonthlz +\n '-' +\n reDaylz +\n 'T' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reFrac +\n reTzCorrection +\n '?',\n 'i',\n ),\n name: 'soap',\n callback(match, year, month, day, hour, minute, second, frac, tzCorrection) {\n return (\n this.ymd(+year, month - 1, +day) &&\n this.time(+hour, +minute, +second, +frac.substr(0, 3)) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n wddx: {\n regex: RegExp('^' + reYear4 + '-' + reMonth + '-' + reDay + 'T' + reHour24 + ':' + reMinute + ':' + reSecond),\n name: 'wddx',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n exif: {\n regex: RegExp(\n '^' + reYear4 + ':' + reMonthlz + ':' + reDaylz + ' ' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz,\n 'i',\n ),\n name: 'exif',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpc: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + 'T' + reHour24 + ':' + reMinutelz + ':' + reSecondlz),\n name: 'xmlrpc',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpcNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + '[Tt]' + reHour24 + reMinutelz + reSecondlz),\n name: 'xmlrpcnocolon',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n clf: {\n regex: RegExp(\n '^' +\n reDay +\n '/(' +\n reMonthAbbr +\n ')/' +\n reYear4 +\n ':' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reSpace +\n reTzCorrection,\n 'i',\n ),\n name: 'clf',\n callback(match, day, month, year, hour, minute, second, tzCorrection) {\n return (\n this.ymd(+year, lookupMonth(month), +day) &&\n this.time(+hour, +minute, +second, 0) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n iso8601long: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond + reFrac, 'i'),\n name: 'iso8601long',\n callback(match, hour, minute, second, frac) {\n return this.time(+hour, +minute, +second, +frac.substr(0, 3))\n },\n },\n\n dateTextual: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]+' + reYear, 'i'),\n name: 'datetextual',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n pointedDate4: {\n regex: RegExp('^' + reDay + '[.\\\\t-]' + reMonth + '[.-]' + reYear4),\n name: 'pointeddate4',\n callback(match, day, month, year) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pointedDate2: {\n regex: RegExp('^' + reDay + '[.\\\\t]' + reMonth + '\\\\.' + reYear2),\n name: 'pointeddate2',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n timeLong24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond),\n name: 'timelong24',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz),\n name: 'datenocolon',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pgydotd: {\n regex: RegExp('^' + reYear4 + '\\\\.?' + reDayOfYear),\n name: 'pgydotd',\n callback(match, year, day) {\n return this.ymd(+year, 0, +day)\n },\n },\n\n timeShort24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'timeshort24',\n callback(match, hour, minute) {\n return this.time(+hour, +minute, 0, 0)\n },\n },\n\n iso8601noColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz + reSecondlz, 'i'),\n name: 'iso8601nocolon',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n iso8601dateSlash: {\n // eventhough the trailing slash is optional in PHP\n // here it's mandatory and inputs without the slash\n // are handled by dateslash\n regex: RegExp('^' + reYear4 + '/' + reMonthlz + '/' + reDaylz + '/'),\n name: 'iso8601dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n dateSlash: {\n regex: RegExp('^' + reYear4 + '/' + reMonth + '/' + reDay),\n name: 'dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n american: {\n regex: RegExp('^' + reMonth + '/' + reDay + '/' + reYear),\n name: 'american',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n americanShort: {\n regex: RegExp('^' + reMonth + '/' + reDay),\n name: 'americanshort',\n callback(match, month, day) {\n return this.ymd(this.y, month - 1, +day)\n },\n },\n\n gnuDateShortOrIso8601date2: {\n // iso8601date2 is complete subset of gnudateshort\n regex: RegExp('^' + reYear + '-' + reMonth + '-' + reDay),\n name: 'gnudateshort | iso8601date2',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n iso8601date4: {\n regex: RegExp('^' + reYear4withSign + '-' + reMonthlz + '-' + reDaylz),\n name: 'iso8601date4',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n gnuNoColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz, 'i'),\n name: 'gnunocolon',\n callback(match, hour, minute) {\n // this rule is a special case\n // if time was already set once by any preceding rule, it sets the captured value as year\n switch (this.times) {\n case 0:\n return this.time(+hour, +minute, 0, this.f)\n case 1:\n this.y = hour * 100 + +minute\n this.times++\n\n return true\n default:\n return false\n }\n },\n },\n\n gnuDateShorter: {\n regex: RegExp('^' + reYear4 + '-' + reMonth),\n name: 'gnudateshorter',\n callback(match, year, month) {\n return this.ymd(+year, month - 1, 1)\n },\n },\n\n pgTextReverse: {\n // note: allowed years are from 32-9999\n // years below 32 should be treated as days in datefull\n regex: RegExp('^' + '(\\\\d{3,4}|[4-9]\\\\d|3[2-9])-(' + reMonthAbbr + ')-' + reDaylz, 'i'),\n name: 'pgtextreverse',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateFull: {\n regex: RegExp('^' + reDay + '[ \\\\t.-]*' + reMonthText + '[ \\\\t.-]*' + reYear, 'i'),\n name: 'datefull',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoDay: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reYear4, 'i'),\n name: 'datenoday',\n callback(match, month, year) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n dateNoDayRev: {\n regex: RegExp('^' + reYear4 + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenodayrev',\n callback(match, year, month) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n pgTextShort: {\n regex: RegExp('^(' + reMonthAbbr + ')-' + reDaylz + '-' + reYear, 'i'),\n name: 'pgtextshort',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoYear: {\n regex: RegExp('^' + reDateNoYear, 'i'),\n name: 'datenoyear',\n callback(match, month, day) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n dateNoYearRev: {\n regex: RegExp('^' + reDay + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenoyearrev',\n callback(match, day, month) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n isoWeekDay: {\n regex: RegExp('^' + reYear4 + '-?W' + reWeekOfYear + '(?:-?([0-7]))?'),\n name: 'isoweekday | isoweek',\n callback(match, year, week, day) {\n day = day ? +day : 1\n\n if (!this.ymd(+year, 0, 1)) {\n return false\n }\n\n // get day of week for Jan 1st\n let dayOfWeek = new Date(this.y, this.m, this.d).getDay()\n\n // and use the day to figure out the offset for day 1 of week 1\n dayOfWeek = 0 - (dayOfWeek > 4 ? dayOfWeek - 7 : dayOfWeek)\n\n this.rd += dayOfWeek + (week - 1) * 7 + day\n },\n },\n\n relativeText: {\n regex: RegExp('^(' + reReltextnumber + '|' + reReltexttext + ')' + reSpace + '(' + reReltextunit + ')', 'i'),\n name: 'relativetext',\n callback(match, relValue, relUnit) {\n // todo: implement handling of 'this time-unit'\n // eslint-disable-next-line no-unused-vars\n const { amount, behavior } = lookupRelative(relValue)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n relative: {\n regex: RegExp('^([+-]*)[ \\\\t]*(\\\\d+)' + reSpaceOpt + '(' + reReltextunit + '|week)', 'i'),\n name: 'relative',\n callback(match, signs, relValue, relUnit) {\n const minuses = signs.replace(/[^-]/g, '').length\n\n const amount = +relValue * Math.pow(-1, minuses)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n dayText: {\n regex: RegExp('^(' + reDaytext + ')', 'i'),\n name: 'daytext',\n callback(match, dayText) {\n this.resetTime()\n this.weekday = lookupWeekday(dayText, 0)\n\n if (this.weekdayBehavior !== 2) {\n this.weekdayBehavior = 1\n }\n },\n },\n\n relativeTextWeek: {\n regex: RegExp('^(' + reReltexttext + ')' + reSpace + 'week', 'i'),\n name: 'relativetextweek',\n callback(match, relText) {\n this.weekdayBehavior = 2\n\n switch (relText.toLowerCase()) {\n case 'this':\n this.rd += 0\n break\n case 'next':\n this.rd += 7\n break\n case 'last':\n case 'previous':\n this.rd -= 7\n break\n }\n\n if (isNaN(this.weekday)) {\n this.weekday = 1\n }\n },\n },\n\n monthFullOrMonthAbbr: {\n regex: RegExp('^(' + reMonthFull + '|' + reMonthAbbr + ')', 'i'),\n name: 'monthfull | monthabbr',\n callback(match, month) {\n return this.ymd(this.y, lookupMonth(month), this.d)\n },\n },\n\n tzCorrection: {\n regex: RegExp('^' + reTzCorrection, 'i'),\n name: 'tzcorrection',\n callback(tzCorrection) {\n return this.zone(processTzCorrection(tzCorrection))\n },\n },\n\n tzAbbr: {\n regex: RegExp('^' + reTzAbbr),\n name: 'tzabbr',\n callback(match, abbr) {\n const offset = tzAbbrOffsets[abbr.toLowerCase()]\n\n if (isNaN(offset)) {\n return false\n }\n\n return this.zone(offset)\n },\n },\n\n ago: {\n regex: /^ago/i,\n name: 'ago',\n callback() {\n this.ry = -this.ry\n this.rm = -this.rm\n this.rd = -this.rd\n this.rh = -this.rh\n this.ri = -this.ri\n this.rs = -this.rs\n this.rf = -this.rf\n },\n },\n\n year4: {\n regex: RegExp('^' + reYear4),\n name: 'year4',\n callback(match, year) {\n this.y = +year\n return true\n },\n },\n\n whitespace: {\n regex: /^[ .,\\t]+/,\n name: 'whitespace',\n // do nothing\n },\n\n dateShortWithTimeLong: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond, 'i'),\n name: 'dateshortwithtimelong',\n callback(match, month, day, hour, minute, second) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateShortWithTimeLong12: {\n regex: RegExp(\n '^' + reDateNoYear + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian,\n 'i',\n ),\n name: 'dateshortwithtimelong12',\n callback(match, month, day, hour, minute, second, meridian) {\n return (\n this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n )\n },\n },\n\n dateShortWithTimeShort: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'dateshortwithtimeshort',\n callback(match, month, day, hour, minute) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, 0, 0)\n },\n },\n\n dateShortWithTimeShort12: {\n regex: RegExp('^' + reDateNoYear + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'dateshortwithtimeshort12',\n callback(match, month, day, hour, minute, meridian) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n}\n\nconst resultProto = {\n // date\n y: NaN,\n m: NaN,\n d: NaN,\n // time\n h: NaN,\n i: NaN,\n s: NaN,\n f: NaN,\n\n // relative shifts\n ry: 0,\n rm: 0,\n rd: 0,\n rh: 0,\n ri: 0,\n rs: 0,\n rf: 0,\n\n // weekday related shifts\n weekday: NaN,\n weekdayBehavior: 0,\n\n // first or last day of month\n // 0 none, 1 first, -1 last\n firstOrLastDayOfMonth: 0,\n\n // timezone correction in minutes\n z: NaN,\n\n // counters\n dates: 0,\n times: 0,\n zones: 0,\n\n // helper functions\n ymd(y, m, d) {\n if (this.dates > 0) {\n return false\n }\n\n this.dates++\n this.y = y\n this.m = m\n this.d = d\n return true\n },\n\n time(h, i, s, f) {\n if (this.times > 0) {\n return false\n }\n\n this.times++\n this.h = h\n this.i = i\n this.s = s\n this.f = f\n\n return true\n },\n\n resetTime() {\n this.h = 0\n this.i = 0\n this.s = 0\n this.f = 0\n this.times = 0\n\n return true\n },\n\n zone(minutes) {\n if (this.zones <= 1) {\n this.zones++\n this.z = minutes\n return true\n }\n\n return false\n },\n\n toDate(relativeTo) {\n if (this.dates && !this.times) {\n this.h = this.i = this.s = this.f = 0\n }\n\n // fill holes\n if (isNaN(this.y)) {\n this.y = relativeTo.getFullYear()\n }\n\n if (isNaN(this.m)) {\n this.m = relativeTo.getMonth()\n }\n\n if (isNaN(this.d)) {\n this.d = relativeTo.getDate()\n }\n\n if (isNaN(this.h)) {\n this.h = relativeTo.getHours()\n }\n\n if (isNaN(this.i)) {\n this.i = relativeTo.getMinutes()\n }\n\n if (isNaN(this.s)) {\n this.s = relativeTo.getSeconds()\n }\n\n if (isNaN(this.f)) {\n this.f = relativeTo.getMilliseconds()\n }\n\n // adjust special early\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n this.d = 1\n break\n case -1:\n this.d = 0\n this.m += 1\n break\n }\n\n if (!isNaN(this.weekday)) {\n const date = new Date(relativeTo.getTime())\n date.setFullYear(this.y, this.m, this.d)\n date.setHours(this.h, this.i, this.s, this.f)\n\n const dow = date.getDay()\n\n if (this.weekdayBehavior === 2) {\n // To make \"this week\" work, where the current day of week is a \"sunday\"\n if (dow === 0 && this.weekday !== 0) {\n this.weekday = -6\n }\n\n // To make \"sunday this week\" work, where the current day of week is not a \"sunday\"\n if (this.weekday === 0 && dow !== 0) {\n this.weekday = 7\n }\n\n this.d -= dow\n this.d += this.weekday\n } else {\n let diff = this.weekday - dow\n\n // some PHP magic\n if ((this.rd < 0 && diff < 0) || (this.rd >= 0 && diff <= -this.weekdayBehavior)) {\n diff += 7\n }\n\n if (this.weekday >= 0) {\n this.d += diff\n } else {\n this.d -= 7 - (Math.abs(this.weekday) - dow)\n }\n\n this.weekday = NaN\n }\n }\n\n // adjust relative\n this.y += this.ry\n this.m += this.rm\n this.d += this.rd\n\n this.h += this.rh\n this.i += this.ri\n this.s += this.rs\n this.f += this.rf\n\n this.ry = this.rm = this.rd = 0\n this.rh = this.ri = this.rs = this.rf = 0\n\n const result = new Date(relativeTo.getTime())\n // since Date constructor treats years <= 99 as 1900+\n // it can't be used, thus this weird way\n result.setFullYear(this.y, this.m, this.d)\n result.setHours(this.h, this.i, this.s, this.f)\n\n // note: this is done twice in PHP\n // early when processing special relatives\n // and late\n // todo: check if the logic can be reduced\n // to just one time action\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n result.setDate(1)\n break\n case -1:\n result.setMonth(result.getMonth() + 1, 0)\n break\n }\n\n // adjust timezone\n if (!isNaN(this.z) && result.getTimezoneOffset() !== this.z) {\n result.setUTCFullYear(result.getFullYear(), result.getMonth(), result.getDate())\n\n result.setUTCHours(result.getHours(), result.getMinutes(), result.getSeconds() - this.z, result.getMilliseconds())\n }\n\n return result\n },\n}\n\nmodule.exports = function strtotime(str, now) {\n // discuss at: https://locutus.io/php/strtotime/\n // original by: Caio Ariede (https://caioariede.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Caio Ariede (https://caioariede.com)\n // improved by: A. Matías Quezada (https://amatiasq.com)\n // improved by: preuter\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Mirko Faber\n // input by: David\n // bugfixed by: Wagner B. Soares\n // bugfixed by: Artur Tchernychev\n // bugfixed by: Stephan Bösch-Plepelits (https://github.com/plepe)\n // reimplemented by: Rafał Kukawski\n // note 1: Examples all have a fixed timestamp to prevent\n // note 1: tests to fail because of variable time(zones)\n // example 1: strtotime('+1 day', 1129633200)\n // returns 1: 1129719600\n // example 2: strtotime('+1 week 2 days 4 hours 2 seconds', 1129633200)\n // returns 2: 1130425202\n // example 3: strtotime('last month', 1129633200)\n // returns 3: 1127041200\n // example 4: strtotime('2009-05-04 08:30:00+00')\n // returns 4: 1241425800\n // example 5: strtotime('2009-05-04 08:30:00+02:00')\n // returns 5: 1241418600\n // example 6: strtotime('2009-05-04 08:30:00 YWT')\n // returns 6: 1241454600\n // example 7: strtotime('10-JUL-17')\n // returns 7: 1499644800\n\n if (now == null) {\n now = Math.floor(Date.now() / 1000)\n }\n\n // the rule order is important\n // if multiple rules match, the longest match wins\n // if multiple rules match the same string, the first match wins\n const rules = [\n formats.yesterday,\n formats.now,\n formats.noon,\n formats.midnightOrToday,\n formats.tomorrow,\n formats.timestamp,\n formats.firstOrLastDay,\n formats.backOrFrontOf,\n // formats.weekdayOf, // not yet implemented\n formats.timeTiny12,\n formats.timeShort12,\n formats.timeLong12,\n formats.mssqltime,\n formats.oracledate,\n formats.timeShort24,\n formats.timeLong24,\n formats.iso8601long,\n formats.gnuNoColon,\n formats.iso8601noColon,\n formats.americanShort,\n formats.american,\n formats.iso8601date4,\n formats.iso8601dateSlash,\n formats.dateSlash,\n formats.gnuDateShortOrIso8601date2,\n formats.gnuDateShorter,\n formats.dateFull,\n formats.pointedDate4,\n formats.pointedDate2,\n formats.dateNoDay,\n formats.dateNoDayRev,\n formats.dateTextual,\n formats.dateNoYear,\n formats.dateNoYearRev,\n formats.dateNoColon,\n formats.xmlRpc,\n formats.xmlRpcNoColon,\n formats.soap,\n formats.wddx,\n formats.exif,\n formats.pgydotd,\n formats.isoWeekDay,\n formats.pgTextShort,\n formats.pgTextReverse,\n formats.clf,\n formats.year4,\n formats.ago,\n formats.dayText,\n formats.relativeTextWeek,\n formats.relativeText,\n formats.monthFullOrMonthAbbr,\n formats.tzCorrection,\n formats.tzAbbr,\n formats.dateShortWithTimeShort12,\n formats.dateShortWithTimeLong12,\n formats.dateShortWithTimeShort,\n formats.dateShortWithTimeLong,\n formats.relative,\n formats.whitespace,\n ]\n\n const result = Object.create(resultProto)\n\n while (str.length) {\n let longestMatch = null\n let finalRule = null\n\n for (let i = 0, l = rules.length; i < l; i++) {\n const format = rules[i]\n\n const match = str.match(format.regex)\n\n if (match) {\n if (!longestMatch || match[0].length > longestMatch[0].length) {\n longestMatch = match\n finalRule = format\n }\n }\n }\n\n if (!finalRule || (finalRule.callback && finalRule.callback.apply(result, longestMatch) === false)) {\n return false\n }\n\n str = str.substr(longestMatch[0].length)\n finalRule = null\n longestMatch = null\n }\n\n return Math.floor(result.toDate(new Date(now * 1000)) / 1000)\n}\n"]}
@@ -17,10 +17,22 @@ module.exports = function escapeshellarg(arg) {
17
17
  throw new Error('escapeshellarg(): Argument #1 ($arg) must not contain any null bytes');
18
18
  }
19
19
 
20
- var ret = '';
21
-
22
- ret = arg.replace(/'/g, "'\\''");
20
+ // Check if the script is running on Windows
21
+ var isWindows = false;
22
+ if (typeof process !== 'undefined' && process.platform) {
23
+ isWindows = process.platform === 'win32';
24
+ }
25
+ if (typeof window !== 'undefined' && window.navigator.platform) {
26
+ isWindows = window.navigator.platform.indexOf('Win') !== -1;
27
+ }
23
28
 
24
- return "'" + ret + "'";
29
+ if (isWindows) {
30
+ // Windows escaping strategy
31
+ // Double quotes need to be escaped and the whole argument enclosed in double quotes
32
+ return '"' + arg.replace(/(["%])/g, '^$1') + '"';
33
+ } else {
34
+ // Unix-like escaping strategy
35
+ return "'" + arg.replace(/'/g, "'\\''") + "'";
36
+ }
25
37
  };
26
38
  //# sourceMappingURL=escapeshellarg.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/exec/escapeshellarg.js"],"names":["module","exports","escapeshellarg","arg","indexOf","Error","ret","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAwBC,GAAxB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,IAAIC,OAAJ,CAAY,MAAZ,MAAwB,CAAC,CAA7B,EAAgC;AAC9B,UAAM,IAAIC,KAAJ,CAAU,sEAAV,CAAN;AACD;;AAED,MAAIC,MAAM,EAAV;;AAEAA,QAAMH,IAAII,OAAJ,CAAY,IAAZ,EAAkB,OAAlB,CAAN;;AAEA,SAAO,MAAMD,GAAN,GAAY,GAAnB;AACD,CAtBD","file":"escapeshellarg.js","sourcesContent":["module.exports = function escapeshellarg(arg) {\n // discuss at: https://locutus.io/php/escapeshellarg/\n // Warning: this function emulates escapeshellarg() for php-running-on-linux\n // the function behaves differently when running on Windows, which is not covered by this code.\n //\n // original by: Felix Geisendoerfer (https://www.debuggable.com/felix)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: divinity76 (https://github.com/divinity76)\n // example 1: escapeshellarg(\"kevin's birthday\")\n // returns 1: \"'kevin'\\\\''s birthday'\"\n // example 2: escapeshellarg(\"/home'; whoami;''\")\n // returns 2: \"'/home'\\\\''; whoami;'\\\\'''\\\\'''\"\n\n if (arg.indexOf('\\x00') !== -1) {\n throw new Error('escapeshellarg(): Argument #1 ($arg) must not contain any null bytes')\n }\n\n let ret = ''\n\n ret = arg.replace(/'/g, \"'\\\\''\")\n\n return \"'\" + ret + \"'\"\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/exec/escapeshellarg.js"],"names":["module","exports","escapeshellarg","arg","indexOf","Error","isWindows","process","platform","window","navigator","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAwBC,GAAxB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,IAAIC,OAAJ,CAAY,MAAZ,MAAwB,CAAC,CAA7B,EAAgC;AAC9B,UAAM,IAAIC,KAAJ,CAAU,sEAAV,CAAN;AACD;;AAED;AACA,MAAIC,YAAY,KAAhB;AACA,MAAI,OAAOC,OAAP,KAAmB,WAAnB,IAAkCA,QAAQC,QAA9C,EAAwD;AACtDF,gBAAYC,QAAQC,QAAR,KAAqB,OAAjC;AACD;AACD,MAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,OAAOC,SAAP,CAAiBF,QAAtD,EAAgE;AAC9DF,gBAAYG,OAAOC,SAAP,CAAiBF,QAAjB,CAA0BJ,OAA1B,CAAkC,KAAlC,MAA6C,CAAC,CAA1D;AACD;;AAED,MAAIE,SAAJ,EAAe;AACb;AACA;AACA,WAAO,MAAMH,IAAIQ,OAAJ,CAAY,SAAZ,EAAuB,KAAvB,CAAN,GAAsC,GAA7C;AACD,GAJD,MAIO;AACL;AACA,WAAO,MAAMR,IAAIQ,OAAJ,CAAY,IAAZ,EAAkB,OAAlB,CAAN,GAAmC,GAA1C;AACD;AACF,CAlCD","file":"escapeshellarg.js","sourcesContent":["module.exports = function escapeshellarg(arg) {\n // discuss at: https://locutus.io/php/escapeshellarg/\n // Warning: this function emulates escapeshellarg() for php-running-on-linux\n // the function behaves differently when running on Windows, which is not covered by this code.\n //\n // original by: Felix Geisendoerfer (https://www.debuggable.com/felix)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: divinity76 (https://github.com/divinity76)\n // example 1: escapeshellarg(\"kevin's birthday\")\n // returns 1: \"'kevin'\\\\''s birthday'\"\n // example 2: escapeshellarg(\"/home'; whoami;''\")\n // returns 2: \"'/home'\\\\''; whoami;'\\\\'''\\\\'''\"\n\n if (arg.indexOf('\\x00') !== -1) {\n throw new Error('escapeshellarg(): Argument #1 ($arg) must not contain any null bytes')\n }\n\n // Check if the script is running on Windows\n let isWindows = false\n if (typeof process !== 'undefined' && process.platform) {\n isWindows = process.platform === 'win32'\n }\n if (typeof window !== 'undefined' && window.navigator.platform) {\n isWindows = window.navigator.platform.indexOf('Win') !== -1\n }\n\n if (isWindows) {\n // Windows escaping strategy\n // Double quotes need to be escaped and the whole argument enclosed in double quotes\n return '\"' + arg.replace(/([\"%])/g, '^$1') + '\"'\n } else {\n // Unix-like escaping strategy\n return \"'\" + arg.replace(/'/g, \"'\\\\''\") + \"'\"\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ module.exports = function file_exists(filename) {
4
+ // discuss at: https://locutus.io/php/file_exists/
5
+ // original by: Erik Niebla
6
+ // note 1: so this function is Node-only
7
+ // example 1: file_exists('test/never-change.txt')
8
+ // returns 1: true
9
+
10
+ var fs = require('fs');
11
+
12
+ return fs.existsSync(filename);
13
+ };
14
+ //# sourceMappingURL=file_exists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/php/filesystem/file_exists.js"],"names":["module","exports","file_exists","filename","fs","require","existsSync"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAqBC,QAArB,EAA+B;AAC9C;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAKC,QAAQ,IAAR,CAAX;;AAEA,SAAOD,GAAGE,UAAH,CAAcH,QAAd,CAAP;AACD,CAVD","file":"file_exists.js","sourcesContent":["module.exports = function file_exists(filename) {\n // discuss at: https://locutus.io/php/file_exists/\n // original by: Erik Niebla\n // note 1: so this function is Node-only\n // example 1: file_exists('test/never-change.txt')\n // returns 1: true\n\n const fs = require('fs')\n\n return fs.existsSync(filename)\n}\n"]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  module.exports.basename = require('./basename');
4
4
  module.exports.dirname = require('./dirname');
5
+ module.exports.file_exists = require('./file_exists');
5
6
  module.exports.file_get_contents = require('./file_get_contents');
6
7
  module.exports.pathinfo = require('./pathinfo');
7
8
  module.exports.realpath = require('./realpath');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/filesystem/index.js"],"names":["module","exports","basename","require","dirname","file_get_contents","pathinfo","realpath"],"mappings":";;AAAAA,OAAOC,OAAP,CAAeC,QAAf,GAA0BC,QAAQ,YAAR,CAA1B;AACAH,OAAOC,OAAP,CAAeG,OAAf,GAAyBD,QAAQ,WAAR,CAAzB;AACAH,OAAOC,OAAP,CAAeI,iBAAf,GAAmCF,QAAQ,qBAAR,CAAnC;AACAH,OAAOC,OAAP,CAAeK,QAAf,GAA0BH,QAAQ,YAAR,CAA1B;AACAH,OAAOC,OAAP,CAAeM,QAAf,GAA0BJ,QAAQ,YAAR,CAA1B","file":"index.js","sourcesContent":["module.exports.basename = require('./basename')\nmodule.exports.dirname = require('./dirname')\nmodule.exports.file_get_contents = require('./file_get_contents')\nmodule.exports.pathinfo = require('./pathinfo')\nmodule.exports.realpath = require('./realpath')\n"]}
1
+ {"version":3,"sources":["../../../src/php/filesystem/index.js"],"names":["module","exports","basename","require","dirname","file_exists","file_get_contents","pathinfo","realpath"],"mappings":";;AAAAA,OAAOC,OAAP,CAAeC,QAAf,GAA0BC,QAAQ,YAAR,CAA1B;AACAH,OAAOC,OAAP,CAAeG,OAAf,GAAyBD,QAAQ,WAAR,CAAzB;AACAH,OAAOC,OAAP,CAAeI,WAAf,GAA6BF,QAAQ,eAAR,CAA7B;AACAH,OAAOC,OAAP,CAAeK,iBAAf,GAAmCH,QAAQ,qBAAR,CAAnC;AACAH,OAAOC,OAAP,CAAeM,QAAf,GAA0BJ,QAAQ,YAAR,CAA1B;AACAH,OAAOC,OAAP,CAAeO,QAAf,GAA0BL,QAAQ,YAAR,CAA1B","file":"index.js","sourcesContent":["module.exports.basename = require('./basename')\nmodule.exports.dirname = require('./dirname')\nmodule.exports.file_exists = require('./file_exists')\nmodule.exports.file_get_contents = require('./file_get_contents')\nmodule.exports.pathinfo = require('./pathinfo')\nmodule.exports.realpath = require('./realpath')\n"]}
package/php/math/fmod.js CHANGED
@@ -5,8 +5,11 @@ module.exports = function fmod(x, y) {
5
5
  // original by: Onno Marsman (https://twitter.com/onnomarsman)
6
6
  // input by: Brett Zamir (https://brett-zamir.me)
7
7
  // bugfixed by: Kevin van Zonneveld (https://kvz.io)
8
+ // bugfixed by: Irina (https://github.com/dekairi)
8
9
  // example 1: fmod(5.7, 1.3)
9
10
  // returns 1: 0.5
11
+ // example 2: fmod(10, 1)
12
+ // returns 2: 0
10
13
 
11
14
  var tmp = void 0;
12
15
  var tmp2 = void 0;
@@ -33,7 +36,7 @@ module.exports = function fmod(x, y) {
33
36
 
34
37
  return (tmp2 / l2).toFixed(l - p) * l2;
35
38
  } else {
36
- return parseFloat(tmp2.toFixed(-p));
39
+ return parseFloat(tmp2.toFixed(Math.abs(p)));
37
40
  }
38
41
  };
39
42
  //# sourceMappingURL=fmod.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/math/fmod.js"],"names":["module","exports","fmod","x","y","tmp","tmp2","p","pY","l","l2","toExponential","match","parseInt","length","Math","round","log","pow","toFixed","parseFloat"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,CAAcC,CAAd,EAAiBC,CAAjB,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,YAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,KAAK,CAAT;AACA,MAAIC,IAAI,GAAR;AACA,MAAIC,KAAK,GAAT;;AAEAL,QAAMF,EAAEQ,aAAF,GAAkBC,KAAlB,CAAwB,iBAAxB,CAAN;AACAL,MAAIM,SAASR,IAAI,CAAJ,CAAT,EAAiB,EAAjB,IAAuB,CAACA,IAAI,CAAJ,IAAS,EAAV,EAAcS,MAAzC;AACAT,QAAMD,EAAEO,aAAF,GAAkBC,KAAlB,CAAwB,iBAAxB,CAAN;AACAJ,OAAKK,SAASR,IAAI,CAAJ,CAAT,EAAiB,EAAjB,IAAuB,CAACA,IAAI,CAAJ,IAAS,EAAV,EAAcS,MAA1C;;AAEA,MAAIN,KAAKD,CAAT,EAAY;AACVA,QAAIC,EAAJ;AACD;;AAEDF,SAAOH,IAAIC,CAAX;;AAEA,MAAIG,IAAI,CAAC,GAAL,IAAYA,IAAI,EAApB,EAAwB;AACtB;AACAE,QAAIM,KAAKC,KAAL,CAAWD,KAAKE,GAAL,CAASX,IAAT,IAAiBS,KAAKE,GAAL,CAAS,EAAT,CAA5B,CAAJ;AACAP,SAAKK,KAAKG,GAAL,CAAS,EAAT,EAAaT,CAAb,CAAL;;AAEA,WAAO,CAACH,OAAOI,EAAR,EAAYS,OAAZ,CAAoBV,IAAIF,CAAxB,IAA6BG,EAApC;AACD,GAND,MAMO;AACL,WAAOU,WAAWd,KAAKa,OAAL,CAAa,CAACZ,CAAd,CAAX,CAAP;AACD;AACF,CAnCD","file":"fmod.js","sourcesContent":["module.exports = function fmod(x, y) {\n // discuss at: https://locutus.io/php/fmod/\n // original by: Onno Marsman (https://twitter.com/onnomarsman)\n // input by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // example 1: fmod(5.7, 1.3)\n // returns 1: 0.5\n\n let tmp\n let tmp2\n let p = 0\n let pY = 0\n let l = 0.0\n let l2 = 0.0\n\n tmp = x.toExponential().match(/^.\\.?(.*)e(.+)$/)\n p = parseInt(tmp[2], 10) - (tmp[1] + '').length\n tmp = y.toExponential().match(/^.\\.?(.*)e(.+)$/)\n pY = parseInt(tmp[2], 10) - (tmp[1] + '').length\n\n if (pY > p) {\n p = pY\n }\n\n tmp2 = x % y\n\n if (p < -100 || p > 20) {\n // toFixed will give an out of bound error so we fix it like this:\n l = Math.round(Math.log(tmp2) / Math.log(10))\n l2 = Math.pow(10, l)\n\n return (tmp2 / l2).toFixed(l - p) * l2\n } else {\n return parseFloat(tmp2.toFixed(-p))\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/math/fmod.js"],"names":["module","exports","fmod","x","y","tmp","tmp2","p","pY","l","l2","toExponential","match","parseInt","length","Math","round","log","pow","toFixed","parseFloat","abs"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,CAAcC,CAAd,EAAiBC,CAAjB,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,YAAJ;AACA,MAAIC,aAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,KAAK,CAAT;AACA,MAAIC,IAAI,GAAR;AACA,MAAIC,KAAK,GAAT;;AAEAL,QAAMF,EAAEQ,aAAF,GAAkBC,KAAlB,CAAwB,iBAAxB,CAAN;AACAL,MAAIM,SAASR,IAAI,CAAJ,CAAT,EAAiB,EAAjB,IAAuB,CAACA,IAAI,CAAJ,IAAS,EAAV,EAAcS,MAAzC;AACAT,QAAMD,EAAEO,aAAF,GAAkBC,KAAlB,CAAwB,iBAAxB,CAAN;AACAJ,OAAKK,SAASR,IAAI,CAAJ,CAAT,EAAiB,EAAjB,IAAuB,CAACA,IAAI,CAAJ,IAAS,EAAV,EAAcS,MAA1C;;AAEA,MAAIN,KAAKD,CAAT,EAAY;AACVA,QAAIC,EAAJ;AACD;;AAEDF,SAAOH,IAAIC,CAAX;;AAEA,MAAIG,IAAI,CAAC,GAAL,IAAYA,IAAI,EAApB,EAAwB;AACtB;AACAE,QAAIM,KAAKC,KAAL,CAAWD,KAAKE,GAAL,CAASX,IAAT,IAAiBS,KAAKE,GAAL,CAAS,EAAT,CAA5B,CAAJ;AACAP,SAAKK,KAAKG,GAAL,CAAS,EAAT,EAAaT,CAAb,CAAL;;AAEA,WAAO,CAACH,OAAOI,EAAR,EAAYS,OAAZ,CAAoBV,IAAIF,CAAxB,IAA6BG,EAApC;AACD,GAND,MAMO;AACL,WAAOU,WAAWd,KAAKa,OAAL,CAAaJ,KAAKM,GAAL,CAASd,CAAT,CAAb,CAAX,CAAP;AACD;AACF,CAtCD","file":"fmod.js","sourcesContent":["module.exports = function fmod(x, y) {\n // discuss at: https://locutus.io/php/fmod/\n // original by: Onno Marsman (https://twitter.com/onnomarsman)\n // input by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Irina (https://github.com/dekairi)\n // example 1: fmod(5.7, 1.3)\n // returns 1: 0.5\n // example 2: fmod(10, 1)\n // returns 2: 0\n\n let tmp\n let tmp2\n let p = 0\n let pY = 0\n let l = 0.0\n let l2 = 0.0\n\n tmp = x.toExponential().match(/^.\\.?(.*)e(.+)$/)\n p = parseInt(tmp[2], 10) - (tmp[1] + '').length\n tmp = y.toExponential().match(/^.\\.?(.*)e(.+)$/)\n pY = parseInt(tmp[2], 10) - (tmp[1] + '').length\n\n if (pY > p) {\n p = pY\n }\n\n tmp2 = x % y\n\n if (p < -100 || p > 20) {\n // toFixed will give an out of bound error so we fix it like this:\n l = Math.round(Math.log(tmp2) / Math.log(10))\n l2 = Math.pow(10, l)\n\n return (tmp2 / l2).toFixed(l - p) * l2\n } else {\n return parseFloat(tmp2.toFixed(Math.abs(p)))\n }\n}\n"]}
@@ -10,19 +10,37 @@ module.exports = function bin2hex(s) {
10
10
  // returns 1: '4b6576'
11
11
  // example 2: bin2hex(String.fromCharCode(0x00))
12
12
  // returns 2: '00'
13
+ // example 3: bin2hex("æ")
14
+ // returns 3: 'c3a6'
13
15
 
14
- var i = void 0;
15
- var l = void 0;
16
- var o = '';
17
- var n = void 0;
16
+ var encoder = new TextEncoder();
17
+ var bytes = encoder.encode(s);
18
+ var hex = '';
19
+ var _iteratorNormalCompletion = true;
20
+ var _didIteratorError = false;
21
+ var _iteratorError = undefined;
18
22
 
19
- s += '';
23
+ try {
24
+ for (var _iterator = bytes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
25
+ var byte = _step.value;
20
26
 
21
- for (i = 0, l = s.length; i < l; i++) {
22
- n = s.charCodeAt(i).toString(16);
23
- o += n.length < 2 ? '0' + n : n;
27
+ hex += byte.toString(16).padStart(2, '0');
28
+ }
29
+ } catch (err) {
30
+ _didIteratorError = true;
31
+ _iteratorError = err;
32
+ } finally {
33
+ try {
34
+ if (!_iteratorNormalCompletion && _iterator.return) {
35
+ _iterator.return();
36
+ }
37
+ } finally {
38
+ if (_didIteratorError) {
39
+ throw _iteratorError;
40
+ }
41
+ }
24
42
  }
25
43
 
26
- return o;
44
+ return hex;
27
45
  };
28
46
  //# sourceMappingURL=bin2hex.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/bin2hex.js"],"names":["module","exports","bin2hex","s","i","l","o","n","length","charCodeAt","toString"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,CAAjB,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,IAAI,EAAR;AACA,MAAIC,UAAJ;;AAEAJ,OAAK,EAAL;;AAEA,OAAKC,IAAI,CAAJ,EAAOC,IAAIF,EAAEK,MAAlB,EAA0BJ,IAAIC,CAA9B,EAAiCD,GAAjC,EAAsC;AACpCG,QAAIJ,EAAEM,UAAF,CAAaL,CAAb,EAAgBM,QAAhB,CAAyB,EAAzB,CAAJ;AACAJ,SAAKC,EAAEC,MAAF,GAAW,CAAX,GAAe,MAAMD,CAArB,GAAyBA,CAA9B;AACD;;AAED,SAAOD,CAAP;AACD,CAxBD","file":"bin2hex.js","sourcesContent":["module.exports = function bin2hex(s) {\n // discuss at: https://locutus.io/php/bin2hex/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Linuxworld\n // improved by: ntoniazzi (https://locutus.io/php/bin2hex:361#comment_177616)\n // example 1: bin2hex('Kev')\n // returns 1: '4b6576'\n // example 2: bin2hex(String.fromCharCode(0x00))\n // returns 2: '00'\n\n let i\n let l\n let o = ''\n let n\n\n s += ''\n\n for (i = 0, l = s.length; i < l; i++) {\n n = s.charCodeAt(i).toString(16)\n o += n.length < 2 ? '0' + n : n\n }\n\n return o\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/bin2hex.js"],"names":["module","exports","bin2hex","s","encoder","TextEncoder","bytes","encode","hex","byte","toString","padStart"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,CAAjB,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,IAAIC,WAAJ,EAAhB;AACA,MAAMC,QAAQF,QAAQG,MAAR,CAAeJ,CAAf,CAAd;AACA,MAAIK,MAAM,EAAV;AAfmC;AAAA;AAAA;;AAAA;AAgBnC,yBAAmBF,KAAnB,8HAA0B;AAAA,UAAfG,IAAe;;AACxBD,aAAOC,KAAKC,QAAL,CAAc,EAAd,EAAkBC,QAAlB,CAA2B,CAA3B,EAA8B,GAA9B,CAAP;AACD;AAlBkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAmBnC,SAAOH,GAAP;AACD,CApBD","file":"bin2hex.js","sourcesContent":["module.exports = function bin2hex(s) {\n // discuss at: https://locutus.io/php/bin2hex/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Linuxworld\n // improved by: ntoniazzi (https://locutus.io/php/bin2hex:361#comment_177616)\n // example 1: bin2hex('Kev')\n // returns 1: '4b6576'\n // example 2: bin2hex(String.fromCharCode(0x00))\n // returns 2: '00'\n // example 3: bin2hex(\"æ\")\n // returns 3: 'c3a6'\n\n const encoder = new TextEncoder()\n const bytes = encoder.encode(s)\n let hex = ''\n for (const byte of bytes) {\n hex += byte.toString(16).padStart(2, '0')\n }\n return hex\n}\n"]}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var expect = require('chai').expect;
4
+ var serialize = require('./serialize.js');
5
+
6
+ describe('src/php/var/serialize.js', function () {
7
+ it('should pass example 1', function (done) {
8
+ var expected = 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}';
9
+ var result = serialize(['Kevin', 'van', 'Zonneveld']);
10
+ expect(result).to.deep.equal(expected);
11
+ done();
12
+ });
13
+ });
14
+ //# sourceMappingURL=serialize.mocha.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/php/var/serialize.mocha.js"],"names":["expect","require","serialize","describe","it","done","expected","result","to","deep","equal"],"mappings":";;AAAA,IAAMA,SAASC,QAAQ,MAAR,EAAgBD,MAA/B;AACA,IAAME,YAAYD,QAAQ,gBAAR,CAAlB;;AAEAE,SAAS,0BAAT,EAAqC,YAAY;AAC/CC,KAAG,uBAAH,EAA4B,UAAUC,IAAV,EAAgB;AAC1C,QAAMC,WAAW,0DAAjB;AACA,QAAMC,SAASL,UAAU,CAAC,OAAD,EAAU,KAAV,EAAiB,WAAjB,CAAV,CAAf;AACAF,WAAOO,MAAP,EAAeC,EAAf,CAAkBC,IAAlB,CAAuBC,KAAvB,CAA6BJ,QAA7B;AACAD;AACD,GALD;AAMD,CAPD","file":"serialize.mocha.js","sourcesContent":["const expect = require('chai').expect\nconst serialize = require('./serialize.js')\n\ndescribe('src/php/var/serialize.js', function () {\n it('should pass example 1', function (done) {\n const expected = 'a:3:{i:0;s:5:\"Kevin\";i:1;s:3:\"van\";i:2;s:9:\"Zonneveld\";}'\n const result = serialize(['Kevin', 'van', 'Zonneveld'])\n expect(result).to.deep.equal(expected)\n done()\n })\n})\n"]}