jcal-zmanim 1.5.5 → 1.5.6
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.
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["c:\\repos_git\\jcal-zmanim\\dist\\index.js"],"names":["_Sedra","jd","israel2","Month","Day","sedras","sedraList","sedraArray","sedraOrder","getSedraOrder","Year","absDate","Abs","index","weekNum","getDayOnOrBefore","firstSatInYear","length","indexLast","i","toString","map","s","eng","join","toStringHeb","heb","day_of_week","date","year","lastCalculatedYear","israel","longCheshvon","jDate","isLongCheshvan","shortKislev","isShortKislev","roshHashana","absJd","roshHashanaDOW","Math","abs","yearType","sArray","isJdLeapY","shabbos_short","shabbos_long","mon_short","mon_long","thu_normal_Israel","thu_normal","thu_long","shabbos_short_leap","shabbos_long_leap","mon_short_leap_Israel","mon_short_leap","mon_long_leap_Israel","mon_long_leap","thu_short_leap","thu_long_leap","retobj","Sedra","_PirkeiAvos","getPrakim","getDayOfWeek","jMonth","jDay","_get1stPerek","_ellul","jYear","pes1","shb1","cShb","Utils","toInt","prk","prakim","day1","day1DOW","shabbos1Day","shabbos1Date","PirkeiAvos","_Dafyomi","getDaf","jdate","absoluteDate","dafcnt","cno","dno","osday","nsday","total","count","j","blatt","absSd","Date","masechtaList","daf","masechet","d","toJewishNumber","Dafyomi","JS_START_DATE_ABS","MS_PER_DAY","JS_START_OFFSET","getTimezoneOffset","yearTypes","isLeapYear","dow","isLongKislev","daysInYear","yearTypeList","getElapsedDays","daysCounter","months","parts","hours","conjDay","conjParts","has","_jDate","arg","month","day","NaN","arguments","fromAbs","isValidDate","Array","isArray","isString","isNumber","argObj","absolute","ymd","getDate","sdFromAbs","DayOfWeek","addDays","days","addMonths","miy","monthsJYear","daysJMonth","addYears","years","addSecularMonths","secDate","valueOf","setMonth","getMonth","addSecularYears","setFullYear","getFullYear","diffDays","diffMonths","diffFullMonths","diffYears","diff","diffFullYears","hideDayOfWeek","dontCapitalize","DaysOfWeekEng","toSuffixed","monthName","toShortstring","showDow","JewishMonthsEng","showYear","DaysOfWeekHeb","JewishMonthsHeb","getDayOfOmer","dayOfOmer","first","isYomTovOrCholHamoed","isYomTov","includes","isErevYomTov","hasCandleLighting","hasEiruvTavshilin","getCandleLighting","location","nullIfNoCandles","Zmanim","getSedra","getPirkeiAvos","getSunriseSunset","ignoreElevation","getSunTimes","getChatzos","getShaaZmanis","offset","getDafYomi","getDafyomiHeb","toJDate","now","absDay","ms","numFullDays","floor","dayInYear","m","daysSinceStart","daysJYear","_Zmanim","considerElevation","String","sunrise","sunset","zenithDeg","zenithMin","lonHour","longitude","latitude","cosLat","sinLat","cosZen","sinDec","cosDec","xmRise","xmSet","xlRise","xlSet","aRise","aSet","ahrRise","ahrSet","hRise","hSet","tRise","tSet","utRise","utSet","dayOfYear","earthRadius","zenithAtElevation","degToDec","radToDeg","acos","Elevation","cos","Longitude","Latitude","sin","M","L","atan","tan","sqrt","adj","timeAdj","UTCOffset","hour","getChatzosFromSuntimes","sunTimes","rise","set","isNaN","minute","chatz","totalSeconds","addSeconds","getShaaZmanisFromSunTimes","addMinutes","getShaaZmanisMga","minutes","getCandleLightingFromSunTimes","getCandleLightingFromSunset","CandleLighting","isLeap","isSecularLeapYear","yearDay","deg","min","x","rad","time","minFloat","sec","round","isDST","fixTime","second","__DEV__","process","env","NODE_ENV","DaysOfWeek","Object","freeze","SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SHABBOS","JewishMonthsNames","NISSAN","IYAR","SIVAN","TAMUZ","AV","ELLUL","TISHREI","CHESHVAN","KISLEV","TEVES","SHVAT","ADAR","ADAR_SHEINI","SecularMonthsEng","_Utils","number","n","retval","jsd","jhd","jtd","slice","toStringDate","getDay","toShortStringDate","monthFirst","dayNum","monthNum","num","t","suffix","getSdDOW","result","seconds","timeDiff","earlierTime","laterTime","showNegative","earlySec","laterSec","sign","totalMinutes","timeFromDate","sdate","getHours","getMinutes","getSeconds","isTimeAfter","beforeTime","afterTime","getTimeIntervalTextStringHeb","trunc","getTimeIntervalTextString","getOmerNusach","nusach","weeks","txt","jsnum","jtnum","getTimeString","army","roundUp","ceil","currUtcOffset","jan","jul","max","isDateDST","Israel","isIsrael_DST","isUSA_DST","firstDOW","targetDate","lastFriday","lastSunday","getSdNowInIsrael","israelTimeOffset","setHours","addDaysToSdate","isSameSdate","sdate1","sdate2","toDateString","isSameJdate","jdate1","jdate2","isSameJMonth","isSameSMonth","isAfterSunset","shkia","nowAtLocation","setDate","float","bothDates","thing","Number","o","arr","setDefault","paramValue","defValue","range","start","end","startNumber","endNumber","from","v","log","optionalItems","console","warn","error","Location","_Location","name","nameHeb","utcOffset","elevation","candleLighting","Name","NameHebrew","getCandles","clone","special","names","loclc","toLowerCase","city","find","sp","spi","indexOf","getJerusalem","getLakewood","distance","locations_default","il","tz","el","lat","lon","cl","Locations","l","sort","a","b","justNames","push","split","distancePointToPoint","point1","point2","radlat1","PI","radlat2","theta","radtheta","dist","closestDistanceMatch","point","curr","closestNameMatch","val","findLocation","nameOrCoordinates","exactNameMatch","cityOnlyNameMatch","exactCoordinateMatch","ZmanTypeIds","ChatzosLayla","Alos90","Alos72","TalisTefillin","NetzAtElevation","NetzMishor","szksMga","szksGra","sztMga","sztGra","chatzosDay","minGed","minKet","plag","shkiaAtSeaLevel","shkiaElevation","tzais45","tzais50","tzais72","rabbeinuTamZmanios","rabbeinuTamZmaniosMga","SofZmanEatingChometz","SofZmanBurnChometz","ZmanTypes","id","desc","getZmanType","idOrName","zt","Molad","_Molad","getMolad","totalMonths","partsElapsed","hoursElapsed","monthAdj","chalakim","getString","molad","zmanim","isNight","str","getStringHeb","replace","WhichDaysFlags","YOMTOV","_ZmanimUtils","getZmanTimes","zmanTypes","mem","zmanTimesCache","z","zmanTimes","whichDay","getWhichDays","suntimesMishor","sunriseMishor","sunsetMishor","mishorNeg90","chatzos","shaaZmanis","shaaZmanisMga","suntimes","zmanType","whichDaysFlags","getBasicShulZmanim","chatzosHayom","chatzosHalayla","alos","getAllZmanim","ZmanimUtils","dayNotes","tefillahNotes","showEnglish","dayInfo","showGaonShirShelYom","getNotifications","english","showGaonShir","showDafYomi","isAfterChatzosHayom","isAfterChatzosHalayla","isAfterAlos","isAfterShkia","isDaytime","isNightTime","isNotBeinHasmashos","isMorning","isAfternoon","noTachnun","getShabbosNotifications","getWeekDayNotifications","getAroundTheYearNotifications","addTefillahNote","addDayNote","dayOfSefirah","Set","sedra","nextMonth","hasOwnKriyasHatorah","noLaminatzeach","showVsainTalUmatarInChul","startVsainTalUmatar","startedSelichos","daysToRH","dowRH","isYerushalayim","englishOrDefaultText","hebrewText","note"],"mappings":"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A;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIC,iBAAiB,SAACpF;IACpB,IAAIqF,cAAc;IAClB,IAAMC,SAAS1C,MAAMC,KAAK,CACxB,MAAMD,MAAMC,KAAK,CAAC,AAAC7C,CAAAA,OAAO,CAAA,IAAK,MAAM,yBAAyB;IAC9D,KAAM,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,EAAC,IAAK,AACzB,gCADyD;IACxD,CAAA,IAAK,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,EAAC,IAAK,CAAA,IAAK,KAC7BuF,QAAQ,MAAM,MAAOD,CAAAA,SAAS,IAAG,GAAIE,QAAQ,IAAI,KAAKF,SAAS,MAAM1C,MAAMC,KAAK,CAACyC,SAAS,QAAQ1C,MAAMC,KAAK,CAAC0C,QAAQ,OAAOE,UAAU7C,MAAMC,KAAK,CAAC,IAAI,KAAKyC,SAASE,QAAQ,KAAKE,YAAY,OAAQF,CAAAA,QAAQ,EAAC,IAAKD,QAAQ;IAC/N,IAAIG,aAAa,SAASD,UAAU,MAAM,KAAKC,aAAa,QAAQ,CAACtF,MAAMW,SAAS,CAACf,SAASyF,UAAU,MAAM,KAAKC,aAAa,SAAStF,MAAMW,SAAS,CAACf,OAAO,IAAI;QAClKqF,cAAcI,UAAU;IAC1B,OAAO;QACLJ,cAAcI;IAChB;IACA,IAAI7C,MAAM+C,GAAG,CAACN,cAAc,GAAG,GAAG,GAAG,IAAI;QACvCA,eAAe;IACjB;IACA,OAAOA;AACT;AACA,IAAIO,uBAAS;;aAAMA,OAmBLC,GAAG,EAAEC,KAAK,EAAEC,GAAG,EAAEnF,GAAG;gCAnBfgF;QAoBf,IAAI,CAACrH,GAAG,GAAGyH;QACX,IAAI,CAAC1H,KAAK,GAAG0H;QACb,IAAI,CAACnH,IAAI,GAAGmH;QACZ,IAAI,CAACjH,GAAG,GAAGiH;QACX,IAAIC,UAAU7G,MAAM,KAAK,GAAG;YAC1B,IAAI,CAAC8G,OAAO,CAACN,OAAO1B,KAAK,CAAC,aAAa,GAAG,IAAIC;QAChD,OAAO,IAAI0B,AAAG,YAAHA,KAAe1B,OAAM;YAC9B,IAAIvB,MAAMuD,WAAW,CAACN,MAAM;gBAC1B,IAAI,CAACK,OAAO,CAACN,OAAO1B,KAAK,CAAC2B;YAC5B,OAAO;gBACL,MAAM;YACR;QACF,OAAO,IAAIO,MAAMC,OAAO,CAACR,QAAQA,IAAIzG,MAAM,IAAI,GAAG;YAChD,IAAI,CAACb,GAAG,GAAGsH,GAAG,CAAC,EAAE;YACjB,IAAI,CAACvH,KAAK,GAAGuH,GAAG,CAAC,EAAE;YACnB,IAAI,CAAChH,IAAI,GAAGgH,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC9G,GAAG,GAAG8G,IAAIzG,MAAM,GAAG,KAAKyG,GAAG,CAAC,EAAE,IAAID,OAAOnF,KAAK,CAAC,IAAI,CAAC5B,IAAI,EAAE,IAAI,CAACP,KAAK,EAAE,IAAI,CAACC,GAAG;QACrF,OAAO,IAAIsH,OAAOjD,MAAM0D,QAAQ,CAACT,MAAM;YACrC,IAAMtB,IAAI,IAAIJ,KAAK0B;YACnB,IAAIjD,MAAMuD,WAAW,CAAC5B,IAAI;gBACxB,IAAI,CAAC2B,OAAO,CAACN,OAAO1B,KAAK,CAACK;YAC5B,OAAO;gBACL,MAAM,0CAA0CsB,MAAM;YACxD;QACF,OAAO,IAAIjD,MAAM2D,QAAQ,CAACV,MAAM;YAC9B,IAAII,UAAU7G,MAAM,KAAK,GAAG;gBAC1B,IAAI,CAAC8G,OAAO,CAACL;YACf,OAAO;gBACL,IAAI,CAAChH,IAAI,GAAGgH;gBACZ,IAAI,CAACvH,KAAK,GAAGwH,SAAS;gBACtB,IAAI,CAACvH,GAAG,GAAGwH,OAAO;gBAClB,IAAI,CAAChH,GAAG,GAAG6B,OAAOgF,OAAOnF,KAAK,CAAC,IAAI,CAAC5B,IAAI,EAAE,IAAI,CAACP,KAAK,EAAE,IAAI,CAACC,GAAG;YAChE;QACF,OAAO,IAAI,CAAA,OAAOsH,oCAAP,SAAOA,IAAE,MAAM,UAAU;YAClC,IAAMW,SAASX;YACf,IAAIjD,MAAM2D,QAAQ,CAACC,OAAOxG,IAAI,GAAG;gBAC/B,IAAI,CAACzB,GAAG,GAAGiI,OAAOT,GAAG,IAAI;gBACzB,IAAI,CAACzH,KAAK,GAAGkI,OAAOV,KAAK,IAAI;gBAC7B,IAAI,CAACjH,IAAI,GAAG2H,OAAOxG,IAAI;gBACvB,IAAI,CAACjB,GAAG,GAAGyH,OAAO5F,GAAG,IAAIgF,OAAOnF,KAAK,CAAC,IAAI,CAAC5B,IAAI,EAAE,IAAI,CAACP,KAAK,EAAE,IAAI,CAACC,GAAG;YACvE;QACF;;;;YAEF,4DAA4D,GAC5D2H,KAAAA;mBAAAA,SAAAA,QAAQO,QAAQ;gBACd,IAAMC,MAAMd,OAAOM,OAAO,CAACO;gBAC3B,IAAI,CAAC5H,IAAI,GAAG6H,IAAI1G,IAAI;gBACpB,IAAI,CAAC1B,KAAK,GAAGoI,IAAIZ,KAAK;gBACtB,IAAI,CAACvH,GAAG,GAAGmI,IAAIX,GAAG;gBAClB,IAAI,CAAChH,GAAG,GAAG0H;YACb;;;YACA;uDACqD,GACrDE,KAAAA;mBAAAA,SAAAA;gBACE,OAAOf,OAAOgB,SAAS,CAAC,IAAI,CAAC7H,GAAG;YAClC;;;YACA;;GAEC,GACDoD,KAAAA;mBAAAA,SAAAA;gBACE,OAAOxB,KAAKC,GAAG,CAAC,IAAI,CAAC7B,GAAG,GAAG;YAC7B;;;YAII8H,KAAAA;iBAHJ,AAGA;;GADC,GACD;gBACE,OAAO,IAAI,CAAC1E,YAAY;YAC1B;;;YACA,uGAAuG,GACvG2E,KAAAA;mBAAAA,SAAAA,QAAQC,IAAI;gBACV,OAAO,IAAInB,OAAO,IAAI,CAAC7G,GAAG,GAAGgI;YAC/B;;;YACA;;;;;;GAMC,GACDC,KAAAA;mBAAAA,SAAAA,UAAU1B,MAAM;gBACd,IAAItF,OAAO,IAAI,CAACnB,IAAI,EAAEiH,QAAQ,IAAI,CAACxH,KAAK,EAAEyH,MAAM,IAAI,CAACxH,GAAG,EAAE0I,MAAMrB,OAAOsB,WAAW,CAAClH;gBACnF,IAAK,IAAIV,IAAI,GAAGA,IAAIqB,KAAKC,GAAG,CAAC0E,SAAShG,IAAK;oBACzC,IAAIgG,SAAS,GAAG;wBACdQ,SAAS;wBACT,IAAIA,QAAQmB,KAAK;4BACfnB,QAAQ;wBACV;wBACA,IAAIA,UAAU,GAAG;4BACf9F,QAAQ;4BACRiH,MAAMrB,OAAOsB,WAAW,CAAClH;wBAC3B;oBACF,OAAO,IAAIsF,SAAS,GAAG;wBACrBQ,SAAS;wBACT,IAAIA,UAAU,GAAG;4BACfA,QAAQmB;wBACV;wBACA,IAAInB,UAAU,GAAG;4BACf9F,QAAQ;4BACRiH,MAAMrB,OAAOsB,WAAW,CAAClH;wBAC3B;oBACF;gBACF;gBACA,IAAI+F,QAAQ,MAAMH,OAAOuB,UAAU,CAACnH,MAAM8F,WAAW,IAAI;oBACvDC,MAAM;gBACR;gBACA,OAAO,IAAIH,OAAO5F,MAAM8F,OAAOC;YACjC;;;YACA;;;;;;GAMC,GACDqB,KAAAA;mBAAAA,SAAAA,SAASC,KAAK;gBACZ,IAAIrH,OAAO,IAAI,CAACnB,IAAI,GAAGwI,OAAOvB,QAAQ,IAAI,CAACxH,KAAK,EAAEyH,MAAM,IAAI,CAACxH,GAAG;gBAChE,IAAIuH,UAAU,MAAM,CAACF,OAAO7E,SAAS,CAACf,OAAO;oBAC3C8F,QAAQ;gBACV,OAAO,IAAIA,UAAU,KAAKC,QAAQ,MAAM,CAACH,OAAOvF,cAAc,CAACL,OAAO;oBACpE8F,QAAQ;oBACRC,MAAM;gBACR,OAAO,IAAID,UAAU,KAAKC,QAAQ,MAAMH,OAAOrF,aAAa,CAACP,OAAO;oBAClE8F,QAAQ;oBACRC,MAAM;gBACR;gBACA,IAAIA,QAAQ,MAAMH,OAAOuB,UAAU,CAACnH,MAAM8F,WAAW,IAAI;oBACvDC,MAAM;gBACR;gBACA,OAAO,IAAIH,OAAO5F,MAAM8F,OAAOC;YACjC;;;YACAuB,KAAAA;mBAAAA,SAAAA,iBAAiBhC,MAAM;gBACrB,IAAMiC,UAAU,IAAIpD,KAAK,IAAI,CAACwC,OAAO,GAAGa,OAAO;gBAC/CD,QAAQE,QAAQ,CAACF,QAAQG,QAAQ,KAAKpC;gBACtC,OAAO,IAAIM,OAAO2B;YACpB;;;YACAI,KAAAA;mBAAAA,SAAAA,gBAAgBN,KAAK;gBACnB,IAAME,UAAU,IAAIpD,KAAK,IAAI,CAACwC,OAAO,GAAGa,OAAO;gBAC/CD,QAAQK,WAAW,CAACL,QAAQM,WAAW,KAAKR;gBAC5C,OAAO,IAAIzB,OAAO2B;YACpB;;;YACA;;;;KAIG,GACHO,KAAAA;mBAAAA,SAAAA,SAAS1J,EAAE;gBACT,OAAOA,GAAGW,GAAG,GAAG,IAAI,CAACA,GAAG;YAC1B;;;YACA;;;;;;;;KAQG,GACHgJ,KAAAA;mBAAAA,SAAAA,WAAW3J,EAAE;gBACX,IAAI0H,QAAQ1H,GAAGE,KAAK,EAAE0B,OAAO5B,GAAGS,IAAI,EAAEyG,SAAS;gBAC/C,MAAO,CAAEtF,CAAAA,SAAS,IAAI,CAACnB,IAAI,IAAIiH,UAAU,IAAI,CAACxH,KAAI,AAAC,EAAG;oBACpD,IAAI,IAAI,CAACS,GAAG,GAAGX,GAAGW,GAAG,EAAE;wBACrBuG;wBACAQ;wBACA,IAAIA,QAAQF,OAAOsB,WAAW,CAAClH,OAAO;4BACpC8F,QAAQ;wBACV,OAAO,IAAIA,UAAU,GAAG;4BACtB9F;wBACF;oBACF,OAAO;wBACLsF;wBACAQ;wBACA,IAAIA,QAAQ,GAAG;4BACbA,QAAQF,OAAOsB,WAAW,CAAClH;wBAC7B,OAAO,IAAI8F,UAAU,GAAG;4BACtB9F;wBACF;oBACF;gBACF;gBACA,OAAOsF;YACT;;;YACA;;;KAGG,GACH0C,KAAAA;mBAAAA,SAAAA,eAAe5J,EAAE;gBACf,IAAIkH,SAAS,IAAI,CAACyC,UAAU,CAAC3J;gBAC7B,IAAIkH,UAAU,KAAK,IAAI,CAAC/G,GAAG,GAAGH,GAAGG,GAAG,EAAE;oBACpC+G;gBACF,OAAO,IAAIA,SAAS,KAAK,IAAI,CAAC/G,GAAG,GAAGH,GAAGG,GAAG,EAAE;oBAC1C+G;gBACF;gBACA,OAAOA;YACT;;;YACA;;;;;;;sBAOoB,GACpB2C,KAAAA;mBAAAA,SAAAA,UAAU7J,EAAE;gBACV,IAAI8J,OAAO9J,GAAGS,IAAI,GAAG,IAAI,CAACA,IAAI;gBAC9B,IAAI,IAAI,CAACP,KAAK,GAAGF,GAAGE,KAAK,IAAI,IAAI,CAACA,KAAK,KAAKF,GAAGE,KAAK,IAAI,IAAI,CAACC,GAAG,GAAGH,GAAGG,GAAG,EAAE;oBACzE2J;gBACF;gBACA,OAAOA;YACT;;;YACA;;sBAEoB,GACpBC,KAAAA;mBAAAA,SAAAA,cAAc/J,EAAE;gBACd,IAAI8J,OAAO9J,GAAGS,IAAI,GAAG,IAAI,CAACA,IAAI;gBAC9B,IAAIqJ,QAAQ,KAAM,CAAA,IAAI,CAAC5J,KAAK,GAAGF,GAAGE,KAAK,IAAI,IAAI,CAACA,KAAK,KAAKF,GAAGE,KAAK,IAAI,IAAI,CAACC,GAAG,GAAGH,GAAGG,GAAE,AAAC,GAAG;oBACxF2J;gBACF,OAAO,IAAIA,OAAO,KAAM,CAAA,IAAI,CAAC5J,KAAK,GAAGF,GAAGE,KAAK,IAAI,IAAI,CAACA,KAAK,KAAKF,GAAGE,KAAK,IAAI,IAAI,CAACC,GAAG,GAAGH,GAAGG,GAAE,AAAC,GAAG;oBAC9F2J;gBACF;gBACA,OAAOA;YACT;;;YACA;;;;GAIC,GACD3I,KAAAA;mBAAAA,SAAAA,SAAS6I,aAAa,EAAEC,cAAc;gBACpC,OAAO,AAACD,CAAAA,gBAAgBC,iBAAiB,MAAM,MAAMC,aAAa,CAAC,IAAI,CAACnG,YAAY,GAAG,GAAG,KAAI,IAAK,QAAQS,MAAM2F,UAAU,CAAC,IAAI,CAAChK,GAAG,IAAI,SAAS,IAAI,CAACiK,SAAS;YACjK;;;YACA;;;GAGC,GACDC,KAAAA;mBAAAA,SAAAA,cAAcC,OAAO;gBACnB,OAAO,AAACA,CAAAA,UAAUJ,aAAa,CAAC,IAAI,CAACnG,YAAY,GAAG,GAAG,MAAM,EAAC,IAAKwG,eAAe,CAAC,IAAI,CAACrK,KAAK,CAAC,GAAG,MAAM,IAAI,CAACC,GAAG,CAACgB,QAAQ,KAAK,OAAO,IAAI,CAACV,IAAI,CAACU,QAAQ;YACxJ;;;YACA;;;GAGC,GACDiJ,KAAAA;mBAAAA,SAAAA;oBAAUI,WAAAA,iEAAW;gBACnB,OAAOD,eAAe,CAAC,IAAI,CAACrK,KAAK,CAAC,GAAI,CAAA,IAAI,CAACA,KAAK,KAAK,MAAMsH,OAAO7E,SAAS,CAAC,IAAI,CAAClC,IAAI,IAAI,aAAa,GAAE,IAAM+J,CAAAA,WAAW,IAAI,CAAC/J,IAAI,CAACU,QAAQ,KAAK,EAAC;YACnJ;;;YACA;;;GAGC,GACDK,KAAAA;mBAAAA,SAAAA,YAAYwI,aAAa;gBACvB,OAAO,AAAC,CAAA,CAACA,gBAAgBS,aAAa,CAAC,IAAI,CAAC1G,YAAY,GAAG,GAAG,MAAM,EAAC,IAAKS,MAAM4B,cAAc,CAAC,IAAI,CAACjG,GAAG,IAAI,MAAMuK,eAAe,CAAC,IAAI,CAACxK,KAAK,CAAC,GAAI,CAAA,IAAI,CAACA,KAAK,KAAK,MAAMsH,OAAO7E,SAAS,CAAC,IAAI,CAAClC,IAAI,IAAI,qCAAqC,GAAE,IAAK+D,MAAM4B,cAAc,CAAC,IAAI,CAAC3F,IAAI,GAAG;YAClR;;;YACA,yGAAyG,GACzGkK,KAAAA;mBAAAA,SAAAA;gBACE,IAAIC,YAAY;gBAChB,IAAI,IAAI,CAAC1K,KAAK,KAAK,KAAK,IAAI,CAACC,GAAG,GAAG,MAAM,IAAI,CAACD,KAAK,KAAK,KAAK,IAAI,CAACA,KAAK,KAAK,KAAK,IAAI,CAACC,GAAG,GAAG,GAAG;oBAC7F,IAAM0K,QAAQ,IAAIrD,OAAO,IAAI,CAAC/G,IAAI,EAAE,GAAG;oBACvCmK,YAAYC,MAAMnB,QAAQ,CAAC,IAAI;gBACjC;gBACA,OAAOkB;YACT;;;YACA;;;GAGC,GACDE,KAAAA;mBAAAA,SAAAA,qBAAqB7K,OAAO;gBAC1B,OAAO,IAAI,CAAC8K,QAAQ,CAAC9K,YAAY,IAAI,CAACC,KAAK,KAAK,KAAK;oBAAC;oBAAI;oBAAI;oBAAI;oBAAI;iBAAG,CAAC8K,QAAQ,CAAC,IAAI,CAAC7K,GAAG,KAAK,IAAI,CAACD,KAAK,KAAK,KAAK;oBAAC;oBAAI;oBAAI;oBAAI;oBAAI;oBAAI;iBAAG,CAAC8K,QAAQ,CAAC,IAAI,CAAC7K,GAAG;YAChK;;;YACA;;;GAGC,GACD4K,KAAAA;mBAAAA,SAAAA,SAAS9K,OAAO;gBACd,IAAM0H,MAAM,IAAI,CAACxH,GAAG;gBACpB,OAAQ,IAAI,CAACD,KAAK;oBAChB,KAAK;wBACH,IAAIyH,QAAQ,MAAMA,QAAQ,IAAI,OAAO;wBACrC,IAAI,CAAC1H,WAAY0H,CAAAA,QAAQ,MAAMA,QAAQ,EAAC,GAAI,OAAO;wBACnD;oBACF,KAAK;wBACH,IAAIA,QAAQ,KAAK,CAAC1H,WAAW0H,QAAQ,GAAG,OAAO;wBAC/C;oBACF,KAAK;wBACH,IAAI;4BAAC;4BAAG;4BAAG;4BAAI;4BAAI;yBAAG,CAACqD,QAAQ,CAACrD,MAAM;4BACpC,OAAO;wBACT;wBACA,IAAI,CAAC1H,WAAY0H,CAAAA,QAAQ,MAAMA,QAAQ,EAAC,GAAI,OAAO;wBACnD;gBACJ;gBACA,OAAO;YACT;;;YACA,2EAA2E,GAC3EsD,KAAAA;mBAAAA,SAAAA;gBACE,OAAO,IAAI,CAAC/K,KAAK,KAAK,KAAKsE,MAAM+C,GAAG,CAAC,IAAI,CAACpH,GAAG,EAAE,IAAI,OAAO,IAAI,CAACD,KAAK,KAAK,KAAK,IAAI,CAACC,GAAG,KAAK,KAAK,IAAI,CAACD,KAAK,KAAK,KAAK,IAAI,CAACC,GAAG,KAAK,MAAM,IAAI,CAACD,KAAK,KAAK,KAAKsE,MAAM+C,GAAG,CAAC,IAAI,CAACpH,GAAG,EAAE,GAAG,IAAI;YACxL;;;YACA,mEAAmE,GACnE+K,KAAAA;mBAAAA,SAAAA;gBACE,IAAMtE,MAAM,IAAI,CAAC7C,YAAY;gBAC7B,IAAI6C,QAAQ,GAAG;oBACb,OAAO;gBACT,OAAO,IAAIA,QAAQ,GAAG;oBACpB,OAAO;gBACT;gBACA,OAAO,IAAI,CAACqE,YAAY;YAC1B;;;YACA,6EAA6E,GAC7EE,KAAAA;mBAAAA,SAAAA,kBAAkBlL,OAAO;gBACvB,IAAI2G,MAAM,IAAI,CAAC7C,YAAY;gBAC3B,OACE,kDAAkD;gBAClD;oBAAC;oBAAG;iBAAE,CAACiH,QAAQ,CAACpE,QAAQ,sBAAsB;gBAC9C,IAAI,CAACqE,YAAY,MAAM,mEAAmE;gBACzFrE,CAAAA,QAAQ,KAAKA,QAAQ,KAAM,CAAA,CAAC3G,WAAW,IAAI,CAACC,KAAK,KAAK,CAAA,CAAC,KAAM,uCAAuC;gBACrG,IAAI,CAACC,GAAG,KAAK;YAEjB;;;YACA,2FAA2F,GAC3FiL,KAAAA;mBAAAA,SAAAA,kBAAkBC,QAAQ,EAAEC,eAAe;gBACzC,IAAI,CAACD,UAAU;oBACb,MAAM;gBACR;gBACA,IAAI,IAAI,CAACH,iBAAiB,IAAI;oBAC5B,OAAOK,OAAOH,iBAAiB,CAAC,IAAI,EAAEC;gBACxC,OAAO,IAAIC,iBAAiB;oBAC1B,OAAO;gBACT,OAAO;oBACL,MAAM,2BAA2B,IAAI,CAACnK,QAAQ;gBAChD;YACF;;;YACA,yDAAyD,GACzDqK,KAAAA;mBAAAA,SAAAA,SAASvL,OAAO;gBACd,OAAO,IAAI2D,MAAM,IAAI,EAAE3D;YACzB;;;YACA,6DAA6D,GAC7DwL,KAAAA;mBAAAA,SAAAA,cAAcxL,OAAO;gBACnB,OAAO+E,WAAWlB,SAAS,CAAC,IAAI,EAAE7D;YACpC;;;YACA;;oFAEkF,GAClFyL,KAAAA;mBAAAA,SAAAA,iBAAiBL,QAAQ,EAAEM,eAAe;gBACxC,IAAI,CAACN,UAAU;oBACb,MAAM;gBACR;gBACA,OAAOE,OAAOK,WAAW,CAAC,IAAI,EAAEP,UAAU,CAACM;YAC7C;;;YACA;;yCAEuC,GACvCE,KAAAA;mBAAAA,SAAAA,WAAWR,QAAQ;gBACjB,IAAI,CAACA,UAAU;oBACb,MAAM;gBACR;gBACA,OAAOE,OAAOM,UAAU,CAAC,IAAI,EAAER;YACjC;;;YACA,yGAAyG,GACzGS,KAAAA;mBAAAA,SAAAA,cAAcT,QAAQ,EAAEU,MAAM;gBAC5B,IAAI,CAACV,UAAU;oBACb,MAAM;gBACR;gBACA,OAAOE,OAAOO,aAAa,CAAC,IAAI,EAAET,UAAUU;YAC9C;;;YACA,gEAAgE,GAChEC,KAAAA;mBAAAA,SAAAA;gBACE,OAAO3F,QAAQlF,QAAQ,CAAC,IAAI,KAAK;YACnC;;;YACA,yDAAyD,GACzD8K,KAAAA;mBAAAA,SAAAA;gBACE,OAAO5F,QAAQ7E,WAAW,CAAC,IAAI,KAAK;YACtC;;;;YAqBO0K,KAAAA;mBApBP,AAoBA;;;;;;;;;;;;;;;;;;;kHADgH,GAChH,SAAOA,QAAQzE,GAAG,EAAEC,KAAK,EAAEC,GAAG,EAAEnF,GAAG;gBACjC,IAAIqF,UAAU7G,MAAM,KAAK,GAAG;oBAC1B,OAAO,IAAIwG;gBACb,OAAO,IAAIhD,MAAM2D,QAAQ,CAACV,QAAQI,UAAU7G,MAAM,KAAK,GAAG;oBACxD,OAAO,IAAIwG,OAAOC,KAAK,GAAG;gBAC5B,OAAO;oBACL,OAAO,IAAID,OAAOC,KAAKC,OAAOC,KAAKnF;gBACrC;YACF;;;YACO2J,KAAAA;mBAAP,SAAOA;gBACL,OAAO,IAAI3E;YACb;;;YAEOM,KAAAA;mBADP,AACA,wEADwE,GACxE,SAAOA,QAAQsE,MAAM;gBACnB,IAAIxK,OAAO,OAAO4C,MAAMC,KAAK,CAAC2H,SAAUA,CAAAA,SAAS,IAAI,MAAM,GAAE,IAAK1E,OAAOC;gBACzE,MAAOyE,UAAU5E,OAAOnF,KAAK,CAACT,OAAO,GAAG,GAAG,GAAI;oBAC7CA;gBACF;gBACA8F,QAAQ0E,SAAS5E,OAAOnF,KAAK,CAACT,MAAM,GAAG,KAAK,IAAI;gBAChD,MAAOwK,SAAS5E,OAAOnF,KAAK,CAACT,MAAM8F,OAAOF,OAAOuB,UAAU,CAACnH,MAAM8F,QAAS;oBACzEA;gBACF;gBACAC,MAAMyE,SAAS5E,OAAOnF,KAAK,CAACT,MAAM8F,OAAO,KAAK;gBAC9C,OAAO;oBAAE9F,MAAAA;oBAAM8F,OAAAA;oBAAOC,KAAAA;gBAAI;YAC5B;;;YAKO7B,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,MAAMnE,IAAI;gBACf,IAAM0K,KAAK1K,KAAKyH,OAAO,KAAKzH,KAAK8E,iBAAiB,KAAK,KAAK6F,cAAc/J,KAAKgK,KAAK,CAACF,KAAK9F;gBAC1F,OAAOD,oBAAoBgG;YAC7B;;;YAEOjK,KAAAA;mBADP,AACA,yDADyD,GACzD,SAAOA,MAAMT,IAAI,EAAE8F,KAAK,EAAEC,GAAG;gBAC3B,IAAI6E,YAAY7E;gBAChB,IAAID,QAAQ,GAAG;oBACb,IAAI+E,IAAI;oBACR,MAAOA,KAAKjF,OAAOsB,WAAW,CAAClH,MAAO;wBACpC4K,aAAahF,OAAOuB,UAAU,CAACnH,MAAM6K;wBACrCA;oBACF;oBACAA,IAAI;oBACJ,MAAOA,IAAI/E,MAAO;wBAChB8E,aAAahF,OAAOuB,UAAU,CAACnH,MAAM6K;wBACrCA;oBACF;gBACF,OAAO;oBACL,IAAIA,KAAI;oBACR,MAAOA,KAAI/E,MAAO;wBAChB8E,aAAahF,OAAOuB,UAAU,CAACnH,MAAM6K;wBACrCA;oBACF;gBACF;gBACA,OAAOD,YAAaxF,CAAAA,eAAepF,QAAQ,CAAC,OAAM;YACpD;;;YAIO4G,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,UAAUhG,GAAG;gBAClB,IAAMuJ,SAASvF,kBAAkB,IAAI,IAAI,GAAGkG,iBAAiBlK,MAAM8D,oBAAoByF;gBACvF,OAAO,IAAIhG,KAAK2G,iBAAiBnG;YACnC;;;YAEOwC,KAAAA;mBADP,AACA,+EAD+E,GAC/E,SAAOA,WAAWnH,IAAI,EAAE8F,KAAK;gBAC3B,OAAQA;oBACN,0DAA0D;oBAC1D,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,KAAK;wBACH,OAAO;oBACT,kEAAkE;oBAClE,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,KAAK;wBACH,OAAO;oBACT,uDAAuD;oBACvD,KAAK;wBACH,OAAOF,OAAOvF,cAAc,CAACL,QAAQ,KAAK;oBAC5C,qDAAqD;oBACrD,KAAK;wBACH,OAAO4F,OAAOrF,aAAa,CAACP,QAAQ,KAAK;oBAC3C,4CAA4C;oBAC5C,KAAK;wBACH,OAAO4F,OAAO7E,SAAS,CAACf,QAAQ,KAAK;gBACzC;gBACA,OAAO;YACT;;;YAIOa,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,SAASb,IAAI;gBAClB,OAAO8E,SAAS,CAACK,YAAY,CAACnF,OAAO,IAAI,CAAC;YAC5C;;;YAEO+K,KAAAA;mBADP,AACA,2CAD2C,GAC3C,SAAOA,UAAU/K,IAAI;gBACnB,IAAI,CAACA,QAAQA,OAAO,GAAG;oBACrB,OAAO;gBACT;gBACA,IAAIA,QAAQ,KAAK;oBACf,OAAO4F,OAAO/E,QAAQ,CAACb,MAAMkF,UAAU;gBACzC,OAAO;oBACL,OAAOE,eAAepF,OAAO,KAAKoF,eAAepF;gBACnD;YACF;;;YAEOK,KAAAA;mBADP,AACA,wDADwD,GACxD,SAAOA,eAAeL,IAAI;gBACxB,IAAI,CAACA,QAAQA,OAAO,GAAG;oBACrB,OAAO;gBACT;gBACA,IAAIA,QAAQ,KAAK;oBACf,OAAO4F,OAAO/E,QAAQ,CAACb,MAAMK,cAAc;gBAC7C,OAAO;oBACL,OAAOuF,OAAOmF,SAAS,CAAC/K,QAAQ,OAAO;gBACzC;YACF;;;YAEOO,KAAAA;mBADP,AACA,sDADsD,GACtD,SAAOA,cAAcP,IAAI;gBACvB,IAAI,CAACA,QAAQA,OAAO,GAAG;oBACrB,OAAO;gBACT;gBACA,IAAIA,QAAQ,KAAK;oBACf,OAAO,CAAC4F,OAAO/E,QAAQ,CAACb,MAAMiF,YAAY;gBAC5C,OAAO;oBACL,OAAOW,OAAOmF,SAAS,CAAC/K,QAAQ,OAAO;gBACzC;YACF;;;YAEOe,KAAAA;mBADP,AACA,6CAD6C,GAC7C,SAAOA,UAAUf,IAAI;gBACnB,OAAO,AAAC,CAAA,IAAIA,OAAO,CAAA,IAAK,KAAK;YAC/B;;;YAEOkH,KAAAA;mBADP,AACA,mCADmC,GACnC,SAAOA,YAAYlH,IAAI;gBACrB,OAAO4F,OAAO7E,SAAS,CAACf,QAAQ,KAAK;YACvC;;;;;AAEF4F,OAAOR,cAAc,GAAGA;AACxB,IAAIhF,QAAQwF;AAEZ,qBAAqB;AACrB,IAAI+D,uBAAS;;aAAMqB;gCAAAA;;;;YAUVhB,KAAAA;mBATP,AASA;;;;;;;;GADC,GACD,SAAOA,YAAYjK,IAAI,EAAE0J,QAAQ;oBAAEwB,oBAAAA,iEAAoB;gBACrD,IAAIlL,AAAI,YAAJA,MAAgBK,QAAO;oBACzBL,OAAOA,KAAK4G,OAAO;gBACrB,OAAO,IAAI5G,AAAI,YAAJA,MAAgBmL,SAAQ;oBACjCnL,OAAO,IAAIoE,KAAKpE;gBAClB;gBACA,IAAI,CAAC6C,MAAMuD,WAAW,CAACpG,OAAO;oBAC5B,MAAM;gBACR;gBACA,IAAIoL,SAASC,QAAQC,YAAY,IAAIC,YAAY,IAAIC,UAAU,GAAGC,YAAY,GAAGC,WAAW,GAAGC,SAAS,GAAGC,SAAS,GAAGC,SAAS,GAAGC,SAAS,GAAGC,SAAS,GAAGC,SAAS,GAAGC,QAAQ,GAAGC,SAAS,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,OAAO,GAAGC,UAAU,GAAGC,SAAS,GAAGC,QAAQ,GAAGC,OAAO,GAAGC,QAAQ,GAAGC,OAAO,GAAGC,SAAS,GAAGC,QAAQ;gBACrT,IAAM7G,MAAMiF,QAAQ6B,SAAS,CAAC9M,OAAO+M,cAAc,SAASC,oBAAoB/B,QAAQgC,QAAQ,CAAC3B,WAAWC,aAAaN,QAAQiC,QAAQ,CAACtM,KAAKuM,IAAI,CAACJ,cAAeA,CAAAA,cAAe7B,CAAAA,oBAAoBxB,SAAS0D,SAAS,GAAG,CAAA,CAAC;gBAC5N9B,YAAY1K,KAAKgK,KAAK,CAACoC;gBACvBzB,YAAY,AAACyB,CAAAA,oBAAoB1B,SAAQ,IAAK;gBAC9CO,SAASjL,KAAKyM,GAAG,CAAC,UAAUpC,QAAQgC,QAAQ,CAAC3B,WAAWC;gBACxDE,YAAY/B,SAAS4D,SAAS;gBAC9B9B,UAAUC,YAAY;gBACtBC,WAAWhC,SAAS6D,QAAQ;gBAC5B5B,SAAS/K,KAAKyM,GAAG,CAAC,UAAU3B;gBAC5BE,SAAShL,KAAK4M,GAAG,CAAC,UAAU9B;gBAC5BgB,QAAQ1G,MAAM,AAAC,CAAA,IAAIwF,OAAM,IAAK;gBAC9BmB,OAAO3G,MAAM,AAAC,CAAA,KAAKwF,OAAM,IAAK;gBAC9BQ,SAASf,QAAQwC,CAAC,CAACf;gBACnBR,SAASjB,QAAQyC,CAAC,CAAC1B;gBACnBC,QAAQhB,QAAQwC,CAAC,CAACd;gBAClBR,QAAQlB,QAAQyC,CAAC,CAACzB;gBAClBG,QAAQ,WAAWxL,KAAK+M,IAAI,CAAC,UAAU/M,KAAKgN,GAAG,CAAC,UAAU1B;gBAC1DG,OAAO,WAAWzL,KAAK+M,IAAI,CAAC,UAAU/M,KAAKgN,GAAG,CAAC,UAAUzB;gBACzD,IAAIvL,KAAKC,GAAG,CAACuL,QAAQ,MAAMF,UAAU,IAAI;oBACvCE,SAAS;gBACX;gBACA,IAAIA,QAAQ,KAAK;oBACfA,SAAS;gBACX;gBACA,IAAIxL,KAAKC,GAAG,CAACwL,OAAO,MAAMF,SAAS,IAAI;oBACrCE,QAAQ;gBACV;gBACA,IAAIA,OAAO,KAAK;oBACdA,QAAQ;gBACV;gBACAC,UAAUF,QAAQ;gBAClBN,SAAS,UAAUlL,KAAK4M,GAAG,CAAC,UAAUtB;gBACtCH,SAASnL,KAAKiN,IAAI,CAAC,IAAI/B,SAASA;gBAChCU,QAAQ,AAACX,CAAAA,SAASC,SAASF,MAAK,IAAMG,CAAAA,SAASJ,MAAK;gBACpDY,SAASF,OAAO;gBAChBP,SAAS,UAAUlL,KAAK4M,GAAG,CAAC,UAAUrB;gBACtCJ,SAASnL,KAAKiN,IAAI,CAAC,IAAI/B,SAASA;gBAChCW,OAAO,AAACZ,CAAAA,SAASC,SAASF,MAAK,IAAMG,CAAAA,SAASJ,MAAK;gBACnD,IAAI/K,KAAKC,GAAG,CAAC2L,UAAU,GAAG;oBACxBA,QAAQ,WAAW5L,KAAKuM,IAAI,CAACX;oBAC7BI,SAAS,AAAC,CAAA,MAAMJ,KAAI,IAAK,KAAKF,UAAUrB,QAAQ6C,GAAG,CAACpB,SAASlB;oBAC7DJ,UAAUH,QAAQ8C,OAAO,CAACnB,SAASlD,SAASsE,SAAS,EAAEhO,MAAM0J;oBAC7D,IAAI0B,QAAQ6C,IAAI,GAAG,IAAI;wBACrB7C,QAAQ6C,IAAI,IAAI;oBAClB;gBACF;gBACA,IAAIrN,KAAKC,GAAG,CAAC4L,SAAS,GAAG;oBACvBA,OAAO,WAAW7L,KAAKuM,IAAI,CAACV;oBAC5BI,QAAQL,QAAQ,KAAKD,SAAStB,QAAQ6C,GAAG,CAACnB,QAAQnB;oBAClDH,SAASJ,QAAQ8C,OAAO,CAAClB,QAAQnD,SAASsE,SAAS,EAAEhO,MAAM0J;oBAC3D,IAAI2B,OAAO4C,IAAI,GAAG,KAAK5C,OAAO4C,IAAI,GAAG,IAAI;wBACvC5C,OAAO4C,IAAI,IAAI;oBACjB;gBACF;gBACA,OAAO;oBAAE7C,SAAAA;oBAASC,QAAAA;gBAAO;YAC3B;;;YAKOnB,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,WAAWlK,IAAI,EAAE0J,QAAQ;gBAC9B,OAAOuB,QAAQiD,sBAAsB,CACnCjD,QAAQhB,WAAW,CAACjK,MAAM0J,UAAU;YAExC;;;YAIOwE,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,uBAAuBC,QAAQ;gBACpC,IAAMC,OAAOD,SAAS/C,OAAO,EAAEiD,MAAMF,SAAS9C,MAAM;gBACpD,IAAI+C,SAAS,KAAK,KAAKE,MAAMF,KAAKH,IAAI,KAAKI,QAAQ,KAAK,KAAKC,MAAMD,IAAIJ,IAAI,GAAG;oBAC5E,OAAO;wBAAEA,MAAMhI;wBAAKsI,QAAQtI;oBAAI;gBAClC;gBACA,IAAMuI,QAAQ3L,MAAMC,KAAK,CAAC,AAACD,CAAAA,MAAM4L,YAAY,CAACJ,OAAOxL,MAAM4L,YAAY,CAACL,KAAI,IAAK;gBACjF,OAAOvL,MAAM6L,UAAU,CAACN,MAAMI;YAChC;;;YAMOrE,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,cAAcnK,IAAI,EAAE0J,QAAQ,EAAEU,MAAM;gBACzC,OAAOa,QAAQ0D,yBAAyB,CACtC1D,QAAQhB,WAAW,CAACjK,MAAM0J,UAAU,QACpCU;YAEJ;;;YAKOuE,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,0BAA0BR,QAAQ,EAAE/D,MAAM;gBAC/C,IAAI,CAAC+D,YAAY,CAACA,SAAS/C,OAAO,IAAI,CAAC+C,SAAS9C,MAAM,EAAE;oBACtD,OAAO;gBACT;gBACA,IAAI+C,OAAOD,SAAS/C,OAAO,EAAEiD,MAAMF,SAAS9C,MAAM;gBAClD,IAAI,CAAC+C,QAAQE,MAAMF,KAAKH,IAAI,KAAK,CAACI,OAAOC,MAAMD,IAAIJ,IAAI,GAAG;oBACxD,OAAOhI;gBACT;gBACA,IAAImE,QAAQ;oBACVgE,OAAOvL,MAAM+L,UAAU,CAACR,MAAM,CAAChE;oBAC/BiE,MAAMxL,MAAM+L,UAAU,CAACP,KAAKjE;gBAC9B;gBACA,OAAO,AAACvH,CAAAA,MAAM4L,YAAY,CAACJ,OAAOxL,MAAM4L,YAAY,CAACL,KAAI,IAAK;YAChE;;;YAKOS,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,iBAAiBV,QAAQ,EAAE7P,OAAO;gBACvC,IAAMwQ,UAAUxQ,UAAU,KAAK;gBAC/B,IAAI8P,OAAOD,SAAS/C,OAAO,IAAIvI,MAAM+L,UAAU,CAACT,SAAS/C,OAAO,EAAE,CAAC0D,UAAUT,MAAMF,SAAS9C,MAAM,IAAIxI,MAAM+L,UAAU,CAACT,SAAS9C,MAAM,EAAEyD;gBACxI,IAAI,CAACV,QAAQE,MAAMF,KAAKH,IAAI,KAAK,CAACI,OAAOC,MAAMD,IAAIJ,IAAI,GAAG;oBACxD,OAAOhI;gBACT;gBACA,OAAO,AAACpD,CAAAA,MAAM4L,YAAY,CAACJ,OAAOxL,MAAM4L,YAAY,CAACL,KAAI,IAAK;YAChE;;;YAKO3E,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,kBAAkBzJ,IAAI,EAAE0J,QAAQ;gBACrC,OAAOuB,QAAQ8D,6BAA6B,CAC1C9D,QAAQhB,WAAW,CAACjK,MAAM0J,WAC1BA;YAEJ;;;YAKOqF,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,8BAA8BZ,QAAQ,EAAEzE,QAAQ;gBACrD,OAAOyE,SAAS9C,MAAM,IAAIJ,QAAQ+D,2BAA2B,CAACb,SAAS9C,MAAM,EAAE3B;YACjF;;;YAKOsF,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,4BAA4B3D,MAAM,EAAE3B,QAAQ;gBACjD,OAAO7G,MAAM+L,UAAU,CAACvD,QAAQ,CAAE3B,CAAAA,SAASuF,cAAc,IAAI,CAAA;YAC/D;;;YAIOnC,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,UAAU9M,IAAI;gBACnB,IAAM+F,QAAQ/F,KAAK2H,QAAQ,IAAIuH,SAAS;2BAAMrM,MAAMsM,iBAAiB,CAACnP,KAAK8H,WAAW;mBAAKsH,UAAU;oBAAC;oBAAG;oBAAG;oBAAI;oBAAI;oBAAI;oBAAK;oBAAK;oBAAK;oBAAK;oBAAK;oBAAK;oBAAK;iBAAI;gBAC/J,OAAOA,OAAO,CAACrJ,QAAQ,EAAE,GAAG/F,KAAK4G,OAAO,KAAMb,CAAAA,QAAQ,KAAKmJ,WAAW,IAAI,CAAA;YAC5E;;;YAKOjC,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,SAASoC,GAAG,EAAEC,GAAG;gBACtB,OAAOD,MAAMC,MAAM;YACrB;;;YAIO7B,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,EAAE8B,CAAC;gBACR,OAAO,SAASA,IAAI;YACtB;;;YAIO7B,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,EAAE6B,CAAC;gBACR,OAAOA,IAAI,QAAQ3O,KAAK4M,GAAG,CAAC,UAAU+B,KAAK,OAAO3O,KAAK4M,GAAG,CAAC,IAAI,UAAU+B,KAAK;YAChF;;;YAIOzB,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,IAAIyB,CAAC;gBACV,OAAO,CAAC,UAAUA,IAAI;YACxB;;;YAIOrC,KAAAA;mBAHP,AAGA;;GADC,GACD,SAAOA,SAASsC,GAAG;gBACjB,OAAO,WAAWA;YACpB;;;YAMOzB,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,QAAQ0B,IAAI,EAAEzP,IAAI,EAAE0J,QAAQ;gBACjC,IAAI+F,OAAO,GAAG;oBACZA,QAAQ;gBACV;gBACA,IAAIxB,OAAOpL,MAAMC,KAAK,CAAC2M;gBACvB,IAAMC,WAAW,AAACD,CAAAA,OAAOxB,IAAG,IAAK,KAAK,KAAKqB,MAAMzM,MAAMC,KAAK,CAAC4M,WAAWC,MAAM/O,KAAKgP,KAAK,CAAC,KAAMF,CAAAA,WAAWJ,GAAE;gBAC5G,IAAIzM,MAAMgN,KAAK,CAACnG,UAAU1J,OAAO;oBAC/BiO;gBACF;gBACA,OAAOpL,MAAMiN,OAAO,CAAC;oBAAE7B,MAAAA;oBAAMM,QAAQe;oBAAKS,QAAQJ;gBAAI;YACxD;;;;;AAGF,eAAe;AACf,IAAIK,UAAUC,QAAQC,GAAG,CAACC,QAAQ,KAAK;AACvC,IAAIC,aAAaC,OAAOC,MAAM,CAAC;IAC7BC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,WAAW;IACXC,UAAU;IACVC,QAAQ;IACRC,SAAS;AACX;AACA,IAAIC,oBAAoBT,OAAOC,MAAM,CAAC;IACpCS,QAAQ;IACRC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,IAAI;IACJC,OAAO;IACPC,SAAS;IACTC,UAAU;IACVC,QAAQ;IACRC,OAAO;IACPC,OAAO;IACPC,MAAM;IACNC,aAAa;AACf;AACA,IAAI/I,kBAAkB;IACpB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIG,kBAAkB;IACpB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAI6I,mBAAmB;IACrB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIrJ,gBAAgB;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIO,gBAAgB;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAI+I,uBAAS;;aAAMA;gCAAAA;;;;YAMVpN,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,eAAeqN,MAAM;gBAC1B,IAAIA,SAAS,GAAG;oBACd,MAAM;gBACR;gBACA,IAAIA,SAAS,MAAM;oBACjB,MAAM;gBACR;gBACA,IAAIC,IAAID,QAAQE,SAAS;gBACzB,IAAID,KAAK,KAAK;oBACZC,UAAUH,OAAOI,GAAG,CAACJ,OAAO/O,KAAK,CAAC,AAACiP,CAAAA,IAAIA,IAAI,GAAE,IAAK,OAAO,EAAE,GAAG;oBAC9DA,IAAIA,IAAI;gBACV;gBACA,MAAOA,KAAK,IAAK;oBACfC,UAAU;oBACVD,KAAK;gBACP;gBACA,IAAIA,KAAK,KAAK;oBACZC,UAAUH,OAAOK,GAAG,CAACL,OAAO/O,KAAK,CAAC,AAACiP,CAAAA,IAAIA,IAAI,GAAE,IAAK,OAAO,EAAE;oBAC3DA,IAAIA,IAAI;gBACV;gBACA,IAAIA,KAAK,IAAI;oBACXC,UAAU;gBACZ,OAAO,IAAID,KAAK,IAAI;oBAClBC,UAAU;gBACZ,OAAO;oBACL,IAAID,IAAI,GAAG;wBACTC,UAAUH,OAAOM,GAAG,CAACN,OAAO/O,KAAK,CAAC,AAACiP,CAAAA,IAAIA,IAAI,EAAC,IAAK,MAAM,EAAE;oBAC3D;oBACA,IAAIA,IAAI,KAAK,GAAG;wBACdC,UAAUH,OAAOI,GAAG,CAACF,IAAI,KAAK,EAAE;oBAClC;gBACF;gBACA,IAAID,SAAS,OAAOA,SAAS,MAAM,IAAI;oBACrCE,SAAS,MAAMA;gBACjB,OAAO,IAAIA,OAAO3S,MAAM,GAAG,GAAG;oBAC5B2S,SAASA,OAAOI,KAAK,CAAC,GAAG,CAAC,KAAK,MAAMJ,MAAM,CAACA,OAAO3S,MAAM,GAAG,EAAE;gBAChE;gBACA,OAAO2S;YACT;;;YAOOK,KAAAA;mBANP,AAMA;;;;;GADC,GACD,SAAOA,aAAarS,IAAI,EAAEqI,aAAa,EAAEC,cAAc;gBACrD,IAAI,CAACtI,MAAM;gBACX,OAAO,AAACqI,CAAAA,gBAAgBC,iBAAiB,MAAM,MAAMC,aAAa,CAACvI,KAAKsS,MAAM,GAAG,GAAG,KAAI,IAAK,QAAQT,OAAOrJ,UAAU,CAACxI,KAAK4G,OAAO,MAAM,SAASgL,gBAAgB,CAAC5R,KAAK2H,QAAQ,GAAG,GAAG,MAAM3H,KAAK8H,WAAW,GAAGtI,QAAQ;YACzN;;;YAMO+S,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,kBAAkBvS,IAAI,EAAEwS,UAAU;gBACvC,IAAI,CAACxS,MAAM;gBACX,IAAMyS,SAASzS,KAAK4G,OAAO,IAAI8L,WAAW1S,KAAK2H,QAAQ,KAAK;gBAC5D,OAAO,AAAC6K,CAAAA,aAAa,AAAC,GAAcC,OAAZC,UAAS,KAAU,OAAPD,UAAW,AAAC,GAA2BA,OAAzBA,SAAS,KAAK,MAAM,IAAeC,OAAVD,QAAO,KAA8BC,OAA3BA,WAAW,KAAK,MAAM,IAAc,OAATA,SAAS,IAAK,MAAM1S,KAAK8H,WAAW,GAAGtI,QAAQ;YACjK;;;YAKOgJ,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,WAAWmK,GAAG;gBACnB,IAAMC,IAAID,IAAInT,QAAQ;gBACtB,IAAIqT,SAAS;gBACb,IAAID,EAAEvT,MAAM,KAAK,KAAKuT,CAAC,CAACA,EAAEvT,MAAM,GAAG,EAAE,KAAK,KAAK;oBAC7C,OAAQuT,CAAC,CAACA,EAAEvT,MAAM,GAAG,EAAE;wBACrB,KAAK;4BACHwT,SAAS;4BACT;wBACF,KAAK;4BACHA,SAAS;4BACT;wBACF,KAAK;4BACHA,SAAS;4BACT;oBACJ;gBACF;gBACA,OAAOD,IAAIC;YACb;;;YAKO1D,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,kBAAkBlP,IAAI;gBAC3B,OAAO,CAAEA,CAAAA,OAAO,GAAE,KAAM,CAAC,CAAEA,CAAAA,OAAO,GAAE,KAAM,CAAEA,CAAAA,OAAO,CAAA;YACrD;;;YASO6S,KAAAA;mBARP,AAQA;;;;;;;GADC,GACD,SAAOA,SAAS7S,IAAI,EAAE8F,KAAK,EAAEC,GAAG;gBAC9B,OAAO,IAAI5B,KAAKnE,MAAM8F,QAAQ,GAAGC,KAAKsM,MAAM;YAC9C;;;YAOOxC,KAAAA;mBANP,AAMA;;;;;GADC,GACD,SAAOA,QAAQL,IAAI;gBACjB,IAAMsD,SAAS;oBACb9E,MAAMwB,KAAKxB,IAAI;oBACfM,QAAQkB,KAAKlB,MAAM;oBACnBwB,QAAQN,KAAKM,MAAM,IAAI;gBACzB;gBACA,MAAOgD,OAAOhD,MAAM,IAAI,GAAI;oBAC1BgD,OAAOxE,MAAM,IAAI;oBACjBwE,OAAOhD,MAAM,IAAI;gBACnB;gBACA,MAAOgD,OAAOhD,MAAM,GAAG,EAAG;oBACxBgD,OAAOxE,MAAM,IAAI;oBACjBwE,OAAOhD,MAAM,IAAI;gBACnB;gBACA,MAAOgD,OAAOxE,MAAM,GAAG,EAAG;oBACxBwE,OAAOxE,MAAM,IAAI;oBACjBwE,OAAO9E,IAAI;gBACb;gBACA,MAAO8E,OAAOxE,MAAM,IAAI,GAAI;oBAC1BwE,OAAOxE,MAAM,IAAI;oBACjBwE,OAAO9E,IAAI;gBACb;gBACA,IAAI8E,OAAO9E,IAAI,GAAG,GAAG;oBACnB8E,OAAO9E,IAAI,GAAG,KAAK8E,OAAO9E,IAAI,GAAG;gBACnC;gBACA,IAAI8E,OAAO9E,IAAI,GAAG,IAAI;oBACpB8E,OAAO9E,IAAI,GAAG8E,OAAO9E,IAAI,GAAG;gBAC9B;gBACA,OAAO8E;YACT;;;YAQOnE,KAAAA;mBAPP,AAOA;;;;;;GADC,GACD,SAAOA,WAAWa,IAAI,EAAEX,OAAO;gBAC7B,IAAI,CAACW,MAAM,OAAOA;gBAClB,OAAOA,QAAQoC,OAAO/B,OAAO,CAAC;oBAC5B7B,MAAMwB,KAAKxB,IAAI;oBACfM,QAAQkB,KAAKlB,MAAM,GAAIO,CAAAA,WAAW,CAAA;oBAClCiB,QAAQN,KAAKM,MAAM;gBACrB;YACF;;;YAQOrB,KAAAA;mBAPP,AAOA;;;;;;GADC,GACD,SAAOA,WAAWe,IAAI,EAAEuD,OAAO;gBAC7B,OAAOnB,OAAO/B,OAAO,CAAC;oBACpB7B,MAAMwB,KAAKxB,IAAI;oBACfM,QAAQkB,KAAKlB,MAAM;oBACnBwB,QAAQ,AAACN,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAKiD;gBAC/B;YACF;;;YAWOC,KAAAA;mBAVP,AAUA;;;;;;;;;GADC,GACD,SAAOA,SAASC,WAAW,EAAEC,SAAS;oBAAEC,eAAAA,iEAAe;gBACrD,IAAMC,WAAWxB,OAAOpD,YAAY,CAACyE,cAAcI,WAAWzB,OAAOpD,YAAY,CAAC0E,YAAY1D,OAAOoC,OAAO/B,OAAO,CAAC;oBAClH7B,MAAM;oBACNM,QAAQ;oBACRwB,QAAQsD,YAAYC,WAAWA,WAAWD,WAAWD,eAAeC,WAAWC,WAAW,QAAQD,WAAWC;gBAC/G;gBACA,OAAO,wCACF7D;oBACH8D,MAAMF,YAAYC,YAAY,CAACF,eAAe,IAAI,CAAC;;YAEvD;;;YAKOI,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,aAAa/D,IAAI;gBACtB,OAAOA,OAAOA,KAAKxB,IAAI,GAAG,KAAKwB,KAAKlB,MAAM,GAAG;YAC/C;;;YAKOE,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,aAAagB,IAAI;gBACtB,OAAOA,OAAOoC,OAAO2B,YAAY,CAAC/D,QAAQ,KAAMA,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAK;YACtE;;;YAMO0D,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,aAAaC,KAAK;gBACvB,OAAO;oBACLzF,MAAMyF,MAAMC,QAAQ;oBACpBpF,QAAQmF,MAAME,UAAU;oBACxB7D,QAAQ2D,MAAMG,UAAU;gBAC1B;YACF;;;YAMOC,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,YAAYC,UAAU,EAAEC,SAAS;gBACtC,IAAI,CAACD,cAAc,CAACC,WAAW,OAAO;gBACtC,OAAOnC,OAAOpD,YAAY,CAACuF,cAAcnC,OAAOpD,YAAY,CAACsF;YAC/D;;;YAKOE,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,6BAA6BxE,IAAI;gBACtC,IAAImD,IAAI;gBACR,IAAInD,KAAKxB,IAAI,GAAG,GAAG;oBACjB2E,KAAK,AAAC,GAA0BnD,OAAxBA,KAAKxB,IAAI,CAACzO,QAAQ,IAAG,KAAuE,OAApEiQ,KAAKxB,IAAI,KAAK,IAAI,uBAAuB,4BAA2B;gBACtG;gBACA,IAAIwB,KAAKlB,MAAM,GAAG,GAAG;oBACnB,IAAIqE,EAAEvT,MAAM,EAAE;wBACZuT,KAAK;oBACP;oBACAA,KAAK,AAAC,GAA4BnD,OAA1BA,KAAKlB,MAAM,CAAC/O,QAAQ,IAAG,KAAyE,OAAtEiQ,KAAKlB,MAAM,KAAK,IAAI,uBAAuB,4BAA2B;gBAC1G;gBACA,IAAI,AAACkB,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAK,GAAG;oBAC1B,IAAI6C,EAAEvT,MAAM,EAAE;wBACZuT,KAAK;oBACP;oBACAA,KAAK,AAAC,GAA6CnD,OAA3C7O,KAAKsT,KAAK,CAACzE,KAAKM,MAAM,IAAI,GAAGvQ,QAAQ,IAAG,KAA2F,OAAxFiQ,KAAKM,MAAM,KAAK,IAAI,mCAAmC,kCAAiC;gBAC7I;gBACA,OAAO6C;YACT;;;YAKOuB,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,0BAA0B1E,IAAI;gBACnC,IAAImD,IAAI;gBACR,IAAInD,KAAKxB,IAAI,GAAG,GAAG;oBACjB2E,KAAK,AAAC,GAA0BnD,OAAxBA,KAAKxB,IAAI,CAACzO,QAAQ,IAAG,KAAsC,OAAnCiQ,KAAKxB,IAAI,KAAK,IAAI,SAAS,SAAQ;gBACrE;gBACA,IAAIwB,KAAKlB,MAAM,GAAG,GAAG;oBACnB,IAAIqE,EAAEvT,MAAM,EAAE;wBACZuT,KAAK;oBACP;oBACAA,KAAK,AAAC,GAA4BnD,OAA1BA,KAAKlB,MAAM,CAAC/O,QAAQ,IAAG,KAA4C,OAAzCiQ,KAAKlB,MAAM,KAAK,IAAI,WAAW,WAAU;gBAC7E;gBACA,IAAI,AAACkB,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAK,GAAG;oBAC1B,IAAI6C,EAAEvT,MAAM,EAAE;wBACZuT,KAAK;oBACP;oBACAA,KAAK,AAAC,GAA6CnD,OAA3C7O,KAAKsT,KAAK,CAACzE,KAAKM,MAAM,IAAI,GAAGvQ,QAAQ,IAAG,KAA4C,OAAzCiQ,KAAKM,MAAM,KAAK,IAAI,WAAW,WAAU;gBAC9F;gBACA,OAAO6C;YACT;;;YAMOwB,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,cAAcnL,SAAS,EAAEoL,MAAM;gBACpC,IAAMC,QAAQzC,OAAO/O,KAAK,CAACmG,YAAY,IAAIjC,OAAOiC,YAAY;gBAC9D,IAAIsL,MAAM;gBACV,IAAItL,cAAc,GAAG;oBACnBsL,OAAO;gBACT,OAAO;oBACL,IAAItL,cAAc,GAAG;wBACnBsL,OAAO;oBACT,OAAO;wBACL,IAAItL,cAAc,IAAI;4BACpBsL,OAAO;wBACT,OAAO;4BACLA,OAAO1C,OAAO2C,KAAK,CAAC3C,OAAO/O,KAAK,CAACmG,YAAY,IAAI,GAAG;4BACpD,IAAIA,YAAY,IAAI;gCAClB,IAAIA,YAAY,MAAMA,YAAY,KAAK,GAAG;oCACxCsL,OAAO;gCACT;gCACAA,OAAO1C,OAAO4C,KAAK,CAAC5C,OAAO/O,KAAK,CAACmG,YAAY,IAAI,GAAG;4BACtD;wBACF;oBACF;oBACAsL,OAAO,AAACtL,CAAAA,aAAa,KAAK,uBAAuB,0BAAyB,IAAK;oBAC/E,IAAIoL,WAAW,WAAW;wBACxBE,OAAO;oBACT;oBACA,IAAItL,aAAa,GAAG;wBAClBsL,OAAO;wBACP,IAAID,UAAU,GAAG;4BACfC,OAAO;wBACT,OAAO,IAAID,UAAU,GAAG;4BACtBC,OAAO;wBACT,OAAO,IAAID,QAAQ,GAAG;4BACpBC,OAAO1C,OAAO2C,KAAK,CAAC3C,OAAO/O,KAAK,CAACwR,OAAO,GAAG;wBAC7C;wBACA,IAAItN,SAAS,GAAG;4BACduN,OAAO;wBACT,OAAO,IAAIvN,SAAS,GAAG;4BACrBuN,OAAO;wBACT,OAAO,IAAIvN,OAAO,GAAG;4BACnBuN,OAAO,WAAW1C,OAAO2C,KAAK,CAACxN,KAAK,GAAG;wBACzC;oBACF;gBACF;gBACA,IAAIqN,WAAW,UAAU;oBACvBE,OAAO;gBACT,OAAO,IAAIF,WAAW,YAAY;oBAChCE,OAAO;gBACT;gBACA,OAAOA;YACT;;;YAQOG,KAAAA;mBAPP,AAOA;;;;;;GADC,GACD,SAAOA,cAAcjF,IAAI,EAAE8D,IAAI,EAAEoB,IAAI,EAAEC,OAAO;gBAC5C,IAAMhF,QAAQgF,UAAUhU,KAAKiU,IAAI,GAAGjU,KAAKgK,KAAK;gBAC9C6E,OAAO;oBACLxB,MAAM2B,MAAMH,KAAKxB,IAAI;oBACrBM,QAAQqB,MAAMH,KAAKlB,MAAM;oBACzBwB,QAAQH,MAAMH,KAAKM,MAAM,IAAI;gBAC/B;gBACA,IAAI4E,MAAM;oBACR,OAAO,AAACpB,CAAAA,QAAQA,OAAO,IAAI,MAAM,EAAC,IAAM9D,CAAAA,KAAKxB,IAAI,CAACzO,QAAQ,KAAK,MAAOiQ,CAAAA,KAAKlB,MAAM,GAAG,KAAK,MAAMkB,KAAKlB,MAAM,CAAC/O,QAAQ,KAAKiQ,KAAKlB,MAAM,CAAC/O,QAAQ,EAAC,IAAK,MAAO,CAAA,AAACiQ,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAK,KAAK,MAAM,AAACN,CAAAA,KAAKM,MAAM,IAAI,CAAA,EAAGvQ,QAAQ,KAAK,AAACiQ,CAAAA,KAAKM,MAAM,IAAI,CAAA,EAAGvQ,QAAQ,EAAC,CAAC;gBACxP,OAAO;oBACL,OAAO,AAAC+T,CAAAA,QAAQA,OAAO,IAAI,MAAM,EAAC,IAAK,AAAC9D,CAAAA,KAAKxB,IAAI,IAAI,KAAKwB,KAAKxB,IAAI,IAAI,IAAI,KAAKwB,KAAKxB,IAAI,GAAGwB,KAAKxB,IAAI,GAAG,EAAC,EAAGzO,QAAQ,KAAK,MAAOiQ,CAAAA,KAAKlB,MAAM,GAAG,KAAK,MAAMkB,KAAKlB,MAAM,CAAC/O,QAAQ,KAAKiQ,KAAKlB,MAAM,CAAC/O,QAAQ,EAAC,IAAK,MAAO,CAAA,AAACiQ,CAAAA,KAAKM,MAAM,IAAI,CAAA,IAAK,KAAK,MAAM,AAACN,CAAAA,KAAKM,MAAM,IAAI,CAAA,EAAGvQ,QAAQ,KAAK,AAACiQ,CAAAA,KAAKM,MAAM,IAAI,CAAA,EAAGvQ,QAAQ,EAAC,IAAMiQ,CAAAA,KAAKxB,IAAI,GAAG,KAAK,QAAQ,KAAI;gBACpV;YACF;;;YAKO6G,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA;gBACL,IAAM9U,OAAO,aAAa,GAAG,IAAIoE,QAAQ2Q,MAAM,IAAI3Q,KAAKpE,KAAK8H,WAAW,IAAI,GAAG,IAAIkN,MAAM,IAAI5Q,KAAKpE,KAAK8H,WAAW,IAAI,GAAG;gBACzH,OAAO,CAAC+J,OAAO/O,KAAK,CAAClC,KAAKqU,GAAG,CAACF,IAAIjQ,iBAAiB,IAAIkQ,IAAIlQ,iBAAiB,MAAM;YACpF;;;YAEOoQ,KAAAA;mBADP,AACA,mEADmE,GACnE,SAAOA,UAAUlV,IAAI;gBACnB,OAAO,CAAC6R,OAAO/O,KAAK,CAAC9C,KAAK8E,iBAAiB,KAAK,QAAQ+M,OAAOiD,aAAa;YAC9E;;;YAMOjF,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,MAAMnG,QAAQ,EAAE1J,IAAI;gBACzB,IAAI0J,SAASsE,SAAS,KAAK6D,OAAOiD,aAAa,IAAI;oBACjD,OAAOjD,OAAOqD,SAAS,CAAClV;gBAC1B,OAAO,IAAI0J,SAASyL,MAAM,EAAE;oBAC1B,OAAOtD,OAAOuD,YAAY,CAACpV;gBAC7B,OAAO;oBACL,OAAO6R,OAAOwD,SAAS,CAACrV;gBAC1B;YACF;;;YAKOqV,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,UAAUrV,IAAI;gBACnB,IAAMC,OAAOD,KAAK8H,WAAW,IAAI/B,QAAQ/F,KAAK2H,QAAQ,KAAK,GAAG3B,MAAMhG,KAAK4G,OAAO,IAAIqH,OAAOjO,KAAK2T,QAAQ;gBACxG,IAAI5N,QAAQ,KAAKA,SAAS,IAAI;oBAC5B,OAAO;gBACT,OAAO,IAAIA,QAAQ,KAAKA,QAAQ,IAAI;oBAClC,OAAO;gBACT,OAAO,IAAIA,UAAU,GAAG;oBACtB,IAAMuP,WAAWzD,OAAOiB,QAAQ,CAAC7S,MAAM,GAAG,IAAIsV,aAAaD,YAAY,IAAI,IAAI,IAAI,AAACA,CAAAA,WAAW,CAAA,IAAK,IAAI;oBACxG,OAAOtP,MAAMuP,cAAcvP,QAAQuP,cAActH,QAAQ;gBAC3D,OAAO;oBACL,IAAMqH,YAAWzD,OAAOiB,QAAQ,CAAC7S,MAAM,IAAI,IAAIsV,cAAaD,cAAa,IAAI,IAAI,IAAI,AAACA,CAAAA,YAAW,CAAA,IAAK,IAAI;oBAC1G,OAAOtP,MAAMuP,eAAcvP,QAAQuP,eAActH,OAAO;gBAC1D;YACF;;;YAMOmH,KAAAA;mBALP,AAKA,EALE;YACF;;;GAGC,GACD,SAAOA,aAAapV,IAAI;gBACtB,IAAMC,OAAOD,KAAK8H,WAAW,IAAI/B,QAAQ/F,KAAK2H,QAAQ,KAAK,GAAG3B,MAAMhG,KAAK4G,OAAO,IAAIqH,OAAOjO,KAAK2T,QAAQ;gBACxG,IAAI5N,QAAQ,MAAMA,QAAQ,GAAG;oBAC3B,OAAO;gBACT,OAAO,IAAIA,QAAQ,KAAKA,QAAQ,IAAI;oBAClC,OAAO;gBACT,OAAO,IAAIA,UAAU,GAAG;oBACtB,IAAMyP,aAAa,KAAK3D,OAAOiB,QAAQ,CAAC7S,MAAM,GAAG,MAAM;oBACvD,OAAO+F,MAAMwP,cAAcxP,QAAQwP,cAAcvH,QAAQ;gBAC3D,OAAO;oBACL,IAAMwH,aAAa,KAAK5D,OAAOiB,QAAQ,CAAC7S,MAAM,IAAI;oBAClD,OAAO+F,MAAMyP,cAAczP,QAAQyP,cAAcxH,OAAO;gBAC1D;YACF;;;YAEOyH,KAAAA;mBADP,AACA,iGADiG,GACjG,SAAOA;gBACL,IAAMlL,MAAM,aAAa,GAAG,IAAIpG,QAAQuR,mBAAmB,IAAI,CAAC9D,OAAOiD,aAAa;gBACpFtK,IAAIoL,QAAQ,CAACpL,IAAImJ,QAAQ,KAAKgC;gBAC9B,OAAOnL;YACT;;;YAMOqL,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,eAAenC,KAAK,EAAE1M,IAAI;gBAC/B,OAAO,IAAI5C,KAAKsP,MAAMjM,OAAO,KAAK,QAAQT;YAC5C;;;YAMO8O,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,YAAYC,MAAM,EAAEC,MAAM;gBAC/B,OAAOD,UAAUC,UAAUD,OAAOE,YAAY,OAAOD,OAAOC,YAAY;YAC1E;;;YAMOC,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,YAAYC,MAAM,EAAEC,MAAM;gBAC/B,OAAOD,UAAUC,UAAUD,OAAOnX,GAAG,IAAIoX,OAAOpX,GAAG,IAAImX,OAAOnX,GAAG,KAAKoX,OAAOpX,GAAG;YAClF;;;YAMOqX,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,aAAaF,MAAM,EAAEC,MAAM;gBAChC,OAAOD,OAAO5X,KAAK,KAAK6X,OAAO7X,KAAK,IAAI4X,OAAOrX,IAAI,KAAKsX,OAAOtX,IAAI;YACrE;;;YAMOwX,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,aAAaP,MAAM,EAAEC,MAAM;gBAChC,OAAOD,OAAOpO,QAAQ,OAAOqO,OAAOrO,QAAQ,MAAMoO,OAAOjO,WAAW,OAAOkO,OAAOlO,WAAW;YAC/F;;;YAMOyO,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,cAAc7C,KAAK,EAAEhK,QAAQ;gBAClC,IAAM8M,QAAQ5M,OAAOK,WAAW,CAACyJ,OAAOhK,UAAU2B,MAAM,EAAEb,MAAMqH,OAAO4B,YAAY,CAACC;gBACpF,OAAO8C,SAAS3E,OAAOiC,WAAW,CAAC0C,OAAOhM;YAC5C;;;YAKOiM,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,cAAc/M,QAAQ;gBAC3B,IAAIgK,QAAQ,aAAa,GAAG,IAAItP;gBAChC,IAAIyN,OAAO0E,aAAa,CAAC7C,OAAOhK,WAAW;oBACzCgK,MAAMgD,OAAO,CAAChD,MAAM9M,OAAO,KAAK;gBAClC;gBACA,OAAO,IAAIvG,MAAMqT;YACnB;;;YASO5Q,KAAAA;mBARP,AAQA;;;;;;;GADC,GACD,SAAOA,MAAM6T,KAAK;gBAChB,OAAOA,QAAQ;YACjB;;;YAMOC,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,UAAU5W,IAAI;gBACnB,IAAMwD,QAAQxD,AAAI,YAAJA,MAAgBoE,QAAO,IAAI/D,MAAML,QAAQA;gBACvD,IAAM0T,QAAQ1T,AAAI,YAAJA,MAAgBoE,QAAOpE,OAAOwD,MAAMoD,OAAO;gBACzD,OAAO;oBAAE8M,OAAAA;oBAAOlQ,OAAAA;gBAAM;YACxB;;;YAEO+C,KAAAA;mBADP,AACA,0EAD0E,GAC1E,SAAOA,SAASsQ,KAAK;gBACnB,OAAO,OAAOA,UAAU,YAAYA,AAAK,YAALA,OAAiB1L;YACvD;;;YAEO3E,KAAAA;mBADP,AACA,4EAD4E,GAC5E,SAAOA,SAASqQ,KAAK;gBACnB,OAAO,OAAOA,UAAU,YAAYA,AAAK,YAALA,OAAiBC;YACvD;;;YAEO1Q,KAAAA;mBADP,AACA,qEADqE,GACrE,SAAOA,YAAYyQ,KAAK;gBACtB,OAAOA,AAAK,YAALA,OAAiBzS,SAAQ,CAACkK,MAAMuI,MAAMpP,OAAO;YACtD;;;YAIO7B,KAAAA;mBAHP,AAGA;;6HAD2H,GAC3H,SAAOA,IAAImR,CAAC;gBAAE,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGC,MAAH,UAAA,OAAA,IAAA,OAAA,QAAA,OAAA,GAAA,OAAA,MAAA;oBAAGA,IAAH,OAAA,KAAA,SAAA,CAAA,KAAM;;gBAClB,IAAIA,IAAI3X,MAAM,KAAK,KAAMgH,CAAAA,MAAMC,OAAO,CAAC0Q,GAAG,CAAC,EAAE,KAAKnF,OAAOtL,QAAQ,CAACyQ,GAAG,CAAC,EAAE,CAAA,GAAI;oBAC1E,OAAOA,GAAG,CAAC,EAAE,CAAC3N,QAAQ,CAAC0N;gBACzB,OAAO;oBACL,OAAOC,IAAI3N,QAAQ,CAAC0N;gBACtB;YACF;;;YASOE,KAAAA;mBARP,AAQA;;;;;;;GADC,GACD,SAAOA,WAAWC,UAAU,EAAEC,QAAQ;gBACpC,IAAI,OAAOD,eAAe,eAAeA,eAAe,QAAQ5I,MAAM4I,aAAa;oBACjF,OAAOC;gBACT,OAAO;oBACL,OAAOD;gBACT;YACF;;;YASOE,KAAAA;mBARP,AAQA;;;;;;;GADC,GACD,SAAOA,MAAMC,KAAK,EAAEC,GAAG;gBACrB,IAAMC,cAAc,OAAOD,QAAQ,cAAc,IAAID,OAAOG,YAAY,OAAOF,QAAQ,cAAcD,QAAQC;gBAC7G,OAAOjR,MAAMoR,IAAI,CAAC;oBAAEpY,QAAQmY,YAAYD,cAAc;gBAAE,GAAG,SAACG,GAAGnY;2BAAMgY,cAAchY;;YACrF;;;YAKOoY,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,IAAIpD,GAAG;gBAAE,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGqD,gBAAH,UAAA,OAAA,IAAA,OAAA,QAAA,OAAA,GAAA,OAAA,MAAA;oBAAGA,cAAH,OAAA,KAAA,SAAA,CAAA,KAAgB;;gBAC9B,IAAI5H,SAAS;wBACX6H;oBAAAA,CAAAA,WAAAA,SAAQF,GAAG,OAAXE,UAAAA;wBAAYtD;qBAAsB,CAAlCsD,OAAiB,qBAAGD;gBACtB;YACF;;;YAKOE,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,KAAKvD,GAAG;gBAAE,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGqD,gBAAH,UAAA,OAAA,IAAA,OAAA,QAAA,OAAA,GAAA,OAAA,MAAA;oBAAGA,cAAH,OAAA,KAAA,SAAA,CAAA,KAAgB;;gBAC/B,IAAI5H,SAAS;wBACX6H;oBAAAA,CAAAA,WAAAA,SAAQC,IAAI,OAAZD,UAAAA;wBAAatD;qBAAsB,CAAnCsD,OAAkB,qBAAGD;gBACvB;YACF;;;YAKOG,KAAAA;mBAJP,AAIA;;;GADC,GACD,SAAOA,MAAMxD,GAAG;gBAAE,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGqD,gBAAH,UAAA,OAAA,IAAA,OAAA,QAAA,OAAA,GAAA,OAAA,MAAA;oBAAGA,cAAH,OAAA,KAAA,SAAA,CAAA,KAAgB;;gBAChC,IAAI5H,SAAS;wBACX6H;oBAAAA,CAAAA,WAAAA,SAAQE,KAAK,OAAbF,UAAAA;wBAActD;qBAAsB,CAApCsD,OAAmB,qBAAGD;gBACxB;YACF;;;;;AAEF/F,OAAOI,GAAG,GAAG;IAAC;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;CAAS;AACvGJ,OAAOM,GAAG,GAAG;IAAC;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;IAAU;CAAS;AACvGN,OAAOK,GAAG,GAAG;IAAC;IAAU;IAAU;IAAU;CAAS;AACrDL,OAAO2C,KAAK,GAAG;IAAC;IAAI;IAAsB;IAA4B;IAA4B;IAAkC;IAA4B;IAAsB;IAA4B;IAAkC;CAA2B;AAC/Q3C,OAAO4C,KAAK,GAAG;IAAC;IAAI;IAAsB;IAAkC;IAAwC;CAAuC;AAC3J,IAAI5R,QAAQgP;AAEZ,uBAAuB;AACvB,IAAImG,yBAAW;;aAAMC,UAYPC,IAAI,EAAEC,OAAO,EAAE7Z,OAAO,EAAEoN,QAAQ,EAAED,SAAS,EAAE2M,SAAS,EAAEC,SAAS,EAAEC,cAAc;gCAZ1EL;QAajB,IAAI,OAAO3Z,YAAY,eAAeA,YAAY,MAAM;YACtDA,UAAUoN,WAAW,SAASA,WAAW,MAAMD,YAAY,CAAC,SAASA,YAAY,CAAC;QACpF;QACA,IAAInN,SAAS;YACX8Z,YAAY;QACd,OAAO,IAAI,OAAOA,cAAc,eAAeA,cAAc,MAAM;YACjEA,YAAY,CAACxX,KAAKgP,KAAK,CAACnE,YAAY;QACtC;QACA,IAAI,CAAC8M,IAAI,GAAGL,QAAQ;QACpB,IAAI,CAACM,UAAU,GAAGL;QAClB,IAAI,CAAChD,MAAM,GAAG,CAAC,CAAC7W;QAChB,IAAI,CAACiP,QAAQ,GAAG7B;QAChB,IAAI,CAAC4B,SAAS,GAAG7B;QACjB,IAAI,CAACuC,SAAS,GAAGoK,aAAa;QAC9B,IAAI,CAAChL,SAAS,GAAGiL,aAAa;QAC9B,IAAI,CAACpJ,cAAc,GAAGqJ,kBAAkBL,UAAUQ,UAAU,CAAC,IAAI;;;;YAE5DC,KAAAA;mBAAP,SAAOA,MAAMhP,QAAQ;gBACnB,OAAO,IAAIuO,UACTvO,SAAS6O,IAAI,EACb7O,SAAS8O,UAAU,EACnB9O,SAASyL,MAAM,EACfzL,SAAS6D,QAAQ,EACjB7D,SAAS4D,SAAS,EAClB5D,SAASsE,SAAS,EAClBtE,SAAS0D,SAAS,EAClB1D,SAASuF,cAAc,IAAI;YAE/B;;;YACOwJ,KAAAA;mBAAP,SAAOA,WAAW/O,QAAQ;gBACxB,IAAIA,SAASuF,cAAc,EAAE;oBAC3B,OAAOvF,SAASuF,cAAc;gBAChC,OAAO,IAAI,CAACvF,SAASyL,MAAM,EAAE;oBAC3B,OAAO;gBACT,OAAO;oBACL,IAAMwD,UAAU;wBACd;4BAAEC,OAAO;gCAAC;gCAAa;gCAAU;gCAAU;gCAAS;gCAAS;gCAAgB;gCAA8C;gCAA+C;6BAAwC;4BAAEtJ,KAAK;wBAAG;wBAC5N;4BAAEsJ,OAAO;gCAAC;gCAAS;gCAAU;gCAAe;gCAAa;gCAA4B;6BAAwC;4BAAEtJ,KAAK;wBAAG;qBACxI,EAAEuJ,QAAQnP,SAAS6O,IAAI,CAACO,WAAW,IAAIC,OAAOJ,QAAQK,IAAI,CAAC,SAACC;wBAC3D,OAAOA,GAAGL,KAAK,CAACI,IAAI,CAAC,SAACE;4BACpB,OAAOL,MAAMM,OAAO,CAACD,OAAO,CAAC;wBAC/B;oBACF;oBACA,OAAOH,OAAOA,KAAKzJ,GAAG,GAAG;gBAC3B;YACF;;;YAEO8J,KAAAA;mBADP,AACA,mCADmC,GACnC,SAAOA;gBACL,OAAO,IAAInB,UAAU,aAAa,8CAA8C,MAAM,OAAO,CAAC,OAAO,GAAG,KAAK;YAC/G;;;YAEOoB,KAAAA;mBADP,AACA,oCADoC,GACpC,SAAOA;gBACL,OAAO,IAAIpB,UAAU,eAAe,KAAK,GAAG,OAAO,MAAM,OAAO,CAAC,GAAG,GAAG;YACzE;;;;;AAGF,mBAAmB;AACnB,SAASqB,QAAQ,QAAQ,gBAAgB;AAEzC,qBAAqB;AACrB,IAAIC,oBAAoB;IAAC;QAAErB,MAAM;QAAUpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAepY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAGC,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;QAAOC,IAAI;IAAG;IAAG;QAAE3B,MAAM;QAAapY,KAAK;QAA8C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAA6B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAA8C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;QAAOC,IAAI;IAAG;IAAG;QAAE3B,MAAM;QAAepY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAOpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBpY,KAAK;QAAiE0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAOpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAGC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;QAAOC,IAAI;IAAG;IAAG;QAAE3B,MAAM;QAASpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAA8C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAepY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBpY,KAAK;QAA6E0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;QAAOC,IAAI;IAAG;IAAG;QAAE3B,MAAM;QAAiBpY,KAAK;QAA2D0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAapY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBpY,KAAK;QAAiE0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBpY,KAAK;QAAqD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBpY,KAAK;QAAiE0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAA+C0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUpY,KAAK;QAAsB0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAAyC0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;QAAOC,IAAI;IAAG;IAAG;QAAE3B,MAAM;QAAWpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAwC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASpY,KAAK;QAA4B0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAkC0Z,IAAI;QAAMC,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcpY,KAAK;QAAoD0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWpY,KAAK;QAAyE0Z,IAAI;QAAMC,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAIC,IAAI;QAAIC,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGC,IAAI;QAAMC,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGC,IAAI;QAAIC,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGC,IAAI;QAAKC,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK,CAAC;QAAIC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAGC,KAAK;IAAE;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK,CAAC;QAAIC,KAAK;IAAE;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAIC,KAAK;IAAE;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAOuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAMC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGC,IAAI;QAAMC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAOuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGC,IAAI;QAAIC,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGC,IAAI;QAAMC,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGC,IAAI;QAAIC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGC,IAAI;QAAGC,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI,CAAC;QAAGC,IAAI;QAAGC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGC,IAAI;QAAGC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGC,IAAI;QAAKC,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGC,IAAI;QAAGC,KAAK;QAAIC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGC,IAAI;QAAKC,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAIE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAOuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAOuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAIE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA8BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAA4BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAOuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAE;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAE;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAG;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAIC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA4BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAGC,KAAK;IAAE;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAIE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAIE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAE;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAKC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAKC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAI;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAmCuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAA8BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAIE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAIE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAIC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAKC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAIC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAG;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA4BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA8BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAGC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAIC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAA4BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAKC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAKC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAIE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAKC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAIE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI,CAAC;QAAGE,KAAK,CAAC;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAIE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiCuB,IAAI;QAAIE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK,CAAC;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAqCuB,IAAI,CAAC;QAAGE,KAAK;QAAMC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI,CAAC;QAAIE,KAAK,CAAC;QAAMC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAIE,KAAK,CAAC;QAAMC,KAAK,CAAC;IAAO;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAkCuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgCuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAASuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAUuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAE;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoCuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAeuB,IAAI;QAAGE,KAAK;QAAMC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoCuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAyBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAI;IAAG;QAAE1B,MAAM;QAAwBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAkBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmCuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA2BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAIC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA0BuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAsBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAmBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAqBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAoBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAgBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAA6BuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAWuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAQuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAcuB,IAAI;QAAGE,KAAK;QAAMC,KAAK,CAAC;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAauB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAuBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAM;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAiBuB,IAAI,CAAC;QAAGE,KAAK;QAAOC,KAAK;IAAO;IAAG;QAAE1B,MAAM;QAAYuB,IAAI;QAAGE,KAAK;QAAOC,KAAK,CAAC;IAAK;CAAE;AAE915E,mBAAmB;AACnB,IAAIE,YAAYP,kBAAkB9Z,GAAG,CAAC,SAACsa;WAAM,IAAI/B,SAAS+B,EAAE7B,IAAI,EAAE6B,EAAEja,GAAG,EAAE,CAAC,CAACia,EAAEP,EAAE,EAAEO,EAAEJ,GAAG,EAAEI,EAAEH,GAAG,EAAEG,EAAEN,EAAE,EAAEM,EAAEL,EAAE,IAAI,GAAGK,EAAEF,EAAE;;AACpHC,UAAUE,IAAI,CAAC,SAASC,CAAC,EAAEC,CAAC;IAC1B,OAAOD,EAAE1B,IAAI,GAAG2B,EAAE3B,IAAI,GAAG,IAAI2B,EAAE3B,IAAI,GAAG0B,EAAE1B,IAAI,GAAG,CAAC,IAAI;AACtD;AACA,IAAI4B,YAAY,EAAE;AAClB,IAAK,IAAI5a,IAAI,GAAGA,IAAIua,UAAUza,MAAM,GAAG,GAAGE,IAAK;IAC7C,IAAMwa,IAAID,SAAS,CAACva,EAAE;IACtB4a,UAAUC,IAAI,CAAC;QACblC,MAAM6B,EAAExB,IAAI,CAAC8B,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAACvB,WAAW;QACzC7Z,OAAOM;IACT;IACA,IAAI,CAAC,CAACwa,EAAEvB,UAAU,EAAE;QAClB2B,UAAUC,IAAI,CAAC;YACblC,MAAM6B,EAAEvB,UAAU;YAClBvZ,OAAOM;QACT;IACF;AACF;AACA,SAAS+a,qBAAqBC,MAAM,EAAEC,MAAM;IAC1C,IAAID,OAAO7O,QAAQ,IAAI8O,OAAO9O,QAAQ,IAAI6O,OAAO9O,SAAS,IAAI+O,OAAO/O,SAAS,EAAE;QAC9E,OAAO;IACT,OAAO;QACL,IAAIgP,UAAU7Z,KAAK8Z,EAAE,GAAGH,OAAO7O,QAAQ,GAAG;QAC1C,IAAIiP,UAAU/Z,KAAK8Z,EAAE,GAAGF,OAAO9O,QAAQ,GAAG;QAC1C,IAAIkP,QAAQL,OAAO9O,SAAS,GAAG+O,OAAO/O,SAAS;QAC/C,IAAIoP,WAAWja,KAAK8Z,EAAE,GAAGE,QAAQ;QACjC,IAAIE,OAAOla,KAAK4M,GAAG,CAACiN,WAAW7Z,KAAK4M,GAAG,CAACmN,WAAW/Z,KAAKyM,GAAG,CAACoN,WAAW7Z,KAAKyM,GAAG,CAACsN,WAAW/Z,KAAKyM,GAAG,CAACwN;QACpG,IAAIC,OAAO,GAAG;YACZA,OAAO;QACT;QACAA,OAAOla,KAAKuM,IAAI,CAAC2N;QACjBA,OAAOA,OAAO,MAAMla,KAAK8Z,EAAE;QAC3BI,OAAOA,OAAO,KAAK;QACnBA,OAAOA,OAAO;QACd,OAAOA;IACT;AACF;AACA,SAASC,qBAAqBC,KAAK;IACjC,IAAIC,OAAO;QAAEH,MAAM;IAAI;QAClB,kCAAA,2BAAA;;QAAL,QAAK,YAAgBhB,8BAAhB,SAAA,6BAAA,QAAA,yBAAA,iCAA2B;YAA3B,IAAIpQ,WAAJ;YACH,IAAMoR,OAAOR,qBAAqBU,OAAO;gBAAEtP,UAAUhC,SAAS6D,QAAQ;gBAAE9B,WAAW/B,SAAS4D,SAAS;YAAC;YACtG,IAAIwN,OAAOG,KAAKH,IAAI,EAAE;gBACpBG,OAAO;oBAAEH,MAAAA;oBAAMpR,UAAAA;gBAAS;YAC1B;QACF;;QALK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAML,OAAOuR,KAAKvR,QAAQ;AACtB;AACA,SAASwR,iBAAiBC,GAAG;IAC3B,IAAIF,OAAO;QAAEH,MAAM;IAAI;QAClB,kCAAA,2BAAA;;QAAL,QAAK,YAAgBX,8BAAhB,SAAA,6BAAA,QAAA,yBAAA,iCAA2B;YAA3B,IAAIzQ,WAAJ;YACH,IAAMoR,OAAOxB,SAAS6B,IAAIrC,WAAW,IAAIpP,SAASwO,IAAI;YACtD,IAAI4C,OAAOG,KAAKH,IAAI,EAAE;gBACpBG,OAAO;oBAAEH,MAAAA;oBAAMpR,UAAAA;gBAAS;YAC1B;QACF;;QALK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAML,OAAOuR,KAAKvR,QAAQ,GAAGoQ,SAAS,CAACmB,KAAKvR,QAAQ,CAACzK,KAAK,CAAC,GAAG,KAAK;AAC/D;AACA,SAASmc,aAAaC,iBAAiB;IACrC,IAAI,OAAOA,sBAAsB,UAAU;QACzC,IAAMC,iBAAiBxB,UAAUd,IAAI,CAAC,SAACe;mBAAMA,EAAExB,IAAI,CAACO,WAAW,OAAOuC,kBAAkBvC,WAAW,MAAMiB,EAAEvB,UAAU,KAAK6C;;QAC1H,IAAI,CAAC,CAACC,gBAAgB;YACpB,OAAOA;QACT;QACA,IAAMC,oBAAoBpB,UAAUnB,IAAI,CAAC,SAACe;mBAAMA,EAAE7B,IAAI,KAAKmD,kBAAkBvC,WAAW;;QACxF,IAAI,CAAC,CAACyC,mBAAmB;YACvB,OAAOzB,SAAS,CAACyB,kBAAkBtc,KAAK,CAAC;QAC3C;QACA,OAAOic,iBAAiBG,kBAAkBvC,WAAW;IACvD,OAAO;QACL,IAAM0C,uBAAuB1B,UAAUd,IAAI,CAAC,SAACe;mBAAMA,EAAExM,QAAQ,KAAK8N,kBAAkB3P,QAAQ,IAAIqO,EAAEzM,SAAS,KAAK+N,kBAAkB5P,SAAS;;QAC3I,IAAI,CAAC,CAAC+P,sBAAsB;YAC1B,OAAOA;QACT;QACA,OAAOT,qBAAqBM;IAC9B;AACF;AAEA,mBAAmB;AACnB,IAAII,cAAcpL,OAAOC,MAAM,CAAC;IAC9BoL,cAAc;IACdC,QAAQ;IACRC,QAAQ;IACRC,eAAe;IACfC,iBAAiB;IACjBC,YAAY;IACZC,SAAS;IACTC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,YAAY;IACZC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,iBAAiB;IACjBC,gBAAgB;IAChBC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,oBAAoB;IACpBC,uBAAuB;IACvBxE,gBAAgB;IAChByE,sBAAsB;IACtBC,oBAAoB;AACtB;AACA,IAAIC,YAAY;IACd;QACEC,IAAIzB,YAAYC,YAAY;QAC5ByB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYE,MAAM;QACtBwB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYG,MAAM;QACtBuB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYI,aAAa;QAC7BsB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYK,eAAe;QAC/BqB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYM,UAAU;QAC1BoB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYO,OAAO;QACvBmB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYQ,OAAO;QACvBkB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYS,MAAM;QACtBiB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYU,MAAM;QACtBgB,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYW,UAAU;QAC1Be,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYY,MAAM;QACtBc,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYa,MAAM;QACtBa,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYc,IAAI;QACpBY,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYe,eAAe;QAC/BW,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYgB,cAAc;QAC9BU,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYiB,OAAO;QACvBS,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYkB,OAAO;QACvBQ,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYmB,OAAO;QACvBO,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYoB,kBAAkB;QAClCM,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYqB,qBAAqB;QACrCK,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYnD,cAAc;QAC9B6E,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYsB,oBAAoB;QACpCI,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;IACA;QACEod,IAAIzB,YAAYuB,kBAAkB;QAClCG,MAAM;QACNxd,KAAK;QACLG,KAAK;IACP;CACD;AACD,SAASsd,YAAYC,QAAQ;IAC3B,OAAOJ,UAAUjE,IAAI,CAAC,SAACsE;eAAOA,GAAGJ,EAAE,KAAKG,YAAYC,GAAG3d,GAAG,KAAK0d,YAAYC,GAAGxd,GAAG,KAAKud,YAAYC,GAAGH,IAAI,KAAKE;;AAChH;AAEA,oBAAoB;AACpB,IAAIE,sBAAQ;;aAAMC;gCAAAA;;;;YAMTC,KAAAA;mBALP,AAKA;;;;GADC,GACD,SAAOA,SAAS1X,KAAK,EAAE9F,IAAI;gBACzB,IAAIyd,aAAaC,cAAcC,cAAcpY,OAAOqY,WAAW9X,QAAQ;gBACvE,IAAI8X,WAAW,GAAG;oBAChBA,YAAYxd,MAAM8G,WAAW,CAAClH;gBAChC;gBACAyd,cAAc7a,MAAMC,KAAK,CAAC+a,WAAW,MAAMhb,MAAMC,KAAK,CAAC,AAAC7C,CAAAA,OAAO,CAAA,IAAK,MAAM,KAAM,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,EAAC,IAAK,AAAC,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,KAAK,IAAI,CAAA,IAAK;gBAC/H0d,eAAe,MAAM,MAAOD,CAAAA,cAAc,IAAG;gBAC7CE,eAAe,IAAI,KAAKF,cAAc,MAAM7a,MAAMC,KAAK,CAAC4a,cAAc,QAAQ7a,MAAMC,KAAK,CAAC6a,eAAe,QAAQ;gBACjHnY,QAAQ3C,MAAMC,KAAK,CAAC6a,eAAe,OAAO,OAAQC,CAAAA,eAAe,EAAC;gBAClE,OAAO;oBACLvd,OAAO,IAAIA,MAAM,IAAI,KAAKwC,MAAMC,KAAK,CAAC4a,eAAe7a,MAAMC,KAAK,CAAC8a,eAAe;oBAChFnO,MAAM;wBAAExB,MAAMpL,MAAMC,KAAK,CAAC8a,gBAAgB;wBAAIrP,QAAQ1L,MAAMC,KAAK,CAAC0C,QAAQ,OAAO;wBAAKuK,QAAQ;oBAAE;oBAChG+N,UAAUtY,QAAQ;gBACpB;YACF;;;YAQOuY,KAAAA;mBAPP,AAOA;;;;;;GADC,GACD,SAAOA,UAAU9d,IAAI,EAAE8F,KAAK;gBAC1B,IAAMiY,QAAQR,OAAOC,QAAQ,CAAC1X,OAAO9F,OAAOge,SAASD,MAAM3d,KAAK,CAAC0J,gBAAgB,CAACiO,SAASoB,YAAY,KAAK8E,UAAUrb,MAAMiR,WAAW,CAACmK,OAAO5S,MAAM,EAAE2S,MAAMvO,IAAI,GAAGxK,MAAM+Y,MAAM3d,KAAK,CAAC+B,YAAY;gBAClM,IAAI+b,MAAM;gBACV,IAAI,CAACF,OAAO5S,MAAM,IAAIiD,MAAM2P,OAAO5S,MAAM,CAAC4C,IAAI,GAAG;oBAC/CkQ,OAAO5V,aAAa,CAACtD,IAAI;gBAC3B,OAAO,IAAIA,QAAQ,KAAKiZ,SAAS;oBAC/BC,OAAO;gBACT,OAAO,IAAIlZ,QAAQ,KAAKiZ,SAAS;oBAC/BC,OAAO;gBACT,OAAO;oBACLA,OAAO5V,aAAa,CAACtD,IAAI,GAAIiZ,CAAAA,UAAU,WAAW,EAAC;gBACrD;gBACAC,OAAO,MAAMtb,MAAM6R,aAAa,CAACsJ,MAAMvO,IAAI,IAAI,UAAUuO,MAAMF,QAAQ,CAACte,QAAQ,KAAK;gBACrF,OAAO2e;YACT;;;YAQOC,KAAAA;mBAPP,AAOA;;;;;;GADC,GACD,SAAOA,aAAane,IAAI,EAAE8F,KAAK;gBAC7B,IAAMiY,QAAQR,OAAOC,QAAQ,CAAC1X,OAAO9F,OAAOge,SAASD,MAAM3d,KAAK,CAAC0J,gBAAgB,CAACiO,SAASoB,YAAY,KAAK8E,UAAUrb,MAAMiR,WAAW,CAACmK,OAAO5S,MAAM,EAAE2S,MAAMvO,IAAI,KAAK5M,MAAMiR,WAAW,CAACkK,MAAMvO,IAAI,EAAEwO,OAAO7S,OAAO,GAAGnG,MAAM+Y,MAAM3d,KAAK,CAAC+B,YAAY;gBACnP,IAAI+b,MAAM;gBACV,IAAIlZ,QAAQ,GAAG;oBACbkZ,OAAOD,UAAU,uDAAuD;gBAC1E,OAAO,IAAIjZ,QAAQ,GAAG;oBACpBkZ,OAAOD,UAAU,2CAA2C;gBAC9D,OAAO;oBACLC,OAAO,AAACD,CAAAA,UAAU,uBAAuB,oBAAmB,IAAKpV,aAAa,CAAC7D,IAAI,CAACoZ,OAAO,CAAC,sBAAsB;gBACpH;gBACAF,OAAO,MAAMtb,MAAM6R,aAAa,CAACsJ,MAAMvO,IAAI,EAAE,GAAG,QAAQ,MAAMuO,MAAMF,QAAQ,CAACte,QAAQ,KAAK;gBAC1F,OAAO2e;YACT;;;;;AAGF,0BAA0B;AAC1B,IAAIG,iBAAiBjO,OAAOC,MAAM,CAAC;IACjCC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,WAAW;IACXC,UAAU;IACVC,QAAQ;IACRC,SAAS;IACT0N,QAAQ;AACV;AACA,IAAIC,6BAAe;;aAAMA;gCAAAA;;;;YAShBC,KAAAA;mBARP,AAQA;;;;;;;GADC,GACD,SAAOA,aAAaC,SAAS,EAAE1e,IAAI,EAAEwD,KAAK,EAAEkG,QAAQ;gBAClD,IAAMiV,MAAMH,aAAaI,cAAc,CAAC5F,IAAI,CAC1C,SAAC6F;2BAAMhc,MAAMiT,WAAW,CAAC+I,EAAE7e,IAAI,EAAEA,SAAS6e,EAAEnV,QAAQ,CAAC6O,IAAI,KAAK7O,SAAS6O,IAAI;oBAC1EuG,YAAY,EAAE,EAAEC,WAAWP,aAAaQ,YAAY,CAAChf,MAAMwD,OAAOkG;gBACrE,IAAI0B,SAASC,QAAQ4T,gBAAgBC,eAAeC,cAAcC,aAAaC,SAASC,YAAYC;gBACpG,IAAIZ,KAAK;oBACPvT,UAAUuT,IAAIvT,OAAO;oBACrBC,SAASsT,IAAItT,MAAM;oBACnB4T,iBAAiBN,IAAIM,cAAc;oBACnCC,gBAAgBP,IAAIO,aAAa;oBACjCC,eAAeR,IAAIQ,YAAY;oBAC/BC,cAAcT,IAAIS,WAAW;oBAC7BC,UAAUV,IAAIU,OAAO;oBACrBC,aAAaX,IAAIW,UAAU;oBAC3BC,gBAAgBZ,IAAIY,aAAa;gBACnC,OAAO;oBACL,IAAMC,WAAW5V,OAAOK,WAAW,CAACjK,MAAM0J,UAAU;oBACpD0B,UAAUoU,SAASpU,OAAO;oBAC1BC,SAASmU,SAASnU,MAAM;oBACxB4T,iBAAiBrV,OAAOK,WAAW,CAACjK,MAAM0J,UAAU;oBACpDwV,gBAAgBD,eAAe7T,OAAO;oBACtC+T,eAAeF,eAAe5T,MAAM;oBACpC+T,cAAcvc,MAAM+L,UAAU,CAACsQ,eAAe,CAAC;oBAC/CG,UAAUH,iBAAiBC,gBAAgBvV,OAAOsE,sBAAsB,CAAC+Q;oBACzEK,aAAaJ,iBAAiBC,gBAAgBvV,OAAO+E,yBAAyB,CAACsQ;oBAC/EM,gBAAgBL,iBAAiBC,gBAAgBvV,OAAOiF,gBAAgB,CAACoQ,gBAAgB;oBACzFT,aAAaI,cAAc,CAACxE,IAAI,CAAC;wBAC/Bpa,MAAAA;wBACA0J,UAAAA;wBACA0B,SAAAA;wBACAC,QAAAA;wBACA4T,gBAAAA;wBACAC,eAAAA;wBACAC,cAAAA;wBACAC,aAAAA;wBACAC,SAAAA;wBACAC,YAAAA;wBACAC,eAAAA;oBACF;gBACF;oBACK,kCAAA,2BAAA;;oBAAL,QAAK,YAAgBb,8BAAhB,SAAA,6BAAA,QAAA,yBAAA,iCAA2B;wBAA3B,IAAIe,WAAJ;wBACH,IAAMrV,SAASqV,SAASrV,MAAM,IAAK,CAAA,CAACqV,SAASC,cAAc,IAAID,SAASC,cAAc,GAAGX,QAAO,IAAKU,SAASrV,MAAM,GAAG;wBACvH,OAAQqV,SAASvC,EAAE;4BACjB,KAAKzB,YAAYC,YAAY;gCAC3BoD,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACyQ,SAAS,MAAMjV;gCACxC;gCACA;4BACF,KAAKqR,YAAYE,MAAM;gCACrBmD,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACwQ,aAAahV,UAAUgV;gCACzD;gCACA;4BACF,KAAK3D,YAAYG,MAAM;gCACrBkD,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACsQ,eAAe,CAAC,KAAK9U;gCAC9C;gCACA;4BACF,KAAKqR,YAAYI,aAAa;gCAC5BiD,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACsQ,eAAe,CAAC,KAAK9U;gCAC9C;gCACA;4BACF,KAAKqR,YAAYK,eAAe;gCAC9BgD,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACxD,SAAShB,UAAUgB;gCACrD;gCACA;4BACF,KAAKqQ,YAAYM,UAAU;gCACzB+C,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACsQ,eAAe9U,UAAU8U;gCAC3D;gCACA;4BACF,KAAKzD,YAAYO,OAAO;gCACtB,IAAIuD,eACFT,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBwQ,aACAxe,KAAKgK,KAAK,CAAC2U,gBAAgB,KAAKnV;gCAEpC;gCACF;4BACF,KAAKqR,YAAYQ,OAAO;gCACtB,IAAIqD,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBsQ,eACAte,KAAKgK,KAAK,CAAC0U,aAAa,KAAKlV;gCAEjC;gCACF;4BACF,KAAKqR,YAAYS,MAAM;gCACrB,IAAIqD,eACFT,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBwQ,aACAxe,KAAKgK,KAAK,CAAC2U,gBAAgB,KAAKnV;gCAEpC;gCACF;4BACF,KAAKqR,YAAYU,MAAM;gCACrB,IAAImD,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBsQ,eACAte,KAAKgK,KAAK,CAAC0U,aAAa,KAAKlV;gCAEjC;gCACF;4BACF,KAAKqR,YAAYW,UAAU;gCACzB0C,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACyQ,SAASjV,UAAUiV;gCACrD;gCACA;4BACF,KAAK5D,YAAYY,MAAM;gCACrB,IAAIiD,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpByQ,SACAC,aAAa,MAAMlV;gCAEvB;gCACF;4BACF,KAAKqR,YAAYa,MAAM;gCACrB,IAAIgD,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBsQ,eACAI,aAAa,MAAMlV;gCAEvB;gCACF;4BACF,KAAKqR,YAAYc,IAAI;gCACnB,IAAI+C,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBsQ,eACAI,aAAa,QAAQlV;gCAEzB;gCACF;4BACF,KAAKqR,YAAYe,eAAe;gCAC9BsC,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACuQ,cAAc/U,UAAU+U;gCAC1D;gCACA;4BACF,KAAK1D,YAAYgB,cAAc;gCAC7BqC,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAMrF,SAASvH,MAAM+L,UAAU,CAACvD,QAAQjB,UAAUiB;gCACpD;gCACA;4BACF,KAAKoQ,YAAYiB,OAAO;gCACtBoC,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACvD,QAAQ,KAAKjB;gCACtC;gCACA;4BACF,KAAKqR,YAAYkB,OAAO;gCACtBmC,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACvD,QAAQ,KAAKjB;gCACtC;gCACA;4BACF,KAAKqR,YAAYmB,OAAO;gCACtBkC,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CAACvD,QAAQ,KAAKjB;gCACtC;gCACA;4BACF,KAAKqR,YAAYoB,kBAAkB;gCACjC,IAAIyC,YACFR,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBvD,QACAiU,aAAa,MAAMlV;gCAEvB;gCACF;4BACF,KAAKqR,YAAYqB,qBAAqB;gCACpC,IAAIyC,eACFT,UAAU1E,IAAI,CAAC;oCACbqF,UAAAA;oCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBvD,QACAkU,gBAAgB,MAAMnV;gCAE1B;gCACF;4BACF,KAAKqR,YAAYnD,cAAc;gCAC7B,IAAIjN,UAAU7H,MAAM+F,iBAAiB,IAAI;oCACvCuV,UAAU1E,IAAI,CAAC;wCACbqF,UAAAA;wCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBhF,OAAOoF,2BAA2B,CAChC3D,QACA3B,WAEFU;oCAEJ;gCACF;gCACA;4BACF,KAAKqR,YAAYsB,oBAAoB;gCACnC,IAAIwC,iBAAiB/b,MAAMjF,KAAK,KAAK,KAAKiF,MAAMhF,GAAG,KAAK,MAAMqE,MAAMiR,WAAW,CAAC1I,SAASvI,MAAM4Q,YAAY,CAACzT,QAAQ;oCAClH8e,UAAU1E,IAAI,CAAC;wCACbqF,UAAAA;wCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBxD,SACA,CAAC,KAAKhB,SAASmV,gBAAgB;oCAEnC;gCACF;gCACA;4BACF,KAAK9D,YAAYuB,kBAAkB;gCACjC,IAAIuC,iBAAiB/b,MAAMjF,KAAK,KAAK,KAAMiF,CAAAA,MAAMhF,GAAG,KAAK,MAAMgF,MAAMsD,SAAS,KAAKsJ,WAAWQ,MAAM,IAAIpN,MAAMhF,GAAG,KAAK,EAAC,KAAMqE,MAAMiR,WAAW,CAAC1I,SAASvI,MAAM4Q,YAAY,CAACzT,QAAQ;oCACjL8e,UAAU1E,IAAI,CAAC;wCACbqF,UAAAA;wCACAhQ,MAAM5M,MAAM+L,UAAU,CACpBxD,SACA,CAAC,KAAKhB,SAASmV,gBAAgB;oCAEnC;gCACF;gCACA;wBACJ;oBACF;;oBA1MK;oBAAA;;;6BAAA,6BAAA;4BAAA;;;4BAAA;kCAAA;;;;gBA2ML,OAAOT;YACT;;;YAOOE,KAAAA;mBANP,AAMA;;;;;GADC,GACD,SAAOA,aAAahf,IAAI,EAAEwD,KAAK,EAAEkG,QAAQ;gBACvC,IAAIlG,MAAM4F,QAAQ,CAAC,CAAC,CAACM,SAASyL,MAAM,GAAG;oBACrC,OAAOmJ,eAAeC,MAAM;gBAC9B;gBACA,OAAQve,KAAKsS,MAAM;oBACjB,KAAKlC,WAAWG,MAAM;wBACpB,OAAO+N,eAAe/N,MAAM;oBAC9B,KAAKH,WAAWI,MAAM;wBACpB,OAAO8N,eAAe9N,MAAM;oBAC9B,KAAKJ,WAAWK,OAAO;wBACrB,OAAO6N,eAAe7N,OAAO;oBAC/B,KAAKL,WAAWM,SAAS;wBACvB,OAAO4N,eAAe5N,SAAS;oBACjC,KAAKN,WAAWO,QAAQ;wBACtB,OAAO2N,eAAe3N,QAAQ;oBAChC,KAAKP,WAAWQ,MAAM;wBACpB,OAAO0N,eAAe1N,MAAM;oBAC9B,KAAKR,WAAWS,OAAO;wBACrB,OAAOyN,eAAezN,OAAO;gBACjC;gBACA,OAAO;YACT;;;YAOO8O,KAAAA;mBANP,AAMA;;;;;GADC,GACD,SAAOA,mBAAmB3f,IAAI,EAAE0J,QAAQ;gBACtC,IAAyB7G,mBAAAA,MAAM+T,SAAS,CAAC5W,OAAjC0T,QAAiB7Q,iBAAjB6Q,OAAOlQ,QAAUX,iBAAVW;gBACf,IAAMya,SAASO,aAAaC,YAAY,CACtC;oBACErB,YAAY3B,YAAYW,UAAU;oBAClC,eAAe;oBACfgB,YAAY3B,YAAYE,MAAM;oBAC9B,QAAQ;oBACRyB,YAAY3B,YAAYgB,cAAc;oBACtC,iBAAiB;oBACjBW,YAAY3B,YAAYnD,cAAc;iBAEvC,EACD5E,OACAlQ,OACAkG;gBAEF,OAAO;oBACLkW,cAAc3B,MAAM,CAAC,EAAE,CAACxO,IAAI;oBAC5BoQ,gBAAgBhd,MAAM+L,UAAU,CAACqP,MAAM,CAAC,EAAE,CAACxO,IAAI,EAAE;oBACjDqQ,MAAM7B,MAAM,CAAC,EAAE,CAACxO,IAAI;oBACpB+G,OAAOyH,MAAM,CAAC,EAAE,CAACxO,IAAI;gBACvB;YACF;;;YAOOsQ,KAAAA;mBANP,AAMA;;;;;EADA,GACA,SAAOA,aAAa/f,IAAI,EAAE0J,QAAQ;gBAChC,IAAyB7G,mBAAAA,MAAM+T,SAAS,CAAC5W,OAAjC0T,QAAiB7Q,iBAAjB6Q,OAAOlQ,QAAUX,iBAAVW;gBACf,OAAOgb,aAAaC,YAAY,CAACxB,WAAWvJ,OAAOlQ,OAAOkG;YAC5D;;;;;AAEF8U,aAAaI,cAAc,GAAG,EAAE;AAChC,IAAIoB,cAAcxB;AAElB,uBAAuB;AACvB,IAAIyB,WAAW,EAAE;AACjB,IAAIC,gBAAgB,EAAE;AACtB,IAAIC,cAAc;AAClB,IAAIC;AACJ,IAAIC,sBAAsB;AAC1B,IAAIlgB,SAAS;AACb,SAASmgB,iBAAiBtgB,IAAI,EAAEyP,IAAI,EAAE/F,QAAQ,EAAE6W,OAAO,EAAEC,YAAY,EAAEC,WAAW;IAChF,IAAyB5d,mBAAAA,MAAM+T,SAAS,CAAC5W,OAAjC0T,QAAiB7Q,iBAAjB6Q,OAAOlQ,QAAUX,iBAAVW;IACfyc,SAAS5gB,MAAM,GAAG;IAClB6gB,cAAc7gB,MAAM,GAAG;IACvB,IAAM0G,QAAQvC,MAAMjF,KAAK,EAAEyH,MAAMxC,MAAMhF,GAAG,EAAEyG,MAAMzB,MAAMsD,SAAS,EAAkDkZ,kCAAAA,YAAYL,kBAAkB,CAAC3f,MAAM0J,WAAnFkW,eAA8CI,gCAA9CJ,cAAcC,iBAAgCG,gCAAhCH,gBAAgBC,OAAgBE,gCAAhBF,MAAMtJ,QAAUwJ,gCAAVxJ,OAA0DkK,sBAAsB7d,MAAMiR,WAAW,CAAC8L,cAAcnQ,OAAOkR,wBAAwB,OAAOd,mBAAmB,eAAgBhd,CAAAA,MAAMiR,WAAW,CAAC+L,gBAAgBpQ,SAASoQ,eAAe5R,IAAI,GAAG,MAAMwB,KAAKxB,IAAI,GAAG,EAAC,GAAI2S,cAAc/d,MAAMiR,WAAW,CAACgM,MAAMrQ,OAAOoR,eAAehe,MAAMiR,WAAW,CAAC0C,OAAO/G,OAAOqR,YAAYF,eAAe,CAACC,cAAcE,cAAc,CAACD,WAAWE,qBAAqB,CAACH,gBAAgBhe,MAAMiR,WAAW,CAACjR,MAAM+L,UAAU,CAAC4H,OAAO,KAAK/G,OAAOwR,YAAYH,aAAa,CAACJ,qBAAqBQ,cAAcJ,aAAaJ,uBAAuBM,oBAAoB5X,WAAW5F,MAAM2F,oBAAoB,CAACO,SAASyL,MAAM,GAAGnQ,aAAa3E,MAAMW,SAAS,CAACwC,MAAM1E,IAAI,GAAGqiB,YAAYD,eAAgBjc,CAAAA,QAAQmL,WAAWQ,MAAM,IAAI5K,QAAQ,EAAC;IAC/4Boa,UAAU;QACR5c,OAAAA;QACAkQ,OAAAA;QACA3N,OAAAA;QACAC,KAAAA;QACAf,KAAAA;QACAyb,qBAAAA;QACAC,uBAAAA;QACAC,aAAAA;QACAC,cAAAA;QACAC,WAAAA;QACAC,aAAAA;QACAE,WAAAA;QACAC,aAAAA;QACA9X,UAAAA;QACApE,YAAAA;QACAmc,WAAAA;QACAzX,UAAAA;IACF;IACAyW,cAAcI;IACdpgB,SAASuJ,SAASyL,MAAM;IACxBkL,sBAAsB,OAAOG,iBAAiB,cAAcrgB,SAAS,CAAC,CAACqgB;IACvE,IAAIvb,QAAQmL,WAAWS,OAAO,EAAE;QAC9BuQ;IACF,OAAO;QACLC;IACF;IACAC;IACA,IAAIlB,QAAQe,SAAS,IAAIL,aAAa,CAAC1X,UAAU;QAC/C,IAAInE,QAAQmL,WAAWS,OAAO,EAAE;YAC9B0Q,gBAAgB,cAAc;QAChC,OAAO,IAAIL,aAAa;YACtBK,gBAAgB,iBAAiB;QACnC,OAAO,IAAI,CAAExb,CAAAA,UAAU+K,kBAAkBC,MAAM,IAAI/K,MAAM,MAAMD,UAAU+K,kBAAkBE,IAAI,IAAIjL,UAAU+K,kBAAkBG,KAAK,IAAIjL,MAAM,CAAA,GAAI;YAChJub,gBAAgB,oBAAoB;QACtC;IACF;IACA,IAAId,gBAAgB,OAAO;QACzBe,WAAWhe,MAAM6G,UAAU,IAAI7G,MAAM8G,aAAa;IACpD;IACA,IAAI0W,sBAAuBjb,CAAAA,UAAU+K,kBAAkBC,MAAM,IAAI/K,MAAM,MAAMD,UAAU+K,kBAAkBE,IAAI,IAAIjL,UAAU+K,kBAAkBG,KAAK,IAAIjL,MAAM,CAAA,GAAI;QAC9J,IAAMyb,eAAeje,MAAMwF,YAAY;QACvC,IAAIyY,eAAe,GAAG;YACpBF,gBAAgB1e,MAAMuR,aAAa,CAACqN,cAAc;QACpD;IACF;IACA,OAAO;QACLxB,UAAW,qBAAG,IAAIyB,IAAIzB;QACtBC,eAAgB,qBAAG,IAAIwB,IAAIxB;IAC7B;AACF;AACA,SAASkB;IACP,IAAQrb,QAA+Eqa,QAA/Era,OAAOC,MAAwEoa,QAAxEpa,KAAKhB,aAAmEob,QAAnEpb,YAAYic,YAAuDb,QAAvDa,WAAW7X,WAA4CgX,QAA5ChX,UAAU5F,QAAkC4c,QAAlC5c,OAAOsd,YAA2BV,QAA3BU,WAAWI,cAAgBd,QAAhBc;IACvE,IAAInb,UAAU+K,kBAAkBC,MAAM,IAAI/K,MAAM,KAAKA,MAAM,IAAI;QAC7Dwb,WAAW,mBAAmB;IAChC,OAAO,IAAIzb,UAAU+K,kBAAkBO,OAAO,IAAIrL,MAAM,KAAKA,MAAM,IAAI;QACrEwb,WAAW,iBAAiB;IAC9B,OAAO,IAAIzb,UAAU+K,kBAAkBK,EAAE,IAAInL,MAAM,KAAKA,MAAM,IAAI;QAChEwb,WAAW,kBAAkB;IAC/B,OAAO,IAAIzb,UAAU+K,kBAAkBK,EAAE,IAAInL,MAAM,MAAMA,MAAM,IAAI;QACjEwb,WAAW,mBAAmB;IAChC,OAAO,IAAIzb,UAAWf,CAAAA,aAAa8L,kBAAkBY,IAAI,GAAGZ,kBAAkBW,KAAI,AAAC,KAAKzL,MAAM,MAAMD,UAAWf,CAAAA,aAAa8L,kBAAkBa,WAAW,GAAGb,kBAAkBY,IAAG,AAAC,KAAK1L,QAAQ,GAAG;QAChMwb,WAAW,mBAAmB;IAChC,OAAO,IAAIzb,UAAWf,CAAAA,aAAa8L,kBAAkBa,WAAW,GAAGb,kBAAkBY,IAAG,AAAC,KAAK1L,MAAM,KAAKA,MAAM,IAAI;QACjHwb,WAAW,kBAAkB;IAC/B,OAAO,IAAIzb,UAAWf,CAAAA,aAAa8L,kBAAkBa,WAAW,GAAGb,kBAAkBY,IAAG,AAAC,KAAK1L,MAAM,MAAMA,MAAM,IAAI;QAClHwb,WAAW,iBAAiB;IAC9B,OAAO,IAAIzb,UAAWf,CAAAA,aAAa8L,kBAAkBa,WAAW,GAAGb,kBAAkBY,IAAG,AAAC,KAAK1L,MAAM,MAAMA,MAAM,MAAMD,UAAU+K,kBAAkBC,MAAM,IAAI/K,QAAQ,GAAG;QACrKwb,WAAW,qBAAqB;IAClC;IACA,IAAI,CAACpY,UAAU;QACb,IAAMuY,QAAQne,MAAMqG,QAAQ,CAAC1J;QAC7B,IAAIwhB,MAAMljB,MAAM,CAACY,MAAM,GAAG,KAAKsiB,MAAM9hB,WAAW,OAAO,4BAA4B;YACjF2hB,WAAW,iBAAiB;QAC9B;QACA,IAAIP,aAAaU,MAAMljB,MAAM,CAACY,MAAM,GAAG,GAAG;YACxCkiB,gBACE,AAAC,0BAA0C,OAAjBI,MAAMniB,QAAQ,KACxC,AAAC,aAAmE,OAApBmiB,MAAM9hB,WAAW;QAErE;QACA,IAAIkG,UAAU+K,kBAAkBM,KAAK,IAAIpL,MAAM,MAAMA,MAAM,IAAI;YAC7D,IAAM4b,YAAYpe,MAAMyD,SAAS,CAAC;YAClCsa,gBACE,uBAAuBhE,MAAMQ,SAAS,CAAC6D,UAAU9iB,IAAI,EAAE8iB,UAAUrjB,KAAK,GACtE,mEAAmEgf,MAAMa,YAAY,CAACwD,UAAU9iB,IAAI,EAAE8iB,UAAUrjB,KAAK;YAEvHgjB,gBAAgB,oBAAoB;YACpC,IAAIxb,UAAU+K,kBAAkBC,MAAM,IAAIhL,UAAU+K,kBAAkBE,IAAI,EAAE;gBAC1EuQ,gBAAgB,oBAAoB;YACtC;QACF;IACF;IACA,IAAIxb,UAAU+K,kBAAkBO,OAAO,IAAKrL,CAAAA,QAAQ,KAAKA,QAAQ,EAAC,GAAI;QACpEwb,WAAW,gBAAgB;QAC3BD,gBAAgB,kBAAkB;QAClC,IAAIlB,uBAAuBS,WAAW;YACpCS,gBAAgB,iBAAiB;QACnC;QACA,IAAIT,aAAa/a,UAAU+K,kBAAkBU,KAAK,IAAI,CAAEzL,CAAAA,UAAU+K,kBAAkBS,MAAM,IAAIvL,QAAQ,EAAC,GAAI;YACzGub,gBAAgB,iBAAiB;QACnC;QACAA,gBAAgB,oBAAoB;IACtC,OAAO,IAAInY,UAAU;QACnBmY,gBAAgB,oBAAoB;QACpC,IAAIlB,uBAAuBS,WAAW;YACpCS,gBAAgB;QAClB;IACF;IACA,IAAIL,eAAe,CAAEnb,CAAAA,UAAU+K,kBAAkBO,OAAO,IAAIrL,QAAQ,EAAC,GAAI;QACvE,IAAM2b,SAAQne,MAAMuD,OAAO,CAAC,GAAG8C,QAAQ,CAAC1J;QACxCohB,gBACE,mCAAmCI,OAAMljB,MAAM,CAAC,EAAE,CAACkB,GAAG,EACtD,iFAAiFgiB,OAAMljB,MAAM,CAAC,EAAE,CAACqB,GAAG;IAExG;IACA,IAAIohB,eAAgBnb,CAAAA,UAAU+K,kBAAkBC,MAAM,IAAI/K,MAAM,MAAMD,SAAS+K,kBAAkBM,KAAK,IAAI,CAAErL,CAAAA,UAAU+K,kBAAkBK,EAAE,IAAI;QAAC;QAAG;KAAE,CAAC9H,QAAQ,CAACrD,IAAG,CAAC,GAAI;QACpK,IAAMhD,SAASK,WAAWlB,SAAS,CAACqB,OAAOrD;QAC3C,IAAI6C,OAAO3D,MAAM,GAAG,GAAG;YACrBmiB,WACE,mBAAmBxe,OAAOvD,GAAG,CAAC,SAACC;uBAAM,AAAC,SAAgC,OAAxBmD,MAAM4B,cAAc,CAAC/E;eAAME,IAAI,CAAC,UAC9E,yDAAyDoD,OAAOvD,GAAG,CAAC,SAACC;uBAAM,AAAC,OAA6C,OAAxBmD,MAAM4B,cAAc,CAAC/E;eAAME,IAAI,CAAC;QAErI;IACF;AACF;AACA,SAASyhB;IACP,IACEN,cAUEX,QAVFW,aACA9b,MASEmb,QATFnb,KACAmE,WAQEgX,QARFhX,UACArD,QAOEqa,QAPFra,OACAC,MAMEoa,QANFpa,KACAib,YAKEb,QALFa,WACAzd,QAIE4c,QAJF5c,OACAkG,WAGE0W,QAHF1W,UACAoX,YAEEV,QAFFU,WACAI,cACEd,QADFc;IAEF,IAAIH,eAAe9b,QAAQmL,WAAWG,MAAM,EAAE;QAC5CgR,gBACExb,UAAU+K,kBAAkBC,MAAM,IAAI/K,QAAQ,MAAMD,UAAU+K,kBAAkBG,KAAK,IAAIjL,QAAQ,IAAI,2DAA2D;QAElK,IAAID,UAAU+K,kBAAkBM,KAAK,IAAIpL,MAAM,MAAMD,UAAU+K,kBAAkBO,OAAO,IAAIrL,MAAM,KAAKA,MAAM,MAAMD,UAAU+K,kBAAkBC,MAAM,IAAI/K,MAAM,KAAKA,MAAM,MAAMD,UAAU+K,kBAAkBG,KAAK,IAAIjL,MAAM,GAAG;YAC5Nub,gBAAgB,gBAAgB;QAClC;IACF,OAAO,IAAIR,eAAgBhb,CAAAA,UAAU+K,kBAAkBC,MAAM,IAAK/K,CAAAA,QAAQ,MAAMA,QAAQ,EAAC,KAAMD,UAAU+K,kBAAkBG,KAAK,IAAIjL,QAAQ,KAAKD,UAAU+K,kBAAkBO,OAAO,IAAI;QAAC;QAAG;QAAI;QAAI;KAAG,CAAChI,QAAQ,CAACrD,IAAG,GAAI;QACtNub,gBAAgB,kBAAkB;IACpC;IACA,IAAIN,aAAa,CAAC7X,YAAanE,CAAAA,QAAQmL,WAAWI,MAAM,IAAIvL,QAAQmL,WAAWO,QAAO,AAAC,KAAK,CAACkR,oBAAoBre,OAAOkG,WAAW;QACjI,IAAMiY,QAAQne,MAAMqG,QAAQ,CAAC1J;QAC7B,IAAIwhB,MAAMljB,MAAM,CAACY,MAAM,GAAG,GAAG;YAC3BkiB,gBACE,AAAC,0BAA6C,OAApBI,MAAMljB,MAAM,CAAC,EAAE,CAACkB,GAAG,GAC7C,AAAC,aAAmE,OAApBgiB,MAAMljB,MAAM,CAAC,EAAE,CAACqB,GAAG;QAEvE;IACF;IACA,IAAIiG,UAAU+K,kBAAkBO,OAAO,IAAIrL,QAAQ,KAAKA,QAAQ,IAAI;QAClEoa,QAAQe,SAAS,GAAG;QACpBK,WAAW,gBAAgB;QAC3BD,gBAAgB,kBAAkB;QAClC,IAAIlB,uBAAuBS,WAAW;YACpCS,gBAAgB,iBAAiB;QACnC;QACA,IAAIT,aAAa/a,UAAU+K,kBAAkBU,KAAK,IAAI,CAAEzL,CAAAA,UAAU+K,kBAAkBS,MAAM,IAAIvL,QAAQ,EAAC,GAAI;YACzGub,gBAAgB,iBAAiB;YACjC,IAAIN,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;gBAC3CiR;YACF;QACF;IACF,OAAO,IAAI/b,UAAU+K,kBAAkBM,KAAK,IAAKnM,CAAAA,MAAMmL,WAAWQ,MAAM,IAAI5K,QAAQ,MAAMf,QAAQmL,WAAWO,QAAQ,IAAI3K,QAAQ,EAAC,KAAMkb,aAAa;QACnJK,gBAAgB,qBAAqB;IACvC;IACA,IAAI/d,MAAMgG,iBAAiB,CAACrJ,SAAS;QACnCqhB,WAAW,kBAAkB;IAC/B;AACF;AACA,SAASF;IACP,IACEvb,QAYEqa,QAZFra,OACAC,MAWEoa,QAXFpa,KACA+a,cAUEX,QAVFW,aACA9b,MASEmb,QATFnb,KACAic,cAQEd,QARFc,aACAJ,YAOEV,QAPFU,WACAG,YAMEb,QANFa,WACAN,wBAKEP,QALFO,uBACAnd,QAIE4c,QAJF5c,OACAkQ,QAGE0M,QAHF1M,OACA1O,aAEEob,QAFFpb,YACA0E,WACE0W,QADF1W;IAEF,IAAIqY,2BAA2B;IAC/B,IAAI,CAACrY,SAASyL,MAAM,IAAIzB,MAAM/L,QAAQ,OAAO,MAAM+L,MAAM9M,OAAO,KAAK,GAAG;QACtE,IAAMob,sBAAsBxe,MAAM1E,IAAI,GAAG,MAAM,IAAI,IAAI;QACvDijB,2BAA2BrO,MAAM9M,OAAO,MAAMob,uBAAuBtO,MAAM9M,OAAO,MAAMob,sBAAsB;IAChH;IACA,OAAQjc;QACN,KAAK+K,kBAAkBC,MAAM;YAC3BqP,QAAQe,SAAS,GAAG;YACpB,IAAInb,MAAM,IAAI;gBACZub,gBAAgB,eAAe;YACjC;YACA,IAAItc,QAAQmL,WAAWS,OAAO,IAAI7K,MAAM,MAAMA,QAAQ,IAAI;gBACxDub,gBAAgB,iBAAiB;YACnC;YACA,IAAIR,eAAgB9b,CAAAA,QAAQmL,WAAWQ,MAAM,IAAI5K,QAAQ,MAAMf,QAAQmL,WAAWO,QAAQ,IAAI3K,QAAQ,EAAC,GAAI;gBACzGwb,WAAW,mBAAmB;YAChC;YACA,IAAIP,aAAahc,QAAQmL,WAAWS,OAAO,IAAI;gBAAC;gBAAI;gBAAI;gBAAI;gBAAI;gBAAI;aAAG,CAACxH,QAAQ,CAACrD,MAAM;gBACrFub,gBAAgB,qBAAqB;gBACrC,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;oBAC9BiR;gBACF;YACF;YACA,IAAI9b,QAAQ,IAAI;gBACdwb,WAAW,uBAAuB;gBAClCD,gBAAgB,eAAe;gBAC/B,IAAIL,aAAa;oBACfK,gBAAgB,eAAe;gBACjC;gBACA,IAAIlB,uBAAuBS,aAAa7b,QAAQmL,WAAWS,OAAO,EAAE;oBAClE0Q,gBAAgB;gBAClB;gBACAA,gBAAgB,kBAAkB;YACpC,OAAO,IAAIvb,QAAQ,MAAM,CAAC7F,QAAQ;gBAChCqhB,WAAW,wBAAwB;gBACnCD,gBAAgB,eAAe;gBAC/BA,gBAAgB,eAAe;gBAC/B,IAAIlB,uBAAuBS,aAAa7b,QAAQmL,WAAWS,OAAO,EAAE;oBAClE0Q,gBAAgB;gBAClB;gBACAA,gBAAgB,kBAAkB;YACpC,OAAO,IAAI;gBAAC;gBAAI;gBAAI;gBAAI;gBAAI;gBAAI;aAAG,CAAClY,QAAQ,CAACrD,MAAM;gBACjD,IAAIA,QAAQ,IAAI;oBACdwb,WAAW,sBAAsB;oBACjC,IAAIV,WAAW;wBACb,IAAI3gB,QAAQ;4BACVohB,gBAAgB,UAAU;wBAC5B;wBACA,IAAIlB,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;4BACrD0Q,gBAAiB;wBACnB;oBACF;gBACF,OAAO;oBACLC,WAAW,uBAAuB;oBAClCD,gBAAgB,kBAAkB;oBAClC,IAAIN,aAAahc,QAAQmL,WAAWS,OAAO,EAAEiR;oBAC7C,IAAIzB,uBAAuBS,aAAa7b,QAAQmL,WAAWS,OAAO,EAAE;wBAClE,OAAQ7K;4BACN,KAAK;gCACH,IAAIf,QAAQmL,WAAWG,MAAM,EAAE;oCAC7BgR,gBAAgB;gCAClB,OAAO;oCACLA,gBAAgB;gCAClB;gCACA;4BACF,KAAK;gCACH,IAAItc,QAAQmL,WAAWI,MAAM,EAAE;oCAC7B+Q,gBAAgB;gCAClB,OAAO;oCACLA,gBAAgB;gCAClB;gCACA;4BACF,KAAK;gCACH,IAAItc,QAAQmL,WAAWK,OAAO,IAAIxL,QAAQmL,WAAWG,MAAM,EAAE;oCAC3DgR,gBAAgB;gCAClB,OAAO;oCACLA,gBAAiB;gCACnB;gCACA;4BACF,KAAK;gCACH,IAAItc,QAAQmL,WAAWO,QAAQ,EAAE;oCAC/B4Q,gBAAgB;gCAClB,OAAO;oCACLA,gBAAiB;gCACnB;gCACA;4BACF,KAAK;gCACH,IAAItc,QAAQmL,WAAWQ,MAAM,EAAE;oCAC7B2Q,gBAAgB;gCAClB,OAAO;oCACLA,gBAAgB;gCAClB;gCACA;wBACJ;oBACF;gBACF;gBACA,IAAIT,WAAWS,gBAAgB,eAAe;gBAC9CA,gBAAgB,kBAAkB;YACpC;YACA,IAAIvb,QAAQ,IAAI;gBACd,IAAI7F,QAAQ;oBACVqhB,WAAW,aAAa;gBAC1B,OAAO;oBACLA,WAAW,uBAAuB;oBAClC,IAAIV,WAAW;wBACbS,gBAAgB,UAAU;wBAC1BA,gBAAgB,eAAe;oBACjC;oBACAA,gBAAgB,kBAAkB;gBACpC;gBACA,IAAItc,QAAQmL,WAAWS,OAAO,IAAIoQ,WAAW;oBAC3Ca;gBACF;YACF;YACA,IAAI7c,QAAQmL,WAAWS,OAAO,IAAK,CAAA;gBAAC;gBAAI;gBAAI;gBAAI;gBAAI;gBAAI;gBAAI;aAAG,CAACxH,QAAQ,CAACrD,QAAQ,CAAC7F,UAAU6F,QAAQ,EAAC,GAAI;gBACvGub,gBAAgB,iBAAiB;YACnC;YACA;QACF,KAAKzQ,kBAAkBE,IAAI;YACzB,IAAIhL,OAAO,IAAI;gBACbub,gBAAgB,eAAe;gBAC/B,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;oBAC9B0Q,gBAAgB,iBAAiB;gBACnC;YACF;YACA,IAAIvb,QAAQ,MAAMA,QAAQ,MAAMkb,eAAelb,QAAQ,MAAMA,QAAQ,MAAMkb,aAAa;gBACtFd,QAAQe,SAAS,GAAG;gBACpB,IAAInb,QAAQ,IAAI;oBACdwb,WAAW,iBAAiB;gBAC9B;YACF;YACA,IAAIP,aAAchc,CAAAA,QAAQmL,WAAWI,MAAM,IAAIxK,MAAM,KAAKA,MAAM,MAAMf,QAAQmL,WAAWO,QAAQ,IAAI3K,MAAM,KAAKA,MAAM,MAAMf,QAAQmL,WAAWI,MAAM,IAAIxK,MAAM,MAAMA,MAAM,MAAMA,QAAQ,EAAC,GAAI;gBAC5Lub,gBAAgB,UAAU;gBAC1BA,gBAAgB,kBAAkB;YACpC;YACA;QACF,KAAKzQ,kBAAkBG,KAAK;YAC1B,IAAIjL,MAAM,IAAI;gBACZoa,QAAQe,SAAS,GAAG;YACtB;YACA,IAAInb,QAAQ,GAAG;gBACbwb,WAAW,WAAW;gBACtB,IAAIV,WAAW;oBACbS,gBAAgB,eAAe;oBAC/BA,gBAAgB,eAAe;oBAC/BA,gBAAgB,WAAW;oBAC3B,IAAIphB,QAAQohB,gBAAgB,UAAU;oBACtC,IAAIlB,qBAAqB;wBACvBkB,gBAAgB;oBAClB;gBACF;gBACAA,gBAAgB,kBAAkB;YACpC,OAAO,IAAIvb,QAAQ,GAAG;gBACpB,IAAI7F,QAAQ;oBACVqhB,WAAW,cAAc;oBACzB,IAAIP,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;wBAC3CiR;oBACF;gBACF,OAAO;oBACLN,WAAW,sBAAsB;oBACjC,IAAIV,WAAW;wBACbS,gBAAgB,eAAe;wBAC/BA,gBAAgB,UAAU;oBAC5B;oBACAA,gBAAgB,kBAAkB;gBACpC;YACF;YACA;QACF,KAAKzQ,kBAAkBI,KAAK;YAC1B,IAAI4P,aAAc9a,CAAAA,QAAQ,MAAMoK,WAAWS,OAAO,KAAK,KAAK7K,QAAQ,MAAMf,QAAQmL,WAAWG,MAAK,AAAC,GAAG;gBACpG,IAAIuQ,WAAW;oBACbU,WAAW,sBAAsB;oBACjCD,gBAAgB,kBAAkB;oBAClCA,gBAAgB,UAAU;gBAC5B;gBACA,IAAIN,WAAW;oBACbM,gBAAgB,YAAY;gBAC9B;YACF;YACA;QACF,KAAKzQ,kBAAkBK,EAAE;YACvB,IAAI+P,eAAelb,QAAQ,KAAKf,QAAQmL,WAAWQ,MAAM,EAAE;gBACzDwP,QAAQe,SAAS,GAAG;YACtB,OAAO,IAAInb,QAAQ,KAAKf,QAAQmL,WAAWS,OAAO,IAAI7K,QAAQ,MAAMf,QAAQmL,WAAWG,MAAM,EAAE;gBAC7FiR,WAAW,aAAa;gBACxB,IAAIV,WAAW;oBACbS,gBAAgB,SAAS;oBACzBA,gBAAgB,UAAU;oBAC1B,IAAIN,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;wBAC3CiR;oBACF;gBACF,OAAO;oBACLP,gBAAgB,iBAAiB;oBACjC,IAAIR,eAAe9b,QAAQmL,WAAWG,MAAM,EAAE;wBAC5CgR,gBAAgB,gBAAgB;oBAClC;gBACF;gBACAnB,QAAQe,SAAS,GAAG;YACtB,OAAO,IAAID,eAAelb,QAAQ,IAAI;gBACpCoa,QAAQe,SAAS,GAAG;YACtB,OAAO,IAAInb,QAAQ,IAAI;gBACrBwb,WAAW,WAAW;gBACtBpB,QAAQe,SAAS,GAAG;YACtB;YACA;QACF,KAAKrQ,kBAAkBM,KAAK;YAC1BmQ,gBAAgB,sBAAsB;YACtC,IAAIvb,MAAM,MAAMf,QAAQmL,WAAWS,OAAO,IAAK8P,CAAAA,yBAAyBM,SAAQ,GAAI;gBAClF,IAAIgB,kBAAkBjc,OAAO;gBAC7B,IAAIA,MAAM,IAAI;oBACZ,IAAMkc,WAAW,KAAKlc,KAAKmc,QAAQ,AAACD,CAAAA,WAAWjd,GAAE,IAAK;oBACtD,OAAQkd;wBACN,KAAK/R,WAAWI,MAAM;4BACpByR,kBAAkBjc,OAAO;4BACzB;wBACF,KAAKoK,WAAWK,OAAO;4BACrBwR,kBAAkBjc,OAAO;4BACzB;wBACF,KAAKoK,WAAWS,OAAO;4BACrBoR,kBAAkBjc,OAAO;4BACzB;oBACJ;gBACF;gBACA,IAAIic,iBAAiB;oBACnBV,gBAAgB,YAAY;gBAC9B;YACF;YACA,IAAIvb,QAAQ,IAAI;gBACdoa,QAAQe,SAAS,GAAG;YACtB;YACA;QACF,KAAKrQ,kBAAkBO,OAAO;YAC5B,IAAIrL,MAAM,IAAI;gBACZub,gBAAgB,qBAAqB;gBACrC,IAAItc,QAAQmL,WAAWS,OAAO,IAAI7K,QAAQ,GAAG;oBAC3Cub,gBAAgB,kBAAkB;gBACpC;YACF;YACA,IAAIvb,MAAM,KAAKA,MAAM,MAAMf,QAAQmL,WAAWS,OAAO,EAAE;gBACrD0Q,gBAAgB,YAAY;gBAC5BA,gBAAgB,sBAAsB;YACxC;YACA,IAAItc,QAAQmL,WAAWS,OAAO,IAAI7K,MAAM,KAAKA,MAAM,IAAI;gBACrDwb,WAAW,iBAAiB;YAC9B;YACA,IAAIxb,OAAO,IAAI;gBACboa,QAAQe,SAAS,GAAG;YACtB;YACA,OAAQnb;gBACN,KAAK;oBACHwb,WAAW,gBAAgB;oBAC3B,IAAIvc,QAAQmL,WAAWS,OAAO,IAAIiQ,WAAW;wBAC3CS,gBAAgB,iBAAiB;wBACjC,IAAIlB,qBAAqB;4BACvBkB,gBAAgB;wBAClB;wBACA,IAAIL,aAAa;4BACfM,WAAW,YAAY;wBACzB;oBACF;oBACAD,gBAAgB,kBAAkB;oBAClC;gBACF,KAAK;oBACHC,WAAW,gBAAgB;oBAC3B,IAAIV,WAAW;wBACbS,gBAAgB,iBAAiB;wBACjC,IAAIlB,qBAAqB;4BACvBkB,gBAAgB;wBAClB;wBACA,IAAItc,QAAQmL,WAAWG,MAAM,IAAI2Q,aAAa;4BAC5CM,WAAW,YAAY;wBACzB;oBACF;oBACAD,gBAAgB,kBAAkB;oBAClC;gBACF,KAAK;oBACH,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;wBAC9B,IAAIiQ,WAAW;4BACbU,WAAW,wBAAwB;4BACnCD,gBAAgB,UAAU;wBAC5B;wBACA,IAAIZ,yBAAyBM,WAAW;4BACtCM,gBAAgB,YAAY;wBAC9B;wBACAA,gBAAgB,sBAAsB;oBACxC;oBACA;gBACF,KAAK;oBACH,IAAItc,QAAQmL,WAAWG,MAAM,EAAE;wBAC7B,IAAIuQ,WAAW;4BACbU,WAAW,wBAAwB;4BACnCD,gBAAgB,UAAU;wBAC5B;wBACA,IAAIZ,yBAAyBM,WAAW;4BACtCM,gBAAgB,YAAY;wBAC9B;wBACAA,gBAAgB,sBAAsB;oBACxC,OAAO,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;wBACrC0Q,gBAAgB,sBAAsB;wBACtC,IAAIZ,yBAAyBM,WAAW;4BACtCM,gBAAgB,YAAY;wBAC9B;oBACF;oBACA;gBACF,KAAK;oBACHC,WAAW,mBAAmB;oBAC9B,IAAIP,WAAW;wBACbM,gBAAgB,qBAAqB;wBACrC,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;4BAC9BiR;wBACF;wBACA,IAAI7c,QAAQmL,WAAWQ,MAAM,EAAE;4BAC7B2Q,gBAAgB,kBAAkB;wBACpC;oBACF,OAAO,IAAIL,aAAa;wBACtBK,gBAAgB,UAAU;oBAC5B;oBACA,IAAIT,aAAa7b,QAAQmL,WAAWQ,MAAM,EAAE;wBAC1C2Q,gBAAgB,qBAAqB;oBACvC;oBACAnB,QAAQe,SAAS,GAAG;oBACpB;gBACF,KAAK;oBACHK,WAAW,cAAc;oBACzBA,WAAW;oBACX,IAAIV,WAAW;wBACbS,gBAAgB,UAAU;wBAC1B,IAAIlB,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;4BACrD0Q,gBAAgB;wBAClB;oBACF;oBACA,IAAIL,aAAa;wBACfK,gBAAgB;oBAClB;oBACA;gBACF,KAAK;oBACH,IAAIR,aAAa;wBACfS,WAAW;oBACb;oBACA;gBACF,KAAK;oBACHA,WAAW,uBAAuB;oBAClCD,gBAAgB,kBAAkB;oBAClC,IAAIT,WAAW;wBACbS,gBAAgB,eAAe;wBAC/B,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;4BAC9B0Q,gBAAgB,gEAAgE;4BAChFA,gBAAgB,YAAY;4BAC5B,IAAIlB,qBAAqB;gCACvBkB,gBAAgB;4BAClB;wBACF,OAAO;4BACLA,gBAAgB,gEAAgE;wBAClF;oBACF;oBACA;gBACF,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;oBACHA,gBAAgB,kBAAkB;oBAClC,IAAIvb,QAAQ,MAAM,CAAC7F,QAAQ;wBACzBqhB,WAAW,wBAAwB;oBACrC,OAAO,IAAI,CAACrhB,QAAQ;wBAClBqhB,WAAW,sBAAsB;wBACjCD,gBAAgB,kBAAkB;oBACpC;oBACA,IAAIT,WAAW;wBACbS,gBAAgB,eAAe;wBAC/B,OAAQvb;4BACN,KAAK;gCACHub,gBACE,kDAAmDtc,CAAAA,QAAQmL,WAAWG,MAAM,GAAG,sDAAsD,6CAA4C;gCAEnL,IAAI8P,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;oCACrD0Q,gBAAiB;gCACnB;gCACA;4BACF,KAAK;gCACHA,gBACE,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK,QAASlb,CAAAA,QAAQmL,WAAWS,OAAO,GAAG,sDAAsD,yDAAwD;gCAElO,IAAIwP,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;oCACrD0Q,gBAAgB;gCAClB;gCACA;4BACF,KAAK;gCACH,IAAItc,QAAQmL,WAAWG,MAAM,EAAE;oCAC7BgR,gBAAgB,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK;oCAC5F,IAAIE,qBAAqB;wCACvBkB,gBAAgB;oCAClB;gCACF,OAAO;oCACL,IAAItc,QAAQmL,WAAWK,OAAO,EAAE;wCAC9B8Q,gBAAgB,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK;oCAC9F,OAAO,IAAIlb,QAAQmL,WAAWO,QAAQ,EAAE;wCACtC4Q,gBACE,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK;oCAEhF,OAAO,IAAIlb,QAAQmL,WAAWQ,MAAM,EAAE;wCACpC2Q,gBAAgB,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK;oCAC9F;oCACA,IAAIE,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;wCACrD0Q,gBAAgB;oCAClB;gCACF;gCACA;4BACF,KAAK;gCACHA,gBACE,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK,QAASlb,CAAAA,QAAQmL,WAAWS,OAAO,GAAG,sDAAsD,0DAAyD;gCAEnO,IAAIwP,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;oCACrD,IAAI5L,QAAQmL,WAAWI,MAAM,EAAE;wCAC7B+Q,gBAAgB;oCAClB,OAAO;wCACLA,gBAAgB;oCAClB;gCACF;gCACA;4BACF,KAAK;gCACHA,gBACE,AAACpB,CAAAA,cAAc,aAAa,4CAA2C,IAAK,QAASlb,CAAAA,QAAQmL,WAAWS,OAAO,GAAG,sDAAsD,+DAA8D;gCAExO,IAAIwP,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;oCACrD,IAAI5L,QAAQmL,WAAWO,QAAQ,EAAE;wCAC/B4Q,gBAAgB;oCAClB,OAAO;wCACLA,gBAAgB;oCAClB;gCACF;gCACA;wBACJ;oBACF;oBACA;gBACF,KAAK;oBACHC,WAAW,gBAAgB;oBAC3BD,gBAAgB,kBAAkB;oBAClC,IAAIR,aAAa;wBACfQ,gBAAgB,iBAAiB;oBACnC,OAAO;wBACLA,gBAAgB,YAAY;wBAC5BA,gBAAgB,eAAe;wBAC/B,IAAIlB,qBAAqB;4BACvB,IAAIpb,QAAQmL,WAAWQ,MAAM,EAAE;gCAC7B2Q,gBAAgB;4BAClB,OAAO;gCACLA,gBAAgB;4BAClB;wBACF;oBACF;oBACA;gBACF,KAAK;oBACHC,WAAW,kBAAkB;oBAC7BD,gBAAgB,kBAAkB;oBAClC,IAAIphB,QAAQ;wBACVqhB,WAAW,iBAAiB;wBAC5BD,gBAAgB,WAAW;oBAC7B;oBACA,IAAIT,WAAW;wBACbS,gBAAgB,eAAe;wBAC/BA,gBAAgB,UAAU;wBAC1BA,gBAAgB,kBAAkB;wBAClCA,gBAAgB;wBAChB,IAAIlB,uBAAuBpb,QAAQmL,WAAWS,OAAO,EAAE;4BACrD0Q,gBAAgB;wBAClB;oBACF;oBACA;YACJ;YACA,IAAIvb,QAAQ,IAAI;gBACd,IAAI,CAAC7F,QAAQ;oBACXqhB,WAAW,iBAAiB;oBAC5BD,gBAAgB,kBAAkB;oBAClCA,gBAAgB,WAAW;oBAC3BA,gBAAgB,eAAe;gBACjC,OAAO;oBACLC,WAAW,cAAc;oBACzB,IAAIT,aAAa;wBACfS,WAAW,oFAAoF;oBACjG,OAAO,IAAIvc,QAAQmL,WAAWS,OAAO,IAAIoQ,WAAW;wBAClDa;oBACF;gBACF;YACF,OAAO,IAAI7c,QAAQmL,WAAWS,OAAO,IAAI;gBAAC;gBAAI;gBAAI;gBAAI;gBAAI;aAAG,CAACxH,QAAQ,CAACrD,MAAM;gBAC3Eub,gBAAgB,mBAAmB;YACrC;YACA,IAAIvb,MAAM,IAAI;gBACZub,gBAAgB,sBAAsB;YACxC,OAAO,IAAIvb,MAAM,IAAI;gBACnBub,gBAAgB,mCAAmC;YACrD;YACA;QACF,KAAKzQ,kBAAkBQ,QAAQ;YAC7B,IAAIwP,aAAc7b,CAAAA,QAAQmL,WAAWI,MAAM,IAAIxK,MAAM,KAAKA,MAAM,MAAMf,QAAQmL,WAAWO,QAAQ,IAAI3K,MAAM,KAAKA,MAAM,MAAMf,QAAQmL,WAAWI,MAAM,IAAIxK,MAAM,MAAMA,MAAM,EAAC,GAAI;gBAC9Kub,gBAAgB,UAAU;gBAC1BA,gBAAgB,kBAAkB;YACpC;YACA,IAAIvb,OAAO,IAAI;gBACbub,gBAAgB,mCAAmC;YACrD;YACA,IAAI,AAAC7X,CAAAA,SAASyL,MAAM,IAAInP,OAAO,KAAK,CAAC0D,SAASyL,MAAM,IAAI4M,wBAAuB,KAAM9c,QAAQmL,WAAWS,OAAO,EAAE;gBAC/G0Q,gBAAgB,sBAAsB;YACxC;YACA;QACF,KAAKzQ,kBAAkBS,MAAM;YAC3B,IAAI,AAAC7H,CAAAA,SAASyL,MAAM,IAAInP,OAAO,KAAK,CAAC0D,SAASyL,MAAM,IAAI4M,wBAAuB,KAAM9c,QAAQmL,WAAWS,OAAO,EAAE;gBAC/G0Q,gBAAgB,sBAAsB;YACxC,OAAO,IAAIvb,QAAQ,MAAMf,QAAQmL,WAAWS,OAAO,IAAIqQ,aAAa;gBAClEd,QAAQe,SAAS,GAAG;YACtB,OAAO,IAAInb,OAAO,IAAI;gBACpBoa,QAAQe,SAAS,GAAG;gBACpBK,WAAW,YAAY;gBACvBD,gBAAgB,eAAe;gBAC/B,IAAIT,WAAW;oBACbS,gBAAgB,eAAe;oBAC/B,IAAIN,aAAahc,QAAQmL,WAAWS,OAAO,EAAEiR;oBAC7C,IAAIzB,uBAAuBra,QAAQ,MAAMf,QAAQmL,WAAWS,OAAO,EAAE;wBACnE0Q,gBAAgB;oBAClB;gBACF;YACF;YACA;QACF,KAAKzQ,kBAAkBU,KAAK;YAC1B,IAAI,CAAC9H,SAASyL,MAAM,IAAI4M,4BAA4B9c,QAAQmL,WAAWS,OAAO,EAAE;gBAC9E0Q,gBAAgB,sBAAsB;YACxC;YACA,IAAIvb,OAAQ3F,CAAAA,MAAMG,aAAa,CAACgD,MAAM1E,IAAI,IAAI,IAAI,CAAA,GAAI;gBACpDshB,QAAQe,SAAS,GAAG;gBACpBK,WAAW,YAAY;gBACvBD,gBAAgB,eAAe;gBAC/B,IAAIT,WAAW;oBACbS,gBAAgB,eAAe;oBAC/B,IAAIN,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;wBAC3CiR;wBACA,IAAI9b,QAAQ,KAAKqa,qBAAqB;4BACpCkB,gBAAgB;wBAClB;oBACF;gBACF;YACF,OAAO,IAAIvb,QAAQ,MAAM8a,WAAW;gBAClCU,WAAW,yBAAyB;gBACpC,IAAIP,WAAW;oBACbM,gBAAgB,YAAY;gBAC9B;gBACAA,gBAAgB,kBAAkB;gBAClCA,gBAAgB,UAAU;YAC5B;YACA;QACF,KAAKzQ,kBAAkBW,KAAK;YAC1B,IAAIzL,QAAQ,MAAMkb,aAAad,QAAQe,SAAS,GAAG;YACnD,IAAInb,QAAQ,IAAI;gBACdoa,QAAQe,SAAS,GAAG;gBACpBK,WAAW,cAAc;YAC3B;YACA;QACF,KAAK1Q,kBAAkBY,IAAI;QAC3B,KAAKZ,kBAAkBa,WAAW;YAChC,IAAI5L,UAAU+K,kBAAkBY,IAAI,IAAI1M,YAAY;gBAClD,IAAIgB,QAAQ,MAAMkb,aAAad,QAAQe,SAAS,GAAG;gBACnD,IAAI;oBAAC;oBAAI;iBAAG,CAAC9X,QAAQ,CAACrD,MAAM;oBAC1Bwb,WACExb,QAAQ,KAAKma,cAAc,gBAAgB,sDAAsDA,cAAc,wBAAwB;oBAEzI,IAAIW,WAAW;wBACbV,QAAQe,SAAS,GAAG;wBACpB,IAAIF,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;4BAC3CiR;wBACF;oBACF;gBACF;YACF,OAAO;gBACL,IAAIhB,aAAc9a,CAAAA,QAAQ,MAAMf,QAAQmL,WAAWO,QAAQ,IAAI3K,QAAQ,MAAMf,QAAQmL,WAAWS,OAAM,AAAC,GAAG;oBACxG,IAAIoQ,WAAW;wBACbO,WAAW,0BAA0B;wBACrCD,gBAAgB,YAAY;oBAC9B;oBACAA,gBAAgB,kBAAkB;oBAClCA,gBAAgB,UAAU;gBAC5B,OAAO;oBACL,IAAMa,iBAAiB1Y,SAAS6O,IAAI,KAAK,eAAe7O,SAAS8O,UAAU,KAAK;oBAChF,IAAIxS,QAAQ,IAAI;wBACdoa,QAAQe,SAAS,GAAG;wBACpB,IAAIF,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;4BAC3CiR;wBACF;wBACA,IAAI,CAACM,kBAAkBnd,QAAQmL,WAAWQ,MAAM,EAAE;4BAChD4Q,WAAW,kBAAkB;4BAC7B,IAAI,CAACY,gBAAgB;gCACnBZ,WAAW,SAAS;gCACpBD,gBAAgB,eAAe;gCAC/B,IAAIlB,qBAAqB;oCACvBkB,gBAAgB;gCAClB;4BACF,OAAO;gCACLC,WAAW,qBAAqB;4BAClC;wBACF,OAAO;4BACLA,WAAW,kBAAkB;wBAC/B;oBACF,OAAO,IAAIxb,QAAQ,IAAI;wBACrBoa,QAAQe,SAAS,GAAG;wBACpB,IAAIF,aAAahc,QAAQmL,WAAWS,OAAO,EAAE;4BAC3CiR;wBACF;wBACA,IAAIM,gBAAgB;4BAClBZ,WAAW,SAAS;4BACpBD,gBAAgB,eAAe;4BAC/B,IAAItc,QAAQmL,WAAWS,OAAO,EAAE;gCAC9B2Q,WAAW,kBAAkB;4BAC/B;4BACA,IAAInB,uBAAuBS,aAAa7b,QAAQmL,WAAWS,OAAO,EAAE;gCAClE0Q,gBAAgB;4BAClB;wBACF,OAAO,IAAI;4BACT;4BACA;4BACA;4BACA;4BACA;4BACA;4BACA;4BACA;4BACA;yBACD,CAAClY,QAAQ,CAACK,SAAS6O,IAAI,GAAG;4BACzBiJ,WAAW,mBAAmB;4BAC9B,IAAIvc,QAAQmL,WAAWS,OAAO,EAAE;gCAC9B2Q,WAAW,oBAAoB;4BACjC;wBACF,OAAO;4BACLA,WAAW,iBAAiB;wBAC9B;oBACF,OAAO,IAAIxb,QAAQ,MAAMoc,kBAAkBnd,QAAQmL,WAAWG,MAAM,EAAE;wBACpEiR,WAAW,mCAAmC;oBAChD;gBACF;YACF;YACA;IACJ;AACF;AACA,SAASM;IACPP,gBAAgB,mBAAmB;AACrC;AACA,SAASC,WAAWa,oBAAoB,EAAEC,UAAU;IAClD,IAAMC,OAAOpC,eAAe,CAACmC,aAAaD,uBAAuBC;IACjE,IAAI,CAACrC,SAAS5W,QAAQ,CAACkZ,OAAO;QAC5BtC,SAAS7F,IAAI,CAACmI;IAChB;AACF;AACA,SAAShB,gBAAgBc,oBAAoB,EAAEC,UAAU;IACvD,IAAMC,OAAOpC,eAAe,CAACmC,aAAaD,uBAAuBC;IACjE,IAAI,CAACpC,cAAc7W,QAAQ,CAACkZ,OAAO;QACjCrC,cAAc9F,IAAI,CAACmI;IACrB;AACF;AACA,SAASV,oBAAoBre,KAAK,EAAEkG,QAAQ;IAC1C,IAAQnL,QAA0BiF,MAA1BjF,OAAOC,MAAmBgF,MAAnBhF,KAAKsI,YAActD,MAAdsD;IACpB,IAAItI,QAAQ,KAAKA,QAAQ,IAAI;QAC3B,OAAO;IACT;IACA,OAAQD;QACN,KAAK;YACH,OAAOC,MAAM,MAAMA,MAAM;QAC3B,KAAK;YACH,OAAOA,QAAQ,MAAMsI,cAAc,KAAKtI,QAAQ;QAClD,KAAK;YACH,OAAOA,QAAQ,KAAKsI,cAAc,KAAKtI,QAAQ;QACjD,KAAK;YACH,OAAO;gBAAC;gBAAG;gBAAI;gBAAI;gBAAI;gBAAI;gBAAI;aAAG,CAAC6K,QAAQ,CAAC7K,QAAQsI,cAAc,KAAKtI,QAAQ;QACjF,KAAK;YACH,OAAOA,OAAO;QAChB,KAAK;YACH,OAAOA,QAAQ,MAAMA,MAAM,KAAKA,QAAQ,KAAK6B,MAAMG,aAAa,CAACgD,MAAM1E,IAAI;QAC7E,KAAK;QACL,KAAK;YACH,OAAOP,UAAW8B,CAAAA,MAAMW,SAAS,CAACwC,MAAM1E,IAAI,IAAIgS,kBAAkBa,WAAW,GAAGb,kBAAkBY,IAAG,AAAC,KAAMlT,CAAAA,QAAQ,MAAMA,QAASkL,CAAAA,SAAS6O,IAAI,KAAK,+CAA+C,KAAK,EAAC,CAAC;QAC7M;YACE,OAAO;IACX;AACF;AACA,SACE7T,OAAO,EACP0L,UAAU,EACV7H,aAAa,EACbO,aAAa,EACbF,eAAe,EACfG,eAAe,EACf+H,iBAAiB,EACjBkH,QAAQ,EACR8B,SAAS,EACTyD,KAAK,EACLla,UAAU,EACVuO,gBAAgB,EAChB3P,KAAK,EACLY,KAAK,EACL4Y,WAAW,EACXwB,SAAS,EACTrT,MAAM,EACNoW,WAAW,EACXjF,oBAAoB,EACpBG,gBAAgB,EAChBE,YAAY,EACZkF,gBAAgB,EAChBlD,WAAW,EACX/c,KAAK,GACL","sourcesContent":["// src/JCal/Sedra.ts\nvar _Sedra = class _Sedra {\n /**\n * @param {jDate} jd\n * @param {boolean} israel\n */\n constructor(jd, israel2) {\n if (jd.Month === 7 && jd.Day >= 15 && jd.Day < (israel2 ? 23 : 24)) {\n this.sedras = [_Sedra.sedraList[53]];\n return;\n }\n let sedraArray = [], sedraOrder = _Sedra.getSedraOrder(jd.Year, israel2), absDate = jd.Abs, index, weekNum;\n absDate = _Sedra.getDayOnOrBefore(6, absDate + 6);\n weekNum = (absDate - sedraOrder.firstSatInYear) / 7;\n if (sedraOrder.sedraArray && weekNum >= sedraOrder.sedraArray.length) {\n const indexLast = sedraOrder.sedraArray[sedraOrder.sedraArray.length - 1];\n if (indexLast < 0) {\n index = -indexLast + 2;\n } else {\n index = indexLast + 1;\n }\n } else {\n index = sedraOrder.sedraArray ? sedraOrder.sedraArray[weekNum] : -1;\n }\n if (index >= 0) {\n sedraArray = [_Sedra.sedraList[index]];\n } else {\n const i = -index;\n sedraArray = [_Sedra.sedraList[i], _Sedra.sedraList[i + 1]];\n }\n this.sedras = sedraArray;\n }\n /**\n * Gets the sedra/s as a string. If there are two, they are seperated by a \" - \"\n */\n toString() {\n return this.sedras.length > 0 && this.sedras.map((s) => s.eng).join(\" - \");\n }\n /**\n * Gets the sedra/s as a string. If there are two, they are seperated by a \" - \"\n */\n toStringHeb() {\n return this.sedras.length > 0 && this.sedras.map((s) => s.heb).join(\" - \");\n }\n static getDayOnOrBefore(day_of_week, date) {\n return date - (date - day_of_week) % 7;\n }\n static getSedraOrder(year, israel2) {\n if (_Sedra.lastCalculatedYear != null && _Sedra.lastCalculatedYear.year === year && _Sedra.lastCalculatedYear.israel === israel2) {\n return _Sedra.lastCalculatedYear;\n }\n const longCheshvon = jDate.isLongCheshvan(year), shortKislev = jDate.isShortKislev(year), roshHashana = jDate.absJd(year, 7, 1), roshHashanaDOW = Math.abs(roshHashana % 7), firstSatInYear = _Sedra.getDayOnOrBefore(6, roshHashana + 6);\n let yearType, sArray;\n if (longCheshvon && !shortKislev)\n yearType = \"complete\";\n else if (!longCheshvon && shortKislev)\n yearType = \"incomplete\";\n else\n yearType = \"regular\";\n if (!jDate.isJdLeapY(year)) {\n switch (roshHashanaDOW) {\n case 6:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.shabbos_short;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.shabbos_long;\n }\n break;\n case 1:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.mon_short;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.mon_short : _Sedra.mon_long;\n }\n break;\n case 2:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.mon_short : _Sedra.mon_long;\n }\n break;\n case 4:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.thu_normal_Israel : _Sedra.thu_normal;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.thu_long;\n }\n break;\n default:\n throw \"improper sedra year type calculated.\";\n }\n } else {\n switch (roshHashanaDOW) {\n case 6:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.shabbos_short_leap;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.shabbos_short_leap : _Sedra.shabbos_long_leap;\n }\n break;\n case 1:\n if (yearType === \"incomplete\") {\n sArray = israel2 ? _Sedra.mon_short_leap_Israel : _Sedra.mon_short_leap;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.mon_long_leap_Israel : _Sedra.mon_long_leap;\n }\n break;\n case 2:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.mon_long_leap_Israel : _Sedra.mon_long_leap;\n }\n break;\n case 4:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.thu_short_leap;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.thu_long_leap;\n }\n break;\n default:\n throw \"improper sedra year type calculated.\";\n }\n }\n const retobj = {\n firstSatInYear,\n sedraArray: sArray,\n year,\n israel: israel2\n };\n _Sedra.lastCalculatedYear = retobj;\n return retobj;\n }\n};\n_Sedra.lastCalculatedYear = null;\n_Sedra.sedraList = [{ eng: \"Bereshis\", heb: \"\\u05D1\\u05E8\\u05D0\\u05E9\\u05D9\\u05EA\" }, { eng: \"Noach\", heb: \"\\u05E0\\u05D7\" }, { eng: \"Lech-Lecha\", heb: \"\\u05DC\\u05DA \\u05DC\\u05DA\" }, { eng: \"Vayera\", heb: \"\\u05D5\\u05D9\\u05E8\\u05D0\" }, { eng: \"Chayei Sara\", heb: \"\\u05D7\\u05D9\\u05D9 \\u05E9\\u05E8\\u05D4\" }, { eng: \"Toldos\", heb: \"\\u05EA\\u05D5\\u05DC\\u05D3\\u05D5\\u05EA\" }, { eng: \"Vayetzei\", heb: \"\\u05D5\\u05D9\\u05E6\\u05D0\" }, { eng: \"Vayishlach\", heb: \"\\u05D5\\u05D9\\u05E9\\u05DC\\u05D7\" }, { eng: \"Vayeishev\", heb: \"\\u05D5\\u05D9\\u05E9\\u05D1\" }, { eng: \"Mikeitz\", heb: \"\\u05DE\\u05E7\\u05E5\" }, { eng: \"Vayigash\", heb: \"\\u05D5\\u05D9\\u05D2\\u05E9\" }, { eng: \"Vayechi\", heb: \"\\u05D5\\u05D9\\u05D7\\u05D9\" }, { eng: \"Shemos\", heb: \"\\u05E9\\u05DE\\u05D5\\u05EA\" }, { eng: \"Va'era\", heb: \"\\u05D5\\u05D0\\u05E8\\u05D0\" }, { eng: \"Bo\", heb: \"\\u05D1\\u05D0\" }, { eng: \"Beshalach\", heb: \"\\u05D1\\u05E9\\u05DC\\u05D7\" }, { eng: \"Yisro\", heb: \"\\u05D9\\u05EA\\u05E8\\u05D5\" }, { eng: \"Mishpatim\", heb: \"\\u05DE\\u05E9\\u05E4\\u05D8\\u05D9\\u05DD\" }, { eng: \"Terumah\", heb: \"\\u05EA\\u05E8\\u05D5\\u05DE\\u05D4\" }, { eng: \"Tetzaveh\", heb: \"\\u05EA\\u05E6\\u05D5\\u05D4\" }, { eng: \"Ki Sisa\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05E9\\u05D0\" }, { eng: \"Vayakhel\", heb: \"\\u05D5\\u05D9\\u05E7\\u05D4\\u05DC\" }, { eng: \"Pekudei\", heb: \"\\u05E4\\u05E7\\u05D5\\u05D3\\u05D9\" }, { eng: \"Vayikra\", heb: \"\\u05D5\\u05D9\\u05E7\\u05E8\\u05D0\" }, { eng: \"Tzav\", heb: \"\\u05E6\\u05D5\" }, { eng: \"Shmini\", heb: \"\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9\" }, { eng: \"Tazria\", heb: \"\\u05EA\\u05D6\\u05E8\\u05D9\\u05E2\" }, { eng: \"Metzora\", heb: \"\\u05DE\\u05E6\\u05D5\\u05E8\\u05E2\" }, { eng: \"Achrei Mos\", heb: \"\\u05D0\\u05D7\\u05E8\\u05D9 \\u05DE\\u05D5\\u05EA\" }, { eng: \"Kedoshim\", heb: \"\\u05E7\\u05D3\\u05D5\\u05E9\\u05D9\\u05DD\" }, { eng: \"Emor\", heb: \"\\u05D0\\u05DE\\u05D5\\u05E8\" }, { eng: \"Behar\", heb: \"\\u05D1\\u05D4\\u05E8\" }, { eng: \"Bechukosai\", heb: \"\\u05D1\\u05D7\\u05E7\\u05D5\\u05EA\\u05D9\" }, { eng: \"Bamidbar\", heb: \"\\u05D1\\u05DE\\u05D3\\u05D1\\u05E8\" }, { eng: \"Nasso\", heb: \"\\u05E0\\u05E9\\u05D0\" }, { eng: \"Beha'aloscha\", heb: \"\\u05D1\\u05D4\\u05E2\\u05DC\\u05EA\\u05DA\" }, { eng: \"Sh'lach\", heb: \"\\u05E9\\u05DC\\u05D7\" }, { eng: \"Korach\", heb: \"\\u05E7\\u05E8\\u05D7\" }, { eng: \"Chukas\", heb: \"\\u05D7\\u05E7\\u05EA\" }, { eng: \"Balak\", heb: \"\\u05D1\\u05DC\\u05E7\" }, { eng: \"Pinchas\", heb: \"\\u05E4\\u05D9\\u05E0\\u05D7\\u05E1\" }, { eng: \"Matos\", heb: \"\\u05DE\\u05D8\\u05D5\\u05EA\" }, { eng: \"Masei\", heb: \"\\u05DE\\u05E1\\u05E2\\u05D9\" }, { eng: \"Devarim\", heb: \"\\u05D3\\u05D1\\u05E8\\u05D9\\u05DD\" }, { eng: \"Va'eschanan\", heb: \"\\u05D5\\u05D0\\u05EA\\u05D7\\u05E0\\u05DF\" }, { eng: \"Eikev\", heb: \"\\u05E2\\u05E7\\u05D1\" }, { eng: \"Re'eh\", heb: \"\\u05E8\\u05D0\\u05D4\" }, { eng: \"Shoftim\", heb: \"\\u05E9\\u05D5\\u05E4\\u05D8\\u05D9\\u05DD\" }, { eng: \"Ki Seitzei\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05E6\\u05D0\" }, { eng: \"Ki Savo\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05D1\\u05D0\" }, { eng: \"Nitzavim\", heb: \"\\u05E0\\u05E6\\u05D1\\u05D9\\u05DD\" }, { eng: \"Vayeilech\", heb: \"\\u05D5\\u05D9\\u05DC\\u05DA\" }, { eng: \"Ha'Azinu\", heb: \"\\u05D4\\u05D0\\u05D6\\u05D9\\u05E0\\u05D5\" }, { eng: \"Vezos Habracha\", heb: \"\\u05D5\\u05D6\\u05D0\\u05EA \\u05D4\\u05D1\\u05E8\\u05DB\\u05D4\" }];\n_Sedra.shabbos_short = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.shabbos_long = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_long = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.thu_normal = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_normal_Israel = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_long = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.shabbos_short_leap = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.shabbos_long_leap = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short_leap = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short_leap_Israel = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_long_leap = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.mon_long_leap_Israel = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_short_leap = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_long_leap = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -50];\nvar Sedra = _Sedra;\n\n// src/JCal/PirkeiAvos.ts\nvar _PirkeiAvos = class _PirkeiAvos {\n static getPrakim(jd, israel2) {\n if (jd.getDayOfWeek() !== 6) {\n return [];\n }\n const jMonth = jd.Month, jDay = jd.Day;\n if (jMonth === 1 && jDay > (israel2 ? 21 : 22) || //All Shabbosim through Iyar, Sivan, Tamuz, Av - besides for the day/s of Shavuos and Tisha B'Av\n jMonth > 1 && jMonth < 6 && !(jMonth === 3 && jDay === 6 || !israel2 && jMonth === 3 && jDay === 7) && !(jMonth === 5 && jDay === 9)) {\n return [_PirkeiAvos._get1stPerek(jd, israel2)];\n } else if (jMonth === 6) {\n return _PirkeiAvos._ellul(jd, israel2);\n } else {\n return [];\n }\n }\n};\n_PirkeiAvos._get1stPerek = function(jd, israel2) {\n const jYear = jd.Year, jMonth = jd.Month, jDay = jd.Day, pes1 = new jDate(jYear, 1, 15), shb1 = (israel2 ? 7 : 8) + (6 - pes1.getDayOfWeek()), cShb = jMonth === 1 && jDay === shb1 + 15 ? 1 : Utils.toInt((jd.Abs - (pes1.Abs + shb1)) / 7) + 1;\n let prk = cShb % 6;\n if (prk === 0) prk = 6;\n if (!israel2 && pes1.getDayOfWeek() === 4 && (jMonth > 3 || jMonth === 3 && jDay > 6)) {\n prk = prk === 1 ? 6 : prk - 1;\n }\n if (pes1.getDayOfWeek() === 6 && (jMonth > 5 || jMonth === 5 && jDay > 9)) {\n prk = prk === 1 ? 6 : prk - 1;\n }\n return prk;\n};\n_PirkeiAvos._ellul = function(jd, israel2) {\n let prakim;\n const jYear = jd.Year, jDay = jd.Day, day1 = new jDate(jYear, 6, 1, jd.Abs - jd.Day + 1), day1DOW = day1.getDayOfWeek(), shabbos1Day = day1DOW === 6 ? 1 : 6 - (day1DOW + 6) % 6 + 1, shabbos1Date = new jDate(jYear, 6, shabbos1Day, day1.Abs + shabbos1Day - 1), cShb = jDay === shabbos1Day ? 1 : Utils.toInt((jDay - shabbos1Day) / 7) + 1;\n switch (_PirkeiAvos._get1stPerek(shabbos1Date, israel2)) {\n case 1:\n switch (cShb) {\n case 1:\n prakim = [1];\n break;\n case 2:\n prakim = [2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 2:\n switch (cShb) {\n case 1:\n prakim = [2];\n break;\n case 2:\n prakim = [3];\n break;\n case 3:\n prakim = [4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 3:\n switch (cShb) {\n case 1:\n prakim = [3];\n break;\n case 2:\n prakim = [4];\n break;\n case 3:\n prakim = [5];\n break;\n case 4:\n prakim = [6];\n break;\n }\n break;\n case 4:\n switch (cShb) {\n case 1:\n prakim = [4, 5];\n break;\n case 2:\n prakim = [6, 1];\n break;\n case 3:\n prakim = [2, 3];\n break;\n case 4:\n prakim = [4, 5, 6];\n break;\n }\n break;\n case 5:\n switch (cShb) {\n case 1:\n prakim = [5, 6];\n break;\n case 2:\n prakim = [1, 2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 6:\n switch (cShb) {\n case 1:\n prakim = [6];\n break;\n case 2:\n prakim = [1, 2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n }\n return prakim || [];\n};\nvar PirkeiAvos = _PirkeiAvos;\n\n// src/JCal/Dafyomi.ts\nvar _Dafyomi = class _Dafyomi {\n static getDaf(jdate) {\n const absoluteDate = jdate.Abs;\n let dafcnt = 40, cno, dno, osday, nsday, total, count, j, blatt;\n osday = jDate.absSd(new Date(1923, 8, 11));\n nsday = jDate.absSd(new Date(1975, 5, 24));\n if (absoluteDate < osday)\n return null;\n if (absoluteDate >= nsday) {\n cno = 8 + Utils.toInt((absoluteDate - nsday) / 2711);\n dno = (absoluteDate - nsday) % 2711;\n } else {\n cno = 1 + Utils.toInt((absoluteDate - osday) / 2702);\n dno = Utils.toInt((absoluteDate - osday) / 2702);\n }\n total = blatt = 0;\n count = -1;\n if (cno <= 7)\n _Dafyomi.masechtaList[4].daf = 13;\n else\n _Dafyomi.masechtaList[4].daf = 22;\n j = 0;\n while (j < dafcnt) {\n count++;\n total = total + _Dafyomi.masechtaList[j].daf - 1;\n if (dno < total) {\n blatt = _Dafyomi.masechtaList[j].daf + 1 - (total - dno);\n switch (count) {\n case 36:\n blatt = blatt + 21;\n break;\n case 37:\n blatt = blatt + 24;\n break;\n case 38:\n blatt = blatt + 33;\n break;\n default:\n break;\n }\n j = 1 + dafcnt;\n }\n j++;\n }\n return {\n masechet: _Dafyomi.masechtaList[count],\n daf: blatt\n };\n }\n // Returns the name of the Masechta and daf number in English, For example: Sukkah, Daf 3\n static toString(jd) {\n const d = _Dafyomi.getDaf(jd);\n if (d !== null) {\n return d.masechet.eng + \", Daf \" + d.daf.toString();\n }\n }\n //Returns the name of the Masechta and daf number in Hebrew. For example: 'סוכה דף כ.\n static toStringHeb(jd) {\n const d = _Dafyomi.getDaf(jd);\n if (d !== null) {\n return d.masechet.heb + \" \\u05D3\\u05E3 \" + Utils.toJewishNumber(d.daf);\n }\n }\n};\n_Dafyomi.masechtaList = [\n { eng: \"Berachos\", heb: \"\\u05D1\\u05E8\\u05DB\\u05D5\\u05EA\", daf: 64 },\n { eng: \"Shabbos\", heb: \"\\u05E9\\u05D1\\u05EA\", daf: 157 },\n { eng: \"Eruvin\", heb: \"\\u05E2\\u05E8\\u05D5\\u05D1\\u05D9\\u05DF\", daf: 105 },\n { eng: \"Pesachim\", heb: \"\\u05E4\\u05E1\\u05D7\\u05D9\\u05DD\", daf: 121 },\n { eng: \"Shekalim\", heb: \"\\u05E9\\u05E7\\u05DC\\u05D9\\u05DD\", daf: 22 },\n { eng: \"Yoma\", heb: \"\\u05D9\\u05D5\\u05DE\\u05D0\", daf: 88 },\n { eng: \"Sukkah\", heb: \"\\u05E1\\u05D5\\u05DB\\u05D4\", daf: 56 },\n { eng: \"Beitzah\", heb: \"\\u05D1\\u05D9\\u05E6\\u05D4\", daf: 40 },\n { eng: \"Rosh Hashana\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\", daf: 35 },\n { eng: \"Taanis\", heb: \"\\u05EA\\u05E2\\u05E0\\u05D9\\u05EA\", daf: 31 },\n { eng: \"Megillah\", heb: \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05D4\", daf: 32 },\n { eng: \"Moed Katan\", heb: \"\\u05DE\\u05D5\\u05E2\\u05D3 \\u05E7\\u05D8\\u05DF\", daf: 29 },\n { eng: \"Chagigah\", heb: \"\\u05D7\\u05D2\\u05D9\\u05D2\\u05D4\", daf: 27 },\n { eng: \"Yevamos\", heb: \"\\u05D9\\u05D1\\u05DE\\u05D5\\u05EA\", daf: 122 },\n { eng: \"Kesubos\", heb: \"\\u05DB\\u05EA\\u05D5\\u05D1\\u05D5\\u05EA\", daf: 112 },\n { eng: \"Nedarim\", heb: \"\\u05E0\\u05D3\\u05E8\\u05D9\\u05DD\", daf: 91 },\n { eng: \"Nazir\", heb: \"\\u05E0\\u05D6\\u05D9\\u05E8\", daf: 66 },\n { eng: \"Sotah\", heb: \"\\u05E1\\u05D5\\u05D8\\u05D4\", daf: 49 },\n { eng: \"Gitin\", heb: \"\\u05D2\\u05D9\\u05D8\\u05D9\\u05DF\", daf: 90 },\n { eng: \"Kiddushin\", heb: \"\\u05E7\\u05D3\\u05D5\\u05E9\\u05D9\\u05DF\", daf: 82 },\n { eng: \"Baba Kamma\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05E7\\u05DE\\u05D0\", daf: 119 },\n { eng: \"Baba Metzia\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05DE\\u05E6\\u05D9\\u05E2\\u05D0\", daf: 119 },\n { eng: \"Baba Basra\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05D1\\u05EA\\u05E8\\u05D0\", daf: 176 },\n { eng: \"Sanhedrin\", heb: \"\\u05E1\\u05E0\\u05D4\\u05D3\\u05E8\\u05D9\\u05DF\", daf: 113 },\n { eng: \"Makkot\", heb: \"\\u05DE\\u05DB\\u05D5\\u05EA\", daf: 24 },\n { eng: \"Shevuot\", heb: \"\\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\", daf: 49 },\n { eng: \"Avodah Zarah\", heb: \"\\u05E2\\u05D1\\u05D5\\u05D3\\u05D4 \\u05D6\\u05E8\\u05D4\", daf: 76 },\n { eng: \"Horayot\", heb: \"\\u05D4\\u05D5\\u05E8\\u05D9\\u05D5\\u05EA\", daf: 14 },\n { eng: \"Zevachim\", heb: \"\\u05D6\\u05D1\\u05D7\\u05D9\\u05DD\", daf: 120 },\n { eng: \"Menachos\", heb: \"\\u05DE\\u05E0\\u05D7\\u05D5\\u05EA\", daf: 110 },\n { eng: \"Chullin\", heb: \"\\u05D7\\u05D5\\u05DC\\u05D9\\u05DF\", daf: 142 },\n { eng: \"Bechoros\", heb: \"\\u05D1\\u05DB\\u05D5\\u05E8\\u05D5\\u05EA\", daf: 61 },\n { eng: \"Arachin\", heb: \"\\u05E2\\u05E8\\u05DB\\u05D9\\u05DF\", daf: 34 },\n { eng: \"Temurah\", heb: \"\\u05EA\\u05DE\\u05D5\\u05E8\\u05D4\", daf: 34 },\n { eng: \"Kerisos\", heb: \"\\u05DB\\u05E8\\u05D9\\u05EA\\u05D5\\u05EA\", daf: 28 },\n { eng: \"Meilah\", heb: \"\\u05DE\\u05E2\\u05D9\\u05DC\\u05D4\", daf: 22 },\n { eng: \"Kinnim\", heb: \"\\u05E7\\u05E0\\u05D9\\u05DD\", daf: 4 },\n { eng: \"Tamid\", heb: \"\\u05EA\\u05DE\\u05D9\\u05D3\", daf: 10 },\n { eng: \"Midos\", heb: \"\\u05DE\\u05D3\\u05D5\\u05EA\", daf: 4 },\n { eng: \"Niddah\", heb: \"\\u05E0\\u05D3\\u05D4\", daf: 73 }\n];\nvar Dafyomi = _Dafyomi;\n\n// src/JCal/jDate.ts\nvar JS_START_DATE_ABS = 719163;\nvar MS_PER_DAY = 864e5;\nvar JS_START_OFFSET = (/* @__PURE__ */ new Date(0)).getTimezoneOffset();\nvar yearTypes = [\n { isLeapYear: false, dow: 5, isLongCheshvan: false, isLongKislev: true, daysInYear: 354 },\n { isLeapYear: false, dow: 7, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: false, dow: 2, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: false, dow: 3, isLongCheshvan: false, isLongKislev: true, daysInYear: 354 },\n { isLeapYear: false, dow: 7, isLongCheshvan: false, isLongKislev: false, daysInYear: 353 },\n { isLeapYear: false, dow: 2, isLongCheshvan: false, isLongKislev: false, daysInYear: 353 },\n { isLeapYear: false, dow: 5, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: true, dow: 5, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 2, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 5, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 7, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 2, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 7, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 3, isLongCheshvan: false, isLongKislev: true, daysInYear: 384 }\n];\nvar yearTypeList = [\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7\n];\nvar getElapsedDays = (year) => {\n let daysCounter = 0;\n const months = Utils.toInt(\n 235 * Utils.toInt((year - 1) / 19) + // Leap months this cycle\n 12 * ((year - 1) % 19) + // Regular months in this cycle.\n (7 * ((year - 1) % 19) + 1) / 19\n ), parts = 204 + 793 * (months % 1080), hours = 5 + 12 * months + 793 * Utils.toInt(months / 1080) + Utils.toInt(parts / 1080), conjDay = Utils.toInt(1 + 29 * months + hours / 24), conjParts = 1080 * (hours % 24) + parts % 1080;\n if (conjParts >= 19440 || conjDay % 7 === 2 && conjParts >= 9924 && !jDate.isJdLeapY(year) || conjDay % 7 === 1 && conjParts >= 16789 && jDate.isJdLeapY(year - 1)) {\n daysCounter = conjDay + 1;\n } else {\n daysCounter = conjDay;\n }\n if (Utils.has(daysCounter % 7, 0, 3, 5)) {\n daysCounter += 1;\n }\n return daysCounter;\n};\nvar _jDate = class _jDate {\n /**\n * Create a new Jdate.\n * new jDate() - Sets the Jewish Date for the current system date\n * new jDate(javascriptDateObject) - Sets to the Jewish date on the given Gregorian date\n * new jDate(\"January 1 2045\") - Accepts any valid javascript Date string (uses javascripts new Date(string))\n * new jDate(jewishYear, jewishMonth, jewishDay) - Months start at 1. Nissan is month 1 Adar Sheini is 13.\n * new jDate(jewishYear, jewishMonth) - Same as above, with Day defaulting to 1\n * new jDate( { year: 5776, month: 4, day: 5 } ) - same as new jDate(jewishYear, jewishMonth, jewishDay)\n * new jDate( { year: 5776, month: 4 } ) - same as new jDate(jewishYear, jewishMonth)\n * new jDate( { year: 5776 } ) - sets to the first day of Rosh Hashana on the given year\n * new jDate(absoluteDate) - The number of days elapsed since the theoretical date Sunday, December 31, 0001 BCE\n * new jDate(jewishYear, jewishMonth, jewishDay, absoluteDate) - Most efficient constructor. Needs no calculations at all.\n * new jDate( { year: 5776, month: 4, day: 5, abs: 122548708 } ) - same as new jDate(jewishYear, jewishMonth, jewishDay, absoluteDate)\n * @param {number | Date | string | {year:number,month:number,day:number} | [number, number, number, number]} [arg] The full Jewish year number OR Javascript Date object or string OR object or array of year, month, day\n * @param {number} [month] The month of the Jewish date. Nissan is 1.\n * @param {number} [day] The day of the month\n * @param {number} [abs] The number of days that have passed since 12/31/0001\n */\n constructor(arg, month, day, abs) {\n this.Day = NaN;\n this.Month = NaN;\n this.Year = NaN;\n this.Abs = NaN;\n if (arguments.length === 0) {\n this.fromAbs(_jDate.absSd(/* @__PURE__ */ new Date()));\n } else if (arg instanceof Date) {\n if (Utils.isValidDate(arg)) {\n this.fromAbs(_jDate.absSd(arg));\n } else {\n throw \"jDate constructor: The given Date is not a valid javascript Date\";\n }\n } else if (Array.isArray(arg) && arg.length >= 3) {\n this.Day = arg[0];\n this.Month = arg[1];\n this.Year = arg[2];\n this.Abs = arg.length > 3 && arg[3] || _jDate.absJd(this.Year, this.Month, this.Day);\n } else if (arg && Utils.isString(arg)) {\n const d = new Date(arg);\n if (Utils.isValidDate(d)) {\n this.fromAbs(_jDate.absSd(d));\n } else {\n throw 'jDate constructor: The given string \"' + arg + '\" cannot be parsed into a Date';\n }\n } else if (Utils.isNumber(arg)) {\n if (arguments.length === 1) {\n this.fromAbs(arg);\n } else {\n this.Year = arg;\n this.Month = month || 7;\n this.Day = day || 1;\n this.Abs = abs || _jDate.absJd(this.Year, this.Month, this.Day);\n }\n } else if (typeof arg === \"object\") {\n const argObj = arg;\n if (Utils.isNumber(argObj.year)) {\n this.Day = argObj.day || 1;\n this.Month = argObj.month || 7;\n this.Year = argObj.year;\n this.Abs = argObj.abs || _jDate.absJd(this.Year, this.Month, this.Day);\n }\n }\n }\n /**Sets the current Jewish date from the given absolute date*/\n fromAbs(absolute) {\n const ymd = _jDate.fromAbs(absolute);\n this.Year = ymd.year;\n this.Month = ymd.month;\n this.Day = ymd.day;\n this.Abs = absolute;\n }\n /**Returns a valid javascript Date object that represents the Gregorian date\n that starts at midnight of the current Jewish date.*/\n getDate() {\n return _jDate.sdFromAbs(this.Abs);\n }\n /**\n * @returns {number} The day of the week for the current Jewish date. Sunday is 0 and Shabbos is 6.\n */\n getDayOfWeek() {\n return Math.abs(this.Abs % 7);\n }\n /**\n * @returns {number} The day of the week for the current Jewish date. Sunday is 0 and Shabbos is 6\n */\n get DayOfWeek() {\n return this.getDayOfWeek();\n }\n /**Returns a new Jewish date represented by adding the given number of days to the current Jewish date.*/\n addDays(days) {\n return new _jDate(this.Abs + days);\n }\n /**\n * Returns a new Jewish date represented by adding the given number of\n * Jewish Months to the current Jewish date.\n * If the current Day is 30 and the new month only has 29 days,\n * the 29th day of the month is returned.\n * @param {number} months\n */\n addMonths(months) {\n let year = this.Year, month = this.Month, day = this.Day, miy = _jDate.monthsJYear(year);\n for (let i = 0; i < Math.abs(months); i++) {\n if (months > 0) {\n month += 1;\n if (month > miy) {\n month = 1;\n }\n if (month === 7) {\n year += 1;\n miy = _jDate.monthsJYear(year);\n }\n } else if (months < 0) {\n month -= 1;\n if (month === 0) {\n month = miy;\n }\n if (month === 6) {\n year -= 1;\n miy = _jDate.monthsJYear(year);\n }\n }\n }\n if (day === 30 && _jDate.daysJMonth(year, month) === 29) {\n day = 29;\n }\n return new _jDate(year, month, day);\n }\n /**\n * Returns a new Jewish date represented by adding the\n * given number of Jewish Years to the current Jewish date.\n * If the current Day is 30 and the new dates month only has 29 days,\n * the 29th day of the month is returned.\n * @param {number} years\n */\n addYears(years) {\n let year = this.Year + years, month = this.Month, day = this.Day;\n if (month === 13 && !_jDate.isJdLeapY(year)) {\n month = 12;\n } else if (month === 8 && day === 30 && !_jDate.isLongCheshvan(year)) {\n month = 9;\n day = 1;\n } else if (month === 9 && day === 30 && _jDate.isShortKislev(year)) {\n month = 10;\n day = 1;\n }\n if (day === 30 && _jDate.daysJMonth(year, month) === 29) {\n day = 29;\n }\n return new _jDate(year, month, day);\n }\n addSecularMonths(months) {\n const secDate = new Date(this.getDate().valueOf());\n secDate.setMonth(secDate.getMonth() + months);\n return new _jDate(secDate);\n }\n addSecularYears(years) {\n const secDate = new Date(this.getDate().valueOf());\n secDate.setFullYear(secDate.getFullYear() + years);\n return new _jDate(secDate);\n }\n /**Gets the number of days separating this Jewish Date and the given one.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffDays(jd) {\n return jd.Abs - this.Abs;\n }\n /**Gets the number of months separating this Jewish Date and the given one.\n *\n * Ignores the Day property:\n *\n * jDate.toJDate(5777, 6, 29).diffMonths(jDate.toJDate(5778, 7, 1)) will return 1 even though they are a day apart.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffMonths(jd) {\n let month = jd.Month, year = jd.Year, months = 0;\n while (!(year === this.Year && month === this.Month)) {\n if (this.Abs > jd.Abs) {\n months--;\n month++;\n if (month > _jDate.monthsJYear(year)) {\n month = 1;\n } else if (month === 7) {\n year++;\n }\n } else {\n months++;\n month--;\n if (month < 1) {\n month = _jDate.monthsJYear(year);\n } else if (month === 6) {\n year--;\n }\n }\n }\n return months;\n }\n /**Gets the number of full months separating this Jewish Date and the given one.\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffFullMonths(jd) {\n let months = this.diffMonths(jd);\n if (months >= 0 && this.Day > jd.Day) {\n months--;\n } else if (months < 0 && this.Day < jd.Day) {\n months++;\n }\n return months;\n }\n /**Gets the number of years separating this Jewish Date and the given one.\n *\n * Ignores the Day and Month properties:\n *\n * jDate.toJDate(5777, 6, 29).diffYears(jDate.toJDate(5778, 7, 1)) will return 1 even though they are a day apart.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd*/\n diffYears(jd) {\n let diff = jd.Year - this.Year;\n if (this.Month < jd.Month || this.Month === jd.Month && this.Day < jd.Day) {\n diff--;\n }\n return diff;\n }\n /**Gets the number of full years separating this Jewish Date and the given one.\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd*/\n diffFullYears(jd) {\n let diff = jd.Year - this.Year;\n if (diff >= 0 && (this.Month > jd.Month || this.Month === jd.Month && this.Day > jd.Day)) {\n diff--;\n } else if (diff < 0 && (this.Month < jd.Month || this.Month === jd.Month && this.Day < jd.Day)) {\n diff++;\n }\n return diff;\n }\n /**\n * Returns the current Jewish date in the format: Thursday, the 3rd of Kislev 5776.\n * @param {boolean} hideDayOfWeek\n * @param {boolean} dontCapitalize\n */\n toString(hideDayOfWeek, dontCapitalize) {\n return (hideDayOfWeek ? dontCapitalize ? \"t\" : \"T\" : DaysOfWeekEng[this.getDayOfWeek()] + \", t\") + \"he \" + Utils.toSuffixed(this.Day) + \" of \" + this.monthName();\n }\n /**\n * Returns the current Jewish date in the format \"[Tuesday] Nissan 3, 5778\"\n * @param {boolean} showDow - show day of week?\n */\n toShortstring(showDow) {\n return (showDow ? DaysOfWeekEng[this.getDayOfWeek()] + \" \" : \"\") + JewishMonthsEng[this.Month] + \" \" + this.Day.toString() + \", \" + this.Year.toString();\n }\n /**\n * Returns the current Jewish date in the format \"Nissan 5778\"\n * @param {boolean} showYear - show the year number?\n */\n monthName(showYear = true) {\n return JewishMonthsEng[this.Month] + (this.Month === 12 && _jDate.isJdLeapY(this.Year) ? \" Rishon \" : \" \") + (showYear ? this.Year.toString() : \"\");\n }\n /**\n * Returns the current Jewish date in the format: יום חמישי כ\"א כסלו תשע\"ו\n * @param hideDayOfWeek When set to truthy, hides the day of the week\n */\n toStringHeb(hideDayOfWeek) {\n return (!hideDayOfWeek ? DaysOfWeekHeb[this.getDayOfWeek()] + \" \" : \"\") + Utils.toJewishNumber(this.Day) + \" \" + JewishMonthsHeb[this.Month] + (this.Month === 12 && _jDate.isJdLeapY(this.Year) ? \" \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \" : \" \") + Utils.toJewishNumber(this.Year % 1e3);\n }\n /**Gets the day of the omer for the current Jewish date. If the date is not during sefira, 0 is returned.*/\n getDayOfOmer() {\n let dayOfOmer = 0;\n if (this.Month === 1 && this.Day > 15 || this.Month === 2 || this.Month === 3 && this.Day < 6) {\n const first = new _jDate(this.Year, 1, 15);\n dayOfOmer = first.diffDays(this);\n }\n return dayOfOmer;\n }\n /**\n * Returns true if this day is yomtov or chol hamoed\n * @param {boolean} israel\n */\n isYomTovOrCholHamoed(israel2) {\n return this.isYomTov(israel2) || this.Month === 1 && [16, 17, 18, 19, 20].includes(this.Day) || this.Month === 7 && [16, 17, 18, 19, 20, 21].includes(this.Day);\n }\n /**\n * Returns true if this day is yomtov\n * @param {boolean} israel\n */\n isYomTov(israel2) {\n const day = this.Day;\n switch (this.Month) {\n case 1:\n if (day === 15 || day === 21) return true;\n if (!israel2 && (day === 16 || day === 22)) return true;\n break;\n case 3:\n if (day === 6 || !israel2 && day === 7) return true;\n break;\n case 7:\n if ([1, 2, 10, 15, 22].includes(day)) {\n return true;\n }\n if (!israel2 && (day === 16 || day === 23)) return true;\n break;\n }\n return false;\n }\n /**Is today Erev Yom Tov? (includes Erev second days of Sukkos and Pesach) */\n isErevYomTov() {\n return this.Month === 1 && Utils.has(this.Day, 14, 20) || this.Month === 3 && this.Day === 5 || this.Month === 6 && this.Day === 29 || this.Month === 7 && Utils.has(this.Day, 9, 14, 21);\n }\n /**Does the current Jewish date have candle lighting before sunset?*/\n hasCandleLighting() {\n const dow = this.getDayOfWeek();\n if (dow === 5) {\n return true;\n } else if (dow === 6) {\n return false;\n }\n return this.isErevYomTov();\n }\n /**Is the current Jewish Date the day before a yomtov that contains a Friday?*/\n hasEiruvTavshilin(israel2) {\n let dow = this.getDayOfWeek();\n return (\n //Eiruv Tavshilin is only on Wednesday or Thursday\n [3, 4].includes(dow) && //today is Erev Yomtov\n this.isErevYomTov() && //Thursday OR Wednesday when in Chu\"l or Erev Rosh Hashana anywhere\n (dow === 4 || dow === 3 && (!israel2 || this.Month === 6)) && //No Eiruv Tavshilin on Erev yom kippur\n this.Day !== 9\n );\n }\n /**Gets the candle lighting time for the current Jewish date for the given Location object.*/\n getCandleLighting(location, nullIfNoCandles) {\n if (!location) {\n throw \"To get sunrise and sunset, the location needs to be supplied\";\n }\n if (this.hasCandleLighting()) {\n return Zmanim.getCandleLighting(this, location);\n } else if (nullIfNoCandles) {\n return null;\n } else {\n throw \"No candle lighting on \" + this.toString();\n }\n }\n /**Get the sedra of the week for the current Jewish date.*/\n getSedra(israel2) {\n return new Sedra(this, israel2);\n }\n /**Get the prakim of Pirkei Avos for the current Jewish date.*/\n getPirkeiAvos(israel2) {\n return PirkeiAvos.getPrakim(this, israel2);\n }\n /**Gets sunrise and sunset time for the current Jewish date at the given Location.\n *\n * Return format: {sunrise: {hour: 6, minute: 18}, sunset: {hour: 19, minute: 41}}*/\n getSunriseSunset(location, ignoreElevation) {\n if (!location) {\n throw \"To get sunrise and sunset, the location needs to be supplied\";\n }\n return Zmanim.getSunTimes(this, location, !ignoreElevation);\n }\n /**Gets Chatzos for both the day and the night for the current Jewish date at the given Location.\n *\n *Return format: {hour: 11, minute: 48}*/\n getChatzos(location) {\n if (!location) {\n throw \"To get Chatzos, the location needs to be supplied\";\n }\n return Zmanim.getChatzos(this, location);\n }\n /**Gets the length of a single Sha'a Zmanis in minutes for the current Jewish date at the given Location.*/\n getShaaZmanis(location, offset) {\n if (!location) {\n throw \"To get the Shaa Zmanis, the location needs to be supplied\";\n }\n return Zmanim.getShaaZmanis(this, location, offset);\n }\n /**Returns the daily daf in English. For example: Sukkah, Daf 3.*/\n getDafYomi() {\n return Dafyomi.toString(this) || \"\";\n }\n /**Gets the daily daf in Hebrew. For example: 'סוכה דף כ.*/\n getDafyomiHeb() {\n return Dafyomi.toStringHeb(this) || \"\";\n }\n /**\n * Converts its argument/s to a Jewish Date.\n * Samples of use:\n * To get the current Jewish Date: jDate.toJDate(new Date()).\n * To print out the current date in English: jDate.toJDate(new Date()).toString()\n * To print out the current date in Hebrew: jDate.toJDate(new Date()).toStringHeb()\n *\n * Arguments to the jDate.toJDate function can be one of the following:\n * jDate.toJDate() - Sets the Jewish Date for the current system date\n * jDate.toJDate(Date) - Sets to the Jewish date on the given Javascript Date object\n * jDate.toJDate(\"January 1 2045\") - Accepts any valid Javascript Date string (uses string constructor of Date object)\n * jDate.toJDate(jewishYear, jewishMonth, jewishDay) - Months start at 1. Nissan is month 1 Adara Sheini is 13.\n * jDate.toJDate(jewishYear, jewishMonth) - Same as above, with Day defaulting to 1\n * jDate.toJDate(jewishYear) - sets to the first day of Rosh Hashana on the given year\n * jDate.toJDate( { year: 5776, month: 4, day: 5 } ) - Months start at 1. Nissan is month 1 Adara Sheini is 13.\n * jDate.toJDate( { year: 5776, month: 4 } ) - Same as above, with Day defaulting to 1\n * jDate.toJDate( { year: 5776 } ) - sets to the first day of Rosh Hashana on the given year\n * jDate.toJDate(jewishYear, jewishMonth, jewishDay, absoluteDate) - Most efficient. Needs no calculations at all. The absoluteDate is the number of days elapsed since the theoretical date Sunday, December 31, 0001 BCE.\n * jDate.toJDate( { year: 5776, month: 4, day: 5, abs: 122548708 } ) - same as jDate.toJDate(jewishYear, jewishMonth, jewishDay, absoluteDate)\n ****************************************************************************************************************/\n static toJDate(arg, month, day, abs) {\n if (arguments.length === 0) {\n return new _jDate();\n } else if (Utils.isNumber(arg) && arguments.length === 1) {\n return new _jDate(arg, 7, 1);\n } else {\n return new _jDate(arg, month, day, abs);\n }\n }\n static now() {\n return new _jDate();\n }\n /**Calculate the Jewish year, month and day for the given absolute date.*/\n static fromAbs(absDay) {\n let year = 3761 + Utils.toInt(absDay / (absDay > 0 ? 366 : 300)), month, day;\n while (absDay >= _jDate.absJd(year + 1, 7, 1)) {\n year++;\n }\n month = absDay < _jDate.absJd(year, 1, 1) ? 7 : 1;\n while (absDay > _jDate.absJd(year, month, _jDate.daysJMonth(year, month))) {\n month++;\n }\n day = absDay - _jDate.absJd(year, month, 1) + 1;\n return { year, month, day };\n }\n /**\n * Gets the absolute date of the given javascript Date object.\n * @param {Date} date\n */\n static absSd(date) {\n const ms = date.valueOf() - date.getTimezoneOffset() * 6e4, numFullDays = Math.floor(ms / MS_PER_DAY);\n return JS_START_DATE_ABS + numFullDays;\n }\n /**Calculate the absolute date for the given Jewish Date.*/\n static absJd(year, month, day) {\n let dayInYear = day;\n if (month < 7) {\n let m = 7;\n while (m <= _jDate.monthsJYear(year)) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n m = 1;\n while (m < month) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n } else {\n let m = 7;\n while (m < month) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n }\n return dayInYear + (getElapsedDays(year) + -1373429);\n }\n /**\n * Gets a javascript date from an absolute date\n */\n static sdFromAbs(abs) {\n const offset = JS_START_OFFSET > 0 ? 1 : 0, daysSinceStart = abs - JS_START_DATE_ABS + offset;\n return new Date(daysSinceStart * MS_PER_DAY);\n }\n /**number of days in the given Jewish Month. Nissan is 1 and Adar Sheini is 13.*/\n static daysJMonth(year, month) {\n switch (month) {\n //Nissan, Sivan, Av, Tishrei and Shvat always have 30 days\n case 1:\n case 3:\n case 5:\n case 7:\n case 11:\n return 30;\n //Iyyar, Tammuz, Ellul, Teves and Adar Sheini always have 29 days.\n case 2:\n case 4:\n case 6:\n case 10:\n case 13:\n return 29;\n //Cheshvan sometimes has 29 days and sometimes 30 days.\n case 8:\n return _jDate.isLongCheshvan(year) ? 30 : 29;\n //Kislev sometimes has 29 days and sometimes 30 days.\n case 9:\n return _jDate.isShortKislev(year) ? 29 : 30;\n //Adar has 29 days unless it is Adar Rishon.\n case 12:\n return _jDate.isJdLeapY(year) ? 30 : 29;\n }\n return 0;\n }\n /**The index for the year type of the given year.\n * IMPORTANT NOTE: Only works for years 5000 and after.\n */\n static yearType(year) {\n return yearTypes[yearTypeList[year - 5e3]];\n }\n /**number of days in the given Jewish Year.*/\n static daysJYear(year) {\n if (!year || year < 0) {\n return 0;\n }\n if (year >= 5e3) {\n return _jDate.yearType(year).daysInYear;\n } else {\n return getElapsedDays(year + 1) - getElapsedDays(year);\n }\n }\n /**Does Cheshvan for the given Jewish Year have 30 days?*/\n static isLongCheshvan(year) {\n if (!year || year < 0) {\n return false;\n }\n if (year >= 5e3) {\n return _jDate.yearType(year).isLongCheshvan;\n } else {\n return _jDate.daysJYear(year) % 10 === 5;\n }\n }\n /**Does Kislev for the given Jewish Year have 29 days?*/\n static isShortKislev(year) {\n if (!year || year < 0) {\n return false;\n }\n if (year >= 5e3) {\n return !_jDate.yearType(year).isLongKislev;\n } else {\n return _jDate.daysJYear(year) % 10 === 3;\n }\n }\n /**Does the given Jewish Year have 13 months?*/\n static isJdLeapY(year) {\n return (7 * year + 1) % 19 < 7;\n }\n /**number of months in Jewish Year.*/\n static monthsJYear(year) {\n return _jDate.isJdLeapY(year) ? 13 : 12;\n }\n};\n_jDate.getElapsedDays = getElapsedDays;\nvar jDate = _jDate;\n\n// src/JCal/Zmanim.ts\nvar Zmanim = class _Zmanim {\n /**\n * Gets sunrise and sunset time for given date and Location.\n * Accepts a javascript Date object, a string for creating a javascript date object or a jDate object.\n * Location object is required.\n * @returns {SunTimes}\n * @param {Date | jDate} date A Javascript Date or Jewish Date for which to calculate the sun times.\n * @param {Location} location Where on the globe to calculate the sun times for.\n * @param {Boolean} considerElevation\n */\n static getSunTimes(date, location, considerElevation = true) {\n if (date instanceof jDate) {\n date = date.getDate();\n } else if (date instanceof String) {\n date = new Date(date);\n }\n if (!Utils.isValidDate(date)) {\n throw \"Zmanim.getSunTimes: supplied date parameter cannot be converted to a Date\";\n }\n let sunrise, sunset, zenithDeg = 90, zenithMin = 50, lonHour = 0, longitude = 0, latitude = 0, cosLat = 0, sinLat = 0, cosZen = 0, sinDec = 0, cosDec = 0, xmRise = 0, xmSet = 0, xlRise = 0, xlSet = 0, aRise = 0, aSet = 0, ahrRise = 0, ahrSet = 0, hRise = 0, hSet = 0, tRise = 0, tSet = 0, utRise = 0, utSet = 0;\n const day = _Zmanim.dayOfYear(date), earthRadius = 6356900, zenithAtElevation = _Zmanim.degToDec(zenithDeg, zenithMin) + _Zmanim.radToDeg(Math.acos(earthRadius / (earthRadius + (considerElevation ? location.Elevation : 0))));\n zenithDeg = Math.floor(zenithAtElevation);\n zenithMin = (zenithAtElevation - zenithDeg) * 60;\n cosZen = Math.cos(0.01745 * _Zmanim.degToDec(zenithDeg, zenithMin));\n longitude = location.Longitude;\n lonHour = longitude / 15;\n latitude = location.Latitude;\n cosLat = Math.cos(0.01745 * latitude);\n sinLat = Math.sin(0.01745 * latitude);\n tRise = day + (6 + lonHour) / 24;\n tSet = day + (18 + lonHour) / 24;\n xmRise = _Zmanim.M(tRise);\n xlRise = _Zmanim.L(xmRise);\n xmSet = _Zmanim.M(tSet);\n xlSet = _Zmanim.L(xmSet);\n aRise = 57.29578 * Math.atan(0.91746 * Math.tan(0.01745 * xlRise));\n aSet = 57.29578 * Math.atan(0.91746 * Math.tan(0.01745 * xlSet));\n if (Math.abs(aRise + 360 - xlRise) > 90) {\n aRise += 180;\n }\n if (aRise > 360) {\n aRise -= 360;\n }\n if (Math.abs(aSet + 360 - xlSet) > 90) {\n aSet += 180;\n }\n if (aSet > 360) {\n aSet -= 360;\n }\n ahrRise = aRise / 15;\n sinDec = 0.39782 * Math.sin(0.01745 * xlRise);\n cosDec = Math.sqrt(1 - sinDec * sinDec);\n hRise = (cosZen - sinDec * sinLat) / (cosDec * cosLat);\n ahrSet = aSet / 15;\n sinDec = 0.39782 * Math.sin(0.01745 * xlSet);\n cosDec = Math.sqrt(1 - sinDec * sinDec);\n hSet = (cosZen - sinDec * sinLat) / (cosDec * cosLat);\n if (Math.abs(hRise) <= 1) {\n hRise = 57.29578 * Math.acos(hRise);\n utRise = (360 - hRise) / 15 + ahrRise + _Zmanim.adj(tRise) + lonHour;\n sunrise = _Zmanim.timeAdj(utRise + location.UTCOffset, date, location);\n if (sunrise.hour > 12) {\n sunrise.hour -= 12;\n }\n }\n if (Math.abs(hSet) <= 1) {\n hSet = 57.29578 * Math.acos(hSet);\n utSet = hRise / 15 + ahrSet + _Zmanim.adj(tSet) + lonHour;\n sunset = _Zmanim.timeAdj(utSet + location.UTCOffset, date, location);\n if (sunset.hour > 0 && sunset.hour < 12) {\n sunset.hour += 12;\n }\n }\n return { sunrise, sunset };\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n */\n static getChatzos(date, location) {\n return _Zmanim.getChatzosFromSuntimes(\n _Zmanim.getSunTimes(date, location, false)\n );\n }\n /**\n * @param {SunTimes} sunTimes\n */\n static getChatzosFromSuntimes(sunTimes) {\n const rise = sunTimes.sunrise, set = sunTimes.sunset;\n if (rise === void 0 || isNaN(rise.hour) || set === void 0 || isNaN(set.hour)) {\n return { hour: NaN, minute: NaN };\n }\n const chatz = Utils.toInt((Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 2);\n return Utils.addSeconds(rise, chatz);\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n * @param {any} offset\n */\n static getShaaZmanis(date, location, offset) {\n return _Zmanim.getShaaZmanisFromSunTimes(\n _Zmanim.getSunTimes(date, location, false),\n offset\n );\n }\n /**\n * @param {{ sunrise: any; sunset: any; }} sunTimes\n * @param {number} [offset]\n */\n static getShaaZmanisFromSunTimes(sunTimes, offset) {\n if (!sunTimes || !sunTimes.sunrise || !sunTimes.sunset) {\n return 0;\n }\n let rise = sunTimes.sunrise, set = sunTimes.sunset;\n if (!rise || isNaN(rise.hour) || !set || isNaN(set.hour)) {\n return NaN;\n }\n if (offset) {\n rise = Utils.addMinutes(rise, -offset);\n set = Utils.addMinutes(set, offset);\n }\n return (Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 720;\n }\n /**\n * @param {{ sunrise: any; sunset: any; }} sunTimes\n * @param {boolean} israel\n */\n static getShaaZmanisMga(sunTimes, israel2) {\n const minutes = israel2 ? 90 : 72;\n let rise = sunTimes.sunrise && Utils.addMinutes(sunTimes.sunrise, -minutes), set = sunTimes.sunset && Utils.addMinutes(sunTimes.sunset, minutes);\n if (!rise || isNaN(rise.hour) || !set || isNaN(set.hour)) {\n return NaN;\n }\n return (Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 720;\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n */\n static getCandleLighting(date, location) {\n return _Zmanim.getCandleLightingFromSunTimes(\n _Zmanim.getSunTimes(date, location),\n location\n );\n }\n /**\n * @param {SunTimes} sunTimes\n * @param {any} location\n */\n static getCandleLightingFromSunTimes(sunTimes, location) {\n return sunTimes.sunset && _Zmanim.getCandleLightingFromSunset(sunTimes.sunset, location);\n }\n /**\n * @param {Time} sunset\n * @param {Location} location\n */\n static getCandleLightingFromSunset(sunset, location) {\n return Utils.addMinutes(sunset, -(location.CandleLighting || 0));\n }\n /**\n * @param {Date} date\n */\n static dayOfYear(date) {\n const month = date.getMonth(), isLeap = () => Utils.isSecularLeapYear(date.getFullYear()), yearDay = [0, 1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n return yearDay[month + 1] + date.getDate() + (month > 1 && isLeap() ? 1 : 0);\n }\n /**\n * @param {number} deg\n * @param {number} min\n */\n static degToDec(deg, min) {\n return deg + min / 60;\n }\n /**\n * @param {number} x\n */\n static M(x) {\n return 0.9856 * x - 3.251;\n }\n /**\n * @param {number} x\n */\n static L(x) {\n return x + 1.916 * Math.sin(0.01745 * x) + 0.02 * Math.sin(2 * 0.01745 * x) + 282.565;\n }\n /**\n * @param {number} x\n */\n static adj(x) {\n return -0.06571 * x - 6.62;\n }\n /**\n * @param {number} rad\n */\n static radToDeg(rad) {\n return 57.29578 * rad;\n }\n /**\n * @param {number} time\n * @param {Date} date\n * @param {Location} location\n */\n static timeAdj(time, date, location) {\n if (time < 0) {\n time += 24;\n }\n let hour = Utils.toInt(time);\n const minFloat = (time - hour) * 60 + 0.5, min = Utils.toInt(minFloat), sec = Math.round(60 * (minFloat - min));\n if (Utils.isDST(location, date)) {\n hour++;\n }\n return Utils.fixTime({ hour, minute: min, second: sec });\n }\n};\n\n// src/Utils.ts\nvar __DEV__ = process.env.NODE_ENV === \"development\";\nvar DaysOfWeek = Object.freeze({\n SUNDAY: 0,\n MONDAY: 1,\n TUESDAY: 2,\n WEDNESDAY: 3,\n THURSDAY: 4,\n FRIDAY: 5,\n SHABBOS: 6\n});\nvar JewishMonthsNames = Object.freeze({\n NISSAN: 1,\n IYAR: 2,\n SIVAN: 3,\n TAMUZ: 4,\n AV: 5,\n ELLUL: 6,\n TISHREI: 7,\n CHESHVAN: 8,\n KISLEV: 9,\n TEVES: 10,\n SHVAT: 11,\n ADAR: 12,\n ADAR_SHEINI: 13\n});\nvar JewishMonthsEng = [\n \"\",\n \"Nissan\",\n \"Iyar\",\n \"Sivan\",\n \"Tamuz\",\n \"Av\",\n \"Ellul\",\n \"Tishrei\",\n \"Cheshvan\",\n \"Kislev\",\n \"Teves\",\n \"Shvat\",\n \"Adar\",\n \"Adar Sheini\"\n];\nvar JewishMonthsHeb = [\n \"\",\n \"\\u05E0\\u05D9\\u05E1\\u05DF\",\n \"\\u05D0\\u05D9\\u05D9\\u05E8\",\n \"\\u05E1\\u05D9\\u05D5\\u05DF\",\n \"\\u05EA\\u05DE\\u05D5\\u05D6\",\n \"\\u05D0\\u05D1\",\n \"\\u05D0\\u05DC\\u05D5\\u05DC\",\n \"\\u05EA\\u05E9\\u05E8\\u05D9\",\n \"\\u05D7\\u05E9\\u05D5\\u05DF\",\n \"\\u05DB\\u05E1\\u05DC\\u05D5\",\n \"\\u05D8\\u05D1\\u05EA\",\n \"\\u05E9\\u05D1\\u05D8\",\n \"\\u05D0\\u05D3\\u05E8\",\n \"\\u05D0\\u05D3\\u05E8 \\u05E9\\u05E0\\u05D9\"\n];\nvar SecularMonthsEng = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\nvar DaysOfWeekEng = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Erev Shabbos\",\n \"Shabbos Kodesh\"\n];\nvar DaysOfWeekHeb = [\n \"\\u05D9\\u05D5\\u05DD \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF\",\n \"\\u05D9\\u05D5\\u05DD \\u05E9\\u05E0\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05E9\\u05DC\\u05D9\\u05E9\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05E8\\u05D1\\u05D9\\u05E2\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05D7\\u05DE\\u05D9\\u05E9\\u05D9\",\n \"\\u05E2\\u05E8\\u05D1 \\u05E9\\u05D1\\u05EA \\u05E7\\u05D5\\u05D3\\u05E9\",\n \"\\u05E9\\u05D1\\u05EA \\u05E7\\u05D5\\u05D3\\u05E9\"\n];\nvar _Utils = class _Utils {\n /**\n * Gets the Jewish representation of a number (365 = שס\"ה)\n * Minimum number is 1 and maximum is 9999.\n * @param {Number} number\n */\n static toJewishNumber(number) {\n if (number < 1) {\n throw \"Min value is 1\";\n }\n if (number > 9999) {\n throw \"Max value is 9999\";\n }\n let n = number, retval = \"\";\n if (n >= 1e3) {\n retval += _Utils.jsd[_Utils.toInt((n - n % 1e3) / 1e3) - 1] + \"'\";\n n = n % 1e3;\n }\n while (n >= 400) {\n retval += \"\\u05EA\";\n n -= 400;\n }\n if (n >= 100) {\n retval += _Utils.jhd[_Utils.toInt((n - n % 100) / 100) - 1];\n n = n % 100;\n }\n if (n == 15) {\n retval += \"\\u05D8\\u05D5\";\n } else if (n == 16) {\n retval += \"\\u05D8\\u05D6\";\n } else {\n if (n > 9) {\n retval += _Utils.jtd[_Utils.toInt((n - n % 10) / 10) - 1];\n }\n if (n % 10 > 0) {\n retval += _Utils.jsd[n % 10 - 1];\n }\n }\n if (number > 999 && number % 1e3 < 10) {\n retval = \"'\" + retval;\n } else if (retval.length > 1) {\n retval = retval.slice(0, -1) + '\"' + retval[retval.length - 1];\n }\n return retval;\n }\n /**\n * Returns the javascript date in the format: Thursday, the 3rd of January 2018.\n * @param {Date} date\n * @param {Boolean} hideDayOfWeek\n * @param {Boolean} dontCapitalize\n */\n static toStringDate(date, hideDayOfWeek, dontCapitalize) {\n if (!date) return;\n return (hideDayOfWeek ? dontCapitalize ? \"t\" : \"T\" : DaysOfWeekEng[date.getDay()] + \", t\") + \"he \" + _Utils.toSuffixed(date.getDate()) + \" of \" + SecularMonthsEng[date.getMonth()] + \" \" + date.getFullYear().toString();\n }\n /**\n * Returns the javascript date in the format: 1/3/2020.\n * @param {Date} date\n * @param {Boolean} monthFirst\n */\n static toShortStringDate(date, monthFirst) {\n if (!date) return;\n const dayNum = date.getDate(), monthNum = date.getMonth() + 1;\n return (monthFirst ? `${monthNum}/${dayNum}` : `${dayNum < 10 ? \"0\" : \"\"}${dayNum}/${monthNum < 10 ? \"0\" : \"\"}${monthNum}`) + \"/\" + date.getFullYear().toString();\n }\n /**\n * Add two character suffix to number. e.g. 21st, 102nd, 93rd, 500th\n * @param {Number} num\n */\n static toSuffixed(num) {\n const t = num.toString();\n let suffix = \"th\";\n if (t.length === 1 || t[t.length - 2] !== \"1\") {\n switch (t[t.length - 1]) {\n case \"1\":\n suffix = \"st\";\n break;\n case \"2\":\n suffix = \"nd\";\n break;\n case \"3\":\n suffix = \"rd\";\n break;\n }\n }\n return t + suffix;\n }\n /**\n * Returns if the given full secular year has a February 29th\n * @param {Number} year\n */\n static isSecularLeapYear(year) {\n return !(year % 400) || !!(year % 100) && !(year % 4);\n }\n /**\n * Get day of week using Javascripts getDay function.\n * Important note: months starts at 1 not 0 like javascript\n * The DOW returned has Sunday = 0\n * @param {Number} year\n * @param {Number} month\n * @param {Number} day\n */\n static getSdDOW(year, month, day) {\n return new Date(year, month - 1, day).getDay();\n }\n /**\n * Makes sure hour is between 0 and 23 and minute is between 0 and 59.\n * Overlaps get added/subtracted.\n * The argument needs to be an object in the format {hour : 12, minute : 42, second : 18}\n * @param {Time} time\n */\n static fixTime(time) {\n const result = {\n hour: time.hour,\n minute: time.minute,\n second: time.second || 0\n };\n while (result.second >= 60) {\n result.minute += 1;\n result.second -= 60;\n }\n while (result.second < 0) {\n result.minute -= 1;\n result.second += 60;\n }\n while (result.minute < 0) {\n result.minute += 60;\n result.hour--;\n }\n while (result.minute >= 60) {\n result.minute -= 60;\n result.hour++;\n }\n if (result.hour < 0) {\n result.hour = 24 + result.hour % 24;\n }\n if (result.hour > 23) {\n result.hour = result.hour % 24;\n }\n return result;\n }\n /**\n * Add the given number of minutes to the given time.\n * The argument needs to be an object in the format {hour : 12, minute : 42, second : 18 }\n *\n * @param {Time} time\n * @param {Number} minutes\n */\n static addMinutes(time, minutes) {\n if (!time) return time;\n return time && _Utils.fixTime({\n hour: time.hour,\n minute: time.minute + (minutes || 0),\n second: time.second\n });\n }\n /**\n * Add the given number of seconds to the given time.\n * The argument needs to be an object in the format {hour : 12, minute :42, second : 18}\n *\n * @param {Time} time\n * @param {Number} seconds\n */\n static addSeconds(time, seconds) {\n return _Utils.fixTime({\n hour: time.hour,\n minute: time.minute,\n second: (time.second || 0) + seconds\n });\n }\n /**\n * Gets the time difference between two times of day.\n * If showNegative is falsey, assumes that the earlier time is always before the later time.\n * So, if laterTime is less than earlierTime, the returned diff is until the next day.\n * Both arguments need to be an object in the format {hour : 12, minute : 42, second : 18 }\n * @param {Time} earlierTime\n * @param {Time} laterTime\n * @param {Boolean} [showNegative] show negative values or assume second value is next day?\n * @returns{{hour:number, minute:number, second:number, sign:1|-1}}\n */\n static timeDiff(earlierTime, laterTime, showNegative = false) {\n const earlySec = _Utils.totalSeconds(earlierTime), laterSec = _Utils.totalSeconds(laterTime), time = _Utils.fixTime({\n hour: 0,\n minute: 0,\n second: earlySec <= laterSec ? laterSec - earlySec : showNegative ? earlySec - laterSec : 86400 - earlySec + laterSec\n });\n return {\n ...time,\n sign: earlySec <= laterSec || !showNegative ? 1 : -1\n };\n }\n /**\n * Gets the total number of minutes in the given time.\n * @param {Time} time An object in the format {hour : 12, minute :42, second : 18}\n */\n static totalMinutes(time) {\n return time ? time.hour * 60 + time.minute : 0;\n }\n /**\n * Gets the total number of seconds in the given time.\n * @param {Time} time An object in the format {hour : 12, minute :42, second : 18}\n */\n static totalSeconds(time) {\n return time ? _Utils.totalMinutes(time) * 60 + (time.second || 0) : 0;\n }\n /**\n * Returns the time of the given javascript date as an object in the format of {hour : 23, minute :42, second: 18 }\n * @param {Date} sdate\n * @returns {{hour :number, minute :number, second:number }}\n */\n static timeFromDate(sdate) {\n return {\n hour: sdate.getHours(),\n minute: sdate.getMinutes(),\n second: sdate.getSeconds()\n };\n }\n /**\n * Determines if the second given time is after (or at) the first given time\n * @param {{hour :number, minute :number, second:number }} beforeTime\n * @param {{hour :number, minute :number, second:number }} afterTime\n */\n static isTimeAfter(beforeTime, afterTime) {\n if (!beforeTime || !afterTime) return false;\n return _Utils.totalSeconds(afterTime) >= _Utils.totalSeconds(beforeTime);\n }\n /**\n * Returns the given time interval in a formatted string.\n * @param {{hour:number, minute:number,second:number,sign?: 1 | -1}} time An object in the format {hour : 23, minute :42, second: 18 }\n */\n static getTimeIntervalTextStringHeb(time) {\n let t = \"\";\n if (time.hour > 0) {\n t += `${time.hour.toString()} ${time.hour === 1 ? \"\\u05E9\\u05E2\\u05D4\" : \"\\u05E9\\u05E2\\u05D5\\u05EA\"}\\xAD`;\n }\n if (time.minute > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${time.minute.toString()} ${time.minute === 1 ? \"\\u05D3\\u05E7\\u05D4\" : \"\\u05D3\\u05E7\\u05D5\\u05EA\"}\\xAD`;\n }\n if ((time.second || 0) > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${Math.trunc(time.second || 0).toString()} ${time.second === 1 ? \"\\u05E9\\u05E0\\u05D9\\u05D9\\u05D4\" : \"\\u05E9\\u05E0\\u05D9\\u05D5\\u05EA\"}\\xAD`;\n }\n return t;\n }\n /**\n * Returns the given time interval in a formatted string.\n * @param {{hour:number, minute:number,second:number,sign?: 1 | -1}} time An object in the format {hour : 23, minute :42, second: 18 }\n */\n static getTimeIntervalTextString(time) {\n let t = \"\";\n if (time.hour > 0) {\n t += `${time.hour.toString()} ${time.hour === 1 ? \"hour\" : \"hours\"}\\xAD`;\n }\n if (time.minute > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${time.minute.toString()} ${time.minute === 1 ? \"minute\" : \"minutes\"}\\xAD`;\n }\n if ((time.second || 0) > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${Math.trunc(time.second || 0).toString()} ${time.second === 1 ? \"second\" : \"seconds\"}\\xAD`;\n }\n return t;\n }\n /**\n * Returns the nusach for Sefiras Ha'omer for the given day and minhag\n * @param {number} dayOfOmer The day of the Omer for which to get the nusach for\n * @param {'ashkenaz'|'sefard'|'sefardi'} nusach Should it be La'Omer (\"sefard\") or Ba'Omer (\"ashkenaz\") or \"sefardi\" (Eidot Hamizrach)?\n */\n static getOmerNusach(dayOfOmer, nusach) {\n const weeks = _Utils.toInt(dayOfOmer / 7), days = dayOfOmer % 7;\n let txt = \"\\u05D4\\u05D9\\u05D5\\u05DD \";\n if (dayOfOmer === 1) {\n txt += \"\\u05D9\\u05D5\\u05DD \\u05D0\\u05D7\\u05D3 \";\n } else {\n if (dayOfOmer === 2) {\n txt += \"\\u05E9\\u05E0\\u05D9 \";\n } else {\n if (dayOfOmer === 10) {\n txt += \"\\u05E2\\u05E9\\u05E8\\u05D4 \";\n } else {\n txt += _Utils.jsnum[_Utils.toInt(dayOfOmer % 10)] + \" \";\n if (dayOfOmer > 10) {\n if (dayOfOmer > 20 && dayOfOmer % 10 > 0) {\n txt += \"\\u05D5\";\n }\n txt += _Utils.jtnum[_Utils.toInt(dayOfOmer / 10)] + \" \";\n }\n }\n }\n txt += (dayOfOmer >= 11 ? \"\\u05D9\\u05D5\\u05DD\" : \"\\u05D9\\u05DE\\u05D9\\u05DD\") + \" \";\n if (nusach === \"sefardi\") {\n txt += \"\\u05DC\\u05E2\\u05D5\\u05DE\\u05E8 \";\n }\n if (dayOfOmer >= 7) {\n txt += \"\\u05E9\\u05D4\\u05DD \";\n if (weeks === 1) {\n txt += \"\\u05E9\\u05D1\\u05D5\\u05E2 \\u05D0\\u05D7\\u05D3 \";\n } else if (weeks === 2) {\n txt += \"\\u05E9\\u05E0\\u05D9 \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA \";\n } else if (weeks > 0) {\n txt += _Utils.jsnum[_Utils.toInt(weeks)] + \" \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA \";\n }\n if (days === 1) {\n txt += \"\\u05D5\\u05D9\\u05D5\\u05DD \\u05D0\\u05D7\\u05D3 \";\n } else if (days === 2) {\n txt += \"\\u05D5\\u05E9\\u05E0\\u05D9 \\u05D9\\u05DE\\u05D9\\u05DD \";\n } else if (days > 0) {\n txt += \"\\u05D5\" + _Utils.jsnum[days] + \" \\u05D9\\u05DE\\u05D9\\u05DD \";\n }\n }\n }\n if (nusach === \"sefard\") {\n txt += \"\\u05DC\\u05E2\\u05D5\\u05DE\\u05E8\";\n } else if (nusach === \"ashkenaz\") {\n txt += \"\\u05D1\\u05E2\\u05D5\\u05DE\\u05E8\";\n }\n return txt;\n }\n /**\n * Returns the given time in a formatted string.\n * @param {Time} time An object in the format {hour : 23, minute :42, second: 18 }\n * @param {1 | -1} [sign]\n * @param {Boolean} [army] If falsey, the returned string will be: 11:42:18 PM otherwise it will be 23:42:18\n * @param {Boolean} [roundUp] If falsey, the numbers will converted to a whole number by rounding down, otherwise, up.\n */\n static getTimeString(time, sign, army, roundUp) {\n const round = roundUp ? Math.ceil : Math.floor;\n time = {\n hour: round(time.hour),\n minute: round(time.minute),\n second: round(time.second || 0)\n };\n if (army) {\n return (sign && sign < 0 ? \"-\" : \"\") + (time.hour.toString() + \":\" + (time.minute < 10 ? \"0\" + time.minute.toString() : time.minute.toString()) + \":\" + ((time.second || 0) < 10 ? \"0\" + (time.second || 0).toString() : (time.second || 0).toString()));\n } else {\n return (sign && sign < 0 ? \"-\" : \"\") + (time.hour <= 12 ? time.hour == 0 ? 12 : time.hour : time.hour - 12).toString() + \":\" + (time.minute < 10 ? \"0\" + time.minute.toString() : time.minute.toString()) + \":\" + ((time.second || 0) < 10 ? \"0\" + (time.second || 0).toString() : (time.second || 0).toString()) + (time.hour < 12 ? \" AM\" : \" PM\");\n }\n }\n /**\n * Gets the UTC offset in whole hours for the users time zone.\n * Note: this is not affected by DST - unlike javascripts getTimezoneOffset() function which gives you the current offset.\n */\n static currUtcOffset() {\n const date = /* @__PURE__ */ new Date(), jan = new Date(date.getFullYear(), 0, 1), jul = new Date(date.getFullYear(), 6, 1);\n return -_Utils.toInt(Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()) / 60);\n }\n /** Determines if the given date is within DST on the users system */\n static isDateDST(date) {\n return -_Utils.toInt(date.getTimezoneOffset() / 60) !== _Utils.currUtcOffset();\n }\n /**\n * Determines if the given date is within DST in the given location\n * Note: This may not be correct if the user has set the Location to a\n * time zone outside Israel or the USA which is not the current system time zone.\n */\n static isDST(location, date) {\n if (location.UTCOffset === _Utils.currUtcOffset()) {\n return _Utils.isDateDST(date);\n } else if (location.Israel) {\n return _Utils.isIsrael_DST(date);\n } else {\n return _Utils.isUSA_DST(date);\n }\n }\n /**\n * Determines if the given javascript date is during DST according to the USA rules\n * @param {Date} date A javascript Date object\n */\n static isUSA_DST(date) {\n const year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(), hour = date.getHours();\n if (month < 3 || month == 12) {\n return false;\n } else if (month > 3 && month < 11) {\n return true;\n } else if (month === 3) {\n const firstDOW = _Utils.getSdDOW(year, 3, 1), targetDate = firstDOW == 0 ? 8 : 7 - (firstDOW + 7) % 7 + 8;\n return day > targetDate || day === targetDate && hour >= 2;\n } else {\n const firstDOW = _Utils.getSdDOW(year, 11, 1), targetDate = firstDOW === 0 ? 1 : 7 - (firstDOW + 7) % 7 + 1;\n return day < targetDate || day === targetDate && hour < 2;\n }\n }\n //\n /**\n * Determines if the given Javascript date is during DST according to the current (5776) Israeli rules\n * @param {Date} date A Javascript Date object\n */\n static isIsrael_DST(date) {\n const year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(), hour = date.getHours();\n if (month > 10 || month < 3) {\n return false;\n } else if (month > 3 && month < 10) {\n return true;\n } else if (month === 3) {\n const lastFriday = 31 - _Utils.getSdDOW(year, 3, 31) - 2;\n return day > lastFriday || day === lastFriday && hour >= 2;\n } else {\n const lastSunday = 31 - _Utils.getSdDOW(year, 10, 31);\n return day < lastSunday || day === lastSunday && hour < 2;\n }\n }\n /** The current time in Israel - determined by the current users system time and time zone offset*/\n static getSdNowInIsrael() {\n const now = /* @__PURE__ */ new Date(), israelTimeOffset = 2 + -_Utils.currUtcOffset();\n now.setHours(now.getHours() + israelTimeOffset);\n return now;\n }\n /**\n * Adds the given number of days to the given javascript date and returns the new date\n * @param {Date} sdate\n * @param {Number} days\n */\n static addDaysToSdate(sdate, days) {\n return new Date(sdate.valueOf() + 864e5 * days);\n }\n /**\n * Compares two js dates to se if they both refer to the same day - time is ignored.\n * @param {Date} sdate1\n * @param {Date} sdate2\n */\n static isSameSdate(sdate1, sdate2) {\n return sdate1 && sdate2 && sdate1.toDateString() === sdate2.toDateString();\n }\n /**\n * Compares two jDates to se if they both refer to the same day - time is ignored.\n * @param {jDate} jdate1\n * @param {jDate} jdate2\n */\n static isSameJdate(jdate1, jdate2) {\n return jdate1 && jdate2 && jdate1.Abs && jdate2.Abs && jdate1.Abs === jdate2.Abs;\n }\n /**\n * Compares two jDates to see if they both refer to the same Jewish Month.\n * @param {jDate} jdate1\n * @param {jDate} jdate2\n */\n static isSameJMonth(jdate1, jdate2) {\n return jdate1.Month === jdate2.Month && jdate1.Year === jdate2.Year;\n }\n /**\n * Compares two dates to se if they both refer to the same Secular Month.\n * @param {Date} sdate1\n * @param {Date} sdate2\n */\n static isSameSMonth(sdate1, sdate2) {\n return sdate1.getMonth() === sdate2.getMonth() && sdate1.getFullYear() === sdate2.getFullYear();\n }\n /**\n * Determines if the time of the given Date() is after sunset at the given Location\n * @param {Date} sdate\n * @param {Location} location\n */\n static isAfterSunset(sdate, location) {\n const shkia = Zmanim.getSunTimes(sdate, location).sunset, now = _Utils.timeFromDate(sdate);\n return shkia && _Utils.isTimeAfter(shkia, now);\n }\n /**\n * Gets the current Jewish Date at the given Location\n * @param {Location} location\n */\n static nowAtLocation(location) {\n let sdate = /* @__PURE__ */ new Date();\n if (_Utils.isAfterSunset(sdate, location)) {\n sdate.setDate(sdate.getDate() + 1);\n }\n return new jDate(sdate);\n }\n /**\n * Converts the given complex number to an integer by removing the decimal part.\n * Returns same results as Math.floor for positive numbers and Math.ceil for negative ones.\n * Almost identical functionality to Math.trunc and parseInt.\n * The difference is if the argument is NaN. Math.trunc returns NaN while ths fuction returns 0.\n * In performance tests, this function was found to be quicker than the alternatives.\n * @param {Number} float The complex number to convert to an integer\n */\n static toInt(float) {\n return float | 0;\n }\n /***\n * Takes either a jDate or a Date and returns both\n * @param date {Date |jDate}\n * @returns {{ sdate:Date, jdate:jDate }}\n */\n static bothDates(date) {\n const jdate = date instanceof Date ? new jDate(date) : date;\n const sdate = date instanceof Date ? date : jdate.getDate();\n return { sdate, jdate };\n }\n /** Returns true if \"thing\" is either a string primitive or String object.*/\n static isString(thing) {\n return typeof thing === \"string\" || thing instanceof String;\n }\n /** Returns true if \"thing\" is either a number primitive or a Number object.*/\n static isNumber(thing) {\n return typeof thing === \"number\" || thing instanceof Number;\n }\n /** Returns true if \"thing\" is a Date object containing a valid date.*/\n static isValidDate(thing) {\n return thing instanceof Date && !isNaN(thing.valueOf());\n }\n /** Returns whether or not the given, array, string, or argument list contains the given item or substring.\n *\n * This function is awfully similar to Array.includes, but has the added plus of accepting any number or type of arguments.*/\n static has(o, ...arr) {\n if (arr.length === 1 && (Array.isArray(arr[0]) || _Utils.isString(arr[0]))) {\n return arr[0].includes(o);\n } else {\n return arr.includes(o);\n }\n }\n /** Returns the first value unless it is undefined, null or NaN.\n *\n * This is very useful for boolean, string and integer parameters\n * where we want to keep false, \"\" and 0 if they were supplied.\n *\n * Similar purpose to default parameters with the difference being that this function will return\n * the second value if the first is NaN or null, while default params will give give you the NaN or the null.\n */\n static setDefault(paramValue, defValue) {\n if (typeof paramValue === \"undefined\" || paramValue === null || isNaN(paramValue)) {\n return defValue;\n } else {\n return paramValue;\n }\n }\n /**\n * Returns an array containing a range of integers.\n * @param {Number} [start] The number to start at. The start number is included in the results.\n * If only one argument is supplied, start will be set to 1.\n * @param {Number} end The top end of the range.\n * Unlike Pythons range function, The end number is included in the results.\n * @returns {[Number]}\n */\n static range(start, end) {\n const startNumber = typeof end === \"undefined\" ? 1 : start, endNumber = typeof end === \"undefined\" ? start : end;\n return Array.from({ length: endNumber - startNumber + 1 }, (v, i) => startNumber + i);\n }\n /**\n * Log message to console\n * @param {string} txt\n */\n static log(txt, ...optionalItems) {\n if (__DEV__) {\n console.log(txt, ...optionalItems);\n }\n }\n /**\n * Warn message to console\n * @param {string} txt\n */\n static warn(txt, ...optionalItems) {\n if (__DEV__) {\n console.warn(txt, ...optionalItems);\n }\n }\n /**\n * Error message to console\n * @param {*} txt\n */\n static error(txt, ...optionalItems) {\n if (__DEV__) {\n console.error(txt, ...optionalItems);\n }\n }\n};\n_Utils.jsd = [\"\\u05D0\", \"\\u05D1\", \"\\u05D2\", \"\\u05D3\", \"\\u05D4\", \"\\u05D5\", \"\\u05D6\", \"\\u05D7\", \"\\u05D8\"];\n_Utils.jtd = [\"\\u05D9\", \"\\u05DB\", \"\\u05DC\", \"\\u05DE\", \"\\u05E0\", \"\\u05E1\", \"\\u05E2\", \"\\u05E4\", \"\\u05E6\"];\n_Utils.jhd = [\"\\u05E7\", \"\\u05E8\", \"\\u05E9\", \"\\u05EA\"];\n_Utils.jsnum = [\"\", \"\\u05D0\\u05D7\\u05D3\", \"\\u05E9\\u05E0\\u05D9\\u05DD\", \"\\u05E9\\u05DC\\u05E9\\u05D4\", \"\\u05D0\\u05E8\\u05D1\\u05E2\\u05D4\", \"\\u05D7\\u05DE\\u05E9\\u05D4\", \"\\u05E9\\u05E9\\u05D4\", \"\\u05E9\\u05D1\\u05E2\\u05D4\", \"\\u05E9\\u05DE\\u05D5\\u05E0\\u05D4\", \"\\u05EA\\u05E9\\u05E2\\u05D4\"];\n_Utils.jtnum = [\"\", \"\\u05E2\\u05E9\\u05E8\", \"\\u05E2\\u05E9\\u05E8\\u05D9\\u05DD\", \"\\u05E9\\u05DC\\u05D5\\u05E9\\u05D9\\u05DD\", \"\\u05D0\\u05E8\\u05D1\\u05E2\\u05D9\\u05DD\"];\nvar Utils = _Utils;\n\n// src/JCal/Location.ts\nvar Location = class _Location {\n /**\n * Describe a new Location.\n * @param {String} name The name of the Location\n * @param {String} nameHeb The name of the Location\n * @param {Boolean} israel Is this Location in Israel?\n * @param {Number} latitude\n * @param {Number} longitude\n * @param {Number} utcOffset The time zone. Israel is 2 and New York is -5.\n * @param {Number} elevation Elevation in meters\n * @param {Number} [candleLighting] Number of minutes before sunset the candles are lit on Friday\n */\n constructor(name, nameHeb, israel2, latitude, longitude, utcOffset, elevation, candleLighting) {\n if (typeof israel2 === \"undefined\" || israel2 === null) {\n israel2 = latitude > 29.45 && latitude < 33 && longitude < -34.23 && longitude > -35.9;\n }\n if (israel2) {\n utcOffset = 2;\n } else if (typeof utcOffset === \"undefined\" || utcOffset === null) {\n utcOffset = -Math.round(longitude / 15);\n }\n this.Name = name || \"Unknown Location\";\n this.NameHebrew = nameHeb;\n this.Israel = !!israel2;\n this.Latitude = latitude;\n this.Longitude = longitude;\n this.UTCOffset = utcOffset || 0;\n this.Elevation = elevation || 0;\n this.CandleLighting = candleLighting || _Location.getCandles(this);\n }\n static clone(location) {\n return new _Location(\n location.Name,\n location.NameHebrew,\n location.Israel,\n location.Latitude,\n location.Longitude,\n location.UTCOffset,\n location.Elevation,\n location.CandleLighting || 0\n );\n }\n static getCandles(location) {\n if (location.CandleLighting) {\n return location.CandleLighting;\n } else if (!location.Israel) {\n return 18;\n } else {\n const special = [\n { names: [\"jerusalem\", \"yerush\", \"petach\", \"petah\", \"petak\", \"beit shemesh\", \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", \"\\u05E4\\u05EA\\u05D7 \\u05EA\\u05E7\\u05D5\\u05D4\", \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05DE\\u05E9\"], min: 40 },\n { names: [\"haifa\", \"chaifa\", \"be'er sheva\", \"beersheba\", \"\\u05D7\\u05D9\\u05E4\\u05D4\", \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\"], min: 22 }\n ], loclc = location.Name.toLowerCase(), city = special.find((sp) => {\n return sp.names.find((spi) => {\n return loclc.indexOf(spi) > -1;\n });\n });\n return city ? city.min : 30;\n }\n }\n /**Gets the Location for Jerusalem.*/\n static getJerusalem() {\n return new _Location(\"Jerusalem\", \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", true, 31.78, -35.22, 2, 800, 40);\n }\n /**Gets the Location for Lakewood NJ*/\n static getLakewood() {\n return new _Location(\"Lakewood NJ\", void 0, false, 40.1, 74.23, -5, 0, 18);\n }\n};\n\n// src/Locations.ts\nimport { distance } from \"closest-match\";\n\n// src/locations.json\nvar locations_default = [{ name: \"Ofakim\", heb: \"\\u05D0\\u05D5\\u05E4\\u05E7\\u05D9\\u05DD\", il: true, tz: 2, el: 170, lat: 31.32, lon: -34.62 }, { name: \"Eilat\", heb: \"\\u05D0\\u05D9\\u05DC\\u05EA\", il: true, tz: 2, lat: 29.55, lon: -34.95 }, { name: \"Elad\", heb: \"\\u05D0\\u05DC\\u05E2\\u05D3\", il: true, tz: 2, el: 150, lat: 32.05, lon: -34.95 }, { name: \"Ashdod\", heb: \"\\u05D0\\u05E9\\u05D3\\u05D5\\u05D3\", il: true, tz: 2, lat: 31.78, lon: -34.63 }, { name: \"Ashkelon\", heb: \"\\u05D0\\u05E9\\u05E7\\u05DC\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.65, lon: -34.57 }, { name: \"Be'er Ya'akov\", heb: \"\\u05D1\\u05D0\\u05E8 \\u05D9\\u05E2\\u05E7\\u05D1\", il: true, tz: 2, lat: 31.93, lon: -34.83 }, { name: \"Bersheba\", heb: \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\", il: true, tz: 2, el: 270, lat: 31.23, lon: -34.78 }, { name: \"Beit She'an\", heb: \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05D0\\u05DF\", il: true, tz: 2, el: 0, lat: 32.5, lon: -35.5 }, { name: \"Beit Shemesh\", heb: \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05DE\\u05E9\", il: true, tz: 2, el: 300, lat: 31.73, lon: -34.98 }, { name: \"Beitar Illit\", heb: \"\\u05D1\\u05D9\\u05EA\\u05E8 \\u05E2\\u05DC\\u05D9\\u05EA\", il: true, tz: 2, el: 800, lat: 31.68, lon: -35.12 }, { name: \"Bnei Brak\", heb: \"\\u05D1\\u05E0\\u05D9 \\u05D1\\u05E8\\u05E7\", il: true, tz: 2, el: 70, lat: 32.08, lon: -34.82, cl: 21 }, { name: \"Binyamina\", heb: \"\\u05D1\\u05E0\\u05D9\\u05DE\\u05D9\\u05E0\\u05D4\", il: true, tz: 2, lat: 32.52, lon: -34.95 }, { name: \"Bat Yam\", heb: \"\\u05D1\\u05EA \\u05D9\\u05DD\", il: true, tz: 2, lat: 32.02, lon: -34.73 }, { name: \"Givat Zeev\", heb: \"\\u05D2\\u05D1\\u05E2\\u05EA \\u05D6\\u05D0\\u05D1\", il: true, tz: 2, lat: 31.87, lon: -35.17 }, { name: \"Givatayim\", heb: \"\\u05D2\\u05D1\\u05EA\\u05D9\\u05D9\\u05DD\", il: true, tz: 2, lat: 32.05, lon: -34.8 }, { name: \"Dimona\", heb: \"\\u05D3\\u05D9\\u05DE\\u05D5\\u05E0\\u05D4\", il: true, tz: 2, lat: 31.07, lon: -35.03 }, { name: \"Hertzeliya\", heb: \"\\u05D4\\u05E8\\u05E6\\u05DC\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.17, lon: -34.83 }, { name: \"Zichron Ya'akov\", heb: \"\\u05D6\\u05DB\\u05E8\\u05D5\\u05DF \\u05D9\\u05E2\\u05E7\\u05D1\", il: true, tz: 2, el: 170, lat: 32.57, lon: -34.95 }, { name: \"Hebron\", heb: \"\\u05D7\\u05D1\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 950, lat: 31.53, lon: -35.08 }, { name: \"Hadera\", heb: \"\\u05D7\\u05D3\\u05E8\\u05D4\", il: true, tz: 2, lat: 32.43, lon: -34.92 }, { name: \"Holon\", heb: \"\\u05D7\\u05D5\\u05DC\\u05D5\\u05DF\", il: true, tz: 2, lat: 32.02, lon: -34.75 }, { name: \"Chispin\", heb: \"\\u05D7\\u05D9\\u05E1\\u05E4\\u05D9\\u05DF\", il: true, tz: 2, lat: 32.85, lon: -35.77 }, { name: \"Haifa\", heb: \"\\u05D7\\u05D9\\u05E4\\u05D4\", il: true, tz: 2, el: 370, lat: 32.8, lon: -34.98 }, { name: \"Chafetz Chaim\", heb: \"\\u05D7\\u05E4\\u05E5 \\u05D7\\u05D9\\u05D9\\u05DD\", il: true, tz: 2, el: 80, lat: 31.48, lon: -34.47 }, { name: \"Tiberius\", heb: \"\\u05D8\\u05D1\\u05E8\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.78, lon: -35.53 }, { name: \"Telz Stone\", heb: \"\\u05D8\\u05DC\\u05D6 \\u05E1\\u05D8\\u05D5\\u05DF\", il: true, tz: 2, el: 720, lat: 31.78, lon: -35.1 }, { name: \"Yerucham\", heb: \"\\u05D9\\u05E8\\u05D5\\u05D7\\u05DD\", il: true, tz: 2, lat: 30.98, lon: -34.92 }, { name: \"Jerusalem\", heb: \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", il: true, tz: 2, el: 775, lat: 31.77, lon: -35.23, cl: 40 }, { name: \"Kfar Chabad\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05D7\\u05D1\\u05D3\", il: true, tz: 2, lat: 31.97, lon: -34.8 }, { name: \"Kfar Chasidim\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05D7\\u05E1\\u05D9\\u05D3\\u05D9\\u05DD\", il: true, tz: 2, el: 154, lat: 32.73, lon: -35.08 }, { name: \"Kfar Mimon\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05DE\\u05D9\\u05D9\\u05DE\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.42, lon: -34.58 }, { name: \"Karmiel\", heb: \"\\u05DB\\u05E8\\u05DE\\u05D9\\u05D0\\u05DC\", il: true, tz: 2, lat: 32.92, lon: -35.3 }, { name: \"Lod\", heb: \"\\u05DC\\u05D5\\u05D3\", il: true, tz: 2, lat: 31.95, lon: -34.88 }, { name: \"Migdal Ha'Emek\", heb: \"\\u05DE\\u05D2\\u05D3\\u05DC \\u05D4\\u05E2\\u05DE\\u05E7\", il: true, tz: 2, lat: 32.67, lon: -35.23 }, { name: \"Meron\", heb: \"\\u05DE\\u05D9\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 900, lat: 32.98, lon: -35.43 }, { name: \"Ma'agalim\", heb: \"\\u05DE\\u05E2\\u05D2\\u05DC\\u05D9\\u05DD\", il: true, tz: 2, el: 150, lat: 31.48, lon: -34.67 }, { name: \"Ma'aleh Adumim\", heb: \"\\u05DE\\u05E2\\u05DC\\u05D4 \\u05D0\\u05D3\\u05D5\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, lat: 31.77, lon: -35.3 }, { name: \"Mitzpeh Ramon\", heb: \"\\u05DE\\u05E6\\u05E4\\u05D4 \\u05E8\\u05DE\\u05D5\\u05DF\", il: true, tz: 2, el: 892, lat: 30.62, lon: -34.8 }, { name: \"Ne'halel\", heb: \"\\u05E0\\u05D4\\u05DC\\u05DC\", il: true, tz: 2, lat: 32.67, lon: -35.23 }, { name: \"Nahariya\", heb: \"\\u05E0\\u05D4\\u05E8\\u05D9\\u05D4\", il: true, tz: 2, el: 25, lat: 33.02, lon: -35.1 }, { name: \"Nir Eztyon\", heb: \"\\u05E0\\u05D9\\u05E8 \\u05E2\\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, el: 220, lat: 32.7, lon: -34.98 }, { name: \"Nesher\", heb: \"\\u05E0\\u05E9\\u05E8\", il: true, tz: 2, lat: 32.73, lon: -35.08 }, { name: \"Netivot\", heb: \"\\u05E0\\u05EA\\u05D9\\u05D1\\u05D5\\u05EA\", il: true, tz: 2, el: 142, lat: 31.42, lon: -34.58 }, { name: \"Netanya\", heb: \"\\u05E0\\u05EA\\u05E0\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.33, lon: -34.87 }, { name: \"Ein Bokek\", heb: \"\\u05E2\\u05D9\\u05DF \\u05D1\\u05D5\\u05E7\\u05E7\", il: true, tz: 2, lat: 31.2, lon: -35.37 }, { name: \"Acre\", heb: \"\\u05E2\\u05DB\\u05D5\", il: true, tz: 2, lat: 32.93, lon: -35.08 }, { name: \"Eli\", heb: \"\\u05E2\\u05DC\\u05D9\", il: true, tz: 2, el: 720, lat: 32.07, lon: -35.27 }, { name: \"Afula\", heb: \"\\u05E2\\u05E4\\u05D5\\u05DC\\u05D4\", il: true, tz: 2, el: 60, lat: 32.6, lon: -35.28 }, { name: \"Etzyon Gaver\", heb: \"\\u05E2\\u05E6\\u05D9\\u05D5\\u05DF \\u05D2\\u05D1\\u05E8\", il: true, tz: 2, el: 5, lat: 29.53, lon: -34.95 }, { name: \"Arad\", heb: \"\\u05E2\\u05E8\\u05D3\", il: true, tz: 2, el: 640, lat: 31.27, lon: -35.22 }, { name: \"Pardes Chana\", heb: \"\\u05E4\\u05E8\\u05D3\\u05E1 \\u05D7\\u05E0\\u05D4\", il: true, tz: 2, lat: 32.47, lon: -34.97 }, { name: \"Petach Tikvah\", heb: \"\\u05E4\\u05EA\\u05D7 \\u05EA\\u05E7\\u05D5\\u05D5\\u05D4\", il: true, tz: 2, lat: 32.08, lon: -34.88, cl: 40 }, { name: \"Safed\", heb: \"\\u05E6\\u05E4\\u05EA\", il: true, tz: 2, el: 850, lat: 32.97, lon: -35.5 }, { name: \"Kedumim\", heb: \"\\u05E7\\u05D3\\u05D5\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, el: 487, lat: 32.22, lon: -35.15 }, { name: \"Komemiyut\", heb: \"\\u05E7\\u05D5\\u05DE\\u05DE\\u05D9\\u05D5\\u05EA\", il: true, tz: 2, el: 76, lat: 31.65, lon: -34.73 }, { name: \"Kiryat Arba\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D0\\u05E8\\u05D1\\u05E2\", il: true, tz: 2, el: 987, lat: 31.52, lon: -35.1 }, { name: \"Kiryat Gat\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D2\\u05EA\", il: true, tz: 2, el: 159, lat: 31.62, lon: -34.77 }, { name: \"Kityat Tivon\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D8\\u05D1\\u05E2\\u05D5\\u05DF\", il: true, tz: 2, el: 39, lat: 32.73, lon: -35.08 }, { name: \"Kiryat Yam\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D9\\u05DD\", il: true, tz: 2, lat: 32.83, lon: -35.07 }, { name: \"Kiryat Malachi\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05DE\\u05DC\\u05D0\\u05DB\\u05D9\", il: true, tz: 2, lat: 31.73, lon: -34.75 }, { name: \"Modi'in Illit\", heb: \"\\u05DE\\u05D5\\u05D3\\u05D9\\u05E2\\u05D9\\u05DF \\u05E2\\u05D9\\u05DC\\u05D9\\u05EA\", il: true, tz: 2, el: 240, lat: 31.93, lon: -35.04, cl: 30 }, { name: \"Kiryat Shmona\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05E9\\u05DE\\u05D5\\u05E0\\u05D4\", il: true, tz: 2, lat: 33.2, lon: -35.57 }, { name: \"Rosh Ha'ayin\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E2\\u05D9\\u05DF\", il: true, tz: 2, el: 90, lat: 32.08, lon: -34.95 }, { name: \"Rosh Pina\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05E4\\u05D9\\u05E0\\u05D4\", il: true, tz: 2, el: 131, lat: 32.97, lon: -35.48 }, { name: \"Rishon Le'Tzion\", heb: \"\\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05DC\\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.97, lon: -34.8 }, { name: \"Rehovot\", heb: \"\\u05E8\\u05D7\\u05D5\\u05D1\\u05D5\\u05EA\", il: true, tz: 2, el: 76, lat: 31.88, lon: -34.82 }, { name: \"Ramla\", heb: \"\\u05E8\\u05DE\\u05DC\\u05D4\", il: true, tz: 2, lat: 31.92, lon: -34.87 }, { name: \"Ramat Hasharon\", heb: \"\\u05E8\\u05DE\\u05EA \\u05D4\\u05E9\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 85, lat: 32.17, lon: -34.85 }, { name: \"Ramat Magshimim\", heb: \"\\u05E8\\u05DE\\u05EA \\u05DE\\u05D2\\u05E9\\u05D9\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, el: 450, lat: 32.83, lon: -35.82 }, { name: \"Ra'anana\", heb: \"\\u05E8\\u05E2\\u05E0\\u05E0\\u05D4\", il: true, tz: 2, el: 71, lat: 32.17, lon: -34.85 }, { name: \"Shvi tzion\", heb: \"\\u05E9\\u05D1\\u05D9 \\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, lat: 33.02, lon: -35.1 }, { name: \"Nablus\", heb: \"\\u05E9\\u05DB\\u05DD\", il: true, tz: 2, el: 667, lat: 32.22, lon: -35.27 }, { name: \"Shalavim\", heb: \"\\u05E9\\u05DC\\u05E2\\u05D1\\u05D9\\u05DD\", il: true, tz: 2, el: 194, lat: 31.87, lon: 34.98 }, { name: \"Tushiya\", heb: \"\\u05EA\\u05D5\\u05E9\\u05D9\\u05D4\", il: true, tz: 2, lat: 31.42, lon: -34.58 }, { name: \"Tel Aviv\", heb: \"\\u05EA\\u05DC \\u05D0\\u05D1\\u05D9\\u05D1\", il: true, tz: 2, el: 20, lat: 32.07, lon: -34.77, cl: 21 }, { name: \"Tifrach\", heb: \"\\u05EA\\u05E4\\u05E8\\u05D7\", il: true, tz: 2, el: 173, lat: 31.32, lon: -34.67 }, { name: \"Nazereth\", heb: \"\\u05E0\\u05E6\\u05E8\\u05EA\", il: true, tz: 2, lat: 32.7, lon: -35.32 }, { name: \"Menachemya\", heb: \"\\u05DE\\u05E0\\u05D7\\u05DE\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.6, lon: -35.55 }, { name: \"Ramot\", heb: \"\\u05E8\\u05DE\\u05D5\\u05EA\", il: true, tz: 2, el: 800, lat: 31.82, lon: -35.18 }, { name: \"Katzrin\", heb: \"\\u05E7\\u05E6\\u05E8\\u05D9\\u05DF\", il: true, tz: 2, lat: 32.98, lon: -35.68 }, { name: \"Hashmonaim\", heb: \"\\u05D7\\u05E9\\u05DE\\u05D5\\u05E0\\u05D0\\u05D9\\u05DD\", il: true, tz: 2, el: 255, lat: 31.93, lon: -35.02 }, { name: \"Laniado\", heb: \"\\u05DC\\u05E0\\u05D9\\u05D0\\u05D3\\u05D5 / \\u05E0\\u05EA\\u05E0\\u05D9\\u05D4\", il: true, tz: 2, el: 26, lat: 32.33, lon: -34.87 }, { name: \"Melbourne\", tz: 10, el: 35, lat: -37.82, lon: -144.97 }, { name: \"Aukland\", tz: 12, lat: -36.87, lon: -174.77 }, { name: \"Boisbriand\", tz: -5, lat: 45.62, lon: 73.85 }, { name: \"Ottawa\", tz: -5, lat: 45.42, lon: 75.7 }, { name: \"Winnipeg\", tz: -6, lat: 49.88, lon: 97.13 }, { name: \"Toronto\", tz: -5, el: 175, lat: 43.68, lon: 79.43 }, { name: \"Montreal\", tz: -5, el: 30, lat: 45.52, lon: 73.57 }, { name: \"Eidenburg\", tz: 0, el: 134, lat: 55.92, lon: 3.18 }, { name: \"Algeria\", tz: 1, lat: 36.82, lon: 2.98 }, { name: \"Bogota\", tz: -5, lat: 4.77, lon: 74.1 }, { name: \"Brasilia\", tz: -3, lat: 15.77, lon: 48.02 }, { name: \"Goteborg\", tz: 1, el: 100, lat: 57.7, lon: -11.95 }, { name: \"Victoria\", tz: 8, lat: 22.25, lon: -114.23 }, { name: \"Touson\", tz: -7, lat: 32.22, lon: 110.97 }, { name: \"Tunville\", tz: 1, lat: 49.4, lon: -6.17 }, { name: \"Tkuarembo\", tz: -3, lat: -31.7, lon: 55.98 }, { name: \"Trumso\", tz: 1, lat: 69.67, lon: -18.97 }, { name: \"Johannesburg\", tz: 2, el: 1655, lat: -26.3, lon: -28.18 }, { name: \"Montevideo\", tz: -3, el: 22, lat: -34.83, lon: 56.23 }, { name: \"Meedan Columbia\", tz: -5, lat: 6.23, lon: 75.58 }, { name: \"Mexico City\", tz: -6, lat: 19.45, lon: 98.95 }, { name: \"New Delhi\", tz: 5, lat: 28.58, lon: -77.22 }, { name: \"Narwik\", tz: 1, lat: 68.43, lon: -17.42 }, { name: \"San Jose De Mayo\", tz: -3, lat: -34.35, lon: 56.72 }, { name: \"San Paulo\", tz: -3, el: 790, lat: -23.6, lon: 46.67 }, { name: \"Sunderland\", tz: 0, lat: 54.93, lon: 1.43 }, { name: \"Salford\", tz: 0, lat: 53.5, lon: 2.25 }, { name: \"San Jusinto Uruguay\", tz: -3, lat: -34.55, lon: 55.87 }, { name: \"New Square\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"Palm Springs\", tz: -8, el: 125, lat: 33.83, lon: 116.67 }, { name: \"Formosa\", tz: -3, lat: -26.18, lon: 58.17 }, { name: \"Panama\", tz: -5, lat: 9.92, lon: 79.93 }, { name: \"Perta\", tz: 8, lat: -32, lon: -115.83 }, { name: \"Peking\", tz: 8, lat: 39.97, lon: -116.45 }, { name: \"Zandiger (India)\", tz: 5, lat: 30.73, lon: -76.78 }, { name: \"The Equator\", tz: 0, lat: 0, lon: 0 }, { name: \"South Pole\", tz: 0, lat: -90, lon: 0 }, { name: \"North Pole\", tz: 0, lat: 90, lon: 0 }, { name: \"Caracas, Venezuela\", tz: -4, lat: 10.37, lon: 66.88 }, { name: \"Robonimi\", tz: 1, lat: 66.48, lon: -25.7 }, { name: \"Rio De Jinero\", tz: -3, lat: -22.85, lon: 43.68 }, { name: \"Phoenix\", tz: -7, lat: 33.43, lon: 112.07 }, { name: \"Lucerne\", tz: 1, lat: 47.05, lon: -8.32 }, { name: \"Odessa\", tz: 2, lat: 46.48, lon: -30.72 }, { name: \"Uman\", tz: 2, lat: 48.73, lon: -30.23 }, { name: \"Ifran\", tz: 0, lat: 33.53, lon: 5.1 }, { name: \"Alsund Norway\", tz: 1, lat: 62.47, lon: -6.18 }, { name: \"Athens\", tz: 2, lat: 37.97, lon: -23.72 }, { name: \"Bad\", tz: 1, lat: 50.2, lon: -10.08 }, { name: \"Bucharest\", tz: 2, lat: 44.38, lon: -26.4 }, { name: \"Gomel\", tz: 2, lat: 52.38, lon: -30.83 }, { name: \"Gibraltar\", tz: 1, lat: 36.13, lon: 5.35 }, { name: \"Gateside\", tz: 0, lat: 54.95, lon: 1.6 }, { name: \"Vienna\", tz: 1, lat: 48.22, lon: -16.37 }, { name: \"Venice\", tz: 1, lat: 45.38, lon: -12.47 }, { name: \"Warsaw\", tz: 1, lat: 52.23, lon: -21 }, { name: \"Toulon\", tz: 1, lat: 43.15, lon: -5.87 }, { name: \"Torberey Scotland\", tz: 0, lat: 55.3, lon: 4.82 }, { name: \"Lusan\", tz: 1, el: 375, lat: 46.53, lon: -6.62 }, { name: \"London\", tz: 0, el: 45, lat: 51.6, lon: 0.1 }, { name: \"Luxenbourg\", tz: 1, lat: 49.67, lon: -6.17 }, { name: \"Liverpool\", tz: 0, lat: 53.42, lon: 2.98 }, { name: \"Leeds\", tz: 0, lat: 53.8, lon: 1.57 }, { name: \"Medisimo Italy\", tz: 1, el: 1500, lat: 46.43, lon: -9.33 }, { name: \"Madrid\", tz: 1, lat: 40.4, lon: 3.7 }, { name: \"Monterrey, Mexico\", tz: 1, lat: 46.4, lon: -6.87 }, { name: \"Moscow\", tz: 3, el: 154, lat: 55.75, lon: -37.62 }, { name: \"Milano\", tz: 1, el: 122, lat: 45.45, lon: -9.18 }, { name: \"Minsk\", tz: 2, lat: 53.87, lon: -27.82 }, { name: \"Malaga\", tz: 1, lat: 36.7, lon: 4.42 }, { name: \"Manchester\", tz: 0, lat: 53.5, lon: 2.23 }, { name: \"Meknes\", tz: 0, lat: 33.9, lon: 5.57 }, { name: \"Marseille\", tz: 1, lat: 43.3, lon: -5.32 }, { name: \"Marrakech\", tz: 0, lat: 31.6, lon: 7.98 }, { name: \"New Castle\", tz: 0, lat: 54.95, lon: 1.62 }, { name: \"Nice France\", tz: 1, lat: 43.7, lon: -7.18 }, { name: \"Fes\", tz: 0, lat: 34.03, lon: 4.98 }, { name: \"Prague\", tz: 1, el: 180, lat: 50.08, lon: -14.42 }, { name: \"Frankfurt\", tz: 1, lat: 50.12, lon: -8.65 }, { name: \"Frankfurt On Maine\", tz: 1, lat: 50.1, lon: -8.68 }, { name: \"Zurich\", tz: 1, el: 410, lat: 47.37, lon: -8.53 }, { name: \"Copenhagen\", tz: 1, lat: 55.77, lon: -12.33 }, { name: \"Casablanca\", tz: 0, lat: 33.58, lon: 7.58 }, { name: \"Kiev\", tz: 2, lat: 50.43, lon: -30.52 }, { name: \"Colon\", tz: 1, el: 46, lat: 50.9, lon: -6.93 }, { name: \"Robet\", tz: 0, lat: 34.02, lon: 6.8 }, { name: \"Rodes\", tz: 2, lat: 36.4, lon: -28.18 }, { name: \"Rome\", tz: 1, lat: 41.9, lon: -12.5 }, { name: \"Shpolgen\", tz: 1, lat: 46.55, lon: -9.32 }, { name: \"Baku\", tz: 2, lat: 40.4, lon: -49.82 }, { name: \"Tarvisio\", tz: 1, lat: 46.5, lon: -13.58 }, { name: \"windischgarsten\", tz: 1, lat: 47.72, lon: -14.32 }, { name: \"Nesslau\", tz: 1, lat: 47.2, lon: -9.2 }, { name: \"Deerfield Beach\", tz: -5, lat: 26.32, lon: 80.08 }, { name: \"Hartford CT\", tz: -5, lat: 41.75, lon: 72.7 }, { name: \"Boro Park, Brooklyn NY\", tz: -5, lat: 40.63, lon: 74 }, { name: \"Brooklyn NY\", tz: -5, lat: 40.63, lon: 73.95 }, { name: \"Denver\", tz: -7, el: 1601, lat: 39.75, lon: 104.93 }, { name: \"Houston\", tz: -6, el: 29, lat: 29.83, lon: 95.35 }, { name: \"Hollywood\", tz: -5, el: 8, lat: 26.1, lon: 80.2 }, { name: \"Washington DC\", tz: -5, lat: 38.9, lon: 77.03 }, { name: \"Los Angeles\", tz: -8, lat: 34.05, lon: 118.23 }, { name: \"Lakewood NJ\", tz: -5, lat: 40.1, lon: 74.23 }, { name: \"Monticello NY\", tz: -5, lat: 41.65, lon: 74.73 }, { name: \"Monsey NY\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"Miami\", tz: -5, el: 2, lat: 25.83, lon: 80.27 }, { name: \"Miami Beach\", tz: -5, el: 3, lat: 25.78, lon: 80.28 }, { name: \"Milwaukee\", tz: -6, lat: 43.03, lon: 87.92 }, { name: \"Miniappolis\", tz: -6, el: 253, lat: 44.88, lon: 93.22 }, { name: \"Memphis TN\", tz: -6, lat: 35.13, lon: 90.03 }, { name: \"New Orleans\", tz: -6, el: 1, lat: 30, lon: 90.12 }, { name: \"New Square NY\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"San Juan\", tz: -8, lat: 37.33, lon: 121.88 }, { name: \"San Diego\", tz: -8, lat: 32.72, lon: 117.13 }, { name: \"Saint Louis\", tz: -6, lat: 38.65, lon: 90.32 }, { name: \"Pittsburgh\", tz: -5, lat: 40.4, lon: 80.03 }, { name: \"Philadelphia\", tz: -5, lat: 39.93, lon: 75.17 }, { name: \"Providence RI\", tz: -5, lat: 41.82, lon: 71.4 }, { name: \"Kansas City\", tz: -6, el: 225, lat: 39.1, lon: 94.6 }, { name: \"Kiryas Joel NY\", tz: -5, lat: 41.33, lon: 74.17 }, { name: \"Cali\", tz: -5, lat: 3.45, lon: 76.52 }, { name: \"Medellin\", tz: -5, lat: 6.25, lon: 75.57 }, { name: \"Honolulu\", tz: -10, lat: 21.32, lon: 157.83 }, { name: \"Santiago de Chile\", tz: -4, lat: -33.45, lon: 70.67 }, { name: \"Nairobi\", tz: 3, lat: -1.28, lon: -36.82 }, { name: \"Taipei\", tz: 8, lat: 25.05, lon: -121.5 }, { name: \"Rangun (GMT+6)\", tz: 6, lat: 16.78, lon: -96.17 }, { name: \"Rangun (GMT+7)\", tz: 7, lat: 16.78, lon: -96.17 }, { name: \"Rio de Janeiro\", tz: -3, lat: -22.9, lon: 43.25 }, { name: \"Kapstadt (Capetown)\", tz: 2, lat: -33.9, lon: -18.37 }, { name: \"San Juan (P.R.)\", tz: -4, lat: 18.47, lon: 66.1 }, { name: \"Elizabeth, N.J, US\", tz: -5, lat: 40.67, lon: 74.18 }, { name: \"Aach\", tz: 1, lat: 47.83, lon: -8.85 }, { name: \"Adelsheim\", tz: 1, lat: 49.4, lon: -9.38 }, { name: \"Altlandsberg\", tz: 1, lat: 52.55, lon: -13.72 }, { name: \"Angerm\\xFCnde\", tz: 1, lat: 53.02, lon: -14 }, { name: \"Anklam\", tz: 1, lat: 53.85, lon: -13.68 }, { name: \"Annaberg\", tz: 1, lat: 57.52, lon: -13.43 }, { name: \"Ansbach\", tz: 1, lat: 49.28, lon: -10.57 }, { name: \"Apolda\", tz: 1, lat: 51.02, lon: -11.52 }, { name: \"Arnstadt\", tz: 1, lat: 50.83, lon: -10.95 }, { name: \"Aschersleben\", tz: 1, lat: 51.75, lon: -11.45 }, { name: \"Bad Berka\", tz: 1, lat: 50.9, lon: -11.28 }, { name: \"Bad Cannstatt\", tz: 1, lat: 48.8, lon: -9.18 }, { name: \"Bad Freienwalde\", tz: 1, lat: 52.78, lon: -14.02 }, { name: \"Bad Gottleuba\", tz: 1, lat: 50.85, lon: -13.93 }, { name: \"Bad Krozingen\", tz: 1, lat: 47.92, lon: -7.72 }, { name: \"Bad Mergenheim\", tz: 1, lat: 49.5, lon: -9.77 }, { name: \"Bad Mingolsheim\", tz: 1, lat: 49.23, lon: -8.65 }, { name: \"Bad Rappenau\", tz: 1, lat: 49.32, lon: -9.1 }, { name: \"Bad Salzungen\", tz: 1, lat: 50.8, lon: -10.22 }, { name: \"Bad Wilznack\", tz: 1, lat: 52.95, lon: -11.95 }, { name: \"Bad Wimpfen\", tz: 1, lat: 49.23, lon: -9.15 }, { name: \"Baiersdorf\", tz: 1, lat: 49.65, lon: -11.02 }, { name: \"Ballenstedt\", tz: 1, lat: 51.72, lon: -11.23 }, { name: \"Barby\", tz: 1, lat: 51.97, lon: -11.88 }, { name: \"Bautzen\", tz: 1, lat: 51.18, lon: -14.43 }, { name: \"Beelitz\", tz: 1, lat: 52.23, lon: -12.97 }, { name: \"Beeskow\", tz: 1, lat: 52.17, lon: -14.23 }, { name: \"Bernau\", tz: 1, lat: 47.8, lon: -12.37 }, { name: \"Bernburg\", tz: 1, lat: 51.8, lon: -11.73 }, { name: \"Biesenthal\", tz: 1, lat: 52.77, lon: -13.62 }, { name: \"Bleicherode\", tz: 1, lat: 51.43, lon: -10.57 }, { name: \"Boizenburg\", tz: 1, lat: 53.37, lon: -10.72 }, { name: \"Borna\", tz: 1, lat: 51.32, lon: -13.18 }, { name: \"Breisach\", tz: 1, lat: 48.02, lon: -7.67 }, { name: \"Br\\xFCel\", tz: 1, lat: 53.73, lon: -11.72 }, { name: \"Burg\", tz: 1, lat: 52.27, lon: -11.85 }, { name: \"B\\xFCtzow\", tz: 1, lat: 53.83, lon: -11.98 }, { name: \"Calbe\", tz: 1, lat: 51.9, lon: -11.77 }, { name: \"Calv\\xF6rde\", tz: 1, lat: 52.38, lon: -11.28 }, { name: \"Caputh\", tz: 1, lat: 52.35, lon: -13 }, { name: \"Coesfeld\", tz: 1, lat: 51.93, lon: -7.17 }, { name: \"Coswig\", tz: 1, lat: 51.88, lon: -12.43 }, { name: \"Crivitz\", tz: 1, lat: 53.58, lon: -11.63 }, { name: \"Dargun\", tz: 1, lat: 53.9, lon: -12.85 }, { name: \"Deggendorf\", tz: 1, lat: 48.85, lon: -12.98 }, { name: \"Delitzsch\", tz: 1, lat: 51.52, lon: -12.33 }, { name: \"Aachen\", tz: 1, lat: 50.78, lon: -6.08 }, { name: \"Altensteig\", tz: 1, lat: 48.58, lon: -8.6 }, { name: \"Amberg\", tz: 1, lat: 49.45, lon: -11.87 }, { name: \"Augsburg\", tz: 1, lat: 48.38, lon: -10.88 }, { name: \"Aurich\", tz: 1, lat: 53.47, lon: -7.48 }, { name: \"Bad Kissingen\", tz: 1, lat: 50.2, lon: -10.05 }, { name: \"Bad Kreuznach\", tz: 1, lat: 49.87, lon: -7.85 }, { name: \"Bad Nauheim\", tz: 1, lat: 50.37, lon: -8.73 }, { name: \"Baden-Baden\", tz: 1, lat: 48.77, lon: -8.23 }, { name: \"Bamberg\", tz: 1, lat: 49.88, lon: -10.88 }, { name: \"Bayreuth\", tz: 1, lat: 49.95, lon: -11.58 }, { name: \"Berlin\", tz: 1, lat: 52.52, lon: -13.38 }, { name: \"Bielefeld\", tz: 1, lat: 52.02, lon: -8.52 }, { name: \"Bonn\", tz: 1, lat: 50.73, lon: -7.1 }, { name: \"Brandenburg\", tz: 1, lat: 52.4, lon: -12.53 }, { name: \"Braunschweig\", tz: 1, lat: 52.27, lon: -10.52 }, { name: \"Bremen\", tz: 1, lat: 53.07, lon: -8.82 }, { name: \"Bremerhaven\", tz: 1, lat: 53.55, lon: -8.57 }, { name: \"Calw\", tz: 1, lat: 48.72, lon: -8.73 }, { name: \"Celle\", tz: 1, lat: 52.62, lon: -10.08 }, { name: \"Chemnitz\", tz: 1, lat: 50.83, lon: -12.92 }, { name: \"Cottbus\", tz: 1, lat: 51.75, lon: -14.32 }, { name: \"Dachau\", tz: 1, lat: 48.25, lon: -11.45 }, { name: \"Darmstadt\", tz: 1, lat: 49.88, lon: -8.67 }, { name: \"Dessau\", tz: 1, lat: 51.83, lon: -12.23 }, { name: \"Dortmund\", tz: 1, lat: 51.52, lon: -7.47 }, { name: \"Dresden\", tz: 1, lat: 51.05, lon: -13.73 }, { name: \"Duisburg\", tz: 1, lat: 51.42, lon: -6.77 }, { name: \"D\\xFCsseldorf\", tz: 1, lat: 51.2, lon: -6.78 }, { name: \"Emmendingen\", tz: 1, lat: 48.12, lon: -7.83 }, { name: \"Erfurt\", tz: 1, lat: 50.97, lon: -11.02 }, { name: \"Essen/Ruhr\", tz: 1, lat: 51.47, lon: -7.02 }, { name: \"Frankfurt/Main\", tz: 1, lat: 50.12, lon: -8.67 }, { name: \"Frankfurt/Oder\", tz: 1, lat: 52.33, lon: -14.55 }, { name: \"Freiburg i. Br.\", tz: 1, lat: 47.98, lon: -7.85 }, { name: \"F\\xFCrth\", tz: 1, lat: 49.47, lon: -10.98 }, { name: \"Fulda\", tz: 1, lat: 50.55, lon: -9.68 }, { name: \"Gelsenkirchen\", tz: 1, lat: 51.52, lon: -7.12 }, { name: \"Gie\\xDFen\", tz: 1, lat: 50.58, lon: -8.67 }, { name: \"G\\xF6ttingen\", tz: 1, lat: 51.53, lon: -9.92 }, { name: \"Grabow\", tz: 1, lat: 53.27, lon: -11.57 }, { name: \"Hagen (Westf)\", tz: 1, lat: 51.37, lon: -7.47 }, { name: \"Halle/Saale\", tz: 1, lat: 51.48, lon: -11.97 }, { name: \"Hamburg\", tz: 1, lat: 53.55, lon: -9.98 }, { name: \"Hameln\", tz: 1, lat: 52.1, lon: -9.35 }, { name: \"Hannover\", tz: 1, lat: 52.4, lon: -9.73 }, { name: \"Havelberg\", tz: 1, lat: 52.83, lon: -12.07 }, { name: \"Heidelberg\", tz: 1, lat: 49.42, lon: -8.72 }, { name: \"Herford\", tz: 1, lat: 52.1, lon: -8.67 }, { name: \"Hessisch Oldendorf\", tz: 1, lat: 52.17, lon: -9.25 }, { name: \"Hildesheim\", tz: 1, lat: 52.15, lon: -9.95 }, { name: \"Hof\", tz: 1, lat: 50.3, lon: -11.92 }, { name: \"Idar-Oberstein\", tz: 1, lat: 49.7, lon: -7.32 }, { name: \"Kaiserslautern\", tz: 1, lat: 49.43, lon: -7.77 }, { name: \"Karlsruhe\", tz: 1, lat: 49.05, lon: -8.4 }, { name: \"Kassel\", tz: 1, lat: 51.32, lon: -9.47 }, { name: \"Kiel\", tz: 1, lat: 54.33, lon: -10.13 }, { name: \"Kleinmachnow\", tz: 1, lat: 52.4, lon: -13.25 }, { name: \"Koblenz\", tz: 1, lat: 50.35, lon: -7.58 }, { name: \"K\\xF6ln\", tz: 1, lat: 50.93, lon: -6.98 }, { name: \"Krefeld\", tz: 1, lat: 51.33, lon: -6.57 }, { name: \"Leipzig\", tz: 1, lat: 51.32, lon: -12.33 }, { name: \"L\\xF6rrach\", tz: 1, lat: 47.62, lon: -7.67 }, { name: \"L\\xFCbeck\", tz: 1, lat: 53.87, lon: -10.67 }, { name: \"Ludwigshafen\", tz: 1, lat: 49.48, lon: -8.43 }, { name: \"Ludwigslust\", tz: 1, lat: 53.32, lon: -11.5 }, { name: \"Magdeburg\", tz: 1, lat: 52.12, lon: -11.63 }, { name: \"Mainz\", tz: 1, lat: 50.02, lon: -8.27 }, { name: \"Mannheim\", tz: 1, lat: 49.48, lon: -8.47 }, { name: \"Marburg\", tz: 1, lat: 50.82, lon: -8.77 }, { name: \"Minden\", tz: 1, lat: 52.28, lon: -8.92 }, { name: \"M\\xF6nchengladbach\", tz: 1, lat: 51.2, lon: -6.47 }, { name: \"M\\xFCnchen\", tz: 1, lat: 48.13, lon: -11.57 }, { name: \"Nagold\", tz: 1, lat: 48.55, lon: -8.72 }, { name: \"Neum\\xFCnster\", tz: 1, lat: 54.07, lon: -9.98 }, { name: \"Neuruppin\", tz: 1, lat: 52.92, lon: -12.8 }, { name: \"Neustadt/Weinstra\\xDFe\", tz: 1, lat: 49.35, lon: -8.13 }, { name: \"Neustrelitz\", tz: 1, lat: 53.35, lon: -13.07 }, { name: \"N\\xFCrnberg\", tz: 1, lat: 49.45, lon: -11.07 }, { name: \"Offenbach\", tz: 1, lat: 50.13, lon: -8.78 }, { name: \"Oldenburg\", tz: 1, lat: 53.13, lon: -8.22 }, { name: \"Oldenburg in Holstein\", tz: 1, lat: 54.28, lon: -10.87 }, { name: \"Osnabr\\xFCck\", tz: 1, lat: 52.27, lon: -8.03 }, { name: \"Paderborn\", tz: 1, lat: 51.72, lon: -8.73 }, { name: \"Perleberg\", tz: 1, lat: 53.07, lon: -11.85 }, { name: \"Pforzheim\", tz: 1, lat: 48.9, lon: -8.7 }, { name: \"Potsdam\", tz: 1, lat: 52.4, lon: -13.07 }, { name: \"Pritzwalk\", tz: 1, lat: 53.15, lon: -12.17 }, { name: \"Rathenow\", tz: 1, lat: 52.6, lon: -12.33 }, { name: \"Recklinghausen\", tz: 1, lat: 51.6, lon: -7.22 }, { name: \"Regensburg\", tz: 1, lat: 49.02, lon: -12.1 }, { name: \"Rinteln\", tz: 1, lat: 52.18, lon: -9.05 }, { name: \"Rostock\", tz: 1, lat: 54.08, lon: -12.12 }, { name: \"Saarbr\\xFCcken\", tz: 1, lat: 49.23, lon: -6.98 }, { name: \"Salzgitter\", tz: 1, lat: 52.17, lon: -10.42 }, { name: \"Schwerin\", tz: 1, lat: 53.63, lon: -11.42 }, { name: \"Sobernheim\", tz: 1, lat: 49.78, lon: -7.63 }, { name: \"Stendal\", tz: 1, lat: 52.6, lon: -11.85 }, { name: \"Straubing\", tz: 1, lat: 48.88, lon: -12.57 }, { name: \"Strausberg\", tz: 1, lat: 52.58, lon: -13.88 }, { name: \"Stuttgart\", tz: 1, lat: 48.77, lon: -9.18 }, { name: \"Trier\", tz: 1, lat: 49.75, lon: -6.63 }, { name: \"T\\xFCbingen\", tz: 1, lat: 48.52, lon: -9.03 }, { name: \"Weiden in der Oberpfalz\", tz: 1, lat: 49.68, lon: -12.17 }, { name: \"Wiesbaden\", tz: 1, lat: 50.08, lon: -8.23 }, { name: \"Wismar\", tz: 1, lat: 53.88, lon: -11.47 }, { name: \"Wittenberg\", tz: 1, lat: 51.87, lon: -12.65 }, { name: \"Wittenberge\", tz: 1, lat: 53, lon: -11.73 }, { name: \"Wittstock\", tz: 1, lat: 53.17, lon: -12.48 }, { name: \"W\\xF6rlitz\", tz: 1, lat: 51.83, lon: -12.42 }, { name: \"Wuppertal\", tz: 1, lat: 51.27, lon: -7.18 }, { name: \"W\\xFCrzburg\", tz: 1, lat: 49.8, lon: -9.93 }, { name: \"Basel\", tz: 1, lat: 47.63, lon: -7.67 }, { name: \"Bern\", tz: 1, lat: 46.95, lon: -7.43 }, { name: \"Bremgarten\", tz: 1, lat: 47.35, lon: -8.35 }, { name: \"Geneve\", tz: 1, lat: 46.2, lon: -6.15 }, { name: \"M\\xFCnsingen\", tz: 1, lat: 46.88, lon: -7.57 }, { name: \"Sankt Gallen\", tz: 1, lat: 47.42, lon: -9.38 }, { name: \"Vevey\", tz: 1, lat: 46.47, lon: -6.85 }, { name: \"Winterthur\", tz: 1, lat: 47.5, lon: -8.72 }, { name: \"Zug\", tz: 1, lat: 47.17, lon: -8.52 }, { name: \"Z\\xFCrich\", tz: 1, lat: 47.38, lon: -8.53 }, { name: \"Graz\", tz: 1, lat: 47.08, lon: -15.45 }, { name: \"Innsbruck\", tz: 1, lat: 47.27, lon: -11.4 }, { name: \"Linz\", tz: 1, lat: 48.3, lon: -14.3 }, { name: \"Salzburg\", tz: 1, lat: 47.8, lon: -13.03 }, { name: \"Wien\", tz: 1, lat: 48.22, lon: -16.33 }, { name: \"Antwerpen\", tz: 1, lat: 51.22, lon: -4.42 }, { name: \"Arlon\", tz: 1, lat: 49.68, lon: -5.82 }, { name: \"Br\\xFCssel\", tz: 1, lat: 50.83, lon: -4.33 }, { name: \"Charleroi\", tz: 1, lat: 50.42, lon: -4.43 }, { name: \"Gent\", tz: 1, lat: 51.05, lon: -3.72 }, { name: \"Knokke\", tz: 1, lat: 51.35, lon: -3.28 }, { name: \"Li\\xE9ge\", tz: 1, lat: 50.63, lon: -5.57 }, { name: \"Mons\", tz: 1, lat: 50.45, lon: -3.93 }, { name: \"Ostende\", tz: 1, lat: 51.22, lon: -2.9 }, { name: \"Amersfoort\", tz: 1, lat: 52.15, lon: -5.4 }, { name: \"Amsterdam\", tz: 1, lat: 52.37, lon: -4.9 }, { name: \"Arnheim\", tz: 1, lat: 52.02, lon: -5.88 }, { name: \"Bussum\", tz: 1, lat: 52.27, lon: -5.15 }, { name: \"Den Haag\", tz: 1, lat: 52.1, lon: -4.3 }, { name: \"Eindhoven\", tz: 1, lat: 51.43, lon: -5.47 }, { name: \"Enschede\", tz: 1, lat: 52.2, lon: -6.88 }, { name: \"Groningen\", tz: 1, lat: 53.22, lon: -6.55 }, { name: \"Hilversum\", tz: 1, lat: 52.23, lon: -5.15 }, { name: \"Leiden\", tz: 1, lat: 52.15, lon: -4.5 }, { name: \"Maastricht\", tz: 1, lat: 50.87, lon: -5.72 }, { name: \"Rotterdam\", tz: 1, lat: 51.92, lon: -4.47 }, { name: \"Tilburg\", tz: 1, lat: 51.57, lon: -5.08 }, { name: \"Utrecht\", tz: 1, lat: 52.08, lon: -5.13 }, { name: \"Zwolle\", tz: 1, lat: 52.5, lon: -6.08 }, { name: \"Crossen\", tz: 1, lat: 50.75, lon: -12.48 }, { name: \"Krakau\", tz: 1, lat: 50.05, lon: -19.95 }, { name: \"Lodz\", tz: 1, lat: 51.77, lon: -19.22 }, { name: \"Tarn\\xF3w\", tz: 1, lat: 52.78, lon: -14.97 }, { name: \"Warschau\", tz: 1, lat: 52.25, lon: -21 }, { name: \"Wroczlaw (Breslau)\", tz: 1, lat: 51.1, lon: -17 }, { name: \"Birobidzan\", tz: 9, lat: 48.8, lon: -132.95 }, { name: \"Irkutsk\", tz: 8, lat: 52.27, lon: -104.33 }, { name: \"Kiew\", tz: 2, lat: 50.43, lon: -30.52 }, { name: \"Moskau\", tz: 3, lat: 55.75, lon: -37.58 }, { name: \"St. Petersburg\", tz: 3, lat: 59.92, lon: -30.25 }, { name: \"Taschkent\", tz: 6, lat: 41.33, lon: -69.3 }, { name: \"Tblisi\", tz: 3, lat: 41.72, lon: -44.82 }, { name: \"Montreal, Fr.\", tz: 1, lat: 47.53, lon: -4.02 }, { name: \"Lausanne\", tz: 1, lat: 46.52, lon: -6.63 }, { name: \"Nice\", tz: 1, lat: 43.7, lon: -7.25 }, { name: \"Paris\", tz: 1, lat: 48.87, lon: -2.33 }, { name: \"Birmingham\", tz: 0, lat: 52.5, lon: 1.83 }, { name: \"Bradford\", tz: 0, lat: 53.8, lon: 1.75 }, { name: \"Bristol\", tz: 0, lat: 51.45, lon: 2.58 }, { name: \"Edinburgh\", tz: 0, lat: 55.95, lon: 3.22 }, { name: \"Gateshead\", tz: 0, lat: 54.97, lon: 1.62 }, { name: \"Glasgow\", tz: 0, lat: 55.88, lon: 4.25 }, { name: \"Sheffield\", tz: 0, lat: 53.38, lon: 1.5 }, { name: \"Belfast\", tz: 0, lat: 54.58, lon: 5.92 }, { name: \"Dublin\", tz: 0, lat: 53.33, lon: 6.25 }, { name: \"Tralee\", tz: 0, lat: 52.27, lon: 9.7 }, { name: \"Atlanta (Ga., US)\", tz: -5, lat: 33.75, lon: 84.38 }, { name: \"Baltimore, MD\", tz: -5, lat: 39.28, lon: 76.62 }, { name: \"Bentonville, Arkansas\", tz: -6, lat: 36.37, lon: 94.22 }, { name: \"Boston, MA\", tz: -5, lat: 42.35, lon: 71.07 }, { name: \"Buffalo\", tz: -5, lat: 42.9, lon: 78.88 }, { name: \"Burlington (VT, US)\", tz: -5, lat: 44.48, lon: 73.22 }, { name: \"Canton, Ohio\", tz: -5, lat: 40.78, lon: 81.37 }, { name: \"Charleston (S.C., US)\", tz: -5, lat: 32.78, lon: 79.93 }, { name: \"Charlotte (N.C., US)\", tz: -5, lat: 35.23, lon: 80.83 }, { name: \"Chicago\", tz: -6, lat: 41.88, lon: 87.63 }, { name: \"Cincinnati, OH\", tz: -5, lat: 39.1, lon: 84.63 }, { name: \"Cleveland (Ohio, US)\", tz: -5, lat: 41.5, lon: 81.68 }, { name: \"Columbus, OH\", tz: -5, lat: 39.95, lon: 83 }, { name: \"Dallas, TX\", tz: -6, lat: 32.78, lon: 96.8 }, { name: \"Denver (Colo., US)\", tz: -7, lat: 39.72, lon: 105.02 }, { name: \"Detroit, MI\", tz: -5, lat: 42.33, lon: 83.05 }, { name: \"Essexville, MI\", tz: -5, lat: 43.62, lon: 83.83 }, { name: \"Fairbanks, AK\", tz: -10, lat: 64.85, lon: 147.72 }, { name: \"Flagstaff, Arizona\", tz: -7, lat: 35.18, lon: 111.65 }, { name: \"Hartford (Conn., US)\", tz: -5, lat: 41.77, lon: 72.68 }, { name: \"Houston, TX\", tz: -6, lat: 29.77, lon: 95.37 }, { name: \"Indianapolis, Indiana\", tz: -6, lat: -19.03, lon: 47.92 }, { name: \"Kansas City (Kans., US)\", tz: -6, lat: 39.12, lon: 94.65 }, { name: \"Little Rock\", tz: -6, lat: 34.73, lon: 92.25 }, { name: \"Los Angeles (LA)\", tz: -8, lat: 34.05, lon: 118.25 }, { name: \"Louisville (Ky., US)\", tz: -5, lat: 38.25, lon: 85.75 }, { name: \"Madison (Wis., US)\", tz: -6, lat: 43.08, lon: 89.37 }, { name: \"Memphis (Tenn., US)\", tz: -6, lat: 35.13, lon: 90.05 }, { name: \"Miami, FL\", tz: -5, lat: 25.77, lon: 80.2 }, { name: \"Miami Beach, FL\", tz: -5, lat: 25.78, lon: 80.13 }, { name: \"Milwaukee (Wis., US)\", tz: -6, lat: 43.03, lon: 87.92 }, { name: \"Minneapolis, Minnesota\", tz: -6, lat: 44.98, lon: 93.22 }, { name: \"Mobile\", tz: -6, lat: 30.7, lon: 88.08 }, { name: \"Monticello\", tz: -5, lat: 41.65, lon: 74.7 }, { name: \"Naples (Fla., US)\", tz: -5, lat: 26.13, lon: 81.8 }, { name: \"Nashville (Tenn., US)\", tz: -6, lat: 36.15, lon: 86.8 }, { name: \"New Brunswick\", tz: -5, lat: 40.48, lon: 74.45 }, { name: \"New Haven (Conn., US)\", tz: -5, lat: 41.3, lon: 72.93 }, { name: \"New Orleans, Louisiana\", tz: -6, lat: 29.97, lon: 90.12 }, { name: \"New York, NY\", tz: -5, lat: 40.72, lon: 74.02 }, { name: \"New York, Brooklyn\", tz: -5, lat: 40.7, lon: 74 }, { name: \"Newark (N.J., US)\", tz: -5, lat: 40.73, lon: 74.15 }, { name: \"Newport (R.I., US)\", tz: -5, lat: 41.22, lon: 71.3 }, { name: \"Omaha, Nebraska\", tz: -6, lat: 41.27, lon: 95.95 }, { name: \"Orlando, FL\", tz: -5, lat: 28.53, lon: 81.38 }, { name: \"Philadelphia, Pennsylvania\", tz: -5, lat: 39.95, lon: 75.1 }, { name: \"Phoenix, Arizona\", tz: -7, lat: 33.45, lon: 112.08 }, { name: \"Pittsburgh, Pennsylvania\", tz: -5, lat: 40.43, lon: 80 }, { name: \"Portland (Maine, US)\", tz: -5, lat: 43.65, lon: 70.28 }, { name: \"Portland (Oreg, US)\", tz: -8, lat: 45.55, lon: 112.6 }, { name: \"Providence, RI\", tz: -5, lat: 41.83, lon: 71.42 }, { name: \"Salt Lake City, Utah\", tz: -7, lat: 40.77, lon: 111.88 }, { name: \"San Antonio, TX\", tz: -6, lat: 29.47, lon: 98.52 }, { name: \"San Francisco\", tz: -8, lat: 37.78, lon: 122.4 }, { name: \"Santa Fe (N.Mex., US)\", tz: -7, lat: 35.7, lon: 106.95 }, { name: \"Seattle, WA\", tz: -8, lat: 47.6, lon: 122.33 }, { name: \"Silver Spring\", tz: -5, lat: 39.03, lon: 77.05 }, { name: \"Springfield (Mass., US)\", tz: -5, lat: 42.12, lon: 72.6 }, { name: \"Stamford, CA\", tz: -5, lat: 41.05, lon: 73.55 }, { name: \"St. Louis\", tz: -6, lat: 38.63, lon: 90.18 }, { name: \"Tampa, FL\", tz: -5, lat: 27.95, lon: 82.45 }, { name: \"Topeka (KS, US)\", tz: -6, lat: 39.05, lon: 95.68 }, { name: \"Tucson\", tz: -7, lat: 32.22, lon: 110.97 }, { name: \"Washington, DC\", tz: -5, lat: 38.9, lon: 77.02 }, { name: \"Wichita, TX\", tz: -6, lat: 37.67, lon: 97.33 }, { name: \"Yellowstone Lake\", tz: -7, lat: 44.42, lon: 110.37 }, { name: \"Ancona\", tz: 1, lat: 43.63, lon: -13.5 }, { name: \"Asti\", tz: 1, lat: 44.9, lon: -8.18 }, { name: \"Bologna\", tz: 1, lat: 44.48, lon: -11.33 }, { name: \"Ferrara\", tz: 1, lat: 44.83, lon: -11.58 }, { name: \"Florenz\", tz: 1, lat: 43.77, lon: -11.25 }, { name: \"Genua\", tz: 1, lat: 44.42, lon: -8.95 }, { name: \"Livorno\", tz: 1, lat: 43.55, lon: -10.32 }, { name: \"Mantova\", tz: 1, lat: 45.15, lon: -10.8 }, { name: \"Meran\", tz: 1, lat: 46.67, lon: -11.15 }, { name: \"Mailand\", tz: 1, lat: 45.47, lon: -9.18 }, { name: \"Modena\", tz: 1, lat: 44.67, lon: -10.92 }, { name: \"Neapel\", tz: 1, lat: 40.85, lon: -14.28 }, { name: \"Padova\", tz: 1, lat: 45.42, lon: -11.88 }, { name: \"Parma\", tz: 1, lat: 44.8, lon: -10.32 }, { name: \"Perugia\", tz: 1, lat: 43.13, lon: -12.37 }, { name: \"Pisa\", tz: 1, lat: 43.72, lon: -10.38 }, { name: \"Rom\", tz: 1, lat: 41.9, lon: -12.48 }, { name: \"Siena\", tz: 1, lat: 43.32, lon: -11.35 }, { name: \"Spiazzo\", tz: 1, lat: 46.12, lon: -10.67 }, { name: \"Trieste\", tz: 1, lat: 45.67, lon: -13.77 }, { name: \"Turin\", tz: 1, lat: 45.07, lon: -7.67 }, { name: \"Venedig\", tz: 1, lat: 45.45, lon: -12.35 }, { name: \"Verona\", tz: 1, lat: 45.45, lon: -11 }, { name: \"Alburquerque\", tz: 1, lat: 39.22, lon: 7 }, { name: \"Alicante\", tz: 1, lat: 38.35, lon: 0.47 }, { name: \"Barcelona\", tz: 1, lat: 41.38, lon: -2.18 }, { name: \"Mallorca\", tz: 1, lat: 39.48, lon: -3 }, { name: \"Marbella\", tz: 1, lat: 36.52, lon: 4.88 }, { name: \"Sevilla\", tz: 1, lat: 37.37, lon: 5.98 }, { name: \"Torremolinos\", tz: 1, lat: 36.6, lon: 4.5 }, { name: \"Valencia\", tz: 1, lat: 39.47, lon: 0.37 }, { name: \"Belmonte\", tz: 0, lat: 40.37, lon: 7.37 }, { name: \"Lissabon\", tz: 0, lat: 38.72, lon: 9.13 }, { name: \"Porto\", tz: 0, lat: 41.18, lon: 8.6 }, { name: \"Athen\", tz: 2, lat: 37.97, lon: -23.72 }, { name: \"Korfu\", tz: 2, lat: 39.6, lon: -19.92 }, { name: \"Rhodos\", tz: 2, lat: 36.17, lon: -28 }, { name: \"Saloniki\", tz: 2, lat: 40.65, lon: -23.02 }, { name: \"Trikala\", tz: 2, lat: 39.57, lon: -21.77 }, { name: \"Volos\", tz: 2, lat: 39.35, lon: -22.93 }, { name: \"Ankara\", tz: 2, lat: 39.93, lon: -32.87 }, { name: \"Bursa\", tz: 2, lat: 40.18, lon: -29.07 }, { name: \"Istanbul\", tz: 2, lat: 41.02, lon: -28.97 }, { name: \"Izmir\", tz: 2, lat: 38.42, lon: -27.15 }, { name: \"Esch-sur-Alzette\", tz: 1, lat: 49.5, lon: -5.98 }, { name: \"Luxemburg\", tz: 1, lat: 49.6, lon: -6.15 }, { name: \"Kopenhagen\", tz: 1, lat: 55.67, lon: -12.58 }, { name: \"Boras\", tz: 1, lat: 57.72, lon: -12.92 }, { name: \"G\\xF6teborg\", tz: 1, lat: 57.72, lon: -11.97 }, { name: \"Lund\", tz: 1, lat: 55.7, lon: -13.18 }, { name: \"Malm\\xF6\", tz: 1, lat: 55.6, lon: -13 }, { name: \"Stockholm\", tz: 1, lat: 59.33, lon: -18.05 }, { name: \"Oslo\", tz: 1, lat: 59.92, lon: -10.75 }, { name: \"Trondheim\", tz: 1, lat: 63.42, lon: -10.42 }, { name: \"Helsinki\", tz: 2, lat: 60.17, lon: -24.97 }, { name: \"Turku\", tz: 2, lat: 60.45, lon: -22.28 }, { name: \"Pazardjik\", tz: 2, lat: 42.2, lon: -24.33 }, { name: \"Plovdiv\", tz: 2, lat: 42.15, lon: -24.75 }, { name: \"Ruse\", tz: 2, lat: 43.83, lon: -25.95 }, { name: \"Sofia\", tz: 2, lat: 42.68, lon: -23.32 }, { name: \"Bacau\", tz: 2, lat: 46.57, lon: -26.92 }, { name: \"Botosani\", tz: 2, lat: 47.75, lon: -26.67 }, { name: \"Brasov\", tz: 2, lat: 45.65, lon: -25.62 }, { name: \"Cluj\", tz: 2, lat: 46.78, lon: -23.6 }, { name: \"Constanta\", tz: 2, lat: 44.18, lon: -28.65 }, { name: \"Dorohoi\", tz: 2, lat: 47.95, lon: -26.4 }, { name: \"Galati\", tz: 2, lat: 45.43, lon: -28.05 }, { name: \"Iasi\", tz: 2, lat: 47.17, lon: -27.58 }, { name: \"Oradea\", tz: 2, lat: 47.05, lon: -21.95 }, { name: \"Piatra Neamt\", tz: 2, lat: 46.93, lon: -26.37 }, { name: \"Radauti\", tz: 2, lat: 47.85, lon: -25.92 }, { name: \"Satu Mare\", tz: 2, lat: 47.8, lon: -22.88 }, { name: \"Sighetul Marmatiei\", tz: 2, lat: 47.93, lon: -23.9 }, { name: \"Suceava\", tz: 2, lat: 47.65, lon: -26.32 }, { name: \"Timisoara\", tz: 2, lat: 45.75, lon: -21.22 }, { name: \"Tirgu Mures\", tz: 2, lat: 46.55, lon: -24.55 }, { name: \"Budapest\", tz: 1, lat: 47.5, lon: -19.08 }, { name: \"Sopron\", tz: 1, lat: 47.68, lon: -16.6 }, { name: \"Br\\xFCnn\", tz: 1, lat: 49.2, lon: -16.62 }, { name: \"Karlsbad\", tz: 1, lat: 50.18, lon: -12.87 }, { name: \"Liberec\", tz: 1, lat: 50.77, lon: -15.05 }, { name: \"Olomouc\", tz: 1, lat: 49.6, lon: -17.27 }, { name: \"Ostrava\", tz: 1, lat: 49.83, lon: -18.28 }, { name: \"Pilsen\", tz: 1, lat: 49.75, lon: -13.38 }, { name: \"Prag\", tz: 1, lat: 50.08, lon: -14.43 }, { name: \"Teplice\", tz: 1, lat: 50.65, lon: -13.8 }, { name: \"Usti nad Labem\", tz: 1, lat: 50.67, lon: -14.03 }, { name: \"Bratislava\", tz: 1, lat: 48.15, lon: -17.12 }, { name: \"Galanta\", tz: 1, lat: 48.2, lon: -17.72 }, { name: \"Kosice\", tz: 1, lat: 48.72, lon: -21.25 }, { name: \"Piestany\", tz: 1, lat: 48.6, lon: -17.83 }, { name: \"Presov\", tz: 1, lat: 49, lon: -21.25 }, { name: \"Trnava\", tz: 1, lat: 48.38, lon: -17.58 }, { name: \"Belgrad\", tz: 1, lat: 44.83, lon: -20.5 }, { name: \"Novi Sad\", tz: 1, lat: 45.25, lon: -19.83 }, { name: \"Subotica\", tz: 1, lat: 46.1, lon: -19.65 }, { name: \"Dubrovnik\", tz: 1, lat: 42.63, lon: -18.12 }, { name: \"Rijeka\", tz: 1, lat: 45.33, lon: -14.45 }, { name: \"Split\", tz: 1, lat: 43.52, lon: -16.45 }, { name: \"Zagreb\", tz: 1, lat: 45.8, lon: -15.97 }, { name: \"Skopje\", tz: 1, lat: 41.98, lon: -21.43 }, { name: \"Sarajevo\", tz: 1, lat: 43.87, lon: -18.42 }, { name: \"Ljubljana\", tz: 1, lat: 46.05, lon: -14.52 }, { name: \"Teheran (GMT+3)\", tz: 3, lat: 35.67, lon: -51.43 }, { name: \"Teheran (GMT+4)\", tz: 4, lat: 35.67, lon: -51.43 }, { name: \"Tokyo\", tz: 9, lat: 35.7, lon: -139.77 }, { name: \"Asuncion\", tz: -4, lat: -25.27, lon: 57.67 }, { name: \"Sao Paulo\", tz: -3, lat: -23.53, lon: 46.62 }, { name: \"Buenos Aires\", tz: -3, lat: -34.6, lon: 58.45 }, { name: \"Guangzhou (Canton)\", tz: 8, lat: 23.1, lon: -113.27 }, { name: \"Hong Kong\", tz: 8, lat: 25.25, lon: -114.17 }, { name: \"Peking (Beijing)\", tz: 8, lat: 39.9, lon: -116.42 }, { name: \"Shanghai\", tz: 8, lat: 31.23, lon: -121.47 }, { name: \"Shenyang\", tz: 8, lat: 41.8, lon: -123.45 }, { name: \"Bangkok\", tz: 7, lat: 13.58, lon: -100.48 }, { name: \"Neu Dehli (GMT+5)\", tz: 5, lat: 28.3, lon: -77.47 }, { name: \"Neu Dehli (GMT+6)\", tz: 6, lat: 28.3, lon: -77.47 }, { name: \"Kairo\", tz: 2, lat: 29.67, lon: -31.02 }, { name: \"Damaskus\", tz: 3, lat: 33.13, lon: -36.43 }, { name: \"Amman\", tz: 2, lat: 31.7, lon: -35.88 }, { name: \"Ar-Rijad (Riyadh)\", tz: 3, lat: 24.63, lon: -46.72 }, { name: \"Beirut\", tz: 2, lat: 33.33, lon: -35.37 }, { name: \"Pjongjang (P\\xB4yongyang)\", tz: 9, lat: 39.02, lon: -125.75 }, { name: \"Seoul (Soul)\", tz: 9, lat: 37.55, lon: -126.97 }, { name: \"Singapur\", tz: 8, lat: 11.37, lon: -103.8 }, { name: \"Lima\", tz: -5, lat: -12.05, lon: 77.05 }, { name: \"Havana\", tz: -5, lat: 23.13, lon: 82.37 }, { name: \"Brisbane\", tz: 10, lat: -27.47, lon: -153.03 }, { name: \"Canberra\", tz: 10, lat: -35.28, lon: -149.13 }, { name: \"Sydney\", tz: 10, lat: -33.87, lon: -151.22 }, { name: \"Halifax, N.S., Can.\", tz: -4, lat: 44.65, lon: 63.6 }, { name: \"Montreal, Quebec, Can.\", tz: -5, lat: 45.52, lon: 73.57 }, { name: \"Quebec\", tz: -5, lat: 46.82, lon: 71.23 }, { name: \"Vancouver\", tz: -8, lat: 49.27, lon: 123.12 }, { name: \"Demmin\", tz: 1, lat: 53.9, lon: -13.03 }, { name: \"Dieburg\", tz: 1, lat: 49.9, lon: -8.83 }, { name: \"D\\xF6mitz\", tz: 1, lat: 53.13, lon: -11.23 }, { name: \"Durlach\", tz: 1, lat: 49, lon: -8.45 }, { name: \"Landau\", tz: 1, lat: 49.2, lon: -8.12 }, { name: \"Landau an der Isar\", tz: 1, lat: 48.67, lon: -12.72 }, { name: \"Parchim\", tz: 1, lat: 53.42, lon: -11.85 }, { name: \"Suhl\", tz: 1, lat: 50.62, lon: -10.68 }, { name: \"Worms\", tz: 1, lat: 49.63, lon: -8.37 }, { name: \"Strasbourg\", tz: 1, lat: 48.58, lon: -7.75 }, { name: \"Kaunas\", tz: 2, lat: 54.9, lon: -23.9 }, { name: \"K\\xF6nigsberg\", tz: 2, lat: 54.72, lon: -20.5 }, { name: \"Riga\", tz: 2, lat: 56.95, lon: -24.1 }, { name: \"Tallinn\", tz: 2, lat: 59.42, lon: -24.75 }, { name: \"Vilnius\", tz: 2, lat: 54.68, lon: -25.32 }, { name: \"Blackpool\", tz: 0, lat: 53.83, lon: 3.05 }, { name: \"Bournemouth\", tz: 0, lat: 50.72, lon: 1.9 }, { name: \"Brighton\", tz: 0, lat: 50.83, lon: 0.13 }, { name: \"Cambridge\", tz: 0, lat: 52.22, lon: -0.13 }, { name: \"Coventry\", tz: 0, lat: 52.42, lon: 1.5 }, { name: \"Croydon\", tz: 0, lat: 51.38, lon: 0.1 }, { name: \"Eastbourne\", tz: 0, lat: 50.77, lon: -0.28 }, { name: \"Exeter\", tz: 0, lat: 50.72, lon: 3.52 }, { name: \"Grimsby\", tz: 0, lat: 53.58, lon: 0.08 }, { name: \"Guildford\", tz: 0, lat: 51.23, lon: 0.58 }, { name: \"Harlow\", tz: 0, lat: 51.78, lon: -0.13 }, { name: \"Harrogate\", tz: 0, lat: 54, lon: 1.55 }, { name: \"Hemel Hempstead\", tz: 0, lat: 51.77, lon: 0.47 }, { name: \"Hove\", tz: 0, lat: 50.82, lon: 0.17 }, { name: \"Leicester\", tz: 0, lat: 52.63, lon: 1.08 }, { name: \"Luton\", tz: 0, lat: 51.88, lon: 0.42 }, { name: \"Newcastle\", tz: 0, lat: 54.2, lon: 5.75 }, { name: \"Norwich\", tz: 0, lat: 52.63, lon: -1.3 }, { name: \"Nottingham\", tz: 0, lat: 52.97, lon: 1.17 }, { name: \"Oxford\", tz: 0, lat: 51.77, lon: 1.23 }, { name: \"Plymouth\", tz: 0, lat: 50.38, lon: 4.15 }, { name: \"Portsmouth\", tz: 0, lat: 50.8, lon: 1.08 }, { name: \"Ramsgate\", tz: 0, lat: 51.33, lon: -1.42 }, { name: \"Reading\", tz: 0, lat: 51.47, lon: 0.98 }, { name: \"Rochester\", tz: 0, lat: 51.4, lon: -0.5 }, { name: \"Saint Anne's\", tz: 0, lat: 53.75, lon: 3.03 }, { name: \"Solihull\", tz: 0, lat: 52.42, lon: 1.75 }, { name: \"Southend-on-SEA\", tz: 0, lat: 51.55, lon: -0.72 }, { name: \"Southport\", tz: 0, lat: 53.65, lon: 3.02 }, { name: \"Watford\", tz: 0, lat: 51.67, lon: 0.42 }, { name: \"Agen\", tz: 1, lat: 44.2, lon: -0.62 }, { name: \"Aix-en-Provence\", tz: 1, lat: 43.53, lon: -5.43 }, { name: \"Aix-les-Bains\", tz: 1, lat: 45.7, lon: -5.75 }, { name: \"Annecy\", tz: 1, lat: 45.9, lon: -6.12 }, { name: \"Antibes\", tz: 1, lat: 43.58, lon: -7.12 }, { name: \"Arcachon\", tz: 1, lat: 44.62, lon: 1.2 }, { name: \"Bayonne\", tz: 1, lat: 43.48, lon: 1.48 }, { name: \"Belfort\", tz: 1, lat: 47.63, lon: -6.87 }, { name: \"Benfeld\", tz: 1, lat: 48.37, lon: -7.6 }, { name: \"Besancon\", tz: 1, lat: 47.25, lon: -6.03 }, { name: \"Biarritz\", tz: 1, lat: 43.48, lon: 1.57 }, { name: \"Bordeuax\", tz: 1, lat: 44.83, lon: 0.57 }, { name: \"Boulay-Moselle\", tz: 1, lat: 49.18, lon: -6.5 }, { name: \"Boulogne-Sur-Mer\", tz: 1, lat: 50.72, lon: -1.62 }, { name: \"Brest, Fr.\", tz: 1, lat: 48.4, lon: 4.48 }, { name: \"Caen\", tz: 1, lat: 49.18, lon: 0.35 }, { name: \"Caluire et Cuire\", tz: 1, lat: 45.8, lon: -4.85 }, { name: \"Cannes\", tz: 1, lat: 43.55, lon: -7.02 }, { name: \"Carpentras\", tz: 1, lat: 44.05, lon: -5.05 }, { name: \"Cavaillon\", tz: 1, lat: 43.83, lon: -5.02 }, { name: \"Chalons-Sur-Marne\", tz: 1, lat: 48.95, lon: -4.37 }, { name: \"Chalons-Sur-Saone\", tz: 1, lat: 46.78, lon: -4.85 }, { name: \"Clermont-Ferrand\", tz: 1, lat: 45.78, lon: -3.08 }, { name: \"Colmar\", tz: 1, lat: 58.08, lon: -7.37 }, { name: \"Dijon\", tz: 1, lat: 47.32, lon: -5.02 }, { name: \"Evian-Les-Bains\", tz: 1, lat: 46.38, lon: -6.58 }, { name: \"Grasse\", tz: 1, lat: 43.67, lon: -6.92 }, { name: \"Grenoble\", tz: 1, lat: 45.17, lon: -5.72 }, { name: \"Haguenau\", tz: 1, lat: 48.82, lon: -7.78 }, { name: \"La Rochelle\", tz: 1, lat: 46.17, lon: 1.17 }, { name: \"La Seyne-Sur-Mer\", tz: 1, lat: 43.1, lon: -5.88 }, { name: \"Le Havre\", tz: 1, lat: 49.5, lon: -0.13 }, { name: \"Lille\", tz: 1, lat: 50.63, lon: -3.07 }, { name: \"Limoges\", tz: 1, lat: 45.83, lon: -1.25 }, { name: \"Lyon\", tz: 1, lat: 45.75, lon: -4.85 }, { name: \"M\\xE2con, Fr.\", tz: 1, lat: 46.3, lon: -4.83 }, { name: \"Menton\", tz: 1, lat: 43.78, lon: -7.5 }, { name: \"Metz\", tz: 1, lat: 49.13, lon: -6.17 }, { name: \"Montpellier\", tz: 1, lat: 43.6, lon: -3.88 }, { name: \"M\\xFClhausen im T\\xE4le\", tz: 1, lat: 48.57, lon: -9.65 }, { name: \"Nancy\", tz: 1, lat: 48.68, lon: -6.2 }, { name: \"N\\xEEmes\", tz: 1, lat: 43.83, lon: -4.35 }, { name: \"Nizza Monferrato\", tz: 1, lat: 44.77, lon: -8.35 }, { name: \"Orl\\xE9ans, Fr.\", tz: 1, lat: 47.92, lon: -1.9 }, { name: \"Perpignan\", tz: 1, lat: 42.68, lon: -2.87 }, { name: \"Reims\", tz: 1, lat: 49.25, lon: -4.02 }, { name: \"Rouen\", tz: 1, lat: 49.43, lon: -1.08 }, { name: \"Saint-Louis, Fr.\", tz: 1, lat: 47.58, lon: -7.57 }, { name: \"Sens\", tz: 1, lat: 48.2, lon: -3.28 }, { name: \"Toulouse\", tz: 1, lat: 43.6, lon: -1.43 }, { name: \"Tours\", tz: 1, lat: 47.38, lon: -0.68 }, { name: \"Troyes\", tz: 1, lat: 48.3, lon: -4.08 }, { name: \"Versailles, Fr.\", tz: 1, lat: 48.8, lon: -2.13 }, { name: \"Vittel\", tz: 1, lat: 48.2, lon: -5.95 }, { name: \"Wasselonne\", tz: 1, lat: 48.63, lon: -7.45 }, { name: \"Rothenburg ob der Tauber\", tz: 1, lat: 49.38, lon: -10.17 }, { name: \"Rothenburg\", tz: 1, lat: 51.33, lon: -14.97 }, { name: \"Rothenburg an der Oder\", tz: 1, lat: 52.02, lon: -15.42 }, { name: \"Alexandria, Egypt\", tz: 2, lat: 31.18, lon: -29.93 }, { name: \"Anchorage, AK\", tz: -9, lat: 61.22, lon: 149.88 }, { name: \"Ann Arbor, MI\", tz: -5, lat: 42.3, lon: 83.75 }, { name: \"Augusta, GA\", tz: -5, lat: 33.48, lon: 81.93 }, { name: \"Baghdad, Iraq\", tz: 3, lat: 33.35, lon: -44.42 }, { name: \"Birmingham, AL\", tz: -6, lat: 33.52, lon: 86.82 }, { name: \"Bombay, India (GMT+5)\", tz: 5, lat: 18.95, lon: -72.83 }, { name: \"Bombay, India (GMT+6)\", tz: 6, lat: 18.95, lon: -72.83 }, { name: \"Casablanca, Marokko\", tz: 0, lat: 33.65, lon: 7.58 }, { name: \"Djakarta, Indonesia\", tz: 7, lat: -6.17, lon: -106.8 }, { name: \"Desmoines, IA\", tz: -6, lat: 41.58, lon: 93.62 }, { name: \"Dubayy\", tz: 4, lat: 25.3, lon: -55.3 }, { name: \"Fort Lauderdale, FL\", tz: -5, lat: 26.12, lon: 80.13 }, { name: \"Jacksonsville, FL\", tz: -5, lat: 30.33, lon: 81.67 }, { name: \"Karachi\", tz: 5, lat: 24.87, lon: -67.05 }, { name: \"Kuala Lumpur, Malaysia\", tz: 8, lat: 3.15, lon: -101.72 }, { name: \"Kuwait, Kuwait\", tz: 3, lat: 29.5, lon: -47.75 }, { name: \"Lagos, Nigeria\", tz: 1, lat: 6.45, lon: -3.4 }, { name: \"Las Vegas, NV\", tz: -8, lat: 36.18, lon: 115.13 }, { name: \"Mauritius\", tz: 4, lat: -20.28, lon: -57.55 }, { name: \"Panama, Panama\", tz: -5, lat: 8.97, lon: 79.52 }, { name: \"Peoria, IL\", tz: -6, lat: 40.7, lon: 89.6 }, { name: \"Raleigh, NC\", tz: -5, lat: 35.78, lon: 78.65 }, { name: \"Redmond, WA\", tz: -8, lat: 47.4, lon: 122.07 }, { name: \"Sacramento, CA\", tz: -8, lat: 38.58, lon: 121.5 }, { name: \"Tenerife, Spain\", tz: 1, lat: 28.03, lon: -16.57 }, { name: \"Durres, Albania\", tz: 1, lat: 41.32, lon: -19.43 }, { name: \"Lushnje, Albania\", tz: 1, lat: 40.93, lon: -19.7 }, { name: \"Lugoj, Romania\", tz: 2, lat: 45.68, lon: -21.9 }, { name: \"Shkoder, Albania\", tz: 1, lat: 42.08, lon: -19.5 }, { name: \"Addis Abeba\", tz: 3, lat: 9.15, lon: -38.77 }, { name: \"Aden, Jemen\", tz: 3, lat: 12.78, lon: -45.03 }, { name: \"Boca Raton, FL\", tz: -5, lat: 26.35, lon: 80.08 }, { name: \"Buchara\", tz: 5, lat: 39.77, lon: -64.42 }, { name: \"Gondar, Ethiopia\", tz: 3, lat: 12.6, lon: -37.48 }, { name: \"Jekaterinburg\", tz: 5, lat: 56.83, lon: -60.5 }, { name: \"Kaifeng, China\", tz: 8, lat: 34.78, lon: -114.43 }, { name: \"Krasnojarsk\", tz: 7, lat: 56, lon: -92.98 }, { name: \"Mbale, Uganda\", tz: 3, lat: 1.07, lon: -34.18 }, { name: \"New Bedfort, MA\", tz: -5, lat: 41.63, lon: 70.93 }, { name: \"Nicosia, Cyprus\", tz: 2, lat: 34.78, lon: -33.48 }, { name: \"Nowgorod\", tz: 3, lat: 58.58, lon: -31.23 }, { name: \"Omsk\", tz: 6, lat: 54.95, lon: -73.33 }, { name: \"Plano, TX\", tz: -6, lat: 33.03, lon: 96.7 }, { name: \"Perm\", tz: 5, lat: 57.92, lon: -56.05 }, { name: \"Sana, Jemen\", tz: 3, lat: 15.18, lon: -44.02 }, { name: \"Skokie, IL\", tz: -6, lat: 42.03, lon: 87.77 }, { name: \"Woronesch, Russia\", tz: 3, lat: 51.7, lon: -39.25 }, { name: \"Allentown, PA\", tz: -5, lat: 40.6, lon: 75.48 }, { name: \"Capetown, South Africa\", tz: 2, lat: -33.9, lon: -18.37 }, { name: \"Chapel Hill, NC\", tz: -5, lat: 35.9, lon: 79.07 }, { name: \"Ft. Walton Beach, FL\", tz: -5, lat: 30.4, lon: 86.52 }, { name: \"Greenwich Meridian\", tz: 0, lat: 0, lon: 0 }, { name: \"Monsey, NY\", tz: -5, lat: 41.12, lon: 74.07 }, { name: \"Ramat Gan\", tz: 2, lat: 32.07, lon: -34.82 }, { name: \"Lugano\", tz: 1, lat: 46.02, lon: -8.97 }, { name: \"Baden, Austria\", tz: 1, lat: 48, lon: -16.23 }, { name: \"Gadsten, AL\", tz: -6, lat: 34.02, lon: 86.02 }, { name: \"Huntsville, AL\", tz: -6, lat: 34.73, lon: 86.58 }, { name: \"Montgomery, AL\", tz: -6, lat: 32.37, lon: 86.32 }, { name: \"Juneau, AK\", tz: -10, lat: 58.3, lon: 134.42 }, { name: \"Nome, AK\", tz: -10, lat: 64.5, lon: 165.42 }, { name: \"Algiers\", tz: 1, lat: 36.48, lon: -3 }, { name: \"Luanda\", tz: 1, lat: -8.5, lon: -13.15 }, { name: \"Yuma, Arizona\", tz: -7, lat: 32.72, lon: 114.62 }, { name: \"Ft Smith, Arkansas\", tz: -6, lat: 35.37, lon: 94.43 }, { name: \"Perth\", tz: 8, lat: -31.83, lon: -116.17 }, { name: \"Porto Novo\", tz: 1, lat: 6.3, lon: -2.45 }, { name: \"Ouagadougou\", tz: 0, lat: 12.2, lon: 1.4 }, { name: \"Bujumbura\", tz: 2, lat: -3.22, lon: -29.18 }, { name: \"Bakersfield, CA\", tz: -8, lat: 35.37, lon: 119.02 }, { name: \"Berkeley, CA\", tz: -8, lat: 37.87, lon: 122.27 }, { name: \"Eureka, CA\", tz: -8, lat: 40.78, lon: 124.17 }, { name: \"Fresno, CA\", tz: -8, lat: 36.73, lon: 119.78 }, { name: \"Long Beach, CA\", tz: -8, lat: 33.77, lon: 118.18 }, { name: \"Oakland, CA\", tz: -8, lat: 37.78, lon: 122.27 }, { name: \"Pasadena, CA\", tz: -8, lat: 34.15, lon: 118.15 }, { name: \"San Bernardino, CA\", tz: -8, lat: 34.12, lon: 117.47 }, { name: \"San Jose, CA\", tz: -8, lat: 37.33, lon: 121.88 }, { name: \"Santa Barbara, CA\", tz: -8, lat: 34.42, lon: 119.7 }, { name: \"Santa Cruz, CA\", tz: -8, lat: 36.97, lon: 122.02 }, { name: \"Stockton, CA\", tz: -8, lat: 37.97, lon: 121.28 }, { name: \"Yaounde\", tz: 1, lat: 3.52, lon: -11.32 }, { name: \"Calgary\", tz: -7, lat: 51.05, lon: 114.05 }, { name: \"Edmondton\", tz: -7, lat: 53.55, lon: 113.48 }, { name: \"Lethbridge\", tz: -7, lat: 49.7, lon: 112.83 }, { name: \"Prince Rupert, British Columbia\", tz: -8, lat: 54.32, lon: 130.32 }, { name: \"Victoria, British Columbia\", tz: -8, lat: 48.43, lon: 123.37 }, { name: \"Brandon\", tz: -6, lat: 49.85, lon: 99.95 }, { name: \"Churchill\", tz: -6, lat: 58.75, lon: 94.17 }, { name: \"Fredericton\", tz: -4, lat: 45.97, lon: 66.65 }, { name: \"Moncton\", tz: -4, lat: 46.08, lon: 64.78 }, { name: \"St John\", tz: -4, lat: 45.27, lon: 66.07 }, { name: \"St John's\", tz: -4, lat: 47.57, lon: 52.72 }, { name: \"Yellowknife\", tz: -7, lat: 62.45, lon: 114.38 }, { name: \"Sydney, Canada\", tz: -4, lat: 46.13, lon: 60.2 }, { name: \"Belleville\", tz: -5, lat: 44.17, lon: 77.38 }, { name: \"Brantford\", tz: -5, lat: 43.15, lon: 80.27 }, { name: \"Burlington\", tz: -5, lat: 43.33, lon: 79.8 }, { name: \"Guelph\", tz: -5, lat: 43.55, lon: 80.25 }, { name: \"Hamilton\", tz: -5, lat: 43.25, lon: 79.88 }, { name: \"Kingston\", tz: -5, lat: 44.23, lon: 76.48 }, { name: \"Kitchener\", tz: -5, lat: 43.45, lon: 80.48 }, { name: \"London, Ontario\", tz: -5, lat: 42.98, lon: 81.23 }, { name: \"Mississauga\", tz: -5, lat: 43.55, lon: 79.57 }, { name: \"North Bay\", tz: -5, lat: 46.32, lon: 79.47 }, { name: \"Oshawa\", tz: -5, lat: 43.9, lon: 78.87 }, { name: \"Peterborough\", tz: -5, lat: 44.32, lon: 78.32 }, { name: \"St Catherines\", tz: -5, lat: 43.17, lon: 79.25 }, { name: \"Sault St Marie\", tz: -5, lat: 46.5, lon: 84.33 }, { name: \"Sudbury\", tz: -5, lat: 46.48, lon: 80.98 }, { name: \"Thunder Bay\", tz: -5, lat: 48.38, lon: 89.25 }, { name: \"Windsor\", tz: -5, lat: 42.32, lon: 83.03 }, { name: \"Hull\", tz: -5, lat: 45.43, lon: 75.72 }, { name: \"La Salle\", tz: -5, lat: 45.43, lon: 73.67 }, { name: \"Laval\", tz: -5, lat: 45.22, lon: 73.75 }, { name: \"Sherbrooke\", tz: -5, lat: 45.4, lon: 71.85 }, { name: \"Trois Riveres\", tz: -5, lat: 46.35, lon: 72.55 }, { name: \"Dawson\", tz: -8, lat: 64.07, lon: 139.43 }, { name: \"Whitehorse\", tz: -8, lat: 60.72, lon: 135.05 }, { name: \"Moose Jaw\", tz: -6, lat: 50.4, lon: 105.53 }, { name: \"Regina\", tz: -6, lat: 50.45, lon: 104.62 }, { name: \"Saskatoon\", tz: -6, lat: 52.13, lon: 106.67 }, { name: \"Bangui\", tz: 1, lat: 4.22, lon: -18.37 }, { name: \"N'Djamena\", tz: 1, lat: 12.1, lon: -14.58 }, { name: \"Grand Junction\", tz: -7, lat: 39.07, lon: 108.57 }, { name: \"Pueblo\", tz: -7, lat: 38.25, lon: 104.62 }, { name: \"Brazzaville\", tz: 1, lat: -4.13, lon: -15.13 }, { name: \"Bridgeport\", tz: -5, lat: 41.18, lon: 73.18 }, { name: \"Abidjan\", tz: 0, lat: 5.18, lon: 4.02 }, { name: \"Wilmington, Delaware\", tz: -5, lat: 39.75, lon: 75.55 }, { name: \"Quito\", tz: -5, lat: -0.28, lon: 78.52 }, { name: \"Daytona Beach, FL\", tz: -5, lat: 29.22, lon: 81.02 }, { name: \"Gainesville, FL\", tz: -5, lat: 29.65, lon: 82.32 }, { name: \"Key West, FL\", tz: -5, lat: 24.57, lon: 81.8 }, { name: \"Pensacola, FL\", tz: -5, lat: 30.42, lon: 87.22 }, { name: \"St. Petersburg, FL\", tz: -5, lat: 27.78, lon: 82.63 }, { name: \"Sarasota, FL\", tz: -5, lat: 27.33, lon: 82.55 }, { name: \"Tallahassee, FL\", tz: -5, lat: 30.45, lon: 84.45 }, { name: \"W. Palm Beach, FL\", tz: -5, lat: 26.72, lon: 80.05 }, { name: \"Libreville\", tz: 1, lat: 0.23, lon: -9.25 }, { name: \"Banjul\", tz: 0, lat: 13.28, lon: 16.38 }, { name: \"Augusta, Georgia\", tz: -5, lat: 33.47, lon: 81.97 }, { name: \"Columbus, Georgia\", tz: -5, lat: 32.47, lon: 84.98 }, { name: \"Macon, Georgia\", tz: -5, lat: 32.83, lon: 83.63 }, { name: \"Savannah, Georgia\", tz: -5, lat: 32.07, lon: 81.1 }, { name: \"Accra\", tz: 0, lat: 5.33, lon: 0.15 }, { name: \"Conakry\", tz: 0, lat: 9.32, lon: -13.17 }, { name: \"Hilo\", tz: 10, lat: 19.73, lon: 155.08 }, { name: \"Lihue\", tz: 10, lat: 21.98, lon: 159.37 }, { name: \"Victoria, Hongkong\", tz: 8, lat: 22.17, lon: -114.3 }, { name: \"Reykjavik\", tz: 0, lat: 64.15, lon: 21.65 }, { name: \"Boise, Idaho\", tz: -7, lat: 43.62, lon: 116.2 }, { name: \"Pocatello, Idaho\", tz: -7, lat: 42.87, lon: 112.45 }, { name: \"Bloomington, IL\", tz: -6, lat: 40.48, lon: 89 }, { name: \"Champaign, IL\", tz: -6, lat: 40.12, lon: 88.25 }, { name: \"Decatur, IL\", tz: -6, lat: 39.85, lon: 88.95 }, { name: \"Moline, IL\", tz: -6, lat: 41.52, lon: 90.52 }, { name: \"Rockford, IL\", tz: -6, lat: 42.27, lon: 89.1 }, { name: \"Springfield, IL\", tz: -6, lat: 39.78, lon: 89.65 }, { name: \"Urbana, IL\", tz: -6, lat: 40.12, lon: 88.2 }, { name: \"Evansville, Indiana\", tz: -6, lat: 37.97, lon: 87.57 }, { name: \"Ft. Wayne, Indiana\", tz: -6, lat: 41.07, lon: 85.13 }, { name: \"Gary, Indiana\", tz: -6, lat: 41.62, lon: 87.33 }, { name: \"Lafayette, Indiana\", tz: -6, lat: 40.42, lon: 86.9 }, { name: \"Muncie, Indiana\", tz: -6, lat: 40.18, lon: 85.38 }, { name: \"South Bend, Indiana\", tz: -6, lat: 41.68, lon: 86.25 }, { name: \"Terre Houte, Indiana\", tz: -6, lat: 39.47, lon: 87.4 }, { name: \"Cedar Rapids, IA\", tz: -6, lat: 41.97, lon: 91.67 }, { name: \"Davenport, IA\", tz: -6, lat: 41.52, lon: 90.58 }, { name: \"Dubuque, IA\", tz: -6, lat: 42.5, lon: 90.67 }, { name: \"Iowa City, IA\", tz: -6, lat: 41.67, lon: 91.53 }, { name: \"Sioux City, IA\", tz: -6, lat: 42.5, lon: 96.42 }, { name: \"Waterloo, IA\", tz: -6, lat: 42.5, lon: 92.33 }, { name: \"Dodge City (Kans., US)\", tz: -6, lat: 37.75, lon: 100.02 }, { name: \"Salina (Kans., US)\", tz: -6, lat: 38.85, lon: 97.62 }, { name: \"Wichita (Kans., US)\", tz: -6, lat: 37.7, lon: 97.33 }, { name: \"Ashland, KY\", tz: -5, lat: 38.48, lon: 82.63 }, { name: \"Bowling Green, KY\", tz: -5, lat: 37, lon: 86.45 }, { name: \"Lexington, KY\", tz: -5, lat: 38.05, lon: 84.5 }, { name: \"Paducah, KY\", tz: -5, lat: 37.07, lon: 88.6 }, { name: \"Maseru\", tz: 2, lat: -29.18, lon: -27.28 }, { name: \"Monrovia\", tz: 0, lat: 6.2, lon: 10.47 }, { name: \"Tripoli\", tz: 1, lat: 32.83, lon: -13.22 }, { name: \"Baton Rouge, Louisiana\", tz: -6, lat: 30.45, lon: 91.18 }, { name: \"Shreveport, Louisiana\", tz: -6, lat: 32.52, lon: 93.75 }, { name: \"Antananarivo\", tz: 3, lat: -18.5, lon: -47.3 }, { name: \"Augusta, Maine\", tz: -5, lat: 44.32, lon: 69.75 }, { name: \"Bangor, Maine\", tz: -5, lat: 44.8, lon: 68.75 }, { name: \"Lilongwe\", tz: 2, lat: -13.58, lon: -33.48 }, { name: \"Bamako\", tz: 0, lat: 12.4, lon: 7.58 }, { name: \"Brockton, MA\", tz: -5, lat: 42.08, lon: 71.02 }, { name: \"Cambridge, MA\", tz: -5, lat: 42.37, lon: 71.1 }, { name: \"Fall River, MA\", tz: -5, lat: 41.7, lon: 71.15 }, { name: \"Holyoke, MA\", tz: -5, lat: 42.2, lon: 72.62 }, { name: \"Lawrence, MA\", tz: -5, lat: 42.7, lon: 71.15 }, { name: \"Lowell, MA\", tz: -5, lat: 42.63, lon: 71.32 }, { name: \"Pittsfield, MA\", tz: -5, lat: 42.45, lon: 73.25 }, { name: \"Somerville, MA\", tz: -5, lat: 42.38, lon: 71.1 }, { name: \"Worcester, MA\", tz: -5, lat: 42.27, lon: 71.8 }, { name: \"Nouakchott\", tz: 0, lat: 18.08, lon: 15.58 }, { name: \"Battle Creek, MI\", tz: -5, lat: 42.32, lon: 85.18 }, { name: \"Bay City, MI\", tz: -5, lat: 43.6, lon: 83.88 }, { name: \"Flint, MI\", tz: -5, lat: 43.02, lon: 83.7 }, { name: \"Grand Rapids, MI\", tz: -5, lat: 42.97, lon: 85.67 }, { name: \"Jackson, MI\", tz: -5, lat: 42.25, lon: 84.4 }, { name: \"Kalamazoo, MI\", tz: -5, lat: 42.28, lon: 85.58 }, { name: \"Lansing, MI\", tz: -5, lat: 42.73, lon: 84.55 }, { name: \"Saginaw, MI\", tz: -5, lat: 43.43, lon: 83.93 }, { name: \"Duluth, Minnesota\", tz: -6, lat: 46.78, lon: 92.1 }, { name: \"Rochester, Minnesota\", tz: -6, lat: 44.02, lon: 92.47 }, { name: \"St. Cloud, Minnesota\", tz: -6, lat: 45.57, lon: 94.17 }, { name: \"St. Paul, Minnesota\", tz: -6, lat: 44.95, lon: 93.1 }, { name: \"Biloxi, Mississippi\", tz: -6, lat: 30.4, lon: 88.88 }, { name: \"Gulfport, Mississippi\", tz: -6, lat: 30.37, lon: 89.1 }, { name: \"Jackson, Mississippi\", tz: -6, lat: 32.3, lon: 90.18 }, { name: \"Natchez, Mississippi\", tz: -6, lat: 31.57, lon: 91.38 }, { name: \"Columbia, Missouri\", tz: -6, lat: 38.95, lon: 92.33 }, { name: \"Joplin, Missouri\", tz: -6, lat: 37.07, lon: 94.5 }, { name: \"Kansas City, Missouri\", tz: -6, lat: 39.07, lon: 94.58 }, { name: \"St. Joseph, Missouri\", tz: -6, lat: 39.77, lon: 94.85 }, { name: \"St. Louis, Missouri\", tz: -6, lat: 38.63, lon: 90.2 }, { name: \"Springfield, Missouri\", tz: -6, lat: 37.22, lon: 93.3 }, { name: \"Billings, Montana\", tz: -7, lat: 45.78, lon: 108.5 }, { name: \"Butte, Montana\", tz: -7, lat: 46.02, lon: 112.53 }, { name: \"Great Falls, Montana\", tz: -7, lat: 47.5, lon: 111.3 }, { name: \"Helena, Montana\", tz: -7, lat: 46.6, lon: 112.03 }, { name: \"Rabat\", tz: 1, lat: 34.02, lon: 6.52 }, { name: \"Maputo\", tz: 2, lat: -25.58, lon: -32.35 }, { name: \"Windhoek\", tz: 2, lat: -22.33, lon: -17.07 }, { name: \"Lincoln, Nebraska\", tz: -6, lat: 40.82, lon: 96.7 }, { name: \"Carson City, NV\", tz: -8, lat: 39.17, lon: 119.77 }, { name: \"Reno, NV\", tz: -8, lat: 39.52, lon: 119.82 }, { name: \"Concord, New Hampshire\", tz: -5, lat: 43.2, lon: 71.52 }, { name: \"Manchester, New Hampshire\", tz: -5, lat: 42.98, lon: 71.47 }, { name: \"Portsmouth, New Hampshire\", tz: -5, lat: 43.07, lon: 70.75 }, { name: \"Atlantic City, NJ\", tz: -5, lat: 39.37, lon: 74.43 }, { name: \"Camdon, NJ\", tz: -5, lat: 39.95, lon: 75.1 }, { name: \"Jersey City, NJ\", tz: -5, lat: 40.73, lon: 74.07 }, { name: \"Paterson, NJ\", tz: -5, lat: 40.9, lon: 74.15 }, { name: \"Trenton, NJ\", tz: -5, lat: 40.22, lon: 74.8 }, { name: \"Albuquerque, NM\", tz: -7, lat: 35.07, lon: 106.65 }, { name: \"Gallup, NM\", tz: -7, lat: 35.52, lon: 108.73 }, { name: \"Santa Fe, NM\", tz: -7, lat: 35.67, lon: 105.93 }, { name: \"Albany, NY\", tz: -5, lat: 42.65, lon: 73.75 }, { name: \"Binghamton, NY\", tz: -5, lat: 42.1, lon: 86.82 }, { name: \"Buffalo, NY\", tz: -5, lat: 42.88, lon: 78.87 }, { name: \"Central Islip, NY\", tz: -5, lat: 40.78, lon: 73.2 }, { name: \"Niagra Falls, NY\", tz: -5, lat: 43.1, lon: 79.05 }, { name: \"Rochester, NY\", tz: -5, lat: 43.17, lon: 77.6 }, { name: \"Schenectady, NY\", tz: -5, lat: 42.82, lon: 73.93 }, { name: \"Syracuse, NY\", tz: -5, lat: 43.05, lon: 76.15 }, { name: \"Troy, NY\", tz: -5, lat: 42.73, lon: 73.68 }, { name: \"Utica, NY\", tz: -5, lat: 43.1, lon: 75.23 }, { name: \"White Plains, NY\", tz: -5, lat: 41.03, lon: 73.75 }, { name: \"Yonkers, NY\", tz: -5, lat: 40.93, lon: 73.9 }, { name: \"Auckland\", tz: 12, lat: -36.88, lon: -174.75 }, { name: \"Niamey\", tz: 1, lat: 13.32, lon: -2.03 }, { name: \"Lagos\", tz: 1, lat: 6.27, lon: -3.28 }, { name: \"Ashlville, NC\", tz: -5, lat: 35.6, lon: 82.55 }, { name: \"Durham, NC\", tz: -5, lat: 36, lon: 78.92 }, { name: \"Greensboro, NC\", tz: -5, lat: 36.07, lon: 79.78 }, { name: \"Wilmington, NC\", tz: -5, lat: 34.23, lon: 77.93 }, { name: \"Winston Salem, NC\", tz: -5, lat: 36.1, lon: 80.25 }, { name: \"Bismark, N. Dakota\", tz: -7, lat: 46.8, lon: 100.78 }, { name: \"Fargo, N. Dakota\", tz: -7, lat: 46.88, lon: 96.78 }, { name: \"Minot, N. Dakota\", tz: -7, lat: 48.23, lon: 101.3 }, { name: \"Akron, OH\", tz: -5, lat: 41.08, lon: 81.52 }, { name: \"Dayton, OH\", tz: -5, lat: 39.77, lon: 84.2 }, { name: \"Hamilton, OH\", tz: -5, lat: 39.4, lon: 84.57 }, { name: \"Lima, OH\", tz: -5, lat: 40.75, lon: 84.1 }, { name: \"Lorain, OH\", tz: -5, lat: 41.47, lon: 82.18 }, { name: \"Springfield, OH\", tz: -5, lat: 39.95, lon: 83.8 }, { name: \"Stuebenville, OH\", tz: -5, lat: 40.37, lon: 80.62 }, { name: \"Toledo, OH\", tz: -5, lat: 41.65, lon: 83.55 }, { name: \"Youngstown, OH\", tz: -5, lat: 41.1, lon: 80.65 }, { name: \"Zanesville, OH\", tz: -5, lat: 39.93, lon: 82.52 }, { name: \"Enid, Oklahoma\", tz: -6, lat: 36.4, lon: 97.88 }, { name: \"Oklahoma City\", tz: -6, lat: 35.47, lon: 97.52 }, { name: \"Tulsa, Oklahoma\", tz: -6, lat: 36.15, lon: 96 }, { name: \"Eugene (Oreg, US)\", tz: -8, lat: 44.05, lon: 123.1 }, { name: \"Salem (Oreg, US)\", tz: -8, lat: 44.93, lon: 123.03 }, { name: \"Altonna, Pennsylvania\", tz: -5, lat: 40.52, lon: 78.38 }, { name: \"Bethlehem, Pennsylvania\", tz: -5, lat: 40.6, lon: 75.38 }, { name: \"Erie, Pennsylvania\", tz: -5, lat: 42.12, lon: 80.08 }, { name: \"Harrisburg, Pennsylvania\", tz: -5, lat: 40.25, lon: 76.88 }, { name: \"Johnstown, Pennsylvania\", tz: -5, lat: 40.33, lon: 78.92 }, { name: \"Lancaster, Pennsylvania\", tz: -5, lat: 40.03, lon: 76.3 }, { name: \"Reading, Pennsylvania\", tz: -5, lat: 40.33, lon: 75.93 }, { name: \"Scranton, Pennsylvania\", tz: -5, lat: 41.42, lon: 75.67 }, { name: \"WilkesEBarre, Pennsylvania\", tz: -5, lat: 41.25, lon: 75.88 }, { name: \"York, Pennsylvania\", tz: -5, lat: 39.97, lon: 76.73 }, { name: \"Manila\", tz: 8, lat: 14.62, lon: -121 }, { name: \"Kigali\", tz: 2, lat: -1.57, lon: -3.03 }, { name: \"Dakar\", tz: 0, lat: 14.38, lon: 17.27 }, { name: \"Mogadishu\", tz: 3, lat: 2, lon: -45.22 }, { name: \"Columbia, SC\", tz: -5, lat: 34, lon: 81.03 }, { name: \"Greenville, SC\", tz: -5, lat: 34.85, lon: 82.4 }, { name: \"Spartanburg, SC\", tz: -5, lat: 34.95, lon: 81.93 }, { name: \"Pierre, South Dakota\", tz: -6, lat: 44.37, lon: 100.35 }, { name: \"Rapid City, South Dakota\", tz: -6, lat: 44.08, lon: 103.22 }, { name: \"Sioux Falls, South Dakota\", tz: -6, lat: 43.55, lon: 96.73 }, { name: \"Khartoum\", tz: 2, lat: 15.33, lon: -32.22 }, { name: \"Daressalam\", tz: 3, lat: -6.52, lon: -39.18 }, { name: \"Chattanooga (Tenn., US)\", tz: -6, lat: 35.05, lon: 85.32 }, { name: \"Knoxville (Tenn., US)\", tz: -6, lat: 35.97, lon: 83.92 }, { name: \"Abilene, TX\", tz: -6, lat: 32.45, lon: 99.73 }, { name: \"Amarillo, TX\", tz: -6, lat: 35.18, lon: 101.83 }, { name: \"Austin, TX\", tz: -6, lat: 30.27, lon: 97.75 }, { name: \"Beaumont, TX\", tz: -6, lat: 30.08, lon: 94.1 }, { name: \"Brownsville, TX\", tz: -6, lat: 25.9, lon: 97.5 }, { name: \"Corpus Christi, TX\", tz: -6, lat: 27.8, lon: 97.4 }, { name: \"El Paso, TX\", tz: -6, lat: 31.77, lon: 106.48 }, { name: \"Ft Worth, TX\", tz: -6, lat: 32.75, lon: 97.33 }, { name: \"Galveston, TX\", tz: -6, lat: 29.3, lon: 94.8 }, { name: \"Laredo, TX\", tz: -6, lat: 27.5, lon: 99.52 }, { name: \"Lubbock, TX\", tz: -6, lat: 33.58, lon: 101.85 }, { name: \"Marshall, TX\", tz: -6, lat: 32.55, lon: 94.38 }, { name: \"Port Arthur, TX\", tz: -6, lat: 29.88, lon: 93.93 }, { name: \"San Angelo, TX\", tz: -6, lat: 31.47, lon: 100.43 }, { name: \"Texarkana, TX\", tz: -6, lat: 33.43, lon: 94.05 }, { name: \"Waco, TX\", tz: -6, lat: 31.55, lon: 97.13 }, { name: \"Lhasa\", tz: 8, lat: 29.68, lon: -92.2 }, { name: \"Lome\", tz: 0, lat: 6.1, lon: -1.2 }, { name: \"Tunis\", tz: 1, lat: 36.48, lon: -10.13 }, { name: \"Kampala\", tz: 3, lat: 0.2, lon: -32.35 }, { name: \"Logan, Utah\", tz: -7, lat: 41.73, lon: 111.83 }, { name: \"Ogden, Utah\", tz: -7, lat: 41.23, lon: 111.97 }, { name: \"Provo, Utah\", tz: -7, lat: 40.23, lon: 111.65 }, { name: \"Brattleboro, VT\", tz: -5, lat: 42.85, lon: 72.57 }, { name: \"Montpelier, VT\", tz: -5, lat: 44.27, lon: 72.55 }, { name: \"Hanoi\", tz: 7, lat: 21.07, lon: -105.83 }, { name: \"Norfolk, Virginia\", tz: -5, lat: 36.85, lon: 76.28 }, { name: \"Portsmouth, Virginia\", tz: -5, lat: 36.83, lon: 76.28 }, { name: \"Richmond, Virginia\", tz: -5, lat: 37.53, lon: 77.43 }, { name: \"Roanooke, Virginia\", tz: -5, lat: 37.25, lon: 79.93 }, { name: \"Bellingham, WA\", tz: -8, lat: 48.77, lon: 122.48 }, { name: \"Spokane, WA\", tz: -8, lat: 47.67, lon: 117.43 }, { name: \"Tacoma, WA\", tz: -8, lat: 47.25, lon: 122.43 }, { name: \"Walla Walla, WA\", tz: -8, lat: 46.07, lon: 118.33 }, { name: \"Yakima, WA\", tz: -8, lat: 46.6, lon: 120.52 }, { name: \"Laayoune\", tz: 1, lat: 27.1, lon: 13.12 }, { name: \"Charleston, West Virginia\", tz: -5, lat: 38.35, lon: 81.63 }, { name: \"Huntington, West Virginia\", tz: -5, lat: 38.42, lon: 82.45 }, { name: \"Wheeling, West Virginia\", tz: -5, lat: 40.07, lon: 80.72 }, { name: \"Eau Claire (Wis., US)\", tz: -6, lat: 44.82, lon: 91.5 }, { name: \"Green Bay (Wis., US)\", tz: -6, lat: 44.52, lon: 88.02 }, { name: \"Kenosha (Wis., US)\", tz: -6, lat: 42.6, lon: 87.83 }, { name: \"Racine (Wis., US)\", tz: -6, lat: 42.73, lon: 87.78 }, { name: \"Sheboygan (Wis., US)\", tz: -6, lat: 43.75, lon: 87.72 }, { name: \"Superior (Wis., US)\", tz: -6, lat: 46.72, lon: 92.1 }, { name: \"Cheyenne, Wyoming\", tz: -7, lat: 41.13, lon: 104.82 }, { name: \"Sheridan, Wyoming\", tz: -7, lat: 44.8, lon: 106.95 }, { name: \"Lusaka\", tz: 2, lat: -15.28, lon: -28.17 }, { name: \"Kinshasa\", tz: 1, lat: -4.18, lon: -15.18 }, { name: \"Harare\", tz: 2, lat: -17.5, lon: -31.03 }, { name: \"Abu Dhabi\", tz: 4, lat: 24.33, lon: -54.57 }, { name: \"Acapulco\", tz: -6, lat: 17.08, lon: 100.13 }, { name: \"Agana, Guam\", tz: 10, lat: 13.48, lon: -144.73 }, { name: \"Al-Manamah, Bharain\", tz: 3, lat: 26.22, lon: -50.55 }, { name: \"Andorra, Spain\", tz: 1, lat: 40.97, lon: 0.47 }, { name: \"Asmara, Eritrea\", tz: 3, lat: 15.02, lon: -38.48 }, { name: \"Baku, Aserbaidschan\", tz: 4, lat: 40.35, lon: -49.82 }, { name: \"Bergen, The Netherlands\", tz: 1, lat: 51.62, lon: -6.07 }, { name: \"Bischkek, Kirgistan\", tz: 6, lat: 43.02, lon: -74.97 }, { name: \"Bridgetown (Barbados)\", tz: -4, lat: 13.08, lon: 59.47 }, { name: \"Brno\", tz: 1, lat: 49.2, lon: -16.58 }, { name: \"Broken Hill, Australia\", tz: 10, lat: -31.87, lon: -141.17 }, { name: \"Bukavu, Zaire\", tz: 2, lat: -2.55, lon: -28.65 }, { name: \"Kanarische Inseln\", tz: 0, lat: 28.47, lon: 15.05 }, { name: \"Cayenne (French - Guyana)\", tz: -3, lat: 4.78, lon: -52.47 }, { name: \"Cebu, Phillipines\", tz: 8, lat: 10.18, lon: -123.75 }, { name: \"Cordoba, Spain\", tz: 1, lat: 57.87, lon: 4.83 }, { name: \"Cordoba, Argentinia\", tz: -3, lat: -31.15, lon: 64.25 }, { name: \"Cordova, Alaska, U.S.A.\", tz: -9, lat: 60.55, lon: 145.73 }, { name: \"Dalian, China\", tz: 8, lat: 38.9, lon: -121.65 }, { name: \"Dakar, Senegal\", tz: 0, lat: 14.78, lon: 16.95 }, { name: \"Dhaka, Bangladesh\", tz: 6, lat: 23.48, lon: -90.4 }, { name: \"Durban, South Africa\", tz: 2, lat: -29.87, lon: -30.9 }, { name: \"Dushanbe, Tadschikistan\", tz: 6, lat: 38.6, lon: -69.1 }, { name: \"Er Riad\", tz: 3, lat: 24.65, lon: -46.7 }, { name: \"Firenze, Italy\", tz: 1, lat: 43.77, lon: -11.23 }, { name: \"Freetown, Sierra Leone\", tz: 0, lat: 8.5, lon: 13.22 }, { name: \"Georgetown, Gambia\", tz: 0, lat: 13.22, lon: 14.75 }, { name: \"Guatemala City\", tz: -6, lat: 14.58, lon: 90.67 }, { name: \"Hermosillo, Mexico\", tz: -6, lat: 29.18, lon: 110.98 }, { name: \"Jakarta, Indonesia\", tz: 7, lat: -6.28, lon: -106.65 }, { name: \"Katmandu, Nepal\", tz: 6, lat: 27.67, lon: -85.47 }, { name: \"Khabarovsk, Russia\", tz: 10, lat: 48.07, lon: -134.63 }, { name: \"Khartoum, Sudan\", tz: 2, lat: 15.23, lon: -32.57 }, { name: \"La Paz, Argentinia\", tz: -3, lat: -30.75, lon: 59.67 }, { name: \"La Plata, Argentinia\", tz: -3, lat: -34.97, lon: 57.97 }, { name: \"Limerick, Ireland\", tz: 0, lat: 52.7, lon: 8.67 }, { name: \"Macao, China\", tz: 8, lat: 22.22, lon: -113.6 }, { name: \"Managua, Nikaragva\", tz: -6, lat: 12.15, lon: 86.32 }, { name: \"Manaus\", tz: -4, lat: -2.87, lon: 60.12 }, { name: \"Maracaibo, Venezuela\", tz: -4, lat: 10.52, lon: 71.97 }, { name: \"Mbabane, Swasiland\", tz: 2, lat: -26.07, lon: -31.15 }, { name: \"Monte Carlo, Monaco\", tz: 1, lat: 43.73, lon: -7.42 }, { name: \"Nassau, Germany\", tz: 1, lat: 50.32, lon: -7.8 }, { name: \"Nandi, Simbabwe\", tz: 2, lat: -20.98, lon: -31.78 }, { name: \"Nantes, France\", tz: 1, lat: 47.23, lon: 1.48 }, { name: \"Noumea, New Caledonia\", tz: 11, lat: -22.12, lon: -166.5 }, { name: \"Nizhniy Novgorod\", tz: 4, lat: 56.33, lon: -44.17 }, { name: \"Odense, Denmark\", tz: 1, lat: 55.43, lon: 10.3 }, { name: \"Osaka, Japan\", tz: 9, lat: 34.75, lon: -135.47 }, { name: \"Paramaribo, Surinam\", tz: -3, lat: 5.77, lon: 55.25 }, { name: \"Phnom Penh, Kambodscha\", tz: 7, lat: 11.53, lon: -104.78 }, { name: \"Port Au Prince, Haiti\", tz: -5, lat: 18.57, lon: 72.33 }, { name: \"Port Louis, Mauritius\", tz: 4, lat: -20.15, lon: -57.5 }, { name: \"Port Moresby, Papua-Neuguinea\", tz: 10, lat: -9.43, lon: -147 }, { name: \"Port Said, Egypt\", tz: 2, lat: 30.9, lon: -32.07 }, { name: \"Pretoria, South Africa\", tz: 2, lat: -25.63, lon: -28.33 }, { name: \"San Salvador, El Salvador\", tz: -6, lat: 13.98, lon: 89.18 }, { name: \"Santo Domingo, Dominican Republic\", tz: -4, lat: 18.5, lon: 69.93 }, { name: \"Suez, Egypt\", tz: 2, lat: 29.97, lon: -32.55 }, { name: \"Szeged, Hungary\", tz: 1, lat: 46.32, lon: -20.08 }, { name: \"Tahiti, Polynesia\", tz: -10, lat: -18.3, lon: 149.43 }, { name: \"Tegucigalpa, Honduras\", tz: -6, lat: 14.28, lon: 87.4 }, { name: \"Thessalonikia, Greece\", tz: 2, lat: 40.65, lon: -23.02 }, { name: \"Thimbu, Bhutan\", tz: 6, lat: 27.47, lon: -89.63 }, { name: \"Tirana, Albania\", tz: 1, lat: 41.35, lon: -19.8 }, { name: \"Tijuana, Mexico\", tz: -6, lat: 32.48, lon: 117.03 }, { name: \"Ulan Bator, Mongolia\", tz: 8, lat: 47.45, lon: -106.4 }, { name: \"Vaduz, Liechtenstein\", tz: 1, lat: 47.13, lon: -9.53 }, { name: \"Vientiane, Laos\", tz: 7, lat: 17.88, lon: -102.63 }, { name: \"Wellington, New Zealand\", tz: 12, lat: -41.3, lon: -174.98 }, { name: \"Yerevan, Armenia\", tz: 4, lat: 39.93, lon: -44.75 }, { name: \"Towson, MD\", tz: -5, lat: 39.28, lon: 76.62 }, { name: \"Florina\", tz: 2, lat: 40.78, lon: -21.42 }, { name: \"Kishinew, Moldova\", tz: 2, lat: 47, lon: -28.83 }, { name: \"Belts, Moldova\", tz: 2, lat: 47.75, lon: -27.92 }, { name: \"Bendery, Moldova\", tz: 2, lat: 46.83, lon: -29.47 }, { name: \"Cahul, Moldova\", tz: 2, lat: 45.9, lon: -28.2 }, { name: \"Taraclia, Moldova\", tz: 2, lat: 45.9, lon: -28.68 }, { name: \"Alexandria, Greece\", tz: 2, lat: 40.63, lon: -22.52 }, { name: \"Chalkis, Greece\", tz: 2, lat: 38.47, lon: -23.6 }, { name: \"Drama, Greece\", tz: 2, lat: 41.15, lon: -24.17 }, { name: \"Kilkis, Greece\", tz: 2, lat: 41, lon: -22.9 }, { name: \"Larissa, Greece\", tz: 2, lat: 39.63, lon: -22.42 }, { name: \"Thessaloniki, Greece\", tz: 2, lat: 40.63, lon: -22.97 }, { name: \"\\xC4li Bayramli, Aserbaidschan\", tz: 4, lat: 39.93, lon: -48.92 }, { name: \"Puta, Aserbaidschan\", tz: 4, lat: 40.3, lon: -49.68 }, { name: \"Sumqayit, Aserbaidschan\", tz: 4, lat: 40.6, lon: -49.75 }, { name: \"Siy\\xE4z\\xE4n, Aserbaidschan\", tz: 4, lat: 41.07, lon: -49.1 }, { name: \"Decin\", tz: 1, lat: 50.8, lon: -14.22 }, { name: \"Karlovy Vary\", tz: 1, lat: 50.18, lon: -12.87 }, { name: \"Zilina\", tz: 1, lat: 49.23, lon: -18.77 }, { name: \"Appenweier\", tz: 1, lat: 48.53, lon: -7.97 }, { name: \"Denzlingen\", tz: 1, lat: 48.07, lon: -7.87 }, { name: \"Ettenheim\", tz: 1, lat: 48.25, lon: -7.82 }, { name: \"Kehl\", tz: 1, lat: 48.58, lon: -7.83 }, { name: \"Kenzingen\", tz: 1, lat: 48.18, lon: -7.77 }, { name: \"Lahr\", tz: 1, lat: 48.33, lon: -7.87 }, { name: \"Oberkirch\", tz: 1, lat: 48.52, lon: -8.08 }, { name: \"Offenburg\", tz: 1, lat: 48.47, lon: -7.95 }, { name: \"Rust, Germany\", tz: 1, lat: 48.27, lon: -7.72 }, { name: \"Waldkirch\", tz: 1, lat: 48.08, lon: -7.95 }, { name: \"K\\xF6nigs Wusterhausen\", tz: 1, lat: 52.3, lon: -13.62 }, { name: \"Oderberg\", tz: 1, lat: 52.87, lon: -14.03 }, { name: \"Oranienburg\", tz: 1, lat: 52.75, lon: -13.23 }, { name: \"Schwedt/Oder\", tz: 1, lat: 53.05, lon: -14.28 }, { name: \"Harrow, United Kingdom\", tz: 0, lat: 51.58, lon: 0.37 }, { name: \"Markkleeberg\", tz: 1, lat: 51.28, lon: -12.38 }, { name: \"Gap, France\", tz: 1, lat: 44.57, lon: -6.08 }, { name: \"Amiens, France\", tz: 1, lat: 49.9, lon: -2.3 }, { name: \"Angers, France\", tz: 1, lat: 47.47, lon: 0.55 }, { name: \"Bischeim, France\", tz: 1, lat: 48.62, lon: -7.75 }, { name: \"Chambery, France\", tz: 1, lat: 45.57, lon: -6.08 }, { name: \"Deauville, France\", tz: 1, lat: 49.37, lon: -0.07 }, { name: \"Dieuze, France\", tz: 1, lat: 48.82, lon: -6.72 }, { name: \"Dunkerque, France\", tz: 1, lat: 51.05, lon: -2.37 }, { name: \"Elbeuf, France\", tz: 1, lat: 49.28, lon: -1 }, { name: \"Epernay, France\", tz: 1, lat: 49.05, lon: -3.95 }, { name: \"Epinal, France\", tz: 1, lat: 48.18, lon: -6.45 }, { name: \"Forbach, France\", tz: 1, lat: 49.18, lon: -6.9 }, { name: \"Ingwiller, France\", tz: 1, lat: 48.87, lon: -7.48 }, { name: \"Saint-Laurent-du-Var, France (1)\", tz: 1, lat: 45.38, lon: -5.73 }, { name: \"La Ciotat, France\", tz: 1, lat: 43.17, lon: -5.6 }, { name: \"Le Mans, France\", tz: 1, lat: 48, lon: -0.2 }, { name: \"Libourne, France\", tz: 1, lat: 44.92, lon: 0.23 }, { name: \"Luneville, France\", tz: 1, lat: 48.6, lon: -6.5 }, { name: \"Marignane, France\", tz: 1, lat: 43.42, lon: -5.22 }, { name: \"Melun, France\", tz: 1, lat: 48.53, lon: -2.67 }, { name: \"Merlebach, France\", tz: 1, lat: 49.15, lon: -6.8 }, { name: \"Montauban, France\", tz: 1, lat: 44.02, lon: -1.35 }, { name: \"Montbeliard, France\", tz: 1, lat: 47.52, lon: -6.8 }, { name: \"Obernai, France\", tz: 1, lat: 48.47, lon: -7.48 }, { name: \"Pau, France\", tz: 1, lat: 43.3, lon: 0.37 }, { name: \"Perigueux, France\", tz: 1, lat: 45.18, lon: -0.72 }, { name: \"Phalsbourg, France\", tz: 1, lat: 48.77, lon: -7.27 }, { name: \"Poitiers, France\", tz: 1, lat: 46.58, lon: -0.33 }, { name: \"Reims, France\", tz: 1, lat: 49.25, lon: -4.02 }, { name: \"Rennes, France\", tz: 1, lat: 48.08, lon: 1.68 }, { name: \"Roanne, France\", tz: 1, lat: 46.03, lon: -4.07 }, { name: \"Saint-Avold, France\", tz: 1, lat: 49.1, lon: -6.7 }, { name: \"Saint-Die, France\", tz: 1, lat: 48.28, lon: -6.95 }, { name: \"Saint-Etienne, France\", tz: 1, lat: 45.43, lon: -4.4 }, { name: \"Saint-Fons, France\", tz: 1, lat: 45.7, lon: -4.85 }, { name: \"Saint-Laurent-du-Var, France (2)\", tz: 1, lat: 43.67, lon: -7.18 }, { name: \"Saint-Quentin, France\", tz: 1, lat: 49.85, lon: -3.28 }, { name: \"Sarrebourg, France\", tz: 1, lat: 48.73, lon: -7.05 }, { name: \"Sarreguemines, France\", tz: 1, lat: 49.1, lon: -7.05 }, { name: \"Saverne, France\", tz: 1, lat: 48.73, lon: -7.37 }, { name: \"Sedan, France\", tz: 1, lat: 49.7, lon: -4.95 }, { name: \"Selestat, France\", tz: 1, lat: 48.27, lon: -7.45 }, { name: \"Tarbes, France\", tz: 1, lat: 43.23, lon: -0.08 }, { name: \"Thionville, France\", tz: 1, lat: 49.37, lon: -6.17 }, { name: \"Toul, France\", tz: 1, lat: 48.68, lon: -5.9 }, { name: \"Toulon, France\", tz: 1, lat: 43.12, lon: -5.93 }, { name: \"Valence, France\", tz: 1, lat: 44.93, lon: -4.9 }, { name: \"Valenciennes, France\", tz: 1, lat: 50.35, lon: -3.53 }, { name: \"Venissieux, France\", tz: 1, lat: 54.68, lon: -4.88 }, { name: \"Verdun, France\", tz: 1, lat: 49.17, lon: -5.38 }, { name: \"Vichy, France\", tz: 1, lat: 46.13, lon: -3.43 }, { name: \"Berdicev, Ukraine\", tz: 2, lat: 49.9, lon: -28.6 }, { name: \"Bershad, Ukraine\", tz: 2, lat: 48.37, lon: -29.53 }, { name: \"Chernigov, Ukraine\", tz: 2, lat: 50.83, lon: -24.13 }, { name: \"Czernowitz, Chernovtsy, Ukraine\", tz: 2, lat: 48.28, lon: -25.97 }, { name: \"Dnepropetrovsk, Ukraine\", tz: 2, lat: 48.45, lon: -35.03 }, { name: \"Donetsk, Ukraine\", tz: 2, lat: 48, lon: -37.78 }, { name: \"Charkow, Ukraine\", tz: 2, lat: 49.92, lon: -36.17 }, { name: \"Cherson, Ukraine\", tz: 2, lat: 46.65, lon: -32.6 }, { name: \"Korosten, Ukraine\", tz: 2, lat: 50.95, lon: -28.63 }, { name: \"Kremenchug, Ukraine\", tz: 2, lat: 49.07, lon: -33.42 }, { name: \"Lemberg, Lwow, Ukraine\", tz: 2, lat: 49.83, lon: -24.03 }, { name: \"Mukacevo, Ukraine\", tz: 2, lat: 48.45, lon: -22.72 }, { name: \"Nikolayev, Ukraine\", tz: 2, lat: 49.52, lon: -23.97 }, { name: \"Rachki, Ukraine\", tz: 2, lat: 49.5, lon: -29.9 }, { name: \"Simferopol, Ukraine\", tz: 2, lat: 44.95, lon: -34.1 }, { name: \"Slavuta, Ukraine\", tz: 2, lat: 50.3, lon: -26.87 }, { name: \"Zhitomir, Ukraine\", tz: 2, lat: 50.25, lon: -28.67 }, { name: \"Beregovoye, Ukraine\", tz: 2, lat: 44.9, lon: -33.6 }, { name: \"Tinton Falls, NJ\", tz: -5, lat: 40.28, lon: 74.1 }, { name: \"Warendorf\", tz: 1, lat: 51.95, lon: -7.98 }, { name: \"M\\xFCnster\", tz: 1, lat: 51.95, lon: -7.62 }, { name: \"Neu Fahrland\", tz: 1, lat: 52.45, lon: -13.05 }, { name: \"Charlottesville, Virginia\", tz: -5, lat: 38.03, lon: 78.48 }, { name: \"Hagenow\", tz: 1, lat: 53.43, lon: -11.18 }, { name: \"Verl\", tz: 1, lat: 51.88, lon: -8.52 }, { name: \"R\\xF6bel\", tz: 1, lat: 53.37, lon: -12.6 }, { name: \"Nordhausen\", tz: 1, lat: 51.5, lon: -10.78 }, { name: \"Aschaffenburg\", tz: 1, lat: 49.98, lon: -9.15 }, { name: \"Ahrweiler\", tz: 1, lat: 50.55, lon: -7.13 }, { name: \"Cedar Grove, NJ (1)\", tz: -5, lat: 40.85, lon: 74.23 }, { name: \"Cedar Grove, NJ (2)\", tz: -5, lat: 39.97, lon: 74.15 }, { name: \"Encinitas, CA\", tz: -8, lat: 33.03, lon: 117.28 }, { name: \"Calabasas, AZ\", tz: -7, lat: 31.47, lon: 110.97 }, { name: \"Calabasas, CA\", tz: -8, lat: 34.15, lon: 118.63 }, { name: \"Rottweil\", tz: 1, lat: 48.17, lon: -8.62 }];\n\n// src/Locations.ts\nvar Locations = locations_default.map((l) => new Location(l.name, l.heb, !!l.il, l.lat, l.lon, l.tz, l.el || 0, l.cl));\nLocations.sort(function(a, b) {\n return a.Name > b.Name ? 1 : b.Name > a.Name ? -1 : 0;\n});\nvar justNames = [];\nfor (let i = 0; i < Locations.length - 1; i++) {\n const l = Locations[i];\n justNames.push({\n name: l.Name.split(\",\", 1)[0].toLowerCase(),\n index: i\n });\n if (!!l.NameHebrew) {\n justNames.push({\n name: l.NameHebrew,\n index: i\n });\n }\n}\nfunction distancePointToPoint(point1, point2) {\n if (point1.latitude == point2.latitude && point1.longitude == point2.longitude) {\n return 0;\n } else {\n var radlat1 = Math.PI * point1.latitude / 180;\n var radlat2 = Math.PI * point2.latitude / 180;\n var theta = point1.longitude - point2.longitude;\n var radtheta = Math.PI * theta / 180;\n var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n if (dist > 1) {\n dist = 1;\n }\n dist = Math.acos(dist);\n dist = dist * 180 / Math.PI;\n dist = dist * 60 * 1.1515;\n dist = dist * 1.609344;\n return dist;\n }\n}\nfunction closestDistanceMatch(point) {\n let curr = { dist: 1e5 };\n for (let location of Locations) {\n const dist = distancePointToPoint(point, { latitude: location.Latitude, longitude: location.Longitude });\n if (dist < curr.dist) {\n curr = { dist, location };\n }\n }\n return curr.location;\n}\nfunction closestNameMatch(val) {\n let curr = { dist: 1e5 };\n for (let location of justNames) {\n const dist = distance(val.toLowerCase(), location.name);\n if (dist < curr.dist) {\n curr = { dist, location };\n }\n }\n return curr.location ? Locations[curr.location.index] : void 0;\n}\nfunction findLocation(nameOrCoordinates) {\n if (typeof nameOrCoordinates === \"string\") {\n const exactNameMatch = Locations.find((l) => l.Name.toLowerCase() === nameOrCoordinates.toLowerCase() || l.NameHebrew === nameOrCoordinates);\n if (!!exactNameMatch) {\n return exactNameMatch;\n }\n const cityOnlyNameMatch = justNames.find((l) => l.name === nameOrCoordinates.toLowerCase());\n if (!!cityOnlyNameMatch) {\n return Locations[cityOnlyNameMatch.index];\n }\n return closestNameMatch(nameOrCoordinates.toLowerCase());\n } else {\n const exactCoordinateMatch = Locations.find((l) => l.Latitude === nameOrCoordinates.latitude && l.Longitude === nameOrCoordinates.longitude);\n if (!!exactCoordinateMatch) {\n return exactCoordinateMatch;\n }\n return closestDistanceMatch(nameOrCoordinates);\n }\n}\n\n// src/ZmanTypes.ts\nvar ZmanTypeIds = Object.freeze({\n ChatzosLayla: 0,\n Alos90: 1,\n Alos72: 2,\n TalisTefillin: 3,\n NetzAtElevation: 4,\n NetzMishor: 5,\n szksMga: 6,\n szksGra: 7,\n sztMga: 8,\n sztGra: 9,\n chatzosDay: 10,\n minGed: 11,\n minKet: 12,\n plag: 13,\n shkiaAtSeaLevel: 14,\n shkiaElevation: 15,\n tzais45: 16,\n tzais50: 17,\n tzais72: 18,\n rabbeinuTamZmanios: 19,\n rabbeinuTamZmaniosMga: 20,\n candleLighting: 21,\n SofZmanEatingChometz: 22,\n SofZmanBurnChometz: 23\n});\nvar ZmanTypes = [\n {\n id: ZmanTypeIds.ChatzosLayla,\n desc: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05DC\\u05D9\\u05DC\\u05D4\",\n eng: \"Chatzos - Midnight\",\n heb: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05DC\\u05D9\\u05DC\\u05D4\"\n },\n {\n id: ZmanTypeIds.Alos90,\n desc: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 - 90 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Alos Hashachar - 90\",\n heb: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 (90)\"\n },\n {\n id: ZmanTypeIds.Alos72,\n desc: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 - 72 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Alos Hashachar - 72\",\n heb: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 (72)\"\n },\n {\n id: ZmanTypeIds.TalisTefillin,\n desc: \"\\u05D6\\u05DE\\u05DF \\u05E2\\u05D8\\u05D9\\u05E4\\u05EA \\u05D8\\u05DC\\u05D9\\u05EA \\u05D5\\u05EA\\u05E4\\u05D9\\u05DC\\u05D9\\u05DF - 36 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Taliss and Tefillin\",\n heb: \"\\u05D8\\u05DC\\u05D9\\u05EA \\u05D5\\u05EA\\u05E4\\u05D9\\u05DC\\u05D9\\u05DF\"\n },\n {\n id: ZmanTypeIds.NetzAtElevation,\n desc: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 \\u05D1\\u05D2\\u05D5\\u05D1\\u05D4 \\u05D4\\u05DE\\u05D9\\u05E7\\u05D5\\u05DD\",\n eng: \"Sunrise at current elevation\",\n heb: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 - \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4\"\n },\n {\n id: ZmanTypeIds.NetzMishor,\n desc: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 \\u05D1\\u05D2\\u05D5\\u05D1\\u05D4 \\u05E4\\u05E0\\u05D9 \\u05D4\\u05D9\\u05DD\",\n eng: \"Sunrise\",\n heb: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4\"\n },\n {\n id: ZmanTypeIds.szksMga,\n desc: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05DE\\u05D2\"\\u05D0',\n eng: 'Zman Krias Shma - MG\"A',\n heb: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.szksGra,\n desc: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05D4\\u05D2\\u05E8\"\\u05D0',\n eng: 'Zman Krias Shma - GR\"A',\n heb: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05D4\\u05D2\\u05E8\"\\u05D0'\n },\n {\n id: ZmanTypeIds.sztMga,\n desc: '\\u05E1\\u05D6\"\\u05EA \\u05DE\\u05D2\"\\u05D0',\n eng: 'Zman Tefilla - MG\"A',\n heb: '\\u05E1\\u05D6\"\\u05EA \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.sztGra,\n desc: '\\u05E1\\u05D6\"\\u05EA \\u05D4\\u05D2\\u05E8\"\\u05D0',\n eng: 'Zman Tefilla - GR\"A',\n heb: '\\u05E1\\u05D6\"\\u05EA \\u05D4\\u05D2\\u05E8\"\\u05D0'\n },\n {\n id: ZmanTypeIds.chatzosDay,\n desc: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05D9\\u05D5\\u05DD\",\n eng: \"Chatzos - Midday\",\n heb: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05D9\\u05D5\\u05DD\"\n },\n {\n id: ZmanTypeIds.minGed,\n desc: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05D2\\u05D3\\u05D5\\u05DC\\u05D4\",\n eng: \"Mincha Gedola\",\n heb: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05D2\\u05D3\\u05D5\\u05DC\\u05D4\"\n },\n {\n id: ZmanTypeIds.minKet,\n desc: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E7\\u05D8\\u05E0\\u05D4\",\n eng: \"Mincha Ketana\",\n heb: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E7\\u05D8\\u05E0\\u05D4\"\n },\n {\n id: ZmanTypeIds.plag,\n desc: \"\\u05E4\\u05DC\\u05D2 \\u05D4\\u05DE\\u05E0\\u05D7\\u05D4\",\n eng: \"Plag HaMincha\",\n heb: \"\\u05E4\\u05DC\\u05D2 \\u05D4\\u05DE\\u05E0\\u05D7\\u05D4\"\n },\n {\n id: ZmanTypeIds.shkiaAtSeaLevel,\n desc: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4 \\u05E4\\u05E0\\u05D9 \\u05D4\\u05D9\\u05DD\",\n eng: \"Sunset at sea level\",\n heb: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 - \\u05DE\\u05DE\\u05D9\\u05E9\\u05D5\\u05E8\"\n },\n {\n id: ZmanTypeIds.shkiaElevation,\n desc: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4 \\u05D4\\u05DE\\u05D9\\u05E7\\u05D5\\u05DD\",\n eng: \"Sunset\",\n heb: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4\"\n },\n {\n id: ZmanTypeIds.tzais45,\n desc: \"45 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Nightfall - 45\",\n heb: \"\\u05E6\\u05D0\\u05EA \\u05D4\\u05DB\\u05D5\\u05DB\\u05D1\\u05D9\\u05DD (45)\"\n },\n {\n id: ZmanTypeIds.tzais50,\n desc: \"50 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Nightfall - 50\",\n heb: \"\\u05E6\\u05D0\\u05EA \\u05D4\\u05DB\\u05D5\\u05DB\\u05D1\\u05D9\\u05DD (50)\"\n },\n {\n id: ZmanTypeIds.tzais72,\n desc: \"72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Rabbeinu Tam\",\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - 72 \\u05D3\\u05E7\\u05D5\\u05EA'\n },\n {\n id: ZmanTypeIds.rabbeinuTamZmanios,\n desc: \"72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Rabbeinu Tam - Zmanios\",\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA'\n },\n {\n id: ZmanTypeIds.rabbeinuTamZmaniosMga,\n desc: '72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4 - \\u05DE\\u05D2\"\\u05D0',\n eng: 'Rabbeinu Tam - Zmanios MG\"A',\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.candleLighting,\n desc: \"\\u05D6\\u05DE\\u05DF \\u05D4\\u05D3\\u05DC\\u05E7\\u05EA \\u05E0\\u05E8\\u05D5\\u05EA\",\n eng: \"Candle lighting time\",\n heb: \"\\u05D6\\u05DE\\u05DF \\u05D4\\u05D3\\u05DC\\u05E7\\u05EA \\u05E0\\u05E8\\u05D5\\u05EA\"\n },\n {\n id: ZmanTypeIds.SofZmanEatingChometz,\n desc: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D0\\u05DB\\u05D9\\u05DC\\u05EA \\u05D7\\u05DE\\u05E5\",\n eng: \"Stop eating Chometz\",\n heb: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D0\\u05DB\\u05D9\\u05DC\\u05EA \\u05D7\\u05DE\\u05E5\"\n },\n {\n id: ZmanTypeIds.SofZmanBurnChometz,\n desc: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D1\\u05D9\\u05E2\\u05D5\\u05E8 \\u05D7\\u05DE\\u05E5\",\n eng: \"Destroy Chometz\",\n heb: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D1\\u05D9\\u05E2\\u05D5\\u05E8 \\u05D7\\u05DE\\u05E5\"\n }\n];\nfunction getZmanType(idOrName) {\n return ZmanTypes.find((zt) => zt.id === idOrName || zt.eng === idOrName || zt.heb === idOrName || zt.desc === idOrName);\n}\n\n// src/JCal/Molad.ts\nvar Molad = class _Molad {\n /**\n * @param {Number} month\n * @param {Number} year\n * @returns {{jDate:jDate,time:Time,chalakim:number}}\n */\n static getMolad(month, year) {\n let totalMonths, partsElapsed, hoursElapsed, parts, monthAdj = month - 7;\n if (monthAdj < 0) {\n monthAdj += jDate.monthsJYear(year);\n }\n totalMonths = Utils.toInt(monthAdj + 235 * Utils.toInt((year - 1) / 19) + 12 * ((year - 1) % 19) + ((year - 1) % 19 * 7 + 1) / 19);\n partsElapsed = 204 + 793 * (totalMonths % 1080);\n hoursElapsed = 5 + 12 * totalMonths + 793 * Utils.toInt(totalMonths / 1080) + Utils.toInt(partsElapsed / 1080) - 6;\n parts = Utils.toInt(partsElapsed % 1080 + 1080 * (hoursElapsed % 24));\n return {\n jDate: new jDate(1 + 29 * Utils.toInt(totalMonths) + Utils.toInt(hoursElapsed / 24)),\n time: { hour: Utils.toInt(hoursElapsed) % 24, minute: Utils.toInt(parts % 1080 / 18), second: 0 },\n chalakim: parts % 18\n };\n }\n /**\n * Returns the time of the molad as a string in the format: Monday Night, 8:33 PM and 12 Chalakim\n * The molad is always in Jerusalem so we use the Jerusalem sunset times\n * to determine whether to display \"Night\" or \"Motzai Shabbos\" etc. (check this...)\n * @param {Number} year\n * @param {Number} month\n */\n static getString(year, month) {\n const molad = _Molad.getMolad(month, year), zmanim = molad.jDate.getSunriseSunset(Location.getJerusalem()), isNight = Utils.isTimeAfter(zmanim.sunset, molad.time), dow = molad.jDate.getDayOfWeek();\n let str = \"\";\n if (!zmanim.sunset || isNaN(zmanim.sunset.hour)) {\n str += DaysOfWeekEng[dow];\n } else if (dow === 6 && isNight) {\n str += \"Motzai Shabbos,\";\n } else if (dow === 5 && isNight) {\n str += \"Shabbos Night,\";\n } else {\n str += DaysOfWeekEng[dow] + (isNight ? \" Night\" : \"\");\n }\n str += \" \" + Utils.getTimeString(molad.time) + \" and \" + molad.chalakim.toString() + \" Chalakim\";\n return str;\n }\n /**\n * Returns the time of the molad as a string in the format: ליל שני 20:33 12 חלקים\n * The molad is always in Jerusalem so we use the Jerusalem sunset times\n * to determine whether to display \"ליל/יום\" or \"מוצאי שב\"ק\" etc.\n * @param {Number} year\n * @param {Number} month\n */\n static getStringHeb(year, month) {\n const molad = _Molad.getMolad(month, year), zmanim = molad.jDate.getSunriseSunset(Location.getJerusalem()), isNight = Utils.isTimeAfter(zmanim.sunset, molad.time) && Utils.isTimeAfter(molad.time, zmanim.sunrise), dow = molad.jDate.getDayOfWeek();\n let str = \"\";\n if (dow === 6) {\n str += isNight ? '\\u05DE\\u05D5\\u05E6\\u05D0\\u05D9 \\u05E9\\u05D1\"\\u05E7' : '\\u05D9\\u05D5\\u05DD \\u05E9\\u05D1\"\\u05E7';\n } else if (dow === 5) {\n str += isNight ? '\\u05DC\\u05D9\\u05DC \\u05E9\\u05D1\"\\u05E7' : '\\u05E2\\u05E8\\u05D1 \\u05E9\\u05D1\"\\u05E7';\n } else {\n str += (isNight ? \"\\u05DC\\u05D9\\u05DC\" : \"\\u05D9\\u05D5\\u05DD\") + DaysOfWeekHeb[dow].replace(\"\\u05D9\\u05D5\\u05DD\", \"\");\n }\n str += \" \" + Utils.getTimeString(molad.time, 1, true) + \" \" + molad.chalakim.toString() + \" \\u05D7\\u05DC\\u05E7\\u05D9\\u05DD\";\n return str;\n }\n};\n\n// src/JCal/ZmanimUtils.ts\nvar WhichDaysFlags = Object.freeze({\n SUNDAY: 1,\n MONDAY: 2,\n TUESDAY: 4,\n WEDNESDAY: 8,\n THURSDAY: 16,\n FRIDAY: 32,\n SHABBOS: 64,\n YOMTOV: 128\n});\nvar _ZmanimUtils = class _ZmanimUtils {\n /**\n * Gets the zmanim for all the types in the given list.\n * @param {[ZmanToShow]} zmanTypes An array of ZmanTypes to get the zman for.\n * @param {Date} date The secular date to get the zmanim for\n * @param {jDate} jdate The jewish date to get the zmanim for\n * @param {Location} location The location for which to get the zmanim\n * @returns{[{zmanType:{id:number,offset:?number,desc:string,eng:string,heb:string },time:Time}]}\n */\n static getZmanTimes(zmanTypes, date, jdate, location) {\n const mem = _ZmanimUtils.zmanTimesCache.find(\n (z) => Utils.isSameSdate(z.date, date) && z.location.Name === location.Name\n ), zmanTimes = [], whichDay = _ZmanimUtils.getWhichDays(date, jdate, location);\n let sunrise, sunset, suntimesMishor, sunriseMishor, sunsetMishor, mishorNeg90, chatzos, shaaZmanis, shaaZmanisMga;\n if (mem) {\n sunrise = mem.sunrise;\n sunset = mem.sunset;\n suntimesMishor = mem.suntimesMishor;\n sunriseMishor = mem.sunriseMishor;\n sunsetMishor = mem.sunsetMishor;\n mishorNeg90 = mem.mishorNeg90;\n chatzos = mem.chatzos;\n shaaZmanis = mem.shaaZmanis;\n shaaZmanisMga = mem.shaaZmanisMga;\n } else {\n const suntimes = Zmanim.getSunTimes(date, location, true);\n sunrise = suntimes.sunrise;\n sunset = suntimes.sunset;\n suntimesMishor = Zmanim.getSunTimes(date, location, false);\n sunriseMishor = suntimesMishor.sunrise;\n sunsetMishor = suntimesMishor.sunset;\n mishorNeg90 = Utils.addMinutes(sunriseMishor, -90);\n chatzos = sunriseMishor && sunsetMishor && Zmanim.getChatzosFromSuntimes(suntimesMishor);\n shaaZmanis = sunriseMishor && sunsetMishor && Zmanim.getShaaZmanisFromSunTimes(suntimesMishor);\n shaaZmanisMga = sunriseMishor && sunsetMishor && Zmanim.getShaaZmanisMga(suntimesMishor, true);\n _ZmanimUtils.zmanTimesCache.push({\n date,\n location,\n sunrise,\n sunset,\n suntimesMishor,\n sunriseMishor,\n sunsetMishor,\n mishorNeg90,\n chatzos,\n shaaZmanis,\n shaaZmanisMga\n });\n }\n for (let zmanType of zmanTypes) {\n const offset = zmanType.offset && (!zmanType.whichDaysFlags || zmanType.whichDaysFlags & whichDay) ? zmanType.offset : 0;\n switch (zmanType.id) {\n case ZmanTypeIds.ChatzosLayla:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(chatzos, 720 + offset)\n });\n break;\n case ZmanTypeIds.Alos90:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(mishorNeg90, offset) : mishorNeg90\n });\n break;\n case ZmanTypeIds.Alos72:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunriseMishor, -72 + offset)\n });\n break;\n case ZmanTypeIds.TalisTefillin:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunriseMishor, -36 + offset)\n });\n break;\n case ZmanTypeIds.NetzAtElevation:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunrise, offset) : sunrise\n });\n break;\n case ZmanTypeIds.NetzMishor:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunriseMishor, offset) : sunriseMishor\n });\n break;\n case ZmanTypeIds.szksMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n mishorNeg90,\n Math.floor(shaaZmanisMga * 3) + offset\n )\n });\n break;\n case ZmanTypeIds.szksGra:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n Math.floor(shaaZmanis * 3) + offset\n )\n });\n break;\n case ZmanTypeIds.sztMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n mishorNeg90,\n Math.floor(shaaZmanisMga * 4) + offset\n )\n });\n break;\n case ZmanTypeIds.sztGra:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n Math.floor(shaaZmanis * 4) + offset\n )\n });\n break;\n case ZmanTypeIds.chatzosDay:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(chatzos, offset) : chatzos\n });\n break;\n case ZmanTypeIds.minGed:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n chatzos,\n shaaZmanis * 0.5 + offset\n )\n });\n break;\n case ZmanTypeIds.minKet:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n shaaZmanis * 9.5 + offset\n )\n });\n break;\n case ZmanTypeIds.plag:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n shaaZmanis * 10.75 + offset\n )\n });\n break;\n case ZmanTypeIds.shkiaAtSeaLevel:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunsetMishor, offset) : sunsetMishor\n });\n break;\n case ZmanTypeIds.shkiaElevation:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunset, offset) : sunset\n });\n break;\n case ZmanTypeIds.tzais45:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 45 + offset)\n });\n break;\n case ZmanTypeIds.tzais50:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 50 + offset)\n });\n break;\n case ZmanTypeIds.tzais72:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 72 + offset)\n });\n break;\n case ZmanTypeIds.rabbeinuTamZmanios:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunset,\n shaaZmanis * 1.2 + offset\n )\n });\n break;\n case ZmanTypeIds.rabbeinuTamZmaniosMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunset,\n shaaZmanisMga * 1.2 + offset\n )\n });\n break;\n case ZmanTypeIds.candleLighting:\n if (sunset && jdate.hasCandleLighting()) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n Zmanim.getCandleLightingFromSunset(\n sunset,\n location\n ),\n offset\n )\n });\n }\n break;\n case ZmanTypeIds.SofZmanEatingChometz:\n if (shaaZmanisMga && jdate.Month === 1 && jdate.Day === 14 && Utils.isTimeAfter(sunrise, Utils.timeFromDate(date))) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunrise,\n -90 + offset + shaaZmanisMga * 4\n )\n });\n }\n break;\n case ZmanTypeIds.SofZmanBurnChometz:\n if (shaaZmanisMga && jdate.Month === 1 && (jdate.Day === 14 || jdate.DayOfWeek === DaysOfWeek.FRIDAY && jdate.Day === 13) && Utils.isTimeAfter(sunrise, Utils.timeFromDate(date))) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunrise,\n -90 + offset + shaaZmanisMga * 5\n )\n });\n }\n break;\n }\n }\n return zmanTimes;\n }\n /**\n * Get the WhichDaysFlags for the given secular date\n * @param {Date} date\n * @param {jDate} jdate\n * @param {Location} location\n */\n static getWhichDays(date, jdate, location) {\n if (jdate.isYomTov(!!location.Israel)) {\n return WhichDaysFlags.YOMTOV;\n }\n switch (date.getDay()) {\n case DaysOfWeek.SUNDAY:\n return WhichDaysFlags.SUNDAY;\n case DaysOfWeek.MONDAY:\n return WhichDaysFlags.MONDAY;\n case DaysOfWeek.TUESDAY:\n return WhichDaysFlags.TUESDAY;\n case DaysOfWeek.WEDNESDAY:\n return WhichDaysFlags.WEDNESDAY;\n case DaysOfWeek.THURSDAY:\n return WhichDaysFlags.THURSDAY;\n case DaysOfWeek.FRIDAY:\n return WhichDaysFlags.FRIDAY;\n case DaysOfWeek.SHABBOS:\n return WhichDaysFlags.SHABBOS;\n }\n return 0;\n }\n /**\n * Returns the zmanim necessary for showing basic shul notifications: chatzosHayom, chatzosHalayla, alos\n * @param {jDate|Date} date\n * @param {Location} location\n * @returns {{chatzosHayom:Time, chatzosHalayla:Time, alos:Time, shkia:Time }}\n */\n static getBasicShulZmanim(date, location) {\n const { sdate, jdate } = Utils.bothDates(date);\n const zmanim = _ZmanimUtils.getZmanTimes(\n [\n getZmanType(ZmanTypeIds.chatzosDay),\n //Chatzos hayom\n getZmanType(ZmanTypeIds.Alos90),\n //alos90\n getZmanType(ZmanTypeIds.shkiaElevation),\n //shkiaElevation,\n getZmanType(ZmanTypeIds.candleLighting)\n //candleLighting,\n ],\n sdate,\n jdate,\n location\n );\n return {\n chatzosHayom: zmanim[0].time,\n chatzosHalayla: Utils.addMinutes(zmanim[0].time, 720),\n alos: zmanim[1].time,\n shkia: zmanim[2].time\n };\n }\n /**\n * Returns all the zmanim for the given day \n * @param {Date|jDate} date\n * @param {Location} location\n * @returns {{zmanType:ZmanToShow, time?:Time }[]}\n */\n static getAllZmanim(date, location) {\n const { sdate, jdate } = Utils.bothDates(date);\n return _ZmanimUtils.getZmanTimes(ZmanTypes, sdate, jdate, location);\n }\n};\n_ZmanimUtils.zmanTimesCache = [];\nvar ZmanimUtils = _ZmanimUtils;\n\n// src/Notifications.ts\nvar dayNotes = [];\nvar tefillahNotes = [];\nvar showEnglish = false;\nvar dayInfo;\nvar showGaonShirShelYom = true;\nvar israel = true;\nfunction getNotifications(date, time, location, english, showGaonShir, showDafYomi) {\n const { sdate, jdate } = Utils.bothDates(date);\n dayNotes.length = 0;\n tefillahNotes.length = 0;\n const month = jdate.Month, day = jdate.Day, dow = jdate.DayOfWeek, { chatzosHayom, chatzosHalayla, alos, shkia } = ZmanimUtils.getBasicShulZmanim(date, location), isAfterChatzosHayom = Utils.isTimeAfter(chatzosHayom, time), isAfterChatzosHalayla = typeof chatzosHalayla !== \"undefined\" && (Utils.isTimeAfter(chatzosHalayla, time) || chatzosHalayla.hour > 12 && time.hour < 12), isAfterAlos = Utils.isTimeAfter(alos, time), isAfterShkia = Utils.isTimeAfter(shkia, time), isDaytime = isAfterAlos && !isAfterShkia, isNightTime = !isDaytime, isNotBeinHasmashos = !isAfterShkia || Utils.isTimeAfter(Utils.addMinutes(shkia, 18), time), isMorning = isDaytime && !isAfterChatzosHayom, isAfternoon = isDaytime && isAfterChatzosHayom && isNotBeinHasmashos, isYomTov = jdate.isYomTovOrCholHamoed(location.Israel), isLeapYear = jDate.isJdLeapY(jdate.Year), noTachnun = isAfternoon && (dow === DaysOfWeek.FRIDAY || day === 29);\n dayInfo = {\n jdate,\n sdate,\n month,\n day,\n dow,\n isAfterChatzosHayom,\n isAfterChatzosHalayla,\n isAfterAlos,\n isAfterShkia,\n isDaytime,\n isNightTime,\n isMorning,\n isAfternoon,\n isYomTov,\n isLeapYear,\n noTachnun,\n location\n };\n showEnglish = english;\n israel = location.Israel;\n showGaonShirShelYom = typeof showGaonShir === \"undefined\" ? israel : !!showGaonShir;\n if (dow === DaysOfWeek.SHABBOS) {\n getShabbosNotifications();\n } else {\n getWeekDayNotifications();\n }\n getAroundTheYearNotifications();\n if (dayInfo.noTachnun && isDaytime && !isYomTov) {\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"No Tachnun\", '\\u05D0\"\\u05D0 \\u05EA\\u05D7\\u05E0\\u05D5\\u05DF');\n } else if (isAfternoon) {\n addTefillahNote(\"No Tzidkascha\", '\\u05D0\"\\u05D0 \\u05E6\\u05D3\\u05E7\\u05EA\\u05DA');\n } else if (!(month === JewishMonthsNames.NISSAN && day > 21 || month === JewishMonthsNames.IYAR || month === JewishMonthsNames.SIVAN && day < 6)) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n }\n }\n if (showDafYomi !== false) {\n addDayNote(jdate.getDafYomi(), jdate.getDafyomiHeb());\n }\n if (isNotBeinHasmashos && (month === JewishMonthsNames.NISSAN && day > 15 || month === JewishMonthsNames.IYAR || month === JewishMonthsNames.SIVAN && day < 6)) {\n const dayOfSefirah = jdate.getDayOfOmer();\n if (dayOfSefirah > 0) {\n addTefillahNote(Utils.getOmerNusach(dayOfSefirah, \"ashkenaz\"));\n }\n }\n return {\n dayNotes: [...new Set(dayNotes)],\n tefillahNotes: [...new Set(tefillahNotes)]\n };\n}\nfunction getShabbosNotifications() {\n const { month, day, isLeapYear, isMorning, isYomTov, jdate, isDaytime, isAfternoon } = dayInfo;\n if (month === JewishMonthsNames.NISSAN && day > 7 && day < 15) {\n addDayNote(\"Shabbos Hagadol\", \"\\u05E9\\u05D1\\u05EA \\u05D4\\u05D2\\u05D3\\u05D5\\u05DC\");\n } else if (month === JewishMonthsNames.TISHREI && day > 2 && day < 10) {\n addDayNote(\"Shabbos Shuva\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D5\\u05D1\\u05D4\");\n } else if (month === JewishMonthsNames.AV && day > 2 && day < 10) {\n addDayNote(\"Shabbos Chazon\", \"\\u05E9\\u05D1\\u05EA \\u05D7\\u05D6\\u05D5\\u05DF\");\n } else if (month === JewishMonthsNames.AV && day > 10 && day < 18) {\n addDayNote(\"Shabbos Nachamu\", \"\\u05E9\\u05D1\\u05EA \\u05E0\\u05D7\\u05DE\\u05D5\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR : JewishMonthsNames.SHVAT) && day > 24 || month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day === 1) {\n addDayNote(\"Parshas Shkalim\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05E9\\u05E7\\u05DC\\u05D9\\u05DD\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 7 && day < 14) {\n addDayNote(\"Parshas Zachor\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05D6\\u05DB\\u05D5\\u05E8\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 16 && day < 24) {\n addDayNote(\"Parshas Parah\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05E4\\u05E8\\u05D4\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 23 && day < 30 || month === JewishMonthsNames.NISSAN && day === 1) {\n addDayNote(\"Parshas Hachodesh\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05D4\\u05D7\\u05D5\\u05D3\\u05E9\");\n }\n if (!isYomTov) {\n const sedra = jdate.getSedra(israel);\n if (sedra.sedras.length > 0 && sedra.toStringHeb() === \"\\u05D1\\u05E9\\u05DC\\u05D7\") {\n addDayNote(\"Shabbos Shira\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D9\\u05E8\\u05D4\");\n }\n if (isMorning && sedra.sedras.length > 0) {\n addTefillahNote(\n `Kriyas Hatorah Parshas ${sedra.toString()}`,\n `\\u05E7\\u05D4\"\\u05EA \\u05E4\\u05E8\\u05E9\\u05EA ${sedra.toStringHeb()}`\n );\n }\n if (month !== JewishMonthsNames.ELLUL && day > 22 && day < 30) {\n const nextMonth = jdate.addMonths(1);\n addTefillahNote(\n \"The molad will be \" + Molad.getString(nextMonth.Year, nextMonth.Month),\n \"\\u05D4\\u05DE\\u05D5\\u05DC\\u05D3 \\u05D9\\u05D4\\u05D9\\u05D4 \\u05D1\" + Molad.getStringHeb(nextMonth.Year, nextMonth.Month)\n );\n addTefillahNote(\"Bircas Hachodesh\", \"\\u05DE\\u05D1\\u05E8\\u05DB\\u05D9\\u05DD \\u05D4\\u05D7\\u05D5\\u05D3\\u05E9\");\n if (month !== JewishMonthsNames.NISSAN && month !== JewishMonthsNames.IYAR) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n }\n }\n }\n if (month !== JewishMonthsNames.TISHREI && (day === 1 || day === 30)) {\n addDayNote(\"Rosh Chodesh\", \"\\u05E8\\u05D0\\u05E9 \\u05D7\\u05D5\\u05D3\\u05E9\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"Barchi Nafshi\", '\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E8\\u05DB\\u05D9 \\u05E0\\u05E4\\u05E9\\u05D9');\n }\n if (isDaytime && month !== JewishMonthsNames.TEVES && !(month === JewishMonthsNames.KISLEV && day === 30)) {\n addTefillahNote(\"Chatzi Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n }\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n } else if (isYomTov) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05DC\\u05D9\\u05D5\\u05DD \\u05D4\\u05E9\\u05D1\\u05EA\");\n }\n }\n if (isAfternoon && !(month === JewishMonthsNames.TISHREI && day === 10)) {\n const sedra = jdate.addDays(1).getSedra(israel);\n addTefillahNote(\n \"Kriyas Hatorah Mincha Parshas \" + sedra.sedras[0].eng,\n '\\u05E7\\u05D4\"\\u05EA \\u05D1\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E4\\u05E8\\u05E9\\u05EA ' + sedra.sedras[0].heb\n );\n }\n if (isAfternoon && (month === JewishMonthsNames.NISSAN && day > 21 || month <= JewishMonthsNames.ELLUL && !(month === JewishMonthsNames.AV && [8, 9].includes(day)))) {\n const prakim = PirkeiAvos.getPrakim(jdate, israel);\n if (prakim.length > 0) {\n addDayNote(\n \"Pirkei Avos - \" + prakim.map((s) => `Perek ${Utils.toJewishNumber(s)}`).join(\" and \"),\n \"\\u05E4\\u05E8\\u05E7\\u05D9 \\u05D0\\u05D1\\u05D5\\u05EA - \" + prakim.map((s) => `\\u05E4\\u05E8\\u05E7 ${Utils.toJewishNumber(s)}`).join(\" \\u05D5\")\n );\n }\n }\n}\nfunction getWeekDayNotifications() {\n const {\n isNightTime,\n dow,\n isYomTov,\n month,\n day,\n isMorning,\n jdate,\n location,\n isDaytime,\n isAfternoon\n } = dayInfo;\n if (isNightTime && dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\n month === JewishMonthsNames.NISSAN && day === 15 || month === JewishMonthsNames.SIVAN && day === 6 ? \"\\u05D5\\u05EA\\u05D5\\u05D3\\u05D9\\u05E2\\u05D9\\u05E0\\u05D5\" : \"\\u05D0\\u05EA\\u05D4 \\u05D7\\u05D5\\u05E0\\u05E0\\u05EA\\u05E0\\u05D5\"\n );\n if (month === JewishMonthsNames.ELLUL && day > 22 || month === JewishMonthsNames.TISHREI && day > 4 && day < 22 || month === JewishMonthsNames.NISSAN && day > 8 && day < 15 || month === JewishMonthsNames.SIVAN && day < 6) {\n addTefillahNote(\"No Vihi Noam\", '\\u05D0\"\\u05D0 \\u05D5\\u05D9\\u05D4\\u05D9 \\u05E0\\u05D5\\u05E2\\u05DD');\n }\n } else if (isNightTime && (month === JewishMonthsNames.NISSAN && (day === 16 || day === 22) || month === JewishMonthsNames.SIVAN && day === 7 || month === JewishMonthsNames.TISHREI && [3, 11, 16, 23].includes(day))) {\n addTefillahNote(\"Ata Chonantanu\", \"\\u05D0\\u05EA\\u05D4 \\u05D7\\u05D5\\u05E0\\u05E0\\u05EA\\u05E0\\u05D5\");\n }\n if (isMorning && !isYomTov && (dow === DaysOfWeek.MONDAY || dow === DaysOfWeek.THURSDAY) && !hasOwnKriyasHatorah(jdate, location)) {\n const sedra = jdate.getSedra(israel);\n if (sedra.sedras.length > 0) {\n addTefillahNote(\n `Kriyas Hatorah Parshas ${sedra.sedras[0].eng}`,\n `\\u05E7\\u05D4\"\\u05EA \\u05E4\\u05E8\\u05E9\\u05EA ${sedra.sedras[0].heb}`\n );\n }\n }\n if (month !== JewishMonthsNames.TISHREI && day === 1 || day === 30) {\n dayInfo.noTachnun = true;\n addDayNote(\"Rosh Chodesh\", \"\\u05E8\\u05D0\\u05E9 \\u05D7\\u05D5\\u05D3\\u05E9\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"Barchi Nafshi\", '\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E8\\u05DB\\u05D9 \\u05E0\\u05E4\\u05E9\\u05D9');\n }\n if (isDaytime && month !== JewishMonthsNames.TEVES && !(month === JewishMonthsNames.KISLEV && day === 30)) {\n addTefillahNote(\"Chatzi Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n } else if (month !== JewishMonthsNames.ELLUL && (dow < DaysOfWeek.FRIDAY && day === 29 || dow === DaysOfWeek.THURSDAY && day === 28) && isAfternoon) {\n addTefillahNote(\"Yom Kippur Kattan\", '\\u05D9\\u05D5\"\\u05DB \\u05E7\\u05D8\\u05DF');\n }\n if (jdate.hasEiruvTavshilin(israel)) {\n addDayNote(\"Eruv Tavshilin\", \"\\u05E2\\u05D9\\u05E8\\u05D5\\u05D1 \\u05EA\\u05D1\\u05E9\\u05D9\\u05DC\\u05D9\\u05DF\");\n }\n}\nfunction getAroundTheYearNotifications() {\n const {\n month,\n day,\n isNightTime,\n dow,\n isAfternoon,\n isDaytime,\n isMorning,\n isAfterChatzosHalayla,\n jdate,\n sdate,\n isLeapYear,\n location\n } = dayInfo;\n let showVsainTalUmatarInChul = false;\n if (!location.Israel && sdate.getMonth() === 11 && sdate.getDate() > 4) {\n const startVsainTalUmatar = jdate.Year % 4 === 0 ? 6 : 5;\n showVsainTalUmatarInChul = sdate.getDate() >= startVsainTalUmatar && sdate.getDate() <= startVsainTalUmatar + 14;\n }\n switch (month) {\n case JewishMonthsNames.NISSAN:\n dayInfo.noTachnun = true;\n if (day > 15) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n }\n if (dow !== DaysOfWeek.SHABBOS && day > 15 && day !== 21) {\n addTefillahNote(\"Vesain Bracha\", \"\\u05D5\\u05EA\\u05DF \\u05D1\\u05E8\\u05DB\\u05D4\");\n }\n if (isNightTime && (dow !== DaysOfWeek.FRIDAY && day === 14 || dow === DaysOfWeek.THURSDAY && day === 13)) {\n addDayNote(\"Bedikas Chometz\", \"\\u05D1\\u05D3\\u05D9\\u05E7\\u05EA \\u05D7\\u05DE\\u05E5\");\n }\n if (isMorning && dow !== DaysOfWeek.SHABBOS && [14, 16, 17, 18, 19, 20].includes(day)) {\n addTefillahNote(\"No Mizmor Lesodah\", '\\u05D0\"\\u05D0 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05EA\\u05D5\\u05D3\\u05D4');\n if (dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n if (day === 15) {\n addDayNote(\"First Day of Pesach\", '\\u05D9\\u05D5\"\\u05D8 \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7');\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isAfternoon) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n }\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if (day === 16 && !israel) {\n addDayNote(\"Second Day of Pesach\", '\\u05D9\\u05D5\"\\u05D8 \\u05E9\\u05E0\\u05D9 \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7');\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if ([16, 17, 18, 19, 20, 21].includes(day)) {\n if (day === 21) {\n addDayNote(\"Shvi`i Shel Pesach\", \"\\u05E9\\u05D1\\u05D9\\u05E2\\u05D9 \\u05E9\\u05DC \\u05E4\\u05DD\\u05D7\");\n if (isDaytime) {\n if (israel) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n }\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D7 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05DC\\u05E2\\u05D1\\u05D3 \\u05D4'`);\n }\n }\n } else {\n addDayNote(\"Chol Ha`moed Pesach\", \"\\u05E4\\u05E1\\u05D7 - \\u05D7\\u05D5\\u05DC \\u05D4\\u05DE\\u05D5\\u05E2\\u05D3\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) noLaminatzeach();\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n switch (day) {\n case 16:\n if (dow === DaysOfWeek.SUNDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D7 - \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC \\u05DC\\u05D0\\u05E1\\u05E3');\n }\n break;\n case 17:\n if (dow === DaysOfWeek.MONDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D7 - \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC \\u05DC\\u05D0\\u05E1\\u05E3');\n } else {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4' - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D0\\u05DC \\u05E9\\u05D5\\u05E9\\u05E0\\u05D9\\u05DD\");\n }\n break;\n case 18:\n if (dow === DaysOfWeek.TUESDAY || dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4' - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D0\\u05DC \\u05E9\\u05D5\\u05E9\\u05E0\\u05D9\\u05DD\");\n } else {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\"\\u05D4 - \\u05D4\\u05D5\\u05D3\\u05D5 \\u05DC\\u05D4'`);\n }\n break;\n case 19:\n if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05DC\"\\u05D4 - \\u05D4\\u05DC\\u05DC\\u05D5\\u05D9-\\u05D4 \\u05D4\\u05DC\\u05DC\\u05D5 \\u05D0\\u05EA \\u05E9\\u05DD');\n } else {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\"\\u05D4 - \\u05D4\\u05D5\\u05D3\\u05D5 \\u05DC\\u05D4'`);\n }\n break;\n case 20:\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E1\"\\u05D5 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E9\\u05D9\\u05E8 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05DC\"\\u05D4 - \\u05D4\\u05DC\\u05DC\\u05D5\\u05D9-\\u05D4 \\u05D4\\u05DC\\u05DC\\u05D5 \\u05D0\\u05EA \\u05E9\\u05DD');\n }\n break;\n }\n }\n }\n if (isDaytime) addTefillahNote(\"Half Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (day === 22) {\n if (israel) {\n addDayNote(\"Isru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n } else {\n addDayNote(\"Acharon Shel Pesach\", \"\\u05D0\\u05D7\\u05E8\\u05D5\\u05DF \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7\");\n if (isDaytime) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n addTefillahNote(\"Half Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (dow !== DaysOfWeek.SHABBOS && isMorning) {\n noLaminatzeach();\n }\n }\n if (dow === DaysOfWeek.SHABBOS && ([15, 16, 17, 18, 19, 20, 21].includes(day) || !israel && day === 22)) {\n addTefillahNote(\"Shir Hashirim\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E9\\u05D9\\u05E8 \\u05D4\\u05E9\\u05D9\\u05E8\\u05D9\\u05DD\");\n }\n break;\n case JewishMonthsNames.IYAR:\n if (day <= 15) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Bracha\", \"\\u05D5\\u05EA\\u05DF \\u05D1\\u05E8\\u05DB\\u05D4\");\n }\n }\n if (day === 14 || day === 13 && isAfternoon || day === 18 || day === 17 && isAfternoon) {\n dayInfo.noTachnun = true;\n if (day === 14) {\n addDayNote(\"Pesach Sheini\", \"\\u05E4\\u05E1\\u05D7 \\u05E9\\u05E0\\u05D9\");\n }\n }\n if (isMorning && (dow === DaysOfWeek.MONDAY && day > 3 && day < 13 || dow === DaysOfWeek.THURSDAY && day > 6 && day < 14 || dow === DaysOfWeek.MONDAY && day > 10 && day < 18 && day !== 14)) {\n addTefillahNote(\"Ba`hab\", '\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA \\u05D1\\u05D4\"\\u05D1');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n break;\n case JewishMonthsNames.SIVAN:\n if (day < 13) {\n dayInfo.noTachnun = true;\n }\n if (day === 6) {\n addDayNote(\"Shavuos\", \"\\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05DC \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Megilas Rus\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E8\\u05D5\\u05EA\");\n addTefillahNote(\"Akdamus\", \"\\u05D0\\u05E7\\u05D3\\u05DE\\u05D5\\u05EA\");\n if (israel) addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D8 - ..\\u05D4\\u05E9\\u05DE\\u05D9\\u05DD \\u05DE\\u05E1\\u05E4\\u05E8\\u05D9\\u05DD..');\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if (day === 7) {\n if (israel) {\n addDayNote(\"Issru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n } else {\n addDayNote(\"Shavuos Second Day\", \"\\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05DC \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n }\n break;\n case JewishMonthsNames.TAMUZ:\n if (isDaytime && (day === 17 && DaysOfWeek.SHABBOS !== 6 || day === 18 && dow === DaysOfWeek.SUNDAY)) {\n if (isDaytime) {\n addDayNote(\"Shiva Asar B`Tamuz\", '\\u05D9\"\\u05D6 \\u05D1\\u05EA\\u05DE\\u05D5\\u05D6');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n break;\n case JewishMonthsNames.AV:\n if (isAfternoon && day === 8 && dow !== DaysOfWeek.FRIDAY) {\n dayInfo.noTachnun = true;\n } else if (day === 9 && dow !== DaysOfWeek.SHABBOS || day === 10 && dow === DaysOfWeek.SUNDAY) {\n addDayNote(\"Tish B`Av\", \"\\u05EA\\u05E9\\u05E2\\u05D4 \\u05D1\\u05D0\\u05D1\");\n if (isDaytime) {\n addTefillahNote(\"Kinos\", \"\\u05E7\\u05D9\\u05E0\\u05D5\\u05EA\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n } else {\n addTefillahNote(\"Megilas Eicha\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05D9\\u05DB\\u05D4\");\n if (isNightTime && dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\"No Vihi Noam\", '\\u05D0\"\\u05D0 \\u05D5\\u05D9\\u05D4\\u05D9 \\u05E0\\u05D5\\u05E2\\u05DD');\n }\n }\n dayInfo.noTachnun = true;\n } else if (isAfternoon && day === 14) {\n dayInfo.noTachnun = true;\n } else if (day === 15) {\n addDayNote(\"Tu B`Av\", '\\u05D8\"\\u05D5 \\u05D1\\u05D0\\u05D1');\n dayInfo.noTachnun = true;\n }\n break;\n case JewishMonthsNames.ELLUL:\n addTefillahNote(\"L`Dovid Hashem Ori\", \"\\u05DC\\u05D3\\u05D5\\u05D3 \\u05D4\");\n if (day > 20 && dow !== DaysOfWeek.SHABBOS && (isAfterChatzosHalayla || isMorning)) {\n let startedSelichos = day >= 26;\n if (day < 26) {\n const daysToRH = 30 - day, dowRH = (daysToRH + dow) % 7;\n switch (dowRH) {\n case DaysOfWeek.MONDAY:\n startedSelichos = day >= 22;\n break;\n case DaysOfWeek.TUESDAY:\n startedSelichos = day >= 21;\n break;\n case DaysOfWeek.SHABBOS:\n startedSelichos = day >= 24;\n break;\n }\n }\n if (startedSelichos) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n if (day === 29) {\n dayInfo.noTachnun = true;\n }\n break;\n case JewishMonthsNames.TISHREI:\n if (day < 11) {\n addTefillahNote(\"Hamelech Hakadosh\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05E7\\u05D3\\u05D5\\u05E9\");\n if (dow !== DaysOfWeek.SHABBOS && day !== 9) {\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n }\n if (day > 4 && day < 10 && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n }\n if (dow === DaysOfWeek.SHABBOS && day > 2 && day < 10) {\n addDayNote(\"Shabbos Shuva\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D5\\u05D1\\u05D4\");\n }\n if (day >= 10) {\n dayInfo.noTachnun = true;\n }\n switch (day) {\n case 1:\n addDayNote(\"Rosh Hashana\", \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\");\n if (dow !== DaysOfWeek.SHABBOS && isDaytime) {\n addTefillahNote(\"Tekias Shofar\", \"\\u05EA\\u05E7\\u05D9\\u05E2\\u05EA \\u05E9\\u05D5\\u05E4\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n if (isAfternoon) {\n addDayNote(\"Tashlich\", \"\\u05EA\\u05E9\\u05DC\\u05D9\\u05DA\");\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n break;\n case 2:\n addDayNote(\"Rosh Hashana\", \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\");\n if (isDaytime) {\n addTefillahNote(\"Tekias Shofar\", \"\\u05EA\\u05E7\\u05D9\\u05E2\\u05EA \\u05E9\\u05D5\\u05E4\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n if (dow === DaysOfWeek.SUNDAY && isAfternoon) {\n addDayNote(\"Tashlich\", \"\\u05EA\\u05E9\\u05DC\\u05D9\\u05DA\");\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n break;\n case 3:\n if (dow !== DaysOfWeek.SHABBOS) {\n if (isDaytime) {\n addDayNote(\"Fast of Tzom Gedalya\", \"\\u05E6\\u05D5\\u05DD \\u05D2\\u05D3\\u05DC\\u05D9\\u05D4\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n }\n break;\n case 4:\n if (dow === DaysOfWeek.SUNDAY) {\n if (isDaytime) {\n addDayNote(\"Fast of Tzom Gedalya\", \"\\u05E6\\u05D5\\u05DD \\u05D2\\u05D3\\u05DC\\u05D9\\u05D4\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n } else if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n break;\n case 9:\n addDayNote(\"Erev Yom Kippur\", \"\\u05E2\\u05E8\\u05D1 \\u05D9\\u05D5\\u05DD \\u05DB\\u05D9\\u05E4\\u05D5\\u05E8\");\n if (isMorning) {\n addTefillahNote(\"No Mizmor L`Sodah\", '\\u05D0\"\\u05D0 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05EA\\u05D5\\u05D3\\u05D4');\n if (dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n } else if (isAfternoon) {\n addTefillahNote(\"Vidduy\", \"\\u05D5\\u05D3\\u05D5\\u05D9 \\u05D1\\u05E2\\u05DE\\u05D9\\u05D3\\u05D4\");\n }\n if (isDaytime && dow !== DaysOfWeek.FRIDAY) {\n addTefillahNote(\"No Avinu Malkeinu\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5');\n }\n dayInfo.noTachnun = true;\n break;\n case 10:\n addDayNote(\"Yom Kippur\", \"\\u05D9\\u05D5\\u05DD \\u05D4\\u05DB\\u05D9\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addDayNote(\"\\u05DC\\u05E4\\u05E0\\u05D9 \\u05D4' \\u05EA\\u05D8\\u05D4\\u05E8\\u05D5\");\n if (isDaytime) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC\"\\u05D1 - \\u05DC\\u05D3\\u05D5\\u05D3 \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC');\n }\n }\n if (isAfternoon) {\n addTefillahNote('\\u05E7\\u05D4\"\\u05EA \\u05D1\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E1\\u05D5\\u05E3 \\u05E4\\u05E8\\u05E9\\u05EA \\u05D0\\u05D7\"\\u05DE');\n }\n break;\n case 11:\n if (isNightTime) {\n addDayNote(\"\\u05DC\\u05DA \\u05D0\\u05DB\\u05DC \\u05D1\\u05E9\\u05DE\\u05D7\\u05D4 \\u05DC\\u05D7\\u05DE\\u05DA \\u05DB\\u05D9 \\u05DB\\u05D1\\u05E8 \\u05E8\\u05E6\\u05D4 \\u05D4\\u05D0\\u05DC\\u05E7\\u05D9\\u05DD \\u05D0\\u05EA \\u05DE\\u05E2\\u05E9\\u05D9\\u05DA\");\n }\n break;\n case 15:\n addDayNote(\"First day of Sukkos\", '\\u05D9\\u05D5\"\\u05D8 \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05E9\\u05DC \\u05E1\\u05D5\\u05DB\\u05D5\\u05EA');\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Hoshanos - \\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\");\n addTefillahNote(\"Kah Keli\", \"\\u05E7\\u05D4 \\u05E7\\u05DC\\u05D9\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D5 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D1\\u05E0\\u05D2\\u05D9\\u05E0\\u05D5\\u05EA \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8');\n }\n } else {\n addTefillahNote(\"Hoshanos - \\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\");\n }\n }\n break;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (day === 16 && !israel) {\n addDayNote(\"Second day of Sukkos\", \"\\u05E1\\u05D5\\u05DB\\u05D5\\u05EA - \\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05E0\\u05D9\");\n } else if (!israel) {\n addDayNote(\"Chol Hamoed Sukkos\", \"\\u05E1\\u05D5\\u05DB\\u05D5\\u05EA - \\u05D7\\u05D5\\u05DC \\u05D4\\u05DE\\u05D5\\u05E2\\u05D3\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n switch (day) {\n case 16:\n addTefillahNote(\n \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \" + (dow === DaysOfWeek.SUNDAY ? \"\\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\" : \"\\u05D0\\u05D1\\u05DF \\u05E9\\u05EA\\u05D9\\u05D4\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D8 - ..\\u05D4\\u05D1\\u05D5 \\u05DC\\u05D4' \\u05D1\\u05E0\\u05D9 \\u05D0\\u05DC\\u05D9\\u05DD`);\n }\n break;\n case 17:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0\\u05E2\\u05E8\\u05D5\\u05DA \\u05E9\\u05D5\\u05E2\\u05D9\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E0' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3\");\n }\n break;\n case 18:\n if (dow === DaysOfWeek.SUNDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05E2\\u05E8\\u05D5\\u05DA \\u05E9\\u05D5\\u05E2\\u05D9\");\n if (showGaonShirShelYom) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E0' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3\");\n }\n } else {\n if (dow === DaysOfWeek.TUESDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05D1\\u05DF \\u05E9\\u05EA\\u05D9\\u05D4\");\n } else if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05D5\\u05DD \\u05D0\\u05E0\\u05D9 \\u05D7\\u05D5\\u05DE\\u05D4\"\n );\n } else if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0-\\u05DC \\u05DC\\u05DE\\u05D5\\u05E9\\u05E2\\u05D5\\u05EA\");\n }\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - ..\\u05DE\\u05D9 \\u05D9\\u05E7\\u05D5\\u05DD \\u05DC\\u05D9..');\n }\n }\n break;\n case 19:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0-\\u05DC \\u05DC\\u05DE\\u05D5\\u05E9\\u05E2\\u05D5\\u05EA\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n if (dow === DaysOfWeek.MONDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - ..\\u05DE\\u05D9 \\u05D9\\u05E7\\u05D5\\u05DD \\u05DC\\u05D9..');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - \\u05D0-\\u05DC \\u05E0\\u05E7\\u05DE\\u05D5\\u05EA.. \\u05D9\\u05E9\\u05E8\\u05D9 \\u05DC\\u05D1');\n }\n }\n break;\n case 20:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0\\u05D3\\u05D5\\u05DF \\u05D4\\u05DE\\u05D5\\u05E9\\u05D9\\u05E2\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - \\u05D0-\\u05DC \\u05E0\\u05E7\\u05DE\\u05D5\\u05EA.. \\u05D9\\u05E9\\u05E8\\u05D9 \\u05DC\\u05D1');\n }\n }\n break;\n }\n }\n break;\n case 21:\n addDayNote(\"Hoshana Raba\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05D4 \\u05E8\\u05D1\\u05D4\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isNightTime) {\n addTefillahNote(\"Mishneh Torah\", \"\\u05DE\\u05E9\\u05E0\\u05D4 \\u05EA\\u05D5\\u05E8\\u05D4\");\n } else {\n addTefillahNote(\"Hoshanos\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\");\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (showGaonShirShelYom) {\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D1 - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n }\n }\n break;\n case 22:\n addDayNote(\"Shmini Atzeres\", \"\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9 \\u05E2\\u05E6\\u05E8\\u05EA\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (israel) {\n addDayNote(\"Simchas Torah\", \"\\u05E9\\u05DE\\u05D7\\u05EA \\u05EA\\u05D5\\u05E8\\u05D4\");\n addTefillahNote(\"Hakafos\", \"\\u05D4\\u05E7\\u05E4\\u05D5\\u05EA\");\n }\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n addTefillahNote(\"Tefilas Geshem\", \"\\u05EA\\u05E4\\u05D9\\u05DC\\u05EA \\u05D2\\u05E9\\u05DD\");\n addTefillahNote(\"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9\\u05EA');\n }\n }\n break;\n }\n if (day === 23) {\n if (!israel) {\n addDayNote(\"Simchas Torah\", \"\\u05E9\\u05DE\\u05D7\\u05EA \\u05EA\\u05D5\\u05E8\\u05D4\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n addTefillahNote(\"Hakafos\", \"\\u05D4\\u05E7\\u05E4\\u05D5\\u05EA\");\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n } else {\n addDayNote(\"Issru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n if (isNightTime) {\n addDayNote(\"\\u05D0 \\u05D2\\u05D5\\u05D8\\u05E2\\u05DF \\u05D5\\u05D5\\u05D9\\u05E0\\u05D8\\u05E2\\u05E8\", \"\\u05D7\\u05D5\\u05E8\\u05E3 \\u05D8\\u05D5\\u05D1\");\n } else if (dow !== DaysOfWeek.SHABBOS && isMorning) {\n noLaminatzeach();\n }\n }\n } else if (dow === DaysOfWeek.SHABBOS && [15, 17, 18, 19, 20].includes(day)) {\n addTefillahNote(\"Megilas Koheles\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E7\\u05D4\\u05DC\\u05EA\");\n }\n if (day < 22) {\n addTefillahNote(\"L`Dovid Hashem Ori\", \"\\u05DC\\u05D3\\u05D5\\u05D3 \\u05D4\");\n } else if (day > 22) {\n addTefillahNote(\"Mashiv Haruach U`Morid Hageshem\", \"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n }\n break;\n case JewishMonthsNames.CHESHVAN:\n if (isDaytime && (dow === DaysOfWeek.MONDAY && day > 3 && day < 13 || dow === DaysOfWeek.THURSDAY && day > 6 && day < 14 || dow === DaysOfWeek.MONDAY && day > 10 && day < 18)) {\n addTefillahNote(\"Ba`Hab\", '\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA \\u05D1\\u05D4\"\\u05D1');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n if (day <= 22) {\n addTefillahNote(\"Mashiv Haruach U`Morid Hageshem\", \"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n }\n if ((location.Israel && day >= 7 || !location.Israel && showVsainTalUmatarInChul) && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n }\n break;\n case JewishMonthsNames.KISLEV:\n if ((location.Israel && day <= 7 || !location.Israel && showVsainTalUmatarInChul) && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n } else if (day === 24 && dow !== DaysOfWeek.SHABBOS && isAfternoon) {\n dayInfo.noTachnun = true;\n } else if (day >= 25) {\n dayInfo.noTachnun = true;\n addDayNote(\"Chanukah\", \"\\u05D7\\u05E0\\u05D5\\u05DB\\u05D4\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) noLaminatzeach();\n if (showGaonShirShelYom && day !== 30 && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05D7\\u05E0\\u05D5\\u05DB\\u05EA \\u05D4\\u05D1\\u05D9\\u05EA\");\n }\n }\n }\n break;\n case JewishMonthsNames.TEVES:\n if (!location.Israel && showVsainTalUmatarInChul && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n }\n if (day <= (jDate.isShortKislev(jdate.Year) ? 3 : 2)) {\n dayInfo.noTachnun = true;\n addDayNote(\"Chanukah\", \"\\u05D7\\u05E0\\u05D5\\u05DB\\u05D4\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n if (day !== 1 && showGaonShirShelYom) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05D7\\u05E0\\u05D5\\u05DB\\u05EA \\u05D4\\u05D1\\u05D9\\u05EA\");\n }\n }\n }\n } else if (day === 10 && isDaytime) {\n addDayNote(\"Fast of Asara B`Teves\", \"\\u05E2\\u05E9\\u05E8\\u05D4 \\u05D1\\u05D8\\u05D1\\u05EA\");\n if (isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n break;\n case JewishMonthsNames.SHVAT:\n if (day === 14 && isAfternoon) dayInfo.noTachnun = true;\n if (day === 15) {\n dayInfo.noTachnun = true;\n addDayNote(\"Tu B`Shvat\", '\\u05D8\"\\u05D5 \\u05D1\\u05E9\\u05D1\\u05D8');\n }\n break;\n case JewishMonthsNames.ADAR:\n case JewishMonthsNames.ADAR_SHEINI:\n if (month === JewishMonthsNames.ADAR && isLeapYear) {\n if (day === 13 && isAfternoon) dayInfo.noTachnun = true;\n if ([14, 15].includes(day)) {\n addDayNote(\n day === 14 ? showEnglish ? \"Purim Katan\" : \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05E7\\u05D8\\u05DF\" : showEnglish ? \"Shushan Purim Katan\" : \"\\u05E9\\u05D5\\u05E9\\u05DF \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05E7\\u05D8\\u05DF\"\n );\n if (isDaytime) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n }\n } else {\n if (isDaytime && (day === 11 && dow === DaysOfWeek.THURSDAY || day === 13 && dow !== DaysOfWeek.SHABBOS)) {\n if (isMorning) {\n addDayNote(\"Fast of Ta`anis Esther\", \"\\u05EA\\u05E2\\u05E0\\u05D9\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n } else {\n const isYerushalayim = location.Name === \"Jerusalem\" || location.NameHebrew === \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\";\n if (day === 14) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (!isYerushalayim || dow === DaysOfWeek.FRIDAY) {\n addDayNote(\"Megilas Esther\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n if (!isYerushalayim) {\n addDayNote(\"Purim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D0\\u05D9\\u05DC\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8');\n }\n } else {\n addDayNote(\"Matanos LeEvyonim\", \"\\u05DE\\u05EA\\u05E0\\u05D5\\u05EA \\u05DC\\u05D0\\u05D1\\u05D9\\u05D5\\u05E0\\u05D9\\u05DD\");\n }\n } else {\n addDayNote(\"Purim D`Prazim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D3\\u05E4\\u05E8\\u05D6\\u05D9\\u05DD\");\n }\n } else if (day === 15) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (isYerushalayim) {\n addDayNote(\"Purim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addDayNote(\"Megilas Esther\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n }\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D0\\u05D9\\u05DC\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8');\n }\n } else if ([\n \"\\u05D8\\u05D1\\u05E8\\u05D9\\u05D4\",\n \"\\u05D9\\u05E4\\u05D5\",\n \"\\u05E2\\u05DB\\u05D5\",\n \"\\u05E6\\u05E4\\u05EA\",\n \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\",\n \"\\u05D7\\u05D9\\u05E4\\u05D4\",\n \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\",\n \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05D0\\u05DF\",\n \"\\u05DC\\u05D5\\u05D3\"\n ].includes(location.Name)) {\n addDayNote(\"Purim D`Mukafin\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D3\\u05DE\\u05D5\\u05E7\\u05E4\\u05D9\\u05DF\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addDayNote(\"(Megilas Esther)\", \"(\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8)\");\n }\n } else {\n addDayNote(\"Shushan Purim\", \"\\u05E9\\u05D5\\u05E9\\u05DF \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n }\n } else if (day === 16 && isYerushalayim && dow === DaysOfWeek.SUNDAY) {\n addDayNote(\"Purim Seuda and Mishloach Manos\", \"\\u05E1\\u05E2\\u05D5\\u05D3\\u05EA \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D5\\u05DE\\u05E9\\u05DC\\u05D5\\u05D7 \\u05DE\\u05E0\\u05D5\\u05EA\");\n }\n }\n }\n break;\n }\n}\nfunction noLaminatzeach() {\n addTefillahNote(\"No Laminatzeach\", '\\u05D0\"\\u05D0 \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7');\n}\nfunction addDayNote(englishOrDefaultText, hebrewText) {\n const note = showEnglish || !hebrewText ? englishOrDefaultText : hebrewText;\n if (!dayNotes.includes(note)) {\n dayNotes.push(note);\n }\n}\nfunction addTefillahNote(englishOrDefaultText, hebrewText) {\n const note = showEnglish || !hebrewText ? englishOrDefaultText : hebrewText;\n if (!tefillahNotes.includes(note)) {\n tefillahNotes.push(note);\n }\n}\nfunction hasOwnKriyasHatorah(jdate, location) {\n const { Month, Day, DayOfWeek } = jdate;\n if (Day === 1 || Day === 30) {\n return true;\n }\n switch (Month) {\n case 1:\n return Day > 14 && Day < 22;\n case 4:\n return Day === 17 || DayOfWeek === 0 && Day === 18;\n case 5:\n return Day === 9 || DayOfWeek === 0 && Day === 10;\n case 7:\n return [3, 16, 17, 18, 19, 20, 21].includes(Day) || DayOfWeek === 0 && Day === 4;\n case 9:\n return Day >= 25;\n case 10:\n return Day === 10 || Day < 3 || Day === 3 && jDate.isShortKislev(jdate.Year);\n case 12:\n case 13:\n return Month === (jDate.isJdLeapY(jdate.Year) ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && (Day === 13 || Day === (location.Name === \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\" ? 15 : 14));\n default:\n return false;\n }\n}\nexport {\n Dafyomi,\n DaysOfWeek,\n DaysOfWeekEng,\n DaysOfWeekHeb,\n JewishMonthsEng,\n JewishMonthsHeb,\n JewishMonthsNames,\n Location,\n Locations,\n Molad,\n PirkeiAvos,\n SecularMonthsEng,\n Sedra,\n Utils,\n ZmanTypeIds,\n ZmanTypes,\n Zmanim,\n ZmanimUtils,\n closestDistanceMatch,\n closestNameMatch,\n findLocation,\n getNotifications,\n getZmanType,\n jDate\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["c:\\repos_git\\jcal-zmanim\\dist\\index.js"],"names":["_Sedra","jd","israel2","Month","Day","sedras","sedraList","sedraArray","sedraOrder","getSedraOrder","Year","absDate","Abs","index","weekNum","getDayOnOrBefore","firstSatInYear","length","indexLast","i","toString","map","s","eng","join","toStringHeb","heb","day_of_week","date","year","lastCalculatedYear","israel","longCheshvon","jDate","isLongCheshvan","shortKislev","isShortKislev","roshHashana","absJd","roshHashanaDOW","Math","abs","yearType","sArray","isJdLeapY","shabbos_short","shabbos_long","mon_short","mon_long","thu_normal_Israel","thu_normal","thu_long","shabbos_short_leap","shabbos_long_leap","mon_short_leap_Israel","mon_short_leap","mon_long_leap_Israel","mon_long_leap","thu_short_leap","thu_long_leap","retobj","Sedra","_PirkeiAvos","getPrakim","getDayOfWeek","jMonth","jDay","_get1stPerek","_ellul","jYear","pes1","shb1","cShb","Utils","toInt","prk","prakim","day1","day1DOW","shabbos1Day","shabbos1Date","PirkeiAvos","_Dafyomi","getDaf","jdate","absoluteDate","dafcnt","cno","dno","osday","nsday","total","count","j","blatt","absSd","Date","masechtaList","daf","masechet","d","toJewishNumber","Dafyomi","JS_START_DATE_ABS","MS_PER_DAY","JS_START_OFFSET","getTimezoneOffset","yearTypes","isLeapYear","dow","isLongKislev","daysInYear","yearTypeList","getElapsedDays","daysCounter","months","parts","hours","conjDay","conjParts","has","_jDate","arg","month","day","NaN","arguments","fromAbs","isValidDate","Array","isArray","isString","isNumber","argObj","absolute","ymd","getDate","sdFromAbs","DayOfWeek","addDays","days","addMonths","miy","monthsJYear","daysJMonth","addYears","years","addSecularMonths","secDate","valueOf","setMonth","getMonth","addSecularYears","setFullYear","getFullYear","diffDays","diffMonths","diffFullMonths","diffYears","diff","diffFullYears","hideDayOfWeek","dontCapitalize","DaysOfWeekEng","toSuffixed","monthName","toShortstring","showDow","JewishMonthsEng","showYear","DaysOfWeekHeb","JewishMonthsHeb","getDayOfOmer","dayOfOmer","first","isYomTovOrCholHamoed","isYomTov","includes","isErevYomTov","hasCandleLighting","hasEiruvTavshilin","getCandleLighting","location","nullIfNoCandles","Zmanim","getSedra","getPirkeiAvos","getSunriseSunset","ignoreElevation","getSunTimes","getChatzos","getShaaZmanis","offset","getDafYomi","getDafyomiHeb","toJDate","now","absDay","ms","numFullDays","floor","dayInYear","m","daysSinceStart","daysJYear","_Zmanim","considerElevation","String","sunrise","sunset","zenithDeg","zenithMin","lonHour","longitude","latitude","cosLat","sinLat","cosZen","sinDec","cosDec","xmRise","xmSet","xlRise","xlSet","aRise","aSet","ahrRise","ahrSet","hRise","hSet","tRise","tSet","utRise","utSet","dayOfYear","earthRadius","zenithAtElevation","degToDec","radToDeg","acos","Elevation","cos","Longitude","Latitude","sin","M","L","atan","tan","sqrt","adj","timeAdj","UTCOffset","hour","getChatzosFromSuntimes","sunTimes","rise","set","isNaN","minute","chatz","totalSeconds","addSeconds","getShaaZmanisFromSunTimes","addMinutes","getShaaZmanisMga","minutes","getCandleLightingFromSunTimes","getCandleLightingFromSunset","CandleLighting","isLeap","isSecularLeapYear","yearDay","deg","min","x","rad","time","minFloat","sec","round","isDST","fixTime","second","__DEV__","process","env","NODE_ENV","DaysOfWeek","Object","freeze","SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SHABBOS","JewishMonthsNames","NISSAN","IYAR","SIVAN","TAMUZ","AV","ELLUL","TISHREI","CHESHVAN","KISLEV","TEVES","SHVAT","ADAR","ADAR_SHEINI","SecularMonthsEng","_Utils","number","n","retval","jsd","jhd","jtd","slice","toStringDate","getDay","toShortStringDate","monthFirst","dayNum","monthNum","num","t","suffix","getSdDOW","result","seconds","timeDiff","earlierTime","laterTime","showNegative","earlySec","laterSec","sign","totalMinutes","timeFromDate","sdate","getHours","getMinutes","getSeconds","isTimeAfter","beforeTime","afterTime","getTimeIntervalTextStringHeb","trunc","getTimeIntervalTextString","getOmerNusach","nusach","weeks","txt","jsnum","jtnum","getTimeString","army","roundUp","ceil","currUtcOffset","jan","jul","max","isDateDST","Israel","isIsrael_DST","isUSA_DST","firstDOW","targetDate","lastFriday","lastSunday","getSdNowInIsrael","israelTimeOffset","setHours","addDaysToSdate","isSameSdate","sdate1","sdate2","toDateString","isSameJdate","jdate1","jdate2","isSameJMonth","isSameSMonth","isAfterSunset","shkia","nowAtLocation","setDate","float","bothDates","thing","Number","o","arr","setDefault","paramValue","defValue","range","start","end","startNumber","endNumber","from","v","log","optionalItems","console","warn","error","Location","_Location","name","nameHeb","utcOffset","elevation","candleLighting","Name","NameHebrew","getCandles","clone","special","names","loclc","toLowerCase","city","find","sp","spi","indexOf","getJerusalem","getLakewood","distance","locations_default","il","tz","el","lat","lon","cl","Locations","l","sort","a","b","justNames","push","split","distancePointToPoint","point1","point2","radlat1","PI","radlat2","theta","radtheta","dist","closestDistanceMatch","point","curr","closestNameMatch","val","findLocation","nameOrCoordinates","exactNameMatch","cityOnlyNameMatch","exactCoordinateMatch","ZmanTypeIds","ChatzosLayla","Alos90","Alos72","TalisTefillin","NetzAtElevation","NetzMishor","szksMga","szksGra","sztMga","sztGra","chatzosDay","minGed","minKet","plag","shkiaAtSeaLevel","shkiaElevation","tzais45","tzais50","tzais72","rabbeinuTamZmanios","rabbeinuTamZmaniosMga","SofZmanEatingChometz","SofZmanBurnChometz","ZmanTypes","id","desc","getZmanType","idOrName","zt","Molad","_Molad","getMolad","totalMonths","partsElapsed","hoursElapsed","monthAdj","absoluteDays","chalakim","getString","molad","zmanim","isNight","str","getStringHeb","replace","WhichDaysFlags","YOMTOV","_ZmanimUtils","getZmanTimes","zmanTypes","mem","zmanTimesCache","z","zmanTimes","whichDay","getWhichDays","suntimesMishor","sunriseMishor","sunsetMishor","mishorNeg90","chatzos","shaaZmanis","shaaZmanisMga","suntimes","zmanType","whichDaysFlags","getBasicShulZmanim","chatzosHayom","chatzosHalayla","alos","getAllZmanim","ZmanimUtils","dayNotes","tefillahNotes","showEnglish","dayInfo","showGaonShirShelYom","getNotifications","english","showGaonShir","showDafYomi","isAfterChatzosHayom","isAfterChatzosHalayla","isAfterAlos","isAfterShkia","isDaytime","isNightTime","isNotBeinHasmashos","isMorning","isAfternoon","noTachnun","getShabbosNotifications","getWeekDayNotifications","getAroundTheYearNotifications","addTefillahNote","addDayNote","dayOfSefirah","Set","sedra","nextMonth","hasOwnKriyasHatorah","noLaminatzeach","showVsainTalUmatarInChul","startVsainTalUmatar","startedSelichos","daysToRH","dowRH","isYerushalayim","englishOrDefaultText","hebrewText","note"],"mappings":"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A;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIC,iBAAiB,SAACpF;IACpB,IAAIqF,cAAc;IAClB,IAAMC,SAAS1C,MAAMC,KAAK,CACxB,MAAMD,MAAMC,KAAK,CAAC,AAAC7C,CAAAA,OAAO,CAAA,IAAK,MAAM,yBAAyB;IAC9D,KAAM,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,EAAC,IAAK,AACzB,gCADyD;IACxD,CAAA,IAAK,CAAA,AAACA,CAAAA,OAAO,CAAA,IAAK,EAAC,IAAK,CAAA,IAA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","sourcesContent":["// src/JCal/Sedra.ts\nvar _Sedra = class _Sedra {\n /**\n * @param {jDate} jd\n * @param {boolean} israel\n */\n constructor(jd, israel2) {\n if (jd.Month === 7 && jd.Day >= 15 && jd.Day < (israel2 ? 23 : 24)) {\n this.sedras = [_Sedra.sedraList[53]];\n return;\n }\n let sedraArray = [], sedraOrder = _Sedra.getSedraOrder(jd.Year, israel2), absDate = jd.Abs, index, weekNum;\n absDate = _Sedra.getDayOnOrBefore(6, absDate + 6);\n weekNum = (absDate - sedraOrder.firstSatInYear) / 7;\n if (sedraOrder.sedraArray && weekNum >= sedraOrder.sedraArray.length) {\n const indexLast = sedraOrder.sedraArray[sedraOrder.sedraArray.length - 1];\n if (indexLast < 0) {\n index = -indexLast + 2;\n } else {\n index = indexLast + 1;\n }\n } else {\n index = sedraOrder.sedraArray ? sedraOrder.sedraArray[weekNum] : -1;\n }\n if (index >= 0) {\n sedraArray = [_Sedra.sedraList[index]];\n } else {\n const i = -index;\n sedraArray = [_Sedra.sedraList[i], _Sedra.sedraList[i + 1]];\n }\n this.sedras = sedraArray;\n }\n /**\n * Gets the sedra/s as a string. If there are two, they are seperated by a \" - \"\n */\n toString() {\n return this.sedras.length > 0 && this.sedras.map((s) => s.eng).join(\" - \");\n }\n /**\n * Gets the sedra/s as a string. If there are two, they are seperated by a \" - \"\n */\n toStringHeb() {\n return this.sedras.length > 0 && this.sedras.map((s) => s.heb).join(\" - \");\n }\n static getDayOnOrBefore(day_of_week, date) {\n return date - (date - day_of_week) % 7;\n }\n static getSedraOrder(year, israel2) {\n if (_Sedra.lastCalculatedYear != null && _Sedra.lastCalculatedYear.year === year && _Sedra.lastCalculatedYear.israel === israel2) {\n return _Sedra.lastCalculatedYear;\n }\n const longCheshvon = jDate.isLongCheshvan(year), shortKislev = jDate.isShortKislev(year), roshHashana = jDate.absJd(year, 7, 1), roshHashanaDOW = Math.abs(roshHashana % 7), firstSatInYear = _Sedra.getDayOnOrBefore(6, roshHashana + 6);\n let yearType, sArray;\n if (longCheshvon && !shortKislev)\n yearType = \"complete\";\n else if (!longCheshvon && shortKislev)\n yearType = \"incomplete\";\n else\n yearType = \"regular\";\n if (!jDate.isJdLeapY(year)) {\n switch (roshHashanaDOW) {\n case 6:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.shabbos_short;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.shabbos_long;\n }\n break;\n case 1:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.mon_short;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.mon_short : _Sedra.mon_long;\n }\n break;\n case 2:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.mon_short : _Sedra.mon_long;\n }\n break;\n case 4:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.thu_normal_Israel : _Sedra.thu_normal;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.thu_long;\n }\n break;\n default:\n throw \"improper sedra year type calculated.\";\n }\n } else {\n switch (roshHashanaDOW) {\n case 6:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.shabbos_short_leap;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.shabbos_short_leap : _Sedra.shabbos_long_leap;\n }\n break;\n case 1:\n if (yearType === \"incomplete\") {\n sArray = israel2 ? _Sedra.mon_short_leap_Israel : _Sedra.mon_short_leap;\n } else if (yearType === \"complete\") {\n sArray = israel2 ? _Sedra.mon_long_leap_Israel : _Sedra.mon_long_leap;\n }\n break;\n case 2:\n if (yearType === \"regular\") {\n sArray = israel2 ? _Sedra.mon_long_leap_Israel : _Sedra.mon_long_leap;\n }\n break;\n case 4:\n if (yearType === \"incomplete\") {\n sArray = _Sedra.thu_short_leap;\n } else if (yearType === \"complete\") {\n sArray = _Sedra.thu_long_leap;\n }\n break;\n default:\n throw \"improper sedra year type calculated.\";\n }\n }\n const retobj = {\n firstSatInYear,\n sedraArray: sArray,\n year,\n israel: israel2\n };\n _Sedra.lastCalculatedYear = retobj;\n return retobj;\n }\n};\n_Sedra.lastCalculatedYear = null;\n_Sedra.sedraList = [{ eng: \"Bereshis\", heb: \"\\u05D1\\u05E8\\u05D0\\u05E9\\u05D9\\u05EA\" }, { eng: \"Noach\", heb: \"\\u05E0\\u05D7\" }, { eng: \"Lech-Lecha\", heb: \"\\u05DC\\u05DA \\u05DC\\u05DA\" }, { eng: \"Vayera\", heb: \"\\u05D5\\u05D9\\u05E8\\u05D0\" }, { eng: \"Chayei Sara\", heb: \"\\u05D7\\u05D9\\u05D9 \\u05E9\\u05E8\\u05D4\" }, { eng: \"Toldos\", heb: \"\\u05EA\\u05D5\\u05DC\\u05D3\\u05D5\\u05EA\" }, { eng: \"Vayetzei\", heb: \"\\u05D5\\u05D9\\u05E6\\u05D0\" }, { eng: \"Vayishlach\", heb: \"\\u05D5\\u05D9\\u05E9\\u05DC\\u05D7\" }, { eng: \"Vayeishev\", heb: \"\\u05D5\\u05D9\\u05E9\\u05D1\" }, { eng: \"Mikeitz\", heb: \"\\u05DE\\u05E7\\u05E5\" }, { eng: \"Vayigash\", heb: \"\\u05D5\\u05D9\\u05D2\\u05E9\" }, { eng: \"Vayechi\", heb: \"\\u05D5\\u05D9\\u05D7\\u05D9\" }, { eng: \"Shemos\", heb: \"\\u05E9\\u05DE\\u05D5\\u05EA\" }, { eng: \"Va'era\", heb: \"\\u05D5\\u05D0\\u05E8\\u05D0\" }, { eng: \"Bo\", heb: \"\\u05D1\\u05D0\" }, { eng: \"Beshalach\", heb: \"\\u05D1\\u05E9\\u05DC\\u05D7\" }, { eng: \"Yisro\", heb: \"\\u05D9\\u05EA\\u05E8\\u05D5\" }, { eng: \"Mishpatim\", heb: \"\\u05DE\\u05E9\\u05E4\\u05D8\\u05D9\\u05DD\" }, { eng: \"Terumah\", heb: \"\\u05EA\\u05E8\\u05D5\\u05DE\\u05D4\" }, { eng: \"Tetzaveh\", heb: \"\\u05EA\\u05E6\\u05D5\\u05D4\" }, { eng: \"Ki Sisa\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05E9\\u05D0\" }, { eng: \"Vayakhel\", heb: \"\\u05D5\\u05D9\\u05E7\\u05D4\\u05DC\" }, { eng: \"Pekudei\", heb: \"\\u05E4\\u05E7\\u05D5\\u05D3\\u05D9\" }, { eng: \"Vayikra\", heb: \"\\u05D5\\u05D9\\u05E7\\u05E8\\u05D0\" }, { eng: \"Tzav\", heb: \"\\u05E6\\u05D5\" }, { eng: \"Shmini\", heb: \"\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9\" }, { eng: \"Tazria\", heb: \"\\u05EA\\u05D6\\u05E8\\u05D9\\u05E2\" }, { eng: \"Metzora\", heb: \"\\u05DE\\u05E6\\u05D5\\u05E8\\u05E2\" }, { eng: \"Achrei Mos\", heb: \"\\u05D0\\u05D7\\u05E8\\u05D9 \\u05DE\\u05D5\\u05EA\" }, { eng: \"Kedoshim\", heb: \"\\u05E7\\u05D3\\u05D5\\u05E9\\u05D9\\u05DD\" }, { eng: \"Emor\", heb: \"\\u05D0\\u05DE\\u05D5\\u05E8\" }, { eng: \"Behar\", heb: \"\\u05D1\\u05D4\\u05E8\" }, { eng: \"Bechukosai\", heb: \"\\u05D1\\u05D7\\u05E7\\u05D5\\u05EA\\u05D9\" }, { eng: \"Bamidbar\", heb: \"\\u05D1\\u05DE\\u05D3\\u05D1\\u05E8\" }, { eng: \"Nasso\", heb: \"\\u05E0\\u05E9\\u05D0\" }, { eng: \"Beha'aloscha\", heb: \"\\u05D1\\u05D4\\u05E2\\u05DC\\u05EA\\u05DA\" }, { eng: \"Sh'lach\", heb: \"\\u05E9\\u05DC\\u05D7\" }, { eng: \"Korach\", heb: \"\\u05E7\\u05E8\\u05D7\" }, { eng: \"Chukas\", heb: \"\\u05D7\\u05E7\\u05EA\" }, { eng: \"Balak\", heb: \"\\u05D1\\u05DC\\u05E7\" }, { eng: \"Pinchas\", heb: \"\\u05E4\\u05D9\\u05E0\\u05D7\\u05E1\" }, { eng: \"Matos\", heb: \"\\u05DE\\u05D8\\u05D5\\u05EA\" }, { eng: \"Masei\", heb: \"\\u05DE\\u05E1\\u05E2\\u05D9\" }, { eng: \"Devarim\", heb: \"\\u05D3\\u05D1\\u05E8\\u05D9\\u05DD\" }, { eng: \"Va'eschanan\", heb: \"\\u05D5\\u05D0\\u05EA\\u05D7\\u05E0\\u05DF\" }, { eng: \"Eikev\", heb: \"\\u05E2\\u05E7\\u05D1\" }, { eng: \"Re'eh\", heb: \"\\u05E8\\u05D0\\u05D4\" }, { eng: \"Shoftim\", heb: \"\\u05E9\\u05D5\\u05E4\\u05D8\\u05D9\\u05DD\" }, { eng: \"Ki Seitzei\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05E6\\u05D0\" }, { eng: \"Ki Savo\", heb: \"\\u05DB\\u05D9 \\u05EA\\u05D1\\u05D0\" }, { eng: \"Nitzavim\", heb: \"\\u05E0\\u05E6\\u05D1\\u05D9\\u05DD\" }, { eng: \"Vayeilech\", heb: \"\\u05D5\\u05D9\\u05DC\\u05DA\" }, { eng: \"Ha'Azinu\", heb: \"\\u05D4\\u05D0\\u05D6\\u05D9\\u05E0\\u05D5\" }, { eng: \"Vezos Habracha\", heb: \"\\u05D5\\u05D6\\u05D0\\u05EA \\u05D4\\u05D1\\u05E8\\u05DB\\u05D4\" }];\n_Sedra.shabbos_short = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.shabbos_long = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_long = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.thu_normal = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_normal_Israel = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, -21, 23, 24, 25, 25, -26, -28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_long = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, -26, -28, 30, -31, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.shabbos_short_leap = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.shabbos_long_leap = [52, 52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short_leap = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 34, 35, 36, 37, -38, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_short_leap_Israel = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, -50];\n_Sedra.mon_long_leap = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -41, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.mon_long_leap_Israel = [51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_short_leap = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50];\n_Sedra.thu_long_leap = [52, 53, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, -50];\nvar Sedra = _Sedra;\n\n// src/JCal/PirkeiAvos.ts\nvar _PirkeiAvos = class _PirkeiAvos {\n static getPrakim(jd, israel2) {\n if (jd.getDayOfWeek() !== 6) {\n return [];\n }\n const jMonth = jd.Month, jDay = jd.Day;\n if (jMonth === 1 && jDay > (israel2 ? 21 : 22) || //All Shabbosim through Iyar, Sivan, Tamuz, Av - besides for the day/s of Shavuos and Tisha B'Av\n jMonth > 1 && jMonth < 6 && !(jMonth === 3 && jDay === 6 || !israel2 && jMonth === 3 && jDay === 7) && !(jMonth === 5 && jDay === 9)) {\n return [_PirkeiAvos._get1stPerek(jd, israel2)];\n } else if (jMonth === 6) {\n return _PirkeiAvos._ellul(jd, israel2);\n } else {\n return [];\n }\n }\n};\n_PirkeiAvos._get1stPerek = function(jd, israel2) {\n const jYear = jd.Year, jMonth = jd.Month, jDay = jd.Day, pes1 = new jDate(jYear, 1, 15), shb1 = (israel2 ? 7 : 8) + (6 - pes1.getDayOfWeek()), cShb = jMonth === 1 && jDay === shb1 + 15 ? 1 : Utils.toInt((jd.Abs - (pes1.Abs + shb1)) / 7) + 1;\n let prk = cShb % 6;\n if (prk === 0) prk = 6;\n if (!israel2 && pes1.getDayOfWeek() === 4 && (jMonth > 3 || jMonth === 3 && jDay > 6)) {\n prk = prk === 1 ? 6 : prk - 1;\n }\n if (pes1.getDayOfWeek() === 6 && (jMonth > 5 || jMonth === 5 && jDay > 9)) {\n prk = prk === 1 ? 6 : prk - 1;\n }\n return prk;\n};\n_PirkeiAvos._ellul = function(jd, israel2) {\n let prakim;\n const jYear = jd.Year, jDay = jd.Day, day1 = new jDate(jYear, 6, 1, jd.Abs - jd.Day + 1), day1DOW = day1.getDayOfWeek(), shabbos1Day = day1DOW === 6 ? 1 : 6 - (day1DOW + 6) % 6 + 1, shabbos1Date = new jDate(jYear, 6, shabbos1Day, day1.Abs + shabbos1Day - 1), cShb = jDay === shabbos1Day ? 1 : Utils.toInt((jDay - shabbos1Day) / 7) + 1;\n switch (_PirkeiAvos._get1stPerek(shabbos1Date, israel2)) {\n case 1:\n switch (cShb) {\n case 1:\n prakim = [1];\n break;\n case 2:\n prakim = [2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 2:\n switch (cShb) {\n case 1:\n prakim = [2];\n break;\n case 2:\n prakim = [3];\n break;\n case 3:\n prakim = [4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 3:\n switch (cShb) {\n case 1:\n prakim = [3];\n break;\n case 2:\n prakim = [4];\n break;\n case 3:\n prakim = [5];\n break;\n case 4:\n prakim = [6];\n break;\n }\n break;\n case 4:\n switch (cShb) {\n case 1:\n prakim = [4, 5];\n break;\n case 2:\n prakim = [6, 1];\n break;\n case 3:\n prakim = [2, 3];\n break;\n case 4:\n prakim = [4, 5, 6];\n break;\n }\n break;\n case 5:\n switch (cShb) {\n case 1:\n prakim = [5, 6];\n break;\n case 2:\n prakim = [1, 2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n case 6:\n switch (cShb) {\n case 1:\n prakim = [6];\n break;\n case 2:\n prakim = [1, 2];\n break;\n case 3:\n prakim = [3, 4];\n break;\n case 4:\n prakim = [5, 6];\n break;\n }\n break;\n }\n return prakim || [];\n};\nvar PirkeiAvos = _PirkeiAvos;\n\n// src/JCal/Dafyomi.ts\nvar _Dafyomi = class _Dafyomi {\n static getDaf(jdate) {\n const absoluteDate = jdate.Abs;\n let dafcnt = 40, cno, dno, osday, nsday, total, count, j, blatt;\n osday = jDate.absSd(new Date(1923, 8, 11));\n nsday = jDate.absSd(new Date(1975, 5, 24));\n if (absoluteDate < osday)\n return null;\n if (absoluteDate >= nsday) {\n cno = 8 + Utils.toInt((absoluteDate - nsday) / 2711);\n dno = (absoluteDate - nsday) % 2711;\n } else {\n cno = 1 + Utils.toInt((absoluteDate - osday) / 2702);\n dno = Utils.toInt((absoluteDate - osday) / 2702);\n }\n total = blatt = 0;\n count = -1;\n if (cno <= 7)\n _Dafyomi.masechtaList[4].daf = 13;\n else\n _Dafyomi.masechtaList[4].daf = 22;\n j = 0;\n while (j < dafcnt) {\n count++;\n total = total + _Dafyomi.masechtaList[j].daf - 1;\n if (dno < total) {\n blatt = _Dafyomi.masechtaList[j].daf + 1 - (total - dno);\n switch (count) {\n case 36:\n blatt = blatt + 21;\n break;\n case 37:\n blatt = blatt + 24;\n break;\n case 38:\n blatt = blatt + 33;\n break;\n default:\n break;\n }\n j = 1 + dafcnt;\n }\n j++;\n }\n return {\n masechet: _Dafyomi.masechtaList[count],\n daf: blatt\n };\n }\n // Returns the name of the Masechta and daf number in English, For example: Sukkah, Daf 3\n static toString(jd) {\n const d = _Dafyomi.getDaf(jd);\n if (d !== null) {\n return d.masechet.eng + \", Daf \" + d.daf.toString();\n }\n }\n //Returns the name of the Masechta and daf number in Hebrew. For example: 'סוכה דף כ.\n static toStringHeb(jd) {\n const d = _Dafyomi.getDaf(jd);\n if (d !== null) {\n return d.masechet.heb + \" \\u05D3\\u05E3 \" + Utils.toJewishNumber(d.daf);\n }\n }\n};\n_Dafyomi.masechtaList = [\n { eng: \"Berachos\", heb: \"\\u05D1\\u05E8\\u05DB\\u05D5\\u05EA\", daf: 64 },\n { eng: \"Shabbos\", heb: \"\\u05E9\\u05D1\\u05EA\", daf: 157 },\n { eng: \"Eruvin\", heb: \"\\u05E2\\u05E8\\u05D5\\u05D1\\u05D9\\u05DF\", daf: 105 },\n { eng: \"Pesachim\", heb: \"\\u05E4\\u05E1\\u05D7\\u05D9\\u05DD\", daf: 121 },\n { eng: \"Shekalim\", heb: \"\\u05E9\\u05E7\\u05DC\\u05D9\\u05DD\", daf: 22 },\n { eng: \"Yoma\", heb: \"\\u05D9\\u05D5\\u05DE\\u05D0\", daf: 88 },\n { eng: \"Sukkah\", heb: \"\\u05E1\\u05D5\\u05DB\\u05D4\", daf: 56 },\n { eng: \"Beitzah\", heb: \"\\u05D1\\u05D9\\u05E6\\u05D4\", daf: 40 },\n { eng: \"Rosh Hashana\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\", daf: 35 },\n { eng: \"Taanis\", heb: \"\\u05EA\\u05E2\\u05E0\\u05D9\\u05EA\", daf: 31 },\n { eng: \"Megillah\", heb: \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05D4\", daf: 32 },\n { eng: \"Moed Katan\", heb: \"\\u05DE\\u05D5\\u05E2\\u05D3 \\u05E7\\u05D8\\u05DF\", daf: 29 },\n { eng: \"Chagigah\", heb: \"\\u05D7\\u05D2\\u05D9\\u05D2\\u05D4\", daf: 27 },\n { eng: \"Yevamos\", heb: \"\\u05D9\\u05D1\\u05DE\\u05D5\\u05EA\", daf: 122 },\n { eng: \"Kesubos\", heb: \"\\u05DB\\u05EA\\u05D5\\u05D1\\u05D5\\u05EA\", daf: 112 },\n { eng: \"Nedarim\", heb: \"\\u05E0\\u05D3\\u05E8\\u05D9\\u05DD\", daf: 91 },\n { eng: \"Nazir\", heb: \"\\u05E0\\u05D6\\u05D9\\u05E8\", daf: 66 },\n { eng: \"Sotah\", heb: \"\\u05E1\\u05D5\\u05D8\\u05D4\", daf: 49 },\n { eng: \"Gitin\", heb: \"\\u05D2\\u05D9\\u05D8\\u05D9\\u05DF\", daf: 90 },\n { eng: \"Kiddushin\", heb: \"\\u05E7\\u05D3\\u05D5\\u05E9\\u05D9\\u05DF\", daf: 82 },\n { eng: \"Baba Kamma\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05E7\\u05DE\\u05D0\", daf: 119 },\n { eng: \"Baba Metzia\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05DE\\u05E6\\u05D9\\u05E2\\u05D0\", daf: 119 },\n { eng: \"Baba Basra\", heb: \"\\u05D1\\u05D1\\u05D0 \\u05D1\\u05EA\\u05E8\\u05D0\", daf: 176 },\n { eng: \"Sanhedrin\", heb: \"\\u05E1\\u05E0\\u05D4\\u05D3\\u05E8\\u05D9\\u05DF\", daf: 113 },\n { eng: \"Makkot\", heb: \"\\u05DE\\u05DB\\u05D5\\u05EA\", daf: 24 },\n { eng: \"Shevuot\", heb: \"\\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\", daf: 49 },\n { eng: \"Avodah Zarah\", heb: \"\\u05E2\\u05D1\\u05D5\\u05D3\\u05D4 \\u05D6\\u05E8\\u05D4\", daf: 76 },\n { eng: \"Horayot\", heb: \"\\u05D4\\u05D5\\u05E8\\u05D9\\u05D5\\u05EA\", daf: 14 },\n { eng: \"Zevachim\", heb: \"\\u05D6\\u05D1\\u05D7\\u05D9\\u05DD\", daf: 120 },\n { eng: \"Menachos\", heb: \"\\u05DE\\u05E0\\u05D7\\u05D5\\u05EA\", daf: 110 },\n { eng: \"Chullin\", heb: \"\\u05D7\\u05D5\\u05DC\\u05D9\\u05DF\", daf: 142 },\n { eng: \"Bechoros\", heb: \"\\u05D1\\u05DB\\u05D5\\u05E8\\u05D5\\u05EA\", daf: 61 },\n { eng: \"Arachin\", heb: \"\\u05E2\\u05E8\\u05DB\\u05D9\\u05DF\", daf: 34 },\n { eng: \"Temurah\", heb: \"\\u05EA\\u05DE\\u05D5\\u05E8\\u05D4\", daf: 34 },\n { eng: \"Kerisos\", heb: \"\\u05DB\\u05E8\\u05D9\\u05EA\\u05D5\\u05EA\", daf: 28 },\n { eng: \"Meilah\", heb: \"\\u05DE\\u05E2\\u05D9\\u05DC\\u05D4\", daf: 22 },\n { eng: \"Kinnim\", heb: \"\\u05E7\\u05E0\\u05D9\\u05DD\", daf: 4 },\n { eng: \"Tamid\", heb: \"\\u05EA\\u05DE\\u05D9\\u05D3\", daf: 10 },\n { eng: \"Midos\", heb: \"\\u05DE\\u05D3\\u05D5\\u05EA\", daf: 4 },\n { eng: \"Niddah\", heb: \"\\u05E0\\u05D3\\u05D4\", daf: 73 }\n];\nvar Dafyomi = _Dafyomi;\n\n// src/JCal/jDate.ts\nvar JS_START_DATE_ABS = 719163;\nvar MS_PER_DAY = 864e5;\nvar JS_START_OFFSET = (/* @__PURE__ */ new Date(0)).getTimezoneOffset();\nvar yearTypes = [\n { isLeapYear: false, dow: 5, isLongCheshvan: false, isLongKislev: true, daysInYear: 354 },\n { isLeapYear: false, dow: 7, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: false, dow: 2, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: false, dow: 3, isLongCheshvan: false, isLongKislev: true, daysInYear: 354 },\n { isLeapYear: false, dow: 7, isLongCheshvan: false, isLongKislev: false, daysInYear: 353 },\n { isLeapYear: false, dow: 2, isLongCheshvan: false, isLongKislev: false, daysInYear: 353 },\n { isLeapYear: false, dow: 5, isLongCheshvan: true, isLongKislev: true, daysInYear: 355 },\n { isLeapYear: true, dow: 5, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 2, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 5, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 7, isLongCheshvan: false, isLongKislev: false, daysInYear: 383 },\n { isLeapYear: true, dow: 2, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 7, isLongCheshvan: true, isLongKislev: true, daysInYear: 385 },\n { isLeapYear: true, dow: 3, isLongCheshvan: false, isLongKislev: true, daysInYear: 384 }\n];\nvar yearTypeList = [\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 0,\n 7,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 8,\n 1,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 7,\n 4,\n 1,\n 13,\n 1,\n 4,\n 13,\n 1,\n 7,\n 4,\n 0,\n 7,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 0,\n 7,\n 1,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7,\n 4,\n 7,\n 0,\n 1,\n 8,\n 0,\n 1,\n 8,\n 1,\n 0,\n 7,\n 4,\n 13,\n 1,\n 1,\n 8,\n 0,\n 1,\n 7,\n 0,\n 8,\n 1,\n 0,\n 8,\n 1,\n 0,\n 7\n];\nvar getElapsedDays = (year) => {\n let daysCounter = 0;\n const months = Utils.toInt(\n 235 * Utils.toInt((year - 1) / 19) + // Leap months this cycle\n 12 * ((year - 1) % 19) + // Regular months in this cycle.\n (7 * ((year - 1) % 19) + 1) / 19\n ), parts = 204 + 793 * (months % 1080), hours = 5 + 12 * months + 793 * Utils.toInt(months / 1080) + Utils.toInt(parts / 1080), conjDay = Utils.toInt(1 + 29 * months + hours / 24), conjParts = 1080 * (hours % 24) + parts % 1080;\n if (conjParts >= 19440 || conjDay % 7 === 2 && conjParts >= 9924 && !jDate.isJdLeapY(year) || conjDay % 7 === 1 && conjParts >= 16789 && jDate.isJdLeapY(year - 1)) {\n daysCounter = conjDay + 1;\n } else {\n daysCounter = conjDay;\n }\n if (Utils.has(daysCounter % 7, 0, 3, 5)) {\n daysCounter += 1;\n }\n return daysCounter;\n};\nvar _jDate = class _jDate {\n /**\n * Create a new Jdate.\n * new jDate() - Sets the Jewish Date for the current system date\n * new jDate(javascriptDateObject) - Sets to the Jewish date on the given Gregorian date\n * new jDate(\"January 1 2045\") - Accepts any valid javascript Date string (uses javascripts new Date(string))\n * new jDate(jewishYear, jewishMonth, jewishDay) - Months start at 1. Nissan is month 1 Adar Sheini is 13.\n * new jDate(jewishYear, jewishMonth) - Same as above, with Day defaulting to 1\n * new jDate( { year: 5776, month: 4, day: 5 } ) - same as new jDate(jewishYear, jewishMonth, jewishDay)\n * new jDate( { year: 5776, month: 4 } ) - same as new jDate(jewishYear, jewishMonth)\n * new jDate( { year: 5776 } ) - sets to the first day of Rosh Hashana on the given year\n * new jDate(absoluteDate) - The number of days elapsed since the theoretical date Sunday, December 31, 0001 BCE\n * new jDate(jewishYear, jewishMonth, jewishDay, absoluteDate) - Most efficient constructor. Needs no calculations at all.\n * new jDate( { year: 5776, month: 4, day: 5, abs: 122548708 } ) - same as new jDate(jewishYear, jewishMonth, jewishDay, absoluteDate)\n * @param {number | Date | string | {year:number,month:number,day:number} | [number, number, number, number]} [arg] The full Jewish year number OR Javascript Date object or string OR object or array of year, month, day\n * @param {number} [month] The month of the Jewish date. Nissan is 1.\n * @param {number} [day] The day of the month\n * @param {number} [abs] The number of days that have passed since 12/31/0001\n */\n constructor(arg, month, day, abs) {\n this.Day = NaN;\n this.Month = NaN;\n this.Year = NaN;\n this.Abs = NaN;\n if (arguments.length === 0) {\n this.fromAbs(_jDate.absSd(/* @__PURE__ */ new Date()));\n } else if (arg instanceof Date) {\n if (Utils.isValidDate(arg)) {\n this.fromAbs(_jDate.absSd(arg));\n } else {\n throw \"jDate constructor: The given Date is not a valid javascript Date\";\n }\n } else if (Array.isArray(arg) && arg.length >= 3) {\n this.Day = arg[0];\n this.Month = arg[1];\n this.Year = arg[2];\n this.Abs = arg.length > 3 && arg[3] || _jDate.absJd(this.Year, this.Month, this.Day);\n } else if (arg && Utils.isString(arg)) {\n const d = new Date(arg);\n if (Utils.isValidDate(d)) {\n this.fromAbs(_jDate.absSd(d));\n } else {\n throw 'jDate constructor: The given string \"' + arg + '\" cannot be parsed into a Date';\n }\n } else if (Utils.isNumber(arg)) {\n if (arguments.length === 1) {\n this.fromAbs(arg);\n } else {\n this.Year = arg;\n this.Month = month || 7;\n this.Day = day || 1;\n this.Abs = abs || _jDate.absJd(this.Year, this.Month, this.Day);\n }\n } else if (typeof arg === \"object\") {\n const argObj = arg;\n if (Utils.isNumber(argObj.year)) {\n this.Day = argObj.day || 1;\n this.Month = argObj.month || 7;\n this.Year = argObj.year;\n this.Abs = argObj.abs || _jDate.absJd(this.Year, this.Month, this.Day);\n }\n }\n }\n /**Sets the current Jewish date from the given absolute date*/\n fromAbs(absolute) {\n const ymd = _jDate.fromAbs(absolute);\n this.Year = ymd.year;\n this.Month = ymd.month;\n this.Day = ymd.day;\n this.Abs = absolute;\n }\n /**Returns a valid javascript Date object that represents the Gregorian date\n that starts at midnight of the current Jewish date.*/\n getDate() {\n return _jDate.sdFromAbs(this.Abs);\n }\n /**\n * @returns {number} The day of the week for the current Jewish date. Sunday is 0 and Shabbos is 6.\n */\n getDayOfWeek() {\n return Math.abs(this.Abs % 7);\n }\n /**\n * @returns {number} The day of the week for the current Jewish date. Sunday is 0 and Shabbos is 6\n */\n get DayOfWeek() {\n return this.getDayOfWeek();\n }\n /**Returns a new Jewish date represented by adding the given number of days to the current Jewish date.*/\n addDays(days) {\n return new _jDate(this.Abs + days);\n }\n /**\n * Returns a new Jewish date represented by adding the given number of\n * Jewish Months to the current Jewish date.\n * If the current Day is 30 and the new month only has 29 days,\n * the 29th day of the month is returned.\n * @param {number} months\n */\n addMonths(months) {\n let year = this.Year, month = this.Month, day = this.Day, miy = _jDate.monthsJYear(year);\n for (let i = 0; i < Math.abs(months); i++) {\n if (months > 0) {\n month += 1;\n if (month > miy) {\n month = 1;\n }\n if (month === 7) {\n year += 1;\n miy = _jDate.monthsJYear(year);\n }\n } else if (months < 0) {\n month -= 1;\n if (month === 0) {\n month = miy;\n }\n if (month === 6) {\n year -= 1;\n miy = _jDate.monthsJYear(year);\n }\n }\n }\n if (day === 30 && _jDate.daysJMonth(year, month) === 29) {\n day = 29;\n }\n return new _jDate(year, month, day);\n }\n /**\n * Returns a new Jewish date represented by adding the\n * given number of Jewish Years to the current Jewish date.\n * If the current Day is 30 and the new dates month only has 29 days,\n * the 29th day of the month is returned.\n * @param {number} years\n */\n addYears(years) {\n let year = this.Year + years, month = this.Month, day = this.Day;\n if (month === 13 && !_jDate.isJdLeapY(year)) {\n month = 12;\n } else if (month === 8 && day === 30 && !_jDate.isLongCheshvan(year)) {\n month = 9;\n day = 1;\n } else if (month === 9 && day === 30 && _jDate.isShortKislev(year)) {\n month = 10;\n day = 1;\n }\n if (day === 30 && _jDate.daysJMonth(year, month) === 29) {\n day = 29;\n }\n return new _jDate(year, month, day);\n }\n addSecularMonths(months) {\n const secDate = new Date(this.getDate().valueOf());\n secDate.setMonth(secDate.getMonth() + months);\n return new _jDate(secDate);\n }\n addSecularYears(years) {\n const secDate = new Date(this.getDate().valueOf());\n secDate.setFullYear(secDate.getFullYear() + years);\n return new _jDate(secDate);\n }\n /**Gets the number of days separating this Jewish Date and the given one.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffDays(jd) {\n return jd.Abs - this.Abs;\n }\n /**Gets the number of months separating this Jewish Date and the given one.\n *\n * Ignores the Day property:\n *\n * jDate.toJDate(5777, 6, 29).diffMonths(jDate.toJDate(5778, 7, 1)) will return 1 even though they are a day apart.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffMonths(jd) {\n let month = jd.Month, year = jd.Year, months = 0;\n while (!(year === this.Year && month === this.Month)) {\n if (this.Abs > jd.Abs) {\n months--;\n month++;\n if (month > _jDate.monthsJYear(year)) {\n month = 1;\n } else if (month === 7) {\n year++;\n }\n } else {\n months++;\n month--;\n if (month < 1) {\n month = _jDate.monthsJYear(year);\n } else if (month === 6) {\n year--;\n }\n }\n }\n return months;\n }\n /**Gets the number of full months separating this Jewish Date and the given one.\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd\n * */\n diffFullMonths(jd) {\n let months = this.diffMonths(jd);\n if (months >= 0 && this.Day > jd.Day) {\n months--;\n } else if (months < 0 && this.Day < jd.Day) {\n months++;\n }\n return months;\n }\n /**Gets the number of years separating this Jewish Date and the given one.\n *\n * Ignores the Day and Month properties:\n *\n * jDate.toJDate(5777, 6, 29).diffYears(jDate.toJDate(5778, 7, 1)) will return 1 even though they are a day apart.\n *\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd*/\n diffYears(jd) {\n let diff = jd.Year - this.Year;\n if (this.Month < jd.Month || this.Month === jd.Month && this.Day < jd.Day) {\n diff--;\n }\n return diff;\n }\n /**Gets the number of full years separating this Jewish Date and the given one.\n * If the given date is before this one, the number will be negative.\n * @param {jDate} jd*/\n diffFullYears(jd) {\n let diff = jd.Year - this.Year;\n if (diff >= 0 && (this.Month > jd.Month || this.Month === jd.Month && this.Day > jd.Day)) {\n diff--;\n } else if (diff < 0 && (this.Month < jd.Month || this.Month === jd.Month && this.Day < jd.Day)) {\n diff++;\n }\n return diff;\n }\n /**\n * Returns the current Jewish date in the format: Thursday, the 3rd of Kislev 5776.\n * @param {boolean} hideDayOfWeek\n * @param {boolean} dontCapitalize\n */\n toString(hideDayOfWeek, dontCapitalize) {\n return (hideDayOfWeek ? dontCapitalize ? \"t\" : \"T\" : DaysOfWeekEng[this.getDayOfWeek()] + \", t\") + \"he \" + Utils.toSuffixed(this.Day) + \" of \" + this.monthName();\n }\n /**\n * Returns the current Jewish date in the format \"[Tuesday] Nissan 3, 5778\"\n * @param {boolean} showDow - show day of week?\n */\n toShortstring(showDow) {\n return (showDow ? DaysOfWeekEng[this.getDayOfWeek()] + \" \" : \"\") + JewishMonthsEng[this.Month] + \" \" + this.Day.toString() + \", \" + this.Year.toString();\n }\n /**\n * Returns the current Jewish date in the format \"Nissan 5778\"\n * @param {boolean} showYear - show the year number?\n */\n monthName(showYear = true) {\n return JewishMonthsEng[this.Month] + (this.Month === 12 && _jDate.isJdLeapY(this.Year) ? \" Rishon \" : \" \") + (showYear ? this.Year.toString() : \"\");\n }\n /**\n * Returns the current Jewish date in the format: יום חמישי כ\"א כסלו תשע\"ו\n * @param hideDayOfWeek When set to truthy, hides the day of the week\n */\n toStringHeb(hideDayOfWeek) {\n return (!hideDayOfWeek ? DaysOfWeekHeb[this.getDayOfWeek()] + \" \" : \"\") + Utils.toJewishNumber(this.Day) + \" \" + JewishMonthsHeb[this.Month] + (this.Month === 12 && _jDate.isJdLeapY(this.Year) ? \" \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \" : \" \") + Utils.toJewishNumber(this.Year % 1e3);\n }\n /**Gets the day of the omer for the current Jewish date. If the date is not during sefira, 0 is returned.*/\n getDayOfOmer() {\n let dayOfOmer = 0;\n if (this.Month === 1 && this.Day > 15 || this.Month === 2 || this.Month === 3 && this.Day < 6) {\n const first = new _jDate(this.Year, 1, 15);\n dayOfOmer = first.diffDays(this);\n }\n return dayOfOmer;\n }\n /**\n * Returns true if this day is yomtov or chol hamoed\n * @param {boolean} israel\n */\n isYomTovOrCholHamoed(israel2) {\n return this.isYomTov(israel2) || this.Month === 1 && [16, 17, 18, 19, 20].includes(this.Day) || this.Month === 7 && [16, 17, 18, 19, 20, 21].includes(this.Day);\n }\n /**\n * Returns true if this day is yomtov\n * @param {boolean} israel\n */\n isYomTov(israel2) {\n const day = this.Day;\n switch (this.Month) {\n case 1:\n if (day === 15 || day === 21) return true;\n if (!israel2 && (day === 16 || day === 22)) return true;\n break;\n case 3:\n if (day === 6 || !israel2 && day === 7) return true;\n break;\n case 7:\n if ([1, 2, 10, 15, 22].includes(day)) {\n return true;\n }\n if (!israel2 && (day === 16 || day === 23)) return true;\n break;\n }\n return false;\n }\n /**Is today Erev Yom Tov? (includes Erev second days of Sukkos and Pesach) */\n isErevYomTov() {\n return this.Month === 1 && Utils.has(this.Day, 14, 20) || this.Month === 3 && this.Day === 5 || this.Month === 6 && this.Day === 29 || this.Month === 7 && Utils.has(this.Day, 9, 14, 21);\n }\n /**Does the current Jewish date have candle lighting before sunset?*/\n hasCandleLighting() {\n const dow = this.getDayOfWeek();\n if (dow === 5) {\n return true;\n } else if (dow === 6) {\n return false;\n }\n return this.isErevYomTov();\n }\n /**Is the current Jewish Date the day before a yomtov that contains a Friday?*/\n hasEiruvTavshilin(israel2) {\n let dow = this.getDayOfWeek();\n return (\n //Eiruv Tavshilin is only on Wednesday or Thursday\n [3, 4].includes(dow) && //today is Erev Yomtov\n this.isErevYomTov() && //Thursday OR Wednesday when in Chu\"l or Erev Rosh Hashana anywhere\n (dow === 4 || dow === 3 && (!israel2 || this.Month === 6)) && //No Eiruv Tavshilin on Erev yom kippur\n this.Day !== 9\n );\n }\n /**Gets the candle lighting time for the current Jewish date for the given Location object.*/\n getCandleLighting(location, nullIfNoCandles) {\n if (!location) {\n throw \"To get sunrise and sunset, the location needs to be supplied\";\n }\n if (this.hasCandleLighting()) {\n return Zmanim.getCandleLighting(this, location);\n } else if (nullIfNoCandles) {\n return null;\n } else {\n throw \"No candle lighting on \" + this.toString();\n }\n }\n /**Get the sedra of the week for the current Jewish date.*/\n getSedra(israel2) {\n return new Sedra(this, israel2);\n }\n /**Get the prakim of Pirkei Avos for the current Jewish date.*/\n getPirkeiAvos(israel2) {\n return PirkeiAvos.getPrakim(this, israel2);\n }\n /**Gets sunrise and sunset time for the current Jewish date at the given Location.\n *\n * Return format: {sunrise: {hour: 6, minute: 18}, sunset: {hour: 19, minute: 41}}*/\n getSunriseSunset(location, ignoreElevation) {\n if (!location) {\n throw \"To get sunrise and sunset, the location needs to be supplied\";\n }\n return Zmanim.getSunTimes(this, location, !ignoreElevation);\n }\n /**Gets Chatzos for both the day and the night for the current Jewish date at the given Location.\n *\n *Return format: {hour: 11, minute: 48}*/\n getChatzos(location) {\n if (!location) {\n throw \"To get Chatzos, the location needs to be supplied\";\n }\n return Zmanim.getChatzos(this, location);\n }\n /**Gets the length of a single Sha'a Zmanis in minutes for the current Jewish date at the given Location.*/\n getShaaZmanis(location, offset) {\n if (!location) {\n throw \"To get the Shaa Zmanis, the location needs to be supplied\";\n }\n return Zmanim.getShaaZmanis(this, location, offset);\n }\n /**Returns the daily daf in English. For example: Sukkah, Daf 3.*/\n getDafYomi() {\n return Dafyomi.toString(this) || \"\";\n }\n /**Gets the daily daf in Hebrew. For example: 'סוכה דף כ.*/\n getDafyomiHeb() {\n return Dafyomi.toStringHeb(this) || \"\";\n }\n /**\n * Converts its argument/s to a Jewish Date.\n * Samples of use:\n * To get the current Jewish Date: jDate.toJDate(new Date()).\n * To print out the current date in English: jDate.toJDate(new Date()).toString()\n * To print out the current date in Hebrew: jDate.toJDate(new Date()).toStringHeb()\n *\n * Arguments to the jDate.toJDate function can be one of the following:\n * jDate.toJDate() - Sets the Jewish Date for the current system date\n * jDate.toJDate(Date) - Sets to the Jewish date on the given Javascript Date object\n * jDate.toJDate(\"January 1 2045\") - Accepts any valid Javascript Date string (uses string constructor of Date object)\n * jDate.toJDate(jewishYear, jewishMonth, jewishDay) - Months start at 1. Nissan is month 1 Adara Sheini is 13.\n * jDate.toJDate(jewishYear, jewishMonth) - Same as above, with Day defaulting to 1\n * jDate.toJDate(jewishYear) - sets to the first day of Rosh Hashana on the given year\n * jDate.toJDate( { year: 5776, month: 4, day: 5 } ) - Months start at 1. Nissan is month 1 Adara Sheini is 13.\n * jDate.toJDate( { year: 5776, month: 4 } ) - Same as above, with Day defaulting to 1\n * jDate.toJDate( { year: 5776 } ) - sets to the first day of Rosh Hashana on the given year\n * jDate.toJDate(jewishYear, jewishMonth, jewishDay, absoluteDate) - Most efficient. Needs no calculations at all. The absoluteDate is the number of days elapsed since the theoretical date Sunday, December 31, 0001 BCE.\n * jDate.toJDate( { year: 5776, month: 4, day: 5, abs: 122548708 } ) - same as jDate.toJDate(jewishYear, jewishMonth, jewishDay, absoluteDate)\n ****************************************************************************************************************/\n static toJDate(arg, month, day, abs) {\n if (arguments.length === 0) {\n return new _jDate();\n } else if (Utils.isNumber(arg) && arguments.length === 1) {\n return new _jDate(arg, 7, 1);\n } else {\n return new _jDate(arg, month, day, abs);\n }\n }\n static now() {\n return new _jDate();\n }\n /**Calculate the Jewish year, month and day for the given absolute date.*/\n static fromAbs(absDay) {\n let year = 3761 + Utils.toInt(absDay / (absDay > 0 ? 366 : 300)), month, day;\n while (absDay >= _jDate.absJd(year + 1, 7, 1)) {\n year++;\n }\n month = absDay < _jDate.absJd(year, 1, 1) ? 7 : 1;\n while (absDay > _jDate.absJd(year, month, _jDate.daysJMonth(year, month))) {\n month++;\n }\n day = absDay - _jDate.absJd(year, month, 1) + 1;\n return { year, month, day };\n }\n /**\n * Gets the absolute date of the given javascript Date object.\n * @param {Date} date\n */\n static absSd(date) {\n const ms = date.valueOf() - date.getTimezoneOffset() * 6e4, numFullDays = Math.floor(ms / MS_PER_DAY);\n return JS_START_DATE_ABS + numFullDays;\n }\n /**Calculate the absolute date for the given Jewish Date.*/\n static absJd(year, month, day) {\n let dayInYear = day;\n if (month < 7) {\n let m = 7;\n while (m <= _jDate.monthsJYear(year)) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n m = 1;\n while (m < month) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n } else {\n let m = 7;\n while (m < month) {\n dayInYear += _jDate.daysJMonth(year, m);\n m++;\n }\n }\n return dayInYear + (getElapsedDays(year) + -1373429);\n }\n /**\n * Gets a javascript date from an absolute date\n */\n static sdFromAbs(abs) {\n const offset = JS_START_OFFSET > 0 ? 1 : 0, daysSinceStart = abs - JS_START_DATE_ABS + offset;\n return new Date(daysSinceStart * MS_PER_DAY);\n }\n /**number of days in the given Jewish Month. Nissan is 1 and Adar Sheini is 13.*/\n static daysJMonth(year, month) {\n switch (month) {\n //Nissan, Sivan, Av, Tishrei and Shvat always have 30 days\n case 1:\n case 3:\n case 5:\n case 7:\n case 11:\n return 30;\n //Iyyar, Tammuz, Ellul, Teves and Adar Sheini always have 29 days.\n case 2:\n case 4:\n case 6:\n case 10:\n case 13:\n return 29;\n //Cheshvan sometimes has 29 days and sometimes 30 days.\n case 8:\n return _jDate.isLongCheshvan(year) ? 30 : 29;\n //Kislev sometimes has 29 days and sometimes 30 days.\n case 9:\n return _jDate.isShortKislev(year) ? 29 : 30;\n //Adar has 29 days unless it is Adar Rishon.\n case 12:\n return _jDate.isJdLeapY(year) ? 30 : 29;\n }\n return 0;\n }\n /**The index for the year type of the given year.\n * IMPORTANT NOTE: Only works for years 5000 and after.\n */\n static yearType(year) {\n return yearTypes[yearTypeList[year - 5e3]];\n }\n /**number of days in the given Jewish Year.*/\n static daysJYear(year) {\n if (!year || year < 0) {\n return 0;\n }\n if (year >= 5e3) {\n return _jDate.yearType(year).daysInYear;\n } else {\n return getElapsedDays(year + 1) - getElapsedDays(year);\n }\n }\n /**Does Cheshvan for the given Jewish Year have 30 days?*/\n static isLongCheshvan(year) {\n if (!year || year < 0) {\n return false;\n }\n if (year >= 5e3) {\n return _jDate.yearType(year).isLongCheshvan;\n } else {\n return _jDate.daysJYear(year) % 10 === 5;\n }\n }\n /**Does Kislev for the given Jewish Year have 29 days?*/\n static isShortKislev(year) {\n if (!year || year < 0) {\n return false;\n }\n if (year >= 5e3) {\n return !_jDate.yearType(year).isLongKislev;\n } else {\n return _jDate.daysJYear(year) % 10 === 3;\n }\n }\n /**Does the given Jewish Year have 13 months?*/\n static isJdLeapY(year) {\n return (7 * year + 1) % 19 < 7;\n }\n /**number of months in Jewish Year.*/\n static monthsJYear(year) {\n return _jDate.isJdLeapY(year) ? 13 : 12;\n }\n};\n_jDate.getElapsedDays = getElapsedDays;\nvar jDate = _jDate;\n\n// src/JCal/Zmanim.ts\nvar Zmanim = class _Zmanim {\n /**\n * Gets sunrise and sunset time for given date and Location.\n * Accepts a javascript Date object, a string for creating a javascript date object or a jDate object.\n * Location object is required.\n * @returns {SunTimes}\n * @param {Date | jDate} date A Javascript Date or Jewish Date for which to calculate the sun times.\n * @param {Location} location Where on the globe to calculate the sun times for.\n * @param {Boolean} considerElevation\n */\n static getSunTimes(date, location, considerElevation = true) {\n if (date instanceof jDate) {\n date = date.getDate();\n } else if (date instanceof String) {\n date = new Date(date);\n }\n if (!Utils.isValidDate(date)) {\n throw \"Zmanim.getSunTimes: supplied date parameter cannot be converted to a Date\";\n }\n let sunrise, sunset, zenithDeg = 90, zenithMin = 50, lonHour = 0, longitude = 0, latitude = 0, cosLat = 0, sinLat = 0, cosZen = 0, sinDec = 0, cosDec = 0, xmRise = 0, xmSet = 0, xlRise = 0, xlSet = 0, aRise = 0, aSet = 0, ahrRise = 0, ahrSet = 0, hRise = 0, hSet = 0, tRise = 0, tSet = 0, utRise = 0, utSet = 0;\n const day = _Zmanim.dayOfYear(date), earthRadius = 6356900, zenithAtElevation = _Zmanim.degToDec(zenithDeg, zenithMin) + _Zmanim.radToDeg(Math.acos(earthRadius / (earthRadius + (considerElevation ? location.Elevation : 0))));\n zenithDeg = Math.floor(zenithAtElevation);\n zenithMin = (zenithAtElevation - zenithDeg) * 60;\n cosZen = Math.cos(0.01745 * _Zmanim.degToDec(zenithDeg, zenithMin));\n longitude = location.Longitude;\n lonHour = longitude / 15;\n latitude = location.Latitude;\n cosLat = Math.cos(0.01745 * latitude);\n sinLat = Math.sin(0.01745 * latitude);\n tRise = day + (6 + lonHour) / 24;\n tSet = day + (18 + lonHour) / 24;\n xmRise = _Zmanim.M(tRise);\n xlRise = _Zmanim.L(xmRise);\n xmSet = _Zmanim.M(tSet);\n xlSet = _Zmanim.L(xmSet);\n aRise = 57.29578 * Math.atan(0.91746 * Math.tan(0.01745 * xlRise));\n aSet = 57.29578 * Math.atan(0.91746 * Math.tan(0.01745 * xlSet));\n if (Math.abs(aRise + 360 - xlRise) > 90) {\n aRise += 180;\n }\n if (aRise > 360) {\n aRise -= 360;\n }\n if (Math.abs(aSet + 360 - xlSet) > 90) {\n aSet += 180;\n }\n if (aSet > 360) {\n aSet -= 360;\n }\n ahrRise = aRise / 15;\n sinDec = 0.39782 * Math.sin(0.01745 * xlRise);\n cosDec = Math.sqrt(1 - sinDec * sinDec);\n hRise = (cosZen - sinDec * sinLat) / (cosDec * cosLat);\n ahrSet = aSet / 15;\n sinDec = 0.39782 * Math.sin(0.01745 * xlSet);\n cosDec = Math.sqrt(1 - sinDec * sinDec);\n hSet = (cosZen - sinDec * sinLat) / (cosDec * cosLat);\n if (Math.abs(hRise) <= 1) {\n hRise = 57.29578 * Math.acos(hRise);\n utRise = (360 - hRise) / 15 + ahrRise + _Zmanim.adj(tRise) + lonHour;\n sunrise = _Zmanim.timeAdj(utRise + location.UTCOffset, date, location);\n if (sunrise.hour > 12) {\n sunrise.hour -= 12;\n }\n }\n if (Math.abs(hSet) <= 1) {\n hSet = 57.29578 * Math.acos(hSet);\n utSet = hRise / 15 + ahrSet + _Zmanim.adj(tSet) + lonHour;\n sunset = _Zmanim.timeAdj(utSet + location.UTCOffset, date, location);\n if (sunset.hour > 0 && sunset.hour < 12) {\n sunset.hour += 12;\n }\n }\n return { sunrise, sunset };\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n */\n static getChatzos(date, location) {\n return _Zmanim.getChatzosFromSuntimes(\n _Zmanim.getSunTimes(date, location, false)\n );\n }\n /**\n * @param {SunTimes} sunTimes\n */\n static getChatzosFromSuntimes(sunTimes) {\n const rise = sunTimes.sunrise, set = sunTimes.sunset;\n if (rise === void 0 || isNaN(rise.hour) || set === void 0 || isNaN(set.hour)) {\n return { hour: NaN, minute: NaN };\n }\n const chatz = Utils.toInt((Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 2);\n return Utils.addSeconds(rise, chatz);\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n * @param {any} offset\n */\n static getShaaZmanis(date, location, offset) {\n return _Zmanim.getShaaZmanisFromSunTimes(\n _Zmanim.getSunTimes(date, location, false),\n offset\n );\n }\n /**\n * @param {{ sunrise: any; sunset: any; }} sunTimes\n * @param {number} [offset]\n */\n static getShaaZmanisFromSunTimes(sunTimes, offset) {\n if (!sunTimes || !sunTimes.sunrise || !sunTimes.sunset) {\n return 0;\n }\n let rise = sunTimes.sunrise, set = sunTimes.sunset;\n if (!rise || isNaN(rise.hour) || !set || isNaN(set.hour)) {\n return NaN;\n }\n if (offset) {\n rise = Utils.addMinutes(rise, -offset);\n set = Utils.addMinutes(set, offset);\n }\n return (Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 720;\n }\n /**\n * @param {{ sunrise: any; sunset: any; }} sunTimes\n * @param {boolean} israel\n */\n static getShaaZmanisMga(sunTimes, israel2) {\n const minutes = israel2 ? 90 : 72;\n let rise = sunTimes.sunrise && Utils.addMinutes(sunTimes.sunrise, -minutes), set = sunTimes.sunset && Utils.addMinutes(sunTimes.sunset, minutes);\n if (!rise || isNaN(rise.hour) || !set || isNaN(set.hour)) {\n return NaN;\n }\n return (Utils.totalSeconds(set) - Utils.totalSeconds(rise)) / 720;\n }\n /**\n * @param {jDate | Date} date\n * @param {Location} location\n */\n static getCandleLighting(date, location) {\n return _Zmanim.getCandleLightingFromSunTimes(\n _Zmanim.getSunTimes(date, location),\n location\n );\n }\n /**\n * @param {SunTimes} sunTimes\n * @param {any} location\n */\n static getCandleLightingFromSunTimes(sunTimes, location) {\n return sunTimes.sunset && _Zmanim.getCandleLightingFromSunset(sunTimes.sunset, location);\n }\n /**\n * @param {Time} sunset\n * @param {Location} location\n */\n static getCandleLightingFromSunset(sunset, location) {\n return Utils.addMinutes(sunset, -(location.CandleLighting || 0));\n }\n /**\n * @param {Date} date\n */\n static dayOfYear(date) {\n const month = date.getMonth(), isLeap = () => Utils.isSecularLeapYear(date.getFullYear()), yearDay = [0, 1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n return yearDay[month + 1] + date.getDate() + (month > 1 && isLeap() ? 1 : 0);\n }\n /**\n * @param {number} deg\n * @param {number} min\n */\n static degToDec(deg, min) {\n return deg + min / 60;\n }\n /**\n * @param {number} x\n */\n static M(x) {\n return 0.9856 * x - 3.251;\n }\n /**\n * @param {number} x\n */\n static L(x) {\n return x + 1.916 * Math.sin(0.01745 * x) + 0.02 * Math.sin(2 * 0.01745 * x) + 282.565;\n }\n /**\n * @param {number} x\n */\n static adj(x) {\n return -0.06571 * x - 6.62;\n }\n /**\n * @param {number} rad\n */\n static radToDeg(rad) {\n return 57.29578 * rad;\n }\n /**\n * @param {number} time\n * @param {Date} date\n * @param {Location} location\n */\n static timeAdj(time, date, location) {\n if (time < 0) {\n time += 24;\n }\n let hour = Utils.toInt(time);\n const minFloat = (time - hour) * 60 + 0.5, min = Utils.toInt(minFloat), sec = Math.round(60 * (minFloat - min));\n if (Utils.isDST(location, date)) {\n hour++;\n }\n return Utils.fixTime({ hour, minute: min, second: sec });\n }\n};\n\n// src/Utils.ts\nvar __DEV__ = process.env.NODE_ENV === \"development\";\nvar DaysOfWeek = Object.freeze({\n SUNDAY: 0,\n MONDAY: 1,\n TUESDAY: 2,\n WEDNESDAY: 3,\n THURSDAY: 4,\n FRIDAY: 5,\n SHABBOS: 6\n});\nvar JewishMonthsNames = Object.freeze({\n NISSAN: 1,\n IYAR: 2,\n SIVAN: 3,\n TAMUZ: 4,\n AV: 5,\n ELLUL: 6,\n TISHREI: 7,\n CHESHVAN: 8,\n KISLEV: 9,\n TEVES: 10,\n SHVAT: 11,\n ADAR: 12,\n ADAR_SHEINI: 13\n});\nvar JewishMonthsEng = [\n \"\",\n \"Nissan\",\n \"Iyar\",\n \"Sivan\",\n \"Tamuz\",\n \"Av\",\n \"Ellul\",\n \"Tishrei\",\n \"Cheshvan\",\n \"Kislev\",\n \"Teves\",\n \"Shvat\",\n \"Adar\",\n \"Adar Sheini\"\n];\nvar JewishMonthsHeb = [\n \"\",\n \"\\u05E0\\u05D9\\u05E1\\u05DF\",\n \"\\u05D0\\u05D9\\u05D9\\u05E8\",\n \"\\u05E1\\u05D9\\u05D5\\u05DF\",\n \"\\u05EA\\u05DE\\u05D5\\u05D6\",\n \"\\u05D0\\u05D1\",\n \"\\u05D0\\u05DC\\u05D5\\u05DC\",\n \"\\u05EA\\u05E9\\u05E8\\u05D9\",\n \"\\u05D7\\u05E9\\u05D5\\u05DF\",\n \"\\u05DB\\u05E1\\u05DC\\u05D5\",\n \"\\u05D8\\u05D1\\u05EA\",\n \"\\u05E9\\u05D1\\u05D8\",\n \"\\u05D0\\u05D3\\u05E8\",\n \"\\u05D0\\u05D3\\u05E8 \\u05E9\\u05E0\\u05D9\"\n];\nvar SecularMonthsEng = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\nvar DaysOfWeekEng = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Erev Shabbos\",\n \"Shabbos Kodesh\"\n];\nvar DaysOfWeekHeb = [\n \"\\u05D9\\u05D5\\u05DD \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF\",\n \"\\u05D9\\u05D5\\u05DD \\u05E9\\u05E0\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05E9\\u05DC\\u05D9\\u05E9\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05E8\\u05D1\\u05D9\\u05E2\\u05D9\",\n \"\\u05D9\\u05D5\\u05DD \\u05D7\\u05DE\\u05D9\\u05E9\\u05D9\",\n \"\\u05E2\\u05E8\\u05D1 \\u05E9\\u05D1\\u05EA \\u05E7\\u05D5\\u05D3\\u05E9\",\n \"\\u05E9\\u05D1\\u05EA \\u05E7\\u05D5\\u05D3\\u05E9\"\n];\nvar _Utils = class _Utils {\n /**\n * Gets the Jewish representation of a number (365 = שס\"ה)\n * Minimum number is 1 and maximum is 9999.\n * @param {Number} number\n */\n static toJewishNumber(number) {\n if (number < 1) {\n throw \"Min value is 1\";\n }\n if (number > 9999) {\n throw \"Max value is 9999\";\n }\n let n = number, retval = \"\";\n if (n >= 1e3) {\n retval += _Utils.jsd[_Utils.toInt((n - n % 1e3) / 1e3) - 1] + \"'\";\n n = n % 1e3;\n }\n while (n >= 400) {\n retval += \"\\u05EA\";\n n -= 400;\n }\n if (n >= 100) {\n retval += _Utils.jhd[_Utils.toInt((n - n % 100) / 100) - 1];\n n = n % 100;\n }\n if (n == 15) {\n retval += \"\\u05D8\\u05D5\";\n } else if (n == 16) {\n retval += \"\\u05D8\\u05D6\";\n } else {\n if (n > 9) {\n retval += _Utils.jtd[_Utils.toInt((n - n % 10) / 10) - 1];\n }\n if (n % 10 > 0) {\n retval += _Utils.jsd[n % 10 - 1];\n }\n }\n if (number > 999 && number % 1e3 < 10) {\n retval = \"'\" + retval;\n } else if (retval.length > 1) {\n retval = retval.slice(0, -1) + '\"' + retval[retval.length - 1];\n }\n return retval;\n }\n /**\n * Returns the javascript date in the format: Thursday, the 3rd of January 2018.\n * @param {Date} date\n * @param {Boolean} hideDayOfWeek\n * @param {Boolean} dontCapitalize\n */\n static toStringDate(date, hideDayOfWeek, dontCapitalize) {\n if (!date) return;\n return (hideDayOfWeek ? dontCapitalize ? \"t\" : \"T\" : DaysOfWeekEng[date.getDay()] + \", t\") + \"he \" + _Utils.toSuffixed(date.getDate()) + \" of \" + SecularMonthsEng[date.getMonth()] + \" \" + date.getFullYear().toString();\n }\n /**\n * Returns the javascript date in the format: 1/3/2020.\n * @param {Date} date\n * @param {Boolean} monthFirst\n */\n static toShortStringDate(date, monthFirst) {\n if (!date) return;\n const dayNum = date.getDate(), monthNum = date.getMonth() + 1;\n return (monthFirst ? `${monthNum}/${dayNum}` : `${dayNum < 10 ? \"0\" : \"\"}${dayNum}/${monthNum < 10 ? \"0\" : \"\"}${monthNum}`) + \"/\" + date.getFullYear().toString();\n }\n /**\n * Add two character suffix to number. e.g. 21st, 102nd, 93rd, 500th\n * @param {Number} num\n */\n static toSuffixed(num) {\n const t = num.toString();\n let suffix = \"th\";\n if (t.length === 1 || t[t.length - 2] !== \"1\") {\n switch (t[t.length - 1]) {\n case \"1\":\n suffix = \"st\";\n break;\n case \"2\":\n suffix = \"nd\";\n break;\n case \"3\":\n suffix = \"rd\";\n break;\n }\n }\n return t + suffix;\n }\n /**\n * Returns if the given full secular year has a February 29th\n * @param {Number} year\n */\n static isSecularLeapYear(year) {\n return !(year % 400) || !!(year % 100) && !(year % 4);\n }\n /**\n * Get day of week using Javascripts getDay function.\n * Important note: months starts at 1 not 0 like javascript\n * The DOW returned has Sunday = 0\n * @param {Number} year\n * @param {Number} month\n * @param {Number} day\n */\n static getSdDOW(year, month, day) {\n return new Date(year, month - 1, day).getDay();\n }\n /**\n * Makes sure hour is between 0 and 23 and minute is between 0 and 59.\n * Overlaps get added/subtracted.\n * The argument needs to be an object in the format {hour : 12, minute : 42, second : 18}\n * @param {Time} time\n */\n static fixTime(time) {\n const result = {\n hour: time.hour,\n minute: time.minute,\n second: time.second || 0\n };\n while (result.second >= 60) {\n result.minute += 1;\n result.second -= 60;\n }\n while (result.second < 0) {\n result.minute -= 1;\n result.second += 60;\n }\n while (result.minute < 0) {\n result.minute += 60;\n result.hour--;\n }\n while (result.minute >= 60) {\n result.minute -= 60;\n result.hour++;\n }\n if (result.hour < 0) {\n result.hour = 24 + result.hour % 24;\n }\n if (result.hour > 23) {\n result.hour = result.hour % 24;\n }\n return result;\n }\n /**\n * Add the given number of minutes to the given time.\n * The argument needs to be an object in the format {hour : 12, minute : 42, second : 18 }\n *\n * @param {Time} time\n * @param {Number} minutes\n */\n static addMinutes(time, minutes) {\n if (!time) return time;\n return time && _Utils.fixTime({\n hour: time.hour,\n minute: time.minute + (minutes || 0),\n second: time.second\n });\n }\n /**\n * Add the given number of seconds to the given time.\n * The argument needs to be an object in the format {hour : 12, minute :42, second : 18}\n *\n * @param {Time} time\n * @param {Number} seconds\n */\n static addSeconds(time, seconds) {\n return _Utils.fixTime({\n hour: time.hour,\n minute: time.minute,\n second: (time.second || 0) + seconds\n });\n }\n /**\n * Gets the time difference between two times of day.\n * If showNegative is falsey, assumes that the earlier time is always before the later time.\n * So, if laterTime is less than earlierTime, the returned diff is until the next day.\n * Both arguments need to be an object in the format {hour : 12, minute : 42, second : 18 }\n * @param {Time} earlierTime\n * @param {Time} laterTime\n * @param {Boolean} [showNegative] show negative values or assume second value is next day?\n * @returns{{hour:number, minute:number, second:number, sign:1|-1}}\n */\n static timeDiff(earlierTime, laterTime, showNegative = false) {\n const earlySec = _Utils.totalSeconds(earlierTime), laterSec = _Utils.totalSeconds(laterTime), time = _Utils.fixTime({\n hour: 0,\n minute: 0,\n second: earlySec <= laterSec ? laterSec - earlySec : showNegative ? earlySec - laterSec : 86400 - earlySec + laterSec\n });\n return {\n ...time,\n sign: earlySec <= laterSec || !showNegative ? 1 : -1\n };\n }\n /**\n * Gets the total number of minutes in the given time.\n * @param {Time} time An object in the format {hour : 12, minute :42, second : 18}\n */\n static totalMinutes(time) {\n return time ? time.hour * 60 + time.minute : 0;\n }\n /**\n * Gets the total number of seconds in the given time.\n * @param {Time} time An object in the format {hour : 12, minute :42, second : 18}\n */\n static totalSeconds(time) {\n return time ? _Utils.totalMinutes(time) * 60 + (time.second || 0) : 0;\n }\n /**\n * Returns the time of the given javascript date as an object in the format of {hour : 23, minute :42, second: 18 }\n * @param {Date} sdate\n * @returns {{hour :number, minute :number, second:number }}\n */\n static timeFromDate(sdate) {\n return {\n hour: sdate.getHours(),\n minute: sdate.getMinutes(),\n second: sdate.getSeconds()\n };\n }\n /**\n * Determines if the second given time is after (or at) the first given time\n * @param {{hour :number, minute :number, second:number }} beforeTime\n * @param {{hour :number, minute :number, second:number }} afterTime\n */\n static isTimeAfter(beforeTime, afterTime) {\n if (!beforeTime || !afterTime) return false;\n return _Utils.totalSeconds(afterTime) >= _Utils.totalSeconds(beforeTime);\n }\n /**\n * Returns the given time interval in a formatted string.\n * @param {{hour:number, minute:number,second:number,sign?: 1 | -1}} time An object in the format {hour : 23, minute :42, second: 18 }\n */\n static getTimeIntervalTextStringHeb(time) {\n let t = \"\";\n if (time.hour > 0) {\n t += `${time.hour.toString()} ${time.hour === 1 ? \"\\u05E9\\u05E2\\u05D4\" : \"\\u05E9\\u05E2\\u05D5\\u05EA\"}\\xAD`;\n }\n if (time.minute > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${time.minute.toString()} ${time.minute === 1 ? \"\\u05D3\\u05E7\\u05D4\" : \"\\u05D3\\u05E7\\u05D5\\u05EA\"}\\xAD`;\n }\n if ((time.second || 0) > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${Math.trunc(time.second || 0).toString()} ${time.second === 1 ? \"\\u05E9\\u05E0\\u05D9\\u05D9\\u05D4\" : \"\\u05E9\\u05E0\\u05D9\\u05D5\\u05EA\"}\\xAD`;\n }\n return t;\n }\n /**\n * Returns the given time interval in a formatted string.\n * @param {{hour:number, minute:number,second:number,sign?: 1 | -1}} time An object in the format {hour : 23, minute :42, second: 18 }\n */\n static getTimeIntervalTextString(time) {\n let t = \"\";\n if (time.hour > 0) {\n t += `${time.hour.toString()} ${time.hour === 1 ? \"hour\" : \"hours\"}\\xAD`;\n }\n if (time.minute > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${time.minute.toString()} ${time.minute === 1 ? \"minute\" : \"minutes\"}\\xAD`;\n }\n if ((time.second || 0) > 0) {\n if (t.length) {\n t += \" \";\n }\n t += `${Math.trunc(time.second || 0).toString()} ${time.second === 1 ? \"second\" : \"seconds\"}\\xAD`;\n }\n return t;\n }\n /**\n * Returns the nusach for Sefiras Ha'omer for the given day and minhag\n * @param {number} dayOfOmer The day of the Omer for which to get the nusach for\n * @param {'ashkenaz'|'sefard'|'sefardi'} nusach Should it be La'Omer (\"sefard\") or Ba'Omer (\"ashkenaz\") or \"sefardi\" (Eidot Hamizrach)?\n */\n static getOmerNusach(dayOfOmer, nusach) {\n const weeks = _Utils.toInt(dayOfOmer / 7), days = dayOfOmer % 7;\n let txt = \"\\u05D4\\u05D9\\u05D5\\u05DD \";\n if (dayOfOmer === 1) {\n txt += \"\\u05D9\\u05D5\\u05DD \\u05D0\\u05D7\\u05D3 \";\n } else {\n if (dayOfOmer === 2) {\n txt += \"\\u05E9\\u05E0\\u05D9 \";\n } else {\n if (dayOfOmer === 10) {\n txt += \"\\u05E2\\u05E9\\u05E8\\u05D4 \";\n } else {\n txt += _Utils.jsnum[_Utils.toInt(dayOfOmer % 10)] + \" \";\n if (dayOfOmer > 10) {\n if (dayOfOmer > 20 && dayOfOmer % 10 > 0) {\n txt += \"\\u05D5\";\n }\n txt += _Utils.jtnum[_Utils.toInt(dayOfOmer / 10)] + \" \";\n }\n }\n }\n txt += (dayOfOmer >= 11 ? \"\\u05D9\\u05D5\\u05DD\" : \"\\u05D9\\u05DE\\u05D9\\u05DD\") + \" \";\n if (nusach === \"sefardi\") {\n txt += \"\\u05DC\\u05E2\\u05D5\\u05DE\\u05E8 \";\n }\n if (dayOfOmer >= 7) {\n txt += \"\\u05E9\\u05D4\\u05DD \";\n if (weeks === 1) {\n txt += \"\\u05E9\\u05D1\\u05D5\\u05E2 \\u05D0\\u05D7\\u05D3 \";\n } else if (weeks === 2) {\n txt += \"\\u05E9\\u05E0\\u05D9 \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA \";\n } else if (weeks > 0) {\n txt += _Utils.jsnum[_Utils.toInt(weeks)] + \" \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA \";\n }\n if (days === 1) {\n txt += \"\\u05D5\\u05D9\\u05D5\\u05DD \\u05D0\\u05D7\\u05D3 \";\n } else if (days === 2) {\n txt += \"\\u05D5\\u05E9\\u05E0\\u05D9 \\u05D9\\u05DE\\u05D9\\u05DD \";\n } else if (days > 0) {\n txt += \"\\u05D5\" + _Utils.jsnum[days] + \" \\u05D9\\u05DE\\u05D9\\u05DD \";\n }\n }\n }\n if (nusach === \"sefard\") {\n txt += \"\\u05DC\\u05E2\\u05D5\\u05DE\\u05E8\";\n } else if (nusach === \"ashkenaz\") {\n txt += \"\\u05D1\\u05E2\\u05D5\\u05DE\\u05E8\";\n }\n return txt;\n }\n /**\n * Returns the given time in a formatted string.\n * @param {Time} time An object in the format {hour : 23, minute :42, second: 18 }\n * @param {1 | -1} [sign]\n * @param {Boolean} [army] If falsey, the returned string will be: 11:42:18 PM otherwise it will be 23:42:18\n * @param {Boolean} [roundUp] If falsey, the numbers will converted to a whole number by rounding down, otherwise, up.\n */\n static getTimeString(time, sign, army, roundUp) {\n const round = roundUp ? Math.ceil : Math.floor;\n time = {\n hour: round(time.hour),\n minute: round(time.minute),\n second: round(time.second || 0)\n };\n if (army) {\n return (sign && sign < 0 ? \"-\" : \"\") + (time.hour.toString() + \":\" + (time.minute < 10 ? \"0\" + time.minute.toString() : time.minute.toString()) + \":\" + ((time.second || 0) < 10 ? \"0\" + (time.second || 0).toString() : (time.second || 0).toString()));\n } else {\n return (sign && sign < 0 ? \"-\" : \"\") + (time.hour <= 12 ? time.hour == 0 ? 12 : time.hour : time.hour - 12).toString() + \":\" + (time.minute < 10 ? \"0\" + time.minute.toString() : time.minute.toString()) + \":\" + ((time.second || 0) < 10 ? \"0\" + (time.second || 0).toString() : (time.second || 0).toString()) + (time.hour < 12 ? \" AM\" : \" PM\");\n }\n }\n /**\n * Gets the UTC offset in whole hours for the users time zone.\n * Note: this is not affected by DST - unlike javascripts getTimezoneOffset() function which gives you the current offset.\n */\n static currUtcOffset() {\n const date = /* @__PURE__ */ new Date(), jan = new Date(date.getFullYear(), 0, 1), jul = new Date(date.getFullYear(), 6, 1);\n return -_Utils.toInt(Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()) / 60);\n }\n /** Determines if the given date is within DST on the users system */\n static isDateDST(date) {\n return -_Utils.toInt(date.getTimezoneOffset() / 60) !== _Utils.currUtcOffset();\n }\n /**\n * Determines if the given date is within DST in the given location\n * Note: This may not be correct if the user has set the Location to a\n * time zone outside Israel or the USA which is not the current system time zone.\n */\n static isDST(location, date) {\n if (location.UTCOffset === _Utils.currUtcOffset()) {\n return _Utils.isDateDST(date);\n } else if (location.Israel) {\n return _Utils.isIsrael_DST(date);\n } else {\n return _Utils.isUSA_DST(date);\n }\n }\n /**\n * Determines if the given javascript date is during DST according to the USA rules\n * @param {Date} date A javascript Date object\n */\n static isUSA_DST(date) {\n const year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(), hour = date.getHours();\n if (month < 3 || month == 12) {\n return false;\n } else if (month > 3 && month < 11) {\n return true;\n } else if (month === 3) {\n const firstDOW = _Utils.getSdDOW(year, 3, 1), targetDate = firstDOW == 0 ? 8 : 7 - (firstDOW + 7) % 7 + 8;\n return day > targetDate || day === targetDate && hour >= 2;\n } else {\n const firstDOW = _Utils.getSdDOW(year, 11, 1), targetDate = firstDOW === 0 ? 1 : 7 - (firstDOW + 7) % 7 + 1;\n return day < targetDate || day === targetDate && hour < 2;\n }\n }\n //\n /**\n * Determines if the given Javascript date is during DST according to the current (5776) Israeli rules\n * @param {Date} date A Javascript Date object\n */\n static isIsrael_DST(date) {\n const year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(), hour = date.getHours();\n if (month > 10 || month < 3) {\n return false;\n } else if (month > 3 && month < 10) {\n return true;\n } else if (month === 3) {\n const lastFriday = 31 - _Utils.getSdDOW(year, 3, 31) - 2;\n return day > lastFriday || day === lastFriday && hour >= 2;\n } else {\n const lastSunday = 31 - _Utils.getSdDOW(year, 10, 31);\n return day < lastSunday || day === lastSunday && hour < 2;\n }\n }\n /** The current time in Israel - determined by the current users system time and time zone offset*/\n static getSdNowInIsrael() {\n const now = /* @__PURE__ */ new Date(), israelTimeOffset = 2 + -_Utils.currUtcOffset();\n now.setHours(now.getHours() + israelTimeOffset);\n return now;\n }\n /**\n * Adds the given number of days to the given javascript date and returns the new date\n * @param {Date} sdate\n * @param {Number} days\n */\n static addDaysToSdate(sdate, days) {\n return new Date(sdate.valueOf() + 864e5 * days);\n }\n /**\n * Compares two js dates to se if they both refer to the same day - time is ignored.\n * @param {Date} sdate1\n * @param {Date} sdate2\n */\n static isSameSdate(sdate1, sdate2) {\n return sdate1 && sdate2 && sdate1.toDateString() === sdate2.toDateString();\n }\n /**\n * Compares two jDates to se if they both refer to the same day - time is ignored.\n * @param {jDate} jdate1\n * @param {jDate} jdate2\n */\n static isSameJdate(jdate1, jdate2) {\n return jdate1 && jdate2 && jdate1.Abs && jdate2.Abs && jdate1.Abs === jdate2.Abs;\n }\n /**\n * Compares two jDates to see if they both refer to the same Jewish Month.\n * @param {jDate} jdate1\n * @param {jDate} jdate2\n */\n static isSameJMonth(jdate1, jdate2) {\n return jdate1.Month === jdate2.Month && jdate1.Year === jdate2.Year;\n }\n /**\n * Compares two dates to se if they both refer to the same Secular Month.\n * @param {Date} sdate1\n * @param {Date} sdate2\n */\n static isSameSMonth(sdate1, sdate2) {\n return sdate1.getMonth() === sdate2.getMonth() && sdate1.getFullYear() === sdate2.getFullYear();\n }\n /**\n * Determines if the time of the given Date() is after sunset at the given Location\n * @param {Date} sdate\n * @param {Location} location\n */\n static isAfterSunset(sdate, location) {\n const shkia = Zmanim.getSunTimes(sdate, location).sunset, now = _Utils.timeFromDate(sdate);\n return shkia && _Utils.isTimeAfter(shkia, now);\n }\n /**\n * Gets the current Jewish Date at the given Location\n * @param {Location} location\n */\n static nowAtLocation(location) {\n let sdate = /* @__PURE__ */ new Date();\n if (_Utils.isAfterSunset(sdate, location)) {\n sdate.setDate(sdate.getDate() + 1);\n }\n return new jDate(sdate);\n }\n /**\n * Converts the given complex number to an integer by removing the decimal part.\n * Returns same results as Math.floor for positive numbers and Math.ceil for negative ones.\n * Almost identical functionality to Math.trunc and parseInt.\n * The difference is if the argument is NaN. Math.trunc returns NaN while ths fuction returns 0.\n * In performance tests, this function was found to be quicker than the alternatives.\n * @param {Number} float The complex number to convert to an integer\n */\n static toInt(float) {\n return float | 0;\n }\n /***\n * Takes either a jDate or a Date and returns both\n * @param date {Date |jDate}\n * @returns {{ sdate:Date, jdate:jDate }}\n */\n static bothDates(date) {\n const jdate = date instanceof Date ? new jDate(date) : date;\n const sdate = date instanceof Date ? date : jdate.getDate();\n return { sdate, jdate };\n }\n /** Returns true if \"thing\" is either a string primitive or String object.*/\n static isString(thing) {\n return typeof thing === \"string\" || thing instanceof String;\n }\n /** Returns true if \"thing\" is either a number primitive or a Number object.*/\n static isNumber(thing) {\n return typeof thing === \"number\" || thing instanceof Number;\n }\n /** Returns true if \"thing\" is a Date object containing a valid date.*/\n static isValidDate(thing) {\n return thing instanceof Date && !isNaN(thing.valueOf());\n }\n /** Returns whether or not the given, array, string, or argument list contains the given item or substring.\n *\n * This function is awfully similar to Array.includes, but has the added plus of accepting any number or type of arguments.*/\n static has(o, ...arr) {\n if (arr.length === 1 && (Array.isArray(arr[0]) || _Utils.isString(arr[0]))) {\n return arr[0].includes(o);\n } else {\n return arr.includes(o);\n }\n }\n /** Returns the first value unless it is undefined, null or NaN.\n *\n * This is very useful for boolean, string and integer parameters\n * where we want to keep false, \"\" and 0 if they were supplied.\n *\n * Similar purpose to default parameters with the difference being that this function will return\n * the second value if the first is NaN or null, while default params will give give you the NaN or the null.\n */\n static setDefault(paramValue, defValue) {\n if (typeof paramValue === \"undefined\" || paramValue === null || isNaN(paramValue)) {\n return defValue;\n } else {\n return paramValue;\n }\n }\n /**\n * Returns an array containing a range of integers.\n * @param {Number} [start] The number to start at. The start number is included in the results.\n * If only one argument is supplied, start will be set to 1.\n * @param {Number} end The top end of the range.\n * Unlike Pythons range function, The end number is included in the results.\n * @returns {[Number]}\n */\n static range(start, end) {\n const startNumber = typeof end === \"undefined\" ? 1 : start, endNumber = typeof end === \"undefined\" ? start : end;\n return Array.from({ length: endNumber - startNumber + 1 }, (v, i) => startNumber + i);\n }\n /**\n * Log message to console\n * @param {string} txt\n */\n static log(txt, ...optionalItems) {\n if (__DEV__) {\n console.log(txt, ...optionalItems);\n }\n }\n /**\n * Warn message to console\n * @param {string} txt\n */\n static warn(txt, ...optionalItems) {\n if (__DEV__) {\n console.warn(txt, ...optionalItems);\n }\n }\n /**\n * Error message to console\n * @param {*} txt\n */\n static error(txt, ...optionalItems) {\n if (__DEV__) {\n console.error(txt, ...optionalItems);\n }\n }\n};\n_Utils.jsd = [\"\\u05D0\", \"\\u05D1\", \"\\u05D2\", \"\\u05D3\", \"\\u05D4\", \"\\u05D5\", \"\\u05D6\", \"\\u05D7\", \"\\u05D8\"];\n_Utils.jtd = [\"\\u05D9\", \"\\u05DB\", \"\\u05DC\", \"\\u05DE\", \"\\u05E0\", \"\\u05E1\", \"\\u05E2\", \"\\u05E4\", \"\\u05E6\"];\n_Utils.jhd = [\"\\u05E7\", \"\\u05E8\", \"\\u05E9\", \"\\u05EA\"];\n_Utils.jsnum = [\"\", \"\\u05D0\\u05D7\\u05D3\", \"\\u05E9\\u05E0\\u05D9\\u05DD\", \"\\u05E9\\u05DC\\u05E9\\u05D4\", \"\\u05D0\\u05E8\\u05D1\\u05E2\\u05D4\", \"\\u05D7\\u05DE\\u05E9\\u05D4\", \"\\u05E9\\u05E9\\u05D4\", \"\\u05E9\\u05D1\\u05E2\\u05D4\", \"\\u05E9\\u05DE\\u05D5\\u05E0\\u05D4\", \"\\u05EA\\u05E9\\u05E2\\u05D4\"];\n_Utils.jtnum = [\"\", \"\\u05E2\\u05E9\\u05E8\", \"\\u05E2\\u05E9\\u05E8\\u05D9\\u05DD\", \"\\u05E9\\u05DC\\u05D5\\u05E9\\u05D9\\u05DD\", \"\\u05D0\\u05E8\\u05D1\\u05E2\\u05D9\\u05DD\"];\nvar Utils = _Utils;\n\n// src/JCal/Location.ts\nvar Location = class _Location {\n /**\n * Describe a new Location.\n * @param {String} name The name of the Location\n * @param {String} nameHeb The name of the Location\n * @param {Boolean} israel Is this Location in Israel?\n * @param {Number} latitude\n * @param {Number} longitude\n * @param {Number} utcOffset The time zone. Israel is 2 and New York is -5.\n * @param {Number} elevation Elevation in meters\n * @param {Number} [candleLighting] Number of minutes before sunset the candles are lit on Friday\n */\n constructor(name, nameHeb, israel2, latitude, longitude, utcOffset, elevation, candleLighting) {\n if (typeof israel2 === \"undefined\" || israel2 === null) {\n israel2 = latitude > 29.45 && latitude < 33 && longitude < -34.23 && longitude > -35.9;\n }\n if (israel2) {\n utcOffset = 2;\n } else if (typeof utcOffset === \"undefined\" || utcOffset === null) {\n utcOffset = -Math.round(longitude / 15);\n }\n this.Name = name || \"Unknown Location\";\n this.NameHebrew = nameHeb;\n this.Israel = !!israel2;\n this.Latitude = latitude;\n this.Longitude = longitude;\n this.UTCOffset = utcOffset || 0;\n this.Elevation = elevation || 0;\n this.CandleLighting = candleLighting || _Location.getCandles(this);\n }\n static clone(location) {\n return new _Location(\n location.Name,\n location.NameHebrew,\n location.Israel,\n location.Latitude,\n location.Longitude,\n location.UTCOffset,\n location.Elevation,\n location.CandleLighting || 0\n );\n }\n static getCandles(location) {\n if (location.CandleLighting) {\n return location.CandleLighting;\n } else if (!location.Israel) {\n return 18;\n } else {\n const special = [\n { names: [\"jerusalem\", \"yerush\", \"petach\", \"petah\", \"petak\", \"beit shemesh\", \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", \"\\u05E4\\u05EA\\u05D7 \\u05EA\\u05E7\\u05D5\\u05D4\", \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05DE\\u05E9\"], min: 40 },\n { names: [\"haifa\", \"chaifa\", \"be'er sheva\", \"beersheba\", \"\\u05D7\\u05D9\\u05E4\\u05D4\", \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\"], min: 22 }\n ], loclc = location.Name.toLowerCase(), city = special.find((sp) => {\n return sp.names.find((spi) => {\n return loclc.indexOf(spi) > -1;\n });\n });\n return city ? city.min : 30;\n }\n }\n /**Gets the Location for Jerusalem.*/\n static getJerusalem() {\n return new _Location(\"Jerusalem\", \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", true, 31.78, -35.22, 2, 800, 40);\n }\n /**Gets the Location for Lakewood NJ*/\n static getLakewood() {\n return new _Location(\"Lakewood NJ\", void 0, false, 40.1, 74.23, -5, 0, 18);\n }\n};\n\n// src/Locations.ts\nimport { distance } from \"closest-match\";\n\n// src/locations.json\nvar locations_default = [{ name: \"Ofakim\", heb: \"\\u05D0\\u05D5\\u05E4\\u05E7\\u05D9\\u05DD\", il: true, tz: 2, el: 170, lat: 31.32, lon: -34.62 }, { name: \"Eilat\", heb: \"\\u05D0\\u05D9\\u05DC\\u05EA\", il: true, tz: 2, lat: 29.55, lon: -34.95 }, { name: \"Elad\", heb: \"\\u05D0\\u05DC\\u05E2\\u05D3\", il: true, tz: 2, el: 150, lat: 32.05, lon: -34.95 }, { name: \"Ashdod\", heb: \"\\u05D0\\u05E9\\u05D3\\u05D5\\u05D3\", il: true, tz: 2, lat: 31.78, lon: -34.63 }, { name: \"Ashkelon\", heb: \"\\u05D0\\u05E9\\u05E7\\u05DC\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.65, lon: -34.57 }, { name: \"Be'er Ya'akov\", heb: \"\\u05D1\\u05D0\\u05E8 \\u05D9\\u05E2\\u05E7\\u05D1\", il: true, tz: 2, lat: 31.93, lon: -34.83 }, { name: \"Bersheba\", heb: \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\", il: true, tz: 2, el: 270, lat: 31.23, lon: -34.78 }, { name: \"Beit She'an\", heb: \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05D0\\u05DF\", il: true, tz: 2, el: 0, lat: 32.5, lon: -35.5 }, { name: \"Beit Shemesh\", heb: \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05DE\\u05E9\", il: true, tz: 2, el: 300, lat: 31.73, lon: -34.98 }, { name: \"Beitar Illit\", heb: \"\\u05D1\\u05D9\\u05EA\\u05E8 \\u05E2\\u05DC\\u05D9\\u05EA\", il: true, tz: 2, el: 800, lat: 31.68, lon: -35.12 }, { name: \"Bnei Brak\", heb: \"\\u05D1\\u05E0\\u05D9 \\u05D1\\u05E8\\u05E7\", il: true, tz: 2, el: 70, lat: 32.08, lon: -34.82, cl: 21 }, { name: \"Binyamina\", heb: \"\\u05D1\\u05E0\\u05D9\\u05DE\\u05D9\\u05E0\\u05D4\", il: true, tz: 2, lat: 32.52, lon: -34.95 }, { name: \"Bat Yam\", heb: \"\\u05D1\\u05EA \\u05D9\\u05DD\", il: true, tz: 2, lat: 32.02, lon: -34.73 }, { name: \"Givat Zeev\", heb: \"\\u05D2\\u05D1\\u05E2\\u05EA \\u05D6\\u05D0\\u05D1\", il: true, tz: 2, lat: 31.87, lon: -35.17 }, { name: \"Givatayim\", heb: \"\\u05D2\\u05D1\\u05EA\\u05D9\\u05D9\\u05DD\", il: true, tz: 2, lat: 32.05, lon: -34.8 }, { name: \"Dimona\", heb: \"\\u05D3\\u05D9\\u05DE\\u05D5\\u05E0\\u05D4\", il: true, tz: 2, lat: 31.07, lon: -35.03 }, { name: \"Hertzeliya\", heb: \"\\u05D4\\u05E8\\u05E6\\u05DC\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.17, lon: -34.83 }, { name: \"Zichron Ya'akov\", heb: \"\\u05D6\\u05DB\\u05E8\\u05D5\\u05DF \\u05D9\\u05E2\\u05E7\\u05D1\", il: true, tz: 2, el: 170, lat: 32.57, lon: -34.95 }, { name: \"Hebron\", heb: \"\\u05D7\\u05D1\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 950, lat: 31.53, lon: -35.08 }, { name: \"Hadera\", heb: \"\\u05D7\\u05D3\\u05E8\\u05D4\", il: true, tz: 2, lat: 32.43, lon: -34.92 }, { name: \"Holon\", heb: \"\\u05D7\\u05D5\\u05DC\\u05D5\\u05DF\", il: true, tz: 2, lat: 32.02, lon: -34.75 }, { name: \"Chispin\", heb: \"\\u05D7\\u05D9\\u05E1\\u05E4\\u05D9\\u05DF\", il: true, tz: 2, lat: 32.85, lon: -35.77 }, { name: \"Haifa\", heb: \"\\u05D7\\u05D9\\u05E4\\u05D4\", il: true, tz: 2, el: 370, lat: 32.8, lon: -34.98 }, { name: \"Chafetz Chaim\", heb: \"\\u05D7\\u05E4\\u05E5 \\u05D7\\u05D9\\u05D9\\u05DD\", il: true, tz: 2, el: 80, lat: 31.48, lon: -34.47 }, { name: \"Tiberius\", heb: \"\\u05D8\\u05D1\\u05E8\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.78, lon: -35.53 }, { name: \"Telz Stone\", heb: \"\\u05D8\\u05DC\\u05D6 \\u05E1\\u05D8\\u05D5\\u05DF\", il: true, tz: 2, el: 720, lat: 31.78, lon: -35.1 }, { name: \"Yerucham\", heb: \"\\u05D9\\u05E8\\u05D5\\u05D7\\u05DD\", il: true, tz: 2, lat: 30.98, lon: -34.92 }, { name: \"Jerusalem\", heb: \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\", il: true, tz: 2, el: 775, lat: 31.77, lon: -35.23, cl: 40 }, { name: \"Kfar Chabad\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05D7\\u05D1\\u05D3\", il: true, tz: 2, lat: 31.97, lon: -34.8 }, { name: \"Kfar Chasidim\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05D7\\u05E1\\u05D9\\u05D3\\u05D9\\u05DD\", il: true, tz: 2, el: 154, lat: 32.73, lon: -35.08 }, { name: \"Kfar Mimon\", heb: \"\\u05DB\\u05E4\\u05E8 \\u05DE\\u05D9\\u05D9\\u05DE\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.42, lon: -34.58 }, { name: \"Karmiel\", heb: \"\\u05DB\\u05E8\\u05DE\\u05D9\\u05D0\\u05DC\", il: true, tz: 2, lat: 32.92, lon: -35.3 }, { name: \"Lod\", heb: \"\\u05DC\\u05D5\\u05D3\", il: true, tz: 2, lat: 31.95, lon: -34.88 }, { name: \"Migdal Ha'Emek\", heb: \"\\u05DE\\u05D2\\u05D3\\u05DC \\u05D4\\u05E2\\u05DE\\u05E7\", il: true, tz: 2, lat: 32.67, lon: -35.23 }, { name: \"Meron\", heb: \"\\u05DE\\u05D9\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 900, lat: 32.98, lon: -35.43 }, { name: \"Ma'agalim\", heb: \"\\u05DE\\u05E2\\u05D2\\u05DC\\u05D9\\u05DD\", il: true, tz: 2, el: 150, lat: 31.48, lon: -34.67 }, { name: \"Ma'aleh Adumim\", heb: \"\\u05DE\\u05E2\\u05DC\\u05D4 \\u05D0\\u05D3\\u05D5\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, lat: 31.77, lon: -35.3 }, { name: \"Mitzpeh Ramon\", heb: \"\\u05DE\\u05E6\\u05E4\\u05D4 \\u05E8\\u05DE\\u05D5\\u05DF\", il: true, tz: 2, el: 892, lat: 30.62, lon: -34.8 }, { name: \"Ne'halel\", heb: \"\\u05E0\\u05D4\\u05DC\\u05DC\", il: true, tz: 2, lat: 32.67, lon: -35.23 }, { name: \"Nahariya\", heb: \"\\u05E0\\u05D4\\u05E8\\u05D9\\u05D4\", il: true, tz: 2, el: 25, lat: 33.02, lon: -35.1 }, { name: \"Nir Eztyon\", heb: \"\\u05E0\\u05D9\\u05E8 \\u05E2\\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, el: 220, lat: 32.7, lon: -34.98 }, { name: \"Nesher\", heb: \"\\u05E0\\u05E9\\u05E8\", il: true, tz: 2, lat: 32.73, lon: -35.08 }, { name: \"Netivot\", heb: \"\\u05E0\\u05EA\\u05D9\\u05D1\\u05D5\\u05EA\", il: true, tz: 2, el: 142, lat: 31.42, lon: -34.58 }, { name: \"Netanya\", heb: \"\\u05E0\\u05EA\\u05E0\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.33, lon: -34.87 }, { name: \"Ein Bokek\", heb: \"\\u05E2\\u05D9\\u05DF \\u05D1\\u05D5\\u05E7\\u05E7\", il: true, tz: 2, lat: 31.2, lon: -35.37 }, { name: \"Acre\", heb: \"\\u05E2\\u05DB\\u05D5\", il: true, tz: 2, lat: 32.93, lon: -35.08 }, { name: \"Eli\", heb: \"\\u05E2\\u05DC\\u05D9\", il: true, tz: 2, el: 720, lat: 32.07, lon: -35.27 }, { name: \"Afula\", heb: \"\\u05E2\\u05E4\\u05D5\\u05DC\\u05D4\", il: true, tz: 2, el: 60, lat: 32.6, lon: -35.28 }, { name: \"Etzyon Gaver\", heb: \"\\u05E2\\u05E6\\u05D9\\u05D5\\u05DF \\u05D2\\u05D1\\u05E8\", il: true, tz: 2, el: 5, lat: 29.53, lon: -34.95 }, { name: \"Arad\", heb: \"\\u05E2\\u05E8\\u05D3\", il: true, tz: 2, el: 640, lat: 31.27, lon: -35.22 }, { name: \"Pardes Chana\", heb: \"\\u05E4\\u05E8\\u05D3\\u05E1 \\u05D7\\u05E0\\u05D4\", il: true, tz: 2, lat: 32.47, lon: -34.97 }, { name: \"Petach Tikvah\", heb: \"\\u05E4\\u05EA\\u05D7 \\u05EA\\u05E7\\u05D5\\u05D5\\u05D4\", il: true, tz: 2, lat: 32.08, lon: -34.88, cl: 40 }, { name: \"Safed\", heb: \"\\u05E6\\u05E4\\u05EA\", il: true, tz: 2, el: 850, lat: 32.97, lon: -35.5 }, { name: \"Kedumim\", heb: \"\\u05E7\\u05D3\\u05D5\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, el: 487, lat: 32.22, lon: -35.15 }, { name: \"Komemiyut\", heb: \"\\u05E7\\u05D5\\u05DE\\u05DE\\u05D9\\u05D5\\u05EA\", il: true, tz: 2, el: 76, lat: 31.65, lon: -34.73 }, { name: \"Kiryat Arba\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D0\\u05E8\\u05D1\\u05E2\", il: true, tz: 2, el: 987, lat: 31.52, lon: -35.1 }, { name: \"Kiryat Gat\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D2\\u05EA\", il: true, tz: 2, el: 159, lat: 31.62, lon: -34.77 }, { name: \"Kityat Tivon\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D8\\u05D1\\u05E2\\u05D5\\u05DF\", il: true, tz: 2, el: 39, lat: 32.73, lon: -35.08 }, { name: \"Kiryat Yam\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05D9\\u05DD\", il: true, tz: 2, lat: 32.83, lon: -35.07 }, { name: \"Kiryat Malachi\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05DE\\u05DC\\u05D0\\u05DB\\u05D9\", il: true, tz: 2, lat: 31.73, lon: -34.75 }, { name: \"Modi'in Illit\", heb: \"\\u05DE\\u05D5\\u05D3\\u05D9\\u05E2\\u05D9\\u05DF \\u05E2\\u05D9\\u05DC\\u05D9\\u05EA\", il: true, tz: 2, el: 240, lat: 31.93, lon: -35.04, cl: 30 }, { name: \"Kiryat Shmona\", heb: \"\\u05E7\\u05E8\\u05D9\\u05EA \\u05E9\\u05DE\\u05D5\\u05E0\\u05D4\", il: true, tz: 2, lat: 33.2, lon: -35.57 }, { name: \"Rosh Ha'ayin\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E2\\u05D9\\u05DF\", il: true, tz: 2, el: 90, lat: 32.08, lon: -34.95 }, { name: \"Rosh Pina\", heb: \"\\u05E8\\u05D0\\u05E9 \\u05E4\\u05D9\\u05E0\\u05D4\", il: true, tz: 2, el: 131, lat: 32.97, lon: -35.48 }, { name: \"Rishon Le'Tzion\", heb: \"\\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05DC\\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, lat: 31.97, lon: -34.8 }, { name: \"Rehovot\", heb: \"\\u05E8\\u05D7\\u05D5\\u05D1\\u05D5\\u05EA\", il: true, tz: 2, el: 76, lat: 31.88, lon: -34.82 }, { name: \"Ramla\", heb: \"\\u05E8\\u05DE\\u05DC\\u05D4\", il: true, tz: 2, lat: 31.92, lon: -34.87 }, { name: \"Ramat Hasharon\", heb: \"\\u05E8\\u05DE\\u05EA \\u05D4\\u05E9\\u05E8\\u05D5\\u05DF\", il: true, tz: 2, el: 85, lat: 32.17, lon: -34.85 }, { name: \"Ramat Magshimim\", heb: \"\\u05E8\\u05DE\\u05EA \\u05DE\\u05D2\\u05E9\\u05D9\\u05DE\\u05D9\\u05DD\", il: true, tz: 2, el: 450, lat: 32.83, lon: -35.82 }, { name: \"Ra'anana\", heb: \"\\u05E8\\u05E2\\u05E0\\u05E0\\u05D4\", il: true, tz: 2, el: 71, lat: 32.17, lon: -34.85 }, { name: \"Shvi tzion\", heb: \"\\u05E9\\u05D1\\u05D9 \\u05E6\\u05D9\\u05D5\\u05DF\", il: true, tz: 2, lat: 33.02, lon: -35.1 }, { name: \"Nablus\", heb: \"\\u05E9\\u05DB\\u05DD\", il: true, tz: 2, el: 667, lat: 32.22, lon: -35.27 }, { name: \"Shalavim\", heb: \"\\u05E9\\u05DC\\u05E2\\u05D1\\u05D9\\u05DD\", il: true, tz: 2, el: 194, lat: 31.87, lon: 34.98 }, { name: \"Tushiya\", heb: \"\\u05EA\\u05D5\\u05E9\\u05D9\\u05D4\", il: true, tz: 2, lat: 31.42, lon: -34.58 }, { name: \"Tel Aviv\", heb: \"\\u05EA\\u05DC \\u05D0\\u05D1\\u05D9\\u05D1\", il: true, tz: 2, el: 20, lat: 32.07, lon: -34.77, cl: 21 }, { name: \"Tifrach\", heb: \"\\u05EA\\u05E4\\u05E8\\u05D7\", il: true, tz: 2, el: 173, lat: 31.32, lon: -34.67 }, { name: \"Nazereth\", heb: \"\\u05E0\\u05E6\\u05E8\\u05EA\", il: true, tz: 2, lat: 32.7, lon: -35.32 }, { name: \"Menachemya\", heb: \"\\u05DE\\u05E0\\u05D7\\u05DE\\u05D9\\u05D4\", il: true, tz: 2, lat: 32.6, lon: -35.55 }, { name: \"Ramot\", heb: \"\\u05E8\\u05DE\\u05D5\\u05EA\", il: true, tz: 2, el: 800, lat: 31.82, lon: -35.18 }, { name: \"Katzrin\", heb: \"\\u05E7\\u05E6\\u05E8\\u05D9\\u05DF\", il: true, tz: 2, lat: 32.98, lon: -35.68 }, { name: \"Hashmonaim\", heb: \"\\u05D7\\u05E9\\u05DE\\u05D5\\u05E0\\u05D0\\u05D9\\u05DD\", il: true, tz: 2, el: 255, lat: 31.93, lon: -35.02 }, { name: \"Laniado\", heb: \"\\u05DC\\u05E0\\u05D9\\u05D0\\u05D3\\u05D5 / \\u05E0\\u05EA\\u05E0\\u05D9\\u05D4\", il: true, tz: 2, el: 26, lat: 32.33, lon: -34.87 }, { name: \"Melbourne\", tz: 10, el: 35, lat: -37.82, lon: -144.97 }, { name: \"Aukland\", tz: 12, lat: -36.87, lon: -174.77 }, { name: \"Boisbriand\", tz: -5, lat: 45.62, lon: 73.85 }, { name: \"Ottawa\", tz: -5, lat: 45.42, lon: 75.7 }, { name: \"Winnipeg\", tz: -6, lat: 49.88, lon: 97.13 }, { name: \"Toronto\", tz: -5, el: 175, lat: 43.68, lon: 79.43 }, { name: \"Montreal\", tz: -5, el: 30, lat: 45.52, lon: 73.57 }, { name: \"Eidenburg\", tz: 0, el: 134, lat: 55.92, lon: 3.18 }, { name: \"Algeria\", tz: 1, lat: 36.82, lon: 2.98 }, { name: \"Bogota\", tz: -5, lat: 4.77, lon: 74.1 }, { name: \"Brasilia\", tz: -3, lat: 15.77, lon: 48.02 }, { name: \"Goteborg\", tz: 1, el: 100, lat: 57.7, lon: -11.95 }, { name: \"Victoria\", tz: 8, lat: 22.25, lon: -114.23 }, { name: \"Touson\", tz: -7, lat: 32.22, lon: 110.97 }, { name: \"Tunville\", tz: 1, lat: 49.4, lon: -6.17 }, { name: \"Tkuarembo\", tz: -3, lat: -31.7, lon: 55.98 }, { name: \"Trumso\", tz: 1, lat: 69.67, lon: -18.97 }, { name: \"Johannesburg\", tz: 2, el: 1655, lat: -26.3, lon: -28.18 }, { name: \"Montevideo\", tz: -3, el: 22, lat: -34.83, lon: 56.23 }, { name: \"Meedan Columbia\", tz: -5, lat: 6.23, lon: 75.58 }, { name: \"Mexico City\", tz: -6, lat: 19.45, lon: 98.95 }, { name: \"New Delhi\", tz: 5, lat: 28.58, lon: -77.22 }, { name: \"Narwik\", tz: 1, lat: 68.43, lon: -17.42 }, { name: \"San Jose De Mayo\", tz: -3, lat: -34.35, lon: 56.72 }, { name: \"San Paulo\", tz: -3, el: 790, lat: -23.6, lon: 46.67 }, { name: \"Sunderland\", tz: 0, lat: 54.93, lon: 1.43 }, { name: \"Salford\", tz: 0, lat: 53.5, lon: 2.25 }, { name: \"San Jusinto Uruguay\", tz: -3, lat: -34.55, lon: 55.87 }, { name: \"New Square\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"Palm Springs\", tz: -8, el: 125, lat: 33.83, lon: 116.67 }, { name: \"Formosa\", tz: -3, lat: -26.18, lon: 58.17 }, { name: \"Panama\", tz: -5, lat: 9.92, lon: 79.93 }, { name: \"Perta\", tz: 8, lat: -32, lon: -115.83 }, { name: \"Peking\", tz: 8, lat: 39.97, lon: -116.45 }, { name: \"Zandiger (India)\", tz: 5, lat: 30.73, lon: -76.78 }, { name: \"The Equator\", tz: 0, lat: 0, lon: 0 }, { name: \"South Pole\", tz: 0, lat: -90, lon: 0 }, { name: \"North Pole\", tz: 0, lat: 90, lon: 0 }, { name: \"Caracas, Venezuela\", tz: -4, lat: 10.37, lon: 66.88 }, { name: \"Robonimi\", tz: 1, lat: 66.48, lon: -25.7 }, { name: \"Rio De Jinero\", tz: -3, lat: -22.85, lon: 43.68 }, { name: \"Phoenix\", tz: -7, lat: 33.43, lon: 112.07 }, { name: \"Lucerne\", tz: 1, lat: 47.05, lon: -8.32 }, { name: \"Odessa\", tz: 2, lat: 46.48, lon: -30.72 }, { name: \"Uman\", tz: 2, lat: 48.73, lon: -30.23 }, { name: \"Ifran\", tz: 0, lat: 33.53, lon: 5.1 }, { name: \"Alsund Norway\", tz: 1, lat: 62.47, lon: -6.18 }, { name: \"Athens\", tz: 2, lat: 37.97, lon: -23.72 }, { name: \"Bad\", tz: 1, lat: 50.2, lon: -10.08 }, { name: \"Bucharest\", tz: 2, lat: 44.38, lon: -26.4 }, { name: \"Gomel\", tz: 2, lat: 52.38, lon: -30.83 }, { name: \"Gibraltar\", tz: 1, lat: 36.13, lon: 5.35 }, { name: \"Gateside\", tz: 0, lat: 54.95, lon: 1.6 }, { name: \"Vienna\", tz: 1, lat: 48.22, lon: -16.37 }, { name: \"Venice\", tz: 1, lat: 45.38, lon: -12.47 }, { name: \"Warsaw\", tz: 1, lat: 52.23, lon: -21 }, { name: \"Toulon\", tz: 1, lat: 43.15, lon: -5.87 }, { name: \"Torberey Scotland\", tz: 0, lat: 55.3, lon: 4.82 }, { name: \"Lusan\", tz: 1, el: 375, lat: 46.53, lon: -6.62 }, { name: \"London\", tz: 0, el: 45, lat: 51.6, lon: 0.1 }, { name: \"Luxenbourg\", tz: 1, lat: 49.67, lon: -6.17 }, { name: \"Liverpool\", tz: 0, lat: 53.42, lon: 2.98 }, { name: \"Leeds\", tz: 0, lat: 53.8, lon: 1.57 }, { name: \"Medisimo Italy\", tz: 1, el: 1500, lat: 46.43, lon: -9.33 }, { name: \"Madrid\", tz: 1, lat: 40.4, lon: 3.7 }, { name: \"Monterrey, Mexico\", tz: 1, lat: 46.4, lon: -6.87 }, { name: \"Moscow\", tz: 3, el: 154, lat: 55.75, lon: -37.62 }, { name: \"Milano\", tz: 1, el: 122, lat: 45.45, lon: -9.18 }, { name: \"Minsk\", tz: 2, lat: 53.87, lon: -27.82 }, { name: \"Malaga\", tz: 1, lat: 36.7, lon: 4.42 }, { name: \"Manchester\", tz: 0, lat: 53.5, lon: 2.23 }, { name: \"Meknes\", tz: 0, lat: 33.9, lon: 5.57 }, { name: \"Marseille\", tz: 1, lat: 43.3, lon: -5.32 }, { name: \"Marrakech\", tz: 0, lat: 31.6, lon: 7.98 }, { name: \"New Castle\", tz: 0, lat: 54.95, lon: 1.62 }, { name: \"Nice France\", tz: 1, lat: 43.7, lon: -7.18 }, { name: \"Fes\", tz: 0, lat: 34.03, lon: 4.98 }, { name: \"Prague\", tz: 1, el: 180, lat: 50.08, lon: -14.42 }, { name: \"Frankfurt\", tz: 1, lat: 50.12, lon: -8.65 }, { name: \"Frankfurt On Maine\", tz: 1, lat: 50.1, lon: -8.68 }, { name: \"Zurich\", tz: 1, el: 410, lat: 47.37, lon: -8.53 }, { name: \"Copenhagen\", tz: 1, lat: 55.77, lon: -12.33 }, { name: \"Casablanca\", tz: 0, lat: 33.58, lon: 7.58 }, { name: \"Kiev\", tz: 2, lat: 50.43, lon: -30.52 }, { name: \"Colon\", tz: 1, el: 46, lat: 50.9, lon: -6.93 }, { name: \"Robet\", tz: 0, lat: 34.02, lon: 6.8 }, { name: \"Rodes\", tz: 2, lat: 36.4, lon: -28.18 }, { name: \"Rome\", tz: 1, lat: 41.9, lon: -12.5 }, { name: \"Shpolgen\", tz: 1, lat: 46.55, lon: -9.32 }, { name: \"Baku\", tz: 2, lat: 40.4, lon: -49.82 }, { name: \"Tarvisio\", tz: 1, lat: 46.5, lon: -13.58 }, { name: \"windischgarsten\", tz: 1, lat: 47.72, lon: -14.32 }, { name: \"Nesslau\", tz: 1, lat: 47.2, lon: -9.2 }, { name: \"Deerfield Beach\", tz: -5, lat: 26.32, lon: 80.08 }, { name: \"Hartford CT\", tz: -5, lat: 41.75, lon: 72.7 }, { name: \"Boro Park, Brooklyn NY\", tz: -5, lat: 40.63, lon: 74 }, { name: \"Brooklyn NY\", tz: -5, lat: 40.63, lon: 73.95 }, { name: \"Denver\", tz: -7, el: 1601, lat: 39.75, lon: 104.93 }, { name: \"Houston\", tz: -6, el: 29, lat: 29.83, lon: 95.35 }, { name: \"Hollywood\", tz: -5, el: 8, lat: 26.1, lon: 80.2 }, { name: \"Washington DC\", tz: -5, lat: 38.9, lon: 77.03 }, { name: \"Los Angeles\", tz: -8, lat: 34.05, lon: 118.23 }, { name: \"Lakewood NJ\", tz: -5, lat: 40.1, lon: 74.23 }, { name: \"Monticello NY\", tz: -5, lat: 41.65, lon: 74.73 }, { name: \"Monsey NY\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"Miami\", tz: -5, el: 2, lat: 25.83, lon: 80.27 }, { name: \"Miami Beach\", tz: -5, el: 3, lat: 25.78, lon: 80.28 }, { name: \"Milwaukee\", tz: -6, lat: 43.03, lon: 87.92 }, { name: \"Miniappolis\", tz: -6, el: 253, lat: 44.88, lon: 93.22 }, { name: \"Memphis TN\", tz: -6, lat: 35.13, lon: 90.03 }, { name: \"New Orleans\", tz: -6, el: 1, lat: 30, lon: 90.12 }, { name: \"New Square NY\", tz: -5, lat: 41.1, lon: 74.07 }, { name: \"San Juan\", tz: -8, lat: 37.33, lon: 121.88 }, { name: \"San Diego\", tz: -8, lat: 32.72, lon: 117.13 }, { name: \"Saint Louis\", tz: -6, lat: 38.65, lon: 90.32 }, { name: \"Pittsburgh\", tz: -5, lat: 40.4, lon: 80.03 }, { name: \"Philadelphia\", tz: -5, lat: 39.93, lon: 75.17 }, { name: \"Providence RI\", tz: -5, lat: 41.82, lon: 71.4 }, { name: \"Kansas City\", tz: -6, el: 225, lat: 39.1, lon: 94.6 }, { name: \"Kiryas Joel NY\", tz: -5, lat: 41.33, lon: 74.17 }, { name: \"Cali\", tz: -5, lat: 3.45, lon: 76.52 }, { name: \"Medellin\", tz: -5, lat: 6.25, lon: 75.57 }, { name: \"Honolulu\", tz: -10, lat: 21.32, lon: 157.83 }, { name: \"Santiago de Chile\", tz: -4, lat: -33.45, lon: 70.67 }, { name: \"Nairobi\", tz: 3, lat: -1.28, lon: -36.82 }, { name: \"Taipei\", tz: 8, lat: 25.05, lon: -121.5 }, { name: \"Rangun (GMT+6)\", tz: 6, lat: 16.78, lon: -96.17 }, { name: \"Rangun (GMT+7)\", tz: 7, lat: 16.78, lon: -96.17 }, { name: \"Rio de Janeiro\", tz: -3, lat: -22.9, lon: 43.25 }, { name: \"Kapstadt (Capetown)\", tz: 2, lat: -33.9, lon: -18.37 }, { name: \"San Juan (P.R.)\", tz: -4, lat: 18.47, lon: 66.1 }, { name: \"Elizabeth, N.J, US\", tz: -5, lat: 40.67, lon: 74.18 }, { name: \"Aach\", tz: 1, lat: 47.83, lon: -8.85 }, { name: \"Adelsheim\", tz: 1, lat: 49.4, lon: -9.38 }, { name: \"Altlandsberg\", tz: 1, lat: 52.55, lon: -13.72 }, { name: \"Angerm\\xFCnde\", tz: 1, lat: 53.02, lon: -14 }, { name: \"Anklam\", tz: 1, lat: 53.85, lon: -13.68 }, { name: \"Annaberg\", tz: 1, lat: 57.52, lon: -13.43 }, { name: \"Ansbach\", tz: 1, lat: 49.28, lon: -10.57 }, { name: \"Apolda\", tz: 1, lat: 51.02, lon: -11.52 }, { name: \"Arnstadt\", tz: 1, lat: 50.83, lon: -10.95 }, { name: \"Aschersleben\", tz: 1, lat: 51.75, lon: -11.45 }, { name: \"Bad Berka\", tz: 1, lat: 50.9, lon: -11.28 }, { name: \"Bad Cannstatt\", tz: 1, lat: 48.8, lon: -9.18 }, { name: \"Bad Freienwalde\", tz: 1, lat: 52.78, lon: -14.02 }, { name: \"Bad Gottleuba\", tz: 1, lat: 50.85, lon: -13.93 }, { name: \"Bad Krozingen\", tz: 1, lat: 47.92, lon: -7.72 }, { name: \"Bad Mergenheim\", tz: 1, lat: 49.5, lon: -9.77 }, { name: \"Bad Mingolsheim\", tz: 1, lat: 49.23, lon: -8.65 }, { name: \"Bad Rappenau\", tz: 1, lat: 49.32, lon: -9.1 }, { name: \"Bad Salzungen\", tz: 1, lat: 50.8, lon: -10.22 }, { name: \"Bad Wilznack\", tz: 1, lat: 52.95, lon: -11.95 }, { name: \"Bad Wimpfen\", tz: 1, lat: 49.23, lon: -9.15 }, { name: \"Baiersdorf\", tz: 1, lat: 49.65, lon: -11.02 }, { name: \"Ballenstedt\", tz: 1, lat: 51.72, lon: -11.23 }, { name: \"Barby\", tz: 1, lat: 51.97, lon: -11.88 }, { name: \"Bautzen\", tz: 1, lat: 51.18, lon: -14.43 }, { name: \"Beelitz\", tz: 1, lat: 52.23, lon: -12.97 }, { name: \"Beeskow\", tz: 1, lat: 52.17, lon: -14.23 }, { name: \"Bernau\", tz: 1, lat: 47.8, lon: -12.37 }, { name: \"Bernburg\", tz: 1, lat: 51.8, lon: -11.73 }, { name: \"Biesenthal\", tz: 1, lat: 52.77, lon: -13.62 }, { name: \"Bleicherode\", tz: 1, lat: 51.43, lon: -10.57 }, { name: \"Boizenburg\", tz: 1, lat: 53.37, lon: -10.72 }, { name: \"Borna\", tz: 1, lat: 51.32, lon: -13.18 }, { name: \"Breisach\", tz: 1, lat: 48.02, lon: -7.67 }, { name: \"Br\\xFCel\", tz: 1, lat: 53.73, lon: -11.72 }, { name: \"Burg\", tz: 1, lat: 52.27, lon: -11.85 }, { name: \"B\\xFCtzow\", tz: 1, lat: 53.83, lon: -11.98 }, { name: \"Calbe\", tz: 1, lat: 51.9, lon: -11.77 }, { name: \"Calv\\xF6rde\", tz: 1, lat: 52.38, lon: -11.28 }, { name: \"Caputh\", tz: 1, lat: 52.35, lon: -13 }, { name: \"Coesfeld\", tz: 1, lat: 51.93, lon: -7.17 }, { name: \"Coswig\", tz: 1, lat: 51.88, lon: -12.43 }, { name: \"Crivitz\", tz: 1, lat: 53.58, lon: -11.63 }, { name: \"Dargun\", tz: 1, lat: 53.9, lon: -12.85 }, { name: \"Deggendorf\", tz: 1, lat: 48.85, lon: -12.98 }, { name: \"Delitzsch\", tz: 1, lat: 51.52, lon: -12.33 }, { name: \"Aachen\", tz: 1, lat: 50.78, lon: -6.08 }, { name: \"Altensteig\", tz: 1, lat: 48.58, lon: -8.6 }, { name: \"Amberg\", tz: 1, lat: 49.45, lon: -11.87 }, { name: \"Augsburg\", tz: 1, lat: 48.38, lon: -10.88 }, { name: \"Aurich\", tz: 1, lat: 53.47, lon: -7.48 }, { name: \"Bad Kissingen\", tz: 1, lat: 50.2, lon: -10.05 }, { name: \"Bad Kreuznach\", tz: 1, lat: 49.87, lon: -7.85 }, { name: \"Bad Nauheim\", tz: 1, lat: 50.37, lon: -8.73 }, { name: \"Baden-Baden\", tz: 1, lat: 48.77, lon: -8.23 }, { name: \"Bamberg\", tz: 1, lat: 49.88, lon: -10.88 }, { name: \"Bayreuth\", tz: 1, lat: 49.95, lon: -11.58 }, { name: \"Berlin\", tz: 1, lat: 52.52, lon: -13.38 }, { name: \"Bielefeld\", tz: 1, lat: 52.02, lon: -8.52 }, { name: \"Bonn\", tz: 1, lat: 50.73, lon: -7.1 }, { name: \"Brandenburg\", tz: 1, lat: 52.4, lon: -12.53 }, { name: \"Braunschweig\", tz: 1, lat: 52.27, lon: -10.52 }, { name: \"Bremen\", tz: 1, lat: 53.07, lon: -8.82 }, { name: \"Bremerhaven\", tz: 1, lat: 53.55, lon: -8.57 }, { name: \"Calw\", tz: 1, lat: 48.72, lon: -8.73 }, { name: \"Celle\", tz: 1, lat: 52.62, lon: -10.08 }, { name: \"Chemnitz\", tz: 1, lat: 50.83, lon: -12.92 }, { name: \"Cottbus\", tz: 1, lat: 51.75, lon: -14.32 }, { name: \"Dachau\", tz: 1, lat: 48.25, lon: -11.45 }, { name: \"Darmstadt\", tz: 1, lat: 49.88, lon: -8.67 }, { name: \"Dessau\", tz: 1, lat: 51.83, lon: -12.23 }, { name: \"Dortmund\", tz: 1, lat: 51.52, lon: -7.47 }, { name: \"Dresden\", tz: 1, lat: 51.05, lon: -13.73 }, { name: \"Duisburg\", tz: 1, lat: 51.42, lon: -6.77 }, { name: \"D\\xFCsseldorf\", tz: 1, lat: 51.2, lon: -6.78 }, { name: \"Emmendingen\", tz: 1, lat: 48.12, lon: -7.83 }, { name: \"Erfurt\", tz: 1, lat: 50.97, lon: -11.02 }, { name: \"Essen/Ruhr\", tz: 1, lat: 51.47, lon: -7.02 }, { name: \"Frankfurt/Main\", tz: 1, lat: 50.12, lon: -8.67 }, { name: \"Frankfurt/Oder\", tz: 1, lat: 52.33, lon: -14.55 }, { name: \"Freiburg i. Br.\", tz: 1, lat: 47.98, lon: -7.85 }, { name: \"F\\xFCrth\", tz: 1, lat: 49.47, lon: -10.98 }, { name: \"Fulda\", tz: 1, lat: 50.55, lon: -9.68 }, { name: \"Gelsenkirchen\", tz: 1, lat: 51.52, lon: -7.12 }, { name: \"Gie\\xDFen\", tz: 1, lat: 50.58, lon: -8.67 }, { name: \"G\\xF6ttingen\", tz: 1, lat: 51.53, lon: -9.92 }, { name: \"Grabow\", tz: 1, lat: 53.27, lon: -11.57 }, { name: \"Hagen (Westf)\", tz: 1, lat: 51.37, lon: -7.47 }, { name: \"Halle/Saale\", tz: 1, lat: 51.48, lon: -11.97 }, { name: \"Hamburg\", tz: 1, lat: 53.55, lon: -9.98 }, { name: \"Hameln\", tz: 1, lat: 52.1, lon: -9.35 }, { name: \"Hannover\", tz: 1, lat: 52.4, lon: -9.73 }, { name: \"Havelberg\", tz: 1, lat: 52.83, lon: -12.07 }, { name: \"Heidelberg\", tz: 1, lat: 49.42, lon: -8.72 }, { name: \"Herford\", tz: 1, lat: 52.1, lon: -8.67 }, { name: \"Hessisch Oldendorf\", tz: 1, lat: 52.17, lon: -9.25 }, { name: \"Hildesheim\", tz: 1, lat: 52.15, lon: -9.95 }, { name: \"Hof\", tz: 1, lat: 50.3, lon: -11.92 }, { name: \"Idar-Oberstein\", tz: 1, lat: 49.7, lon: -7.32 }, { name: \"Kaiserslautern\", tz: 1, lat: 49.43, lon: -7.77 }, { name: \"Karlsruhe\", tz: 1, lat: 49.05, lon: -8.4 }, { name: \"Kassel\", tz: 1, lat: 51.32, lon: -9.47 }, { name: \"Kiel\", tz: 1, lat: 54.33, lon: -10.13 }, { name: \"Kleinmachnow\", tz: 1, lat: 52.4, lon: -13.25 }, { name: \"Koblenz\", tz: 1, lat: 50.35, lon: -7.58 }, { name: \"K\\xF6ln\", tz: 1, lat: 50.93, lon: -6.98 }, { name: \"Krefeld\", tz: 1, lat: 51.33, lon: -6.57 }, { name: \"Leipzig\", tz: 1, lat: 51.32, lon: -12.33 }, { name: \"L\\xF6rrach\", tz: 1, lat: 47.62, lon: -7.67 }, { name: \"L\\xFCbeck\", tz: 1, lat: 53.87, lon: -10.67 }, { name: \"Ludwigshafen\", tz: 1, lat: 49.48, lon: -8.43 }, { name: \"Ludwigslust\", tz: 1, lat: 53.32, lon: -11.5 }, { name: \"Magdeburg\", tz: 1, lat: 52.12, lon: -11.63 }, { name: \"Mainz\", tz: 1, lat: 50.02, lon: -8.27 }, { name: \"Mannheim\", tz: 1, lat: 49.48, lon: -8.47 }, { name: \"Marburg\", tz: 1, lat: 50.82, lon: -8.77 }, { name: \"Minden\", tz: 1, lat: 52.28, lon: -8.92 }, { name: \"M\\xF6nchengladbach\", tz: 1, lat: 51.2, lon: -6.47 }, { name: \"M\\xFCnchen\", tz: 1, lat: 48.13, lon: -11.57 }, { name: \"Nagold\", tz: 1, lat: 48.55, lon: -8.72 }, { name: \"Neum\\xFCnster\", tz: 1, lat: 54.07, lon: -9.98 }, { name: \"Neuruppin\", tz: 1, lat: 52.92, lon: -12.8 }, { name: \"Neustadt/Weinstra\\xDFe\", tz: 1, lat: 49.35, lon: -8.13 }, { name: \"Neustrelitz\", tz: 1, lat: 53.35, lon: -13.07 }, { name: \"N\\xFCrnberg\", tz: 1, lat: 49.45, lon: -11.07 }, { name: \"Offenbach\", tz: 1, lat: 50.13, lon: -8.78 }, { name: \"Oldenburg\", tz: 1, lat: 53.13, lon: -8.22 }, { name: \"Oldenburg in Holstein\", tz: 1, lat: 54.28, lon: -10.87 }, { name: \"Osnabr\\xFCck\", tz: 1, lat: 52.27, lon: -8.03 }, { name: \"Paderborn\", tz: 1, lat: 51.72, lon: -8.73 }, { name: \"Perleberg\", tz: 1, lat: 53.07, lon: -11.85 }, { name: \"Pforzheim\", tz: 1, lat: 48.9, lon: -8.7 }, { name: \"Potsdam\", tz: 1, lat: 52.4, lon: -13.07 }, { name: \"Pritzwalk\", tz: 1, lat: 53.15, lon: -12.17 }, { name: \"Rathenow\", tz: 1, lat: 52.6, lon: -12.33 }, { name: \"Recklinghausen\", tz: 1, lat: 51.6, lon: -7.22 }, { name: \"Regensburg\", tz: 1, lat: 49.02, lon: -12.1 }, { name: \"Rinteln\", tz: 1, lat: 52.18, lon: -9.05 }, { name: \"Rostock\", tz: 1, lat: 54.08, lon: -12.12 }, { name: \"Saarbr\\xFCcken\", tz: 1, lat: 49.23, lon: -6.98 }, { name: \"Salzgitter\", tz: 1, lat: 52.17, lon: -10.42 }, { name: \"Schwerin\", tz: 1, lat: 53.63, lon: -11.42 }, { name: \"Sobernheim\", tz: 1, lat: 49.78, lon: -7.63 }, { name: \"Stendal\", tz: 1, lat: 52.6, lon: -11.85 }, { name: \"Straubing\", tz: 1, lat: 48.88, lon: -12.57 }, { name: \"Strausberg\", tz: 1, lat: 52.58, lon: -13.88 }, { name: \"Stuttgart\", tz: 1, lat: 48.77, lon: -9.18 }, { name: \"Trier\", tz: 1, lat: 49.75, lon: -6.63 }, { name: \"T\\xFCbingen\", tz: 1, lat: 48.52, lon: -9.03 }, { name: \"Weiden in der Oberpfalz\", tz: 1, lat: 49.68, lon: -12.17 }, { name: \"Wiesbaden\", tz: 1, lat: 50.08, lon: -8.23 }, { name: \"Wismar\", tz: 1, lat: 53.88, lon: -11.47 }, { name: \"Wittenberg\", tz: 1, lat: 51.87, lon: -12.65 }, { name: \"Wittenberge\", tz: 1, lat: 53, lon: -11.73 }, { name: \"Wittstock\", tz: 1, lat: 53.17, lon: -12.48 }, { name: \"W\\xF6rlitz\", tz: 1, lat: 51.83, lon: -12.42 }, { name: \"Wuppertal\", tz: 1, lat: 51.27, lon: -7.18 }, { name: \"W\\xFCrzburg\", tz: 1, lat: 49.8, lon: -9.93 }, { name: \"Basel\", tz: 1, lat: 47.63, lon: -7.67 }, { name: \"Bern\", tz: 1, lat: 46.95, lon: -7.43 }, { name: \"Bremgarten\", tz: 1, lat: 47.35, lon: -8.35 }, { name: \"Geneve\", tz: 1, lat: 46.2, lon: -6.15 }, { name: \"M\\xFCnsingen\", tz: 1, lat: 46.88, lon: -7.57 }, { name: \"Sankt Gallen\", tz: 1, lat: 47.42, lon: -9.38 }, { name: \"Vevey\", tz: 1, lat: 46.47, lon: -6.85 }, { name: \"Winterthur\", tz: 1, lat: 47.5, lon: -8.72 }, { name: \"Zug\", tz: 1, lat: 47.17, lon: -8.52 }, { name: \"Z\\xFCrich\", tz: 1, lat: 47.38, lon: -8.53 }, { name: \"Graz\", tz: 1, lat: 47.08, lon: -15.45 }, { name: \"Innsbruck\", tz: 1, lat: 47.27, lon: -11.4 }, { name: \"Linz\", tz: 1, lat: 48.3, lon: -14.3 }, { name: \"Salzburg\", tz: 1, lat: 47.8, lon: -13.03 }, { name: \"Wien\", tz: 1, lat: 48.22, lon: -16.33 }, { name: \"Antwerpen\", tz: 1, lat: 51.22, lon: -4.42 }, { name: \"Arlon\", tz: 1, lat: 49.68, lon: -5.82 }, { name: \"Br\\xFCssel\", tz: 1, lat: 50.83, lon: -4.33 }, { name: \"Charleroi\", tz: 1, lat: 50.42, lon: -4.43 }, { name: \"Gent\", tz: 1, lat: 51.05, lon: -3.72 }, { name: \"Knokke\", tz: 1, lat: 51.35, lon: -3.28 }, { name: \"Li\\xE9ge\", tz: 1, lat: 50.63, lon: -5.57 }, { name: \"Mons\", tz: 1, lat: 50.45, lon: -3.93 }, { name: \"Ostende\", tz: 1, lat: 51.22, lon: -2.9 }, { name: \"Amersfoort\", tz: 1, lat: 52.15, lon: -5.4 }, { name: \"Amsterdam\", tz: 1, lat: 52.37, lon: -4.9 }, { name: \"Arnheim\", tz: 1, lat: 52.02, lon: -5.88 }, { name: \"Bussum\", tz: 1, lat: 52.27, lon: -5.15 }, { name: \"Den Haag\", tz: 1, lat: 52.1, lon: -4.3 }, { name: \"Eindhoven\", tz: 1, lat: 51.43, lon: -5.47 }, { name: \"Enschede\", tz: 1, lat: 52.2, lon: -6.88 }, { name: \"Groningen\", tz: 1, lat: 53.22, lon: -6.55 }, { name: \"Hilversum\", tz: 1, lat: 52.23, lon: -5.15 }, { name: \"Leiden\", tz: 1, lat: 52.15, lon: -4.5 }, { name: \"Maastricht\", tz: 1, lat: 50.87, lon: -5.72 }, { name: \"Rotterdam\", tz: 1, lat: 51.92, lon: -4.47 }, { name: \"Tilburg\", tz: 1, lat: 51.57, lon: -5.08 }, { name: \"Utrecht\", tz: 1, lat: 52.08, lon: -5.13 }, { name: \"Zwolle\", tz: 1, lat: 52.5, lon: -6.08 }, { name: \"Crossen\", tz: 1, lat: 50.75, lon: -12.48 }, { name: \"Krakau\", tz: 1, lat: 50.05, lon: -19.95 }, { name: \"Lodz\", tz: 1, lat: 51.77, lon: -19.22 }, { name: \"Tarn\\xF3w\", tz: 1, lat: 52.78, lon: -14.97 }, { name: \"Warschau\", tz: 1, lat: 52.25, lon: -21 }, { name: \"Wroczlaw (Breslau)\", tz: 1, lat: 51.1, lon: -17 }, { name: \"Birobidzan\", tz: 9, lat: 48.8, lon: -132.95 }, { name: \"Irkutsk\", tz: 8, lat: 52.27, lon: -104.33 }, { name: \"Kiew\", tz: 2, lat: 50.43, lon: -30.52 }, { name: \"Moskau\", tz: 3, lat: 55.75, lon: -37.58 }, { name: \"St. Petersburg\", tz: 3, lat: 59.92, lon: -30.25 }, { name: \"Taschkent\", tz: 6, lat: 41.33, lon: -69.3 }, { name: \"Tblisi\", tz: 3, lat: 41.72, lon: -44.82 }, { name: \"Montreal, Fr.\", tz: 1, lat: 47.53, lon: -4.02 }, { name: \"Lausanne\", tz: 1, lat: 46.52, lon: -6.63 }, { name: \"Nice\", tz: 1, lat: 43.7, lon: -7.25 }, { name: \"Paris\", tz: 1, lat: 48.87, lon: -2.33 }, { name: \"Birmingham\", tz: 0, lat: 52.5, lon: 1.83 }, { name: \"Bradford\", tz: 0, lat: 53.8, lon: 1.75 }, { name: \"Bristol\", tz: 0, lat: 51.45, lon: 2.58 }, { name: \"Edinburgh\", tz: 0, lat: 55.95, lon: 3.22 }, { name: \"Gateshead\", tz: 0, lat: 54.97, lon: 1.62 }, { name: \"Glasgow\", tz: 0, lat: 55.88, lon: 4.25 }, { name: \"Sheffield\", tz: 0, lat: 53.38, lon: 1.5 }, { name: \"Belfast\", tz: 0, lat: 54.58, lon: 5.92 }, { name: \"Dublin\", tz: 0, lat: 53.33, lon: 6.25 }, { name: \"Tralee\", tz: 0, lat: 52.27, lon: 9.7 }, { name: \"Atlanta (Ga., US)\", tz: -5, lat: 33.75, lon: 84.38 }, { name: \"Baltimore, MD\", tz: -5, lat: 39.28, lon: 76.62 }, { name: \"Bentonville, Arkansas\", tz: -6, lat: 36.37, lon: 94.22 }, { name: \"Boston, MA\", tz: -5, lat: 42.35, lon: 71.07 }, { name: \"Buffalo\", tz: -5, lat: 42.9, lon: 78.88 }, { name: \"Burlington (VT, US)\", tz: -5, lat: 44.48, lon: 73.22 }, { name: \"Canton, Ohio\", tz: -5, lat: 40.78, lon: 81.37 }, { name: \"Charleston (S.C., US)\", tz: -5, lat: 32.78, lon: 79.93 }, { name: \"Charlotte (N.C., US)\", tz: -5, lat: 35.23, lon: 80.83 }, { name: \"Chicago\", tz: -6, lat: 41.88, lon: 87.63 }, { name: \"Cincinnati, OH\", tz: -5, lat: 39.1, lon: 84.63 }, { name: \"Cleveland (Ohio, US)\", tz: -5, lat: 41.5, lon: 81.68 }, { name: \"Columbus, OH\", tz: -5, lat: 39.95, lon: 83 }, { name: \"Dallas, TX\", tz: -6, lat: 32.78, lon: 96.8 }, { name: \"Denver (Colo., US)\", tz: -7, lat: 39.72, lon: 105.02 }, { name: \"Detroit, MI\", tz: -5, lat: 42.33, lon: 83.05 }, { name: \"Essexville, MI\", tz: -5, lat: 43.62, lon: 83.83 }, { name: \"Fairbanks, AK\", tz: -10, lat: 64.85, lon: 147.72 }, { name: \"Flagstaff, Arizona\", tz: -7, lat: 35.18, lon: 111.65 }, { name: \"Hartford (Conn., US)\", tz: -5, lat: 41.77, lon: 72.68 }, { name: \"Houston, TX\", tz: -6, lat: 29.77, lon: 95.37 }, { name: \"Indianapolis, Indiana\", tz: -6, lat: -19.03, lon: 47.92 }, { name: \"Kansas City (Kans., US)\", tz: -6, lat: 39.12, lon: 94.65 }, { name: \"Little Rock\", tz: -6, lat: 34.73, lon: 92.25 }, { name: \"Los Angeles (LA)\", tz: -8, lat: 34.05, lon: 118.25 }, { name: \"Louisville (Ky., US)\", tz: -5, lat: 38.25, lon: 85.75 }, { name: \"Madison (Wis., US)\", tz: -6, lat: 43.08, lon: 89.37 }, { name: \"Memphis (Tenn., US)\", tz: -6, lat: 35.13, lon: 90.05 }, { name: \"Miami, FL\", tz: -5, lat: 25.77, lon: 80.2 }, { name: \"Miami Beach, FL\", tz: -5, lat: 25.78, lon: 80.13 }, { name: \"Milwaukee (Wis., US)\", tz: -6, lat: 43.03, lon: 87.92 }, { name: \"Minneapolis, Minnesota\", tz: -6, lat: 44.98, lon: 93.22 }, { name: \"Mobile\", tz: -6, lat: 30.7, lon: 88.08 }, { name: \"Monticello\", tz: -5, lat: 41.65, lon: 74.7 }, { name: \"Naples (Fla., US)\", tz: -5, lat: 26.13, lon: 81.8 }, { name: \"Nashville (Tenn., US)\", tz: -6, lat: 36.15, lon: 86.8 }, { name: \"New Brunswick\", tz: -5, lat: 40.48, lon: 74.45 }, { name: \"New Haven (Conn., US)\", tz: -5, lat: 41.3, lon: 72.93 }, { name: \"New Orleans, Louisiana\", tz: -6, lat: 29.97, lon: 90.12 }, { name: \"New York, NY\", tz: -5, lat: 40.72, lon: 74.02 }, { name: \"New York, Brooklyn\", tz: -5, lat: 40.7, lon: 74 }, { name: \"Newark (N.J., US)\", tz: -5, lat: 40.73, lon: 74.15 }, { name: \"Newport (R.I., US)\", tz: -5, lat: 41.22, lon: 71.3 }, { name: \"Omaha, Nebraska\", tz: -6, lat: 41.27, lon: 95.95 }, { name: \"Orlando, FL\", tz: -5, lat: 28.53, lon: 81.38 }, { name: \"Philadelphia, Pennsylvania\", tz: -5, lat: 39.95, lon: 75.1 }, { name: \"Phoenix, Arizona\", tz: -7, lat: 33.45, lon: 112.08 }, { name: \"Pittsburgh, Pennsylvania\", tz: -5, lat: 40.43, lon: 80 }, { name: \"Portland (Maine, US)\", tz: -5, lat: 43.65, lon: 70.28 }, { name: \"Portland (Oreg, US)\", tz: -8, lat: 45.55, lon: 112.6 }, { name: \"Providence, RI\", tz: -5, lat: 41.83, lon: 71.42 }, { name: \"Salt Lake City, Utah\", tz: -7, lat: 40.77, lon: 111.88 }, { name: \"San Antonio, TX\", tz: -6, lat: 29.47, lon: 98.52 }, { name: \"San Francisco\", tz: -8, lat: 37.78, lon: 122.4 }, { name: \"Santa Fe (N.Mex., US)\", tz: -7, lat: 35.7, lon: 106.95 }, { name: \"Seattle, WA\", tz: -8, lat: 47.6, lon: 122.33 }, { name: \"Silver Spring\", tz: -5, lat: 39.03, lon: 77.05 }, { name: \"Springfield (Mass., US)\", tz: -5, lat: 42.12, lon: 72.6 }, { name: \"Stamford, CA\", tz: -5, lat: 41.05, lon: 73.55 }, { name: \"St. Louis\", tz: -6, lat: 38.63, lon: 90.18 }, { name: \"Tampa, FL\", tz: -5, lat: 27.95, lon: 82.45 }, { name: \"Topeka (KS, US)\", tz: -6, lat: 39.05, lon: 95.68 }, { name: \"Tucson\", tz: -7, lat: 32.22, lon: 110.97 }, { name: \"Washington, DC\", tz: -5, lat: 38.9, lon: 77.02 }, { name: \"Wichita, TX\", tz: -6, lat: 37.67, lon: 97.33 }, { name: \"Yellowstone Lake\", tz: -7, lat: 44.42, lon: 110.37 }, { name: \"Ancona\", tz: 1, lat: 43.63, lon: -13.5 }, { name: \"Asti\", tz: 1, lat: 44.9, lon: -8.18 }, { name: \"Bologna\", tz: 1, lat: 44.48, lon: -11.33 }, { name: \"Ferrara\", tz: 1, lat: 44.83, lon: -11.58 }, { name: \"Florenz\", tz: 1, lat: 43.77, lon: -11.25 }, { name: \"Genua\", tz: 1, lat: 44.42, lon: -8.95 }, { name: \"Livorno\", tz: 1, lat: 43.55, lon: -10.32 }, { name: \"Mantova\", tz: 1, lat: 45.15, lon: -10.8 }, { name: \"Meran\", tz: 1, lat: 46.67, lon: -11.15 }, { name: \"Mailand\", tz: 1, lat: 45.47, lon: -9.18 }, { name: \"Modena\", tz: 1, lat: 44.67, lon: -10.92 }, { name: \"Neapel\", tz: 1, lat: 40.85, lon: -14.28 }, { name: \"Padova\", tz: 1, lat: 45.42, lon: -11.88 }, { name: \"Parma\", tz: 1, lat: 44.8, lon: -10.32 }, { name: \"Perugia\", tz: 1, lat: 43.13, lon: -12.37 }, { name: \"Pisa\", tz: 1, lat: 43.72, lon: -10.38 }, { name: \"Rom\", tz: 1, lat: 41.9, lon: -12.48 }, { name: \"Siena\", tz: 1, lat: 43.32, lon: -11.35 }, { name: \"Spiazzo\", tz: 1, lat: 46.12, lon: -10.67 }, { name: \"Trieste\", tz: 1, lat: 45.67, lon: -13.77 }, { name: \"Turin\", tz: 1, lat: 45.07, lon: -7.67 }, { name: \"Venedig\", tz: 1, lat: 45.45, lon: -12.35 }, { name: \"Verona\", tz: 1, lat: 45.45, lon: -11 }, { name: \"Alburquerque\", tz: 1, lat: 39.22, lon: 7 }, { name: \"Alicante\", tz: 1, lat: 38.35, lon: 0.47 }, { name: \"Barcelona\", tz: 1, lat: 41.38, lon: -2.18 }, { name: \"Mallorca\", tz: 1, lat: 39.48, lon: -3 }, { name: \"Marbella\", tz: 1, lat: 36.52, lon: 4.88 }, { name: \"Sevilla\", tz: 1, lat: 37.37, lon: 5.98 }, { name: \"Torremolinos\", tz: 1, lat: 36.6, lon: 4.5 }, { name: \"Valencia\", tz: 1, lat: 39.47, lon: 0.37 }, { name: \"Belmonte\", tz: 0, lat: 40.37, lon: 7.37 }, { name: \"Lissabon\", tz: 0, lat: 38.72, lon: 9.13 }, { name: \"Porto\", tz: 0, lat: 41.18, lon: 8.6 }, { name: \"Athen\", tz: 2, lat: 37.97, lon: -23.72 }, { name: \"Korfu\", tz: 2, lat: 39.6, lon: -19.92 }, { name: \"Rhodos\", tz: 2, lat: 36.17, lon: -28 }, { name: \"Saloniki\", tz: 2, lat: 40.65, lon: -23.02 }, { name: \"Trikala\", tz: 2, lat: 39.57, lon: -21.77 }, { name: \"Volos\", tz: 2, lat: 39.35, lon: -22.93 }, { name: \"Ankara\", tz: 2, lat: 39.93, lon: -32.87 }, { name: \"Bursa\", tz: 2, lat: 40.18, lon: -29.07 }, { name: \"Istanbul\", tz: 2, lat: 41.02, lon: -28.97 }, { name: \"Izmir\", tz: 2, lat: 38.42, lon: -27.15 }, { name: \"Esch-sur-Alzette\", tz: 1, lat: 49.5, lon: -5.98 }, { name: \"Luxemburg\", tz: 1, lat: 49.6, lon: -6.15 }, { name: \"Kopenhagen\", tz: 1, lat: 55.67, lon: -12.58 }, { name: \"Boras\", tz: 1, lat: 57.72, lon: -12.92 }, { name: \"G\\xF6teborg\", tz: 1, lat: 57.72, lon: -11.97 }, { name: \"Lund\", tz: 1, lat: 55.7, lon: -13.18 }, { name: \"Malm\\xF6\", tz: 1, lat: 55.6, lon: -13 }, { name: \"Stockholm\", tz: 1, lat: 59.33, lon: -18.05 }, { name: \"Oslo\", tz: 1, lat: 59.92, lon: -10.75 }, { name: \"Trondheim\", tz: 1, lat: 63.42, lon: -10.42 }, { name: \"Helsinki\", tz: 2, lat: 60.17, lon: -24.97 }, { name: \"Turku\", tz: 2, lat: 60.45, lon: -22.28 }, { name: \"Pazardjik\", tz: 2, lat: 42.2, lon: -24.33 }, { name: \"Plovdiv\", tz: 2, lat: 42.15, lon: -24.75 }, { name: \"Ruse\", tz: 2, lat: 43.83, lon: -25.95 }, { name: \"Sofia\", tz: 2, lat: 42.68, lon: -23.32 }, { name: \"Bacau\", tz: 2, lat: 46.57, lon: -26.92 }, { name: \"Botosani\", tz: 2, lat: 47.75, lon: -26.67 }, { name: \"Brasov\", tz: 2, lat: 45.65, lon: -25.62 }, { name: \"Cluj\", tz: 2, lat: 46.78, lon: -23.6 }, { name: \"Constanta\", tz: 2, lat: 44.18, lon: -28.65 }, { name: \"Dorohoi\", tz: 2, lat: 47.95, lon: -26.4 }, { name: \"Galati\", tz: 2, lat: 45.43, lon: -28.05 }, { name: \"Iasi\", tz: 2, lat: 47.17, lon: -27.58 }, { name: \"Oradea\", tz: 2, lat: 47.05, lon: -21.95 }, { name: \"Piatra Neamt\", tz: 2, lat: 46.93, lon: -26.37 }, { name: \"Radauti\", tz: 2, lat: 47.85, lon: -25.92 }, { name: \"Satu Mare\", tz: 2, lat: 47.8, lon: -22.88 }, { name: \"Sighetul Marmatiei\", tz: 2, lat: 47.93, lon: -23.9 }, { name: \"Suceava\", tz: 2, lat: 47.65, lon: -26.32 }, { name: \"Timisoara\", tz: 2, lat: 45.75, lon: -21.22 }, { name: \"Tirgu Mures\", tz: 2, lat: 46.55, lon: -24.55 }, { name: \"Budapest\", tz: 1, lat: 47.5, lon: -19.08 }, { name: \"Sopron\", tz: 1, lat: 47.68, lon: -16.6 }, { name: \"Br\\xFCnn\", tz: 1, lat: 49.2, lon: -16.62 }, { name: \"Karlsbad\", tz: 1, lat: 50.18, lon: -12.87 }, { name: \"Liberec\", tz: 1, lat: 50.77, lon: -15.05 }, { name: \"Olomouc\", tz: 1, lat: 49.6, lon: -17.27 }, { name: \"Ostrava\", tz: 1, lat: 49.83, lon: -18.28 }, { name: \"Pilsen\", tz: 1, lat: 49.75, lon: -13.38 }, { name: \"Prag\", tz: 1, lat: 50.08, lon: -14.43 }, { name: \"Teplice\", tz: 1, lat: 50.65, lon: -13.8 }, { name: \"Usti nad Labem\", tz: 1, lat: 50.67, lon: -14.03 }, { name: \"Bratislava\", tz: 1, lat: 48.15, lon: -17.12 }, { name: \"Galanta\", tz: 1, lat: 48.2, lon: -17.72 }, { name: \"Kosice\", tz: 1, lat: 48.72, lon: -21.25 }, { name: \"Piestany\", tz: 1, lat: 48.6, lon: -17.83 }, { name: \"Presov\", tz: 1, lat: 49, lon: -21.25 }, { name: \"Trnava\", tz: 1, lat: 48.38, lon: -17.58 }, { name: \"Belgrad\", tz: 1, lat: 44.83, lon: -20.5 }, { name: \"Novi Sad\", tz: 1, lat: 45.25, lon: -19.83 }, { name: \"Subotica\", tz: 1, lat: 46.1, lon: -19.65 }, { name: \"Dubrovnik\", tz: 1, lat: 42.63, lon: -18.12 }, { name: \"Rijeka\", tz: 1, lat: 45.33, lon: -14.45 }, { name: \"Split\", tz: 1, lat: 43.52, lon: -16.45 }, { name: \"Zagreb\", tz: 1, lat: 45.8, lon: -15.97 }, { name: \"Skopje\", tz: 1, lat: 41.98, lon: -21.43 }, { name: \"Sarajevo\", tz: 1, lat: 43.87, lon: -18.42 }, { name: \"Ljubljana\", tz: 1, lat: 46.05, lon: -14.52 }, { name: \"Teheran (GMT+3)\", tz: 3, lat: 35.67, lon: -51.43 }, { name: \"Teheran (GMT+4)\", tz: 4, lat: 35.67, lon: -51.43 }, { name: \"Tokyo\", tz: 9, lat: 35.7, lon: -139.77 }, { name: \"Asuncion\", tz: -4, lat: -25.27, lon: 57.67 }, { name: \"Sao Paulo\", tz: -3, lat: -23.53, lon: 46.62 }, { name: \"Buenos Aires\", tz: -3, lat: -34.6, lon: 58.45 }, { name: \"Guangzhou (Canton)\", tz: 8, lat: 23.1, lon: -113.27 }, { name: \"Hong Kong\", tz: 8, lat: 25.25, lon: -114.17 }, { name: \"Peking (Beijing)\", tz: 8, lat: 39.9, lon: -116.42 }, { name: \"Shanghai\", tz: 8, lat: 31.23, lon: -121.47 }, { name: \"Shenyang\", tz: 8, lat: 41.8, lon: -123.45 }, { name: \"Bangkok\", tz: 7, lat: 13.58, lon: -100.48 }, { name: \"Neu Dehli (GMT+5)\", tz: 5, lat: 28.3, lon: -77.47 }, { name: \"Neu Dehli (GMT+6)\", tz: 6, lat: 28.3, lon: -77.47 }, { name: \"Kairo\", tz: 2, lat: 29.67, lon: -31.02 }, { name: \"Damaskus\", tz: 3, lat: 33.13, lon: -36.43 }, { name: \"Amman\", tz: 2, lat: 31.7, lon: -35.88 }, { name: \"Ar-Rijad (Riyadh)\", tz: 3, lat: 24.63, lon: -46.72 }, { name: \"Beirut\", tz: 2, lat: 33.33, lon: -35.37 }, { name: \"Pjongjang (P\\xB4yongyang)\", tz: 9, lat: 39.02, lon: -125.75 }, { name: \"Seoul (Soul)\", tz: 9, lat: 37.55, lon: -126.97 }, { name: \"Singapur\", tz: 8, lat: 11.37, lon: -103.8 }, { name: \"Lima\", tz: -5, lat: -12.05, lon: 77.05 }, { name: \"Havana\", tz: -5, lat: 23.13, lon: 82.37 }, { name: \"Brisbane\", tz: 10, lat: -27.47, lon: -153.03 }, { name: \"Canberra\", tz: 10, lat: -35.28, lon: -149.13 }, { name: \"Sydney\", tz: 10, lat: -33.87, lon: -151.22 }, { name: \"Halifax, N.S., Can.\", tz: -4, lat: 44.65, lon: 63.6 }, { name: \"Montreal, Quebec, Can.\", tz: -5, lat: 45.52, lon: 73.57 }, { name: \"Quebec\", tz: -5, lat: 46.82, lon: 71.23 }, { name: \"Vancouver\", tz: -8, lat: 49.27, lon: 123.12 }, { name: \"Demmin\", tz: 1, lat: 53.9, lon: -13.03 }, { name: \"Dieburg\", tz: 1, lat: 49.9, lon: -8.83 }, { name: \"D\\xF6mitz\", tz: 1, lat: 53.13, lon: -11.23 }, { name: \"Durlach\", tz: 1, lat: 49, lon: -8.45 }, { name: \"Landau\", tz: 1, lat: 49.2, lon: -8.12 }, { name: \"Landau an der Isar\", tz: 1, lat: 48.67, lon: -12.72 }, { name: \"Parchim\", tz: 1, lat: 53.42, lon: -11.85 }, { name: \"Suhl\", tz: 1, lat: 50.62, lon: -10.68 }, { name: \"Worms\", tz: 1, lat: 49.63, lon: -8.37 }, { name: \"Strasbourg\", tz: 1, lat: 48.58, lon: -7.75 }, { name: \"Kaunas\", tz: 2, lat: 54.9, lon: -23.9 }, { name: \"K\\xF6nigsberg\", tz: 2, lat: 54.72, lon: -20.5 }, { name: \"Riga\", tz: 2, lat: 56.95, lon: -24.1 }, { name: \"Tallinn\", tz: 2, lat: 59.42, lon: -24.75 }, { name: \"Vilnius\", tz: 2, lat: 54.68, lon: -25.32 }, { name: \"Blackpool\", tz: 0, lat: 53.83, lon: 3.05 }, { name: \"Bournemouth\", tz: 0, lat: 50.72, lon: 1.9 }, { name: \"Brighton\", tz: 0, lat: 50.83, lon: 0.13 }, { name: \"Cambridge\", tz: 0, lat: 52.22, lon: -0.13 }, { name: \"Coventry\", tz: 0, lat: 52.42, lon: 1.5 }, { name: \"Croydon\", tz: 0, lat: 51.38, lon: 0.1 }, { name: \"Eastbourne\", tz: 0, lat: 50.77, lon: -0.28 }, { name: \"Exeter\", tz: 0, lat: 50.72, lon: 3.52 }, { name: \"Grimsby\", tz: 0, lat: 53.58, lon: 0.08 }, { name: \"Guildford\", tz: 0, lat: 51.23, lon: 0.58 }, { name: \"Harlow\", tz: 0, lat: 51.78, lon: -0.13 }, { name: \"Harrogate\", tz: 0, lat: 54, lon: 1.55 }, { name: \"Hemel Hempstead\", tz: 0, lat: 51.77, lon: 0.47 }, { name: \"Hove\", tz: 0, lat: 50.82, lon: 0.17 }, { name: \"Leicester\", tz: 0, lat: 52.63, lon: 1.08 }, { name: \"Luton\", tz: 0, lat: 51.88, lon: 0.42 }, { name: \"Newcastle\", tz: 0, lat: 54.2, lon: 5.75 }, { name: \"Norwich\", tz: 0, lat: 52.63, lon: -1.3 }, { name: \"Nottingham\", tz: 0, lat: 52.97, lon: 1.17 }, { name: \"Oxford\", tz: 0, lat: 51.77, lon: 1.23 }, { name: \"Plymouth\", tz: 0, lat: 50.38, lon: 4.15 }, { name: \"Portsmouth\", tz: 0, lat: 50.8, lon: 1.08 }, { name: \"Ramsgate\", tz: 0, lat: 51.33, lon: -1.42 }, { name: \"Reading\", tz: 0, lat: 51.47, lon: 0.98 }, { name: \"Rochester\", tz: 0, lat: 51.4, lon: -0.5 }, { name: \"Saint Anne's\", tz: 0, lat: 53.75, lon: 3.03 }, { name: \"Solihull\", tz: 0, lat: 52.42, lon: 1.75 }, { name: \"Southend-on-SEA\", tz: 0, lat: 51.55, lon: -0.72 }, { name: \"Southport\", tz: 0, lat: 53.65, lon: 3.02 }, { name: \"Watford\", tz: 0, lat: 51.67, lon: 0.42 }, { name: \"Agen\", tz: 1, lat: 44.2, lon: -0.62 }, { name: \"Aix-en-Provence\", tz: 1, lat: 43.53, lon: -5.43 }, { name: \"Aix-les-Bains\", tz: 1, lat: 45.7, lon: -5.75 }, { name: \"Annecy\", tz: 1, lat: 45.9, lon: -6.12 }, { name: \"Antibes\", tz: 1, lat: 43.58, lon: -7.12 }, { name: \"Arcachon\", tz: 1, lat: 44.62, lon: 1.2 }, { name: \"Bayonne\", tz: 1, lat: 43.48, lon: 1.48 }, { name: \"Belfort\", tz: 1, lat: 47.63, lon: -6.87 }, { name: \"Benfeld\", tz: 1, lat: 48.37, lon: -7.6 }, { name: \"Besancon\", tz: 1, lat: 47.25, lon: -6.03 }, { name: \"Biarritz\", tz: 1, lat: 43.48, lon: 1.57 }, { name: \"Bordeuax\", tz: 1, lat: 44.83, lon: 0.57 }, { name: \"Boulay-Moselle\", tz: 1, lat: 49.18, lon: -6.5 }, { name: \"Boulogne-Sur-Mer\", tz: 1, lat: 50.72, lon: -1.62 }, { name: \"Brest, Fr.\", tz: 1, lat: 48.4, lon: 4.48 }, { name: \"Caen\", tz: 1, lat: 49.18, lon: 0.35 }, { name: \"Caluire et Cuire\", tz: 1, lat: 45.8, lon: -4.85 }, { name: \"Cannes\", tz: 1, lat: 43.55, lon: -7.02 }, { name: \"Carpentras\", tz: 1, lat: 44.05, lon: -5.05 }, { name: \"Cavaillon\", tz: 1, lat: 43.83, lon: -5.02 }, { name: \"Chalons-Sur-Marne\", tz: 1, lat: 48.95, lon: -4.37 }, { name: \"Chalons-Sur-Saone\", tz: 1, lat: 46.78, lon: -4.85 }, { name: \"Clermont-Ferrand\", tz: 1, lat: 45.78, lon: -3.08 }, { name: \"Colmar\", tz: 1, lat: 58.08, lon: -7.37 }, { name: \"Dijon\", tz: 1, lat: 47.32, lon: -5.02 }, { name: \"Evian-Les-Bains\", tz: 1, lat: 46.38, lon: -6.58 }, { name: \"Grasse\", tz: 1, lat: 43.67, lon: -6.92 }, { name: \"Grenoble\", tz: 1, lat: 45.17, lon: -5.72 }, { name: \"Haguenau\", tz: 1, lat: 48.82, lon: -7.78 }, { name: \"La Rochelle\", tz: 1, lat: 46.17, lon: 1.17 }, { name: \"La Seyne-Sur-Mer\", tz: 1, lat: 43.1, lon: -5.88 }, { name: \"Le Havre\", tz: 1, lat: 49.5, lon: -0.13 }, { name: \"Lille\", tz: 1, lat: 50.63, lon: -3.07 }, { name: \"Limoges\", tz: 1, lat: 45.83, lon: -1.25 }, { name: \"Lyon\", tz: 1, lat: 45.75, lon: -4.85 }, { name: \"M\\xE2con, Fr.\", tz: 1, lat: 46.3, lon: -4.83 }, { name: \"Menton\", tz: 1, lat: 43.78, lon: -7.5 }, { name: \"Metz\", tz: 1, lat: 49.13, lon: -6.17 }, { name: \"Montpellier\", tz: 1, lat: 43.6, lon: -3.88 }, { name: \"M\\xFClhausen im T\\xE4le\", tz: 1, lat: 48.57, lon: -9.65 }, { name: \"Nancy\", tz: 1, lat: 48.68, lon: -6.2 }, { name: \"N\\xEEmes\", tz: 1, lat: 43.83, lon: -4.35 }, { name: \"Nizza Monferrato\", tz: 1, lat: 44.77, lon: -8.35 }, { name: \"Orl\\xE9ans, Fr.\", tz: 1, lat: 47.92, lon: -1.9 }, { name: \"Perpignan\", tz: 1, lat: 42.68, lon: -2.87 }, { name: \"Reims\", tz: 1, lat: 49.25, lon: -4.02 }, { name: \"Rouen\", tz: 1, lat: 49.43, lon: -1.08 }, { name: \"Saint-Louis, Fr.\", tz: 1, lat: 47.58, lon: -7.57 }, { name: \"Sens\", tz: 1, lat: 48.2, lon: -3.28 }, { name: \"Toulouse\", tz: 1, lat: 43.6, lon: -1.43 }, { name: \"Tours\", tz: 1, lat: 47.38, lon: -0.68 }, { name: \"Troyes\", tz: 1, lat: 48.3, lon: -4.08 }, { name: \"Versailles, Fr.\", tz: 1, lat: 48.8, lon: -2.13 }, { name: \"Vittel\", tz: 1, lat: 48.2, lon: -5.95 }, { name: \"Wasselonne\", tz: 1, lat: 48.63, lon: -7.45 }, { name: \"Rothenburg ob der Tauber\", tz: 1, lat: 49.38, lon: -10.17 }, { name: \"Rothenburg\", tz: 1, lat: 51.33, lon: -14.97 }, { name: \"Rothenburg an der Oder\", tz: 1, lat: 52.02, lon: -15.42 }, { name: \"Alexandria, Egypt\", tz: 2, lat: 31.18, lon: -29.93 }, { name: \"Anchorage, AK\", tz: -9, lat: 61.22, lon: 149.88 }, { name: \"Ann Arbor, MI\", tz: -5, lat: 42.3, lon: 83.75 }, { name: \"Augusta, GA\", tz: -5, lat: 33.48, lon: 81.93 }, { name: \"Baghdad, Iraq\", tz: 3, lat: 33.35, lon: -44.42 }, { name: \"Birmingham, AL\", tz: -6, lat: 33.52, lon: 86.82 }, { name: \"Bombay, India (GMT+5)\", tz: 5, lat: 18.95, lon: -72.83 }, { name: \"Bombay, India (GMT+6)\", tz: 6, lat: 18.95, lon: -72.83 }, { name: \"Casablanca, Marokko\", tz: 0, lat: 33.65, lon: 7.58 }, { name: \"Djakarta, Indonesia\", tz: 7, lat: -6.17, lon: -106.8 }, { name: \"Desmoines, IA\", tz: -6, lat: 41.58, lon: 93.62 }, { name: \"Dubayy\", tz: 4, lat: 25.3, lon: -55.3 }, { name: \"Fort Lauderdale, FL\", tz: -5, lat: 26.12, lon: 80.13 }, { name: \"Jacksonsville, FL\", tz: -5, lat: 30.33, lon: 81.67 }, { name: \"Karachi\", tz: 5, lat: 24.87, lon: -67.05 }, { name: \"Kuala Lumpur, Malaysia\", tz: 8, lat: 3.15, lon: -101.72 }, { name: \"Kuwait, Kuwait\", tz: 3, lat: 29.5, lon: -47.75 }, { name: \"Lagos, Nigeria\", tz: 1, lat: 6.45, lon: -3.4 }, { name: \"Las Vegas, NV\", tz: -8, lat: 36.18, lon: 115.13 }, { name: \"Mauritius\", tz: 4, lat: -20.28, lon: -57.55 }, { name: \"Panama, Panama\", tz: -5, lat: 8.97, lon: 79.52 }, { name: \"Peoria, IL\", tz: -6, lat: 40.7, lon: 89.6 }, { name: \"Raleigh, NC\", tz: -5, lat: 35.78, lon: 78.65 }, { name: \"Redmond, WA\", tz: -8, lat: 47.4, lon: 122.07 }, { name: \"Sacramento, CA\", tz: -8, lat: 38.58, lon: 121.5 }, { name: \"Tenerife, Spain\", tz: 1, lat: 28.03, lon: -16.57 }, { name: \"Durres, Albania\", tz: 1, lat: 41.32, lon: -19.43 }, { name: \"Lushnje, Albania\", tz: 1, lat: 40.93, lon: -19.7 }, { name: \"Lugoj, Romania\", tz: 2, lat: 45.68, lon: -21.9 }, { name: \"Shkoder, Albania\", tz: 1, lat: 42.08, lon: -19.5 }, { name: \"Addis Abeba\", tz: 3, lat: 9.15, lon: -38.77 }, { name: \"Aden, Jemen\", tz: 3, lat: 12.78, lon: -45.03 }, { name: \"Boca Raton, FL\", tz: -5, lat: 26.35, lon: 80.08 }, { name: \"Buchara\", tz: 5, lat: 39.77, lon: -64.42 }, { name: \"Gondar, Ethiopia\", tz: 3, lat: 12.6, lon: -37.48 }, { name: \"Jekaterinburg\", tz: 5, lat: 56.83, lon: -60.5 }, { name: \"Kaifeng, China\", tz: 8, lat: 34.78, lon: -114.43 }, { name: \"Krasnojarsk\", tz: 7, lat: 56, lon: -92.98 }, { name: \"Mbale, Uganda\", tz: 3, lat: 1.07, lon: -34.18 }, { name: \"New Bedfort, MA\", tz: -5, lat: 41.63, lon: 70.93 }, { name: \"Nicosia, Cyprus\", tz: 2, lat: 34.78, lon: -33.48 }, { name: \"Nowgorod\", tz: 3, lat: 58.58, lon: -31.23 }, { name: \"Omsk\", tz: 6, lat: 54.95, lon: -73.33 }, { name: \"Plano, TX\", tz: -6, lat: 33.03, lon: 96.7 }, { name: \"Perm\", tz: 5, lat: 57.92, lon: -56.05 }, { name: \"Sana, Jemen\", tz: 3, lat: 15.18, lon: -44.02 }, { name: \"Skokie, IL\", tz: -6, lat: 42.03, lon: 87.77 }, { name: \"Woronesch, Russia\", tz: 3, lat: 51.7, lon: -39.25 }, { name: \"Allentown, PA\", tz: -5, lat: 40.6, lon: 75.48 }, { name: \"Capetown, South Africa\", tz: 2, lat: -33.9, lon: -18.37 }, { name: \"Chapel Hill, NC\", tz: -5, lat: 35.9, lon: 79.07 }, { name: \"Ft. Walton Beach, FL\", tz: -5, lat: 30.4, lon: 86.52 }, { name: \"Greenwich Meridian\", tz: 0, lat: 0, lon: 0 }, { name: \"Monsey, NY\", tz: -5, lat: 41.12, lon: 74.07 }, { name: \"Ramat Gan\", tz: 2, lat: 32.07, lon: -34.82 }, { name: \"Lugano\", tz: 1, lat: 46.02, lon: -8.97 }, { name: \"Baden, Austria\", tz: 1, lat: 48, lon: -16.23 }, { name: \"Gadsten, AL\", tz: -6, lat: 34.02, lon: 86.02 }, { name: \"Huntsville, AL\", tz: -6, lat: 34.73, lon: 86.58 }, { name: \"Montgomery, AL\", tz: -6, lat: 32.37, lon: 86.32 }, { name: \"Juneau, AK\", tz: -10, lat: 58.3, lon: 134.42 }, { name: \"Nome, AK\", tz: -10, lat: 64.5, lon: 165.42 }, { name: \"Algiers\", tz: 1, lat: 36.48, lon: -3 }, { name: \"Luanda\", tz: 1, lat: -8.5, lon: -13.15 }, { name: \"Yuma, Arizona\", tz: -7, lat: 32.72, lon: 114.62 }, { name: \"Ft Smith, Arkansas\", tz: -6, lat: 35.37, lon: 94.43 }, { name: \"Perth\", tz: 8, lat: -31.83, lon: -116.17 }, { name: \"Porto Novo\", tz: 1, lat: 6.3, lon: -2.45 }, { name: \"Ouagadougou\", tz: 0, lat: 12.2, lon: 1.4 }, { name: \"Bujumbura\", tz: 2, lat: -3.22, lon: -29.18 }, { name: \"Bakersfield, CA\", tz: -8, lat: 35.37, lon: 119.02 }, { name: \"Berkeley, CA\", tz: -8, lat: 37.87, lon: 122.27 }, { name: \"Eureka, CA\", tz: -8, lat: 40.78, lon: 124.17 }, { name: \"Fresno, CA\", tz: -8, lat: 36.73, lon: 119.78 }, { name: \"Long Beach, CA\", tz: -8, lat: 33.77, lon: 118.18 }, { name: \"Oakland, CA\", tz: -8, lat: 37.78, lon: 122.27 }, { name: \"Pasadena, CA\", tz: -8, lat: 34.15, lon: 118.15 }, { name: \"San Bernardino, CA\", tz: -8, lat: 34.12, lon: 117.47 }, { name: \"San Jose, CA\", tz: -8, lat: 37.33, lon: 121.88 }, { name: \"Santa Barbara, CA\", tz: -8, lat: 34.42, lon: 119.7 }, { name: \"Santa Cruz, CA\", tz: -8, lat: 36.97, lon: 122.02 }, { name: \"Stockton, CA\", tz: -8, lat: 37.97, lon: 121.28 }, { name: \"Yaounde\", tz: 1, lat: 3.52, lon: -11.32 }, { name: \"Calgary\", tz: -7, lat: 51.05, lon: 114.05 }, { name: \"Edmondton\", tz: -7, lat: 53.55, lon: 113.48 }, { name: \"Lethbridge\", tz: -7, lat: 49.7, lon: 112.83 }, { name: \"Prince Rupert, British Columbia\", tz: -8, lat: 54.32, lon: 130.32 }, { name: \"Victoria, British Columbia\", tz: -8, lat: 48.43, lon: 123.37 }, { name: \"Brandon\", tz: -6, lat: 49.85, lon: 99.95 }, { name: \"Churchill\", tz: -6, lat: 58.75, lon: 94.17 }, { name: \"Fredericton\", tz: -4, lat: 45.97, lon: 66.65 }, { name: \"Moncton\", tz: -4, lat: 46.08, lon: 64.78 }, { name: \"St John\", tz: -4, lat: 45.27, lon: 66.07 }, { name: \"St John's\", tz: -4, lat: 47.57, lon: 52.72 }, { name: \"Yellowknife\", tz: -7, lat: 62.45, lon: 114.38 }, { name: \"Sydney, Canada\", tz: -4, lat: 46.13, lon: 60.2 }, { name: \"Belleville\", tz: -5, lat: 44.17, lon: 77.38 }, { name: \"Brantford\", tz: -5, lat: 43.15, lon: 80.27 }, { name: \"Burlington\", tz: -5, lat: 43.33, lon: 79.8 }, { name: \"Guelph\", tz: -5, lat: 43.55, lon: 80.25 }, { name: \"Hamilton\", tz: -5, lat: 43.25, lon: 79.88 }, { name: \"Kingston\", tz: -5, lat: 44.23, lon: 76.48 }, { name: \"Kitchener\", tz: -5, lat: 43.45, lon: 80.48 }, { name: \"London, Ontario\", tz: -5, lat: 42.98, lon: 81.23 }, { name: \"Mississauga\", tz: -5, lat: 43.55, lon: 79.57 }, { name: \"North Bay\", tz: -5, lat: 46.32, lon: 79.47 }, { name: \"Oshawa\", tz: -5, lat: 43.9, lon: 78.87 }, { name: \"Peterborough\", tz: -5, lat: 44.32, lon: 78.32 }, { name: \"St Catherines\", tz: -5, lat: 43.17, lon: 79.25 }, { name: \"Sault St Marie\", tz: -5, lat: 46.5, lon: 84.33 }, { name: \"Sudbury\", tz: -5, lat: 46.48, lon: 80.98 }, { name: \"Thunder Bay\", tz: -5, lat: 48.38, lon: 89.25 }, { name: \"Windsor\", tz: -5, lat: 42.32, lon: 83.03 }, { name: \"Hull\", tz: -5, lat: 45.43, lon: 75.72 }, { name: \"La Salle\", tz: -5, lat: 45.43, lon: 73.67 }, { name: \"Laval\", tz: -5, lat: 45.22, lon: 73.75 }, { name: \"Sherbrooke\", tz: -5, lat: 45.4, lon: 71.85 }, { name: \"Trois Riveres\", tz: -5, lat: 46.35, lon: 72.55 }, { name: \"Dawson\", tz: -8, lat: 64.07, lon: 139.43 }, { name: \"Whitehorse\", tz: -8, lat: 60.72, lon: 135.05 }, { name: \"Moose Jaw\", tz: -6, lat: 50.4, lon: 105.53 }, { name: \"Regina\", tz: -6, lat: 50.45, lon: 104.62 }, { name: \"Saskatoon\", tz: -6, lat: 52.13, lon: 106.67 }, { name: \"Bangui\", tz: 1, lat: 4.22, lon: -18.37 }, { name: \"N'Djamena\", tz: 1, lat: 12.1, lon: -14.58 }, { name: \"Grand Junction\", tz: -7, lat: 39.07, lon: 108.57 }, { name: \"Pueblo\", tz: -7, lat: 38.25, lon: 104.62 }, { name: \"Brazzaville\", tz: 1, lat: -4.13, lon: -15.13 }, { name: \"Bridgeport\", tz: -5, lat: 41.18, lon: 73.18 }, { name: \"Abidjan\", tz: 0, lat: 5.18, lon: 4.02 }, { name: \"Wilmington, Delaware\", tz: -5, lat: 39.75, lon: 75.55 }, { name: \"Quito\", tz: -5, lat: -0.28, lon: 78.52 }, { name: \"Daytona Beach, FL\", tz: -5, lat: 29.22, lon: 81.02 }, { name: \"Gainesville, FL\", tz: -5, lat: 29.65, lon: 82.32 }, { name: \"Key West, FL\", tz: -5, lat: 24.57, lon: 81.8 }, { name: \"Pensacola, FL\", tz: -5, lat: 30.42, lon: 87.22 }, { name: \"St. Petersburg, FL\", tz: -5, lat: 27.78, lon: 82.63 }, { name: \"Sarasota, FL\", tz: -5, lat: 27.33, lon: 82.55 }, { name: \"Tallahassee, FL\", tz: -5, lat: 30.45, lon: 84.45 }, { name: \"W. Palm Beach, FL\", tz: -5, lat: 26.72, lon: 80.05 }, { name: \"Libreville\", tz: 1, lat: 0.23, lon: -9.25 }, { name: \"Banjul\", tz: 0, lat: 13.28, lon: 16.38 }, { name: \"Augusta, Georgia\", tz: -5, lat: 33.47, lon: 81.97 }, { name: \"Columbus, Georgia\", tz: -5, lat: 32.47, lon: 84.98 }, { name: \"Macon, Georgia\", tz: -5, lat: 32.83, lon: 83.63 }, { name: \"Savannah, Georgia\", tz: -5, lat: 32.07, lon: 81.1 }, { name: \"Accra\", tz: 0, lat: 5.33, lon: 0.15 }, { name: \"Conakry\", tz: 0, lat: 9.32, lon: -13.17 }, { name: \"Hilo\", tz: 10, lat: 19.73, lon: 155.08 }, { name: \"Lihue\", tz: 10, lat: 21.98, lon: 159.37 }, { name: \"Victoria, Hongkong\", tz: 8, lat: 22.17, lon: -114.3 }, { name: \"Reykjavik\", tz: 0, lat: 64.15, lon: 21.65 }, { name: \"Boise, Idaho\", tz: -7, lat: 43.62, lon: 116.2 }, { name: \"Pocatello, Idaho\", tz: -7, lat: 42.87, lon: 112.45 }, { name: \"Bloomington, IL\", tz: -6, lat: 40.48, lon: 89 }, { name: \"Champaign, IL\", tz: -6, lat: 40.12, lon: 88.25 }, { name: \"Decatur, IL\", tz: -6, lat: 39.85, lon: 88.95 }, { name: \"Moline, IL\", tz: -6, lat: 41.52, lon: 90.52 }, { name: \"Rockford, IL\", tz: -6, lat: 42.27, lon: 89.1 }, { name: \"Springfield, IL\", tz: -6, lat: 39.78, lon: 89.65 }, { name: \"Urbana, IL\", tz: -6, lat: 40.12, lon: 88.2 }, { name: \"Evansville, Indiana\", tz: -6, lat: 37.97, lon: 87.57 }, { name: \"Ft. Wayne, Indiana\", tz: -6, lat: 41.07, lon: 85.13 }, { name: \"Gary, Indiana\", tz: -6, lat: 41.62, lon: 87.33 }, { name: \"Lafayette, Indiana\", tz: -6, lat: 40.42, lon: 86.9 }, { name: \"Muncie, Indiana\", tz: -6, lat: 40.18, lon: 85.38 }, { name: \"South Bend, Indiana\", tz: -6, lat: 41.68, lon: 86.25 }, { name: \"Terre Houte, Indiana\", tz: -6, lat: 39.47, lon: 87.4 }, { name: \"Cedar Rapids, IA\", tz: -6, lat: 41.97, lon: 91.67 }, { name: \"Davenport, IA\", tz: -6, lat: 41.52, lon: 90.58 }, { name: \"Dubuque, IA\", tz: -6, lat: 42.5, lon: 90.67 }, { name: \"Iowa City, IA\", tz: -6, lat: 41.67, lon: 91.53 }, { name: \"Sioux City, IA\", tz: -6, lat: 42.5, lon: 96.42 }, { name: \"Waterloo, IA\", tz: -6, lat: 42.5, lon: 92.33 }, { name: \"Dodge City (Kans., US)\", tz: -6, lat: 37.75, lon: 100.02 }, { name: \"Salina (Kans., US)\", tz: -6, lat: 38.85, lon: 97.62 }, { name: \"Wichita (Kans., US)\", tz: -6, lat: 37.7, lon: 97.33 }, { name: \"Ashland, KY\", tz: -5, lat: 38.48, lon: 82.63 }, { name: \"Bowling Green, KY\", tz: -5, lat: 37, lon: 86.45 }, { name: \"Lexington, KY\", tz: -5, lat: 38.05, lon: 84.5 }, { name: \"Paducah, KY\", tz: -5, lat: 37.07, lon: 88.6 }, { name: \"Maseru\", tz: 2, lat: -29.18, lon: -27.28 }, { name: \"Monrovia\", tz: 0, lat: 6.2, lon: 10.47 }, { name: \"Tripoli\", tz: 1, lat: 32.83, lon: -13.22 }, { name: \"Baton Rouge, Louisiana\", tz: -6, lat: 30.45, lon: 91.18 }, { name: \"Shreveport, Louisiana\", tz: -6, lat: 32.52, lon: 93.75 }, { name: \"Antananarivo\", tz: 3, lat: -18.5, lon: -47.3 }, { name: \"Augusta, Maine\", tz: -5, lat: 44.32, lon: 69.75 }, { name: \"Bangor, Maine\", tz: -5, lat: 44.8, lon: 68.75 }, { name: \"Lilongwe\", tz: 2, lat: -13.58, lon: -33.48 }, { name: \"Bamako\", tz: 0, lat: 12.4, lon: 7.58 }, { name: \"Brockton, MA\", tz: -5, lat: 42.08, lon: 71.02 }, { name: \"Cambridge, MA\", tz: -5, lat: 42.37, lon: 71.1 }, { name: \"Fall River, MA\", tz: -5, lat: 41.7, lon: 71.15 }, { name: \"Holyoke, MA\", tz: -5, lat: 42.2, lon: 72.62 }, { name: \"Lawrence, MA\", tz: -5, lat: 42.7, lon: 71.15 }, { name: \"Lowell, MA\", tz: -5, lat: 42.63, lon: 71.32 }, { name: \"Pittsfield, MA\", tz: -5, lat: 42.45, lon: 73.25 }, { name: \"Somerville, MA\", tz: -5, lat: 42.38, lon: 71.1 }, { name: \"Worcester, MA\", tz: -5, lat: 42.27, lon: 71.8 }, { name: \"Nouakchott\", tz: 0, lat: 18.08, lon: 15.58 }, { name: \"Battle Creek, MI\", tz: -5, lat: 42.32, lon: 85.18 }, { name: \"Bay City, MI\", tz: -5, lat: 43.6, lon: 83.88 }, { name: \"Flint, MI\", tz: -5, lat: 43.02, lon: 83.7 }, { name: \"Grand Rapids, MI\", tz: -5, lat: 42.97, lon: 85.67 }, { name: \"Jackson, MI\", tz: -5, lat: 42.25, lon: 84.4 }, { name: \"Kalamazoo, MI\", tz: -5, lat: 42.28, lon: 85.58 }, { name: \"Lansing, MI\", tz: -5, lat: 42.73, lon: 84.55 }, { name: \"Saginaw, MI\", tz: -5, lat: 43.43, lon: 83.93 }, { name: \"Duluth, Minnesota\", tz: -6, lat: 46.78, lon: 92.1 }, { name: \"Rochester, Minnesota\", tz: -6, lat: 44.02, lon: 92.47 }, { name: \"St. Cloud, Minnesota\", tz: -6, lat: 45.57, lon: 94.17 }, { name: \"St. Paul, Minnesota\", tz: -6, lat: 44.95, lon: 93.1 }, { name: \"Biloxi, Mississippi\", tz: -6, lat: 30.4, lon: 88.88 }, { name: \"Gulfport, Mississippi\", tz: -6, lat: 30.37, lon: 89.1 }, { name: \"Jackson, Mississippi\", tz: -6, lat: 32.3, lon: 90.18 }, { name: \"Natchez, Mississippi\", tz: -6, lat: 31.57, lon: 91.38 }, { name: \"Columbia, Missouri\", tz: -6, lat: 38.95, lon: 92.33 }, { name: \"Joplin, Missouri\", tz: -6, lat: 37.07, lon: 94.5 }, { name: \"Kansas City, Missouri\", tz: -6, lat: 39.07, lon: 94.58 }, { name: \"St. Joseph, Missouri\", tz: -6, lat: 39.77, lon: 94.85 }, { name: \"St. Louis, Missouri\", tz: -6, lat: 38.63, lon: 90.2 }, { name: \"Springfield, Missouri\", tz: -6, lat: 37.22, lon: 93.3 }, { name: \"Billings, Montana\", tz: -7, lat: 45.78, lon: 108.5 }, { name: \"Butte, Montana\", tz: -7, lat: 46.02, lon: 112.53 }, { name: \"Great Falls, Montana\", tz: -7, lat: 47.5, lon: 111.3 }, { name: \"Helena, Montana\", tz: -7, lat: 46.6, lon: 112.03 }, { name: \"Rabat\", tz: 1, lat: 34.02, lon: 6.52 }, { name: \"Maputo\", tz: 2, lat: -25.58, lon: -32.35 }, { name: \"Windhoek\", tz: 2, lat: -22.33, lon: -17.07 }, { name: \"Lincoln, Nebraska\", tz: -6, lat: 40.82, lon: 96.7 }, { name: \"Carson City, NV\", tz: -8, lat: 39.17, lon: 119.77 }, { name: \"Reno, NV\", tz: -8, lat: 39.52, lon: 119.82 }, { name: \"Concord, New Hampshire\", tz: -5, lat: 43.2, lon: 71.52 }, { name: \"Manchester, New Hampshire\", tz: -5, lat: 42.98, lon: 71.47 }, { name: \"Portsmouth, New Hampshire\", tz: -5, lat: 43.07, lon: 70.75 }, { name: \"Atlantic City, NJ\", tz: -5, lat: 39.37, lon: 74.43 }, { name: \"Camdon, NJ\", tz: -5, lat: 39.95, lon: 75.1 }, { name: \"Jersey City, NJ\", tz: -5, lat: 40.73, lon: 74.07 }, { name: \"Paterson, NJ\", tz: -5, lat: 40.9, lon: 74.15 }, { name: \"Trenton, NJ\", tz: -5, lat: 40.22, lon: 74.8 }, { name: \"Albuquerque, NM\", tz: -7, lat: 35.07, lon: 106.65 }, { name: \"Gallup, NM\", tz: -7, lat: 35.52, lon: 108.73 }, { name: \"Santa Fe, NM\", tz: -7, lat: 35.67, lon: 105.93 }, { name: \"Albany, NY\", tz: -5, lat: 42.65, lon: 73.75 }, { name: \"Binghamton, NY\", tz: -5, lat: 42.1, lon: 86.82 }, { name: \"Buffalo, NY\", tz: -5, lat: 42.88, lon: 78.87 }, { name: \"Central Islip, NY\", tz: -5, lat: 40.78, lon: 73.2 }, { name: \"Niagra Falls, NY\", tz: -5, lat: 43.1, lon: 79.05 }, { name: \"Rochester, NY\", tz: -5, lat: 43.17, lon: 77.6 }, { name: \"Schenectady, NY\", tz: -5, lat: 42.82, lon: 73.93 }, { name: \"Syracuse, NY\", tz: -5, lat: 43.05, lon: 76.15 }, { name: \"Troy, NY\", tz: -5, lat: 42.73, lon: 73.68 }, { name: \"Utica, NY\", tz: -5, lat: 43.1, lon: 75.23 }, { name: \"White Plains, NY\", tz: -5, lat: 41.03, lon: 73.75 }, { name: \"Yonkers, NY\", tz: -5, lat: 40.93, lon: 73.9 }, { name: \"Auckland\", tz: 12, lat: -36.88, lon: -174.75 }, { name: \"Niamey\", tz: 1, lat: 13.32, lon: -2.03 }, { name: \"Lagos\", tz: 1, lat: 6.27, lon: -3.28 }, { name: \"Ashlville, NC\", tz: -5, lat: 35.6, lon: 82.55 }, { name: \"Durham, NC\", tz: -5, lat: 36, lon: 78.92 }, { name: \"Greensboro, NC\", tz: -5, lat: 36.07, lon: 79.78 }, { name: \"Wilmington, NC\", tz: -5, lat: 34.23, lon: 77.93 }, { name: \"Winston Salem, NC\", tz: -5, lat: 36.1, lon: 80.25 }, { name: \"Bismark, N. Dakota\", tz: -7, lat: 46.8, lon: 100.78 }, { name: \"Fargo, N. Dakota\", tz: -7, lat: 46.88, lon: 96.78 }, { name: \"Minot, N. Dakota\", tz: -7, lat: 48.23, lon: 101.3 }, { name: \"Akron, OH\", tz: -5, lat: 41.08, lon: 81.52 }, { name: \"Dayton, OH\", tz: -5, lat: 39.77, lon: 84.2 }, { name: \"Hamilton, OH\", tz: -5, lat: 39.4, lon: 84.57 }, { name: \"Lima, OH\", tz: -5, lat: 40.75, lon: 84.1 }, { name: \"Lorain, OH\", tz: -5, lat: 41.47, lon: 82.18 }, { name: \"Springfield, OH\", tz: -5, lat: 39.95, lon: 83.8 }, { name: \"Stuebenville, OH\", tz: -5, lat: 40.37, lon: 80.62 }, { name: \"Toledo, OH\", tz: -5, lat: 41.65, lon: 83.55 }, { name: \"Youngstown, OH\", tz: -5, lat: 41.1, lon: 80.65 }, { name: \"Zanesville, OH\", tz: -5, lat: 39.93, lon: 82.52 }, { name: \"Enid, Oklahoma\", tz: -6, lat: 36.4, lon: 97.88 }, { name: \"Oklahoma City\", tz: -6, lat: 35.47, lon: 97.52 }, { name: \"Tulsa, Oklahoma\", tz: -6, lat: 36.15, lon: 96 }, { name: \"Eugene (Oreg, US)\", tz: -8, lat: 44.05, lon: 123.1 }, { name: \"Salem (Oreg, US)\", tz: -8, lat: 44.93, lon: 123.03 }, { name: \"Altonna, Pennsylvania\", tz: -5, lat: 40.52, lon: 78.38 }, { name: \"Bethlehem, Pennsylvania\", tz: -5, lat: 40.6, lon: 75.38 }, { name: \"Erie, Pennsylvania\", tz: -5, lat: 42.12, lon: 80.08 }, { name: \"Harrisburg, Pennsylvania\", tz: -5, lat: 40.25, lon: 76.88 }, { name: \"Johnstown, Pennsylvania\", tz: -5, lat: 40.33, lon: 78.92 }, { name: \"Lancaster, Pennsylvania\", tz: -5, lat: 40.03, lon: 76.3 }, { name: \"Reading, Pennsylvania\", tz: -5, lat: 40.33, lon: 75.93 }, { name: \"Scranton, Pennsylvania\", tz: -5, lat: 41.42, lon: 75.67 }, { name: \"WilkesEBarre, Pennsylvania\", tz: -5, lat: 41.25, lon: 75.88 }, { name: \"York, Pennsylvania\", tz: -5, lat: 39.97, lon: 76.73 }, { name: \"Manila\", tz: 8, lat: 14.62, lon: -121 }, { name: \"Kigali\", tz: 2, lat: -1.57, lon: -3.03 }, { name: \"Dakar\", tz: 0, lat: 14.38, lon: 17.27 }, { name: \"Mogadishu\", tz: 3, lat: 2, lon: -45.22 }, { name: \"Columbia, SC\", tz: -5, lat: 34, lon: 81.03 }, { name: \"Greenville, SC\", tz: -5, lat: 34.85, lon: 82.4 }, { name: \"Spartanburg, SC\", tz: -5, lat: 34.95, lon: 81.93 }, { name: \"Pierre, South Dakota\", tz: -6, lat: 44.37, lon: 100.35 }, { name: \"Rapid City, South Dakota\", tz: -6, lat: 44.08, lon: 103.22 }, { name: \"Sioux Falls, South Dakota\", tz: -6, lat: 43.55, lon: 96.73 }, { name: \"Khartoum\", tz: 2, lat: 15.33, lon: -32.22 }, { name: \"Daressalam\", tz: 3, lat: -6.52, lon: -39.18 }, { name: \"Chattanooga (Tenn., US)\", tz: -6, lat: 35.05, lon: 85.32 }, { name: \"Knoxville (Tenn., US)\", tz: -6, lat: 35.97, lon: 83.92 }, { name: \"Abilene, TX\", tz: -6, lat: 32.45, lon: 99.73 }, { name: \"Amarillo, TX\", tz: -6, lat: 35.18, lon: 101.83 }, { name: \"Austin, TX\", tz: -6, lat: 30.27, lon: 97.75 }, { name: \"Beaumont, TX\", tz: -6, lat: 30.08, lon: 94.1 }, { name: \"Brownsville, TX\", tz: -6, lat: 25.9, lon: 97.5 }, { name: \"Corpus Christi, TX\", tz: -6, lat: 27.8, lon: 97.4 }, { name: \"El Paso, TX\", tz: -6, lat: 31.77, lon: 106.48 }, { name: \"Ft Worth, TX\", tz: -6, lat: 32.75, lon: 97.33 }, { name: \"Galveston, TX\", tz: -6, lat: 29.3, lon: 94.8 }, { name: \"Laredo, TX\", tz: -6, lat: 27.5, lon: 99.52 }, { name: \"Lubbock, TX\", tz: -6, lat: 33.58, lon: 101.85 }, { name: \"Marshall, TX\", tz: -6, lat: 32.55, lon: 94.38 }, { name: \"Port Arthur, TX\", tz: -6, lat: 29.88, lon: 93.93 }, { name: \"San Angelo, TX\", tz: -6, lat: 31.47, lon: 100.43 }, { name: \"Texarkana, TX\", tz: -6, lat: 33.43, lon: 94.05 }, { name: \"Waco, TX\", tz: -6, lat: 31.55, lon: 97.13 }, { name: \"Lhasa\", tz: 8, lat: 29.68, lon: -92.2 }, { name: \"Lome\", tz: 0, lat: 6.1, lon: -1.2 }, { name: \"Tunis\", tz: 1, lat: 36.48, lon: -10.13 }, { name: \"Kampala\", tz: 3, lat: 0.2, lon: -32.35 }, { name: \"Logan, Utah\", tz: -7, lat: 41.73, lon: 111.83 }, { name: \"Ogden, Utah\", tz: -7, lat: 41.23, lon: 111.97 }, { name: \"Provo, Utah\", tz: -7, lat: 40.23, lon: 111.65 }, { name: \"Brattleboro, VT\", tz: -5, lat: 42.85, lon: 72.57 }, { name: \"Montpelier, VT\", tz: -5, lat: 44.27, lon: 72.55 }, { name: \"Hanoi\", tz: 7, lat: 21.07, lon: -105.83 }, { name: \"Norfolk, Virginia\", tz: -5, lat: 36.85, lon: 76.28 }, { name: \"Portsmouth, Virginia\", tz: -5, lat: 36.83, lon: 76.28 }, { name: \"Richmond, Virginia\", tz: -5, lat: 37.53, lon: 77.43 }, { name: \"Roanooke, Virginia\", tz: -5, lat: 37.25, lon: 79.93 }, { name: \"Bellingham, WA\", tz: -8, lat: 48.77, lon: 122.48 }, { name: \"Spokane, WA\", tz: -8, lat: 47.67, lon: 117.43 }, { name: \"Tacoma, WA\", tz: -8, lat: 47.25, lon: 122.43 }, { name: \"Walla Walla, WA\", tz: -8, lat: 46.07, lon: 118.33 }, { name: \"Yakima, WA\", tz: -8, lat: 46.6, lon: 120.52 }, { name: \"Laayoune\", tz: 1, lat: 27.1, lon: 13.12 }, { name: \"Charleston, West Virginia\", tz: -5, lat: 38.35, lon: 81.63 }, { name: \"Huntington, West Virginia\", tz: -5, lat: 38.42, lon: 82.45 }, { name: \"Wheeling, West Virginia\", tz: -5, lat: 40.07, lon: 80.72 }, { name: \"Eau Claire (Wis., US)\", tz: -6, lat: 44.82, lon: 91.5 }, { name: \"Green Bay (Wis., US)\", tz: -6, lat: 44.52, lon: 88.02 }, { name: \"Kenosha (Wis., US)\", tz: -6, lat: 42.6, lon: 87.83 }, { name: \"Racine (Wis., US)\", tz: -6, lat: 42.73, lon: 87.78 }, { name: \"Sheboygan (Wis., US)\", tz: -6, lat: 43.75, lon: 87.72 }, { name: \"Superior (Wis., US)\", tz: -6, lat: 46.72, lon: 92.1 }, { name: \"Cheyenne, Wyoming\", tz: -7, lat: 41.13, lon: 104.82 }, { name: \"Sheridan, Wyoming\", tz: -7, lat: 44.8, lon: 106.95 }, { name: \"Lusaka\", tz: 2, lat: -15.28, lon: -28.17 }, { name: \"Kinshasa\", tz: 1, lat: -4.18, lon: -15.18 }, { name: \"Harare\", tz: 2, lat: -17.5, lon: -31.03 }, { name: \"Abu Dhabi\", tz: 4, lat: 24.33, lon: -54.57 }, { name: \"Acapulco\", tz: -6, lat: 17.08, lon: 100.13 }, { name: \"Agana, Guam\", tz: 10, lat: 13.48, lon: -144.73 }, { name: \"Al-Manamah, Bharain\", tz: 3, lat: 26.22, lon: -50.55 }, { name: \"Andorra, Spain\", tz: 1, lat: 40.97, lon: 0.47 }, { name: \"Asmara, Eritrea\", tz: 3, lat: 15.02, lon: -38.48 }, { name: \"Baku, Aserbaidschan\", tz: 4, lat: 40.35, lon: -49.82 }, { name: \"Bergen, The Netherlands\", tz: 1, lat: 51.62, lon: -6.07 }, { name: \"Bischkek, Kirgistan\", tz: 6, lat: 43.02, lon: -74.97 }, { name: \"Bridgetown (Barbados)\", tz: -4, lat: 13.08, lon: 59.47 }, { name: \"Brno\", tz: 1, lat: 49.2, lon: -16.58 }, { name: \"Broken Hill, Australia\", tz: 10, lat: -31.87, lon: -141.17 }, { name: \"Bukavu, Zaire\", tz: 2, lat: -2.55, lon: -28.65 }, { name: \"Kanarische Inseln\", tz: 0, lat: 28.47, lon: 15.05 }, { name: \"Cayenne (French - Guyana)\", tz: -3, lat: 4.78, lon: -52.47 }, { name: \"Cebu, Phillipines\", tz: 8, lat: 10.18, lon: -123.75 }, { name: \"Cordoba, Spain\", tz: 1, lat: 57.87, lon: 4.83 }, { name: \"Cordoba, Argentinia\", tz: -3, lat: -31.15, lon: 64.25 }, { name: \"Cordova, Alaska, U.S.A.\", tz: -9, lat: 60.55, lon: 145.73 }, { name: \"Dalian, China\", tz: 8, lat: 38.9, lon: -121.65 }, { name: \"Dakar, Senegal\", tz: 0, lat: 14.78, lon: 16.95 }, { name: \"Dhaka, Bangladesh\", tz: 6, lat: 23.48, lon: -90.4 }, { name: \"Durban, South Africa\", tz: 2, lat: -29.87, lon: -30.9 }, { name: \"Dushanbe, Tadschikistan\", tz: 6, lat: 38.6, lon: -69.1 }, { name: \"Er Riad\", tz: 3, lat: 24.65, lon: -46.7 }, { name: \"Firenze, Italy\", tz: 1, lat: 43.77, lon: -11.23 }, { name: \"Freetown, Sierra Leone\", tz: 0, lat: 8.5, lon: 13.22 }, { name: \"Georgetown, Gambia\", tz: 0, lat: 13.22, lon: 14.75 }, { name: \"Guatemala City\", tz: -6, lat: 14.58, lon: 90.67 }, { name: \"Hermosillo, Mexico\", tz: -6, lat: 29.18, lon: 110.98 }, { name: \"Jakarta, Indonesia\", tz: 7, lat: -6.28, lon: -106.65 }, { name: \"Katmandu, Nepal\", tz: 6, lat: 27.67, lon: -85.47 }, { name: \"Khabarovsk, Russia\", tz: 10, lat: 48.07, lon: -134.63 }, { name: \"Khartoum, Sudan\", tz: 2, lat: 15.23, lon: -32.57 }, { name: \"La Paz, Argentinia\", tz: -3, lat: -30.75, lon: 59.67 }, { name: \"La Plata, Argentinia\", tz: -3, lat: -34.97, lon: 57.97 }, { name: \"Limerick, Ireland\", tz: 0, lat: 52.7, lon: 8.67 }, { name: \"Macao, China\", tz: 8, lat: 22.22, lon: -113.6 }, { name: \"Managua, Nikaragva\", tz: -6, lat: 12.15, lon: 86.32 }, { name: \"Manaus\", tz: -4, lat: -2.87, lon: 60.12 }, { name: \"Maracaibo, Venezuela\", tz: -4, lat: 10.52, lon: 71.97 }, { name: \"Mbabane, Swasiland\", tz: 2, lat: -26.07, lon: -31.15 }, { name: \"Monte Carlo, Monaco\", tz: 1, lat: 43.73, lon: -7.42 }, { name: \"Nassau, Germany\", tz: 1, lat: 50.32, lon: -7.8 }, { name: \"Nandi, Simbabwe\", tz: 2, lat: -20.98, lon: -31.78 }, { name: \"Nantes, France\", tz: 1, lat: 47.23, lon: 1.48 }, { name: \"Noumea, New Caledonia\", tz: 11, lat: -22.12, lon: -166.5 }, { name: \"Nizhniy Novgorod\", tz: 4, lat: 56.33, lon: -44.17 }, { name: \"Odense, Denmark\", tz: 1, lat: 55.43, lon: 10.3 }, { name: \"Osaka, Japan\", tz: 9, lat: 34.75, lon: -135.47 }, { name: \"Paramaribo, Surinam\", tz: -3, lat: 5.77, lon: 55.25 }, { name: \"Phnom Penh, Kambodscha\", tz: 7, lat: 11.53, lon: -104.78 }, { name: \"Port Au Prince, Haiti\", tz: -5, lat: 18.57, lon: 72.33 }, { name: \"Port Louis, Mauritius\", tz: 4, lat: -20.15, lon: -57.5 }, { name: \"Port Moresby, Papua-Neuguinea\", tz: 10, lat: -9.43, lon: -147 }, { name: \"Port Said, Egypt\", tz: 2, lat: 30.9, lon: -32.07 }, { name: \"Pretoria, South Africa\", tz: 2, lat: -25.63, lon: -28.33 }, { name: \"San Salvador, El Salvador\", tz: -6, lat: 13.98, lon: 89.18 }, { name: \"Santo Domingo, Dominican Republic\", tz: -4, lat: 18.5, lon: 69.93 }, { name: \"Suez, Egypt\", tz: 2, lat: 29.97, lon: -32.55 }, { name: \"Szeged, Hungary\", tz: 1, lat: 46.32, lon: -20.08 }, { name: \"Tahiti, Polynesia\", tz: -10, lat: -18.3, lon: 149.43 }, { name: \"Tegucigalpa, Honduras\", tz: -6, lat: 14.28, lon: 87.4 }, { name: \"Thessalonikia, Greece\", tz: 2, lat: 40.65, lon: -23.02 }, { name: \"Thimbu, Bhutan\", tz: 6, lat: 27.47, lon: -89.63 }, { name: \"Tirana, Albania\", tz: 1, lat: 41.35, lon: -19.8 }, { name: \"Tijuana, Mexico\", tz: -6, lat: 32.48, lon: 117.03 }, { name: \"Ulan Bator, Mongolia\", tz: 8, lat: 47.45, lon: -106.4 }, { name: \"Vaduz, Liechtenstein\", tz: 1, lat: 47.13, lon: -9.53 }, { name: \"Vientiane, Laos\", tz: 7, lat: 17.88, lon: -102.63 }, { name: \"Wellington, New Zealand\", tz: 12, lat: -41.3, lon: -174.98 }, { name: \"Yerevan, Armenia\", tz: 4, lat: 39.93, lon: -44.75 }, { name: \"Towson, MD\", tz: -5, lat: 39.28, lon: 76.62 }, { name: \"Florina\", tz: 2, lat: 40.78, lon: -21.42 }, { name: \"Kishinew, Moldova\", tz: 2, lat: 47, lon: -28.83 }, { name: \"Belts, Moldova\", tz: 2, lat: 47.75, lon: -27.92 }, { name: \"Bendery, Moldova\", tz: 2, lat: 46.83, lon: -29.47 }, { name: \"Cahul, Moldova\", tz: 2, lat: 45.9, lon: -28.2 }, { name: \"Taraclia, Moldova\", tz: 2, lat: 45.9, lon: -28.68 }, { name: \"Alexandria, Greece\", tz: 2, lat: 40.63, lon: -22.52 }, { name: \"Chalkis, Greece\", tz: 2, lat: 38.47, lon: -23.6 }, { name: \"Drama, Greece\", tz: 2, lat: 41.15, lon: -24.17 }, { name: \"Kilkis, Greece\", tz: 2, lat: 41, lon: -22.9 }, { name: \"Larissa, Greece\", tz: 2, lat: 39.63, lon: -22.42 }, { name: \"Thessaloniki, Greece\", tz: 2, lat: 40.63, lon: -22.97 }, { name: \"\\xC4li Bayramli, Aserbaidschan\", tz: 4, lat: 39.93, lon: -48.92 }, { name: \"Puta, Aserbaidschan\", tz: 4, lat: 40.3, lon: -49.68 }, { name: \"Sumqayit, Aserbaidschan\", tz: 4, lat: 40.6, lon: -49.75 }, { name: \"Siy\\xE4z\\xE4n, Aserbaidschan\", tz: 4, lat: 41.07, lon: -49.1 }, { name: \"Decin\", tz: 1, lat: 50.8, lon: -14.22 }, { name: \"Karlovy Vary\", tz: 1, lat: 50.18, lon: -12.87 }, { name: \"Zilina\", tz: 1, lat: 49.23, lon: -18.77 }, { name: \"Appenweier\", tz: 1, lat: 48.53, lon: -7.97 }, { name: \"Denzlingen\", tz: 1, lat: 48.07, lon: -7.87 }, { name: \"Ettenheim\", tz: 1, lat: 48.25, lon: -7.82 }, { name: \"Kehl\", tz: 1, lat: 48.58, lon: -7.83 }, { name: \"Kenzingen\", tz: 1, lat: 48.18, lon: -7.77 }, { name: \"Lahr\", tz: 1, lat: 48.33, lon: -7.87 }, { name: \"Oberkirch\", tz: 1, lat: 48.52, lon: -8.08 }, { name: \"Offenburg\", tz: 1, lat: 48.47, lon: -7.95 }, { name: \"Rust, Germany\", tz: 1, lat: 48.27, lon: -7.72 }, { name: \"Waldkirch\", tz: 1, lat: 48.08, lon: -7.95 }, { name: \"K\\xF6nigs Wusterhausen\", tz: 1, lat: 52.3, lon: -13.62 }, { name: \"Oderberg\", tz: 1, lat: 52.87, lon: -14.03 }, { name: \"Oranienburg\", tz: 1, lat: 52.75, lon: -13.23 }, { name: \"Schwedt/Oder\", tz: 1, lat: 53.05, lon: -14.28 }, { name: \"Harrow, United Kingdom\", tz: 0, lat: 51.58, lon: 0.37 }, { name: \"Markkleeberg\", tz: 1, lat: 51.28, lon: -12.38 }, { name: \"Gap, France\", tz: 1, lat: 44.57, lon: -6.08 }, { name: \"Amiens, France\", tz: 1, lat: 49.9, lon: -2.3 }, { name: \"Angers, France\", tz: 1, lat: 47.47, lon: 0.55 }, { name: \"Bischeim, France\", tz: 1, lat: 48.62, lon: -7.75 }, { name: \"Chambery, France\", tz: 1, lat: 45.57, lon: -6.08 }, { name: \"Deauville, France\", tz: 1, lat: 49.37, lon: -0.07 }, { name: \"Dieuze, France\", tz: 1, lat: 48.82, lon: -6.72 }, { name: \"Dunkerque, France\", tz: 1, lat: 51.05, lon: -2.37 }, { name: \"Elbeuf, France\", tz: 1, lat: 49.28, lon: -1 }, { name: \"Epernay, France\", tz: 1, lat: 49.05, lon: -3.95 }, { name: \"Epinal, France\", tz: 1, lat: 48.18, lon: -6.45 }, { name: \"Forbach, France\", tz: 1, lat: 49.18, lon: -6.9 }, { name: \"Ingwiller, France\", tz: 1, lat: 48.87, lon: -7.48 }, { name: \"Saint-Laurent-du-Var, France (1)\", tz: 1, lat: 45.38, lon: -5.73 }, { name: \"La Ciotat, France\", tz: 1, lat: 43.17, lon: -5.6 }, { name: \"Le Mans, France\", tz: 1, lat: 48, lon: -0.2 }, { name: \"Libourne, France\", tz: 1, lat: 44.92, lon: 0.23 }, { name: \"Luneville, France\", tz: 1, lat: 48.6, lon: -6.5 }, { name: \"Marignane, France\", tz: 1, lat: 43.42, lon: -5.22 }, { name: \"Melun, France\", tz: 1, lat: 48.53, lon: -2.67 }, { name: \"Merlebach, France\", tz: 1, lat: 49.15, lon: -6.8 }, { name: \"Montauban, France\", tz: 1, lat: 44.02, lon: -1.35 }, { name: \"Montbeliard, France\", tz: 1, lat: 47.52, lon: -6.8 }, { name: \"Obernai, France\", tz: 1, lat: 48.47, lon: -7.48 }, { name: \"Pau, France\", tz: 1, lat: 43.3, lon: 0.37 }, { name: \"Perigueux, France\", tz: 1, lat: 45.18, lon: -0.72 }, { name: \"Phalsbourg, France\", tz: 1, lat: 48.77, lon: -7.27 }, { name: \"Poitiers, France\", tz: 1, lat: 46.58, lon: -0.33 }, { name: \"Reims, France\", tz: 1, lat: 49.25, lon: -4.02 }, { name: \"Rennes, France\", tz: 1, lat: 48.08, lon: 1.68 }, { name: \"Roanne, France\", tz: 1, lat: 46.03, lon: -4.07 }, { name: \"Saint-Avold, France\", tz: 1, lat: 49.1, lon: -6.7 }, { name: \"Saint-Die, France\", tz: 1, lat: 48.28, lon: -6.95 }, { name: \"Saint-Etienne, France\", tz: 1, lat: 45.43, lon: -4.4 }, { name: \"Saint-Fons, France\", tz: 1, lat: 45.7, lon: -4.85 }, { name: \"Saint-Laurent-du-Var, France (2)\", tz: 1, lat: 43.67, lon: -7.18 }, { name: \"Saint-Quentin, France\", tz: 1, lat: 49.85, lon: -3.28 }, { name: \"Sarrebourg, France\", tz: 1, lat: 48.73, lon: -7.05 }, { name: \"Sarreguemines, France\", tz: 1, lat: 49.1, lon: -7.05 }, { name: \"Saverne, France\", tz: 1, lat: 48.73, lon: -7.37 }, { name: \"Sedan, France\", tz: 1, lat: 49.7, lon: -4.95 }, { name: \"Selestat, France\", tz: 1, lat: 48.27, lon: -7.45 }, { name: \"Tarbes, France\", tz: 1, lat: 43.23, lon: -0.08 }, { name: \"Thionville, France\", tz: 1, lat: 49.37, lon: -6.17 }, { name: \"Toul, France\", tz: 1, lat: 48.68, lon: -5.9 }, { name: \"Toulon, France\", tz: 1, lat: 43.12, lon: -5.93 }, { name: \"Valence, France\", tz: 1, lat: 44.93, lon: -4.9 }, { name: \"Valenciennes, France\", tz: 1, lat: 50.35, lon: -3.53 }, { name: \"Venissieux, France\", tz: 1, lat: 54.68, lon: -4.88 }, { name: \"Verdun, France\", tz: 1, lat: 49.17, lon: -5.38 }, { name: \"Vichy, France\", tz: 1, lat: 46.13, lon: -3.43 }, { name: \"Berdicev, Ukraine\", tz: 2, lat: 49.9, lon: -28.6 }, { name: \"Bershad, Ukraine\", tz: 2, lat: 48.37, lon: -29.53 }, { name: \"Chernigov, Ukraine\", tz: 2, lat: 50.83, lon: -24.13 }, { name: \"Czernowitz, Chernovtsy, Ukraine\", tz: 2, lat: 48.28, lon: -25.97 }, { name: \"Dnepropetrovsk, Ukraine\", tz: 2, lat: 48.45, lon: -35.03 }, { name: \"Donetsk, Ukraine\", tz: 2, lat: 48, lon: -37.78 }, { name: \"Charkow, Ukraine\", tz: 2, lat: 49.92, lon: -36.17 }, { name: \"Cherson, Ukraine\", tz: 2, lat: 46.65, lon: -32.6 }, { name: \"Korosten, Ukraine\", tz: 2, lat: 50.95, lon: -28.63 }, { name: \"Kremenchug, Ukraine\", tz: 2, lat: 49.07, lon: -33.42 }, { name: \"Lemberg, Lwow, Ukraine\", tz: 2, lat: 49.83, lon: -24.03 }, { name: \"Mukacevo, Ukraine\", tz: 2, lat: 48.45, lon: -22.72 }, { name: \"Nikolayev, Ukraine\", tz: 2, lat: 49.52, lon: -23.97 }, { name: \"Rachki, Ukraine\", tz: 2, lat: 49.5, lon: -29.9 }, { name: \"Simferopol, Ukraine\", tz: 2, lat: 44.95, lon: -34.1 }, { name: \"Slavuta, Ukraine\", tz: 2, lat: 50.3, lon: -26.87 }, { name: \"Zhitomir, Ukraine\", tz: 2, lat: 50.25, lon: -28.67 }, { name: \"Beregovoye, Ukraine\", tz: 2, lat: 44.9, lon: -33.6 }, { name: \"Tinton Falls, NJ\", tz: -5, lat: 40.28, lon: 74.1 }, { name: \"Warendorf\", tz: 1, lat: 51.95, lon: -7.98 }, { name: \"M\\xFCnster\", tz: 1, lat: 51.95, lon: -7.62 }, { name: \"Neu Fahrland\", tz: 1, lat: 52.45, lon: -13.05 }, { name: \"Charlottesville, Virginia\", tz: -5, lat: 38.03, lon: 78.48 }, { name: \"Hagenow\", tz: 1, lat: 53.43, lon: -11.18 }, { name: \"Verl\", tz: 1, lat: 51.88, lon: -8.52 }, { name: \"R\\xF6bel\", tz: 1, lat: 53.37, lon: -12.6 }, { name: \"Nordhausen\", tz: 1, lat: 51.5, lon: -10.78 }, { name: \"Aschaffenburg\", tz: 1, lat: 49.98, lon: -9.15 }, { name: \"Ahrweiler\", tz: 1, lat: 50.55, lon: -7.13 }, { name: \"Cedar Grove, NJ (1)\", tz: -5, lat: 40.85, lon: 74.23 }, { name: \"Cedar Grove, NJ (2)\", tz: -5, lat: 39.97, lon: 74.15 }, { name: \"Encinitas, CA\", tz: -8, lat: 33.03, lon: 117.28 }, { name: \"Calabasas, AZ\", tz: -7, lat: 31.47, lon: 110.97 }, { name: \"Calabasas, CA\", tz: -8, lat: 34.15, lon: 118.63 }, { name: \"Rottweil\", tz: 1, lat: 48.17, lon: -8.62 }];\n\n// src/Locations.ts\nvar Locations = locations_default.map((l) => new Location(l.name, l.heb, !!l.il, l.lat, l.lon, l.tz, l.el || 0, l.cl));\nLocations.sort(function(a, b) {\n return a.Name > b.Name ? 1 : b.Name > a.Name ? -1 : 0;\n});\nvar justNames = [];\nfor (let i = 0; i < Locations.length - 1; i++) {\n const l = Locations[i];\n justNames.push({\n name: l.Name.split(\",\", 1)[0].toLowerCase(),\n index: i\n });\n if (!!l.NameHebrew) {\n justNames.push({\n name: l.NameHebrew,\n index: i\n });\n }\n}\nfunction distancePointToPoint(point1, point2) {\n if (point1.latitude == point2.latitude && point1.longitude == point2.longitude) {\n return 0;\n } else {\n var radlat1 = Math.PI * point1.latitude / 180;\n var radlat2 = Math.PI * point2.latitude / 180;\n var theta = point1.longitude - point2.longitude;\n var radtheta = Math.PI * theta / 180;\n var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n if (dist > 1) {\n dist = 1;\n }\n dist = Math.acos(dist);\n dist = dist * 180 / Math.PI;\n dist = dist * 60 * 1.1515;\n dist = dist * 1.609344;\n return dist;\n }\n}\nfunction closestDistanceMatch(point) {\n let curr = { dist: 1e5 };\n for (let location of Locations) {\n const dist = distancePointToPoint(point, { latitude: location.Latitude, longitude: location.Longitude });\n if (dist < curr.dist) {\n curr = { dist, location };\n }\n }\n return curr.location;\n}\nfunction closestNameMatch(val) {\n let curr = { dist: 1e5 };\n for (let location of justNames) {\n const dist = distance(val.toLowerCase(), location.name);\n if (dist < curr.dist) {\n curr = { dist, location };\n }\n }\n return curr.location ? Locations[curr.location.index] : void 0;\n}\nfunction findLocation(nameOrCoordinates) {\n if (typeof nameOrCoordinates === \"string\") {\n const exactNameMatch = Locations.find((l) => l.Name.toLowerCase() === nameOrCoordinates.toLowerCase() || l.NameHebrew === nameOrCoordinates);\n if (!!exactNameMatch) {\n return exactNameMatch;\n }\n const cityOnlyNameMatch = justNames.find((l) => l.name === nameOrCoordinates.toLowerCase());\n if (!!cityOnlyNameMatch) {\n return Locations[cityOnlyNameMatch.index];\n }\n return closestNameMatch(nameOrCoordinates.toLowerCase());\n } else {\n const exactCoordinateMatch = Locations.find((l) => l.Latitude === nameOrCoordinates.latitude && l.Longitude === nameOrCoordinates.longitude);\n if (!!exactCoordinateMatch) {\n return exactCoordinateMatch;\n }\n return closestDistanceMatch(nameOrCoordinates);\n }\n}\n\n// src/ZmanTypes.ts\nvar ZmanTypeIds = Object.freeze({\n ChatzosLayla: 0,\n Alos90: 1,\n Alos72: 2,\n TalisTefillin: 3,\n NetzAtElevation: 4,\n NetzMishor: 5,\n szksMga: 6,\n szksGra: 7,\n sztMga: 8,\n sztGra: 9,\n chatzosDay: 10,\n minGed: 11,\n minKet: 12,\n plag: 13,\n shkiaAtSeaLevel: 14,\n shkiaElevation: 15,\n tzais45: 16,\n tzais50: 17,\n tzais72: 18,\n rabbeinuTamZmanios: 19,\n rabbeinuTamZmaniosMga: 20,\n candleLighting: 21,\n SofZmanEatingChometz: 22,\n SofZmanBurnChometz: 23\n});\nvar ZmanTypes = [\n {\n id: ZmanTypeIds.ChatzosLayla,\n desc: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05DC\\u05D9\\u05DC\\u05D4\",\n eng: \"Chatzos - Midnight\",\n heb: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05DC\\u05D9\\u05DC\\u05D4\"\n },\n {\n id: ZmanTypeIds.Alos90,\n desc: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 - 90 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Alos Hashachar - 90\",\n heb: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 (90)\"\n },\n {\n id: ZmanTypeIds.Alos72,\n desc: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 - 72 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Alos Hashachar - 72\",\n heb: \"\\u05E2\\u05DC\\u05D5\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8 (72)\"\n },\n {\n id: ZmanTypeIds.TalisTefillin,\n desc: \"\\u05D6\\u05DE\\u05DF \\u05E2\\u05D8\\u05D9\\u05E4\\u05EA \\u05D8\\u05DC\\u05D9\\u05EA \\u05D5\\u05EA\\u05E4\\u05D9\\u05DC\\u05D9\\u05DF - 36 \\u05D3\\u05E7\\u05D5\\u05EA\",\n eng: \"Taliss and Tefillin\",\n heb: \"\\u05D8\\u05DC\\u05D9\\u05EA \\u05D5\\u05EA\\u05E4\\u05D9\\u05DC\\u05D9\\u05DF\"\n },\n {\n id: ZmanTypeIds.NetzAtElevation,\n desc: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 \\u05D1\\u05D2\\u05D5\\u05D1\\u05D4 \\u05D4\\u05DE\\u05D9\\u05E7\\u05D5\\u05DD\",\n eng: \"Sunrise at current elevation\",\n heb: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 - \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4\"\n },\n {\n id: ZmanTypeIds.NetzMishor,\n desc: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4 \\u05D1\\u05D2\\u05D5\\u05D1\\u05D4 \\u05E4\\u05E0\\u05D9 \\u05D4\\u05D9\\u05DD\",\n eng: \"Sunrise\",\n heb: \"\\u05D4\\u05E0\\u05E5 \\u05D4\\u05D7\\u05DE\\u05D4\"\n },\n {\n id: ZmanTypeIds.szksMga,\n desc: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05DE\\u05D2\"\\u05D0',\n eng: 'Zman Krias Shma - MG\"A',\n heb: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.szksGra,\n desc: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05D4\\u05D2\\u05E8\"\\u05D0',\n eng: 'Zman Krias Shma - GR\"A',\n heb: '\\u05E1\\u05D6\\u05E7\"\\u05E9 \\u05D4\\u05D2\\u05E8\"\\u05D0'\n },\n {\n id: ZmanTypeIds.sztMga,\n desc: '\\u05E1\\u05D6\"\\u05EA \\u05DE\\u05D2\"\\u05D0',\n eng: 'Zman Tefilla - MG\"A',\n heb: '\\u05E1\\u05D6\"\\u05EA \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.sztGra,\n desc: '\\u05E1\\u05D6\"\\u05EA \\u05D4\\u05D2\\u05E8\"\\u05D0',\n eng: 'Zman Tefilla - GR\"A',\n heb: '\\u05E1\\u05D6\"\\u05EA \\u05D4\\u05D2\\u05E8\"\\u05D0'\n },\n {\n id: ZmanTypeIds.chatzosDay,\n desc: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05D9\\u05D5\\u05DD\",\n eng: \"Chatzos - Midday\",\n heb: \"\\u05D7\\u05E6\\u05D5\\u05EA \\u05D4\\u05D9\\u05D5\\u05DD\"\n },\n {\n id: ZmanTypeIds.minGed,\n desc: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05D2\\u05D3\\u05D5\\u05DC\\u05D4\",\n eng: \"Mincha Gedola\",\n heb: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05D2\\u05D3\\u05D5\\u05DC\\u05D4\"\n },\n {\n id: ZmanTypeIds.minKet,\n desc: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E7\\u05D8\\u05E0\\u05D4\",\n eng: \"Mincha Ketana\",\n heb: \"\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E7\\u05D8\\u05E0\\u05D4\"\n },\n {\n id: ZmanTypeIds.plag,\n desc: \"\\u05E4\\u05DC\\u05D2 \\u05D4\\u05DE\\u05E0\\u05D7\\u05D4\",\n eng: \"Plag HaMincha\",\n heb: \"\\u05E4\\u05DC\\u05D2 \\u05D4\\u05DE\\u05E0\\u05D7\\u05D4\"\n },\n {\n id: ZmanTypeIds.shkiaAtSeaLevel,\n desc: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4 \\u05E4\\u05E0\\u05D9 \\u05D4\\u05D9\\u05DD\",\n eng: \"Sunset at sea level\",\n heb: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 - \\u05DE\\u05DE\\u05D9\\u05E9\\u05D5\\u05E8\"\n },\n {\n id: ZmanTypeIds.shkiaElevation,\n desc: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4 \\u05DE\\u05D2\\u05D5\\u05D1\\u05D4 \\u05D4\\u05DE\\u05D9\\u05E7\\u05D5\\u05DD\",\n eng: \"Sunset\",\n heb: \"\\u05E9\\u05E7\\u05D9\\u05E2\\u05EA \\u05D4\\u05D7\\u05DE\\u05D4\"\n },\n {\n id: ZmanTypeIds.tzais45,\n desc: \"45 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Nightfall - 45\",\n heb: \"\\u05E6\\u05D0\\u05EA \\u05D4\\u05DB\\u05D5\\u05DB\\u05D1\\u05D9\\u05DD (45)\"\n },\n {\n id: ZmanTypeIds.tzais50,\n desc: \"50 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Nightfall - 50\",\n heb: \"\\u05E6\\u05D0\\u05EA \\u05D4\\u05DB\\u05D5\\u05DB\\u05D1\\u05D9\\u05DD (50)\"\n },\n {\n id: ZmanTypeIds.tzais72,\n desc: \"72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Rabbeinu Tam\",\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - 72 \\u05D3\\u05E7\\u05D5\\u05EA'\n },\n {\n id: ZmanTypeIds.rabbeinuTamZmanios,\n desc: \"72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4\",\n eng: \"Rabbeinu Tam - Zmanios\",\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA'\n },\n {\n id: ZmanTypeIds.rabbeinuTamZmaniosMga,\n desc: '72 \\u05D3\\u05E7\\u05D5\\u05EA \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05D0\\u05D7\\u05E8\\u05D9 \\u05E9\\u05E7\\u05D9\\u05E2\\u05D4 - \\u05DE\\u05D2\"\\u05D0',\n eng: 'Rabbeinu Tam - Zmanios MG\"A',\n heb: '\\u05E6\\u05D4\"\\u05DB \\u05E8\"\\u05EA - \\u05D6\\u05DE\\u05E0\\u05D9\\u05D5\\u05EA \\u05DE\\u05D2\"\\u05D0'\n },\n {\n id: ZmanTypeIds.candleLighting,\n desc: \"\\u05D6\\u05DE\\u05DF \\u05D4\\u05D3\\u05DC\\u05E7\\u05EA \\u05E0\\u05E8\\u05D5\\u05EA\",\n eng: \"Candle lighting time\",\n heb: \"\\u05D6\\u05DE\\u05DF \\u05D4\\u05D3\\u05DC\\u05E7\\u05EA \\u05E0\\u05E8\\u05D5\\u05EA\"\n },\n {\n id: ZmanTypeIds.SofZmanEatingChometz,\n desc: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D0\\u05DB\\u05D9\\u05DC\\u05EA \\u05D7\\u05DE\\u05E5\",\n eng: \"Stop eating Chometz\",\n heb: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D0\\u05DB\\u05D9\\u05DC\\u05EA \\u05D7\\u05DE\\u05E5\"\n },\n {\n id: ZmanTypeIds.SofZmanBurnChometz,\n desc: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D1\\u05D9\\u05E2\\u05D5\\u05E8 \\u05D7\\u05DE\\u05E5\",\n eng: \"Destroy Chometz\",\n heb: \"\\u05E1\\u05D5\\u05E3 \\u05D6\\u05DE\\u05DF \\u05D1\\u05D9\\u05E2\\u05D5\\u05E8 \\u05D7\\u05DE\\u05E5\"\n }\n];\nfunction getZmanType(idOrName) {\n return ZmanTypes.find((zt) => zt.id === idOrName || zt.eng === idOrName || zt.heb === idOrName || zt.desc === idOrName);\n}\n\n// src/JCal/Molad.ts\nvar Molad = class _Molad {\n /**\n * @param {Number} month\n * @param {Number} year\n * @returns {{jDate:jDate,time:Time,chalakim:number}}\n */\n static getMolad(month, year) {\n let totalMonths, partsElapsed, hoursElapsed, parts, monthAdj = month - 7;\n if (monthAdj < 0) {\n monthAdj += jDate.monthsJYear(year);\n }\n totalMonths = Utils.toInt(monthAdj + 235 * Utils.toInt((year - 1) / 19) + 12 * ((year - 1) % 19) + ((year - 1) % 19 * 7 + 1) / 19);\n partsElapsed = 204 + 793 * (totalMonths % 1080);\n hoursElapsed = 5 + 12 * totalMonths + 793 * Utils.toInt(totalMonths / 1080) + Utils.toInt(partsElapsed / 1080) - 6;\n parts = Utils.toInt(partsElapsed % 1080 + 1080 * (hoursElapsed % 24));\n const absoluteDays = 1 + 29 * Utils.toInt(totalMonths) + Utils.toInt(hoursElapsed / 24) - 1373429;\n return {\n jDate: new jDate(Math.floor(absoluteDays)),\n time: { hour: Utils.toInt(hoursElapsed) % 24, minute: Utils.toInt(parts % 1080 / 18), second: 0 },\n chalakim: parts % 18\n };\n }\n /**\n * Returns the time of the molad as a string in the format: Monday Night, 8:33 PM and 12 Chalakim\n * The molad is always in Jerusalem so we use the Jerusalem sunset times\n * to determine whether to display \"Night\" or \"Motzai Shabbos\" etc. (check this...)\n * @param {Number} year\n * @param {Number} month\n */\n static getString(year, month) {\n const molad = _Molad.getMolad(month, year), zmanim = molad.jDate.getSunriseSunset(Location.getJerusalem()), isNight = Utils.isTimeAfter(zmanim.sunset, molad.time), dow = molad.jDate.getDayOfWeek();\n let str = \"\";\n if (!zmanim.sunset || isNaN(zmanim.sunset.hour)) {\n str += DaysOfWeekEng[dow];\n } else if (dow === 6 && isNight) {\n str += \"Motzai Shabbos,\";\n } else if (dow === 5 && isNight) {\n str += \"Shabbos Night,\";\n } else {\n str += DaysOfWeekEng[dow] + (isNight ? \" Night\" : \"\");\n }\n str += \" \" + Utils.getTimeString(molad.time) + \" and \" + molad.chalakim.toString() + \" Chalakim\";\n return str;\n }\n /**\n * Returns the time of the molad as a string in the format: ליל שני 20:33 12 חלקים\n * The molad is always in Jerusalem so we use the Jerusalem sunset times\n * to determine whether to display \"ליל/יום\" or \"מוצאי שב\"ק\" etc.\n * @param {Number} year\n * @param {Number} month\n */\n static getStringHeb(year, month) {\n const molad = _Molad.getMolad(month, year), zmanim = molad.jDate.getSunriseSunset(Location.getJerusalem()), isNight = Utils.isTimeAfter(zmanim.sunset, molad.time) && Utils.isTimeAfter(molad.time, zmanim.sunrise), dow = molad.jDate.getDayOfWeek();\n let str = \"\";\n if (dow === 6) {\n str += isNight ? '\\u05DE\\u05D5\\u05E6\\u05D0\\u05D9 \\u05E9\\u05D1\"\\u05E7' : '\\u05D9\\u05D5\\u05DD \\u05E9\\u05D1\"\\u05E7';\n } else if (dow === 5) {\n str += isNight ? '\\u05DC\\u05D9\\u05DC \\u05E9\\u05D1\"\\u05E7' : '\\u05E2\\u05E8\\u05D1 \\u05E9\\u05D1\"\\u05E7';\n } else {\n str += (isNight ? \"\\u05DC\\u05D9\\u05DC\" : \"\\u05D9\\u05D5\\u05DD\") + DaysOfWeekHeb[dow].replace(\"\\u05D9\\u05D5\\u05DD\", \"\");\n }\n str += \" \" + Utils.getTimeString(molad.time, 1, true) + \" \" + molad.chalakim.toString() + \" \\u05D7\\u05DC\\u05E7\\u05D9\\u05DD\";\n return str;\n }\n};\n\n// src/JCal/ZmanimUtils.ts\nvar WhichDaysFlags = Object.freeze({\n SUNDAY: 1,\n MONDAY: 2,\n TUESDAY: 4,\n WEDNESDAY: 8,\n THURSDAY: 16,\n FRIDAY: 32,\n SHABBOS: 64,\n YOMTOV: 128\n});\nvar _ZmanimUtils = class _ZmanimUtils {\n /**\n * Gets the zmanim for all the types in the given list.\n * @param {[ZmanToShow]} zmanTypes An array of ZmanTypes to get the zman for.\n * @param {Date} date The secular date to get the zmanim for\n * @param {jDate} jdate The jewish date to get the zmanim for\n * @param {Location} location The location for which to get the zmanim\n * @returns{[{zmanType:{id:number,offset:?number,desc:string,eng:string,heb:string },time:Time}]}\n */\n static getZmanTimes(zmanTypes, date, jdate, location) {\n const mem = _ZmanimUtils.zmanTimesCache.find(\n (z) => Utils.isSameSdate(z.date, date) && z.location.Name === location.Name\n ), zmanTimes = [], whichDay = _ZmanimUtils.getWhichDays(date, jdate, location);\n let sunrise, sunset, suntimesMishor, sunriseMishor, sunsetMishor, mishorNeg90, chatzos, shaaZmanis, shaaZmanisMga;\n if (mem) {\n sunrise = mem.sunrise;\n sunset = mem.sunset;\n suntimesMishor = mem.suntimesMishor;\n sunriseMishor = mem.sunriseMishor;\n sunsetMishor = mem.sunsetMishor;\n mishorNeg90 = mem.mishorNeg90;\n chatzos = mem.chatzos;\n shaaZmanis = mem.shaaZmanis;\n shaaZmanisMga = mem.shaaZmanisMga;\n } else {\n const suntimes = Zmanim.getSunTimes(date, location, true);\n sunrise = suntimes.sunrise;\n sunset = suntimes.sunset;\n suntimesMishor = Zmanim.getSunTimes(date, location, false);\n sunriseMishor = suntimesMishor.sunrise;\n sunsetMishor = suntimesMishor.sunset;\n mishorNeg90 = Utils.addMinutes(sunriseMishor, -90);\n chatzos = sunriseMishor && sunsetMishor && Zmanim.getChatzosFromSuntimes(suntimesMishor);\n shaaZmanis = sunriseMishor && sunsetMishor && Zmanim.getShaaZmanisFromSunTimes(suntimesMishor);\n shaaZmanisMga = sunriseMishor && sunsetMishor && Zmanim.getShaaZmanisMga(suntimesMishor, true);\n _ZmanimUtils.zmanTimesCache.push({\n date,\n location,\n sunrise,\n sunset,\n suntimesMishor,\n sunriseMishor,\n sunsetMishor,\n mishorNeg90,\n chatzos,\n shaaZmanis,\n shaaZmanisMga\n });\n }\n for (let zmanType of zmanTypes) {\n const offset = zmanType.offset && (!zmanType.whichDaysFlags || zmanType.whichDaysFlags & whichDay) ? zmanType.offset : 0;\n switch (zmanType.id) {\n case ZmanTypeIds.ChatzosLayla:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(chatzos, 720 + offset)\n });\n break;\n case ZmanTypeIds.Alos90:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(mishorNeg90, offset) : mishorNeg90\n });\n break;\n case ZmanTypeIds.Alos72:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunriseMishor, -72 + offset)\n });\n break;\n case ZmanTypeIds.TalisTefillin:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunriseMishor, -36 + offset)\n });\n break;\n case ZmanTypeIds.NetzAtElevation:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunrise, offset) : sunrise\n });\n break;\n case ZmanTypeIds.NetzMishor:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunriseMishor, offset) : sunriseMishor\n });\n break;\n case ZmanTypeIds.szksMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n mishorNeg90,\n Math.floor(shaaZmanisMga * 3) + offset\n )\n });\n break;\n case ZmanTypeIds.szksGra:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n Math.floor(shaaZmanis * 3) + offset\n )\n });\n break;\n case ZmanTypeIds.sztMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n mishorNeg90,\n Math.floor(shaaZmanisMga * 4) + offset\n )\n });\n break;\n case ZmanTypeIds.sztGra:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n Math.floor(shaaZmanis * 4) + offset\n )\n });\n break;\n case ZmanTypeIds.chatzosDay:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(chatzos, offset) : chatzos\n });\n break;\n case ZmanTypeIds.minGed:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n chatzos,\n shaaZmanis * 0.5 + offset\n )\n });\n break;\n case ZmanTypeIds.minKet:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n shaaZmanis * 9.5 + offset\n )\n });\n break;\n case ZmanTypeIds.plag:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunriseMishor,\n shaaZmanis * 10.75 + offset\n )\n });\n break;\n case ZmanTypeIds.shkiaAtSeaLevel:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunsetMishor, offset) : sunsetMishor\n });\n break;\n case ZmanTypeIds.shkiaElevation:\n zmanTimes.push({\n zmanType,\n time: offset ? Utils.addMinutes(sunset, offset) : sunset\n });\n break;\n case ZmanTypeIds.tzais45:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 45 + offset)\n });\n break;\n case ZmanTypeIds.tzais50:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 50 + offset)\n });\n break;\n case ZmanTypeIds.tzais72:\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(sunset, 72 + offset)\n });\n break;\n case ZmanTypeIds.rabbeinuTamZmanios:\n if (shaaZmanis)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunset,\n shaaZmanis * 1.2 + offset\n )\n });\n break;\n case ZmanTypeIds.rabbeinuTamZmaniosMga:\n if (shaaZmanisMga)\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunset,\n shaaZmanisMga * 1.2 + offset\n )\n });\n break;\n case ZmanTypeIds.candleLighting:\n if (sunset && jdate.hasCandleLighting()) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n Zmanim.getCandleLightingFromSunset(\n sunset,\n location\n ),\n offset\n )\n });\n }\n break;\n case ZmanTypeIds.SofZmanEatingChometz:\n if (shaaZmanisMga && jdate.Month === 1 && jdate.Day === 14 && Utils.isTimeAfter(sunrise, Utils.timeFromDate(date))) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunrise,\n -90 + offset + shaaZmanisMga * 4\n )\n });\n }\n break;\n case ZmanTypeIds.SofZmanBurnChometz:\n if (shaaZmanisMga && jdate.Month === 1 && (jdate.Day === 14 || jdate.DayOfWeek === DaysOfWeek.FRIDAY && jdate.Day === 13) && Utils.isTimeAfter(sunrise, Utils.timeFromDate(date))) {\n zmanTimes.push({\n zmanType,\n time: Utils.addMinutes(\n sunrise,\n -90 + offset + shaaZmanisMga * 5\n )\n });\n }\n break;\n }\n }\n return zmanTimes;\n }\n /**\n * Get the WhichDaysFlags for the given secular date\n * @param {Date} date\n * @param {jDate} jdate\n * @param {Location} location\n */\n static getWhichDays(date, jdate, location) {\n if (jdate.isYomTov(!!location.Israel)) {\n return WhichDaysFlags.YOMTOV;\n }\n switch (date.getDay()) {\n case DaysOfWeek.SUNDAY:\n return WhichDaysFlags.SUNDAY;\n case DaysOfWeek.MONDAY:\n return WhichDaysFlags.MONDAY;\n case DaysOfWeek.TUESDAY:\n return WhichDaysFlags.TUESDAY;\n case DaysOfWeek.WEDNESDAY:\n return WhichDaysFlags.WEDNESDAY;\n case DaysOfWeek.THURSDAY:\n return WhichDaysFlags.THURSDAY;\n case DaysOfWeek.FRIDAY:\n return WhichDaysFlags.FRIDAY;\n case DaysOfWeek.SHABBOS:\n return WhichDaysFlags.SHABBOS;\n }\n return 0;\n }\n /**\n * Returns the zmanim necessary for showing basic shul notifications: chatzosHayom, chatzosHalayla, alos\n * @param {jDate|Date} date\n * @param {Location} location\n * @returns {{chatzosHayom:Time, chatzosHalayla:Time, alos:Time, shkia:Time }}\n */\n static getBasicShulZmanim(date, location) {\n const { sdate, jdate } = Utils.bothDates(date);\n const zmanim = _ZmanimUtils.getZmanTimes(\n [\n getZmanType(ZmanTypeIds.chatzosDay),\n //Chatzos hayom\n getZmanType(ZmanTypeIds.Alos90),\n //alos90\n getZmanType(ZmanTypeIds.shkiaElevation),\n //shkiaElevation,\n getZmanType(ZmanTypeIds.candleLighting)\n //candleLighting,\n ],\n sdate,\n jdate,\n location\n );\n return {\n chatzosHayom: zmanim[0].time,\n chatzosHalayla: Utils.addMinutes(zmanim[0].time, 720),\n alos: zmanim[1].time,\n shkia: zmanim[2].time\n };\n }\n /**\n * Returns all the zmanim for the given day \n * @param {Date|jDate} date\n * @param {Location} location\n * @returns {{zmanType:ZmanToShow, time?:Time }[]}\n */\n static getAllZmanim(date, location) {\n const { sdate, jdate } = Utils.bothDates(date);\n return _ZmanimUtils.getZmanTimes(ZmanTypes, sdate, jdate, location);\n }\n};\n_ZmanimUtils.zmanTimesCache = [];\nvar ZmanimUtils = _ZmanimUtils;\n\n// src/Notifications.ts\nvar dayNotes = [];\nvar tefillahNotes = [];\nvar showEnglish = false;\nvar dayInfo;\nvar showGaonShirShelYom = true;\nvar israel = true;\nfunction getNotifications(date, time, location, english, showGaonShir, showDafYomi) {\n const { sdate, jdate } = Utils.bothDates(date);\n dayNotes.length = 0;\n tefillahNotes.length = 0;\n const month = jdate.Month, day = jdate.Day, dow = jdate.DayOfWeek, { chatzosHayom, chatzosHalayla, alos, shkia } = ZmanimUtils.getBasicShulZmanim(date, location), isAfterChatzosHayom = Utils.isTimeAfter(chatzosHayom, time), isAfterChatzosHalayla = typeof chatzosHalayla !== \"undefined\" && (Utils.isTimeAfter(chatzosHalayla, time) || chatzosHalayla.hour > 12 && time.hour < 12), isAfterAlos = Utils.isTimeAfter(alos, time), isAfterShkia = Utils.isTimeAfter(shkia, time), isDaytime = isAfterAlos && !isAfterShkia, isNightTime = !isDaytime, isNotBeinHasmashos = !isAfterShkia || Utils.isTimeAfter(Utils.addMinutes(shkia, 18), time), isMorning = isDaytime && !isAfterChatzosHayom, isAfternoon = isDaytime && isAfterChatzosHayom && isNotBeinHasmashos, isYomTov = jdate.isYomTovOrCholHamoed(location.Israel), isLeapYear = jDate.isJdLeapY(jdate.Year), noTachnun = isAfternoon && (dow === DaysOfWeek.FRIDAY || day === 29);\n dayInfo = {\n jdate,\n sdate,\n month,\n day,\n dow,\n isAfterChatzosHayom,\n isAfterChatzosHalayla,\n isAfterAlos,\n isAfterShkia,\n isDaytime,\n isNightTime,\n isMorning,\n isAfternoon,\n isYomTov,\n isLeapYear,\n noTachnun,\n location\n };\n showEnglish = english;\n israel = location.Israel;\n showGaonShirShelYom = typeof showGaonShir === \"undefined\" ? israel : !!showGaonShir;\n if (dow === DaysOfWeek.SHABBOS) {\n getShabbosNotifications();\n } else {\n getWeekDayNotifications();\n }\n getAroundTheYearNotifications();\n if (dayInfo.noTachnun && isDaytime && !isYomTov) {\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"No Tachnun\", '\\u05D0\"\\u05D0 \\u05EA\\u05D7\\u05E0\\u05D5\\u05DF');\n } else if (isAfternoon) {\n addTefillahNote(\"No Tzidkascha\", '\\u05D0\"\\u05D0 \\u05E6\\u05D3\\u05E7\\u05EA\\u05DA');\n } else if (!(month === JewishMonthsNames.NISSAN && day > 21 || month === JewishMonthsNames.IYAR || month === JewishMonthsNames.SIVAN && day < 6)) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n }\n }\n if (showDafYomi !== false) {\n addDayNote(jdate.getDafYomi(), jdate.getDafyomiHeb());\n }\n if (isNotBeinHasmashos && (month === JewishMonthsNames.NISSAN && day > 15 || month === JewishMonthsNames.IYAR || month === JewishMonthsNames.SIVAN && day < 6)) {\n const dayOfSefirah = jdate.getDayOfOmer();\n if (dayOfSefirah > 0) {\n addTefillahNote(Utils.getOmerNusach(dayOfSefirah, \"ashkenaz\"));\n }\n }\n return {\n dayNotes: [...new Set(dayNotes)],\n tefillahNotes: [...new Set(tefillahNotes)]\n };\n}\nfunction getShabbosNotifications() {\n const { month, day, isLeapYear, isMorning, isYomTov, jdate, isDaytime, isAfternoon } = dayInfo;\n if (month === JewishMonthsNames.NISSAN && day > 7 && day < 15) {\n addDayNote(\"Shabbos Hagadol\", \"\\u05E9\\u05D1\\u05EA \\u05D4\\u05D2\\u05D3\\u05D5\\u05DC\");\n } else if (month === JewishMonthsNames.TISHREI && day > 2 && day < 10) {\n addDayNote(\"Shabbos Shuva\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D5\\u05D1\\u05D4\");\n } else if (month === JewishMonthsNames.AV && day > 2 && day < 10) {\n addDayNote(\"Shabbos Chazon\", \"\\u05E9\\u05D1\\u05EA \\u05D7\\u05D6\\u05D5\\u05DF\");\n } else if (month === JewishMonthsNames.AV && day > 10 && day < 18) {\n addDayNote(\"Shabbos Nachamu\", \"\\u05E9\\u05D1\\u05EA \\u05E0\\u05D7\\u05DE\\u05D5\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR : JewishMonthsNames.SHVAT) && day > 24 || month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day === 1) {\n addDayNote(\"Parshas Shkalim\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05E9\\u05E7\\u05DC\\u05D9\\u05DD\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 7 && day < 14) {\n addDayNote(\"Parshas Zachor\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05D6\\u05DB\\u05D5\\u05E8\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 16 && day < 24) {\n addDayNote(\"Parshas Parah\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05E4\\u05E8\\u05D4\");\n } else if (month === (isLeapYear ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && day > 23 && day < 30 || month === JewishMonthsNames.NISSAN && day === 1) {\n addDayNote(\"Parshas Hachodesh\", \"\\u05E4\\u05E8\\u05E9\\u05EA \\u05D4\\u05D7\\u05D5\\u05D3\\u05E9\");\n }\n if (!isYomTov) {\n const sedra = jdate.getSedra(israel);\n if (sedra.sedras.length > 0 && sedra.toStringHeb() === \"\\u05D1\\u05E9\\u05DC\\u05D7\") {\n addDayNote(\"Shabbos Shira\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D9\\u05E8\\u05D4\");\n }\n if (isMorning && sedra.sedras.length > 0) {\n addTefillahNote(\n `Kriyas Hatorah Parshas ${sedra.toString()}`,\n `\\u05E7\\u05D4\"\\u05EA \\u05E4\\u05E8\\u05E9\\u05EA ${sedra.toStringHeb()}`\n );\n }\n if (month !== JewishMonthsNames.ELLUL && day > 22 && day < 30) {\n const nextMonth = jdate.addMonths(1);\n addTefillahNote(\n \"The molad will be \" + Molad.getString(nextMonth.Year, nextMonth.Month),\n \"\\u05D4\\u05DE\\u05D5\\u05DC\\u05D3 \\u05D9\\u05D4\\u05D9\\u05D4 \\u05D1\" + Molad.getStringHeb(nextMonth.Year, nextMonth.Month)\n );\n addTefillahNote(\"Bircas Hachodesh\", \"\\u05DE\\u05D1\\u05E8\\u05DB\\u05D9\\u05DD \\u05D4\\u05D7\\u05D5\\u05D3\\u05E9\");\n if (month !== JewishMonthsNames.NISSAN && month !== JewishMonthsNames.IYAR) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n }\n }\n }\n if (month !== JewishMonthsNames.TISHREI && (day === 1 || day === 30)) {\n addDayNote(\"Rosh Chodesh\", \"\\u05E8\\u05D0\\u05E9 \\u05D7\\u05D5\\u05D3\\u05E9\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"Barchi Nafshi\", '\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E8\\u05DB\\u05D9 \\u05E0\\u05E4\\u05E9\\u05D9');\n }\n if (isDaytime && month !== JewishMonthsNames.TEVES && !(month === JewishMonthsNames.KISLEV && day === 30)) {\n addTefillahNote(\"Chatzi Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n }\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n } else if (isYomTov) {\n addTefillahNote(\"No Av Harachamim\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1 \\u05D4\\u05E8\\u05D7\\u05DE\\u05D9\\u05DD');\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05DC\\u05D9\\u05D5\\u05DD \\u05D4\\u05E9\\u05D1\\u05EA\");\n }\n }\n if (isAfternoon && !(month === JewishMonthsNames.TISHREI && day === 10)) {\n const sedra = jdate.addDays(1).getSedra(israel);\n addTefillahNote(\n \"Kriyas Hatorah Mincha Parshas \" + sedra.sedras[0].eng,\n '\\u05E7\\u05D4\"\\u05EA \\u05D1\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E4\\u05E8\\u05E9\\u05EA ' + sedra.sedras[0].heb\n );\n }\n if (isAfternoon && (month === JewishMonthsNames.NISSAN && day > 21 || month <= JewishMonthsNames.ELLUL && !(month === JewishMonthsNames.AV && [8, 9].includes(day)))) {\n const prakim = PirkeiAvos.getPrakim(jdate, israel);\n if (prakim.length > 0) {\n addDayNote(\n \"Pirkei Avos - \" + prakim.map((s) => `Perek ${Utils.toJewishNumber(s)}`).join(\" and \"),\n \"\\u05E4\\u05E8\\u05E7\\u05D9 \\u05D0\\u05D1\\u05D5\\u05EA - \" + prakim.map((s) => `\\u05E4\\u05E8\\u05E7 ${Utils.toJewishNumber(s)}`).join(\" \\u05D5\")\n );\n }\n }\n}\nfunction getWeekDayNotifications() {\n const {\n isNightTime,\n dow,\n isYomTov,\n month,\n day,\n isMorning,\n jdate,\n location,\n isDaytime,\n isAfternoon\n } = dayInfo;\n if (isNightTime && dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\n month === JewishMonthsNames.NISSAN && day === 15 || month === JewishMonthsNames.SIVAN && day === 6 ? \"\\u05D5\\u05EA\\u05D5\\u05D3\\u05D9\\u05E2\\u05D9\\u05E0\\u05D5\" : \"\\u05D0\\u05EA\\u05D4 \\u05D7\\u05D5\\u05E0\\u05E0\\u05EA\\u05E0\\u05D5\"\n );\n if (month === JewishMonthsNames.ELLUL && day > 22 || month === JewishMonthsNames.TISHREI && day > 4 && day < 22 || month === JewishMonthsNames.NISSAN && day > 8 && day < 15 || month === JewishMonthsNames.SIVAN && day < 6) {\n addTefillahNote(\"No Vihi Noam\", '\\u05D0\"\\u05D0 \\u05D5\\u05D9\\u05D4\\u05D9 \\u05E0\\u05D5\\u05E2\\u05DD');\n }\n } else if (isNightTime && (month === JewishMonthsNames.NISSAN && (day === 16 || day === 22) || month === JewishMonthsNames.SIVAN && day === 7 || month === JewishMonthsNames.TISHREI && [3, 11, 16, 23].includes(day))) {\n addTefillahNote(\"Ata Chonantanu\", \"\\u05D0\\u05EA\\u05D4 \\u05D7\\u05D5\\u05E0\\u05E0\\u05EA\\u05E0\\u05D5\");\n }\n if (isMorning && !isYomTov && (dow === DaysOfWeek.MONDAY || dow === DaysOfWeek.THURSDAY) && !hasOwnKriyasHatorah(jdate, location)) {\n const sedra = jdate.getSedra(israel);\n if (sedra.sedras.length > 0) {\n addTefillahNote(\n `Kriyas Hatorah Parshas ${sedra.sedras[0].eng}`,\n `\\u05E7\\u05D4\"\\u05EA \\u05E4\\u05E8\\u05E9\\u05EA ${sedra.sedras[0].heb}`\n );\n }\n }\n if (month !== JewishMonthsNames.TISHREI && day === 1 || day === 30) {\n dayInfo.noTachnun = true;\n addDayNote(\"Rosh Chodesh\", \"\\u05E8\\u05D0\\u05E9 \\u05D7\\u05D5\\u05D3\\u05E9\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (showGaonShirShelYom && isDaytime) {\n addTefillahNote(\"Barchi Nafshi\", '\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E8\\u05DB\\u05D9 \\u05E0\\u05E4\\u05E9\\u05D9');\n }\n if (isDaytime && month !== JewishMonthsNames.TEVES && !(month === JewishMonthsNames.KISLEV && day === 30)) {\n addTefillahNote(\"Chatzi Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n } else if (month !== JewishMonthsNames.ELLUL && (dow < DaysOfWeek.FRIDAY && day === 29 || dow === DaysOfWeek.THURSDAY && day === 28) && isAfternoon) {\n addTefillahNote(\"Yom Kippur Kattan\", '\\u05D9\\u05D5\"\\u05DB \\u05E7\\u05D8\\u05DF');\n }\n if (jdate.hasEiruvTavshilin(israel)) {\n addDayNote(\"Eruv Tavshilin\", \"\\u05E2\\u05D9\\u05E8\\u05D5\\u05D1 \\u05EA\\u05D1\\u05E9\\u05D9\\u05DC\\u05D9\\u05DF\");\n }\n}\nfunction getAroundTheYearNotifications() {\n const {\n month,\n day,\n isNightTime,\n dow,\n isAfternoon,\n isDaytime,\n isMorning,\n isAfterChatzosHalayla,\n jdate,\n sdate,\n isLeapYear,\n location\n } = dayInfo;\n let showVsainTalUmatarInChul = false;\n if (!location.Israel && sdate.getMonth() === 11 && sdate.getDate() > 4) {\n const startVsainTalUmatar = jdate.Year % 4 === 0 ? 6 : 5;\n showVsainTalUmatarInChul = sdate.getDate() >= startVsainTalUmatar && sdate.getDate() <= startVsainTalUmatar + 14;\n }\n switch (month) {\n case JewishMonthsNames.NISSAN:\n dayInfo.noTachnun = true;\n if (day > 15) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n }\n if (dow !== DaysOfWeek.SHABBOS && day > 15 && day !== 21) {\n addTefillahNote(\"Vesain Bracha\", \"\\u05D5\\u05EA\\u05DF \\u05D1\\u05E8\\u05DB\\u05D4\");\n }\n if (isNightTime && (dow !== DaysOfWeek.FRIDAY && day === 14 || dow === DaysOfWeek.THURSDAY && day === 13)) {\n addDayNote(\"Bedikas Chometz\", \"\\u05D1\\u05D3\\u05D9\\u05E7\\u05EA \\u05D7\\u05DE\\u05E5\");\n }\n if (isMorning && dow !== DaysOfWeek.SHABBOS && [14, 16, 17, 18, 19, 20].includes(day)) {\n addTefillahNote(\"No Mizmor Lesodah\", '\\u05D0\"\\u05D0 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05EA\\u05D5\\u05D3\\u05D4');\n if (dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n if (day === 15) {\n addDayNote(\"First Day of Pesach\", '\\u05D9\\u05D5\"\\u05D8 \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7');\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isAfternoon) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n }\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if (day === 16 && !israel) {\n addDayNote(\"Second Day of Pesach\", '\\u05D9\\u05D5\"\\u05D8 \\u05E9\\u05E0\\u05D9 \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7');\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if ([16, 17, 18, 19, 20, 21].includes(day)) {\n if (day === 21) {\n addDayNote(\"Shvi`i Shel Pesach\", \"\\u05E9\\u05D1\\u05D9\\u05E2\\u05D9 \\u05E9\\u05DC \\u05E4\\u05DD\\u05D7\");\n if (isDaytime) {\n if (israel) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n }\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D7 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05DC\\u05E2\\u05D1\\u05D3 \\u05D4'`);\n }\n }\n } else {\n addDayNote(\"Chol Ha`moed Pesach\", \"\\u05E4\\u05E1\\u05D7 - \\u05D7\\u05D5\\u05DC \\u05D4\\u05DE\\u05D5\\u05E2\\u05D3\");\n addTefillahNote(\"Ya`aleh Viyavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) noLaminatzeach();\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n switch (day) {\n case 16:\n if (dow === DaysOfWeek.SUNDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05D9\"\\u05D3 - \\u05D1\\u05E6\\u05D0\\u05EA \\u05D9\\u05E9\\u05E8\\u05D0\\u05DC');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D7 - \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC \\u05DC\\u05D0\\u05E1\\u05E3');\n }\n break;\n case 17:\n if (dow === DaysOfWeek.MONDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D7 - \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC \\u05DC\\u05D0\\u05E1\\u05E3');\n } else {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4' - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D0\\u05DC \\u05E9\\u05D5\\u05E9\\u05E0\\u05D9\\u05DD\");\n }\n break;\n case 18:\n if (dow === DaysOfWeek.TUESDAY || dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4' - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D0\\u05DC \\u05E9\\u05D5\\u05E9\\u05E0\\u05D9\\u05DD\");\n } else {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\"\\u05D4 - \\u05D4\\u05D5\\u05D3\\u05D5 \\u05DC\\u05D4'`);\n }\n break;\n case 19:\n if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05DC\"\\u05D4 - \\u05D4\\u05DC\\u05DC\\u05D5\\u05D9-\\u05D4 \\u05D4\\u05DC\\u05DC\\u05D5 \\u05D0\\u05EA \\u05E9\\u05DD');\n } else {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\"\\u05D4 - \\u05D4\\u05D5\\u05D3\\u05D5 \\u05DC\\u05D4'`);\n }\n break;\n case 20:\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E1\"\\u05D5 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E9\\u05D9\\u05E8 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E7\\u05DC\"\\u05D4 - \\u05D4\\u05DC\\u05DC\\u05D5\\u05D9-\\u05D4 \\u05D4\\u05DC\\u05DC\\u05D5 \\u05D0\\u05EA \\u05E9\\u05DD');\n }\n break;\n }\n }\n }\n if (isDaytime) addTefillahNote(\"Half Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (day === 22) {\n if (israel) {\n addDayNote(\"Isru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n } else {\n addDayNote(\"Acharon Shel Pesach\", \"\\u05D0\\u05D7\\u05E8\\u05D5\\u05DF \\u05E9\\u05DC \\u05E4\\u05E1\\u05D7\");\n if (isDaytime) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n addTefillahNote(\"Half Hallel\", \"\\u05D7\\u05E6\\u05D9 \\u05D4\\u05DC\\u05DC\");\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (dow !== DaysOfWeek.SHABBOS && isMorning) {\n noLaminatzeach();\n }\n }\n if (dow === DaysOfWeek.SHABBOS && ([15, 16, 17, 18, 19, 20, 21].includes(day) || !israel && day === 22)) {\n addTefillahNote(\"Shir Hashirim\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E9\\u05D9\\u05E8 \\u05D4\\u05E9\\u05D9\\u05E8\\u05D9\\u05DD\");\n }\n break;\n case JewishMonthsNames.IYAR:\n if (day <= 15) {\n addTefillahNote(\"Morid Hatal\", \"\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D8\\u05DC\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Bracha\", \"\\u05D5\\u05EA\\u05DF \\u05D1\\u05E8\\u05DB\\u05D4\");\n }\n }\n if (day === 14 || day === 13 && isAfternoon || day === 18 || day === 17 && isAfternoon) {\n dayInfo.noTachnun = true;\n if (day === 14) {\n addDayNote(\"Pesach Sheini\", \"\\u05E4\\u05E1\\u05D7 \\u05E9\\u05E0\\u05D9\");\n }\n }\n if (isMorning && (dow === DaysOfWeek.MONDAY && day > 3 && day < 13 || dow === DaysOfWeek.THURSDAY && day > 6 && day < 14 || dow === DaysOfWeek.MONDAY && day > 10 && day < 18 && day !== 14)) {\n addTefillahNote(\"Ba`hab\", '\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA \\u05D1\\u05D4\"\\u05D1');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n break;\n case JewishMonthsNames.SIVAN:\n if (day < 13) {\n dayInfo.noTachnun = true;\n }\n if (day === 6) {\n addDayNote(\"Shavuos\", \"\\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05DC \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Megilas Rus\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E8\\u05D5\\u05EA\");\n addTefillahNote(\"Akdamus\", \"\\u05D0\\u05E7\\u05D3\\u05DE\\u05D5\\u05EA\");\n if (israel) addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D8 - ..\\u05D4\\u05E9\\u05DE\\u05D9\\u05DD \\u05DE\\u05E1\\u05E4\\u05E8\\u05D9\\u05DD..');\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n } else if (day === 7) {\n if (israel) {\n addDayNote(\"Issru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n } else {\n addDayNote(\"Shavuos Second Day\", \"\\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05DC \\u05E9\\u05D1\\u05D5\\u05E2\\u05D5\\u05EA\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n }\n break;\n case JewishMonthsNames.TAMUZ:\n if (isDaytime && (day === 17 && DaysOfWeek.SHABBOS !== 6 || day === 18 && dow === DaysOfWeek.SUNDAY)) {\n if (isDaytime) {\n addDayNote(\"Shiva Asar B`Tamuz\", '\\u05D9\"\\u05D6 \\u05D1\\u05EA\\u05DE\\u05D5\\u05D6');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n break;\n case JewishMonthsNames.AV:\n if (isAfternoon && day === 8 && dow !== DaysOfWeek.FRIDAY) {\n dayInfo.noTachnun = true;\n } else if (day === 9 && dow !== DaysOfWeek.SHABBOS || day === 10 && dow === DaysOfWeek.SUNDAY) {\n addDayNote(\"Tish B`Av\", \"\\u05EA\\u05E9\\u05E2\\u05D4 \\u05D1\\u05D0\\u05D1\");\n if (isDaytime) {\n addTefillahNote(\"Kinos\", \"\\u05E7\\u05D9\\u05E0\\u05D5\\u05EA\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n } else {\n addTefillahNote(\"Megilas Eicha\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05D9\\u05DB\\u05D4\");\n if (isNightTime && dow === DaysOfWeek.SUNDAY) {\n addTefillahNote(\"No Vihi Noam\", '\\u05D0\"\\u05D0 \\u05D5\\u05D9\\u05D4\\u05D9 \\u05E0\\u05D5\\u05E2\\u05DD');\n }\n }\n dayInfo.noTachnun = true;\n } else if (isAfternoon && day === 14) {\n dayInfo.noTachnun = true;\n } else if (day === 15) {\n addDayNote(\"Tu B`Av\", '\\u05D8\"\\u05D5 \\u05D1\\u05D0\\u05D1');\n dayInfo.noTachnun = true;\n }\n break;\n case JewishMonthsNames.ELLUL:\n addTefillahNote(\"L`Dovid Hashem Ori\", \"\\u05DC\\u05D3\\u05D5\\u05D3 \\u05D4\");\n if (day > 20 && dow !== DaysOfWeek.SHABBOS && (isAfterChatzosHalayla || isMorning)) {\n let startedSelichos = day >= 26;\n if (day < 26) {\n const daysToRH = 30 - day, dowRH = (daysToRH + dow) % 7;\n switch (dowRH) {\n case DaysOfWeek.MONDAY:\n startedSelichos = day >= 22;\n break;\n case DaysOfWeek.TUESDAY:\n startedSelichos = day >= 21;\n break;\n case DaysOfWeek.SHABBOS:\n startedSelichos = day >= 24;\n break;\n }\n }\n if (startedSelichos) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n if (day === 29) {\n dayInfo.noTachnun = true;\n }\n break;\n case JewishMonthsNames.TISHREI:\n if (day < 11) {\n addTefillahNote(\"Hamelech Hakadosh\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05E7\\u05D3\\u05D5\\u05E9\");\n if (dow !== DaysOfWeek.SHABBOS && day !== 9) {\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n }\n if (day > 4 && day < 10 && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n }\n if (dow === DaysOfWeek.SHABBOS && day > 2 && day < 10) {\n addDayNote(\"Shabbos Shuva\", \"\\u05E9\\u05D1\\u05EA \\u05E9\\u05D5\\u05D1\\u05D4\");\n }\n if (day >= 10) {\n dayInfo.noTachnun = true;\n }\n switch (day) {\n case 1:\n addDayNote(\"Rosh Hashana\", \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\");\n if (dow !== DaysOfWeek.SHABBOS && isDaytime) {\n addTefillahNote(\"Tekias Shofar\", \"\\u05EA\\u05E7\\u05D9\\u05E2\\u05EA \\u05E9\\u05D5\\u05E4\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n if (isAfternoon) {\n addDayNote(\"Tashlich\", \"\\u05EA\\u05E9\\u05DC\\u05D9\\u05DA\");\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n break;\n case 2:\n addDayNote(\"Rosh Hashana\", \"\\u05E8\\u05D0\\u05E9 \\u05D4\\u05E9\\u05E0\\u05D4\");\n if (isDaytime) {\n addTefillahNote(\"Tekias Shofar\", \"\\u05EA\\u05E7\\u05D9\\u05E2\\u05EA \\u05E9\\u05D5\\u05E4\\u05E8\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n if (dow === DaysOfWeek.SUNDAY && isAfternoon) {\n addDayNote(\"Tashlich\", \"\\u05EA\\u05E9\\u05DC\\u05D9\\u05DA\");\n }\n }\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n break;\n case 3:\n if (dow !== DaysOfWeek.SHABBOS) {\n if (isDaytime) {\n addDayNote(\"Fast of Tzom Gedalya\", \"\\u05E6\\u05D5\\u05DD \\u05D2\\u05D3\\u05DC\\u05D9\\u05D4\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n }\n break;\n case 4:\n if (dow === DaysOfWeek.SUNDAY) {\n if (isDaytime) {\n addDayNote(\"Fast of Tzom Gedalya\", \"\\u05E6\\u05D5\\u05DD \\u05D2\\u05D3\\u05DC\\u05D9\\u05D4\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n } else if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Hamelech Hamishpat\", \"\\u05D4\\u05DE\\u05DC\\u05DA \\u05D4\\u05DE\\u05E9\\u05E4\\u05D8\");\n if (isAfterChatzosHalayla || isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n }\n break;\n case 9:\n addDayNote(\"Erev Yom Kippur\", \"\\u05E2\\u05E8\\u05D1 \\u05D9\\u05D5\\u05DD \\u05DB\\u05D9\\u05E4\\u05D5\\u05E8\");\n if (isMorning) {\n addTefillahNote(\"No Mizmor L`Sodah\", '\\u05D0\"\\u05D0 \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05EA\\u05D5\\u05D3\\u05D4');\n if (dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n } else if (isAfternoon) {\n addTefillahNote(\"Vidduy\", \"\\u05D5\\u05D3\\u05D5\\u05D9 \\u05D1\\u05E2\\u05DE\\u05D9\\u05D3\\u05D4\");\n }\n if (isDaytime && dow !== DaysOfWeek.FRIDAY) {\n addTefillahNote(\"No Avinu Malkeinu\", '\\u05D0\"\\u05D0 \\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5');\n }\n dayInfo.noTachnun = true;\n break;\n case 10:\n addDayNote(\"Yom Kippur\", \"\\u05D9\\u05D5\\u05DD \\u05D4\\u05DB\\u05D9\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addDayNote(\"\\u05DC\\u05E4\\u05E0\\u05D9 \\u05D4' \\u05EA\\u05D8\\u05D4\\u05E8\\u05D5\");\n if (isDaytime) {\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC\"\\u05D1 - \\u05DC\\u05D3\\u05D5\\u05D3 \\u05DE\\u05E9\\u05DB\\u05D9\\u05DC');\n }\n }\n if (isAfternoon) {\n addTefillahNote('\\u05E7\\u05D4\"\\u05EA \\u05D1\\u05DE\\u05E0\\u05D7\\u05D4 \\u05E1\\u05D5\\u05E3 \\u05E4\\u05E8\\u05E9\\u05EA \\u05D0\\u05D7\"\\u05DE');\n }\n break;\n case 11:\n if (isNightTime) {\n addDayNote(\"\\u05DC\\u05DA \\u05D0\\u05DB\\u05DC \\u05D1\\u05E9\\u05DE\\u05D7\\u05D4 \\u05DC\\u05D7\\u05DE\\u05DA \\u05DB\\u05D9 \\u05DB\\u05D1\\u05E8 \\u05E8\\u05E6\\u05D4 \\u05D4\\u05D0\\u05DC\\u05E7\\u05D9\\u05DD \\u05D0\\u05EA \\u05DE\\u05E2\\u05E9\\u05D9\\u05DA\");\n }\n break;\n case 15:\n addDayNote(\"First day of Sukkos\", '\\u05D9\\u05D5\"\\u05D8 \\u05E8\\u05D0\\u05E9\\u05D5\\u05DF \\u05E9\\u05DC \\u05E1\\u05D5\\u05DB\\u05D5\\u05EA');\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"Hoshanos - \\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\");\n addTefillahNote(\"Kah Keli\", \"\\u05E7\\u05D4 \\u05E7\\u05DC\\u05D9\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E2\"\\u05D5 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05D1\\u05E0\\u05D2\\u05D9\\u05E0\\u05D5\\u05EA \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8');\n }\n } else {\n addTefillahNote(\"Hoshanos - \\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\");\n }\n }\n break;\n case 16:\n case 17:\n case 18:\n case 19:\n case 20:\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (day === 16 && !israel) {\n addDayNote(\"Second day of Sukkos\", \"\\u05E1\\u05D5\\u05DB\\u05D5\\u05EA - \\u05D9\\u05D5\\u05DD \\u05D8\\u05D5\\u05D1 \\u05E9\\u05E0\\u05D9\");\n } else if (!israel) {\n addDayNote(\"Chol Hamoed Sukkos\", \"\\u05E1\\u05D5\\u05DB\\u05D5\\u05EA - \\u05D7\\u05D5\\u05DC \\u05D4\\u05DE\\u05D5\\u05E2\\u05D3\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n }\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n switch (day) {\n case 16:\n addTefillahNote(\n \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA - \" + (dow === DaysOfWeek.SUNDAY ? \"\\u05DC\\u05DE\\u05E2\\u05DF \\u05D0\\u05DE\\u05EA\\u05DA\" : \"\\u05D0\\u05D1\\u05DF \\u05E9\\u05EA\\u05D9\\u05D4\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(`\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D8 - ..\\u05D4\\u05D1\\u05D5 \\u05DC\\u05D4' \\u05D1\\u05E0\\u05D9 \\u05D0\\u05DC\\u05D9\\u05DD`);\n }\n break;\n case 17:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0\\u05E2\\u05E8\\u05D5\\u05DA \\u05E9\\u05D5\\u05E2\\u05D9\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E0' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3\");\n }\n break;\n case 18:\n if (dow === DaysOfWeek.SUNDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05E2\\u05E8\\u05D5\\u05DA \\u05E9\\u05D5\\u05E2\\u05D9\");\n if (showGaonShirShelYom) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E0' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3\");\n }\n } else {\n if (dow === DaysOfWeek.TUESDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05D1\\u05DF \\u05E9\\u05EA\\u05D9\\u05D4\");\n } else if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0\\u05D5\\u05DD \\u05D0\\u05E0\\u05D9 \\u05D7\\u05D5\\u05DE\\u05D4\"\n );\n } else if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote((showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \\u05D0-\\u05DC \\u05DC\\u05DE\\u05D5\\u05E9\\u05E2\\u05D5\\u05EA\");\n }\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - ..\\u05DE\\u05D9 \\u05D9\\u05E7\\u05D5\\u05DD \\u05DC\\u05D9..');\n }\n }\n break;\n case 19:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0-\\u05DC \\u05DC\\u05DE\\u05D5\\u05E9\\u05E2\\u05D5\\u05EA\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n if (dow === DaysOfWeek.MONDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - ..\\u05DE\\u05D9 \\u05D9\\u05E7\\u05D5\\u05DD \\u05DC\\u05D9..');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - \\u05D0-\\u05DC \\u05E0\\u05E7\\u05DE\\u05D5\\u05EA.. \\u05D9\\u05E9\\u05E8\\u05D9 \\u05DC\\u05D1');\n }\n }\n break;\n case 20:\n addTefillahNote(\n (showEnglish ? \"Hoshanos\" : \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\") + \" - \" + (dow === DaysOfWeek.SHABBOS ? \"\\u05D0\\u05D5\\u05DD \\u05E0\\u05E6\\u05D5\\u05E8\\u05D4\" : \"\\u05D0\\u05D3\\u05D5\\u05DF \\u05D4\\u05DE\\u05D5\\u05E9\\u05D9\\u05E2\")\n );\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n if (dow === DaysOfWeek.THURSDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E6\"\\u05D3 - \\u05D0-\\u05DC \\u05E0\\u05E7\\u05DE\\u05D5\\u05EA.. \\u05D9\\u05E9\\u05E8\\u05D9 \\u05DC\\u05D1');\n }\n }\n break;\n }\n }\n break;\n case 21:\n addDayNote(\"Hoshana Raba\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05D4 \\u05E8\\u05D1\\u05D4\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (isNightTime) {\n addTefillahNote(\"Mishneh Torah\", \"\\u05DE\\u05E9\\u05E0\\u05D4 \\u05EA\\u05D5\\u05E8\\u05D4\");\n } else {\n addTefillahNote(\"Hoshanos\", \"\\u05D4\\u05D5\\u05E9\\u05E2\\u05E0\\u05D5\\u05EA\");\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (showGaonShirShelYom) {\n if (dow === DaysOfWeek.FRIDAY) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D1 - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05DC\\u05D0\\u05E1\\u05E3');\n } else {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05E4\"\\u05D0 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05D2\\u05EA\\u05D9\\u05EA');\n }\n }\n }\n break;\n case 22:\n addDayNote(\"Shmini Atzeres\", \"\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9 \\u05E2\\u05E6\\u05E8\\u05EA\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n if (israel) {\n addDayNote(\"Simchas Torah\", \"\\u05E9\\u05DE\\u05D7\\u05EA \\u05EA\\u05D5\\u05E8\\u05D4\");\n addTefillahNote(\"Hakafos\", \"\\u05D4\\u05E7\\u05E4\\u05D5\\u05EA\");\n }\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n addTefillahNote(\"Yizkor\", \"\\u05D9\\u05D6\\u05DB\\u05D5\\u05E8\");\n addTefillahNote(\"Tefilas Geshem\", \"\\u05EA\\u05E4\\u05D9\\u05DC\\u05EA \\u05D2\\u05E9\\u05DD\");\n addTefillahNote(\"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n if (showGaonShirShelYom && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05D9\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D4\\u05E9\\u05DE\\u05D9\\u05E0\\u05D9\\u05EA');\n }\n }\n break;\n }\n if (day === 23) {\n if (!israel) {\n addDayNote(\"Simchas Torah\", \"\\u05E9\\u05DE\\u05D7\\u05EA \\u05EA\\u05D5\\u05E8\\u05D4\");\n addTefillahNote(\"Ya`aleh V`yavo\", \"\\u05D9\\u05E2\\u05DC\\u05D4 \\u05D5\\u05D9\\u05D1\\u05D0\");\n addTefillahNote(\"Hakafos\", \"\\u05D4\\u05E7\\u05E4\\u05D5\\u05EA\");\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n } else {\n addDayNote(\"Issru Chag\", \"\\u05D0\\u05D9\\u05E1\\u05E8\\u05D5 \\u05D7\\u05D2\");\n if (isNightTime) {\n addDayNote(\"\\u05D0 \\u05D2\\u05D5\\u05D8\\u05E2\\u05DF \\u05D5\\u05D5\\u05D9\\u05E0\\u05D8\\u05E2\\u05E8\", \"\\u05D7\\u05D5\\u05E8\\u05E3 \\u05D8\\u05D5\\u05D1\");\n } else if (dow !== DaysOfWeek.SHABBOS && isMorning) {\n noLaminatzeach();\n }\n }\n } else if (dow === DaysOfWeek.SHABBOS && [15, 17, 18, 19, 20].includes(day)) {\n addTefillahNote(\"Megilas Koheles\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05E7\\u05D4\\u05DC\\u05EA\");\n }\n if (day < 22) {\n addTefillahNote(\"L`Dovid Hashem Ori\", \"\\u05DC\\u05D3\\u05D5\\u05D3 \\u05D4\");\n } else if (day > 22) {\n addTefillahNote(\"Mashiv Haruach U`Morid Hageshem\", \"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n }\n break;\n case JewishMonthsNames.CHESHVAN:\n if (isDaytime && (dow === DaysOfWeek.MONDAY && day > 3 && day < 13 || dow === DaysOfWeek.THURSDAY && day > 6 && day < 14 || dow === DaysOfWeek.MONDAY && day > 10 && day < 18)) {\n addTefillahNote(\"Ba`Hab\", '\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA \\u05D1\\u05D4\"\\u05D1');\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n }\n if (day <= 22) {\n addTefillahNote(\"Mashiv Haruach U`Morid Hageshem\", \"\\u05DE\\u05E9\\u05D9\\u05D1 \\u05D4\\u05E8\\u05D5\\u05D7 \\u05D5\\u05DE\\u05D5\\u05E8\\u05D9\\u05D3 \\u05D4\\u05D2\\u05E9\\u05DD\");\n }\n if ((location.Israel && day >= 7 || !location.Israel && showVsainTalUmatarInChul) && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n }\n break;\n case JewishMonthsNames.KISLEV:\n if ((location.Israel && day <= 7 || !location.Israel && showVsainTalUmatarInChul) && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n } else if (day === 24 && dow !== DaysOfWeek.SHABBOS && isAfternoon) {\n dayInfo.noTachnun = true;\n } else if (day >= 25) {\n dayInfo.noTachnun = true;\n addDayNote(\"Chanukah\", \"\\u05D7\\u05E0\\u05D5\\u05DB\\u05D4\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) noLaminatzeach();\n if (showGaonShirShelYom && day !== 30 && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05D7\\u05E0\\u05D5\\u05DB\\u05EA \\u05D4\\u05D1\\u05D9\\u05EA\");\n }\n }\n }\n break;\n case JewishMonthsNames.TEVES:\n if (!location.Israel && showVsainTalUmatarInChul && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote(\"V`sain Tal U`matar\", \"\\u05D5\\u05EA\\u05DF \\u05D8\\u05DC \\u05D5\\u05DE\\u05D8\\u05E8\");\n }\n if (day <= (jDate.isShortKislev(jdate.Year) ? 3 : 2)) {\n dayInfo.noTachnun = true;\n addDayNote(\"Chanukah\", \"\\u05D7\\u05E0\\u05D5\\u05DB\\u05D4\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (isDaytime) {\n addTefillahNote(\"Full Hallel\", \"\\u05D4\\u05DC\\u05DC \\u05D4\\u05E9\\u05DC\\u05DD\");\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n if (day !== 1 && showGaonShirShelYom) {\n addTefillahNote(\"\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DC' - \\u05DE\\u05D6\\u05DE\\u05D5\\u05E8 \\u05E9\\u05D9\\u05E8 \\u05D7\\u05E0\\u05D5\\u05DB\\u05EA \\u05D4\\u05D1\\u05D9\\u05EA\");\n }\n }\n }\n } else if (day === 10 && isDaytime) {\n addDayNote(\"Fast of Asara B`Teves\", \"\\u05E2\\u05E9\\u05E8\\u05D4 \\u05D1\\u05D8\\u05D1\\u05EA\");\n if (isMorning) {\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n }\n break;\n case JewishMonthsNames.SHVAT:\n if (day === 14 && isAfternoon) dayInfo.noTachnun = true;\n if (day === 15) {\n dayInfo.noTachnun = true;\n addDayNote(\"Tu B`Shvat\", '\\u05D8\"\\u05D5 \\u05D1\\u05E9\\u05D1\\u05D8');\n }\n break;\n case JewishMonthsNames.ADAR:\n case JewishMonthsNames.ADAR_SHEINI:\n if (month === JewishMonthsNames.ADAR && isLeapYear) {\n if (day === 13 && isAfternoon) dayInfo.noTachnun = true;\n if ([14, 15].includes(day)) {\n addDayNote(\n day === 14 ? showEnglish ? \"Purim Katan\" : \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05E7\\u05D8\\u05DF\" : showEnglish ? \"Shushan Purim Katan\" : \"\\u05E9\\u05D5\\u05E9\\u05DF \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05E7\\u05D8\\u05DF\"\n );\n if (isDaytime) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n }\n }\n } else {\n if (isDaytime && (day === 11 && dow === DaysOfWeek.THURSDAY || day === 13 && dow !== DaysOfWeek.SHABBOS)) {\n if (isMorning) {\n addDayNote(\"Fast of Ta`anis Esther\", \"\\u05EA\\u05E2\\u05E0\\u05D9\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n addTefillahNote(\"Selichos\", \"\\u05E1\\u05DC\\u05D9\\u05D7\\u05D5\\u05EA\");\n }\n addTefillahNote(\"Avinu Malkeinu\", \"\\u05D0\\u05D1\\u05D9\\u05E0\\u05D5 \\u05DE\\u05DC\\u05DB\\u05E0\\u05D5\");\n addTefillahNote(\"Aneinu\", \"\\u05E2\\u05E0\\u05E0\\u05D5\");\n } else {\n const isYerushalayim = location.Name === \"Jerusalem\" || location.NameHebrew === \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\";\n if (day === 14) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (!isYerushalayim || dow === DaysOfWeek.FRIDAY) {\n addDayNote(\"Megilas Esther\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n if (!isYerushalayim) {\n addDayNote(\"Purim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (showGaonShirShelYom) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D0\\u05D9\\u05DC\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8');\n }\n } else {\n addDayNote(\"Matanos LeEvyonim\", \"\\u05DE\\u05EA\\u05E0\\u05D5\\u05EA \\u05DC\\u05D0\\u05D1\\u05D9\\u05D5\\u05E0\\u05D9\\u05DD\");\n }\n } else {\n addDayNote(\"Purim D`Prazim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D3\\u05E4\\u05E8\\u05D6\\u05D9\\u05DD\");\n }\n } else if (day === 15) {\n dayInfo.noTachnun = true;\n if (isMorning && dow !== DaysOfWeek.SHABBOS) {\n noLaminatzeach();\n }\n if (isYerushalayim) {\n addDayNote(\"Purim\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n addTefillahNote(\"Al Hanissim\", \"\\u05E2\\u05DC \\u05D4\\u05E0\\u05D9\\u05E1\\u05D9\\u05DD\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addDayNote(\"Megilas Esther\", \"\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8\");\n }\n if (showGaonShirShelYom && isDaytime && dow !== DaysOfWeek.SHABBOS) {\n addTefillahNote('\\u05E9\\u05D9\\u05E8 \\u05E9\\u05DC \\u05D9\\u05D5\\u05DD - \\u05DB\"\\u05D1 - \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7 \\u05E2\\u05DC \\u05D0\\u05D9\\u05DC\\u05EA \\u05D4\\u05E9\\u05D7\\u05E8');\n }\n } else if ([\n \"\\u05D8\\u05D1\\u05E8\\u05D9\\u05D4\",\n \"\\u05D9\\u05E4\\u05D5\",\n \"\\u05E2\\u05DB\\u05D5\",\n \"\\u05E6\\u05E4\\u05EA\",\n \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\",\n \"\\u05D7\\u05D9\\u05E4\\u05D4\",\n \"\\u05D1\\u05D0\\u05E8 \\u05E9\\u05D1\\u05E2\",\n \"\\u05D1\\u05D9\\u05EA \\u05E9\\u05D0\\u05DF\",\n \"\\u05DC\\u05D5\\u05D3\"\n ].includes(location.Name)) {\n addDayNote(\"Purim D`Mukafin\", \"\\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D3\\u05DE\\u05D5\\u05E7\\u05E4\\u05D9\\u05DF\");\n if (dow !== DaysOfWeek.SHABBOS) {\n addDayNote(\"(Megilas Esther)\", \"(\\u05DE\\u05D2\\u05D9\\u05DC\\u05EA \\u05D0\\u05E1\\u05EA\\u05E8)\");\n }\n } else {\n addDayNote(\"Shushan Purim\", \"\\u05E9\\u05D5\\u05E9\\u05DF \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD\");\n }\n } else if (day === 16 && isYerushalayim && dow === DaysOfWeek.SUNDAY) {\n addDayNote(\"Purim Seuda and Mishloach Manos\", \"\\u05E1\\u05E2\\u05D5\\u05D3\\u05EA \\u05E4\\u05D5\\u05E8\\u05D9\\u05DD \\u05D5\\u05DE\\u05E9\\u05DC\\u05D5\\u05D7 \\u05DE\\u05E0\\u05D5\\u05EA\");\n }\n }\n }\n break;\n }\n}\nfunction noLaminatzeach() {\n addTefillahNote(\"No Laminatzeach\", '\\u05D0\"\\u05D0 \\u05DC\\u05DE\\u05E0\\u05E6\\u05D7');\n}\nfunction addDayNote(englishOrDefaultText, hebrewText) {\n const note = showEnglish || !hebrewText ? englishOrDefaultText : hebrewText;\n if (!dayNotes.includes(note)) {\n dayNotes.push(note);\n }\n}\nfunction addTefillahNote(englishOrDefaultText, hebrewText) {\n const note = showEnglish || !hebrewText ? englishOrDefaultText : hebrewText;\n if (!tefillahNotes.includes(note)) {\n tefillahNotes.push(note);\n }\n}\nfunction hasOwnKriyasHatorah(jdate, location) {\n const { Month, Day, DayOfWeek } = jdate;\n if (Day === 1 || Day === 30) {\n return true;\n }\n switch (Month) {\n case 1:\n return Day > 14 && Day < 22;\n case 4:\n return Day === 17 || DayOfWeek === 0 && Day === 18;\n case 5:\n return Day === 9 || DayOfWeek === 0 && Day === 10;\n case 7:\n return [3, 16, 17, 18, 19, 20, 21].includes(Day) || DayOfWeek === 0 && Day === 4;\n case 9:\n return Day >= 25;\n case 10:\n return Day === 10 || Day < 3 || Day === 3 && jDate.isShortKislev(jdate.Year);\n case 12:\n case 13:\n return Month === (jDate.isJdLeapY(jdate.Year) ? JewishMonthsNames.ADAR_SHEINI : JewishMonthsNames.ADAR) && (Day === 13 || Day === (location.Name === \"\\u05D9\\u05E8\\u05D5\\u05E9\\u05DC\\u05D9\\u05DD\" ? 15 : 14));\n default:\n return false;\n }\n}\nexport {\n Dafyomi,\n DaysOfWeek,\n DaysOfWeekEng,\n DaysOfWeekHeb,\n JewishMonthsEng,\n JewishMonthsHeb,\n JewishMonthsNames,\n Location,\n Locations,\n Molad,\n PirkeiAvos,\n SecularMonthsEng,\n Sedra,\n Utils,\n ZmanTypeIds,\n ZmanTypes,\n Zmanim,\n ZmanimUtils,\n closestDistanceMatch,\n closestNameMatch,\n findLocation,\n getNotifications,\n getZmanType,\n jDate\n};\n"]}
|